summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Mips/MipsTargetMachine.cpp
diff options
context:
space:
mode:
authorAleksandar Beserminji <Aleksandar.Beserminji@mips.com>2018-05-21 11:38:52 +0000
committerAleksandar Beserminji <Aleksandar.Beserminji@mips.com>2018-05-21 11:38:52 +0000
commit4977705727ed90cec32e72613b21a18509bc43ec (patch)
treefff1d2c9ba001676f617bd9f256b457bb0f9fe0c /llvm/lib/Target/Mips/MipsTargetMachine.cpp
parent8ceab61c75b8f34c90e831c85a3420e3510b501a (diff)
downloadbcm5719-llvm-4977705727ed90cec32e72613b21a18509bc43ec.tar.gz
bcm5719-llvm-4977705727ed90cec32e72613b21a18509bc43ec.zip
[mips] Revert Merge MipsLongBranch and MipsHazardSchedule passes
Revert this patch due buildbot failure. Differential Revision: https://reviews.llvm.org/D46641 llvm-svn: 332837
Diffstat (limited to 'llvm/lib/Target/Mips/MipsTargetMachine.cpp')
-rw-r--r--llvm/lib/Target/Mips/MipsTargetMachine.cpp20
1 files changed, 6 insertions, 14 deletions
diff --git a/llvm/lib/Target/Mips/MipsTargetMachine.cpp b/llvm/lib/Target/Mips/MipsTargetMachine.cpp
index 755c824deb4..d360a9ebe36 100644
--- a/llvm/lib/Target/Mips/MipsTargetMachine.cpp
+++ b/llvm/lib/Target/Mips/MipsTargetMachine.cpp
@@ -54,7 +54,7 @@ extern "C" void LLVMInitializeMipsTarget() {
PassRegistry *PR = PassRegistry::getPassRegistry();
initializeGlobalISel(*PR);
initializeMipsDelaySlotFillerPass(*PR);
- initializeMipsBranchExpansionPass(*PR);
+ initializeMipsLongBranchPass(*PR);
}
static std::string computeDataLayout(const Triple &TT, StringRef CPU,
@@ -290,20 +290,12 @@ MipsTargetMachine::getTargetTransformInfo(const Function &F) {
void MipsPassConfig::addPreEmitPass() {
addPass(createMicroMipsSizeReductionPass());
- // The delay slot filler pass can potientially create forbidden slot hazards
- // for MIPSR6 and therefore it should go before MipsBranchExpansion pass.
+ // The delay slot filler and the long branch passes can potientially create
+ // forbidden slot/ hazards for MIPSR6 which the hazard schedule pass will
+ // fix. Any new pass must come before the hazard schedule pass.
addPass(createMipsDelaySlotFillerPass());
-
- // This pass expands branches and takes care about the forbidden slot hazards.
- // Expanding branches may potentially create forbidden slot hazards for
- // MIPSR6, and fixing such hazard may potentially break a branch by extending
- // its offset out of range. That's why this pass combine these two tasks, and
- // runs them alternately until one of them finishes without any changes. Only
- // then we can be sure that all branches are expanded properly and no hazards
- // exists.
- // Any new pass should go before this pass.
- addPass(createMipsBranchExpansion());
-
+ addPass(createMipsLongBranchPass());
+ addPass(createMipsHazardSchedule());
addPass(createMipsConstantIslandPass());
}
OpenPOWER on IntegriCloud