[all-commits] [llvm/llvm-project] 379d32: Recommit [RISCV] Implement multi-lib reuse rule fo...
Brandon Wu via All-commits
all-commits at lists.llvm.org
Tue Dec 19 22:42:24 PST 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 379d32dab812731dc8883eff48477fd5cc7c8a17
https://github.com/llvm/llvm-project/commit/379d32dab812731dc8883eff48477fd5cc7c8a17
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2023-12-20 (Wed, 20 Dec 2023)
Changed paths:
M clang/lib/Driver/ToolChains/Gnu.cpp
A clang/test/Driver/riscv-toolchain-gcc-multilib-reuse.c
Log Message:
-----------
Recommit [RISCV] Implement multi-lib reuse rule for RISC-V bare-metal toolchain (#73765) (#75890)
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