diff options
Diffstat (limited to 'llvm/lib/Target/Mips/MipsTargetMachine.cpp')
| -rw-r--r-- | llvm/lib/Target/Mips/MipsTargetMachine.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/llvm/lib/Target/Mips/MipsTargetMachine.cpp b/llvm/lib/Target/Mips/MipsTargetMachine.cpp index e805f7bfa73..1e6fe2b9f7e 100644 --- a/llvm/lib/Target/Mips/MipsTargetMachine.cpp +++ b/llvm/lib/Target/Mips/MipsTargetMachine.cpp @@ -240,6 +240,7 @@ public: bool addInstSelector() override; void addPreEmitPass() override; void addPreRegAlloc() override; + void addPreEmit2() ; bool addIRTranslator() override; bool addLegalizeMachineIR() override; bool addRegBankSelect() override; @@ -285,10 +286,18 @@ MipsTargetMachine::getTargetTransformInfo(const Function &F) { return TargetTransformInfo(BasicTTIImpl(this, F)); } +void MipsPassConfig::addPreEmit2() { +} + // Implemented by targets that want to run passes immediately before // machine code is emitted. return true if -print-machineinstrs should // print out the code after the passes. void MipsPassConfig::addPreEmitPass() { + // Expand pseudo instructions that are sensitive to register allocation. + addPass(createMipsExpandPseudoPass()); + + // The microMIPS size reduction pass performs instruction reselection for + // instructions which can be remapped to a 16 bit instruction. addPass(createMicroMipsSizeReducePass()); // The delay slot filler pass can potientially create forbidden slot hazards |

