diff options
author | Reed Kotler <rkotler@mips.com> | 2014-03-10 16:31:25 +0000 |
---|---|---|
committer | Reed Kotler <rkotler@mips.com> | 2014-03-10 16:31:25 +0000 |
commit | 017bc0fca699f3319f87cb28d04e2d7321d17157 (patch) | |
tree | 5595eb049d43d76481deaae6f3f023a566031380 /lib/Target/Mips/MipsTargetMachine.cpp | |
parent | c869887dde3afb51efa4bea06233acc665fd5cdf (diff) | |
download | llvm-017bc0fca699f3319f87cb28d04e2d7321d17157.tar.gz llvm-017bc0fca699f3319f87cb28d04e2d7321d17157.tar.bz2 llvm-017bc0fca699f3319f87cb28d04e2d7321d17157.tar.xz |
Fix regression with -O0 for mips .
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203469 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Mips/MipsTargetMachine.cpp')
-rw-r--r-- | lib/Target/Mips/MipsTargetMachine.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/Target/Mips/MipsTargetMachine.cpp b/lib/Target/Mips/MipsTargetMachine.cpp index 3cc1343513..e9053c87f0 100644 --- a/lib/Target/Mips/MipsTargetMachine.cpp +++ b/lib/Target/Mips/MipsTargetMachine.cpp @@ -175,6 +175,9 @@ public: virtual bool addInstSelector(); virtual void addMachineSSAOptimization(); virtual bool addPreEmitPass(); + + virtual bool addPreRegAlloc(); + }; } // namespace @@ -208,6 +211,15 @@ void MipsPassConfig::addMachineSSAOptimization() { TargetPassConfig::addMachineSSAOptimization(); } +bool MipsPassConfig::addPreRegAlloc() { + if (getOptLevel() == CodeGenOpt::None) { + addPass(createMipsOptimizePICCallPass(getMipsTargetMachine())); + return true; + } + else + return false; +} + void MipsTargetMachine::addAnalysisPasses(PassManagerBase &PM) { if (Subtarget.allowMixed16_32()) { DEBUG(errs() << "No "); |