diff options
author | Jeffrey A Law <law@cygnus.com> | 1999-02-05 14:38:32 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1999-02-05 07:38:32 -0700 |
commit | 5f3db57e5223051200369d2f799d49119ac24b32 (patch) | |
tree | 02c9bfa56c1e0180e91d432e214da935d14be972 /gcc | |
parent | d33c2956a4cce7a752b6326ea2f5ad5b2d12e259 (diff) | |
download | gcc-5f3db57e5223051200369d2f799d49119ac24b32.zip gcc-5f3db57e5223051200369d2f799d49119ac24b32.tar.gz gcc-5f3db57e5223051200369d2f799d49119ac24b32.tar.bz2 |
loop.c (strength_reduce): Clear not_every_iteration when passing the NOTE_INSN_LOOP_CONT note.
* loop.c (strength_reduce): Clear not_every_iteration when
passing the NOTE_INSN_LOOP_CONT note.
From-SVN: r25050
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/loop.c | 18 |
2 files changed, 17 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f503136..1fdb2f0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -9,6 +9,9 @@ Fri Feb 5 11:49:49 1999 Benjamin Kosnik <bkoz@loony.cygnus.com> Fri Feb 5 12:37:05 1999 Jeffrey A Law (law@cygnus.com) + * loop.c (strength_reduce): Clear not_every_iteration when + passing the NOTE_INSN_LOOP_CONT note. + * haifa-sched.c (add_dependence): Do not add a dependency on a note. @@ -3824,8 +3824,13 @@ strength_reduce (scan_start, end, loop_top, insn_count, { /* At the virtual top of a converted loop, insns are again known to be executed each iteration: logically, the loop begins here - even though the exit code has been duplicated. */ - if (NOTE_LINE_NUMBER (p) == NOTE_INSN_LOOP_VTOP && loop_depth == 0) + even though the exit code has been duplicated. + + Insns are also again known to be executed each iteration at + the LOOP_CONT note. */ + if ((NOTE_LINE_NUMBER (p) == NOTE_INSN_LOOP_VTOP + || NOTE_LINE_NUMBER (p) == NOTE_INSN_LOOP_CONT) + && loop_depth == 0) not_every_iteration = 0; else if (NOTE_LINE_NUMBER (p) == NOTE_INSN_LOOP_BEG) loop_depth++; @@ -4381,8 +4386,13 @@ strength_reduce (scan_start, end, loop_top, insn_count, { /* At the virtual top of a converted loop, insns are again known to be executed each iteration: logically, the loop begins here - even though the exit code has been duplicated. */ - if (NOTE_LINE_NUMBER (p) == NOTE_INSN_LOOP_VTOP && loop_depth == 0) + even though the exit code has been duplicated. + + Insns are also again known to be executed each iteration at + the LOOP_CONT note. */ + if ((NOTE_LINE_NUMBER (p) == NOTE_INSN_LOOP_VTOP + || NOTE_LINE_NUMBER (p) == NOTE_INSN_LOOP_CONT) + && loop_depth == 0) not_every_iteration = 0; else if (NOTE_LINE_NUMBER (p) == NOTE_INSN_LOOP_BEG) loop_depth++; |