From c74459ea75f62cc61617913f741903aac50198eb Mon Sep 17 00:00:00 2001 From: Martin Liska Date: Thu, 16 Oct 2014 10:51:55 +0000 Subject: [PATCH] IPA ICF, part 4/5 * c-c++-common/rotate-1.c: Options changed to not collide with a new IPA ICF pass. * c-c++-common/rotate-2.c: Likewise. * c-c++-common/rotate-3.c: Likewise. * c-c++-common/rotate-4.c: Likewise. * g++.dg/cpp0x/rv-return.C: Likewise. * g++.dg/cpp0x/rv1n.C: Likewise. * g++.dg/cpp0x/rv1p.C: Likewise. * g++.dg/cpp0x/rv2n.C: Likewise. * g++.dg/cpp0x/rv3n.C: Likewise. * g++.dg/cpp0x/rv4n.C: Likewise. * g++.dg/cpp0x/rv5n.C: Likewise. * g++.dg/cpp0x/rv6n.C: Likewise. * g++.dg/cpp0x/rv7n.C: Likewise. * g++.dg/ipa/devirt-g-1.C: Likewise. * g++.dg/ipa/inline-1.C: Likewise. * g++.dg/ipa/inline-2.C: Likewise. * g++.dg/ipa/inline-3.C: Likewise. * g++.dg/opt/pr30965.C: Likewise. * g++.dg/tree-ssa/pr19637.C: Likewise. * gcc.dg/guality/csttest.c: Likewise. * gcc.dg/ipa/iinline-4.c (struct S): Likewise. * gcc.dg/ipa/iinline-7.c: Likewise. * gcc.dg/ipa/ipa-pta-13.c: Likewise. * gcc.dg/ipa/ipacost-1.c: Likewise. * gcc.dg/ipa/ipacost-2.c: Likewise. * gcc.dg/ipa/ipcp-agg-6.c: Likewise. * gcc.dg/ipa/remref-2a.c: Likewise. * gcc.dg/ipa/remref-2b.c: Likewise. * gcc.dg/pr46309-2.c: Likewise. * gcc.dg/torture/ipa-pta-1.c: Likewise. * gcc.dg/tree-ssa/andor-3.c (int f): Likewise. * gcc.dg/tree-ssa/andor-4.c: Likewise. * gcc.dg/tree-ssa/andor-5.c: Likewise. * gcc.dg/vect/no-vfa-pr29145.c: Likewise. * gcc.dg/vect/vect-cond-10.c: Likewise. * gcc.dg/vect/vect-cond-9.c: Likewise. * gcc.dg/vect/vect-widen-mult-const-s16.c: Likewise. * gcc.dg/vect/vect-widen-mult-const-u16.c: Likewise. * gcc.dg/vect/vect-widen-mult-half-u8.c: Likewise. * gcc.target/i386/bmi-1.c: Likewise. * gcc.target/i386/bmi-2.c: Likewise. * gcc.target/i386/pr56564-2.c: Likewise. From-SVN: r216306 --- gcc/testsuite/ChangeLog | 49 ++++++++++++++++++- gcc/testsuite/c-c++-common/rotate-1.c | 2 +- gcc/testsuite/c-c++-common/rotate-2.c | 2 +- gcc/testsuite/c-c++-common/rotate-3.c | 2 +- gcc/testsuite/c-c++-common/rotate-4.c | 2 +- gcc/testsuite/g++.dg/cpp0x/rv-return.C | 1 + gcc/testsuite/g++.dg/cpp0x/rv1n.C | 2 + gcc/testsuite/g++.dg/cpp0x/rv1p.C | 1 + gcc/testsuite/g++.dg/cpp0x/rv2n.C | 2 +- gcc/testsuite/g++.dg/cpp0x/rv3n.C | 2 +- gcc/testsuite/g++.dg/cpp0x/rv4n.C | 2 +- gcc/testsuite/g++.dg/cpp0x/rv5n.C | 2 +- gcc/testsuite/g++.dg/cpp0x/rv6n.C | 2 +- gcc/testsuite/g++.dg/cpp0x/rv7n.C | 2 +- gcc/testsuite/g++.dg/ipa/devirt-g-1.C | 2 +- gcc/testsuite/g++.dg/ipa/inline-1.C | 2 +- gcc/testsuite/g++.dg/ipa/inline-2.C | 2 +- gcc/testsuite/g++.dg/ipa/inline-3.C | 2 +- gcc/testsuite/g++.dg/opt/pr30965.C | 2 +- gcc/testsuite/g++.dg/tree-ssa/pr19637.C | 2 +- gcc/testsuite/gcc.dg/guality/csttest.c | 2 +- gcc/testsuite/gcc.dg/ipa/iinline-4.c | 2 +- gcc/testsuite/gcc.dg/ipa/iinline-7.c | 2 +- gcc/testsuite/gcc.dg/ipa/ipa-pta-13.c | 2 +- gcc/testsuite/gcc.dg/ipa/ipacost-1.c | 2 +- gcc/testsuite/gcc.dg/ipa/ipacost-2.c | 2 +- gcc/testsuite/gcc.dg/ipa/ipcp-agg-6.c | 2 +- gcc/testsuite/gcc.dg/ipa/remref-2a.c | 2 +- gcc/testsuite/gcc.dg/ipa/remref-2b.c | 2 +- gcc/testsuite/gcc.dg/pr46309-2.c | 2 +- gcc/testsuite/gcc.dg/torture/ipa-pta-1.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/andor-3.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/andor-4.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/andor-5.c | 2 +- gcc/testsuite/gcc.dg/vect/no-vfa-pr29145.c | 1 + gcc/testsuite/gcc.dg/vect/vect-cond-10.c | 1 + gcc/testsuite/gcc.dg/vect/vect-cond-9.c | 1 + .../gcc.dg/vect/vect-widen-mult-const-s16.c | 1 + .../gcc.dg/vect/vect-widen-mult-const-u16.c | 2 +- .../gcc.dg/vect/vect-widen-mult-half-u8.c | 1 + gcc/testsuite/gcc.target/i386/bmi-1.c | 2 +- gcc/testsuite/gcc.target/i386/bmi-2.c | 2 +- gcc/testsuite/gcc.target/i386/pr56564-2.c | 2 +- 43 files changed, 91 insertions(+), 35 deletions(-) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index e281e8c9bb9e..32e80803734d 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,4 +1,51 @@ -2014-10-16 Richard Biener +2014-10-16 Martin Liska + Jan Hubicka + + * c-c++-common/rotate-1.c: Options changed to not collide + with a new IPA ICF pass. + * c-c++-common/rotate-2.c: Likewise. + * c-c++-common/rotate-3.c: Likewise. + * c-c++-common/rotate-4.c: Likewise. + * g++.dg/cpp0x/rv-return.C: Likewise. + * g++.dg/cpp0x/rv1n.C: Likewise. + * g++.dg/cpp0x/rv1p.C: Likewise. + * g++.dg/cpp0x/rv2n.C: Likewise. + * g++.dg/cpp0x/rv3n.C: Likewise. + * g++.dg/cpp0x/rv4n.C: Likewise. + * g++.dg/cpp0x/rv5n.C: Likewise. + * g++.dg/cpp0x/rv6n.C: Likewise. + * g++.dg/cpp0x/rv7n.C: Likewise. + * g++.dg/ipa/devirt-g-1.C: Likewise. + * g++.dg/ipa/inline-1.C: Likewise. + * g++.dg/ipa/inline-2.C: Likewise. + * g++.dg/ipa/inline-3.C: Likewise. + * g++.dg/opt/pr30965.C: Likewise. + * g++.dg/tree-ssa/pr19637.C: Likewise. + * gcc.dg/guality/csttest.c: Likewise. + * gcc.dg/ipa/iinline-4.c (struct S): Likewise. + * gcc.dg/ipa/iinline-7.c: Likewise. + * gcc.dg/ipa/ipa-pta-13.c: Likewise. + * gcc.dg/ipa/ipacost-1.c: Likewise. + * gcc.dg/ipa/ipacost-2.c: Likewise. + * gcc.dg/ipa/ipcp-agg-6.c: Likewise. + * gcc.dg/ipa/remref-2a.c: Likewise. + * gcc.dg/ipa/remref-2b.c: Likewise. + * gcc.dg/pr46309-2.c: Likewise. + * gcc.dg/torture/ipa-pta-1.c: Likewise. + * gcc.dg/tree-ssa/andor-3.c (int f): Likewise. + * gcc.dg/tree-ssa/andor-4.c: Likewise. + * gcc.dg/tree-ssa/andor-5.c: Likewise. + * gcc.dg/vect/no-vfa-pr29145.c: Likewise. + * gcc.dg/vect/vect-cond-10.c: Likewise. + * gcc.dg/vect/vect-cond-9.c: Likewise. + * gcc.dg/vect/vect-widen-mult-const-s16.c: Likewise. + * gcc.dg/vect/vect-widen-mult-const-u16.c: Likewise. + * gcc.dg/vect/vect-widen-mult-half-u8.c: Likewise. + * gcc.target/i386/bmi-1.c: Likewise. + * gcc.target/i386/bmi-2.c: Likewise. + * gcc.target/i386/pr56564-2.c: Likewise. + +2014-10-16 Richard Biener i PR tree-optimization/63168 * gcc.dg/tree-ssa/loop-40.c: New testcase. diff --git a/gcc/testsuite/c-c++-common/rotate-1.c b/gcc/testsuite/c-c++-common/rotate-1.c index afdaa289a394..bca9dd8d1cc3 100644 --- a/gcc/testsuite/c-c++-common/rotate-1.c +++ b/gcc/testsuite/c-c++-common/rotate-1.c @@ -1,6 +1,6 @@ /* Check rotate pattern detection. */ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-optimized" } */ +/* { dg-options "-O2 -fno-ipa-icf -fdump-tree-optimized" } */ /* { dg-final { scan-tree-dump-times "r\[<>]\[<>]" 96 "optimized" } } */ /* { dg-final { cleanup-tree-dump "optimized" } } */ diff --git a/gcc/testsuite/c-c++-common/rotate-2.c b/gcc/testsuite/c-c++-common/rotate-2.c index 109fd32bc7d6..4ffa218e4af6 100644 --- a/gcc/testsuite/c-c++-common/rotate-2.c +++ b/gcc/testsuite/c-c++-common/rotate-2.c @@ -1,6 +1,6 @@ /* Check rotate pattern detection. */ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-optimized" } */ +/* { dg-options "-O2 -fno-ipa-icf -fdump-tree-optimized" } */ /* Rotates should be recognized only in functions with | instead of + or ^, or in functions that have constant shift counts (unused attribute on y). */ /* { dg-final { scan-tree-dump-times "r\[<>]\[<>]" 48 "optimized" } } */ diff --git a/gcc/testsuite/c-c++-common/rotate-3.c b/gcc/testsuite/c-c++-common/rotate-3.c index 8dc8313ee2a0..aaa9f507f851 100644 --- a/gcc/testsuite/c-c++-common/rotate-3.c +++ b/gcc/testsuite/c-c++-common/rotate-3.c @@ -1,6 +1,6 @@ /* Check rotate pattern detection. */ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-optimized" } */ +/* { dg-options "-O2 -fno-ipa-icf -fdump-tree-optimized" } */ /* { dg-final { scan-tree-dump-times "r\[<>]\[<>]" 96 "optimized" } } */ /* { dg-final { cleanup-tree-dump "optimized" } } */ diff --git a/gcc/testsuite/c-c++-common/rotate-4.c b/gcc/testsuite/c-c++-common/rotate-4.c index 2f433b33272c..0a21177ad94a 100644 --- a/gcc/testsuite/c-c++-common/rotate-4.c +++ b/gcc/testsuite/c-c++-common/rotate-4.c @@ -1,6 +1,6 @@ /* Check rotate pattern detection. */ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-optimized" } */ +/* { dg-options "-O2 -fno-ipa-icf -fdump-tree-optimized" } */ /* Rotates should be recognized only in functions with | instead of + or ^, or in functions that have constant shift counts (unused attribute on y). */ /* { dg-final { scan-tree-dump-times "r\[<>]\[<>]" 48 "optimized" } } */ diff --git a/gcc/testsuite/g++.dg/cpp0x/rv-return.C b/gcc/testsuite/g++.dg/cpp0x/rv-return.C index 12a15aa30c39..6d57209b5471 100644 --- a/gcc/testsuite/g++.dg/cpp0x/rv-return.C +++ b/gcc/testsuite/g++.dg/cpp0x/rv-return.C @@ -1,5 +1,6 @@ // PR c++/41815 // { dg-do compile { target c++11 } } +// { dg-options "-fno-ipa-icf" } template struct same_type; template struct same_type {}; diff --git a/gcc/testsuite/g++.dg/cpp0x/rv1n.C b/gcc/testsuite/g++.dg/cpp0x/rv1n.C index 204ca31a00d7..f5e756817582 100644 --- a/gcc/testsuite/g++.dg/cpp0x/rv1n.C +++ b/gcc/testsuite/g++.dg/cpp0x/rv1n.C @@ -1,8 +1,10 @@ // I, Howard Hinnant, hereby place this code in the public domain. +/* { dg-additional-options "-fno-ipa-icf" } */ // Test overload resolution among reference types // { dg-do compile { target c++11 } } +// { dg-additional-options "-fno-ipa-icf" } template struct sa; template <> struct sa {}; diff --git a/gcc/testsuite/g++.dg/cpp0x/rv1p.C b/gcc/testsuite/g++.dg/cpp0x/rv1p.C index e4c0ab16ddb9..e87ec0e91f76 100644 --- a/gcc/testsuite/g++.dg/cpp0x/rv1p.C +++ b/gcc/testsuite/g++.dg/cpp0x/rv1p.C @@ -4,6 +4,7 @@ // { dg-do compile { target c++11 } } // { dg-skip-if "packed attribute missing for struct one/three/five/seven" { "epiphany-*-*" } { "*" } { "" } } +// { dg-additional-options "-fno-ipa-icf" } template struct sa; template <> struct sa {}; diff --git a/gcc/testsuite/g++.dg/cpp0x/rv2n.C b/gcc/testsuite/g++.dg/cpp0x/rv2n.C index 9677f58982cf..663a66b6d909 100644 --- a/gcc/testsuite/g++.dg/cpp0x/rv2n.C +++ b/gcc/testsuite/g++.dg/cpp0x/rv2n.C @@ -3,7 +3,7 @@ // Test overload resolution among reference types // { dg-do compile { target c++11 } } -// { dg-options "" } +// { dg-options "-fno-ipa-icf" } template struct sa; template <> struct sa {}; diff --git a/gcc/testsuite/g++.dg/cpp0x/rv3n.C b/gcc/testsuite/g++.dg/cpp0x/rv3n.C index 8a1730b61ef0..b7c1d7a23433 100644 --- a/gcc/testsuite/g++.dg/cpp0x/rv3n.C +++ b/gcc/testsuite/g++.dg/cpp0x/rv3n.C @@ -3,7 +3,7 @@ // Test overload resolution among reference types // { dg-do compile { target c++11 } } -// { dg-options "" } +// { dg-options "-fno-ipa-icf" } template struct sa; template <> struct sa {}; diff --git a/gcc/testsuite/g++.dg/cpp0x/rv4n.C b/gcc/testsuite/g++.dg/cpp0x/rv4n.C index e64856de7012..29deb3fc81b3 100644 --- a/gcc/testsuite/g++.dg/cpp0x/rv4n.C +++ b/gcc/testsuite/g++.dg/cpp0x/rv4n.C @@ -3,7 +3,7 @@ // Test overload resolution among reference types // { dg-do compile { target c++11 } } -// { dg-options "" } +// { dg-options "-fno-ipa-icf" } template struct sa; template <> struct sa {}; diff --git a/gcc/testsuite/g++.dg/cpp0x/rv5n.C b/gcc/testsuite/g++.dg/cpp0x/rv5n.C index 90d541830637..f11d07a39218 100644 --- a/gcc/testsuite/g++.dg/cpp0x/rv5n.C +++ b/gcc/testsuite/g++.dg/cpp0x/rv5n.C @@ -3,7 +3,7 @@ // Test overload resolution among reference types // { dg-do compile { target c++11 } } -// { dg-options "" } +// { dg-options "-fno-ipa-icf" } template struct sa; template <> struct sa {}; diff --git a/gcc/testsuite/g++.dg/cpp0x/rv6n.C b/gcc/testsuite/g++.dg/cpp0x/rv6n.C index 5bd9a2302619..0ebbe33e1d1b 100644 --- a/gcc/testsuite/g++.dg/cpp0x/rv6n.C +++ b/gcc/testsuite/g++.dg/cpp0x/rv6n.C @@ -3,7 +3,7 @@ // Test overload resolution among reference types // { dg-do compile { target c++11 } } -// { dg-options "" } +// { dg-options "-fno-ipa-icf" } template struct sa; template <> struct sa {}; diff --git a/gcc/testsuite/g++.dg/cpp0x/rv7n.C b/gcc/testsuite/g++.dg/cpp0x/rv7n.C index 38ca7b8aff25..d9e371b8adb8 100644 --- a/gcc/testsuite/g++.dg/cpp0x/rv7n.C +++ b/gcc/testsuite/g++.dg/cpp0x/rv7n.C @@ -3,7 +3,7 @@ // Test overload resolution among reference types // { dg-do compile { target c++11 } } -// { dg-options "" } +// { dg-options "-fno-ipa-icf" } template struct sa; template <> struct sa {}; diff --git a/gcc/testsuite/g++.dg/ipa/devirt-g-1.C b/gcc/testsuite/g++.dg/ipa/devirt-g-1.C index 175f24efbbd7..1530fdbaa091 100644 --- a/gcc/testsuite/g++.dg/ipa/devirt-g-1.C +++ b/gcc/testsuite/g++.dg/ipa/devirt-g-1.C @@ -1,5 +1,5 @@ // { dg-do compile } -// { dg-options "-O2 -fdump-ipa-cp -fdump-tree-optimized" } +// { dg-options "-O2 -fdump-ipa-cp -fno-ipa-icf -fdump-tree-optimized" } struct S { S(); virtual void xyzzy(); void otherstuff(); }; struct R { int a; S s; R(); }; diff --git a/gcc/testsuite/g++.dg/ipa/inline-1.C b/gcc/testsuite/g++.dg/ipa/inline-1.C index dbbfb4e33bdd..3a6a04180566 100644 --- a/gcc/testsuite/g++.dg/ipa/inline-1.C +++ b/gcc/testsuite/g++.dg/ipa/inline-1.C @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-ipa-inline --param max-early-inliner-iterations=1" } */ +/* { dg-options "-O2 -fdump-ipa-inline -fno-ipa-icf --param max-early-inliner-iterations=1" } */ /* { dg-add-options bind_pic_locally } */ namespace std { diff --git a/gcc/testsuite/g++.dg/ipa/inline-2.C b/gcc/testsuite/g++.dg/ipa/inline-2.C index fd284a1e23dc..d1e46c083932 100644 --- a/gcc/testsuite/g++.dg/ipa/inline-2.C +++ b/gcc/testsuite/g++.dg/ipa/inline-2.C @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-ipa-inline --param max-early-inliner-iterations=1" } */ +/* { dg-options "-O2 -fdump-ipa-inline -fno-ipa-icf --param max-early-inliner-iterations=1" } */ /* { dg-add-options bind_pic_locally } */ namespace std { diff --git a/gcc/testsuite/g++.dg/ipa/inline-3.C b/gcc/testsuite/g++.dg/ipa/inline-3.C index 8d5f905cf4f4..7315bf5396e7 100644 --- a/gcc/testsuite/g++.dg/ipa/inline-3.C +++ b/gcc/testsuite/g++.dg/ipa/inline-3.C @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-ipa-inline --param max-early-inliner-iterations=1" } */ +/* { dg-options "-O2 -fdump-ipa-inline -fno-ipa-icf --param max-early-inliner-iterations=1" } */ /* { dg-add-options bind_pic_locally } */ #include diff --git a/gcc/testsuite/g++.dg/opt/pr30965.C b/gcc/testsuite/g++.dg/opt/pr30965.C index 91bb55c05d8b..45393fd6b5c6 100644 --- a/gcc/testsuite/g++.dg/opt/pr30965.C +++ b/gcc/testsuite/g++.dg/opt/pr30965.C @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O3 -fdump-tree-optimized" } */ +/* { dg-options "-O3 -fno-ipa-icf -fdump-tree-optimized" } */ #include #include diff --git a/gcc/testsuite/g++.dg/tree-ssa/pr19637.C b/gcc/testsuite/g++.dg/tree-ssa/pr19637.C index 2d1dcceba42f..92f673f9ea78 100644 --- a/gcc/testsuite/g++.dg/tree-ssa/pr19637.C +++ b/gcc/testsuite/g++.dg/tree-ssa/pr19637.C @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-dom1" } */ +/* { dg-options "-O2 -fno-ipa-icf -fdump-tree-dom1" } */ #include diff --git a/gcc/testsuite/gcc.dg/guality/csttest.c b/gcc/testsuite/gcc.dg/guality/csttest.c index 4480c715e35f..05e1ad7249c7 100644 --- a/gcc/testsuite/gcc.dg/guality/csttest.c +++ b/gcc/testsuite/gcc.dg/guality/csttest.c @@ -1,6 +1,6 @@ /* PR debug/49676 */ /* { dg-do run { target lp64 } } */ -/* { dg-options "-g" } */ +/* { dg-options "-g -fno-ipa-icf" } */ volatile int v; diff --git a/gcc/testsuite/gcc.dg/ipa/iinline-4.c b/gcc/testsuite/gcc.dg/ipa/iinline-4.c index 71faae2c97a2..3f295df7dd0e 100644 --- a/gcc/testsuite/gcc.dg/ipa/iinline-4.c +++ b/gcc/testsuite/gcc.dg/ipa/iinline-4.c @@ -1,7 +1,7 @@ /* Verify that simple indirect calls are inlined even without early inlining.. */ /* { dg-do compile } */ -/* { dg-options "-O3 -fdump-ipa-inline -fno-early-inlining" } */ +/* { dg-options "-O3 -fdump-ipa-inline -fno-early-inlining -fno-ipa-icf" } */ struct S { diff --git a/gcc/testsuite/gcc.dg/ipa/iinline-7.c b/gcc/testsuite/gcc.dg/ipa/iinline-7.c index c95d374d2489..61e8d0b958e2 100644 --- a/gcc/testsuite/gcc.dg/ipa/iinline-7.c +++ b/gcc/testsuite/gcc.dg/ipa/iinline-7.c @@ -1,7 +1,7 @@ /* Verify that simple indirect calls are inlined even without early inlining.. */ /* { dg-do run } */ -/* { dg-options "-O3 -fdump-ipa-inline -fno-early-inlining" } */ +/* { dg-options "-O3 -fdump-ipa-inline -fno-early-inlining -fno-ipa-icf" } */ extern void abort (void); diff --git a/gcc/testsuite/gcc.dg/ipa/ipa-pta-13.c b/gcc/testsuite/gcc.dg/ipa/ipa-pta-13.c index 0f46e984bce6..f7f95f4c64a5 100644 --- a/gcc/testsuite/gcc.dg/ipa/ipa-pta-13.c +++ b/gcc/testsuite/gcc.dg/ipa/ipa-pta-13.c @@ -1,5 +1,5 @@ /* { dg-do link } */ -/* { dg-options "-O2 -fipa-pta -fdump-ipa-pta-details -fdump-tree-fre2" } */ +/* { dg-options "-O2 -fipa-pta -fdump-ipa-pta-details -fdump-tree-fre2 -fno-ipa-icf" } */ static int x, y; diff --git a/gcc/testsuite/gcc.dg/ipa/ipacost-1.c b/gcc/testsuite/gcc.dg/ipa/ipacost-1.c index 70c635e6bba0..dc6b8f669836 100644 --- a/gcc/testsuite/gcc.dg/ipa/ipacost-1.c +++ b/gcc/testsuite/gcc.dg/ipa/ipacost-1.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-Os -fipa-cp -fdump-ipa-cp -fno-early-inlining -fdump-tree-optimized" } */ +/* { dg-options "-Os -fipa-cp -fdump-ipa-cp -fno-early-inlining -fdump-tree-optimized -fno-ipa-icf" } */ int array[100]; diff --git a/gcc/testsuite/gcc.dg/ipa/ipacost-2.c b/gcc/testsuite/gcc.dg/ipa/ipacost-2.c index 290d1254c2d9..49b75c05cf5f 100644 --- a/gcc/testsuite/gcc.dg/ipa/ipacost-2.c +++ b/gcc/testsuite/gcc.dg/ipa/ipacost-2.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O3 -fipa-cp -fipa-cp-clone -fdump-ipa-cp -fno-early-inlining -fdump-tree-optimized" } */ +/* { dg-options "-O3 -fipa-cp -fipa-cp-clone -fdump-ipa-cp -fno-early-inlining -fdump-tree-optimized -fno-ipa-icf" } */ /* { dg-add-options bind_pic_locally } */ int array[100]; diff --git a/gcc/testsuite/gcc.dg/ipa/ipcp-agg-6.c b/gcc/testsuite/gcc.dg/ipa/ipcp-agg-6.c index 050e13bf5026..5d6425b5d2f1 100644 --- a/gcc/testsuite/gcc.dg/ipa/ipcp-agg-6.c +++ b/gcc/testsuite/gcc.dg/ipa/ipcp-agg-6.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O3 -fno-ipa-sra -fdump-ipa-cp-details -fdump-tree-optimized-slim" } */ +/* { dg-options "-O3 -fno-ipa-sra -fdump-ipa-cp-details -fdump-tree-optimized-slim -fno-ipa-icf" } */ /* { dg-add-options bind_pic_locally } */ struct S diff --git a/gcc/testsuite/gcc.dg/ipa/remref-2a.c b/gcc/testsuite/gcc.dg/ipa/remref-2a.c index 1e0df2e84d2d..4697a18abc5b 100644 --- a/gcc/testsuite/gcc.dg/ipa/remref-2a.c +++ b/gcc/testsuite/gcc.dg/ipa/remref-2a.c @@ -1,7 +1,7 @@ /* Verify that indirect inlining can also remove references of the functions it discovers calls for. */ /* { dg-do compile } */ -/* { dg-options "-O3 -fno-early-inlining -fno-ipa-cp -fdump-ipa-inline -fdump-tree-optimized" } */ +/* { dg-options "-O3 -fno-early-inlining -fno-ipa-cp -fdump-ipa-inline -fdump-tree-optimized -fno-ipa-icf" } */ int global; diff --git a/gcc/testsuite/gcc.dg/ipa/remref-2b.c b/gcc/testsuite/gcc.dg/ipa/remref-2b.c index 554f306d2625..7799033d34e1 100644 --- a/gcc/testsuite/gcc.dg/ipa/remref-2b.c +++ b/gcc/testsuite/gcc.dg/ipa/remref-2b.c @@ -2,7 +2,7 @@ discovers calls for, even when nodes being inlined are virtual IPA-CP clones. */ /* { dg-do compile } */ -/* { dg-options "-O3 -fno-early-inlining -fdump-ipa-cp-details -fdump-ipa-inline -fdump-tree-optimized" } */ +/* { dg-options "-O3 -fno-early-inlining -fdump-ipa-cp-details -fdump-ipa-inline -fdump-tree-optimized -fno-ipa-icf" } */ int global; diff --git a/gcc/testsuite/gcc.dg/pr46309-2.c b/gcc/testsuite/gcc.dg/pr46309-2.c index f407e6607054..00ffee145596 100644 --- a/gcc/testsuite/gcc.dg/pr46309-2.c +++ b/gcc/testsuite/gcc.dg/pr46309-2.c @@ -1,6 +1,6 @@ /* PR tree-optimization/46309 */ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-reassoc-details" } */ +/* { dg-options "-O2 -fno-ipa-icf -fdump-tree-reassoc-details" } */ int foo (void); diff --git a/gcc/testsuite/gcc.dg/torture/ipa-pta-1.c b/gcc/testsuite/gcc.dg/torture/ipa-pta-1.c index aae987de32ac..80303a54eb6a 100644 --- a/gcc/testsuite/gcc.dg/torture/ipa-pta-1.c +++ b/gcc/testsuite/gcc.dg/torture/ipa-pta-1.c @@ -1,5 +1,5 @@ /* { dg-do compile { target { nonpic } } } */ -/* { dg-options "-fipa-pta -fdump-ipa-pta" } */ +/* { dg-options "-fipa-pta -fdump-ipa-pta -fno-ipa-icf" } */ /* { dg-skip-if "" { *-*-* } { "-O0" "-fno-fat-lto-objects" } { "" } } */ struct X { char x; char y; }; diff --git a/gcc/testsuite/gcc.dg/tree-ssa/andor-3.c b/gcc/testsuite/gcc.dg/tree-ssa/andor-3.c index a1401c0790bf..8b2f206a142f 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/andor-3.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/andor-3.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-optimized" } */ +/* { dg-options "-O2 -fno-ipa-icf -fdump-tree-optimized" } */ int f(int y, int x) { diff --git a/gcc/testsuite/gcc.dg/tree-ssa/andor-4.c b/gcc/testsuite/gcc.dg/tree-ssa/andor-4.c index 1dbdca7dfffb..46a482627604 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/andor-4.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/andor-4.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-optimized" } */ +/* { dg-options "-O2 -fno-ipa-icf -fdump-tree-optimized" } */ int f(int y, int x) { diff --git a/gcc/testsuite/gcc.dg/tree-ssa/andor-5.c b/gcc/testsuite/gcc.dg/tree-ssa/andor-5.c index 15097272a1d3..929851ca4f0d 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/andor-5.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/andor-5.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-optimized" } */ +/* { dg-options "-O2 -fno-ipa-icf -fdump-tree-optimized" } */ int f(int y, int x) { diff --git a/gcc/testsuite/gcc.dg/vect/no-vfa-pr29145.c b/gcc/testsuite/gcc.dg/vect/no-vfa-pr29145.c index e475ffff6385..5896271aba2e 100644 --- a/gcc/testsuite/gcc.dg/vect/no-vfa-pr29145.c +++ b/gcc/testsuite/gcc.dg/vect/no-vfa-pr29145.c @@ -1,4 +1,5 @@ /* { dg-require-effective-target vect_int } */ +/* { dg-additional-options "-fno-ipa-icf" } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-cond-10.c b/gcc/testsuite/gcc.dg/vect/vect-cond-10.c index 687d42f05915..da2eb05fc3b7 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-cond-10.c +++ b/gcc/testsuite/gcc.dg/vect/vect-cond-10.c @@ -1,4 +1,5 @@ /* { dg-require-effective-target vect_cond_mixed } */ +/* { dg-additional-options "-fno-ipa-icf" } */ #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-cond-9.c b/gcc/testsuite/gcc.dg/vect/vect-cond-9.c index cfa0363b2fe8..de88fc57f5b6 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-cond-9.c +++ b/gcc/testsuite/gcc.dg/vect/vect-cond-9.c @@ -1,4 +1,5 @@ /* { dg-require-effective-target vect_cond_mixed } */ +/* { dg-additional-options "-fno-ipa-icf" } */ #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-widen-mult-const-s16.c b/gcc/testsuite/gcc.dg/vect/vect-widen-mult-const-s16.c index a2fe9755abcd..895bbd0276d9 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-widen-mult-const-s16.c +++ b/gcc/testsuite/gcc.dg/vect/vect-widen-mult-const-s16.c @@ -1,4 +1,5 @@ /* { dg-require-effective-target vect_int } */ +/* { dg-additional-options "-fno-ipa-icf" } */ #include "tree-vect.h" #include diff --git a/gcc/testsuite/gcc.dg/vect/vect-widen-mult-const-u16.c b/gcc/testsuite/gcc.dg/vect/vect-widen-mult-const-u16.c index e712da964239..f69abfd0cb9f 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-widen-mult-const-u16.c +++ b/gcc/testsuite/gcc.dg/vect/vect-widen-mult-const-u16.c @@ -1,4 +1,5 @@ /* { dg-require-effective-target vect_int } */ +/* { dg-additional-options "-fno-ipa-icf" } */ #include "tree-vect.h" #include @@ -74,4 +75,3 @@ int main (void) /* { dg-final { scan-tree-dump-times "vect_recog_widen_mult_pattern: detected" 2 "vect" { target vect_widen_mult_hi_to_si_pattern } } } */ /* { dg-final { scan-tree-dump-times "pattern recognized" 2 "vect" { target vect_widen_mult_hi_to_si_pattern } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ - diff --git a/gcc/testsuite/gcc.dg/vect/vect-widen-mult-half-u8.c b/gcc/testsuite/gcc.dg/vect/vect-widen-mult-half-u8.c index 39078dfc4f3a..3f0758544ed9 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-widen-mult-half-u8.c +++ b/gcc/testsuite/gcc.dg/vect/vect-widen-mult-half-u8.c @@ -1,4 +1,5 @@ /* { dg-require-effective-target vect_int } */ +/* { dg-additional-options "-fno-ipa-icf" } */ #include "tree-vect.h" #include diff --git a/gcc/testsuite/gcc.target/i386/bmi-1.c b/gcc/testsuite/gcc.target/i386/bmi-1.c index c66a9d83b297..738705e29d8d 100644 --- a/gcc/testsuite/gcc.target/i386/bmi-1.c +++ b/gcc/testsuite/gcc.target/i386/bmi-1.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -mbmi " } */ +/* { dg-options "-O2 -fno-ipa-icf -mbmi " } */ /* { dg-final { scan-assembler "andn\[^\\n]*eax" } } */ /* { dg-final { scan-assembler-times "bextr\[ \\t]+\[^\\n]*eax" 2 } } */ /* { dg-final { scan-assembler-times "blsi\[^\\n]*eax" 2 } } */ diff --git a/gcc/testsuite/gcc.target/i386/bmi-2.c b/gcc/testsuite/gcc.target/i386/bmi-2.c index 6eea66aa0f67..25fb86bbf6b4 100644 --- a/gcc/testsuite/gcc.target/i386/bmi-2.c +++ b/gcc/testsuite/gcc.target/i386/bmi-2.c @@ -1,5 +1,5 @@ /* { dg-do compile { target { ! { ia32 } } } } */ -/* { dg-options "-O2 -mbmi " } */ +/* { dg-options "-O2 -fno-ipa-icf -mbmi " } */ /* { dg-final { scan-assembler "andn\[^\\n]*rax" } } */ /* { dg-final { scan-assembler-times "bextr\[ \\t]+\[^\\n]*rax" 2 } } */ /* { dg-final { scan-assembler-times "blsi\[^\\n]*rax" 2 } } */ diff --git a/gcc/testsuite/gcc.target/i386/pr56564-2.c b/gcc/testsuite/gcc.target/i386/pr56564-2.c index fc89a4ccafc6..c42bfae2860c 100644 --- a/gcc/testsuite/gcc.target/i386/pr56564-2.c +++ b/gcc/testsuite/gcc.target/i386/pr56564-2.c @@ -1,6 +1,6 @@ /* PR target/56564 */ /* { dg-do compile { target { *-*-linux* && lp64 } } } */ -/* { dg-options "-O3 -fno-pic -fdump-tree-optimized" } */ +/* { dg-options "-O3 -fno-pic -fno-ipa-icf -fdump-tree-optimized" } */ struct S { long a, b; } s = { 5, 6 }; char t[16] = { 7 }; -- 2.47.3