diff options
author | Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | 2001-01-19 18:28:58 +0000 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 2001-01-19 13:28:58 -0500 |
commit | 7193d1dc3d0359e9f3257d3b75d5050fa73187b3 (patch) | |
tree | 086e54d82c89c2d5ce11a4c14e8e7c5454d17972 /gcc/sched-rgn.c | |
parent | 79b9ec0ddb066613d4bf6a64b12eb45ea8fdcd95 (diff) | |
download | gcc-7193d1dc3d0359e9f3257d3b75d5050fa73187b3.zip gcc-7193d1dc3d0359e9f3257d3b75d5050fa73187b3.tar.gz gcc-7193d1dc3d0359e9f3257d3b75d5050fa73187b3.tar.bz2 |
rtl.texi (SET, CLOBBER): Document PARALLEL as SET_DEST possibility.
* 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.
From-SVN: r39141
Diffstat (limited to 'gcc/sched-rgn.c')
-rw-r--r-- | gcc/sched-rgn.c | 24 |
1 files changed, 6 insertions, 18 deletions
diff --git a/gcc/sched-rgn.c b/gcc/sched-rgn.c index 71c4018b..41989cc 100644 --- a/gcc/sched-rgn.c +++ b/gcc/sched-rgn.c @@ -1396,20 +1396,14 @@ check_live_1 (src, x) || GET_CODE (reg) == STRICT_LOW_PART) reg = XEXP (reg, 0); - if (GET_CODE (reg) == PARALLEL && GET_MODE (reg) == BLKmode) + if (GET_CODE (reg) == PARALLEL) { register int i; for (i = XVECLEN (reg, 0) - 1; i >= 0; i--) - { - rtx dest = XVECEXP (reg, 0, i); - - if (GET_CODE (dest) == EXPR_LIST) - dest = XEXP (dest, 0); - - if (check_live_1 (src, dest)) + if (XEXP (XVECEXP (reg, 0, i), 0) != 0) + if (check_live_1 (src, XEXP (XVECEXP (reg, 0, i), 0))) return 1; - } return 0; } @@ -1482,19 +1476,13 @@ update_live_1 (src, x) || GET_CODE (reg) == STRICT_LOW_PART) reg = XEXP (reg, 0); - if (GET_CODE (reg) == PARALLEL && GET_MODE (reg) == BLKmode) + if (GET_CODE (reg) == PARALLEL) { register int i; for (i = XVECLEN (reg, 0) - 1; i >= 0; i--) - { - rtx dest = XVECEXP (reg, 0, i); - - if (GET_CODE (dest) == EXPR_LIST) - dest = XEXP (dest, 0); - - update_live_1 (src, dest); - } + if (XEXP (XVECEXP (reg, 0, i), 0) != 0) + update_live_1 (src, XEXP (XVECEXP (reg, 0, i), 0)); return; } |