aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJim Wilson <wilson@gcc.gnu.org>1994-07-18 18:58:06 -0700
committerJim Wilson <wilson@gcc.gnu.org>1994-07-18 18:58:06 -0700
commit8c4f5c09f073aa9cf6991212446510634c4fba16 (patch)
tree64e3f13959979380a916d0b980f961018a8622df /gcc
parent98068ba2d74c5bc65dd48973cc6dfd727ffeeef3 (diff)
downloadgcc-8c4f5c09f073aa9cf6991212446510634c4fba16.zip
gcc-8c4f5c09f073aa9cf6991212446510634c4fba16.tar.gz
gcc-8c4f5c09f073aa9cf6991212446510634c4fba16.tar.bz2
(move_movables): Aviod lossage when CALL_INSN_FUNCTION_USAGE
is NULL. From-SVN: r7777
Diffstat (limited to 'gcc')
-rw-r--r--gcc/loop.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/gcc/loop.c b/gcc/loop.c
index c6caefe..32f3924 100644
--- a/gcc/loop.c
+++ b/gcc/loop.c
@@ -1791,8 +1791,9 @@ move_movables (movables, threshold, insn_count, loop_start, end, nregs)
/* Because the USAGE information potentially
contains objects other than hard registers
we need to copy it. */
- CALL_INSN_FUNCTION_USAGE (i1) =
- copy_rtx (CALL_INSN_FUNCTION_USAGE (temp));
+ if (CALL_INSN_FUNCTION_USAGE (temp))
+ CALL_INSN_FUNCTION_USAGE (i1) =
+ copy_rtx (CALL_INSN_FUNCTION_USAGE (temp));
}
else
i1 = emit_insn_before (body, loop_start);
@@ -1834,8 +1835,9 @@ move_movables (movables, threshold, insn_count, loop_start, end, nregs)
/* Because the USAGE information potentially
contains objects other than hard registers
we need to copy it. */
- CALL_INSN_FUNCTION_USAGE (i1) =
- copy_rtx (CALL_INSN_FUNCTION_USAGE (p));
+ if (CALL_INSN_FUNCTION_USAGE (p))
+ CALL_INSN_FUNCTION_USAGE (i1) =
+ copy_rtx (CALL_INSN_FUNCTION_USAGE (p));
}
else
i1 = emit_insn_before (PATTERN (p), loop_start);