2018-01-10 Kito Cheng <kito.cheng@gmail.com> gcc/ * config/riscv/riscv-protos.h (riscv_output_return): New. * config/riscv/riscv.c (struct machine_function): New naked_p field. (riscv_attribute_table, riscv_output_return), (riscv_handle_fndecl_attribute, riscv_naked_function_p), (riscv_allocate_stack_slots_for_args, riscv_warn_func_return): New. (riscv_compute_frame_info): Only compute frame->mask if not a naked function. (riscv_expand_prologue): Add early return for naked function. (riscv_expand_epilogue): Likewise. (riscv_function_ok_for_sibcall): Return false for naked function. (riscv_set_current_function): New. (TARGET_SET_CURRENT_FUNCTION, TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS), (TARGET_ATTRIBUTE_TABLE, TARGET_WARN_FUNC_RETURN): New. * config/riscv/riscv.md (simple_return): Call riscv_output_return. * doc/extend.texi (RISC-V Function Attributes): New. Co-Authored-By: Jim Wilson <jimw@sifive.com> From-SVN: r256462
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
constraints.md | Loading commit data... | |
elf.h | Loading commit data... | |
generic.md | Loading commit data... | |
linux.h | Loading commit data... | |
multilib-generator | Loading commit data... | |
peephole.md | Loading commit data... | |
pic.md | Loading commit data... | |
predicates.md | Loading commit data... | |
riscv-builtins.c | Loading commit data... | |
riscv-c.c | Loading commit data... | |
riscv-ftypes.def | Loading commit data... | |
riscv-modes.def | Loading commit data... | |
riscv-opts.h | Loading commit data... | |
riscv-protos.h | Loading commit data... | |
riscv.c | Loading commit data... | |
riscv.h | Loading commit data... | |
riscv.md | Loading commit data... | |
riscv.opt | Loading commit data... | |
rtems.h | Loading commit data... | |
sync.md | Loading commit data... | |
t-elf-multilib | Loading commit data... | |
t-linux | Loading commit data... | |
t-linux-multilib | Loading commit data... | |
t-riscv | Loading commit data... |