diff options
author | Preston Gurd <preston.gurd@intel.com> | 2013-04-25 20:29:37 +0000 |
---|---|---|
committer | Preston Gurd <preston.gurd@intel.com> | 2013-04-25 20:29:37 +0000 |
commit | d6ac8e9a03d8fa7115079d86192bc4529e8281aa (patch) | |
tree | 9553fbaac5e6badb3c220a49e83147e96b44c70f /lib/Target/X86/X86.h | |
parent | 975b1ddf60387139357c8cbbaeb613de5a39294f (diff) | |
download | external_llvm-d6ac8e9a03d8fa7115079d86192bc4529e8281aa.zip external_llvm-d6ac8e9a03d8fa7115079d86192bc4529e8281aa.tar.gz external_llvm-d6ac8e9a03d8fa7115079d86192bc4529e8281aa.tar.bz2 |
This patch adds the X86FixupLEAs pass, which will reduce instruction
latency for certain models of the Intel Atom family, by converting
instructions into their equivalent LEA instructions, when it is both
useful and possible to do so.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180573 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/X86.h')
-rw-r--r-- | lib/Target/X86/X86.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Target/X86/X86.h b/lib/Target/X86/X86.h index 1f9919f..947002f 100644 --- a/lib/Target/X86/X86.h +++ b/lib/Target/X86/X86.h @@ -69,6 +69,11 @@ ImmutablePass *createX86TargetTransformInfoPass(const X86TargetMachine *TM); /// createX86PadShortFunctions - Return a pass that pads short functions /// with NOOPs. This will prevent a stall when returning on the Atom. FunctionPass *createX86PadShortFunctions(); +/// createX86FixupLEAs - Return a a pass that selectively replaces +/// certain instructions (like add, sub, inc, dec, some shifts, +/// and some multiplies) by equivalent LEA instructions, in order +/// to eliminate execution delays in some Atom processors. +FunctionPass *createX86FixupLEAs(); } // End llvm namespace |