------- Comment #5 from rguenth at gcc dot gnu dot org  2006-04-17 09:51 -------
Confirmed.  Number of iteration analysis concludes the loop

  ush_4 = label.23_3 + 510B;
  if (label.23_3 <= ush_4) goto <L6>; else goto <L2>;

<L6>:;

  # ush_16 = PHI <ush_10(3), ush_4(1)>;
  # csum_14 = PHI <csum_9(3), 0(1)>;
<L0>:;
  #   VUSE <label_12>;
  D.2866_8 = *ush_16;
  csum_9 = D.2866_8 ^ csum_14;
  ush_10 = ush_16 - 2B;
  if (label.23_3 <= ush_10) goto <L8>; else goto <L9>;

<L8>:;
  goto <bb 2> (<L0>);

runs once: (.t75.ivcanon)

  (set_nb_iterations_in_loop = 1B))
Loop 1 iterates 0B times.
Unrolled loop 1 completely.

and the loop is gone.  I guess its some signedness problem again:

(add_to_evolution
  (loop_nb = 1)
  (chrec_before = ush_4)
  (to_add = 2B)
  (res = {ush_4, +, -2B}_1))
  (evolution_function = {ush_4, +, -2B}_1))
(set_scalar_evolution
  (scalar = ush_16)
  (scalar_evolution = {ush_4, +, -2B}_1))
)
(analyze_scalar_evolution
  (loop_nb = 1)
  (scalar = 2B)
(get_scalar_evolution
  (scalar = 2B)
  (scalar_evolution = 2B))
)
(set_scalar_evolution
  (scalar = ush_10)
  (scalar_evolution = {ush_4 - 2B, +, -2B}_1))
)


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rguenth at gcc dot gnu dot
                   |                            |org, rakdver at gcc dot gnu
                   |                            |dot org
             Status|UNCONFIRMED                 |NEW
          Component|middle-end                  |tree-optimization
     Ever Confirmed|0                           |1
  GCC build triplet|sparc64-unknown-linux-gnu   |
   GCC host triplet|sparc64-unknown-linux-gnu   |
 GCC target triplet|sparc64-unknown-linux-gnu   |
           Keywords|                            |wrong-code
      Known to fail|                            |4.1.0
      Known to work|                            |4.0.3 4.2.0
   Last reconfirmed|0000-00-00 00:00:00         |2006-04-17 09:51:04
               date|                            |
            Summary|Sun disklabel checksum code |[4.1 Regression] Sun
                   |isn't being generated       |disklabel checksum code
                   |properly.                   |isn't being generated
                   |                            |properly.
   Target Milestone|---                         |4.1.1


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27176

Reply via email to