[llvm-commits] CVS: llvm/lib/VMCore/Verifier.cpp

Chris Lattner sabre at nondot.org
Wed Dec 20 13:20:28 PST 2006



Changes in directory llvm/lib/VMCore:

Verifier.cpp updated: 1.177 -> 1.178
---
Log message:

Fix Regression/Verifier/invoke-1.ll


---
Diffs of the changes:  (+7 -2)

 Verifier.cpp |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)


Index: llvm/lib/VMCore/Verifier.cpp
diff -u llvm/lib/VMCore/Verifier.cpp:1.177 llvm/lib/VMCore/Verifier.cpp:1.178
--- llvm/lib/VMCore/Verifier.cpp:1.177	Wed Dec 20 13:50:15 2006
+++ llvm/lib/VMCore/Verifier.cpp	Wed Dec 20 15:20:13 2006
@@ -902,6 +902,10 @@
         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 @@
                 }
               }
             }
-            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






More information about the llvm-commits mailing list