forked from OSchip/llvm-project
Add an option to disable spill fusing in the X86 backend
llvm-svn: 11531
This commit is contained in:
parent
3abcdf3b90
commit
ca8f1c2716
|
@ -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();
|
||||||
|
|
Loading…
Reference in New Issue