summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2004-02-17 06:30:34 +0000
committerChris Lattner <sabre@nondot.org>2004-02-17 06:30:34 +0000
commita7660be6c21f23922baf61c880ec8f2224c23200 (patch)
treef757c8d37f6e772ab24ac50b7f33fdf84ee19614 /lib
parente87331d11d153747cbb473a95c954693ad0c59b6 (diff)
downloadllvm-a7660be6c21f23922baf61c880ec8f2224c23200.tar.gz
llvm-a7660be6c21f23922baf61c880ec8f2224c23200.tar.bz2
llvm-a7660be6c21f23922baf61c880ec8f2224c23200.tar.xz
Add an option to disable spill fusing in the X86 backend
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11531 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/Target/X86/X86RegisterInfo.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Target/X86/X86RegisterInfo.cpp b/lib/Target/X86/X86RegisterInfo.cpp
index b3d9bb2ab8..dae171f8af 100644
--- a/lib/Target/X86/X86RegisterInfo.cpp
+++ b/lib/Target/X86/X86RegisterInfo.cpp
@@ -31,6 +31,9 @@ namespace {
cl::opt<bool>
NoFPElim("disable-fp-elim",
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()
@@ -106,6 +109,8 @@ static MachineInstr *MakeRMIInst(unsigned Opcode, unsigned FrameIndex,
bool X86RegisterInfo::foldMemoryOperand(MachineBasicBlock::iterator &MI,
unsigned i, int FrameIndex) const {
+ if (NoFusing) return false;
+
/// FIXME: This should obviously be autogenerated by tablegen when patterns
/// are available!
MachineBasicBlock& MBB = *MI->getParent();