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() + |