aboutsummaryrefslogtreecommitdiff
path: root/gcc/reginfo.c
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2014-10-29 10:02:33 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2014-10-29 10:02:33 +0000
commitdab67d2ca2788745393a57b54ed59afb7585602c (patch)
treee56aeffa0453f1dfb0cde608a966d63b61550910 /gcc/reginfo.c
parentcbfb154838d2f68df51060a686524cdfb3148764 (diff)
downloadgcc-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.c10
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