aboutsummaryrefslogtreecommitdiff
path: root/gcc/ira-conflicts.c
diff options
context:
space:
mode:
authorVladimir Makarov <vmakarov@redhat.com>2008-10-27 16:24:19 +0000
committerVladimir Makarov <vmakarov@gcc.gnu.org>2008-10-27 16:24:19 +0000
commitc0683a829001ee2630451cbdbb138fd89cfe0e5f (patch)
tree1730ad833e4ff685d5139cd97e10380194193470 /gcc/ira-conflicts.c
parent801f03e3d21a96f63249aa22c8716490e14b7c26 (diff)
downloadgcc-c0683a829001ee2630451cbdbb138fd89cfe0e5f.zip
gcc-c0683a829001ee2630451cbdbb138fd89cfe0e5f.tar.gz
gcc-c0683a829001ee2630451cbdbb138fd89cfe0e5f.tar.bz2
re PR middle-end/37813 (assert with IRA_COVER_CLASSES with singleton)
2008-10-27 Vladimir Makarov <vmakarov@redhat.com> PR middle-end/37813 * ira-conflicts.c (process_regs_for_copy): Remove class subset check. * ira-int.h (ira_hard_regno_cover_class): New. * ira-lives.c (mark_reg_live, mark_reg_dead, process_bb_node_lives): Use ira_hard_regno_cover_class. * ira.c (reg_class ira_hard_regno_cover_class): New global variable. (setup_hard_regno_cover_class): New function. (ira_init): Call setup_hard_regno_cover_class. * ira-costs.c (cost_class_nums): Add comment. (find_allocno_class_costs): Initiate cost_class_nums. (setup_allocno_cover_class_and_costs): Check cost_class_nums. From-SVN: r141384
Diffstat (limited to 'gcc/ira-conflicts.c')
-rw-r--r--gcc/ira-conflicts.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/gcc/ira-conflicts.c b/gcc/ira-conflicts.c
index e467a7c..9bdc3e7 100644
--- a/gcc/ira-conflicts.c
+++ b/gcc/ira-conflicts.c
@@ -374,8 +374,6 @@ process_regs_for_copy (rtx reg1, rtx reg2, rtx insn, int freq)
rclass = REGNO_REG_CLASS (allocno_preferenced_hard_regno);
mode = ALLOCNO_MODE (a);
cover_class = ALLOCNO_COVER_CLASS (a);
- if (! ira_class_subset_p[rclass][cover_class])
- return false;
if (only_regs_p && insn != NULL_RTX
&& reg_class_size[rclass] <= (unsigned) CLASS_MAX_NREGS (rclass, mode))
/* It is already taken into account in ira-costs.c. */