From 4e51a66939f46c0b060d7faa492897686586e779 Mon Sep 17 00:00:00 2001 From: vmakarov Date: Wed, 10 Feb 2010 20:52:31 +0000 Subject: [PATCH] 2010-02-10 Vladimir Makarov * ira-conflicts.c (add_insn_allocno_copies): Use find_reg_note instead of loop. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156670 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 5 +++++ gcc/ira-conflicts.c | 9 ++++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e080d10b4e8..0a9a4d764c9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2010-02-10 Vladimir Makarov + + * ira-conflicts.c (add_insn_allocno_copies): Use find_reg_note + instead of loop. + 2010-02-10 Richard Guenther PR tree-optimization/43017 diff --git a/gcc/ira-conflicts.c b/gcc/ira-conflicts.c index faa36ae1956..cbb3e17ebc0 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++) -- 2.11.0