Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(603)

Unified Diff: lib/Analysis/NaCl/PNaClABIVerifyFunctions.cpp

Issue 11896044: Add remaining instructions to whitelist (Closed) Base URL: http://git.chromium.org/native_client/pnacl-llvm.git@master
Patch Set: Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | test/NaCl/PNaClABI/instructions.ll » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: lib/Analysis/NaCl/PNaClABIVerifyFunctions.cpp
diff --git a/lib/Analysis/NaCl/PNaClABIVerifyFunctions.cpp b/lib/Analysis/NaCl/PNaClABIVerifyFunctions.cpp
index abc66b0addca49ac34139b9250abcb9f4462b4e4..2cbfe7068b6e42ccdf5e96f6e274d84fe8475e19 100644
--- a/lib/Analysis/NaCl/PNaClABIVerifyFunctions.cpp
+++ b/lib/Analysis/NaCl/PNaClABIVerifyFunctions.cpp
@@ -48,8 +48,60 @@ bool PNaClABIVerifyFunctions::runOnFunction(Function &F) {
case Instruction::Switch:
case Instruction::Resume:
case Instruction::Unreachable:
+ case Instruction::Invoke:
// indirectbr is not allowed for now.
- // invoke and call are handled separately.
+ // Binary operations
+ case Instruction::Add:
+ case Instruction::FAdd:
+ case Instruction::Sub:
+ case Instruction::FSub:
+ case Instruction::Mul:
+ case Instruction::FMul:
+ case Instruction::UDiv:
+ case Instruction::SDiv:
+ case Instruction::FDiv:
+ case Instruction::URem:
+ case Instruction::SRem:
+ case Instruction::FRem:
+ // Bitwise binary operations
+ case Instruction::Shl:
+ case Instruction::LShr:
+ case Instruction::AShr:
+ case Instruction::And:
+ case Instruction::Or:
+ case Instruction::Xor:
+ // No vector instructions yet
+ case Instruction::ExtractValue:
+ case Instruction::InsertValue:
+ // Memory instructions
+ case Instruction::Alloca:
+ case Instruction::Load:
+ case Instruction::Store:
+ case Instruction::Fence:
+ case Instruction::AtomicCmpXchg:
+ case Instruction::AtomicRMW:
+ case Instruction::GetElementPtr:
+ // Conversion operations
+ case Instruction::Trunc:
+ case Instruction::ZExt:
+ case Instruction::SExt:
+ case Instruction::FPTrunc:
+ case Instruction::FPExt:
+ case Instruction::FPToUI:
+ case Instruction::FPToSI:
+ case Instruction::UIToFP:
+ case Instruction::SIToFP:
+ case Instruction::PtrToInt:
+ case Instruction::IntToPtr:
+ case Instruction::BitCast:
+ // Other operations
+ case Instruction::ICmp:
+ case Instruction::FCmp:
+ case Instruction::PHI:
+ case Instruction::Select:
+ case Instruction::Call:
+ case Instruction::VAArg:
+ case Instruction::LandingPad:
break;
default:
Mark Seaborn 2013/01/22 21:44:18 If you remove the "default:", we should get werror
Derek Schuff 2013/01/22 22:13:09 Done. It's still a good idea, but 1) LLVM doesn't
errs() << Twine("Function ") + F.getName() +
« no previous file with comments | « no previous file | test/NaCl/PNaClABI/instructions.ll » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698