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

Chris Lattner lattner at cs.uiuc.edu
Tue Jan 24 11:36:38 PST 2006



Changes in directory llvm/lib/Transforms/Scalar:

ScalarReplAggregates.cpp updated: 1.35 -> 1.36
---
Log message:

Fix Regression/Transforms/ScalarRepl/2006-01-24-IllegalUnionPromoteCrash.ll



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

 ScalarReplAggregates.cpp |    4 +---
 1 files changed, 1 insertion(+), 3 deletions(-)


Index: llvm/lib/Transforms/Scalar/ScalarReplAggregates.cpp
diff -u llvm/lib/Transforms/Scalar/ScalarReplAggregates.cpp:1.35 llvm/lib/Transforms/Scalar/ScalarReplAggregates.cpp:1.36
--- llvm/lib/Transforms/Scalar/ScalarReplAggregates.cpp:1.35	Sun Jan 22 17:32:06 2006
+++ llvm/lib/Transforms/Scalar/ScalarReplAggregates.cpp	Tue Jan 24 13:36:27 2006
@@ -554,9 +554,7 @@
       // Convert the stored type to the actual type, shift it left to insert
       // then 'or' into place.
       Value *SV = SI->getOperand(0);
-      if (SV->getType() == NewAI->getType()->getElementType()) {
-        assert(Offset == 0 && "Store out of bounds!");
-      } else {
+      if (SV->getType() != NewAI->getType()->getElementType() || Offset != 0) {
         Value *Old = new LoadInst(NewAI, NewAI->getName()+".in", SI);
         // If SV is signed, convert it to unsigned, so that the next cast zero
         // extends the value.






More information about the llvm-commits mailing list