diff options
author | Jim Wilson <wilson@cygnus.com> | 1998-09-04 10:37:49 +0000 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 1998-09-04 03:37:49 -0700 |
commit | 7940acc401ef788bf2e287bd77250a3a125c9e80 (patch) | |
tree | af75e1a9e5782299171f1dbfdbf70ba3d194326b /gcc | |
parent | f3b8847be03867b52159b27295b4c8f26d7e7b48 (diff) | |
download | gcc-7940acc401ef788bf2e287bd77250a3a125c9e80.zip gcc-7940acc401ef788bf2e287bd77250a3a125c9e80.tar.gz gcc-7940acc401ef788bf2e287bd77250a3a125c9e80.tar.bz2 |
Fix irix6 -g -O3 -funroll-all-loops bootstrap failure.
* loop.c (load_mems): Fix JUMP_LABEL field after for_each_rtx call.
From-SVN: r22232
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/loop.c | 13 |
2 files changed, 16 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f11cd17..1b93cfd 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +Fri Sep 4 10:37:07 1998 Jim Wilson <wilson@cygnus.com> + + * loop.c (load_mems): Fix JUMP_LABEL field after for_each_rtx call. + Fri Sep 4 02:01:05 1998 David S. Miller <davem@pierdol.cobaltmicro.com> * config/sparc/sparc.c (output_double_int): In all V9 symbolic @@ -8826,7 +8826,18 @@ load_mems (scan_start, end, loop_top, start) rr.r2 = label; for (p = start; p != end; p = NEXT_INSN (p)) - for_each_rtx (&p, replace_label, &rr); + { + for_each_rtx (&p, replace_label, &rr); + + /* If this is a JUMP_INSN, then we also need to fix the JUMP_LABEL + field. This is not handled by for_each_rtx because it doesn't + handle unprinted ('0') fields. We need to update JUMP_LABEL + because the immediately following unroll pass will use it. + replace_label would not work anyways, because that only handles + LABEL_REFs. */ + if (GET_CODE (p) == JUMP_INSN && JUMP_LABEL (p) == end_label) + JUMP_LABEL (p) = label; + } } } |