summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic/Targets/Mips.cpp
diff options
context:
space:
mode:
authorAleksandar Beserminji <Aleksandar.Beserminji@mips.com>2017-12-11 11:29:17 +0000
committerAleksandar Beserminji <Aleksandar.Beserminji@mips.com>2017-12-11 11:29:17 +0000
commit8ee529615210502df62d9acc3bf974024abad376 (patch)
treea6ece1299349d6a8ce62ae99d7c9bab18ed245bc /clang/lib/Basic/Targets/Mips.cpp
parentd6dada17ff7f61f43cd6286d215f569433429804 (diff)
downloadbcm5719-llvm-8ee529615210502df62d9acc3bf974024abad376.tar.gz
bcm5719-llvm-8ee529615210502df62d9acc3bf974024abad376.zip
[mips] Removal of microMIPS64R6
microMIPS64R6 is removed from backend, and therefore frontend will show an error when target is microMIPS64R6. This is Clang part of patch. Differential Revision: https://reviews.llvm.org/D35624 llvm-svn: 320351
Diffstat (limited to 'clang/lib/Basic/Targets/Mips.cpp')
-rw-r--r--clang/lib/Basic/Targets/Mips.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/clang/lib/Basic/Targets/Mips.cpp b/clang/lib/Basic/Targets/Mips.cpp
index 3eb39b377be..55635058eff 100644
--- a/clang/lib/Basic/Targets/Mips.cpp
+++ b/clang/lib/Basic/Targets/Mips.cpp
@@ -206,6 +206,13 @@ ArrayRef<Builtin::Info> MipsTargetInfo::getTargetBuiltins() const {
}
bool MipsTargetInfo::validateTarget(DiagnosticsEngine &Diags) const {
+ // microMIPS64R6 backend is removed
+ if ((getTriple().getArch() == llvm::Triple::mips64 ||
+ getTriple().getArch() == llvm::Triple::mips64el) &&
+ IsMicromips && (ABI == "n32" || ABI == "n64")) {
+ Diags.Report(diag::err_target_unsupported_cpu_for_micromips) << CPU;
+ return false;
+ }
// FIXME: It's valid to use O32 on a 64-bit CPU but the backend can't handle
// this yet. It's better to fail here than on the backend assertion.
if (processorSupportsGPR64() && ABI == "o32") {
OpenPOWER on IntegriCloud