diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2014-12-11 20:03:57 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2014-12-11 20:03:57 +0000 |
commit | 01c73610d0fd4f12f19f44083437106957a737c4 (patch) | |
tree | 6ce937ee91e00b763dfd515c00fa6c5b54cfb4ae /llvm/lib/Target/X86/X86TargetMachine.cpp | |
parent | 4e654cd66451354b84cac12b1fc0321a451519d6 (diff) | |
download | llvm-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.cpp | 26 |
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; } |