[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