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: Make nonoverlapping_component_refs work with duplicated main variants


> Hi Jan,
> 
> > 	* g++.dg/lto/alias-3_0.C: New file.
> > 	* g++.dg/lto/alias-3_1.c: New file.
> 
> the new test has a couple of problems: DejaGnu warns everywhere:
> 
> WARNING: lto.exp does not support dg-lto-do in secondary source files
> WARNING: lto.exp does not support dg-lto-options in secondary source files
> 
> This would have been prominent in either mail-report.log or the runtest
> output.
> 
> Besides, the test FAILs in the same way as its companions lto/alias-[12]
> on Solaris (PRs ipa/90720 and lto/91028).  Your fix for the latter two
> didn't change anything, btw., neither on Solaris nor on Linux/x86_64
> with -fno-use-linker-plugin.
Hi,
sorry for the noise.  This patch fixes -fno-use-linker-plugin for me and
also removes the extra dg-do I forgot in alias_3-1.c

	* alias-1_0.C: Use -O3.
	* alias-2_0.C: Use -O3.
	* alias-3_0.C: Add loop to enable inlining with -fno-use-linker-plugin.
	* alias-3_1.C: Remove dg-lto-do and dg-lto-options.
Index: g++.dg/lto/alias-1_0.C
===================================================================
--- g++.dg/lto/alias-1_0.C	(revision 273478)
+++ g++.dg/lto/alias-1_0.C	(working copy)
@@ -1,5 +1,5 @@
 /* { dg-lto-do run } */
-/* { dg-lto-options { { -O2 -flto } } } */
+/* { dg-lto-options { { -O3 -flto } } } */
 
 /* With LTO we consider all pointers to incomplete types to be possibly
    aliasing.  This makes *bptr to alias with aptr.
Index: g++.dg/lto/alias-2_0.C
===================================================================
--- g++.dg/lto/alias-2_0.C	(revision 273478)
+++ g++.dg/lto/alias-2_0.C	(working copy)
@@ -1,5 +1,5 @@
 /* { dg-lto-do run } */
-/* { dg-lto-options { { -O2 -flto } } } */
+/* { dg-lto-options { { -O3 -flto } } } */
 
 /* With LTO we consider all pointers to incomplete types to be possibly
    aliasing.  This makes *bptr to alias with aptr.
Index: g++.dg/lto/alias-3_0.C
===================================================================
--- g++.dg/lto/alias-3_0.C	(revision 273478)
+++ g++.dg/lto/alias-3_0.C	(working copy)
@@ -14,13 +14,15 @@ __attribute__ ((used)) struct b b, *bptr
 __attribute__ ((used)) int i,j;
 
 extern "C" void inline_me_late (void);
+int n=1;
 
 int
 main (void)
 {
   int jj=j;
   bptr2->a[jj].bar = 0;
-  inline_me_late ();
+  for (int i=0; i<n; i++)
+    inline_me_late ();
   if (!__builtin_constant_p (bptr2->a[jj].bar == 0))
     __builtin_abort ();
   return 0;
Index: g++.dg/lto/alias-3_1.c
===================================================================
--- g++.dg/lto/alias-3_1.c	(revision 273478)
+++ g++.dg/lto/alias-3_1.c	(working copy)
@@ -1,5 +1,3 @@
-/* { dg-lto-do run } */
-/* { dg-lto-options { { -O3 -flto -fno-early-inlining } } } */
 struct a
 {
   int foo,bar;


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