Message ID | 87mw429tfn.fsf@kepler.schwinge.homeip.net |
---|---|
State | New |
Headers | show |
On 02/25/2015 11:28 AM, Thomas Schwinge wrote: > Am I on the right track with my assumption that it is correct that > nvptx.c:nvptx_option_override is not invoked in the offloading code path, > so we'd need a new target hook (?) to consolidate/override the options in > this scenario? I'm surprised by this. Does lto1 not go through do_compile? I guess that's plausible, but I think in that case we should invoke this hook if ACCEL_COMPILER. Bernd
On Wed, Feb 25, 2015 at 11:28:12AM +0100, Thomas Schwinge wrote: > Am I on the right track with my assumption that it is correct that > nvptx.c:nvptx_option_override is not invoked in the offloading code path, > so we'd need a new target hook (?) to consolidate/override the options in > this scenario? > > > Using this to forcefully disable -fvar-tracking (as done in > nvptx_option_override), should then allow me to drop the following > beautiful specimen of a patch (which I didn't commit anywhere, so far): Supposedly you could just disable var-tracking for targetm.no_register_allocation case, or change that assert to allow pseudos for targetm.no_register_allocation? Anyway, if var-tracking is never useful for NVPTX, if you want to override it early, flag_var_tracking* options are Optimization options, thus you'd need a target hook similar to the one I've added today, but instead of TARGET_OPTION_NODE do something similar for OPTIMIZATION_NODE streaming. Jakub
diff --git libgomp/testsuite/libgomp.fortran/fortran.exp libgomp/testsuite/libgomp.fortran/fortran.exp index 9e6b643..0b597e6 100644 --- libgomp/testsuite/libgomp.fortran/fortran.exp +++ libgomp/testsuite/libgomp.fortran/fortran.exp @@ -21,6 +21,9 @@ dg-init # Turn on OpenMP. lappend ALWAYS_CFLAGS "additional_flags=-fopenmp" +# TODO: for -g torture testing, disable variable tracking. +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 a8f62e8..080a7b9 100644 --- libgomp/testsuite/libgomp.oacc-fortran/fortran.exp +++ libgomp/testsuite/libgomp.oacc-fortran/fortran.exp @@ -23,6 +23,9 @@ dg-init # Turn on OpenACC. lappend ALWAYS_CFLAGS "additional_flags=-fopenacc" +# TODO: for -g torture testing, disable variable tracking. +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}"