diff options
author | Jim Grosbach <grosbach@apple.com> | 2009-10-07 22:49:41 +0000 |
---|---|---|
committer | Jim Grosbach <grosbach@apple.com> | 2009-10-07 22:49:41 +0000 |
commit | 456735c54b8422777e3e45fb88b57582cc25355b (patch) | |
tree | edb5f304c864ee0631059544272ff757bd4c3525 /llvm/lib/CodeGen | |
parent | 63fe7ff7d96b9a5a66ce72bb3b8058942af82dcc (diff) | |
download | bcm5719-llvm-456735c54b8422777e3e45fb88b57582cc25355b.tar.gz bcm5719-llvm-456735c54b8422777e3e45fb88b57582cc25355b.zip |
reverting thumb1 scavenging default due to test failure while I figure out what's up.
llvm-svn: 83501
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r-- | llvm/lib/CodeGen/PrologEpilogInserter.cpp | 11 | ||||
-rw-r--r-- | llvm/lib/CodeGen/PrologEpilogInserter.h | 5 |
2 files changed, 10 insertions, 6 deletions
diff --git a/llvm/lib/CodeGen/PrologEpilogInserter.cpp b/llvm/lib/CodeGen/PrologEpilogInserter.cpp index 896689cc1ec..55298a4dded 100644 --- a/llvm/lib/CodeGen/PrologEpilogInserter.cpp +++ b/llvm/lib/CodeGen/PrologEpilogInserter.cpp @@ -44,6 +44,16 @@ char PEI::ID = 0; static RegisterPass<PEI> X("prologepilog", "Prologue/Epilogue Insertion"); +// FIXME: For now, the frame index scavenging is off by default and only +// used by the Thumb1 target. When it's the default and replaces the current +// on-the-fly PEI scavenging for all targets, requiresRegisterScavenging() +// will replace this. +cl::opt<bool> +FrameIndexVirtualScavenging("enable-frame-index-scavenging", + cl::Hidden, + cl::desc("Enable frame index elimination with" + "virtual register scavenging")); + /// createPrologEpilogCodeInserter - This function returns a pass that inserts /// prolog and epilog code, and eliminates abstract frame references. /// @@ -56,7 +66,6 @@ bool PEI::runOnMachineFunction(MachineFunction &Fn) { const Function* F = Fn.getFunction(); const TargetRegisterInfo *TRI = Fn.getTarget().getRegisterInfo(); RS = TRI->requiresRegisterScavenging(Fn) ? new RegScavenger() : NULL; - FrameIndexVirtualScavenging = TRI->requiresFrameIndexScavenging(Fn); // Get MachineModuleInfo so that we can track the construction of the // frame. diff --git a/llvm/lib/CodeGen/PrologEpilogInserter.h b/llvm/lib/CodeGen/PrologEpilogInserter.h index 030922a0265..ee759e8622c 100644 --- a/llvm/lib/CodeGen/PrologEpilogInserter.h +++ b/llvm/lib/CodeGen/PrologEpilogInserter.h @@ -95,11 +95,6 @@ namespace llvm { // functions. bool ShrinkWrapThisFunction; - // Flag to control whether to use the register scavenger to resolve - // frame index materialization registers. Set according to - // TRI->requiresFrameIndexScavenging() for the curren function. - bool FrameIndexVirtualScavenging; - // When using the scavenger post-pass to resolve frame reference // materialization registers, maintain a map of the registers to // the constant value and SP adjustment associated with it. |