aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/X86/X86TargetMachine.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2014-12-11 20:03:57 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2014-12-11 20:03:57 +0000
commit01c73610d0fd4f12f19f44083437106957a737c4 (patch)
tree6ce937ee91e00b763dfd515c00fa6c5b54cfb4ae /llvm/lib/Target/X86/X86TargetMachine.cpp
parent4e654cd66451354b84cac12b1fc0321a451519d6 (diff)
downloadllvm-01c73610d0fd4f12f19f44083437106957a737c4.zip
llvm-01c73610d0fd4f12f19f44083437106957a737c4.tar.gz
llvm-01c73610d0fd4f12f19f44083437106957a737c4.tar.bz2
This reverts commit r224043 and r224042.
check-llvm was failing. llvm-svn: 224045
Diffstat (limited to 'llvm/lib/Target/X86/X86TargetMachine.cpp')
-rw-r--r--llvm/lib/Target/X86/X86TargetMachine.cpp26
1 files changed, 20 insertions, 6 deletions
diff --git a/llvm/lib/Target/X86/X86TargetMachine.cpp b/llvm/lib/Target/X86/X86TargetMachine.cpp
index 5e6aa7d..8802feb 100644
--- a/llvm/lib/Target/X86/X86TargetMachine.cpp
+++ b/llvm/lib/Target/X86/X86TargetMachine.cpp
@@ -154,8 +154,9 @@ public:
void addIRPasses() override;
bool addInstSelector() override;
bool addILPOpts() override;
- void addPostRegAlloc() override;
- void addPreEmitPass() override;
+ bool addPreRegAlloc() override;
+ bool addPostRegAlloc() override;
+ bool addPreEmitPass() override;
};
} // namespace
@@ -187,19 +188,32 @@ bool X86PassConfig::addILPOpts() {
return true;
}
-void X86PassConfig::addPostRegAlloc() {
+bool X86PassConfig::addPreRegAlloc() {
+ return false; // -print-machineinstr shouldn't print after this.
+}
+
+bool X86PassConfig::addPostRegAlloc() {
addPass(createX86FloatingPointStackifierPass());
+ return true; // -print-machineinstr should print after this.
}
-void X86PassConfig::addPreEmitPass() {
- if (getOptLevel() != CodeGenOpt::None && getX86Subtarget().hasSSE2())
+bool X86PassConfig::addPreEmitPass() {
+ bool ShouldPrint = false;
+ if (getOptLevel() != CodeGenOpt::None && getX86Subtarget().hasSSE2()) {
addPass(createExecutionDependencyFixPass(&X86::VR128RegClass));
+ ShouldPrint = true;
+ }
- if (UseVZeroUpper)
+ if (UseVZeroUpper) {
addPass(createX86IssueVZeroUpperPass());
+ ShouldPrint = true;
+ }
if (getOptLevel() != CodeGenOpt::None) {
addPass(createX86PadShortFunctions());
addPass(createX86FixupLEAs());
+ ShouldPrint = true;
}
+
+ return ShouldPrint;
}