http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60429
--- Comment #21 from Richard Biener <rguenth at gcc dot gnu.org> --- AFAIK I can understand the reduced testcase AET is never written to anything but the initial NULL pointers. Neither CerateETandAET nor loadAET do anything to the PolygonRegion local AET. I have a fix (bah, this function needs a LOT of TLC!) Index: gcc/tree-ssa-structalias.c =================================================================== --- gcc/tree-ssa-structalias.c (revision 208448) +++ gcc/tree-ssa-structalias.c (working copy) @@ -3218,7 +3218,12 @@ get_constraint_for_component_ref (tree t { cexpr.var = curr->id; results->safe_push (cexpr); - if (address_p) + /* If we take the address and the field starts exactly + at the desired position that was all we need to add. */ + if (address_p + && curr->offset == (unsigned HOST_WIDE_INT) bitpos + && bitmaxsize != -1 + && bitsize == bitmaxsize) break; } }