[Bug ipa/86132] Failure to elide condition known to be non-null
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Jun 14 08:18:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86132
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |missed-optimization
Status|UNCONFIRMED |NEW
Last reconfirmed| |2018-06-14
CC| |hubicka at gcc dot gnu.org,
| |marxin at gcc dot gnu.org,
| |rguenth at gcc dot gnu.org
Component|middle-end |ipa
Ever confirmed|0 |1
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
I see calls to want_foo () which can clobber 'object':
<bb 3> [local count: 187153200]:
_8 = single_slow ();
object = _8;
<bb 4> [local count: 1073741824]:
# prephitmp_16 = PHI <_8(3), object.1_7(2)>
want_foo (prephitmp_16);
object.1_4 = object;
if (object.1_4 == 0B)
goto <bb 5>; [17.43%]
else
goto <bb 6>; [82.57%]
that's the first issue we hit. Then I would expect jump threading to
eventually optimize this. I'm not sure returns_nonnull is handled
in the required places in optimizers though.
I'm not sure why IPA reference doesn't do its job here, it seems to be
confused by inlining?
More information about the Gcc-bugs
mailing list