diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2019-11-21 20:26:34 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2019-11-21 20:26:34 +0000 |
commit | 44344578f8f2053f967666ad061423fddb2edc2d (patch) | |
tree | a791000392bee987c28568f61bbd39ff4aa642f6 /contrib | |
parent | a1a3a6d36e9ec5151a872ae33a24a5f471efa258 (diff) | |
download | src-44344578f8f2053f967666ad061423fddb2edc2d.tar.gz src-44344578f8f2053f967666ad061423fddb2edc2d.zip |
Merge commit 3552d3e0f from llvm git (by Simon Atanasyan):
[mips] Add `octeon+` to the list of CPUs accepted by the driver
This is one of the upstream changes needed for adding support for the
OCTEON+ CPU type, so that we can test Clang builds using the most
commonly available FreeBSD/mips64 reference platform, the Edge Router
Lite.
Requested by: kevans
MFC after: 1 month
X-MFC-With: r353358
Notes
Notes:
svn path=/head/; revision=354982
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/llvm/tools/clang/lib/Basic/Targets/Mips.cpp | 3 | ||||
-rw-r--r-- | contrib/llvm/tools/clang/lib/Basic/Targets/Mips.h | 2 | ||||
-rw-r--r-- | contrib/llvm/tools/clang/lib/Driver/ToolChains/Gnu.cpp | 3 |
3 files changed, 6 insertions, 2 deletions
diff --git a/contrib/llvm/tools/clang/lib/Basic/Targets/Mips.cpp b/contrib/llvm/tools/clang/lib/Basic/Targets/Mips.cpp index 2cafbe87a996..a43bc590084e 100644 --- a/contrib/llvm/tools/clang/lib/Basic/Targets/Mips.cpp +++ b/contrib/llvm/tools/clang/lib/Basic/Targets/Mips.cpp @@ -39,6 +39,7 @@ bool MipsTargetInfo::processorSupportsGPR64() const { .Case("mips64r5", true) .Case("mips64r6", true) .Case("octeon", true) + .Case("octeon+", true) .Default(false); return false; } @@ -47,7 +48,7 @@ static constexpr llvm::StringLiteral ValidCPUNames[] = { {"mips1"}, {"mips2"}, {"mips3"}, {"mips4"}, {"mips5"}, {"mips32"}, {"mips32r2"}, {"mips32r3"}, {"mips32r5"}, {"mips32r6"}, {"mips64"}, {"mips64r2"}, {"mips64r3"}, {"mips64r5"}, {"mips64r6"}, - {"octeon"}, {"p5600"}}; + {"octeon"}, {"octeon+"}, {"p5600"}}; bool MipsTargetInfo::isValidCPUName(StringRef Name) const { return llvm::find(ValidCPUNames, Name) != std::end(ValidCPUNames); diff --git a/contrib/llvm/tools/clang/lib/Basic/Targets/Mips.h b/contrib/llvm/tools/clang/lib/Basic/Targets/Mips.h index 474cda84a40e..224ec0783edf 100644 --- a/contrib/llvm/tools/clang/lib/Basic/Targets/Mips.h +++ b/contrib/llvm/tools/clang/lib/Basic/Targets/Mips.h @@ -180,6 +180,8 @@ public: CPU = getCPU(); if (CPU == "octeon") Features["mips64r2"] = Features["cnmips"] = true; + else if (CPU == "octeon+") + Features["mips64r2"] = Features["cnmips"] = Features["cnmipsp"] = true; else Features[CPU] = true; return TargetInfo::initFeatureMap(Features, Diags, CPU, FeaturesVec); diff --git a/contrib/llvm/tools/clang/lib/Driver/ToolChains/Gnu.cpp b/contrib/llvm/tools/clang/lib/Driver/ToolChains/Gnu.cpp index 9e23519bfcc7..ef1225ac37e9 100644 --- a/contrib/llvm/tools/clang/lib/Driver/ToolChains/Gnu.cpp +++ b/contrib/llvm/tools/clang/lib/Driver/ToolChains/Gnu.cpp @@ -1392,7 +1392,8 @@ bool clang::driver::findMIPSMultilibs(const Driver &D, addMultilibFlag(CPUName == "mips32r6", "march=mips32r6", Flags); addMultilibFlag(CPUName == "mips64", "march=mips64", Flags); addMultilibFlag(CPUName == "mips64r2" || CPUName == "mips64r3" || - CPUName == "mips64r5" || CPUName == "octeon", + CPUName == "mips64r5" || CPUName == "octeon" || + CPUName == "octeon+", "march=mips64r2", Flags); addMultilibFlag(CPUName == "mips64r6", "march=mips64r6", Flags); addMultilibFlag(isMicroMips(Args), "mmicromips", Flags); |