aboutsummaryrefslogtreecommitdiff
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
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
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/emit-rtl.c10
2 files changed, 10 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b728b00..4c52d7f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2006-12-30 Jan Hubicka <jh@suse.cz>
+ Vladimir Yanovsky <volodyan@gmail.com>
+
+ * emit-rt.c (emit_copy_of_insn_after): Fix bug causing exponential
+ amount of copies of INSN_NOTEs list.
+
2006-12-29 Jan Hubicka <jh@suse.cz>
* cgraph.c (cgraph_exapnd_queue): Rename to...
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. */