aboutsummaryrefslogtreecommitdiff
path: root/libgcc/libgcov-util.c
diff options
context:
space:
mode:
authorJim Wilson <jimw@sifive.com>2018-06-04 23:44:43 +0000
committerJim Wilson <wilson@gcc.gnu.org>2018-06-04 16:44:43 -0700
commitfd1e52dc252b33f918891458774f784e96fdf47e (patch)
tree03263010be208d5849160a44dc4bb222b68e0daa /libgcc/libgcov-util.c
parent7f5a3982462c30aab676a3bf09ef4a62a30c7696 (diff)
downloadgcc-fd1e52dc252b33f918891458774f784e96fdf47e.zip
gcc-fd1e52dc252b33f918891458774f784e96fdf47e.tar.gz
gcc-fd1e52dc252b33f918891458774f784e96fdf47e.tar.bz2
RISC-V: Don't clobber retval when __builtin_eh_return called.
gcc/ * config/riscv/riscv-protos.h (riscv_expand_epilogue): Change bool arg to int. * config/riscv/riscv.c (riscv_for_each_saved_reg): New args epilogue and maybe_eh_return. Change regno to unsigned int. Use new args to handle EH_RETURN_DATA_REGNO registers properly. (riscv_expand_prologue): Pass new args to riscv_for_each_saved_reg. (riscv_expand_epilogue): Update comment. Change argument name and type. Update code to use new name and type. Pass new args to riscv_for_each_saved_reg. Only use EH_RETURN_STACKADJ_RTX when EXCEPTION_RETURN. * config/riscv/riscv.md (NORMAL_RETURN): New. (SIBCALL_RETURN, EXCEPTION_RETURN): New. (epilogue, sibcall_epilogue): Update riscv_expand_epilogue arg. (eh_return): Call gen_eh_return_internal and emit barrier. (eh_return_internal): Call riscv_expand_epilogue. From-SVN: r261176
Diffstat (limited to 'libgcc/libgcov-util.c')
0 files changed, 0 insertions, 0 deletions