[clang] [RISCV] Simply add the march/mabi strings to Flags for multilib selection (PR #180104)
via cfe-commits
cfe-commits at lists.llvm.org
Thu Feb 5 18:34:26 PST 2026
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-clang-driver
@llvm/pr-subscribers-clang
Author: Jim Lin (tclin914)
<details>
<summary>Changes</summary>
It does't need to compare the march/mabi with multilib's before adding such string into Flags. The negative one (!march/!mabi) has no effect during multilib selection. We can select either a multilib with identical march and mabi, or one with a subset of march and the same mabi.
---
Full diff: https://github.com/llvm/llvm-project/pull/180104.diff
1 Files Affected:
- (modified) clang/lib/Driver/ToolChains/Gnu.cpp (+3-10)
``````````diff
diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp
index ac31a45b557f1..215a50612a31d 100644
--- a/clang/lib/Driver/ToolChains/Gnu.cpp
+++ b/clang/lib/Driver/ToolChains/Gnu.cpp
@@ -1631,7 +1631,7 @@ selectRISCVMultilib(const Driver &D, const MultilibSet &RISCVMultilibSet,
// Collect all flags except march=*
for (StringRef Flag : Flags) {
- if (Flag.starts_with("!march=") || Flag.starts_with("-march="))
+ if (Flag.starts_with("-march="))
continue;
NewFlags.push_back(Flag.str());
@@ -1753,15 +1753,8 @@ static void findRISCVBareMetalMultilibs(const Driver &D,
llvm::StringSet<> Added_ABIs;
StringRef ABIName = tools::riscv::getRISCVABI(Args, TargetTriple);
std::string MArch = tools::riscv::getRISCVArch(Args, TargetTriple);
- for (auto Element : RISCVMultilibSet) {
- addMultilibFlag(MArch == Element.march,
- Twine("-march=", Element.march).str(), Flags);
- if (!Added_ABIs.count(Element.mabi)) {
- Added_ABIs.insert(Element.mabi);
- addMultilibFlag(ABIName == Element.mabi,
- Twine("-mabi=", Element.mabi).str(), Flags);
- }
- }
+ Flags.push_back("-march=" + MArch);
+ Flags.push_back("-mabi=" + ABIName.str());
if (selectRISCVMultilib(D, RISCVMultilibs, MArch, Flags,
Result.SelectedMultilibs))
``````````
</details>
https://github.com/llvm/llvm-project/pull/180104
More information about the cfe-commits
mailing list