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

Chris Lattner lattner at cs.uiuc.edu
Thu Aug 4 18:03:38 PDT 2005



Changes in directory llvm/lib/VMCore:

Instructions.cpp updated: 1.24 -> 1.25
---
Log message:

Invoke instructions do not dominate all successors


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

 Instructions.cpp |    3 ++-
 1 files changed, 2 insertions(+), 1 deletion(-)


Index: llvm/lib/VMCore/Instructions.cpp
diff -u llvm/lib/VMCore/Instructions.cpp:1.24 llvm/lib/VMCore/Instructions.cpp:1.25
--- llvm/lib/VMCore/Instructions.cpp:1.24	Thu Aug  4 20:00:58 2005
+++ llvm/lib/VMCore/Instructions.cpp	Thu Aug  4 20:03:27 2005
@@ -167,7 +167,8 @@
   if (HasUndefInput && !AllowNonDominatingInstruction)
     if (Instruction *IV = dyn_cast<Instruction>(InVal))
       // If it's in the entry block, it dominates everything.
-      if (IV->getParent() != &IV->getParent()->getParent()->front())
+      if (IV->getParent() != &IV->getParent()->getParent()->front() ||
+          isa<InvokeInst>(IV))
         return 0;   // Cannot guarantee that InVal dominates this PHINode.
 
   // All of the incoming values are the same, return the value now.






More information about the llvm-commits mailing list