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

Chris Lattner lattner at cs.uiuc.edu
Tue Dec 28 20:36:14 PST 2004



Changes in directory llvm/lib/Transforms/Scalar:

DeadStoreElimination.cpp updated: 1.8 -> 1.9
---
Log message:

Fix PR491: http://llvm.cs.uiuc.edu/PR491  and testcase Transforms/DeadStoreElimination/2004-12-28-PartialStore.ll


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

Index: llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
diff -u llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp:1.8 llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp:1.9
--- llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp:1.8	Sun Nov 28 14:44:37 2004
+++ llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp	Tue Dec 28 22:36:02 2004
@@ -111,7 +111,8 @@
 
     if (AliasSet *AS = KillLocs.getAliasSetForPointerIfExists(Ptr, ValSize))
       for (AliasSet::iterator ASI = AS->begin(), E = AS->end(); ASI != E; ++ASI)
-        if (AA.alias(ASI.getPointer(), ASI.getSize(), Ptr, ValSize)
+        if (ASI.getSize() >= ValSize &&  // Overwriting all of this store.
+            AA.alias(ASI.getPointer(), ASI.getSize(), Ptr, ValSize)
                == AliasAnalysis::MustAlias) {
           // If we found a must alias in the killed set, then this store really
           // is dead.  Remember that the various operands of the store now have






More information about the llvm-commits mailing list