From 65f3dedbd51ea84b4db65e481b0cfd81aa183437 Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Sun, 29 May 2011 17:40:05 +0000 Subject: emit-rtl.c (try_split): Use a loop to search for NOTE_INSN_CALL_ARG_LOCATIONs. gcc/ * emit-rtl.c (try_split): Use a loop to search for NOTE_INSN_CALL_ARG_LOCATIONs. gcc/testsuite/ From Ryan Mansfield * gcc.dg/pr48826.c: New test. From-SVN: r174401 --- gcc/emit-rtl.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'gcc/emit-rtl.c') diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index 988072b..f760a1b 100644 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -3494,16 +3494,15 @@ try_split (rtx pat, rtx trial, int last) we must move any following NOTE_INSN_CALL_ARG_LOCATION note so that it comes immediately after the new call. */ if (NEXT_INSN (insn)) - { - next = NEXT_INSN (trial); - if (next - && NOTE_P (next) - && NOTE_KIND (next) == NOTE_INSN_CALL_ARG_LOCATION) + for (next = NEXT_INSN (trial); + next && NOTE_P (next); + next = NEXT_INSN (next)) + if (NOTE_KIND (next) == NOTE_INSN_CALL_ARG_LOCATION) { remove_insn (next); add_insn_after (next, insn, NULL); + break; } - } } } -- cgit v1.1