[all-commits] [llvm/llvm-project] 111a22: [RISCV] Implement multi-lib reuse rule for RISC-V ...
Brandon Wu via All-commits
all-commits at lists.llvm.org
Sun Dec 17 23:52:29 PST 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 111a2290650743b27f70f9b24618411e54493b59
https://github.com/llvm/llvm-project/commit/111a2290650743b27f70f9b24618411e54493b59
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2023-12-18 (Mon, 18 Dec 2023)
Changed paths:
M clang/lib/Driver/ToolChains/Gnu.cpp
A clang/test/Driver/riscv-toolchain-gcc-multilib-reuse.c
Log Message:
-----------
[RISCV] Implement multi-lib reuse rule for RISC-V bare-metal toolchain (#73765)
Extend the multi-lib re-use selection mechanism for RISC-V.
This funciton will try to re-use multi-lib if they are compatible.
Definition of compatible:
- ABI must be the same.
- multi-lib is a subset of current arch, e.g. multi-lib=march=rv32im
is a subset of march=rv32imc.
- march that contains atomic extension can't reuse multi-lib that
doesn't has atomic, vice versa. e.g. multi-lib=march=rv32im and
march=rv32ima are not compatible, because software and hardware
atomic operation can't work together correctly.
More information about the All-commits
mailing list