Changes in directory llvm/lib/Transforms/Scalar:

InstructionCombining.cpp updated: 1.453 -> 1.454
---
Log message:

Fix Transforms/InstCombine/2006-03-30-ExtractElement.ll


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

 InstructionCombining.cpp |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)


Index: llvm/lib/Transforms/Scalar/InstructionCombining.cpp
diff -u llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.453 
llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.454
--- llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.453   Sat Mar 25 
15:58:26 2006
+++ llvm/lib/Transforms/Scalar/InstructionCombining.cpp Thu Mar 30 16:02:40 2006
@@ -6704,9 +6704,13 @@
         if (IE->getOperand(2) == EI.getOperand(1))
           return ReplaceInstUsesWith(EI, IE->getOperand(1));
         // If the inserted and extracted elements are constants, they must not
-        // be the same value, replace with the pre-inserted value.
-        if (isa<Constant>(IE->getOperand(2)) && 
isa<Constant>(EI.getOperand(1)))
-          return ReplaceInstUsesWith(EI, IE->getOperand(0));
+        // be the same value, extract from the pre-inserted value instead.
+        if (isa<Constant>(IE->getOperand(2)) &&
+            isa<Constant>(EI.getOperand(1))) {
+          AddUsesToWorkList(EI);
+          EI.setOperand(0, IE->getOperand(0));
+          return &EI;
+        }
       }
     }
   return 0;



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

Reply via email to