Message ID | 871t79t6lr.fsf@kepler.schwinge.homeip.net |
---|---|
State | New |
Headers | show |
Hi! Ping. On Thu, 17 Mar 2016 17:24:48 +0100, I wrote: > On Tue, 14 Jul 2015 10:36:25 +0200, Tom de Vries <Tom_deVries@mentor.com> wrote: > > On 14/07/15 06:54, Jeff Law wrote: > > > On 07/13/2015 04:58 AM, Tom de Vries wrote: > > >> On 07/07/15 09:53, Tom de Vries wrote: > > >>> currently, we have these spec strings in gcc/gcc.c involving > > >>> ftree-parallelize-loops: > > >>> ... > > >>> %{fopenacc|fopenmp|ftree-parallelize-loops=*:%:include(libgomp.spec)%(link_gomp)} > > >>> > > >>> > > >>> > > >>> %{fopenacc|fopenmp|ftree-parallelize-loops=*:-pthread}" > > >>> ... > > >>> > > >>> Actually, ftree-parallelize-loops={0,1} means that no parallelization is > > >>> done, but these spec strings still get activated for these values. > > >>> > > >>> > > >>> Attached patch fixes that, by introducing a spec function gt (short for > > >>> greather than), and using it in the spec lines. > > > Committed the patch using the gt function, as attached (formatting > > fixed, ChangeLog entry added). > > > Ignore -ftree-parallelize-loops={0,1} using gt > > > > 2015-07-14 Tom de Vries <tom@codesourcery.com> > > > > * gcc.c (greater_than_spec_func): Declare forward. > > (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): Use gt to ignore > > -ftree-parallelize-loops={0,1}. > > (static_spec_functions): Add greater_than_spec_func function with name > > "gt". > > (greater_than_spec_func): New function. > > I recently noticed that this change failed to update the instances of > ftree-parallelize-loops in other spec strings. I can't easily test my > proposed changes, but I just mechanically changed > "ftree-parallelize-loops=*" to "%:gt(%{ftree-parallelize-loops=*:%*} 1)" > (which is the spelling to use after Jakub's "[PATCH] Fix driver handling > of multiple -ftree-parallelize-loops=<n> options (PR driver/69805)", > <http://news.gmane.org/find-root.php?message_id=%3C20160216152439.GT3017%40tucnak.redhat.com%3E>). > OK to commit? > > commit df7d7943ae64f6df74d360e71f7c495c78647fda > Author: Thomas Schwinge <thomas@codesourcery.com> > Date: Thu Mar 17 17:17:36 2016 +0100 > > Complete changes to "Ignore -ftree-parallelize-loops={0,1} using gt" > > Apply the r225764 and r233573 changes to all relevant spec strings. > > gcc/ > * config/arc/arc.h (LINK_COMMAND_SPEC): Use gt to ignore > -ftree-parallelize-loops={0,1}. > * config/darwin.h (LINK_COMMAND_SPEC_A): Likewise. > * config/i386/mingw32.h (GOMP_SELF_SPECS): Likewise. > * config/ia64/hpux.h (LIB_SPEC): Likewise. > * config/pa/pa-hpux11.h (LIB_SPEC): Likewise. > * config/pa/pa64-hpux.h (LIB_SPEC): Likewise. > --- > gcc/config/arc/arc.h | 3 ++- > gcc/config/darwin.h | 2 +- > gcc/config/i386/mingw32.h | 2 +- > gcc/config/ia64/hpux.h | 2 +- > gcc/config/pa/pa-hpux11.h | 2 +- > gcc/config/pa/pa64-hpux.h | 12 ++++++------ > 6 files changed, 12 insertions(+), 11 deletions(-) > > diff --git gcc/config/arc/arc.h gcc/config/arc/arc.h > index 21c049f..1c2a38d 100644 > --- gcc/config/arc/arc.h > +++ gcc/config/arc/arc.h > @@ -188,7 +188,8 @@ along with GCC; see the file COPYING3. If not see > %(linker) %l " LINK_PIE_SPEC "%X %{o*} %{A} %{d} %{e*} %{m} %{N} %{n} %{r}\ > %{s} %{t} %{u*} %{x} %{z} %{Z} %{!A:%{!nostdlib:%{!nostartfiles:%S}}}\ > %{static:} %{L*} %(mfwrap) %(link_libgcc) %o\ > - %{fopenacc|fopenmp|ftree-parallelize-loops=*:%:include(libgomp.spec)%(link_gomp)}\ > + %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\ > + %:include(libgomp.spec)%(link_gomp)}\ > %(mflib)\ > %{fprofile-arcs|fprofile-generate|coverage:-lgcov}\ > %{!nostdlib:%{!nodefaultlibs:%(link_ssp) %(link_gcc_c_sequence)}}\ > diff --git gcc/config/darwin.h gcc/config/darwin.h > index 9f686d3..c9981b8 100644 > --- gcc/config/darwin.h > +++ gcc/config/darwin.h > @@ -177,7 +177,7 @@ extern GTY(()) int darwin_ms_struct; > %{o*}%{!o:-o a.out} \ > %{!nostdlib:%{!nostartfiles:%S}} \ > %{L*} %(link_libgcc) %o %{fprofile-arcs|fprofile-generate*|coverage:-lgcov} \ > - %{fopenacc|fopenmp|ftree-parallelize-loops=*: \ > + %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1): \ > %{static|static-libgcc|static-libstdc++|static-libgfortran: libgomp.a%s; : -lgomp } } \ > %{fgnu-tm: \ > %{static|static-libgcc|static-libstdc++|static-libgfortran: libitm.a%s; : -litm } } \ > diff --git gcc/config/i386/mingw32.h gcc/config/i386/mingw32.h > index 4ac5f68..e048189 100644 > --- gcc/config/i386/mingw32.h > +++ gcc/config/i386/mingw32.h > @@ -207,7 +207,7 @@ do { \ > > /* mingw32 uses the -mthreads option to enable thread support. */ > #undef GOMP_SELF_SPECS > -#define GOMP_SELF_SPECS "%{fopenacc|fopenmp|ftree-parallelize-loops=*: " \ > +#define GOMP_SELF_SPECS "%{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1): " \ > "-mthreads -pthread}" > #undef GTM_SELF_SPECS > #define GTM_SELF_SPECS "%{fgnu-tm:-mthreads -pthread}" > diff --git gcc/config/ia64/hpux.h gcc/config/ia64/hpux.h > index 8b90c99..008c4f6 100644 > --- gcc/config/ia64/hpux.h > +++ gcc/config/ia64/hpux.h > @@ -92,7 +92,7 @@ do { \ > #undef LIB_SPEC > #define LIB_SPEC \ > "%{!shared: \ > - %{mt|pthread:%{fopenacc|fopenmp|ftree-parallelize-loops=*:-lrt} -lpthread} \ > + %{mt|pthread:%{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):-lrt} -lpthread} \ > %{p:%{!mlp64:-L/usr/lib/hpux32/libp} \ > %{mlp64:-L/usr/lib/hpux64/libp} -lprof} \ > %{pg:%{!mlp64:-L/usr/lib/hpux32/libp} \ > diff --git gcc/config/pa/pa-hpux11.h gcc/config/pa/pa-hpux11.h > index 3e5207a..600b677 100644 > --- gcc/config/pa/pa-hpux11.h > +++ gcc/config/pa/pa-hpux11.h > @@ -147,7 +147,7 @@ along with GCC; see the file COPYING3. If not see > #undef LIB_SPEC > #define LIB_SPEC \ > "%{!shared:\ > - %{fopenacc|fopenmp|ftree-parallelize-loops=*:\ > + %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\ > %{static:-a archive_shared} -lrt %{static:-a archive}}\ > %{mt|pthread:-lpthread} -lc\ > %{static:%{!nolibdld:-a archive_shared -ldld -a archive -lc}\ > diff --git gcc/config/pa/pa64-hpux.h gcc/config/pa/pa64-hpux.h > index a5ccb4a..279406a 100644 > --- gcc/config/pa/pa64-hpux.h > +++ gcc/config/pa/pa64-hpux.h > @@ -58,21 +58,21 @@ along with GCC; see the file COPYING3. If not see > #if ((TARGET_DEFAULT | TARGET_CPU_DEFAULT) & MASK_GNU_LD) > #define LIB_SPEC \ > "%{!shared:\ > - %{!p:%{!pg:%{fopenacc|fopenmp|ftree-parallelize-loops=*:\ > + %{!p:%{!pg:%{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\ > %{static:-a shared} -lrt %{static:-a archive}}\ > %{mt|pthread:-lpthread} -lc\ > %{static:%{!nolibdld:-a shared -ldld -a archive -lc}\ > %{!mt:%{!pthread:-a shared -lc -a archive}}}}}\ > %{p:%{!pg:%{static:%{!mhp-ld:-a shared}%{mhp-ld:-a archive_shared}}\ > -lprof %{static:-a archive}\ > - %{fopenacc|fopenmp|ftree-parallelize-loops=*:\ > + %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\ > %{static:-a shared} -lrt %{static:-a archive}}\ > %{mt|pthread:-lpthread} -lc\ > %{static:%{!nolibdld:-a shared -ldld -a archive -lc}\ > %{!mt:%{!pthread:-a shared -lc -a archive}}}}}\ > %{pg:%{static:%{!mhp-ld:-a shared}%{mhp-ld:-a archive_shared}}\ > -lgprof %{static:-a archive}\ > - %{fopenacc|fopenmp|ftree-parallelize-loops=*:\ > + %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\ > %{static:-a shared} -lrt %{static:-a archive}}\ > %{mt|pthread:-lpthread} -lc\ > %{static:%{!nolibdld:-a shared -ldld -a archive -lc}\ > @@ -81,21 +81,21 @@ along with GCC; see the file COPYING3. If not see > #else > #define LIB_SPEC \ > "%{!shared:\ > - %{!p:%{!pg:%{fopenacc|fopenmp|ftree-parallelize-loops=*:\ > + %{!p:%{!pg:%{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\ > %{static:-a shared} -lrt %{static:-a archive}}\ > %{mt|pthread:-lpthread} -lc\ > %{static:%{!nolibdld:-a shared -ldld -a archive -lc}\ > %{!mt:%{!pthread:-a shared -lc -a archive}}}}}\ > %{p:%{!pg:%{static:%{mgnu-ld:-a shared}%{!mgnu-ld:-a archive_shared}}\ > -lprof %{static:-a archive}\ > - %{fopenacc|fopenmp|ftree-parallelize-loops=*:\ > + %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\ > %{static:-a shared} -lrt %{static:-a archive}}\ > %{mt|pthread:-lpthread} -lc\ > %{static:%{!nolibdld:-a shared -ldld -a archive -lc}\ > %{!mt:%{!pthread:-a shared -lc -a archive}}}}}\ > %{pg:%{static:%{mgnu-ld:-a shared}%{!mgnu-ld:-a archive_shared}}\ > -lgprof %{static:-a archive}\ > - %{fopenacc|fopenmp|ftree-parallelize-loops=*:\ > + %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\ > %{static:-a shared} -lrt %{static:-a archive}}\ > %{mt|pthread:-lpthread} -lc\ > %{static:%{!nolibdld:-a shared -ldld -a archive -lc}\ Grüße Thomas
On 08/04/16 12:35, Thomas Schwinge wrote: > Hi! > > Ping. > > On Thu, 17 Mar 2016 17:24:48 +0100, I wrote: >> On Tue, 14 Jul 2015 10:36:25 +0200, Tom de Vries <Tom_deVries@mentor.com> wrote: >>> On 14/07/15 06:54, Jeff Law wrote: >>>> On 07/13/2015 04:58 AM, Tom de Vries wrote: >>>>> On 07/07/15 09:53, Tom de Vries wrote: >>>>>> currently, we have these spec strings in gcc/gcc.c involving >>>>>> ftree-parallelize-loops: >>>>>> ... >>>>>> %{fopenacc|fopenmp|ftree-parallelize-loops=*:%:include(libgomp.spec)%(link_gomp)} >>>>>> >>>>>> >>>>>> >>>>>> %{fopenacc|fopenmp|ftree-parallelize-loops=*:-pthread}" >>>>>> ... >>>>>> >>>>>> Actually, ftree-parallelize-loops={0,1} means that no parallelization is >>>>>> done, but these spec strings still get activated for these values. >>>>>> >>>>>> >>>>>> Attached patch fixes that, by introducing a spec function gt (short for >>>>>> greather than), and using it in the spec lines. >> >>> Committed the patch using the gt function, as attached (formatting >>> fixed, ChangeLog entry added). >> >>> Ignore -ftree-parallelize-loops={0,1} using gt >>> >>> 2015-07-14 Tom de Vries <tom@codesourcery.com> >>> >>> * gcc.c (greater_than_spec_func): Declare forward. >>> (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): Use gt to ignore >>> -ftree-parallelize-loops={0,1}. >>> (static_spec_functions): Add greater_than_spec_func function with name >>> "gt". >>> (greater_than_spec_func): New function. >> >> I recently noticed that this change failed to update the instances of >> ftree-parallelize-loops in other spec strings. I can't easily test my >> proposed changes, but I just mechanically changed >> "ftree-parallelize-loops=*" to "%:gt(%{ftree-parallelize-loops=*:%*} 1)" >> (which is the spelling to use after Jakub's "[PATCH] Fix driver handling >> of multiple -ftree-parallelize-loops=<n> options (PR driver/69805)", >> <http://news.gmane.org/find-root.php?message_id=%3C20160216152439.GT3017%40tucnak.redhat.com%3E>). >> OK to commit? >> Hi Thomas, I've looked at the patch, it looks good to me. I think it can be committed as obvious. Thanks, - Tom >> commit df7d7943ae64f6df74d360e71f7c495c78647fda >> Author: Thomas Schwinge <thomas@codesourcery.com> >> Date: Thu Mar 17 17:17:36 2016 +0100 >> >> Complete changes to "Ignore -ftree-parallelize-loops={0,1} using gt" >> >> Apply the r225764 and r233573 changes to all relevant spec strings. >> >> gcc/ >> * config/arc/arc.h (LINK_COMMAND_SPEC): Use gt to ignore >> -ftree-parallelize-loops={0,1}. >> * config/darwin.h (LINK_COMMAND_SPEC_A): Likewise. >> * config/i386/mingw32.h (GOMP_SELF_SPECS): Likewise. >> * config/ia64/hpux.h (LIB_SPEC): Likewise. >> * config/pa/pa-hpux11.h (LIB_SPEC): Likewise. >> * config/pa/pa64-hpux.h (LIB_SPEC): Likewise. >> --- >> gcc/config/arc/arc.h | 3 ++- >> gcc/config/darwin.h | 2 +- >> gcc/config/i386/mingw32.h | 2 +- >> gcc/config/ia64/hpux.h | 2 +- >> gcc/config/pa/pa-hpux11.h | 2 +- >> gcc/config/pa/pa64-hpux.h | 12 ++++++------ >> 6 files changed, 12 insertions(+), 11 deletions(-) >> >> diff --git gcc/config/arc/arc.h gcc/config/arc/arc.h >> index 21c049f..1c2a38d 100644 >> --- gcc/config/arc/arc.h >> +++ gcc/config/arc/arc.h >> @@ -188,7 +188,8 @@ along with GCC; see the file COPYING3. If not see >> %(linker) %l " LINK_PIE_SPEC "%X %{o*} %{A} %{d} %{e*} %{m} %{N} %{n} %{r}\ >> %{s} %{t} %{u*} %{x} %{z} %{Z} %{!A:%{!nostdlib:%{!nostartfiles:%S}}}\ >> %{static:} %{L*} %(mfwrap) %(link_libgcc) %o\ >> - %{fopenacc|fopenmp|ftree-parallelize-loops=*:%:include(libgomp.spec)%(link_gomp)}\ >> + %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\ >> + %:include(libgomp.spec)%(link_gomp)}\ >> %(mflib)\ >> %{fprofile-arcs|fprofile-generate|coverage:-lgcov}\ >> %{!nostdlib:%{!nodefaultlibs:%(link_ssp) %(link_gcc_c_sequence)}}\ >> diff --git gcc/config/darwin.h gcc/config/darwin.h >> index 9f686d3..c9981b8 100644 >> --- gcc/config/darwin.h >> +++ gcc/config/darwin.h >> @@ -177,7 +177,7 @@ extern GTY(()) int darwin_ms_struct; >> %{o*}%{!o:-o a.out} \ >> %{!nostdlib:%{!nostartfiles:%S}} \ >> %{L*} %(link_libgcc) %o %{fprofile-arcs|fprofile-generate*|coverage:-lgcov} \ >> - %{fopenacc|fopenmp|ftree-parallelize-loops=*: \ >> + %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1): \ >> %{static|static-libgcc|static-libstdc++|static-libgfortran: libgomp.a%s; : -lgomp } } \ >> %{fgnu-tm: \ >> %{static|static-libgcc|static-libstdc++|static-libgfortran: libitm.a%s; : -litm } } \ >> diff --git gcc/config/i386/mingw32.h gcc/config/i386/mingw32.h >> index 4ac5f68..e048189 100644 >> --- gcc/config/i386/mingw32.h >> +++ gcc/config/i386/mingw32.h >> @@ -207,7 +207,7 @@ do { \ >> >> /* mingw32 uses the -mthreads option to enable thread support. */ >> #undef GOMP_SELF_SPECS >> -#define GOMP_SELF_SPECS "%{fopenacc|fopenmp|ftree-parallelize-loops=*: " \ >> +#define GOMP_SELF_SPECS "%{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1): " \ >> "-mthreads -pthread}" >> #undef GTM_SELF_SPECS >> #define GTM_SELF_SPECS "%{fgnu-tm:-mthreads -pthread}" >> diff --git gcc/config/ia64/hpux.h gcc/config/ia64/hpux.h >> index 8b90c99..008c4f6 100644 >> --- gcc/config/ia64/hpux.h >> +++ gcc/config/ia64/hpux.h >> @@ -92,7 +92,7 @@ do { \ >> #undef LIB_SPEC >> #define LIB_SPEC \ >> "%{!shared: \ >> - %{mt|pthread:%{fopenacc|fopenmp|ftree-parallelize-loops=*:-lrt} -lpthread} \ >> + %{mt|pthread:%{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):-lrt} -lpthread} \ >> %{p:%{!mlp64:-L/usr/lib/hpux32/libp} \ >> %{mlp64:-L/usr/lib/hpux64/libp} -lprof} \ >> %{pg:%{!mlp64:-L/usr/lib/hpux32/libp} \ >> diff --git gcc/config/pa/pa-hpux11.h gcc/config/pa/pa-hpux11.h >> index 3e5207a..600b677 100644 >> --- gcc/config/pa/pa-hpux11.h >> +++ gcc/config/pa/pa-hpux11.h >> @@ -147,7 +147,7 @@ along with GCC; see the file COPYING3. If not see >> #undef LIB_SPEC >> #define LIB_SPEC \ >> "%{!shared:\ >> - %{fopenacc|fopenmp|ftree-parallelize-loops=*:\ >> + %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\ >> %{static:-a archive_shared} -lrt %{static:-a archive}}\ >> %{mt|pthread:-lpthread} -lc\ >> %{static:%{!nolibdld:-a archive_shared -ldld -a archive -lc}\ >> diff --git gcc/config/pa/pa64-hpux.h gcc/config/pa/pa64-hpux.h >> index a5ccb4a..279406a 100644 >> --- gcc/config/pa/pa64-hpux.h >> +++ gcc/config/pa/pa64-hpux.h >> @@ -58,21 +58,21 @@ along with GCC; see the file COPYING3. If not see >> #if ((TARGET_DEFAULT | TARGET_CPU_DEFAULT) & MASK_GNU_LD) >> #define LIB_SPEC \ >> "%{!shared:\ >> - %{!p:%{!pg:%{fopenacc|fopenmp|ftree-parallelize-loops=*:\ >> + %{!p:%{!pg:%{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\ >> %{static:-a shared} -lrt %{static:-a archive}}\ >> %{mt|pthread:-lpthread} -lc\ >> %{static:%{!nolibdld:-a shared -ldld -a archive -lc}\ >> %{!mt:%{!pthread:-a shared -lc -a archive}}}}}\ >> %{p:%{!pg:%{static:%{!mhp-ld:-a shared}%{mhp-ld:-a archive_shared}}\ >> -lprof %{static:-a archive}\ >> - %{fopenacc|fopenmp|ftree-parallelize-loops=*:\ >> + %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\ >> %{static:-a shared} -lrt %{static:-a archive}}\ >> %{mt|pthread:-lpthread} -lc\ >> %{static:%{!nolibdld:-a shared -ldld -a archive -lc}\ >> %{!mt:%{!pthread:-a shared -lc -a archive}}}}}\ >> %{pg:%{static:%{!mhp-ld:-a shared}%{mhp-ld:-a archive_shared}}\ >> -lgprof %{static:-a archive}\ >> - %{fopenacc|fopenmp|ftree-parallelize-loops=*:\ >> + %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\ >> %{static:-a shared} -lrt %{static:-a archive}}\ >> %{mt|pthread:-lpthread} -lc\ >> %{static:%{!nolibdld:-a shared -ldld -a archive -lc}\ >> @@ -81,21 +81,21 @@ along with GCC; see the file COPYING3. If not see >> #else >> #define LIB_SPEC \ >> "%{!shared:\ >> - %{!p:%{!pg:%{fopenacc|fopenmp|ftree-parallelize-loops=*:\ >> + %{!p:%{!pg:%{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\ >> %{static:-a shared} -lrt %{static:-a archive}}\ >> %{mt|pthread:-lpthread} -lc\ >> %{static:%{!nolibdld:-a shared -ldld -a archive -lc}\ >> %{!mt:%{!pthread:-a shared -lc -a archive}}}}}\ >> %{p:%{!pg:%{static:%{mgnu-ld:-a shared}%{!mgnu-ld:-a archive_shared}}\ >> -lprof %{static:-a archive}\ >> - %{fopenacc|fopenmp|ftree-parallelize-loops=*:\ >> + %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\ >> %{static:-a shared} -lrt %{static:-a archive}}\ >> %{mt|pthread:-lpthread} -lc\ >> %{static:%{!nolibdld:-a shared -ldld -a archive -lc}\ >> %{!mt:%{!pthread:-a shared -lc -a archive}}}}}\ >> %{pg:%{static:%{mgnu-ld:-a shared}%{!mgnu-ld:-a archive_shared}}\ >> -lgprof %{static:-a archive}\ >> - %{fopenacc|fopenmp|ftree-parallelize-loops=*:\ >> + %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\ >> %{static:-a shared} -lrt %{static:-a archive}}\ >> %{mt|pthread:-lpthread} -lc\ >> %{static:%{!nolibdld:-a shared -ldld -a archive -lc}\ > > > Grüße > Thomas >
On Fri, Apr 08, 2016 at 01:38:06PM +0200, Tom de Vries wrote: > On 08/04/16 12:35, Thomas Schwinge wrote: > I've looked at the patch, it looks good to me. > > I think it can be committed as obvious. The patch is ok for trunk. > >>commit df7d7943ae64f6df74d360e71f7c495c78647fda > >>Author: Thomas Schwinge <thomas@codesourcery.com> > >>Date: Thu Mar 17 17:17:36 2016 +0100 > >> > >> Complete changes to "Ignore -ftree-parallelize-loops={0,1} using gt" > >> > >> Apply the r225764 and r233573 changes to all relevant spec strings. > >> > >> gcc/ > >> * config/arc/arc.h (LINK_COMMAND_SPEC): Use gt to ignore > >> -ftree-parallelize-loops={0,1}. > >> * config/darwin.h (LINK_COMMAND_SPEC_A): Likewise. > >> * config/i386/mingw32.h (GOMP_SELF_SPECS): Likewise. > >> * config/ia64/hpux.h (LIB_SPEC): Likewise. > >> * config/pa/pa-hpux11.h (LIB_SPEC): Likewise. > >> * config/pa/pa64-hpux.h (LIB_SPEC): Likewise. Jakub
diff --git gcc/config/arc/arc.h gcc/config/arc/arc.h index 21c049f..1c2a38d 100644 --- gcc/config/arc/arc.h +++ gcc/config/arc/arc.h @@ -188,7 +188,8 @@ along with GCC; see the file COPYING3. If not see %(linker) %l " LINK_PIE_SPEC "%X %{o*} %{A} %{d} %{e*} %{m} %{N} %{n} %{r}\ %{s} %{t} %{u*} %{x} %{z} %{Z} %{!A:%{!nostdlib:%{!nostartfiles:%S}}}\ %{static:} %{L*} %(mfwrap) %(link_libgcc) %o\ - %{fopenacc|fopenmp|ftree-parallelize-loops=*:%:include(libgomp.spec)%(link_gomp)}\ + %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\ + %:include(libgomp.spec)%(link_gomp)}\ %(mflib)\ %{fprofile-arcs|fprofile-generate|coverage:-lgcov}\ %{!nostdlib:%{!nodefaultlibs:%(link_ssp) %(link_gcc_c_sequence)}}\ diff --git gcc/config/darwin.h gcc/config/darwin.h index 9f686d3..c9981b8 100644 --- gcc/config/darwin.h +++ gcc/config/darwin.h @@ -177,7 +177,7 @@ extern GTY(()) int darwin_ms_struct; %{o*}%{!o:-o a.out} \ %{!nostdlib:%{!nostartfiles:%S}} \ %{L*} %(link_libgcc) %o %{fprofile-arcs|fprofile-generate*|coverage:-lgcov} \ - %{fopenacc|fopenmp|ftree-parallelize-loops=*: \ + %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1): \ %{static|static-libgcc|static-libstdc++|static-libgfortran: libgomp.a%s; : -lgomp } } \ %{fgnu-tm: \ %{static|static-libgcc|static-libstdc++|static-libgfortran: libitm.a%s; : -litm } } \ diff --git gcc/config/i386/mingw32.h gcc/config/i386/mingw32.h index 4ac5f68..e048189 100644 --- gcc/config/i386/mingw32.h +++ gcc/config/i386/mingw32.h @@ -207,7 +207,7 @@ do { \ /* mingw32 uses the -mthreads option to enable thread support. */ #undef GOMP_SELF_SPECS -#define GOMP_SELF_SPECS "%{fopenacc|fopenmp|ftree-parallelize-loops=*: " \ +#define GOMP_SELF_SPECS "%{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1): " \ "-mthreads -pthread}" #undef GTM_SELF_SPECS #define GTM_SELF_SPECS "%{fgnu-tm:-mthreads -pthread}" diff --git gcc/config/ia64/hpux.h gcc/config/ia64/hpux.h index 8b90c99..008c4f6 100644 --- gcc/config/ia64/hpux.h +++ gcc/config/ia64/hpux.h @@ -92,7 +92,7 @@ do { \ #undef LIB_SPEC #define LIB_SPEC \ "%{!shared: \ - %{mt|pthread:%{fopenacc|fopenmp|ftree-parallelize-loops=*:-lrt} -lpthread} \ + %{mt|pthread:%{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):-lrt} -lpthread} \ %{p:%{!mlp64:-L/usr/lib/hpux32/libp} \ %{mlp64:-L/usr/lib/hpux64/libp} -lprof} \ %{pg:%{!mlp64:-L/usr/lib/hpux32/libp} \ diff --git gcc/config/pa/pa-hpux11.h gcc/config/pa/pa-hpux11.h index 3e5207a..600b677 100644 --- gcc/config/pa/pa-hpux11.h +++ gcc/config/pa/pa-hpux11.h @@ -147,7 +147,7 @@ along with GCC; see the file COPYING3. If not see #undef LIB_SPEC #define LIB_SPEC \ "%{!shared:\ - %{fopenacc|fopenmp|ftree-parallelize-loops=*:\ + %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\ %{static:-a archive_shared} -lrt %{static:-a archive}}\ %{mt|pthread:-lpthread} -lc\ %{static:%{!nolibdld:-a archive_shared -ldld -a archive -lc}\ diff --git gcc/config/pa/pa64-hpux.h gcc/config/pa/pa64-hpux.h index a5ccb4a..279406a 100644 --- gcc/config/pa/pa64-hpux.h +++ gcc/config/pa/pa64-hpux.h @@ -58,21 +58,21 @@ along with GCC; see the file COPYING3. If not see #if ((TARGET_DEFAULT | TARGET_CPU_DEFAULT) & MASK_GNU_LD) #define LIB_SPEC \ "%{!shared:\ - %{!p:%{!pg:%{fopenacc|fopenmp|ftree-parallelize-loops=*:\ + %{!p:%{!pg:%{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\ %{static:-a shared} -lrt %{static:-a archive}}\ %{mt|pthread:-lpthread} -lc\ %{static:%{!nolibdld:-a shared -ldld -a archive -lc}\ %{!mt:%{!pthread:-a shared -lc -a archive}}}}}\ %{p:%{!pg:%{static:%{!mhp-ld:-a shared}%{mhp-ld:-a archive_shared}}\ -lprof %{static:-a archive}\ - %{fopenacc|fopenmp|ftree-parallelize-loops=*:\ + %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\ %{static:-a shared} -lrt %{static:-a archive}}\ %{mt|pthread:-lpthread} -lc\ %{static:%{!nolibdld:-a shared -ldld -a archive -lc}\ %{!mt:%{!pthread:-a shared -lc -a archive}}}}}\ %{pg:%{static:%{!mhp-ld:-a shared}%{mhp-ld:-a archive_shared}}\ -lgprof %{static:-a archive}\ - %{fopenacc|fopenmp|ftree-parallelize-loops=*:\ + %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\ %{static:-a shared} -lrt %{static:-a archive}}\ %{mt|pthread:-lpthread} -lc\ %{static:%{!nolibdld:-a shared -ldld -a archive -lc}\ @@ -81,21 +81,21 @@ along with GCC; see the file COPYING3. If not see #else #define LIB_SPEC \ "%{!shared:\ - %{!p:%{!pg:%{fopenacc|fopenmp|ftree-parallelize-loops=*:\ + %{!p:%{!pg:%{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\ %{static:-a shared} -lrt %{static:-a archive}}\ %{mt|pthread:-lpthread} -lc\ %{static:%{!nolibdld:-a shared -ldld -a archive -lc}\ %{!mt:%{!pthread:-a shared -lc -a archive}}}}}\ %{p:%{!pg:%{static:%{mgnu-ld:-a shared}%{!mgnu-ld:-a archive_shared}}\ -lprof %{static:-a archive}\ - %{fopenacc|fopenmp|ftree-parallelize-loops=*:\ + %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\ %{static:-a shared} -lrt %{static:-a archive}}\ %{mt|pthread:-lpthread} -lc\ %{static:%{!nolibdld:-a shared -ldld -a archive -lc}\ %{!mt:%{!pthread:-a shared -lc -a archive}}}}}\ %{pg:%{static:%{mgnu-ld:-a shared}%{!mgnu-ld:-a archive_shared}}\ -lgprof %{static:-a archive}\ - %{fopenacc|fopenmp|ftree-parallelize-loops=*:\ + %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\ %{static:-a shared} -lrt %{static:-a archive}}\ %{mt|pthread:-lpthread} -lc\ %{static:%{!nolibdld:-a shared -ldld -a archive -lc}\