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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
           Keywords|                            |ice-checking
            Summary|error during GIMPLE pass:   |[13 Regression] error
                   |unrolljam                   |during GIMPLE pass:
                   |                            |unrolljam
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2023-02-16
   Target Milestone|---                         |13.0

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Slightly better testcase:
```

int safe_mul_func_uint8_t_u_u_ui2, g_231, g_277_1, g_568,
func_35___trans_tmp_10;
int g_81[7];
extern int g_96[];
char func_35___trans_tmp_11;
static inline int safe_add_func_int32_t_s_s(int si1, int si2) { return si1 >
647 - si2 ?: si1; }
void func_35() {
  for (; g_277_1; g_277_1 += 1) {
    g_231 = 0;
    for (; g_231 <= 6; g_231 += 1) {
      func_35___trans_tmp_10 =
          safe_add_func_int32_t_s_s(g_81[g_231], g_568 || g_96[1]);
      func_35___trans_tmp_11 =
          func_35___trans_tmp_10 * safe_mul_func_uint8_t_u_u_ui2;
      g_81[g_231] = func_35___trans_tmp_11;
    }
  }
}
```

Confirmed:
  <bb 42> [local count: 47303694]:
  if (0 != 0)
    goto <bb 44>; [50.00%]
  else
    goto <bb 43>; [50.00%]

  <bb 43> [local count: 23651847]:
  _94 = _7 * prephitmp_71;

  <bb 44> [local count: 47303694]:
  _97 = (int) _94;

Obvious the cfgcleanup will remove the branch and it will become valid but I
have no idea if it is latent otherwise.

Reply via email to