[llvm-commits] CVS: llvm/lib/Transforms/Scalar/InstructionCombining.cpp

Chris Lattner lattner at cs.uiuc.edu
Sun Oct 17 18:48:45 PDT 2004



Changes in directory llvm/lib/Transforms/Scalar:

InstructionCombining.cpp updated: 1.273 -> 1.274
---
Log message:

My friend the invoke instruction does not dominate all basic blocks if it 
occurs in the entry node of a function


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

Index: llvm/lib/Transforms/Scalar/InstructionCombining.cpp
diff -u llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.273 llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.274
--- llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.273	Sun Oct 17 16:31:34 2004
+++ llvm/lib/Transforms/Scalar/InstructionCombining.cpp	Sun Oct 17 20:48:31 2004
@@ -3386,7 +3386,8 @@
     if (Instruction *I = dyn_cast<Instruction>(V)) {
       // We know that the instruction dominates the PHI if there are no undef
       // values coming in.
-      if (I->getParent() != &I->getParent()->getParent()->front())
+      if (I->getParent() != &I->getParent()->getParent()->front() ||
+          isa<InvokeInst>(I))
         for (unsigned i = 0, e = PN.getNumIncomingValues(); i != e; ++i)
           if (isa<UndefValue>(PN.getIncomingValue(i))) {
             V = 0;






More information about the llvm-commits mailing list