diff options
author | Vladimir Makarov <vmakarov@redhat.com> | 2008-09-04 23:35:03 +0000 |
---|---|---|
committer | Vladimir Makarov <vmakarov@gcc.gnu.org> | 2008-09-04 23:35:03 +0000 |
commit | 4cda38d57238e05ffe5797f2be95e8d8b5b22258 (patch) | |
tree | bdecaa024ed96b5a8c8718f2822578302345a9d7 /gcc/ira-conflicts.c | |
parent | 2f3b0d4ad6781d67bfc8d1f225916e596dc89419 (diff) | |
download | gcc-4cda38d57238e05ffe5797f2be95e8d8b5b22258.tar.gz |
ira-conflicts.c (process_regs_for_copy): Check insn to check that the cost is already taken into account in ira-costs.c
2008-09-04 Vladimir Makarov <vmakarov@redhat.com>
* ira-conflicts.c (process_regs_for_copy): Check insn to check
that the cost is already taken into account in ira-costs.c
* ira-int.h (ira_debug_copy, ira_debug_copies): New.
* ira-build.c (print_copy, print_copies, ira_debug_copy,
ira_debug_copies): New.
(ira_bulid): Call print_copies.
* doc/tm.texi (IRA_COVER_CLASSES): Fix the description.
From-SVN: r140014
Diffstat (limited to 'gcc/ira-conflicts.c')
-rw-r--r-- | gcc/ira-conflicts.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/ira-conflicts.c b/gcc/ira-conflicts.c index 97da7c563df..8b8c48582ea 100644 --- a/gcc/ira-conflicts.c +++ b/gcc/ira-conflicts.c @@ -371,8 +371,8 @@ process_regs_for_copy (rtx reg1, rtx reg2, rtx insn, int freq) cover_class = ALLOCNO_COVER_CLASS (a); if (! ira_class_subset_p[rclass][cover_class]) return false; - if (reg_class_size[rclass] <= (unsigned) CLASS_MAX_NREGS (rclass, mode) - && only_regs_p) + 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. */ return false; index = ira_class_hard_reg_index[cover_class][hard_regno]; |