aboutsummaryrefslogtreecommitdiff
path: root/gcc/emit-rtl.c
diff options
context:
space:
mode:
authorDaniel Jacobowitz <drow@mvista.com>2004-01-17 22:14:17 +0000
committerDaniel Jacobowitz <drow@gcc.gnu.org>2004-01-17 22:14:17 +0000
commitdd3adcf8a12c0b9d478553fa84d64febf7c6fcdd (patch)
tree26fe26b671e75ed353a65429f329946b27e76929 /gcc/emit-rtl.c
parent589fe865e0e273a6694757ddd4bae1df884e6a6d (diff)
downloadgcc-dd3adcf8a12c0b9d478553fa84d64febf7c6fcdd.zip
gcc-dd3adcf8a12c0b9d478553fa84d64febf7c6fcdd.tar.gz
gcc-dd3adcf8a12c0b9d478553fa84d64febf7c6fcdd.tar.bz2
* rtl.h (emit_insn_before_sameloc, emit_jump_insn_before_sameloc)
(emit_call_insn_before_sameloc, emit_insn_after_sameloc) (emit_jump_insn_after_sameloc, emit_call_insn_after_sameloc): New macros. * reload1.c (emit_reload_insns): Use them. * emit-rtl.c (emit_insn_before_sameloc, emit_insn_after_sameloc) (emit_jump_insn_after_sameloc, emit_call_insn_after_sameloc): Check for NULL PATTERN. From-SVN: r76062
Diffstat (limited to 'gcc/emit-rtl.c')
-rw-r--r--gcc/emit-rtl.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index ddc84ee..a77b9d1 100644
--- a/gcc/emit-rtl.c
+++ b/gcc/emit-rtl.c
@@ -4383,6 +4383,9 @@ emit_insn_after_setloc (rtx pattern, rtx after, int loc)
{
rtx last = emit_insn_after (pattern, after);
+ if (pattern == NULL_RTX)
+ return last;
+
after = NEXT_INSN (after);
while (1)
{
@@ -4401,6 +4404,9 @@ emit_jump_insn_after_setloc (rtx pattern, rtx after, int loc)
{
rtx last = emit_jump_insn_after (pattern, after);
+ if (pattern == NULL_RTX)
+ return last;
+
after = NEXT_INSN (after);
while (1)
{
@@ -4419,6 +4425,9 @@ emit_call_insn_after_setloc (rtx pattern, rtx after, int loc)
{
rtx last = emit_call_insn_after (pattern, after);
+ if (pattern == NULL_RTX)
+ return last;
+
after = NEXT_INSN (after);
while (1)
{
@@ -4438,6 +4447,9 @@ emit_insn_before_setloc (rtx pattern, rtx before, int loc)
rtx first = PREV_INSN (before);
rtx last = emit_insn_before (pattern, before);
+ if (pattern == NULL_RTX)
+ return last;
+
first = NEXT_INSN (first);
while (1)
{