2016-09-21 Richard Biener <rguenther@suse.de>
commit91207228ef2abdb0845e59251bb4cf341002c841
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 21 Sep 2016 07:38:33 +0000 (21 07:38 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 21 Sep 2016 07:38:33 +0000 (21 07:38 +0000)
tree36c2c41787ff92e38461f73aa58c90f4c18f8a37
parentf6aeb966b83e28f50e958b62d5675153a5d40658
2016-09-21  Richard Biener  <rguenther@suse.de>

PR tree-optimization/77648
* tree-ssa-structalias.c (process_constraint): Handle all DEREF
with complex RHS.
(make_transitive_closure_constraints): Adjust comment.
(make_any_offset_constraints): New function.
(handle_rhs_call): Make sure to first expand a pointer to all
subfields before transitively closing it.
(handle_const_call): Likewise.  Properly expand returned
pointers as well.
(handle_pure_call): Likewise.

* gcc.dg/torture/pr77648-1.c: New testcase.
* gcc.dg/torture/pr77648-2.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240303 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/torture/pr77648-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/torture/pr77648-2.c [new file with mode: 0644]
gcc/tree-ssa-structalias.c