aboutsummaryrefslogtreecommitdiff
path: root/gcc/emit-rtl.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2006-12-30 13:00:45 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2006-12-30 12:00:45 +0000
commit4b73962b7e164ed118806f9c70bc75a4799df467 (patch)
tree1273ff99b642dfa33cbab1abf528892c822e68fe /gcc/emit-rtl.c
parentf45e0ad1c79faefabb17a699052140687ee3bca2 (diff)
downloadgcc-4b73962b7e164ed118806f9c70bc75a4799df467.zip
gcc-4b73962b7e164ed118806f9c70bc75a4799df467.tar.gz
gcc-4b73962b7e164ed118806f9c70bc75a4799df467.tar.bz2
emit-rt.c (emit_copy_of_insn_after): Fix bug causing exponential amount of copies of INSN_NOTEs list.
* emit-rt.c (emit_copy_of_insn_after): Fix bug causing exponential amount of copies of INSN_NOTEs list. Co-Authored-By: Vladimir Yanovsky <volodyan@gmail.com> From-SVN: r120283
Diffstat (limited to 'gcc/emit-rtl.c')
-rw-r--r--gcc/emit-rtl.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index e63e138..517c1a3 100644
--- a/gcc/emit-rtl.c
+++ b/gcc/emit-rtl.c
@@ -5297,14 +5297,12 @@ emit_copy_of_insn_after (rtx insn, rtx after)
{
if (GET_CODE (link) == EXPR_LIST)
REG_NOTES (new)
- = copy_insn_1 (gen_rtx_EXPR_LIST (REG_NOTE_KIND (link),
- XEXP (link, 0),
- REG_NOTES (new)));
+ = gen_rtx_EXPR_LIST (REG_NOTE_KIND (link),
+ copy_insn_1 (XEXP (link, 0)), REG_NOTES (new));
else
REG_NOTES (new)
- = copy_insn_1 (gen_rtx_INSN_LIST (REG_NOTE_KIND (link),
- XEXP (link, 0),
- REG_NOTES (new)));
+ = gen_rtx_INSN_LIST (REG_NOTE_KIND (link),
+ copy_insn_1 (XEXP (link, 0)), REG_NOTES (new));
}
/* Fix the libcall sequences. */