From 653d0639db9f426c9cc72bdb620d2d06055af72e Mon Sep 17 00:00:00 2001 From: rguenth Date: Tue, 20 Apr 2010 12:39:45 +0000 Subject: [PATCH 1/1] 2010-04-20 Richard Guenther * tree-ssa-structalias.c (do_structure_copy): Properly handle DEREF. (dump_sa_points_to_info): Remove asserts. (init_base_vars): nothing_id isn't an escape point nor does it have pointers. * gcc.dg/ipa/ipa-pta-14.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158553 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 8 ++++++++ gcc/testsuite/ChangeLog | 4 ++++ gcc/testsuite/gcc.dg/ipa/ipa-pta-14.c | 4 ++-- gcc/tree-ssa-structalias.c | 8 +------- 4 files changed, 15 insertions(+), 9 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6d2b760137b..9d17c22cf39 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2010-04-20 Richard Guenther + + * tree-ssa-structalias.c (do_structure_copy): Properly handle + DEREF. + (dump_sa_points_to_info): Remove asserts. + (init_base_vars): nothing_id isn't an escape point nor does it + have pointers. + 2010-04-20 Jakub Jelinek * tree.h (TYPE_REF_IS_RVALUE): Define. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index c41a3278c75..6f60e796170 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2010-04-20 Richard Guenther + + * gcc.dg/ipa/ipa-pta-14.c: New testcase. + 2010-04-20 Jakub Jelinek * g++.dg/debug/dwarf2/rv1.C: New test. diff --git a/gcc/testsuite/gcc.dg/ipa/ipa-pta-14.c b/gcc/testsuite/gcc.dg/ipa/ipa-pta-14.c index 074f44a6d68..ffe16ccc358 100644 --- a/gcc/testsuite/gcc.dg/ipa/ipa-pta-14.c +++ b/gcc/testsuite/gcc.dg/ipa/ipa-pta-14.c @@ -21,8 +21,8 @@ int main() void *p; a.p = (void *)&c; p = foo(&a, &a); - /* { dg-final { scan-ipa-dump "foo.result = { NULL a\[^ \]* c\[^ \]* }" "pta" { xfail *-*-* } } } */ - /* { dg-final { scan-ipa-dump "foo.result = { NULL a\[^ \]* a\[^ \]* c\[^ \]* }" "pta" } } */ + /* { dg-final { scan-ipa-dump "foo.result = { NULL a c }" "pta" { xfail *-*-* } } } */ + /* { dg-final { scan-ipa-dump "foo.result = { NULL a a\[^ \]* c }" "pta" } } */ ((struct X *)p)->p = (void *)0; if (a.p != (void *)0) abort (); diff --git a/gcc/tree-ssa-structalias.c b/gcc/tree-ssa-structalias.c index c11d3b8f657..f9adb6b9760 100644 --- a/gcc/tree-ssa-structalias.c +++ b/gcc/tree-ssa-structalias.c @@ -6094,13 +6094,7 @@ dump_sa_points_to_info (FILE *outfile) { varinfo_t vi = get_varinfo (i); if (!vi->may_have_pointers) - { - gcc_assert (find (i) == i - || !(vi = get_varinfo (find (i)))->may_have_pointers); - /* ??? See create_variable_info_for. - gcc_assert (bitmap_empty_p (vi->solution)); */ - continue; - } + continue; dump_solution_for_var (outfile, i); } } -- 2.11.0