choose_hard_reg_mode previously took a boolean saying whether the mode needed to be call-preserved. This patch replaces it with an optional ABI pointer instead, so that the function can use that to test whether a value is call-saved. default_dwarf_frame_reg_mode uses eh_edge_abi because that's the ABI that matters for unwinding. Targets need to override the hook if they want something different. 2019-09-30 Richard Sandiford <richard.sandiford@arm.com> gcc/ * rtl.h (predefined_function_abi): Declare. (choose_hard_reg_mode): Take a pointer to a predefined_function_abi instead of a boolean call_save flag. * config/gcn/gcn.c (gcn_hard_regno_caller_save_mode): Update call accordingly. * config/i386/i386.h (HARD_REGNO_CALLER_SAVE_MODE): Likewise. * config/ia64/ia64.h (HARD_REGNO_CALLER_SAVE_MODE): Likewise. * config/mips/mips.c (mips_hard_regno_caller_save_mode): Likewise. * config/msp430/msp430.h (HARD_REGNO_CALLER_SAVE_MODE): Likewise. * config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Likewise. * config/sh/sh.c (sh_hard_regno_caller_save_mode): Likewise. * reginfo.c (init_reg_modes_target): Likewise. (choose_hard_reg_mode): Take a pointer to a predefined_function_abi instead of a boolean call_save flag. * targhooks.c: Include function-abi.h. (default_dwarf_frame_reg_mode): Update call to choose_hard_reg_mode, using eh_edge_abi to choose the mode. From-SVN: r276312
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| constraints.md | Loading commit data... | |
| div.md | Loading commit data... | |
| elf.h | Loading commit data... | |
| freebsd.h | Loading commit data... | |
| hpux-unix2003.h | Loading commit data... | |
| hpux.h | Loading commit data... | |
| ia64-c.c | Loading commit data... | |
| ia64-modes.def | Loading commit data... | |
| ia64-opts.h | Loading commit data... | |
| ia64-protos.h | Loading commit data... | |
| ia64.c | Loading commit data... | |
| ia64.h | Loading commit data... | |
| ia64.md | Loading commit data... | |
| ia64.opt | Loading commit data... | |
| ia64intrin.h | Loading commit data... | |
| ilp32.opt | Loading commit data... | |
| itanium2.md | Loading commit data... | |
| linux.h | Loading commit data... | |
| predicates.md | Loading commit data... | |
| sync.md | Loading commit data... | |
| sysv4.h | Loading commit data... | |
| t-hpux | Loading commit data... | |
| t-ia64 | Loading commit data... | |
| t-linux | Loading commit data... | |
| vect.md | Loading commit data... | |
| vms.h | Loading commit data... | |
| vms.opt | Loading commit data... |