[Bug middle-end/85563] [8/9 regression] -Wmaybe-uninitialized false alarm regression with __builtin_unreachable and GCC 8
jakub at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Apr 12 13:10:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85563
--- Comment #15 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
(In reply to Marc Glisse from comment #12)
> > Canonical example would be if (int_arg + 32U <= 64U) __builtin_unreachable
> > (),
>
> We don't quite seem to put a range on int_arg with this. We have one
> temporarily, and deduce ranges for things computed based on int_arg, but I
> don't see one on int_arg itself after the pass.
I certainly do see that.
Try -O2 -fdump-tree-all-alias:
int
foo (int int_arg)
{
if (int_arg + 32U <= 64U) __builtin_unreachable ();
return int_arg;
}
Already in the evrp pass there is:
# RANGE ~[-32, 32]
int int_arg_3(D) = int_arg;
More information about the Gcc-bugs
mailing list