Changes in directory llvm/lib/Transforms/Scalar:

LoopStrengthReduce.cpp updated: 1.70 -> 1.71
---
Log message:

getRawValue zero extens for unsigned values, use getsextvalue so that we
know that small negative values fit into the immediate field of addressing
modes.


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

 LoopStrengthReduce.cpp |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)


Index: llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
diff -u llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp:1.70 
llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp:1.71
--- llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp:1.70      Fri Oct 21 
00:45:41 2005
+++ llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp   Mon Dec  5 12:23:57 2005
@@ -560,9 +560,9 @@
   // FIXME: Look at the target to decide if &GV is a legal constant immediate.
   if (SCEVConstant *SC = dyn_cast<SCEVConstant>(V)) {
     // PPC allows a sign-extended 16-bit immediate field.
-    if ((int64_t)SC->getValue()->getRawValue() > -(1 << 16) &&
-        (int64_t)SC->getValue()->getRawValue() < (1 << 16)-1)
-      return true;
+    int64_t V = SC->getValue()->getSExtValue();
+    if (V > -(1 << 16) && V < (1 << 16)-1)
+        return true;
     return false;
   }
 



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

Reply via email to