[all-commits] [llvm/llvm-project] 9221f3: [RISCV] Support RISCV Atomics ABI attributes (#84597)
Paul Kirth via All-commits
all-commits at lists.llvm.org
Thu Apr 25 16:21:14 PDT 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 9221f3af8f832d990be986c05d964ad37e5a2356
https://github.com/llvm/llvm-project/commit/9221f3af8f832d990be986c05d964ad37e5a2356
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-04-25 (Thu, 25 Apr 2024)
Changed paths:
M lld/ELF/Arch/RISCV.cpp
M lld/test/ELF/riscv-attributes.s
M llvm/include/llvm/Support/RISCVAttributeParser.h
M llvm/include/llvm/Support/RISCVAttributes.h
M llvm/lib/Support/RISCVAttributeParser.cpp
M llvm/lib/Support/RISCVAttributes.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/MC/RISCV/attribute.s
M llvm/test/MC/RISCV/invalid-attribute.s
Log Message:
-----------
[RISCV] Support RISCV Atomics ABI attributes (#84597)
This patch adds support for the `atomic_abi` attribute, specifid in
https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/master/riscv-elf.adoc#tag_riscv_atomic_abi-14-uleb128version.
The atomics_abi tag merging is conducted as follows:
- UNKNOWN is safe to merge with all other values.
- A6C is compatible with A6S, and results in the A6C ABI.
- A6C is incompatible with A7, and results in an error.
- A6S and A7 are compatible, and merging results in the A7 ABI.
Note: the A7 is not yet supported in either LLVM or in any current
hardware,
and is therefore ommited from attribute generation in
RISCVTargetStreamer.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list