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: var-tracking vs. pseudo registers (was: Option overriding in the offloading code path)


Hi!

On Thu, 26 Feb 2015 11:46:00 +0100, Jakub Jelinek <jakub@redhat.com> wrote:
> On Thu, Feb 26, 2015 at 11:27:06AM +0100, Thomas Schwinge wrote:
> > Is this not the right way to skip it, or, Bernd, is this because we're
> > not yet handling some debug stuff in nvptx?  (I tested that
> > <http://news.gmane.org/find-root.php?message_id=%3C5466473A.1090809%40codesourcery.com%3E>
> > does not help with that.)  The following does make it work (that is,
> > resolve the ICEs), but that feels a bit too much ;-) of a hack:
> > 
> > --- gcc/var-tracking.c
> > +++ gcc/var-tracking.c
> > @@ -10305,7 +10322,8 @@ variable_tracking_main_1 (void)
> >  {
> >    bool success;
> >  
> > -  if (flag_var_tracking_assignments < 0)
> > +  if (flag_var_tracking_assignments < 0
> > +      || targetm.no_register_allocation)
> >      {
> >        delete_debug_insns ();
> >        return 0;
> 
> No, IMHO that is the right fix, not a hack.  But of course would deserve
> a comment.

Jakub has done that in r221693,
<http://news.gmane.org/find-root.php?message_id=%3C20150326110015.GW1746%40tucnak.redhat.com%3E>
-- thanks!


> Plus of course you can also just override
> flag_var_tracking_assignments in the nvptx override option hook, and
> perhaps in tree-streamer-in.c clear flag_var_tracking_assignments in the
> OPTIMIZATION_NODE too (or just add a hook for that, as I said before).

That remains to be done.


Given Jakub's commit got merged into gomp-4_0-branch, I committed the
following to gomp-4_0-branch in r222472:

commit 9973ee1f73fc61ad643e3f7b83331a3e3fef1fd4
Author: tschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Mon Apr 27 16:41:31 2015 +0000

    Revert "libgomp Fortran testing: for -g torture testing, disable variable tracking."
    
    This reverts commit r221411.
    
    	libgomp/
    	* testsuite/libgomp.fortran/fortran.exp (DG_TORTURE_OPTIONS):
    	Don't add -fno-var-tracking next to any -g usage.
    	* testsuite/libgomp.oacc-fortran/fortran.exp (DG_TORTURE_OPTIONS):
    	Likewise.
    
    git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@222472 138bc75d-0d04-0410-961f-82ee72b054a4
---
 libgomp/ChangeLog.gomp                             |    7 +++++++
 libgomp/testsuite/libgomp.fortran/fortran.exp      |    4 ----
 libgomp/testsuite/libgomp.oacc-fortran/fortran.exp |    4 ----
 3 files changed, 7 insertions(+), 8 deletions(-)

diff --git libgomp/ChangeLog.gomp libgomp/ChangeLog.gomp
index 3d762bd..0f1b23d 100644
--- libgomp/ChangeLog.gomp
+++ libgomp/ChangeLog.gomp
@@ -1,3 +1,10 @@
+2015-04-27  Thomas Schwinge  <thomas@codesourcery.com>
+
+	* testsuite/libgomp.fortran/fortran.exp (DG_TORTURE_OPTIONS):
+	Don't add -fno-var-tracking next to any -g usage.
+	* testsuite/libgomp.oacc-fortran/fortran.exp (DG_TORTURE_OPTIONS):
+	Likewise.
+
 2015-04-21  Tom de Vries  <tom@codesourcery.com>
 	    Thomas Schwinge  <thomas@codesourcery.com>
 
diff --git libgomp/testsuite/libgomp.fortran/fortran.exp libgomp/testsuite/libgomp.fortran/fortran.exp
index ead94f3..9e6b643 100644
--- libgomp/testsuite/libgomp.fortran/fortran.exp
+++ libgomp/testsuite/libgomp.fortran/fortran.exp
@@ -21,10 +21,6 @@ dg-init
 # Turn on OpenMP.
 lappend ALWAYS_CFLAGS "additional_flags=-fopenmp"
 
-# TODO: for -g torture testing, disable variable tracking.
-# <http://news.gmane.org/find-root.php?message_id=%3C87mw429tfn.fsf%40kepler.schwinge.homeip.net%3E>.
-regsub -all -- { -g[^ ]*} $DG_TORTURE_OPTIONS {& -fno-var-tracking} DG_TORTURE_OPTIONS
-
 if { $blddir != "" } {
     set lang_source_re {^.*\.[fF](|90|95|03|08)$}
     set lang_include_flags "-fintrinsic-modules-path=${blddir}"
diff --git libgomp/testsuite/libgomp.oacc-fortran/fortran.exp libgomp/testsuite/libgomp.oacc-fortran/fortran.exp
index 203106e..a68e039 100644
--- libgomp/testsuite/libgomp.oacc-fortran/fortran.exp
+++ libgomp/testsuite/libgomp.oacc-fortran/fortran.exp
@@ -23,10 +23,6 @@ dg-init
 # Turn on OpenACC.
 lappend ALWAYS_CFLAGS "additional_flags=-fopenacc"
 
-# TODO: for -g torture testing, disable variable tracking.
-# <http://news.gmane.org/find-root.php?message_id=%3C87mw429tfn.fsf%40kepler.schwinge.homeip.net%3E>.
-regsub -all -- { -g[^ ]*} $DG_TORTURE_OPTIONS {& -fno-var-tracking} DG_TORTURE_OPTIONS
-
 if { $blddir != "" } {
     set lang_source_re {^.*\.[fF](|90|95|03|08)$}
     set lang_include_flags "-fintrinsic-modules-path=${blddir}"


GrÃÃe,
 Thomas

Attachment: signature.asc
Description: PGP signature


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