[llvm-commits] [llvm] r76995 - in /llvm/trunk/lib/Target/ARM: ARMConstantIslandPass.cpp README.txt

Evan Cheng evan.cheng at apple.com
Fri Jul 24 12:31:04 PDT 2009


Author: evancheng
Date: Fri Jul 24 14:31:03 2009
New Revision: 76995

URL: http://llvm.org/viewvc/llvm-project?rev=76995&view=rev
Log:
Disable my constant island pass optimization (to make use soimm more effectively). It caused infinite looping on lencod.

Modified:
    llvm/trunk/lib/Target/ARM/ARMConstantIslandPass.cpp
    llvm/trunk/lib/Target/ARM/README.txt

Modified: llvm/trunk/lib/Target/ARM/ARMConstantIslandPass.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMConstantIslandPass.cpp?rev=76995&r1=76994&r2=76995&view=diff

==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMConstantIslandPass.cpp (original)
+++ llvm/trunk/lib/Target/ARM/ARMConstantIslandPass.cpp Fri Jul 24 14:31:03 2009
@@ -696,13 +696,11 @@
     // User before the Trial.
     if (TrialOffset - UserOffset <= MaxDisp)
       return true;
-    if (IsSoImm && ARM_AM::getSOImmVal(TrialOffset - UserOffset) != -1)
-      return true;
+    // FIXME: Make use full range of soimm values.
   } else if (NegativeOK) {
     if (UserOffset - TrialOffset <= MaxDisp)
       return true;
-    if (IsSoImm && ARM_AM::getSOImmVal(~(TrialOffset - UserOffset)) != -1)
-      return true;
+    // FIXME: Make use full range of soimm values.
   }
   return false;
 }

Modified: llvm/trunk/lib/Target/ARM/README.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/README.txt?rev=76995&r1=76994&r2=76995&view=diff

==============================================================================
--- llvm/trunk/lib/Target/ARM/README.txt (original)
+++ llvm/trunk/lib/Target/ARM/README.txt Fri Jul 24 14:31:03 2009
@@ -541,3 +541,8 @@
 //===---------------------------------------------------------------------===//
 
 We need to fix constant isel for ARMv6t2 to use MOVT.
+
+//===---------------------------------------------------------------------===//
+
+Constant island pass should make use of full range SoImm values for LEApcrel.
+Be careful though as the last attempt caused infinite looping on lencod.





More information about the llvm-commits mailing list