summaryrefslogtreecommitdiff
path: root/lib/Target/X86/X86TargetMachine.cpp
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2012-07-04 00:09:58 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2012-07-04 00:09:58 +0000
commit59bde4d8a1065d3c48c5ea94a570b2c4d2f294a8 (patch)
treef600a6525ac42bdb4b175f04c7f0f46375483655 /lib/Target/X86/X86TargetMachine.cpp
parent33242fd3ed5586091e73254b58dd1825e9d53c60 (diff)
downloadllvm-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.cpp7
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() {