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

--- Comment #8 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to scott snyder from comment #7)> 
> This does not warn with gcc14, but does with gcc15, even with your
> proposed patch.

This looks like a different missed optimization:
```
  _30 = listJets.D.32199._M_impl._M_node.D.14392._M_next;
  if (&listJets.D.32199._M_impl._M_node.D.14392 == _30)
    goto <bb 19>; [5.50%]
  else
    goto <bb 9>; [94.50%]

  <bb 9> [local count: 118111600]:
  if (&MEM[(struct _List_node_header *)&listJets].D.14392 != _30)
    goto <bb 10>; [89.00%]
  else
    goto <bb 22>; [11.00%]

```

But `&MEM[(struct _List_node_header *)&listJets].D.14392` and
`&listJets.D.32199._M_impl._M_node.D.14392` are the same value.

Can you file this new testcase seperately? I will look more into it later
tonight/tomorrow to see why there is a missed optimization.

Reply via email to