summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic
diff options
context:
space:
mode:
authorSimon Atanasyan <simon@atanasyan.com>2019-11-27 19:09:50 +0300
committerSimon Atanasyan <simon@atanasyan.com>2019-11-29 00:23:00 +0300
commitf4d32ae75bf515f443a2c99dce5c882f460c82bd (patch)
treeffc43fd73637e320bd7a8e178dba01f260ef9e95 /clang/lib/Basic
parentec3efcf11ff2fcdb5a754e3bda942dd5bef0928e (diff)
downloadbcm5719-llvm-f4d32ae75bf515f443a2c99dce5c882f460c82bd.tar.gz
bcm5719-llvm-f4d32ae75bf515f443a2c99dce5c882f460c82bd.zip
[mips] Check that features required by built-ins are enabled
Now Clang does not check that features required by built-in functions are enabled. That causes errors in the backend reported in PR44018. This patch fixes this bug by checking that required features are enabled. This should fix PR44018. Differential Revision: https://reviews.llvm.org/D70808
Diffstat (limited to 'clang/lib/Basic')
-rw-r--r--clang/lib/Basic/Targets/Mips.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/clang/lib/Basic/Targets/Mips.cpp b/clang/lib/Basic/Targets/Mips.cpp
index b9ab80df619..ead5e91f7c8 100644
--- a/clang/lib/Basic/Targets/Mips.cpp
+++ b/clang/lib/Basic/Targets/Mips.cpp
@@ -213,7 +213,10 @@ void MipsTargetInfo::getTargetDefines(const LangOptions &Opts,
bool MipsTargetInfo::hasFeature(StringRef Feature) const {
return llvm::StringSwitch<bool>(Feature)
.Case("mips", true)
+ .Case("dsp", DspRev >= DSP1)
+ .Case("dspr2", DspRev >= DSP2)
.Case("fp64", FPMode == FP64)
+ .Case("msa", HasMSA)
.Default(false);
}
OpenPOWER on IntegriCloud