[llvm-commits] CVS: llvm/lib/Target/PowerPC/PPC32ISelPattern.cpp

Chris Lattner lattner at cs.uiuc.edu
Sun Aug 21 17:47:39 PDT 2005



Changes in directory llvm/lib/Target/PowerPC:

PPC32ISelPattern.cpp updated: 1.158 -> 1.159
---
Log message:

Make sure expressions only have one use before emitting them into a place that is conditionally executed


---
Diffs of the changes:  (+4 -3)

 PPC32ISelPattern.cpp |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)


Index: llvm/lib/Target/PowerPC/PPC32ISelPattern.cpp
diff -u llvm/lib/Target/PowerPC/PPC32ISelPattern.cpp:1.158 llvm/lib/Target/PowerPC/PPC32ISelPattern.cpp:1.159
--- llvm/lib/Target/PowerPC/PPC32ISelPattern.cpp:1.158	Sun Aug 21 14:03:28 2005
+++ llvm/lib/Target/PowerPC/PPC32ISelPattern.cpp	Sun Aug 21 19:47:28 2005
@@ -1670,9 +1670,10 @@
 
     // If the false value is simple enough, evaluate it inline in the false
     // block.
-    if (isa<ConstantSDNode>(N.getOperand(3)) ||
-        isa<ConstantFPSDNode>(N.getOperand(3)) ||
-        isa<GlobalAddressSDNode>(N.getOperand(3)))
+    if (N.getOperand(3).Val->hasOneUse() &&
+        (isa<ConstantSDNode>(N.getOperand(3)) ||
+         isa<ConstantFPSDNode>(N.getOperand(3)) ||
+         isa<GlobalAddressSDNode>(N.getOperand(3))))
       FalseValue = 0;
     else
       FalseValue = SelectExpr(N.getOperand(3));






More information about the llvm-commits mailing list