summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAkira Hatanaka <ahatanaka@mips.com>2013-10-07 19:06:57 +0000
committerAkira Hatanaka <ahatanaka@mips.com>2013-10-07 19:06:57 +0000
commit96ba8cb9b2b1087abeaaf1ede246b56ee788028b (patch)
treefe0c660f7f014371b496bb122558523131b4fae5 /lib
parent23eb90714bb6a5a7d94a262f439b5bf872733cf1 (diff)
downloadllvm-96ba8cb9b2b1087abeaaf1ede246b56ee788028b.tar.gz
llvm-96ba8cb9b2b1087abeaaf1ede246b56ee788028b.tar.bz2
llvm-96ba8cb9b2b1087abeaaf1ede246b56ee788028b.tar.xz
[mips] Define method MipsSubtarget::enableLongBranchPass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192122 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/Target/Mips/MipsSubtarget.h4
-rw-r--r--lib/Target/Mips/MipsTargetMachine.cpp3
2 files changed, 5 insertions, 2 deletions
diff --git a/lib/Target/Mips/MipsSubtarget.h b/lib/Target/Mips/MipsSubtarget.h
index 140ddde045..1d9940408a 100644
--- a/lib/Target/Mips/MipsSubtarget.h
+++ b/lib/Target/Mips/MipsSubtarget.h
@@ -194,6 +194,10 @@ public:
bool mipsSEUsesSoftFloat() const;
+ bool enableLongBranchPass() const {
+ return hasStandardEncoding() || allowMixed16_32();
+ }
+
/// Features related to the presence of specific instructions.
bool hasSEInReg() const { return HasSEInReg; }
bool hasCondMov() const { return HasCondMov; }
diff --git a/lib/Target/Mips/MipsTargetMachine.cpp b/lib/Target/Mips/MipsTargetMachine.cpp
index f25afe33ff..06f78e0ab3 100644
--- a/lib/Target/Mips/MipsTargetMachine.cpp
+++ b/lib/Target/Mips/MipsTargetMachine.cpp
@@ -197,8 +197,7 @@ bool MipsPassConfig::addPreEmitPass() {
const MipsSubtarget &Subtarget = TM.getSubtarget<MipsSubtarget>();
addPass(createMipsDelaySlotFillerPass(TM));
- if (Subtarget.hasStandardEncoding() ||
- Subtarget.allowMixed16_32())
+ if (Subtarget.enableLongBranchPass())
addPass(createMipsLongBranchPass(TM));
if (Subtarget.inMips16Mode() ||
Subtarget.allowMixed16_32())