summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86InstrInfo.h
diff options
context:
space:
mode:
authorHans Wennborg <hans@hanshq.net>2015-12-17 23:18:39 +0000
committerHans Wennborg <hans@hanshq.net>2015-12-17 23:18:39 +0000
commita6a2e512cfba695072a390b0552f984dc98e25af (patch)
tree2661dcf016e37ba35d111f97091cc63af68f3425 /llvm/lib/Target/X86/X86InstrInfo.h
parent51c8c8f3720ec757e0ea479a192123c16991f6f5 (diff)
downloadbcm5719-llvm-a6a2e512cfba695072a390b0552f984dc98e25af.tar.gz
bcm5719-llvm-a6a2e512cfba695072a390b0552f984dc98e25af.zip
[X86] Use push-pop for materializing small constants under 'minsize'
Use the 3-byte (4 with REX prefix) push-pop sequence for materializing small constants. This is smaller than using a mov (5, 6 or 7 bytes depending on size and REX prefix), but it's likely to be slower, so only used for 'minsize'. This is a follow-up to r255656. Differential Revision: http://reviews.llvm.org/D15549 llvm-svn: 255936
Diffstat (limited to 'llvm/lib/Target/X86/X86InstrInfo.h')
-rw-r--r--llvm/lib/Target/X86/X86InstrInfo.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86InstrInfo.h b/llvm/lib/Target/X86/X86InstrInfo.h
index edd09d61759..9d40334206b 100644
--- a/llvm/lib/Target/X86/X86InstrInfo.h
+++ b/llvm/lib/Target/X86/X86InstrInfo.h
@@ -23,6 +23,7 @@
#include "X86GenInstrInfo.inc"
namespace llvm {
+ class MachineInstrBuilder;
class X86RegisterInfo;
class X86Subtarget;
@@ -564,6 +565,9 @@ private:
/// operand and follow operands form a reference to the stack frame.
bool isFrameOperand(const MachineInstr *MI, unsigned int Op,
int &FrameIndex) const;
+
+ /// Expand the MOVImmSExti8 pseudo-instructions.
+ bool ExpandMOVImmSExti8(MachineInstrBuilder &MIB) const;
};
} // End llvm namespace
OpenPOWER on IntegriCloud