aboutsummaryrefslogtreecommitdiff
path: root/libphobos/src
diff options
context:
space:
mode:
authorMonk Chiang <monk.chiang@sifive.com>2024-03-22 21:00:24 +0800
committerMonk Chiang <monk.chiang@sifive.com>2025-01-17 10:50:17 +0800
commit805a052d0083e8e76c720fd7ac52cb3ccc36c310 (patch)
treeac713e827634e9710f44c4528a798ddb9fd8aa9b /libphobos/src
parentdc76aa0e4d5398104b6b26f08b46524b97de5100 (diff)
downloadgcc-805a052d0083e8e76c720fd7ac52cb3ccc36c310.zip
gcc-805a052d0083e8e76c720fd7ac52cb3ccc36c310.tar.gz
gcc-805a052d0083e8e76c720fd7ac52cb3ccc36c310.tar.bz2
RISC-V: Add Zicfilp ISA extension.
This patch only support landing pad value is 0. The next version will implement function signature based labeling scheme. RISC-V CFI SPEC: https://github.com/riscv/riscv-cfi gcc/ChangeLog: * common/config/riscv/riscv-common.cc: Add ZICFILP ISA string. * config.gcc: Add riscv-zicfilp.o * config/riscv/riscv-passes.def (INSERT_PASS_BEFORE): Insert landing pad instructions. * config/riscv/riscv-protos.h (make_pass_insert_landing_pad): Declare. * config/riscv/riscv-zicfilp.cc: New file. * config/riscv/riscv.cc (riscv_trampoline_init): Add landing pad instructions. (riscv_legitimize_call_address): Likewise. (riscv_output_mi_thunk): Likewise. * config/riscv/riscv.h: Update. * config/riscv/riscv.md: Add landing pad patterns. * config/riscv/riscv.opt (TARGET_ZICFILP): Define. * config/riscv/t-riscv: Add build rule for riscv-zicfilp.o gcc/testsuite/ChangeLog: * gcc.target/riscv/interrupt-no-lpad.c: New test. * gcc.target/riscv/zicfilp-call.c: New test. Co-Developed-by: Greg McGary <gkm@rivosinc.com>, Kito Cheng <kito.cheng@gmail.com>
Diffstat (limited to 'libphobos/src')
0 files changed, 0 insertions, 0 deletions