https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95018

--- Comment #2 from Thomas Koenig <tkoenig at gcc dot gnu.org> ---
Created attachment 48490
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48490&action=edit
-fdump-tree-optimized dumpj

Finally, the -fdump-tree-optimized dump.

Unrolling already appears to happen in the middle end, all the way up to 15
(which is not good).

The PHI nodes are also something to behold:

 <bb 41> [local count: 96219245]:
  # src_79 = PHI <src_268(36), src_251(34), src_285(38), src_74(14),
src_70(16), src_115(18), src_132(20), src_149(22), src_166(24), src_183(26),
src_200(28), src_217(30), src_234(32), src_62(40)>
  # count_I_lsm.31_531 = PHI <count_I_lsm.31_530(36), count_I_lsm.31_530(34),
count_I_lsm.31_530(38), count_I_lsm.31_530(14), count_I_lsm.31_530(16),
count_I_lsm.31_530(18), count_I_lsm.31_530(20), count_I_lsm.31_530(22),
count_I_lsm.31_530(24), count_I_lsm.31_530(26), count_I_lsm.31_530(28),
count_I_lsm.31_530(30), count_I_lsm.31_530(32), _21(40)>
  # count_I_lsm.33_537 = PHI <0(36), 0(34), 0(38), _98(14), 0(16), 0(18),
0(20), 0(22), 0(24), 0(26), 0(28), 0(30), 0(32), 0(40)>
  # count_I_lsm.35_543 = PHI <0(36), 0(34), 0(38), count_I_lsm.35_542(14),
_104(16), 0(18), 0(20), 0(22), 0(24), 0(26), 0(28), 0(30), 0(32), 0(40)>
  # count_I_lsm.37_549 = PHI <0(36), 0(34), 0(38), count_I_lsm.37_548(14),
count_I_lsm.37_548(16), _109(18), 0(20), 0(22), 0(24), 0(26), 0(28), 0(30),
0(32), 0(40)>
  # count_I_lsm.39_555 = PHI <0(36), 0(34), 0(38), count_I_lsm.39_554(14),
count_I_lsm.39_554(16), count_I_lsm.39_554(18), _126(20), 0(22), 0(24), 0(26),
0(28), 0(30), 0(32), 0(40)>
  # count_I_lsm.41_561 = PHI <0(36), 0(34), 0(38), count_I_lsm.41_560(14),
count_I_lsm.41_560(16), count_I_lsm.41_560(18), count_I_lsm.41_560(20),
_143(22), 0(24), 0(26), 0(28), 0(30), 0(32), 0(40)>
  # count_I_lsm.43_567 = PHI <0(36), 0(34), 0(38), count_I_lsm.43_566(14),
count_I_lsm.43_566(16), count_I_lsm.43_566(18), count_I_lsm.43_566(20),
count_I_lsm.43_566(22), _160(24), 0(26), 0(28), 0(30), 0(32), 0(40)>
  # count_I_lsm.45_573 = PHI <0(36), 0(34), 0(38), count_I_lsm.45_572(14),
count_I_lsm.45_572(16), count_I_lsm.45_572(18), count_I_lsm.45_572(20),
count_I_lsm.45_572(22), count_I_lsm.45_572(24), _177(26), 0(28), 0(30), 0(32),
0(40)>
  # count_I_lsm.47_579 = PHI <0(36), 0(34), 0(38), count_I_lsm.47_578(14),
count_I_lsm.47_578(16), count_I_lsm.47_578(18), count_I_lsm.47_578(20),
count_I_lsm.47_578(22), count_I_lsm.47_578(24), count_I_lsm.47_578(26),
_194(28), 0(30), 0(32), 0(40)>
  # count_I_lsm.49_585 = PHI <0(36), 0(34), 0(38), count_I_lsm.49_584(14),
count_I_lsm.49_584(16), count_I_lsm.49_584(18), count_I_lsm.49_584(20),
count_I_lsm.49_584(22), count_I_lsm.49_584(24), count_I_lsm.49_584(26),
count_I_lsm.49_584(28), _211(30), 0(32), 0(40)>
  # count_I_lsm.51_591 = PHI <0(36), 0(34), 0(38), count_I_lsm.51_590(14),
