On Fri, Sep 6, 2013 at 11:13 AM, Joern Rennecke
<joern.renne...@embecosm.com> wrote:
> Quoting Richard Biener <richard.guent...@gmail.com>:
>
>> I'd say rather than just disabling the scan for
>> keeps_null_pointer_checks you should add
>> appropriate scanning for those targets as well (I expect you just
>> don't see the 'NULL's in the points-to sets).
>
>
> Well, for gcc.dg/ipa/ipa-pta-14.c, which doesn't have NONLOCAL otherwise,
> you instead see NONLOCAL.

Yes.  On those targets NULL == NONLOCAL (0 is just another global address).

> Please find attached the amended patch.
>
> I have verified that this gets the new expected PASSes for atmega128-sim.

Ok.

Thanks,
Richard.

> 2013-09-06  Joern Rennecke  <joern.renne...@embecosm.com>
>
>         * gcc.dg/ipa/ipa-pta-14.c (scan-ipa-dump)
> [keeps_null_pointer_checks]:
>         Don't expect NULL in foo.result set.
>         * gcc.dg/tree-ssa/pta-escape-1.c (scan-tree-dump): Don't expect NULL
>         in ESCAPED set.
>         * gcc.dg/tree-ssa/pta-escape-2.c: Likewise.
>         * gcc.dg/tree-ssa/pta-escape-3.c: Likewise.
>
> diff --git a/gcc/testsuite/gcc.dg/ipa/ipa-pta-14.c
> b/gcc/testsuite/gcc.dg/ipa/ipa-pta-14.c
> index e8abc32..ed59cbf 100644
> --- a/gcc/testsuite/gcc.dg/ipa/ipa-pta-14.c
> +++ b/gcc/testsuite/gcc.dg/ipa/ipa-pta-14.c
> @@ -22,7 +22,8 @@ int main()
>    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\[^ \]* a\[^ \]* c\[^
> \]* }" "pta" { target { ! keeps_null_pointer_checks } } } } */
> +  /* { dg-final { scan-ipa-dump "foo.result = { NONLOCAL a\[^ \]* a\[^ \]*
> c\[^ \]* }" "pta" { target { keeps_null_pointer_checks } } } } */
>    ((struct X *)p)->p = (void *)0;
>    if (a.p != (void *)0)
>      abort ();
> diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pta-escape-1.c
> b/gcc/testsuite/gcc.dg/tree-ssa/pta-escape-1.c
> index a424417..dcfae5d 100644
> --- a/gcc/testsuite/gcc.dg/tree-ssa/pta-escape-1.c
> +++ b/gcc/testsuite/gcc.dg/tree-ssa/pta-escape-1.c
> @@ -33,5 +33,6 @@ int main()
>    return 0;
>  }
>
> -/* { dg-final { scan-tree-dump "ESCAPED = { NULL ESCAPED NONLOCAL x }"
> "alias" } } */
> +/* { dg-final { scan-tree-dump "ESCAPED = { NULL ESCAPED NONLOCAL x }"
> "alias" { target { ! keeps_null_pointer_checks } } } } */
> +/* { dg-final { scan-tree-dump "ESCAPED = { ESCAPED NONLOCAL x }" "alias" {
> target { keeps_null_pointer_checks } } } } */
>  /* { dg-final { cleanup-tree-dump "alias" } } */
> diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pta-escape-2.c
> b/gcc/testsuite/gcc.dg/tree-ssa/pta-escape-2.c
> index 8580382..e613959 100644
> --- a/gcc/testsuite/gcc.dg/tree-ssa/pta-escape-2.c
> +++ b/gcc/testsuite/gcc.dg/tree-ssa/pta-escape-2.c
> @@ -34,5 +34,6 @@ int main()
>    return 0;
>  }
>
> -/* { dg-final { scan-tree-dump "ESCAPED = { NULL ESCAPED NONLOCAL x }"
> "alias" } } */
> +/* { dg-final { scan-tree-dump "ESCAPED = { NULL ESCAPED NONLOCAL x }"
> "alias" { target { ! keeps_null_pointer_checks } } } } */
> +/* { dg-final { scan-tree-dump "ESCAPED = { ESCAPED NONLOCAL x }" "alias" {
> target { keeps_null_pointer_checks } } } } */
>  /* { dg-final { cleanup-tree-dump "alias" } } */
> diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pta-escape-3.c
> b/gcc/testsuite/gcc.dg/tree-ssa/pta-escape-3.c
> index 5a121a0..870dcf6 100644
> --- a/gcc/testsuite/gcc.dg/tree-ssa/pta-escape-3.c
> +++ b/gcc/testsuite/gcc.dg/tree-ssa/pta-escape-3.c
> @@ -38,5 +38,6 @@ int main()
>    return 0;
>  }
>
> -/* { dg-final { scan-tree-dump "ESCAPED = { NULL ESCAPED NONLOCAL x }"
> "alias" } } */
> +/* { dg-final { scan-tree-dump "ESCAPED = { NULL ESCAPED NONLOCAL x }"
> "alias" { target { ! keeps_null_pointer_checks } } } } */
> +/* { dg-final { scan-tree-dump "ESCAPED = { ESCAPED NONLOCAL x }" "alias" {
> target { keeps_null_pointer_checks } } } } */
>  /* { dg-final { cleanup-tree-dump "alias" } } */
>

Reply via email to