This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFA:] fix breakage with "Update testsuite to run with slim LTO"


> If running the gnat.dg testsuite, lib/gcc-dg.exp is now calling
> check_linker_plugin_available early, which ultimately calls
> ${tool}_target_compile.  For all languages but Ada,
> ${tool}_target_compile can compile .c files just fine, but
> gnat_target_compile (which uses gnatmake) cannot, so it falls back to
> directly calling gcc_target_compile in that case.  gcc_target_compile
> relies on GCC_UNDER_TEST being set, which in this case hasn't yet
> happened, thus the error.
> 
> My solution (a hack, actually) is to move the initialization of
> GCC_UNDER_TEST in gcc-dg.exp before the calls to
> check_linker_plugin_available.  x86_64-unknown-linux-gnu testing in
> progress, will commit once that's finished.

Oops, I was under impression that GNAT testsuite is not really using dejagnu
lib so I did not expected a change here.
Thanks for fixing that!

I also noticed that tests scanning output of late optimization passes are
now getting UNRESOLVED state with slim LTO.  We don't really lose coverage
here because we test fat LTO with the other compilation, but probably easiest
is to enfore fat LTO all the time.

Does the following seem resonable?

Honza

	* gcc.dg/torture/pta-ptrarith-1.c: Force fat LTO.
	* gcc.dg/torture/pta-ptrarith-2.c: Likewise.
	* gcc.dg/torture/pr23821.c: Likewise.
	* gcc.dg/torture/pta-ptrarith-3.c: Likewise.
	* gcc.dg/torture/pr45704.c: Likewise.
	* gcc.dg/torture/pr50472.c: Likewise.
	* gcc.dg/torture/ipa-pta-1.c: Likewise.
	* gcc.dg/torture/pta-callused-1.c: Likewise.
	* gcc.dg/torture/pr39074-2.c: Likewise.
	* gcc.dg/torture/pr39074.c: Likewise.
	* gcc.dg/torture/pr42898-2.c: Likewise.
	* gcc.dg/torture/pr42898.c: Likewise.
	* gcc.dg/torture/pta-escape-1.c: Likewise.
	* gcc.dg/torture/ssa-pta-fn-1.c: Likewise.
Index: gcc.dg/torture/pta-ptrarith-1.c
===================================================================
*** gcc.dg/torture/pta-ptrarith-1.c	(revision 180289)
--- gcc.dg/torture/pta-ptrarith-1.c	(working copy)
***************
*** 1,5 ****
  /* { dg-do run } */
! /* { dg-options "-fdump-tree-alias" } */
  /* { dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
  
  struct Foo {
--- 1,5 ----
  /* { dg-do run } */
! /* { dg-options "-fdump-tree-alias -ffat-lto-objects" } */
  /* { dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
  
  struct Foo {
Index: gcc.dg/torture/pta-ptrarith-2.c
===================================================================
*** gcc.dg/torture/pta-ptrarith-2.c	(revision 180289)
--- gcc.dg/torture/pta-ptrarith-2.c	(working copy)
***************
*** 1,5 ****
  /* { dg-do run } */
! /* { dg-options "-fdump-tree-alias" } */
  /* { dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
  
  struct Foo {
--- 1,5 ----
  /* { dg-do run } */
! /* { dg-options "-fdump-tree-alias -ffat-lto-objects" } */
  /* { dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
  
  struct Foo {
Index: gcc.dg/torture/pr23821.c
===================================================================
*** gcc.dg/torture/pr23821.c	(revision 180289)
--- gcc.dg/torture/pr23821.c	(working copy)
***************
*** 3,9 ****
  /* At -O1 DOM threads a jump in a non-optimal way which leads to
     the bogus propagation.  */
  /* { dg-skip-if "" { *-*-* } { "-O1" } { "" } } */
! /* { dg-options "-fdump-tree-ivcanon-details" } */
  
  int a[199];
  
--- 3,9 ----
  /* At -O1 DOM threads a jump in a non-optimal way which leads to
     the bogus propagation.  */
  /* { dg-skip-if "" { *-*-* } { "-O1" } { "" } } */
! /* { dg-options "-fdump-tree-ivcanon-details -ffat-lto-objects" } */
  
  int a[199];
  
Index: gcc.dg/torture/pta-ptrarith-3.c
===================================================================
*** gcc.dg/torture/pta-ptrarith-3.c	(revision 180289)
--- gcc.dg/torture/pta-ptrarith-3.c	(working copy)
***************
*** 1,5 ****
  /* { dg-do run } */
! /* { dg-options "-fdump-tree-alias" } */
  /* { dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
  
  extern void abort (void);
--- 1,5 ----
  /* { dg-do run } */
! /* { dg-options "-fdump-tree-alias -ffat-lto-objects" } */
  /* { dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
  
  extern void abort (void);
Index: gcc.dg/torture/pr45704.c
===================================================================
*** gcc.dg/torture/pr45704.c	(revision 180289)
--- gcc.dg/torture/pr45704.c	(working copy)
***************
*** 1,5 ****
  /* { dg-do compile } */
