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 | 8b7ab4ba2ba90341daf95adc745a54189f805c3b (patch) | |
tree | cc9ae315612cae8f1da85623355b2e4e8e4aaff5 /llvm/lib/Target/X86/X86TargetMachine.cpp | |
parent | 999caf900ae84f666eea7ab5813fb1f446a91651 (diff) | |
download | llvm-8b7ab4ba2ba90341daf95adc745a54189f805c3b.zip llvm-8b7ab4ba2ba90341daf95adc745a54189f805c3b.tar.gz llvm-8b7ab4ba2ba90341daf95adc745a54189f805c3b.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.
llvm-svn: 180573
Diffstat (limited to 'llvm/lib/Target/X86/X86TargetMachine.cpp')
-rw-r--r-- | llvm/lib/Target/X86/X86TargetMachine.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86TargetMachine.cpp b/llvm/lib/Target/X86/X86TargetMachine.cpp index 8aa58a2..00fa47f 100644 --- a/llvm/lib/Target/X86/X86TargetMachine.cpp +++ b/llvm/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; } |