diff options
author | Nick Lewycky <nicholas@mxc.ca> | 2008-03-28 06:46:51 +0000 |
---|---|---|
committer | Nick Lewycky <nicholas@mxc.ca> | 2008-03-28 06:46:51 +0000 |
commit | 56ae4fcba8ab7d064d2a4e9a50a15f5490f6b48f (patch) | |
tree | 945a275dd2678892b91aa95e27e47f539f82eeb2 /lib | |
parent | 49650d6fb309afe722c327c44a7f00dd57e37bdf (diff) | |
download | external_llvm-56ae4fcba8ab7d064d2a4e9a50a15f5490f6b48f.zip external_llvm-56ae4fcba8ab7d064d2a4e9a50a15f5490f6b48f.tar.gz external_llvm-56ae4fcba8ab7d064d2a4e9a50a15f5490f6b48f.tar.bz2 |
Update example to new syntax.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48910 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/VMCore/Verifier.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/VMCore/Verifier.cpp b/lib/VMCore/Verifier.cpp index 4ac8c0f..7ec0cf3 100644 --- a/lib/VMCore/Verifier.cpp +++ b/lib/VMCore/Verifier.cpp @@ -21,7 +21,7 @@ // * The code is in valid SSA form // * It should be illegal to put a label into any other type (like a structure) // or to return one. [except constant arrays!] -// * Only phi nodes can be self referential: 'add int %0, %0 ; <int>:0' is bad +// * Only phi nodes can be self referential: 'add i32 %0, %0 ; <int>:0' is bad // * PHI nodes must have an entry for each predecessor, with no extras. // * PHI nodes must be the first thing in a basic block, all grouped together // * PHI nodes must have at least one entry @@ -530,6 +530,12 @@ void Verifier::visitBasicBlock(BasicBlock &BB) { // Ensure that basic blocks have terminators! Assert1(BB.getTerminator(), "Basic Block does not have terminator!", &BB); + // Ensure that the BB doesn't point out of its Function for unwinding. + Assert2(!BB.getUnwindDest() || + BB.getUnwindDest()->getParent() == BB.getParent(), + "Basic Block unwinds to block in different function!", + &BB, BB.getUnwindDest()); + // Check constraints that this basic block imposes on all of the PHI nodes in // it. if (isa<PHINode>(BB.front())) { @@ -1217,7 +1223,7 @@ void Verifier::visitInstruction(Instruction &I) { } // Definition must dominate use unless use is unreachable! - Assert2(DT->dominates(OpBlock, BB) || + Assert2(DT->dominates(Op, &I) || !DT->dominates(&BB->getParent()->getEntryBlock(), BB), "Instruction does not dominate all uses!", Op, &I); } else { |