diff options
author | Vladimir Makarov <vmakarov@redhat.com> | 2010-02-10 20:52:31 +0000 |
---|---|---|
committer | Vladimir Makarov <vmakarov@gcc.gnu.org> | 2010-02-10 20:52:31 +0000 |
commit | 56592e03b487f3c20ef54bbd97766d207f77b31d (patch) | |
tree | 94dd7b04ab391024feb0e5653bf55cd4be433ce4 | |
parent | ab65a4c7bdf10e5465cbf47faae88af258dc2baa (diff) | |
download | gcc-56592e03b487f3c20ef54bbd97766d207f77b31d.zip gcc-56592e03b487f3c20ef54bbd97766d207f77b31d.tar.gz gcc-56592e03b487f3c20ef54bbd97766d207f77b31d.tar.bz2 |
ira-conflicts.c (add_insn_allocno_copies): Use find_reg_note instead of loop.
2010-02-10 Vladimir Makarov <vmakarov@redhat.com>
* ira-conflicts.c (add_insn_allocno_copies): Use find_reg_note
instead of loop.
From-SVN: r156670
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/ira-conflicts.c | 9 |
2 files changed, 9 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e080d10..0a9a4d7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2010-02-10 Vladimir Makarov <vmakarov@redhat.com> + + * ira-conflicts.c (add_insn_allocno_copies): Use find_reg_note + instead of loop. + 2010-02-10 Richard Guenther <rguenther@suse.de> PR tree-optimization/43017 diff --git a/gcc/ira-conflicts.c b/gcc/ira-conflicts.c index faa36ae..cbb3e17 100644 --- a/gcc/ira-conflicts.c +++ b/gcc/ira-conflicts.c @@ -447,7 +447,7 @@ process_reg_shuffles (rtx reg, int op_num, int freq, bool *bound_p) static void add_insn_allocno_copies (rtx insn) { - rtx set, operand, dup, link; + rtx set, operand, dup; const char *str; bool commut_p, bound_p[MAX_RECOG_OPERANDS]; int i, j, n, freq; @@ -466,10 +466,9 @@ add_insn_allocno_copies (rtx insn) process_regs_for_copy (SET_DEST (set), SET_SRC (set), false, insn, freq); return; } - for (link = REG_NOTES (insn); link; link = XEXP (link, 1)) - if (REG_NOTE_KIND (link) == REG_DEAD) - break; - if (! link) + /* Fast check of possibility of constraint or shuffle copies. If + there are no dead registers, there will be no such copies. */ + if (! find_reg_note (insn, REG_DEAD, NULL_RTX)) return; extract_insn (insn); for (i = 0; i < recog_data.n_operands; i++) |