summaryrefslogtreecommitdiff
path: root/gcc/sched-deps.c
diff options
context:
space:
mode:
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>2001-01-19 18:28:58 +0000
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>2001-01-19 18:28:58 +0000
commit4b3032277cf18539af47a51378bddd23f0bd9ded (patch)
tree086e54d82c89c2d5ce11a4c14e8e7c5454d17972 /gcc/sched-deps.c
parent9a504a44c5d30a9057d15fb7d292cc52b098a968 (diff)
downloadgcc-4b3032277cf18539af47a51378bddd23f0bd9ded.tar.gz
* rtl.texi (SET, CLOBBER): Document PARALLEL as SET_DEST possibility.
* flow.c (mark_set_1, case PARALLEL): Don't require BLKmode, allow element to be null, and always expect an EXPR_LIST. * rtlanal.c (reg_overlap_mentioned_p, note_stores): Likewise. * sched-deps.c (sched_analyze_1): Likewise. * sched-rgn.c (check_live_1, update_live_1): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@39141 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/sched-deps.c')
-rw-r--r--gcc/sched-deps.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/gcc/sched-deps.c b/gcc/sched-deps.c
index 9b566a0ec26..904b37e1d4c 100644
--- a/gcc/sched-deps.c
+++ b/gcc/sched-deps.c
@@ -551,19 +551,16 @@ sched_analyze_1 (deps, x, insn)
if (dest == 0)
return;
- if (GET_CODE (dest) == PARALLEL && GET_MODE (dest) == BLKmode)
+ if (GET_CODE (dest) == PARALLEL)
{
register int i;
for (i = XVECLEN (dest, 0) - 1; i >= 0; i--)
- {
- rtx reg = XVECEXP (dest, 0, i);
-
- if (GET_CODE (reg) == EXPR_LIST)
- reg = XEXP (reg, 0);
-
- sched_analyze_1 (deps, reg, insn);
- }
+ if (XEXP (XVECEXP (dest, 0, i), 0) != 0)
+ sched_analyze_1 (deps,
+ gen_rtx_CLOBBER (VOIDmode,
+ XEXP (XVECEXP (dest, 0, i), 0)),
+ insn);
if (GET_CODE (x) == SET)
sched_analyze_2 (deps, SET_SRC (x), insn);