diff options
author | Evan Cheng <evan.cheng@apple.com> | 2008-06-06 19:52:44 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2008-06-06 19:52:44 +0000 |
commit | c324be32c4458ec75fc538ff3408a5923c510bb1 (patch) | |
tree | e5a59a8a3e020e1d15bccff6550bbcb9f14a3e84 /llvm/lib/CodeGen | |
parent | 9bf9110d938acbb6719045331bc495c832655c0c (diff) | |
download | bcm5719-llvm-c324be32c4458ec75fc538ff3408a5923c510bb1.tar.gz bcm5719-llvm-c324be32c4458ec75fc538ff3408a5923c510bb1.zip |
Enable stack coloring by default.
llvm-svn: 52057
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r-- | llvm/lib/CodeGen/LLVMTargetMachine.cpp | 10 | ||||
-rw-r--r-- | llvm/lib/CodeGen/README.txt | 9 |
2 files changed, 11 insertions, 8 deletions
diff --git a/llvm/lib/CodeGen/LLVMTargetMachine.cpp b/llvm/lib/CodeGen/LLVMTargetMachine.cpp index d3e8e4904fe..1c8ce0a44c4 100644 --- a/llvm/lib/CodeGen/LLVMTargetMachine.cpp +++ b/llvm/lib/CodeGen/LLVMTargetMachine.cpp @@ -38,10 +38,6 @@ static cl::opt<bool> EnableSinking("enable-sinking", cl::init(false), cl::Hidden, cl::desc("Perform sinking on machine code")); static cl::opt<bool> -EnableStackColoring("stack-coloring", - cl::init(false), cl::Hidden, - cl::desc("Perform stack slot coloring")); -static cl::opt<bool> EnableLICM("machine-licm", cl::init(false), cl::Hidden, cl::desc("Perform loop-invariant code motion on machine code")); @@ -103,8 +99,7 @@ LLVMTargetMachine::addPassesToEmitFile(PassManagerBase &PM, PM.add(createRegisterAllocator()); // Perform stack slot coloring. - if (EnableStackColoring) - PM.add(createStackSlotColoringPass()); + PM.add(createStackSlotColoringPass()); if (PrintMachineCode) // Print the register-allocated code PM.add(createMachineFunctionPrinterPass(cerr)); @@ -240,8 +235,7 @@ bool LLVMTargetMachine::addPassesToEmitMachineCode(PassManagerBase &PM, PM.add(createRegisterAllocator()); // Perform stack slot coloring. - if (EnableStackColoring) - PM.add(createStackSlotColoringPass()); + PM.add(createStackSlotColoringPass()); if (PrintMachineCode) PM.add(createMachineFunctionPrinterPass(cerr)); diff --git a/llvm/lib/CodeGen/README.txt b/llvm/lib/CodeGen/README.txt index a66fc9dcdcc..d5ddd217962 100644 --- a/llvm/lib/CodeGen/README.txt +++ b/llvm/lib/CodeGen/README.txt @@ -197,3 +197,12 @@ It would be really nice to be able to write patterns in .td files for copies, which would eliminate a bunch of explicit predicates on them (e.g. no side effects). Once this is in place, it would be even better to have tblgen synthesize the various copy insertion/inspection methods in TargetInstrInfo. + +//===---------------------------------------------------------------------===// + +Stack coloring improvments: + +1. Do proper LiveStackAnalysis on all stack objects including those which are + not spill slots. +2. Reorder objects to fill in gaps between objects. + e.g. 4, 1, <gap>, 4, 1, 1, 1, <gap>, 4 => 4, 1, 1, 1, 1, 4, 4 |