[llvm-commits] [llvm] r140606 - /llvm/trunk/lib/VMCore/Verifier.cpp
Duncan Sands
baldrick at free.fr
Tue Sep 27 09:43:19 PDT 2011
Author: baldrick
Date: Tue Sep 27 11:43:19 2011
New Revision: 140606
URL: http://llvm.org/viewvc/llvm-project?rev=140606&view=rev
Log:
Have the verifier check that all landingpad operands are constants.
Modified:
llvm/trunk/lib/VMCore/Verifier.cpp
Modified: llvm/trunk/lib/VMCore/Verifier.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/VMCore/Verifier.cpp?rev=140606&r1=140605&r2=140606&view=diff
==============================================================================
--- llvm/trunk/lib/VMCore/Verifier.cpp (original)
+++ llvm/trunk/lib/VMCore/Verifier.cpp Tue Sep 27 11:43:19 2011
@@ -1449,6 +1449,17 @@
"Personality function doesn't match others in function", &LPI);
PersonalityFn = LPI.getPersonalityFn();
+ // All operands must be constants.
+ Assert1(isa<Constant>(PersonalityFn), "Personality function is not constant!",
+ &LPI);
+ for (unsigned i = 0, e = LPI.getNumClauses(); i < e; ++i) {
+ Value *Clause = LPI.getClause(i);
+ Assert1(isa<Constant>(Clause), "Clause is not constant!", &LPI);
+ if (LPI.isFilter(i))
+ Assert1(isa<ConstantArray>(Clause) || isa<ConstantAggregateZero>(Clause),
+ "Filter is not an array of constants!", &LPI);
+ }
+
visitInstruction(LPI);
}
More information about the llvm-commits
mailing list