Changes in directory llvm/lib/Analysis:

LoopInfo.cpp updated: 1.73 -> 1.74
---
Log message:

Update isLCSSAForm to handle PHI nodes specially for live-out detection.  This
is the same as the recent patch to LCSSA.cpp.


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

 LoopInfo.cpp |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletion(-)


Index: llvm/lib/Analysis/LoopInfo.cpp
diff -u llvm/lib/Analysis/LoopInfo.cpp:1.73 llvm/lib/Analysis/LoopInfo.cpp:1.74
--- llvm/lib/Analysis/LoopInfo.cpp:1.73 Sun Jun 11 14:22:28 2006
+++ llvm/lib/Analysis/LoopInfo.cpp      Tue Jun 13 15:45:22 2006
@@ -487,7 +487,12 @@
       for (Value::use_iterator UI = I->use_begin(), E = I->use_end(); UI != E;
            ++UI) {
         BasicBlock *UserBB = cast<Instruction>(*UI)->getParent();
-        if (!isa<PHINode>(*UI) && !contains(UserBB)) {
+        if (PHINode* p = dyn_cast<PHINode>(*UI)) {
+          unsigned OperandNo = UI.getOperandNo();
+          UserBB = p->getIncomingBlock(OperandNo/2);
+        }
+        
+        if (!contains(UserBB)) {
           return false;
         }
       }



_______________________________________________
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

Reply via email to