diff options
author | Chris Lattner <sabre@nondot.org> | 2006-12-20 21:20:13 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2006-12-20 21:20:13 +0000 |
commit | 62d75e76959e73c33968935fcd6443a980095cc4 (patch) | |
tree | d35cae1301b1252552c2e44e93a088605802dc29 /lib | |
parent | b608a4dd4c9f8693054362ab8156b6039ee07a88 (diff) |
Fix Regression/Verifier/invoke-1.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32722 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/VMCore/Verifier.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/VMCore/Verifier.cpp b/lib/VMCore/Verifier.cpp index b26248b897..ea30ca48a7 100644 --- a/lib/VMCore/Verifier.cpp +++ b/lib/VMCore/Verifier.cpp @@ -902,6 +902,10 @@ void Verifier::visitInstruction(Instruction &I) { if (InvokeInst *II = dyn_cast<InvokeInst>(Op)) { OpBlock = II->getNormalDest(); + Assert2(OpBlock != II->getUnwindDest(), + "No uses of invoke possible due to dominance structure!", + Op, II); + // If the normal successor of an invoke instruction has multiple // predecessors, then the normal edge from the invoke is critical, so // the invoke value can only be live if the destination block @@ -931,8 +935,9 @@ void Verifier::visitInstruction(Instruction &I) { } } } - Assert1(!Bad, - "Invoke value defined on critical edge but not dead!", &I); + Assert2(!Bad, + "Invoke value defined on critical edge but not dead!", &I, + Op); } } else if (OpBlock == BB) { // If they are in the same basic block, make sure that the definition |