summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorSimon Atanasyan <simon@atanasyan.com>2018-09-27 08:51:18 +0000
committerSimon Atanasyan <simon@atanasyan.com>2018-09-27 08:51:18 +0000
commite58c45a695f39004710b6ce940d489fee800dbd3 (patch)
tree616f6d23a0d14f4586f03e426cea20b995259062 /llvm/lib/Target
parent0b339e4d80eaae905f879e26de756b47415fdb02 (diff)
downloadbcm5719-llvm-e58c45a695f39004710b6ce940d489fee800dbd3.tar.gz
bcm5719-llvm-e58c45a695f39004710b6ce940d489fee800dbd3.zip
[mips] Add support MIPS r6 Debian triples
Debian uses different triples for MIPS r6 and paths. Here we use SubArch to determine whether it is r6, if we found `r6' in CPU section of triple. These new triples include: mipsisa32r6-linux-gnu mipsisa32r6el-linux-gnu mipsisa64r6-linux-gnuabi64 mipsisa64r6el-linux-gnuabi64 mipsisa64r6-linux-gnuabin32 mipsisa64r6el-linux-gnuabin32 Patch by YunQiang Su. Differential revision: https://reviews.llvm.org/D50857 llvm-svn: 343185
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp b/llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp
index ce208b7f98b..a8cd7b0d9b0 100644
--- a/llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp
+++ b/llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp
@@ -47,10 +47,17 @@ using namespace llvm;
/// FIXME: Merge with the copy in MipsSubtarget.cpp
StringRef MIPS_MC::selectMipsCPU(const Triple &TT, StringRef CPU) {
if (CPU.empty() || CPU == "generic") {
- if (TT.isMIPS32())
- CPU = "mips32";
- else
- CPU = "mips64";
+ if (TT.getSubArch() == llvm::Triple::MipsSubArch_r6) {
+ if (TT.isMIPS32())
+ CPU = "mips32r6";
+ else
+ CPU = "mips64r6";
+ } else {
+ if (TT.isMIPS32())
+ CPU = "mips32";
+ else
+ CPU = "mips64";
+ }
}
return CPU;
}
OpenPOWER on IntegriCloud