This is the mail archive of the gcc@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]

Fails for SPEC2006 using -O3 -ftree-parallelize-loops


Hi,

I've run a build for spec cpu2006 with -O3 -ftree-parallelize-loops=16
and interestingly there were some fails that I will investigate later.
So I'm just reporting these, and asking for somebody who could fix
the link options for autopar.  I'm attaching a patch, not sure it will build.
Before going in the depths of the build machinery, I'm asking if
somebody could help with this.

Benchmarks ICEing:
400.perlbench
401.bzip2
403.gcc
445.gobmk
456.hmmer
458.sjeng
462.libquantum
464.h264ref
471.omnetpp
473.astar
483.xalancbmk
416.gamess
434.zeusmp
435.gromacs
436.cactusADM
437.leslie3d
444.namd
447.dealII
453.povray
454.calculix
459.GemsFDTD
465.tonto
470.lbm
481.wrf
482.sphinx3

Not ICEing, but failing on the link step, can't find the libgomp functions:
429.mcf
433.milc
450.soplex

For these a patch like this would be needed to automatically link the
gomp and pthread libs.

Index: gcc.c
===================================================================
--- gcc.c	(revision 130927)
+++ gcc.c	(working copy)
@@ -721,6 +721,7 @@ proper position among the other output f
     %(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\
+    %{ftree-parallelize-loops=:%:include(libgomp.spec)%(link_gomp)}\
     %{fopenmp:%:include(libgomp.spec)%(link_gomp)} %(mflib)\
     %{fprofile-arcs|fprofile-generate|coverage:-lgcov}\
     %{!nostdlib:%{!nodefaultlibs:%(link_ssp) %(link_gcc_c_sequence)}}\
@@ -873,8 +874,13 @@ static const char *const multilib_defaul
 #define GOMP_SELF_SPECS "%{fopenmp: -pthread}"
 #endif

+#ifndef PARLOOPS_SELF_SPECS
+#define PARLOOPS_SELF_SPECS "%{ftree-parallelize-loops=: -pthread}"
+#endif
+
+
 static const char *const driver_self_specs[] = {
-  DRIVER_SELF_SPECS, GOMP_SELF_SPECS
+  DRIVER_SELF_SPECS, GOMP_SELF_SPECS, PARLOOPS_SELF_SPECS
 };

 #ifndef OPTION_DEFAULT_SPECS


-- 
Sebastian
AMD - GNU Tools


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