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/reginfo.c | |
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/reginfo.c')
-rw-r--r-- | gcc/reginfo.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/gcc/reginfo.c b/gcc/reginfo.c index 45af98a..1c18393 100644 --- a/gcc/reginfo.c +++ b/gcc/reginfo.c @@ -1333,14 +1333,10 @@ init_subregs_of_mode (void) find_subregs_of_mode (PATTERN (insn)); } -/* Return 1 if REGNO has had an invalid mode change in CLASS from FROM - mode. */ -bool -invalid_mode_change_p (unsigned int regno, enum reg_class rclass) +const HARD_REG_SET * +valid_mode_changes_for_regno (unsigned int regno) { - return (valid_mode_changes[regno] - && !hard_reg_set_intersect_p (reg_class_contents[rclass], - *valid_mode_changes[regno])); + return valid_mode_changes[regno]; } void |