! /* { dg-options "-fdump-tree-optimized" } */
  
  struct st {
      int ptr;
--- 1,5 ----
  /* { dg-do compile } */
! /* { dg-options "-fdump-tree-optimized -ffat-lto-objects" } */
  
  struct st {
      int ptr;
Index: gcc.dg/torture/pr50472.c
===================================================================
*** gcc.dg/torture/pr50472.c	(revision 180289)
--- gcc.dg/torture/pr50472.c	(working copy)
***************
*** 1,5 ****
  /* { dg-do compile } */
! /* { dg-options "-fdump-tree-optimized" } */
  
  static const unsigned int foo = 1;
  unsigned int test( void )
--- 1,5 ----
  /* { dg-do compile } */
! /* { dg-options "-fdump-tree-optimized -ffat-lto-objects" } */
  
  static const unsigned int foo = 1;
  unsigned int test( void )
Index: gcc.dg/torture/ipa-pta-1.c
===================================================================
*** gcc.dg/torture/ipa-pta-1.c	(revision 180289)
--- gcc.dg/torture/ipa-pta-1.c	(working copy)
***************
*** 1,5 ****
  /* { dg-do compile { target { nonpic } } } */
! /* { dg-options "-fipa-pta -fdump-ipa-pta" } */
  /* { dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
  
  struct X { char x; char y; };
--- 1,5 ----
  /* { dg-do compile { target { nonpic } } } */
! /* { dg-options "-fipa-pta -fdump-ipa-pta -ffat-lto-objects" } */
  /* { dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
  
  struct X { char x; char y; };
Index: gcc.dg/torture/pta-callused-1.c
===================================================================
*** gcc.dg/torture/pta-callused-1.c	(revision 180289)
--- gcc.dg/torture/pta-callused-1.c	(working copy)
***************
*** 1,5 ****
  /* { dg-do run } */
! /* { dg-options "-fdump-tree-alias" } */
  /* { dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
  
  volatile int i;
--- 1,5 ----
  /* { dg-do run } */
! /* { dg-options "-fdump-tree-alias -ffat-lto-objects" } */
  /* { dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
  
  volatile int i;
Index: gcc.dg/torture/pr39074-2.c
===================================================================
*** gcc.dg/torture/pr39074-2.c	(revision 180289)
--- gcc.dg/torture/pr39074-2.c	(working copy)
***************
*** 1,6 ****
  /* { dg-do run } */
  /* { dg-require-effective-target stdint_types } */
! /* { dg-options "-fdump-tree-alias" } */
  /* { dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
  
  #include <stdint.h>
--- 1,6 ----
  /* { dg-do run } */
  /* { dg-require-effective-target stdint_types } */
! /* { dg-options "-fdump-tree-alias -ffat-lto-objects" } */
  /* { dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
  
  #include <stdint.h>
Index: gcc.dg/torture/pr39074.c
===================================================================
*** gcc.dg/torture/pr39074.c	(revision 180289)
--- gcc.dg/torture/pr39074.c	(working copy)
***************
*** 1,5 ****
  /* { dg-do run } */
! /* { dg-options "-fdump-tree-alias" } */
  /* { dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
  
  typedef __PTRDIFF_TYPE__ intptr_t;
--- 1,5 ----
  /* { dg-do run } */
! /* { dg-options "-fdump-tree-alias -ffat-lto-objects" } */
  /* { dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
  
  typedef __PTRDIFF_TYPE__ intptr_t;
Index: gcc.dg/torture/pr42898-2.c
===================================================================
*** gcc.dg/torture/pr42898-2.c	(revision 180289)
--- gcc.dg/torture/pr42898-2.c	(working copy)
***************
*** 1,5 ****
  /* { dg-do compile } */
! /* { dg-options "-fdump-tree-optimized" } */
  
  struct hardware {
    int parm1:8;
--- 1,5 ----
  /* { dg-do compile } */
! /* { dg-options "-fdump-tree-optimized -ffat-lto-objects" } */
  
  struct hardware {
    int parm1:8;
Index: gcc.dg/torture/pr42898.c
===================================================================
*** gcc.dg/torture/pr42898.c	(revision 180289)
--- gcc.dg/torture/pr42898.c	(working copy)
***************
*** 1,5 ****
  /* { dg-do compile } */
! /* { dg-options "-fdump-tree-optimized" } */
  
  struct hardware {
    int parm1:8;
--- 1,5 ----
  /* { dg-do compile } */
! /* { dg-options "-fdump-tree-optimized -ffat-lto-objects" } */
  
  struct hardware {
    int parm1:8;
Index: gcc.dg/torture/pta-escape-1.c
===================================================================
*** gcc.dg/torture/pta-escape-1.c	(revision 180289)
--- gcc.dg/torture/pta-escape-1.c	(working copy)
***************
*** 1,5 ****
  /* { dg-do run } */
! /* { dg-options "-fdump-tree-alias" } */
  /* { dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
  
  int *p;
--- 1,5 ----
  /* { dg-do run } */
! /* { dg-options "-fdump-tree-alias -ffat-lto-objects" } */
  /* { dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
  
  int *p;
Index: gcc.dg/torture/ssa-pta-fn-1.c
===================================================================
*** gcc.dg/torture/ssa-pta-fn-1.c	(revision 180289)
--- gcc.dg/torture/ssa-pta-fn-1.c	(working copy)
***************
*** 1,5 ****
  /* { dg-do run } */
! /* { dg-options "-fdump-tree-alias" } */
  /* { dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
  
  extern void abort (void);
--- 1,5 ----
  /* { dg-do run } */
! /* { dg-options "-fdump-tree-alias -ffat-lto-objects" } */
  /* { dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
  
  extern void abort (void);


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]