diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2012-07-04 00:09:58 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2012-07-04 00:09:58 +0000 |
commit | 59bde4d8a1065d3c48c5ea94a570b2c4d2f294a8 (patch) | |
tree | f600a6525ac42bdb4b175f04c7f0f46375483655 /lib/Target/X86/X86TargetMachine.cpp | |
parent | 33242fd3ed5586091e73254b58dd1825e9d53c60 (diff) | |
download | llvm-59bde4d8a1065d3c48c5ea94a570b2c4d2f294a8.tar.gz llvm-59bde4d8a1065d3c48c5ea94a570b2c4d2f294a8.tar.bz2 llvm-59bde4d8a1065d3c48c5ea94a570b2c4d2f294a8.tar.xz |
Add early if-conversion support to X86.
Implement the TII hooks needed by EarlyIfConversion to create cmov
instructions and estimate their latency.
Early if-conversion is still not enabled by default.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159695 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/X86TargetMachine.cpp')
-rw-r--r-- | lib/Target/X86/X86TargetMachine.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/Target/X86/X86TargetMachine.cpp b/lib/Target/X86/X86TargetMachine.cpp index c66a554294..b7ba568394 100644 --- a/lib/Target/X86/X86TargetMachine.cpp +++ b/lib/Target/X86/X86TargetMachine.cpp @@ -140,7 +140,12 @@ public: } // namespace TargetPassConfig *X86TargetMachine::createPassConfig(PassManagerBase &PM) { - return new X86PassConfig(this, PM); + X86PassConfig *PC = new X86PassConfig(this, PM); + + if (Subtarget.hasCMov()) + PC->enablePass(&EarlyIfConverterID); + + return PC; } bool X86PassConfig::addInstSelector() { |