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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|                            |2023-11-12
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |NEW

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Another testcase:
```
void h(unsigned long);
void
f (unsigned long i)
{
  if ((i & 7) != 6) __builtin_unreachable();
  if(i & 1)
    h(0);
}
```

Note LLVM is able to optimize both cases.

Note for the above testcase we get for the range:
  # RANGE [irange] long unsigned int [6, 18446744073709551614]


Notice how the value/mask is not there even though we should be able to get it
from the IR.

Reply via email to