aboutsummaryrefslogtreecommitdiff
path: root/gcc/sched-rgn.c
diff options
context:
space:
mode:
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>2001-01-19 18:28:58 +0000
committerRichard Kenner <kenner@gcc.gnu.org>2001-01-19 13:28:58 -0500
commit7193d1dc3d0359e9f3257d3b75d5050fa73187b3 (patch)
tree086e54d82c89c2d5ce11a4c14e8e7c5454d17972 /gcc/sched-rgn.c
parent79b9ec0ddb066613d4bf6a64b12eb45ea8fdcd95 (diff)
downloadgcc-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.c24
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;
}