diff options
author | Richard Sandiford <richard.sandiford@arm.com> | 2014-10-29 10:02:33 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2014-10-29 10:02:33 +0000 |
commit | dab67d2ca2788745393a57b54ed59afb7585602c (patch) | |
tree | e56aeffa0453f1dfb0cde608a966d63b61550910 /gcc/rtl.h | |
parent | cbfb154838d2f68df51060a686524cdfb3148764 (diff) | |
download | gcc-dab67d2ca2788745393a57b54ed59afb7585602c.zip gcc-dab67d2ca2788745393a57b54ed59afb7585602c.tar.gz gcc-dab67d2ca2788745393a57b54ed59afb7585602c.tar.bz2 |
PR rtl-optimization/63340 (part 2)
gcc/
PR rtl-optimization/63340 (part 2)
* rtl.h (invalid_mode_change_p): Delete.
(valid_mode_changes_for_regno): New function.
* reginfo.c (invalid_mode_change_p): Delete.
(valid_mode_changes_for_regno): New function.
* ira-costs.c (setup_regno_cost_classes_by_aclass): Restrict the
classes to registers that are allowed by valid_mode_changes_for_regno.
(setup_regno_cost_classes_by_mode): Likewise.
(print_allocno_costs): Remove invalid_mode_change_p test.
(print_pseudo_costs, find_costs_and_classes): Likewise.
From-SVN: r216829
Diffstat (limited to 'gcc/rtl.h')
-rw-r--r-- | gcc/rtl.h | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -3468,7 +3468,9 @@ extern void init_reg_sets (void); extern void regclass (rtx, int); extern void reg_scan (rtx_insn *, unsigned int); extern void fix_register (const char *, int, int); -extern bool invalid_mode_change_p (unsigned int, enum reg_class); +#ifdef HARD_CONST +extern const HARD_REG_SET *valid_mode_changes_for_regno (unsigned int); +#endif /* In reload1.c */ extern int function_invariant_p (const_rtx); |