[clang] [RISCV] Allow YAML file to control multilib selection (PR #98856)

2024-09-06 Thread Sam Elliott via cfe-commits
lenary wrote: @ArcaneNibble have you seen this RFC from Arm https://discourse.llvm.org/t/rfc-multilib-custom-flags/81058?u=lenary which I think would be useful for RISC-V too? https://github.com/llvm/llvm-project/pull/98856 ___ cfe-commits mailing li

[clang] [RISCV] Allow YAML file to control multilib selection (PR #98856)

2024-08-21 Thread Sam Elliott via cfe-commits
lenary wrote: This is also a limitation if you use `@` as a prefix as suggested in the discourse thread - GCC's `-print-multi-lib` prints out flags with the first `-` replaced with an `@`, which iirc some build systems also parse (i recall crosstool-ng, but maybe it's newlib within a crosstoo

[clang] [RISCV] Allow YAML file to control multilib selection (PR #98856)

2024-08-21 Thread via cfe-commits
ArcaneNibble wrote: ... I had no idea that build systems might do that. Thanks, this probably explains why the feature was initially designed so that flags would be valid to pass as arguments https://github.com/llvm/llvm-project/pull/98856 ___ cfe-co

[clang] [RISCV] Allow YAML file to control multilib selection (PR #98856)

2024-08-21 Thread Simon Cook via cfe-commits
simonpcook wrote: I think the fake flag hack may have a limitation in that since the `--XXX-fake-flag-...` appears in `--print-multi-lib` it may get imported into some build system and used as a flag for building particular libraries. For example with the above, newlib will not build since `er

[clang] [RISCV] Allow YAML file to control multilib selection (PR #98856)

2024-08-16 Thread via cfe-commits
https://github.com/ArcaneNibble closed https://github.com/llvm/llvm-project/pull/98856 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [RISCV] Allow YAML file to control multilib selection (PR #98856)

2024-08-16 Thread via cfe-commits
ArcaneNibble wrote: > Have you, using this patch, managed to reimplement the hardcoded multilib > behaviour? I did some experimenting and managed to implement something very close (especially using the fake flag hack mentioned in the forums): ```yaml MultilibVersion: 1.0 Groups: - Name: rv32

[clang] [RISCV] Allow YAML file to control multilib selection (PR #98856)

2024-08-16 Thread Sam Elliott via cfe-commits
https://github.com/lenary approved this pull request. I'm happy with this as a good first step to adopting the multilib YAML. Have you, using this patch, managed to reimplement the hardcoded multilib behaviour? This is not a blocking question, but it might give an indication of whether more wo

[clang] [RISCV] Allow YAML file to control multilib selection (PR #98856)

2024-08-16 Thread via cfe-commits
ArcaneNibble wrote: ping? https://github.com/llvm/llvm-project/pull/98856 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [RISCV] Allow YAML file to control multilib selection (PR #98856)

2024-08-06 Thread via cfe-commits
ArcaneNibble wrote: > Could you add a testcase for that? Added a test case for checking the resulting flags. There's already test cases covering handling the YAML file itself. I haven't added a test for the fallback logic specifically, as that seemed a bit fiddly and there's desire to remove i

[clang] [RISCV] Allow YAML file to control multilib selection (PR #98856)

2024-08-06 Thread via cfe-commits
@@ -258,6 +259,13 @@ static void getARMMultilibFlags(const Driver &D, } } +static void getRISCVMultilibFlags(const Driver &D, const llvm::Triple &Triple, + const llvm::opt::ArgList &Args, + Multilib::flags_lis

[clang] [RISCV] Allow YAML file to control multilib selection (PR #98856)

2024-08-06 Thread via cfe-commits
https://github.com/ArcaneNibble updated https://github.com/llvm/llvm-project/pull/98856 >From 6577b7b1396aef1c313c1927fd86de81a9a860c2 Mon Sep 17 00:00:00 2001 From: R Date: Mon, 15 Jul 2024 04:13:07 +0100 Subject: [PATCH] [RISCV] Allow YAML file to control multilib selection --- clang/lib/Dr

[clang] [RISCV] Allow YAML file to control multilib selection (PR #98856)

2024-08-04 Thread Sam Elliott via cfe-commits
@@ -258,6 +259,13 @@ static void getARMMultilibFlags(const Driver &D, } } +static void getRISCVMultilibFlags(const Driver &D, const llvm::Triple &Triple, + const llvm::opt::ArgList &Args, + Multilib::flags_lis

[clang] [RISCV] Allow YAML file to control multilib selection (PR #98856)

2024-08-01 Thread Sam Elliott via cfe-commits
@@ -258,6 +259,13 @@ static void getARMMultilibFlags(const Driver &D, } } +static void getRISCVMultilibFlags(const Driver &D, const llvm::Triple &Triple, + const llvm::opt::ArgList &Args, + Multilib::flags_lis

[clang] [RISCV] Allow YAML file to control multilib selection (PR #98856)

2024-08-01 Thread Alex Bradbury via cfe-commits
asb wrote: CC @MaskRay and @petrhosek - might you be able to help review this, or nominate someone else who can? Thanks! https://github.com/llvm/llvm-project/pull/98856 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi

[clang] [RISCV] Allow YAML file to control multilib selection (PR #98856)

2024-07-31 Thread via cfe-commits
ArcaneNibble wrote: ping? https://github.com/llvm/llvm-project/pull/98856 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [RISCV] Allow YAML file to control multilib selection (PR #98856)

2024-07-22 Thread via cfe-commits
ArcaneNibble wrote: ping? also *boop* @MaskRay you are listed as the code owner for "Driver parts not covered by someone else" https://github.com/llvm/llvm-project/pull/98856 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.

[clang] [RISCV] Allow YAML file to control multilib selection (PR #98856)

2024-07-14 Thread via cfe-commits
ArcaneNibble wrote: CI fail appears spurious/unrelated ``` _bk;t=1721016690369Failed Tests (1): _bk;t=1721016690369 LLVM :: CodeGen/AMDGPU/fix-wwm-vgpr-copy.ll ``` https://github.com/llvm/llvm-project/pull/98856 ___ cfe-commits mailing list cfe-

[clang] [RISCV] Allow YAML file to control multilib selection (PR #98856)

2024-07-14 Thread via cfe-commits
llvmbot wrote: @llvm/pr-subscribers-clang @llvm/pr-subscribers-clang-driver Author: R (ArcaneNibble) Changes This changes the bare-metal driver logic such that it _always_ tries multilib.yaml if it exists, and it falls back to the hardwired/default RISC-V multilib selection only if a mul

[clang] [RISCV] Allow YAML file to control multilib selection (PR #98856)

2024-07-14 Thread via cfe-commits
https://github.com/ArcaneNibble created https://github.com/llvm/llvm-project/pull/98856 This changes the bare-metal driver logic such that it _always_ tries multilib.yaml if it exists, and it falls back to the hardwired/default RISC-V multilib selection only if a multilib.yaml doesn't exist. I