aboutsummaryrefslogtreecommitdiff
path: root/libgcc/libgcov-util.c
diff options
context:
space:
mode:
authorJim Wilson <jimw@sifive.com>2018-06-06 19:08:36 +0000
committerJim Wilson <wilson@gcc.gnu.org>2018-06-06 12:08:36 -0700
commitec74725ce3ed5c96783b76992940d99563c82a47 (patch)
tree655961162cdfc53ad9be35b0f98b4fa69610333d /libgcc/libgcov-util.c
parent1b58c736db9d28975f596f5175c9f9470723c166 (diff)
downloadgcc-ec74725ce3ed5c96783b76992940d99563c82a47.zip
gcc-ec74725ce3ed5c96783b76992940d99563c82a47.tar.gz
gcc-ec74725ce3ed5c96783b76992940d99563c82a47.tar.bz2
RISC-V: Add interrupt attribute modes.
gcc/ * config/riscv/riscv.c (enum riscv_privilege_levels): New. (struct machine_function): New field interrupt_mode. (riscv_handle_type_attribute): New function. Add forward declaration. (riscv_attribute_table) <interrupt>: Use riscv_handle_type_attribute. (riscv_expand_epilogue): Check interrupt_mode field. (riscv_set_current_function): Check interrupt attribute args and set interrupt_mode field. * config/riscv/riscv.md (UNSPECV_SRET, UNSPECV_URET): New. (riscv_sret, riscv_uret): New. * doc/extend.texi (RISC-V Function Attributes) <interrupt>: Document new arguments to interrupt attribute. gcc/testsuite/ * gcc.target/riscv/interrupt-5.c (sub3): Add new test. * gcc.target/riscv/interrupt-mmode.c: New. * gcc.target/riscv/interrupt-smode.c: New. * gcc.target/riscv/interrupt-umode.c: New. From-SVN: r261244
Diffstat (limited to 'libgcc/libgcov-util.c')
0 files changed, 0 insertions, 0 deletions