aboutsummaryrefslogtreecommitdiff
path: root/llvm/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
commit96b7402bac1ebdccad4f608dc210ae908d010c81 (patch)
treefb988be1288906ace67c0bfbd4fac248940d36bc /llvm/lib/Target/Mips/MipsTargetMachine.cpp
parent76086c667d792d53988f8351d69efa2890bad2d7 (diff)
downloadllvm-96b7402bac1ebdccad4f608dc210ae908d010c81.zip
llvm-96b7402bac1ebdccad4f608dc210ae908d010c81.tar.gz
llvm-96b7402bac1ebdccad4f608dc210ae908d010c81.tar.bz2
Fix regression with -O0 for mips .
llvm-svn: 203469
Diffstat (limited to 'llvm/lib/Target/Mips/MipsTargetMachine.cpp')
-rw-r--r--llvm/lib/Target/Mips/MipsTargetMachine.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/llvm/lib/Target/Mips/MipsTargetMachine.cpp b/llvm/lib/Target/Mips/MipsTargetMachine.cpp
index 3cc1343..e9053c8 100644
--- a/llvm/lib/Target/Mips/MipsTargetMachine.cpp
+++ b/llvm/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 ");