mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-02-03 10:54:42 +00:00
Enable machine sinking pass in non-fast mode.
llvm-svn: 63999
This commit is contained in:
parent
ddff168e76
commit
62694a52fe
@ -38,11 +38,6 @@ static cl::opt<bool> PrintEmittedAsm("print-emitted-asm", cl::Hidden,
|
|||||||
static cl::opt<bool> PrintGCInfo("print-gc", cl::Hidden,
|
static cl::opt<bool> PrintGCInfo("print-gc", cl::Hidden,
|
||||||
cl::desc("Dump garbage collector data"));
|
cl::desc("Dump garbage collector data"));
|
||||||
|
|
||||||
// Hidden options to help debugging
|
|
||||||
static cl::opt<bool>
|
|
||||||
EnableSinking("enable-sinking", cl::init(false), cl::Hidden,
|
|
||||||
cl::desc("Perform sinking on machine code"));
|
|
||||||
|
|
||||||
// When this works it will be on by default.
|
// When this works it will be on by default.
|
||||||
static cl::opt<bool>
|
static cl::opt<bool>
|
||||||
DisablePostRAScheduler("disable-post-RA-scheduler",
|
DisablePostRAScheduler("disable-post-RA-scheduler",
|
||||||
@ -183,11 +178,10 @@ bool LLVMTargetMachine::addCommonCodeGenPasses(PassManagerBase &PM, bool Fast) {
|
|||||||
if (PrintMachineCode)
|
if (PrintMachineCode)
|
||||||
PM.add(createMachineFunctionPrinterPass(cerr));
|
PM.add(createMachineFunctionPrinterPass(cerr));
|
||||||
|
|
||||||
if (!Fast)
|
if (!Fast) {
|
||||||
PM.add(createMachineLICMPass());
|
PM.add(createMachineLICMPass());
|
||||||
|
|
||||||
if (EnableSinking)
|
|
||||||
PM.add(createMachineSinkingPass());
|
PM.add(createMachineSinkingPass());
|
||||||
|
}
|
||||||
|
|
||||||
// Run pre-ra passes.
|
// Run pre-ra passes.
|
||||||
if (addPreRegAlloc(PM, Fast) && PrintMachineCode)
|
if (addPreRegAlloc(PM, Fast) && PrintMachineCode)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
; RUN: llvm-as < %s | llc -stats |& grep {39.*Number of machine instrs printed}
|
; RUN: llvm-as < %s | llc -stats |& grep {40.*Number of machine instrs printed}
|
||||||
; RUN: llvm-as < %s | llc -stats |& grep {.*Number of re-materialization}
|
; RUN: llvm-as < %s | llc -stats |& grep {.*Number of re-materialization}
|
||||||
; This test really wants to check that the resultant "cond_true" block only
|
; This test really wants to check that the resultant "cond_true" block only
|
||||||
; has a single store in it, and that cond_true55 only has code to materialize
|
; has a single store in it, and that cond_true55 only has code to materialize
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2 -stats -realign-stack=0 |&\
|
; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2 -stats -realign-stack=0 |&\
|
||||||
; RUN: grep {asm-printer} | grep 32
|
; RUN: grep {asm-printer} | grep 31
|
||||||
|
|
||||||
target datalayout = "e-p:32:32"
|
target datalayout = "e-p:32:32"
|
||||||
define void @foo(i32* %mc, i32* %bp, i32* %ms, i32* %xmb, i32* %mpp, i32* %tpmm, i32* %ip, i32* %tpim, i32* %dpp, i32* %tpdm, i32* %bpi, i32 %M) nounwind {
|
define void @foo(i32* %mc, i32* %bp, i32* %ms, i32* %xmb, i32* %mpp, i32* %tpmm, i32* %ip, i32* %tpim, i32* %dpp, i32* %tpdm, i32* %bpi, i32 %M) nounwind {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user