diff options
author | Chris Lattner <sabre@nondot.org> | 2005-01-02 04:18:17 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2005-01-02 04:18:17 +0000 |
commit | 733aac12704084253fb7ef221d6462805a317aac (patch) | |
tree | a7ae1563d9fd9b3de933a01642be63b2b3751875 /llvm/lib | |
parent | 252b68cfc874bf770a5224dde0b19d2cc19ea2d6 (diff) | |
download | bcm5719-llvm-733aac12704084253fb7ef221d6462805a317aac.tar.gz bcm5719-llvm-733aac12704084253fb7ef221d6462805a317aac.zip |
Disable 2->3 address promotion of add and inc instructions to LEA's. In
addition to being three address, LEA's don't set the flags.
This fixes 186.crafty.
llvm-svn: 19251
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Target/X86/X86InstrInfo.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86InstrInfo.cpp b/llvm/lib/Target/X86/X86InstrInfo.cpp index d588afe28af..a13498e3ae4 100644 --- a/llvm/lib/Target/X86/X86InstrInfo.cpp +++ b/llvm/lib/Target/X86/X86InstrInfo.cpp @@ -55,6 +55,11 @@ MachineInstr *X86InstrInfo::convertToThreeAddress(MachineInstr *MI) const { unsigned Dest = MI->getOperand(0).getReg(); unsigned Src = MI->getOperand(1).getReg(); + // FIXME: None of these instructions are promotable to LEAs without + // additional information. In particular, LEA doesn't set the flags that + // add and inc do. :( + return 0; + // FIXME: 16-bit LEA's are really slow on Athlons, but not bad on P4's. When // we have subtarget support, enable the 16-bit LEA generation here. bool DisableLEA16 = true; |