On keeps_null_pointer_checks, relative to other targets, we see some NULLs in sets replaced with/merged into NONLOCAL.
Tested for avr with --target_board=atmega128-sim and native on i686-pc-linuc-gnu.
Ok to apply?
2013-08-14 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. Index: gcc.dg/ipa/ipa-pta-14.c =================================================================== --- gcc.dg/ipa/ipa-pta-14.c (revision 201835) +++ gcc.dg/ipa/ipa-pta-14.c (working copy) @@ -22,7 +22,7 @@ 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 } } } } */ ((struct X *)p)->p = (void *)0; if (a.p != (void *)0) abort (); Index: gcc.dg/tree-ssa/pta-escape-1.c =================================================================== --- gcc.dg/tree-ssa/pta-escape-1.c (revision 201835) +++ gcc.dg/tree-ssa/pta-escape-1.c (working copy) @@ -33,5 +33,5 @@ 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 { cleanup-tree-dump "alias" } } */ Index: gcc.dg/tree-ssa/pta-escape-2.c =================================================================== --- gcc.dg/tree-ssa/pta-escape-2.c (revision 201835) +++ gcc.dg/tree-ssa/pta-escape-2.c (working copy) @@ -34,5 +34,5 @@ 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 { cleanup-tree-dump "alias" } } */ Index: gcc.dg/tree-ssa/pta-escape-3.c =================================================================== --- gcc.dg/tree-ssa/pta-escape-3.c (revision 201835) +++ gcc.dg/tree-ssa/pta-escape-3.c (working copy) @@ -38,5 +38,5 @@ 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 { cleanup-tree-dump "alias" } } */