summaryrefslogtreecommitdiffstats
path: root/llvm/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
commit49e4d4b3ef810a6e6d1df67dc26dab5faae8e025 (patch)
treecd54f1055a5bdf27772ed6f46cc74f007fa7b2da /llvm/lib/Target/X86/X86TargetMachine.cpp
parentf8a63a1507cfc20dbb74dc38ccbdc64460d9f547 (diff)
downloadbcm5719-llvm-49e4d4b3ef810a6e6d1df67dc26dab5faae8e025.tar.gz
bcm5719-llvm-49e4d4b3ef810a6e6d1df67dc26dab5faae8e025.zip
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. llvm-svn: 159695
Diffstat (limited to 'llvm/lib/Target/X86/X86TargetMachine.cpp')
-rw-r--r--llvm/lib/Target/X86/X86TargetMachine.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/llvm/lib/Target/X86/X86TargetMachine.cpp b/llvm/lib/Target/X86/X86TargetMachine.cpp
index c66a5542946..b7ba568394b 100644
--- a/llvm/lib/Target/X86/X86TargetMachine.cpp
+++ b/llvm/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() {
OpenPOWER on IntegriCloud