[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