https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122476
Bug ID: 122476
Summary: single_imm_use has non-executable code after a return
in it
Product: gcc
Version: 16.0
Status: UNCONFIRMED
Keywords: internal-improvement
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: pinskia at gcc dot gnu.org
Target Milestone: ---
The code does:
```
/* If there aren't any uses whatsoever, we're done. */
if (ptr == ptr->next)
{
return_false:
*use_p = NULL_USE_OPERAND_P;
*stmt = NULL;
return false;
}
```
This was done by r0-95499-gb5b8b0ac643d31 it seems.
Before we would fill in use_p and stmt even when returning false. But after we
don't and also gave way to this dead code.