Turn on machine LICM in non-fast mode.
authorEvan Cheng <evan.cheng@apple.com>
Thu, 5 Feb 2009 08:46:33 +0000 (08:46 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Thu, 5 Feb 2009 08:46:33 +0000 (08:46 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63855 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/LLVMTargetMachine.cpp
test/CodeGen/ARM/remat.ll
test/CodeGen/X86/pre-split2.ll

index c9ff15d4947f021aac7cc205d237fa293af11bc4..7def8fa61d2a3c57f825a4c7a656519e41b07b7c 100644 (file)
@@ -42,10 +42,6 @@ static cl::opt<bool> PrintGCInfo("print-gc", cl::Hidden,
 static cl::opt<bool>
 EnableSinking("enable-sinking", cl::init(false), cl::Hidden,
               cl::desc("Perform sinking on machine code"));
-static cl::opt<bool>
-EnableLICM("machine-licm",
-           cl::init(false), cl::Hidden,
-           cl::desc("Perform loop-invariant code motion on machine code"));
 
 // When this works it will be on by default.
 static cl::opt<bool>
@@ -187,7 +183,7 @@ bool LLVMTargetMachine::addCommonCodeGenPasses(PassManagerBase &PM, bool Fast) {
   if (PrintMachineCode)
     PM.add(createMachineFunctionPrinterPass(cerr));
 
-  if (EnableLICM)
+  if (!Fast)
     PM.add(createMachineLICMPass());
 
   if (EnableSinking)
index 30b1d29e29e2c934bcafc44b40e2386cb025404f..454d36b46f29d543687c62628a29f4291ebc1a64 100644 (file)
@@ -1,5 +1,5 @@
 ; RUN: llvm-as < %s | llc -mtriple=arm-apple-darwin 
-; RUN: llvm-as < %s | llc -mtriple=arm-apple-darwin -stats -info-output-file - | grep "Number of re-materialization" | grep 3
+; RUN: llvm-as < %s | llc -mtriple=arm-apple-darwin -stats -info-output-file - | grep "Number of re-materialization" | grep 2
 
        %struct.CONTENTBOX = type { i32, i32, i32, i32, i32 }
        %struct.LOCBOX = type { i32, i32, i32, i32 }
index fcb3f05a8385422c73c344ee51b978230c25d2fe..2009ad8b66d892deb43cc677341e33ef06deb222 100644 (file)
@@ -1,7 +1,7 @@
 ; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2 -pre-alloc-split -stats |& \
-; RUN:   grep {pre-alloc-split} | count 3
+; RUN:   grep {pre-alloc-split} | count 2
 
-define i32 @t() {
+define i32 @t(i32 %arg) {
 entry:
        br label %bb6
 
@@ -12,7 +12,7 @@ entry:
        br label %bb6
 
 bb6:           ; preds = %.noexc6, %entry
-       %1 = uitofp i32 0 to double             ; <double> [#uses=1]
+       %1 = uitofp i32 %arg to double          ; <double> [#uses=1]
        %2 = sub i32 0, 0               ; <i32> [#uses=1]
        %3 = invoke i8* @_Znwm(i32 0)
                        to label %.noexc6 unwind label %lpad32          ; <i8*> [#uses=1]