[Bug tree-optimization/64715] [5 Regression] __builtin_object_size (..., 1) fails to locate subobject
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Mar 24 12:35:00 GMT 2015
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64715
--- Comment #16 from Richard Biener <rguenth at gcc dot gnu.org> ---
Ok, so disabling the forwprop breaks testcases like gcc.dg/tree-ssa/alias-21.c:
<bb 2>:
*r_2(D) = 0;
_4 = r_2(D) + 4;
*_4 = 1;
_6 = *r_2(D);
return _6;
SCCVN isn't able to disambiguate *r_2(D) against *_4 because the alias
machinery doesn't look at SSA defintions. forwprop also handles things
like forwarding p + 4 into p->x.y.z or &p->x.y.z which we don't want to
disable either. We do have both the address we propagate (with a suggested
interface change to handle &xxx + CST without building a &MEM[]) and
the tree we propagate to. So we should be able to reject / recover
a pointer-plus in forward_propagate_addr_expr_1 as needed.
More information about the Gcc-bugs
mailing list