summaryrefslogtreecommitdiff
path: root/lib/Target/X86/X86TargetMachine.cpp
diff options
context:
space:
mode:
authorPreston Gurd <preston.gurd@intel.com>2013-04-25 20:29:37 +0000
committerPreston Gurd <preston.gurd@intel.com>2013-04-25 20:29:37 +0000
commitd6ac8e9a03d8fa7115079d86192bc4529e8281aa (patch)
tree9553fbaac5e6badb3c220a49e83147e96b44c70f /lib/Target/X86/X86TargetMachine.cpp
parent975b1ddf60387139357c8cbbaeb613de5a39294f (diff)
downloadllvm-d6ac8e9a03d8fa7115079d86192bc4529e8281aa.tar.gz
llvm-d6ac8e9a03d8fa7115079d86192bc4529e8281aa.tar.bz2
llvm-d6ac8e9a03d8fa7115079d86192bc4529e8281aa.tar.xz
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/X86TargetMachine.cpp')
-rw-r--r--lib/Target/X86/X86TargetMachine.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Target/X86/X86TargetMachine.cpp b/lib/Target/X86/X86TargetMachine.cpp
index 8aa58a2042..00fa47f80b 100644
--- a/lib/Target/X86/X86TargetMachine.cpp
+++ b/lib/Target/X86/X86TargetMachine.cpp
@@ -215,6 +215,11 @@ bool X86PassConfig::addPreEmitPass() {
addPass(createX86PadShortFunctions());
ShouldPrint = true;
}
+ if (getOptLevel() != CodeGenOpt::None &&
+ getX86Subtarget().LEAusesAG()){
+ addPass(createX86FixupLEAs());
+ ShouldPrint = true;
+ }
return ShouldPrint;
}