diff options
author | Richard Sandiford <rdsandiford@googlemail.com> | 2011-05-29 17:40:05 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2011-05-29 17:40:05 +0000 |
commit | 65f3dedbd51ea84b4db65e481b0cfd81aa183437 (patch) | |
tree | fbeaf02efa3bfee2fcf860e47c2a245d85ca03a5 /gcc/emit-rtl.c | |
parent | 61e374ab766ee2ed03093656f04ca7e8228a3450 (diff) | |
download | gcc-65f3dedbd51ea84b4db65e481b0cfd81aa183437.zip gcc-65f3dedbd51ea84b4db65e481b0cfd81aa183437.tar.gz gcc-65f3dedbd51ea84b4db65e481b0cfd81aa183437.tar.bz2 |
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
Diffstat (limited to 'gcc/emit-rtl.c')
-rw-r--r-- | gcc/emit-rtl.c | 11 |
1 files changed, 5 insertions, 6 deletions
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; } - } } } |