summaryrefslogtreecommitdiff
path: root/lib/Target/Mips/MipsTargetMachine.cpp
diff options
context:
space:
mode:
authorReed Kotler <rkotler@mips.com>2014-03-10 16:31:25 +0000
committerReed Kotler <rkotler@mips.com>2014-03-10 16:31:25 +0000
commit017bc0fca699f3319f87cb28d04e2d7321d17157 (patch)
tree5595eb049d43d76481deaae6f3f023a566031380 /lib/Target/Mips/MipsTargetMachine.cpp
parentc869887dde3afb51efa4bea06233acc665fd5cdf (diff)
downloadllvm-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.cpp12
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 ");