Add an option to disable spill fusing in the X86 backend

llvm-svn: 11531
This commit is contained in:
Chris Lattner 2004-02-17 06:30:34 +00:00
parent 3abcdf3b90
commit ca8f1c2716
1 changed files with 5 additions and 0 deletions

View File

@ -31,6 +31,9 @@ namespace {
cl::opt<bool> cl::opt<bool>
NoFPElim("disable-fp-elim", NoFPElim("disable-fp-elim",
cl::desc("Disable frame pointer elimination optimization")); cl::desc("Disable frame pointer elimination optimization"));
cl::opt<bool>
NoFusing("disable-spill-fusing",
cl::desc("Disable fusing of spill code into instructions"));
} }
X86RegisterInfo::X86RegisterInfo() X86RegisterInfo::X86RegisterInfo()
@ -106,6 +109,8 @@ static MachineInstr *MakeRMIInst(unsigned Opcode, unsigned FrameIndex,
bool X86RegisterInfo::foldMemoryOperand(MachineBasicBlock::iterator &MI, bool X86RegisterInfo::foldMemoryOperand(MachineBasicBlock::iterator &MI,
unsigned i, int FrameIndex) const { unsigned i, int FrameIndex) const {
if (NoFusing) return false;
/// FIXME: This should obviously be autogenerated by tablegen when patterns /// FIXME: This should obviously be autogenerated by tablegen when patterns
/// are available! /// are available!
MachineBasicBlock& MBB = *MI->getParent(); MachineBasicBlock& MBB = *MI->getParent();