tree-ssa-alias.c (nonoverlapping_component_refs_p_1): Break out from ...; work also...
authorJan Hubicka <hubicka@ucw.cz>
Wed, 10 Jul 2019 06:08:29 +0000 (08:08 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Wed, 10 Jul 2019 06:08:29 +0000 (06:08 +0000)
commitcaa0705cb68fa63e5b2cce9d9fe3561f1ba23e58
treefa0af75280ee8a52e5ce9e60c8a4cbd9659f78d5
parent1d00272bf2d32c13e3d9d5a100b956074f1e0320
tree-ssa-alias.c (nonoverlapping_component_refs_p_1): Break out from ...; work also on duplicated types.

* tree-ssa-alias.c (nonoverlapping_component_refs_p_1): Break out
from ...; work also on duplicated types.
(nonoverlapping_component_refs_since_match): ... here
(ncr_type_uid): Break out from ...
(ncr_compar): ... here; look for TYPE_UID of canonical type if
available.
(nonoverlapping_component_refs_p): Use same_type_for_tbaa to match
the types and nonoverlapping_component_refs_p_1 to disambiguate.
* g++.dg/lto/alias-3_0.C: New file.
* g++.dg/lto/alias-3_1.c: New file.

From-SVN: r273322
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/lto/alias-3_0.C [new file with mode: 0644]
gcc/testsuite/g++.dg/lto/alias-3_1.c [new file with mode: 0644]
gcc/tree-ssa-alias.c