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

Chris Lattner lattner at cs.uiuc.edu
Fri Feb 28 13:22:07 PST 2003


Changes in directory llvm/lib/Transforms/Scalar:

LICM.cpp updated: 1.23 -> 1.24

---
Log message:

Fix bug: LICM/2003-02-28-PromoteDifferentType.ll


---
Diffs of the changes:

Index: llvm/lib/Transforms/Scalar/LICM.cpp
diff -u llvm/lib/Transforms/Scalar/LICM.cpp:1.23 llvm/lib/Transforms/Scalar/LICM.cpp:1.24
--- llvm/lib/Transforms/Scalar/LICM.cpp:1.23	Thu Feb 27 15:59:36 2003
+++ llvm/lib/Transforms/Scalar/LICM.cpp	Fri Feb 28 13:21:40 2003
@@ -487,9 +487,15 @@
 
         bool PointerOk = true;
         for (std::set<Value*>::const_iterator I =CurLBI->LoadedPointers.begin(),
-               E = CurLBI->LoadedPointers.end(); I != E; ++I)
-          if (AA->alias(V, ~0, *I, ~0) == AliasAnalysis::MayAlias) {
+               E = CurLBI->LoadedPointers.end(); PointerOk && I != E; ++I)
+          switch (AA->alias(V, ~0, *I, ~0)) {
+          case AliasAnalysis::MustAlias:
+            if (V->getType() != (*I)->getType())
+              PointerOk = false;
+            break;
+          case AliasAnalysis::MayAlias:
             PointerOk = false;
+          case AliasAnalysis::NoAlias:
             break;
           }
 





More information about the llvm-commits mailing list