]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
loop.c (scan_loop): Call reg_in_basic_block_p before loop_reg_used_before_p.
authorMichael P. Hayes <michaelh@ongaonga.chch.cri.nz>
Fri, 12 Feb 1999 22:25:16 +0000 (22:25 +0000)
committerJeff Law <law@gcc.gnu.org>
Fri, 12 Feb 1999 22:25:16 +0000 (15:25 -0700)
        * loop.c (scan_loop): Call reg_in_basic_block_p before
        loop_reg_used_before_p.

From-SVN: r25172

gcc/ChangeLog
gcc/loop.c

index 17cbbf102acde653427b7df5a11873d1a452fea0..dd22723ca7b27de17b65e8ed47d646a00ddd141e 100644 (file)
@@ -1,3 +1,8 @@
+Fri Feb 12 23:20:54 1999  Michael P. Hayes  <michaelh@ongaonga.chch.cri.nz>
+
+       * loop.c (scan_loop): Call reg_in_basic_block_p before
+       loop_reg_used_before_p.
+
 Thu Feb 11 01:53:10 1999  Jeffrey A Law  (law@cygnus.com)
 
        Wed Nov 18 22:13:00 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
index 702711477715a5eb964c6e85393f93d1a033557b..097dccf046fe03524bb347ab4396a8449683697d 100644 (file)
@@ -790,10 +790,10 @@ scan_loop (loop_start, end, nregs, unroll_p)
             (1) it is used only in the same basic block as the set
             (2) the set is guaranteed to be executed once the loop starts,
                 and the reg is not used until after that.  */
-         else if (! ((! maybe_never
-                      && ! loop_reg_used_before_p (set, p, loop_start,
-                                                   scan_start, end))
-                     || reg_in_basic_block_p (p, SET_DEST (set))))
+         else if (! (reg_in_basic_block_p (p, SET_DEST (set)))
+                     || (! maybe_never
+                         && ! loop_reg_used_before_p (set, p, loop_start,
+                                                      scan_start, end)))
            ;
          else if ((tem = invariant_p (src))
                   && (dependencies == 0