count_I_lsm.51_590(16), count_I_lsm.51_590(18), count_I_lsm.51_590(20),
count_I_lsm.51_590(22), count_I_lsm.51_590(24), count_I_lsm.51_590(26),
count_I_lsm.51_590(28), count_I_lsm.51_590(30), _228(32), 0(40)>
  # count_I_lsm.53_597 = PHI <0(36), _245(34), 0(38), count_I_lsm.53_596(14),
count_I_lsm.53_596(16), count_I_lsm.53_596(18), count_I_lsm.53_596(20),
count_I_lsm.53_596(22), count_I_lsm.53_596(24), count_I_lsm.53_596(26),
count_I_lsm.53_596(28), count_I_lsm.53_596(30), count_I_lsm.53_596(32), 0(40)>
  # count_I_lsm.55_603 = PHI <_262(36), count_I_lsm.55_602(34), 0(38),
count_I_lsm.55_602(14), count_I_lsm.55_602(16), count_I_lsm.55_602(18),
count_I_lsm.55_602(20), count_I_lsm.55_602(22), count_I_lsm.55_602(24),
count_I_lsm.55_602(26), count_I_lsm.55_602(28), count_I_lsm.55_602(30),
count_I_lsm.55_602(32), 0(40)>
  # count_I_lsm.57_609 = PHI <count_I_lsm.57_608(36), count_I_lsm.57_608(34),
_279(38), count_I_lsm.57_608(14), count_I_lsm.57_608(16),
count_I_lsm.57_608(18), count_I_lsm.57_608(20), count_I_lsm.57_608(22),
count_I_lsm.57_608(24), count_I_lsm.57_608(26), count_I_lsm.57_608(28),
count_I_lsm.57_608(30), count_I_lsm.57_608(32), 0(40)>

  <bb 42> [local count: 102536739]:
  # src_33 = PHI <src_79(41), src_57(12)>
  # count_I_lsm.8_29 = PHI <0(41), _15(12)>
  # count_I_lsm.31_532 = PHI <count_I_lsm.31_531(41), count_I_lsm.31_530(12)>
  # count_I_lsm.33_538 = PHI <count_I_lsm.33_537(41), count_I_lsm.33_536(12)>
  # count_I_lsm.35_544 = PHI <count_I_lsm.35_543(41), count_I_lsm.35_542(12)>
  # count_I_lsm.37_550 = PHI <count_I_lsm.37_549(41), count_I_lsm.37_548(12)>
  # count_I_lsm.39_556 = PHI <count_I_lsm.39_555(41), count_I_lsm.39_554(12)>
  # count_I_lsm.41_562 = PHI <count_I_lsm.41_561(41), count_I_lsm.41_560(12)>
  # count_I_lsm.43_568 = PHI <count_I_lsm.43_567(41), count_I_lsm.43_566(12)>
  # count_I_lsm.45_574 = PHI <count_I_lsm.45_573(41), count_I_lsm.45_572(12)>
  # count_I_lsm.47_580 = PHI <count_I_lsm.47_579(41), count_I_lsm.47_578(12)>
  # count_I_lsm.49_586 = PHI <count_I_lsm.49_585(41), count_I_lsm.49_584(12)>
  # count_I_lsm.51_592 = PHI <count_I_lsm.51_591(41), count_I_lsm.51_590(12)>
  # count_I_lsm.53_598 = PHI <count_I_lsm.53_597(41), count_I_lsm.53_596(12)>
  # count_I_lsm.55_604 = PHI <count_I_lsm.55_603(41), count_I_lsm.55_602(12)>
  # count_I_lsm.57_610 = PHI <count_I_lsm.57_609(41), count_I_lsm.57_608(12)>
  goto <bb 12>; [100.00%]

  <bb 43> [local count: 29043813]:
  # _35 = PHI <_63(3), destptr_52(39), destptr_52(10), destptr_52(13),
destptr_52(37), destptr_52(15), destptr_52(17), destptr_52(19), destptr_52(21),
destptr_52(23), destptr_52(25), destptr_52(27), destptr_52(29), destptr_52(31),
destptr_52(33), destptr_52(35), destptr_52(40)>

Reply via email to