aboutsummaryrefslogtreecommitdiff
path: root/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/RISCV.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/RISCV.cpp')
-rw-r--r--contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/RISCV.cpp22
1 files changed, 3 insertions, 19 deletions
diff --git a/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/RISCV.cpp b/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/RISCV.cpp
index 62e8d3fa2a93..94b179636e4f 100644
--- a/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/RISCV.cpp
+++ b/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/RISCV.cpp
@@ -195,27 +195,11 @@ StringRef riscv::getRISCVABI(const ArgList &Args, const llvm::Triple &Triple) {
auto ParseResult = llvm::RISCVISAInfo::parseArchString(
Arch, /* EnableExperimentalExtension */ true);
- if (!ParseResult) {
+ if (!ParseResult)
// Ignore parsing error, just go 3rd step.
consumeError(ParseResult.takeError());
- } else {
- auto &ISAInfo = *ParseResult;
- bool HasD = ISAInfo->hasExtension("d");
- unsigned XLen = ISAInfo->getXLen();
- if (XLen == 32) {
- bool HasE = ISAInfo->hasExtension("e");
- if (HasD)
- return "ilp32d";
- if (HasE)
- return "ilp32e";
- return "ilp32";
- } else if (XLen == 64) {
- if (HasD)
- return "lp64d";
- return "lp64";
- }
- llvm_unreachable("unhandled XLen");
- }
+ else
+ return llvm::RISCV::computeDefaultABIFromArch(**ParseResult);
// 3. Choose a default based on the triple
//