From d228ee80f8578be474595a517a228111fac26c5e Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Sat, 2 Nov 2019 00:34:21 +0100 Subject: [PATCH] re PR bootstrap/92314 (missing omp-device-properties', needed by 's-omp-device-properties-h') PR bootstrap/92314 * configure.ac: Don't look for omp-device-properties files from installed offloading compilers. Instead add tmake_file snippets for configured offloading targets and use files they generate. * Makefile.in (install): Don't depend on install-omp-device-properties. (install-omp-device-properties): Remove goal. * config/i386/t-omp-device: New file. * config/i386/t-intelmic (omp-device-properties): Remove goal. * config/nvptx/t-omp-device: New file. * config/nvptx/t-nvptx (omp-device-properties): Remove goal. * configure: Regenerated. From-SVN: r277735 --- gcc/ChangeLog | 13 +++++++++++++ gcc/Makefile.in | 9 --------- gcc/config/i386/t-intelmic | 7 ------- gcc/config/i386/t-omp-device | 6 ++++++ gcc/config/nvptx/t-nvptx | 5 ----- gcc/config/nvptx/t-omp-device | 4 ++++ gcc/configure | 22 +++++++++++++--------- gcc/configure.ac | 18 +++++++++++------- 8 files changed, 47 insertions(+), 37 deletions(-) create mode 100644 gcc/config/i386/t-omp-device create mode 100644 gcc/config/nvptx/t-omp-device diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 17beb66d256..511ae542ae8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,18 @@ 2019-11-02 Jakub Jelinek + PR bootstrap/92314 + * configure.ac: Don't look for omp-device-properties files from + installed offloading compilers. Instead add tmake_file snippets + for configured offloading targets and use files they generate. + * Makefile.in (install): Don't depend on + install-omp-device-properties. + (install-omp-device-properties): Remove goal. + * config/i386/t-omp-device: New file. + * config/i386/t-intelmic (omp-device-properties): Remove goal. + * config/nvptx/t-omp-device: New file. + * config/nvptx/t-nvptx (omp-device-properties): Remove goal. + * configure: Regenerated. + * omp-general.h (omp_context_selector_set_compare): Declare. * omp-general.c (omp_construct_simd_compare, omp_context_selector_props_compare, omp_context_selector_set_compare, diff --git a/gcc/Makefile.in b/gcc/Makefile.in index 551674b0d39..035b58f50c0 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -3476,10 +3476,6 @@ ifeq ($(enable_plugin),yes) install: install-plugin endif -ifeq ($(enable_as_accelerator),yes) -install: install-omp-device-properties -endif - install-strip: override INSTALL_PROGRAM = $(INSTALL_STRIP_PROGRAM) ifneq ($(STRIP),) install-strip: STRIPPROG = $(STRIP) @@ -3665,11 +3661,6 @@ install-driver: installdirs xgcc$(exeext) fi; \ fi -# Install omp-device-properties file for accelerator compilers. -install-omp-device-properties: omp-device-properties installdirs - $(INSTALL_DATA) omp-device-properties \ - $(DESTDIR)$(libsubdir)/omp-device-properties - # Install the info files. # $(INSTALL_DATA) might be a relative pathname, so we can't cd into srcdir # to do the install. diff --git a/gcc/config/i386/t-intelmic b/gcc/config/i386/t-intelmic index 58f166803bf..9de4b76e310 100644 --- a/gcc/config/i386/t-intelmic +++ b/gcc/config/i386/t-intelmic @@ -8,10 +8,3 @@ ALL_HOST_OBJS += mkoffload.o mkoffload$(exeext): mkoffload.o collect-utils.o libcommon-target.a $(LIBIBERTY) $(LIBDEPS) $(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \ mkoffload.o collect-utils.o libcommon-target.a $(LIBIBERTY) $(LIBS) - -omp-device-properties: $(srcdir)/config/i386/i386-options.c - echo kind: cpu > omp-device-properties - echo arch: x86 x86_64 i386 i486 i586 i686 ia32 >> omp-device-properties - echo isa: sse4 `sed -n '/^static struct ix86_target_opts isa2\?_opts\[\] =/,/^};/p' \ - $(srcdir)/config/i386/i386-options.c | \ - sed -n 's/",.*$$//;s/\./_/;s/^ { "-m//p'` >> omp-device-properties diff --git a/gcc/config/i386/t-omp-device b/gcc/config/i386/t-omp-device new file mode 100644 index 00000000000..26de162b54b --- /dev/null +++ b/gcc/config/i386/t-omp-device @@ -0,0 +1,6 @@ +omp-device-properties-i386: $(srcdir)/config/i386/i386-options.c + echo kind: cpu > $@ + echo arch: x86 x86_64 i386 i486 i586 i686 ia32 >> $@ + echo isa: sse4 `sed -n '/^static struct ix86_target_opts isa2\?_opts\[\] =/,/^};/p' \ + $(srcdir)/config/i386/i386-options.c | \ + sed -n 's/",.*$$//;s/\./_/;s/^ { "-m//p'` >> $@ diff --git a/gcc/config/nvptx/t-nvptx b/gcc/config/nvptx/t-nvptx index d692594a377..6c1010ddd66 100644 --- a/gcc/config/nvptx/t-nvptx +++ b/gcc/config/nvptx/t-nvptx @@ -10,8 +10,3 @@ mkoffload$(exeext): mkoffload.o collect-utils.o libcommon-target.a $(LIBIBERTY) mkoffload.o collect-utils.o libcommon-target.a $(LIBIBERTY) $(LIBS) MULTILIB_OPTIONS = mgomp - -omp-device-properties: $(srcdir)/config/nvptx/nvptx.c - echo kind: gpu > omp-device-properties - echo arch: nvptx >> omp-device-properties - echo isa: sm_30 sm_35 >> omp-device-properties diff --git a/gcc/config/nvptx/t-omp-device b/gcc/config/nvptx/t-omp-device new file mode 100644 index 00000000000..6d03b434ffc --- /dev/null +++ b/gcc/config/nvptx/t-omp-device @@ -0,0 +1,4 @@ +omp-device-properties-nvptx: $(srcdir)/config/nvptx/nvptx.c + echo kind: gpu > $@ + echo arch: nvptx >> $@ + echo isa: sm_30 sm_35 >> $@ diff --git a/gcc/configure b/gcc/configure index 13935222228..5794582bdd5 100755 --- a/gcc/configure +++ b/gcc/configure @@ -7881,18 +7881,22 @@ fi for tgt in `echo $enable_offload_targets | sed 's/,/ /g'`; do - tgt_dir=`echo $tgt | sed -n 's/.*=//p'` tgt=`echo $tgt | sed 's/=.*//'` if echo "$tgt" | grep "^hsa" > /dev/null ; then enable_hsa=1 else enable_offloading=1 - if test -n "$tgt_dir"; then - omp_device_property="${tgt_dir}/lib/gcc/\$(real_target_noncanonical)/\$(version)/accel/${tgt}/omp-device-properties" - else - omp_device_property="\$(libsubdir)/accel/${tgt}/omp-device-properties" - fi + case "$tgt" in + *-intelmicemul-*) + omp_device_property=omp-device-properties-i386 + omp_device_property_tmake_file="${omp_device_property_tmake_file} \$(srcdir)/config/i386/t-omp-device" + ;; + nvptx*-*) + omp_device_property=omp-device-properties-nvptx + omp_device_property_tmake_file="${omp_device_property_tmake_file} \$(srcdir)/config/nvptx/t-omp-device" + ;; + esac omp_device_properties="${omp_device_properties} ${tgt}=${omp_device_property}" omp_device_property_deps="${omp_device_property_deps} ${omp_device_property}" fi @@ -12536,7 +12540,7 @@ do tmake_file_="${tmake_file_} \$(srcdir)/config/$f" fi done -tmake_file="${tmake_file_}" +tmake_file="${tmake_file_}${omp_device_property_tmake_file}" out_object_file=`basename $out_file .c`.o common_out_object_file=`basename $common_out_file .c`.o @@ -18864,7 +18868,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 18867 "configure" +#line 18871 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -18970,7 +18974,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 18973 "configure" +#line 18977 "configure" #include "confdefs.h" #if HAVE_DLFCN_H diff --git a/gcc/configure.ac b/gcc/configure.ac index 695e994ec9f..8df849f4858 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -1026,18 +1026,22 @@ AC_SUBST(real_target_noncanonical) AC_SUBST(accel_dir_suffix) for tgt in `echo $enable_offload_targets | sed 's/,/ /g'`; do - tgt_dir=`echo $tgt | sed -n 's/.*=//p'` tgt=`echo $tgt | sed 's/=.*//'` if echo "$tgt" | grep "^hsa" > /dev/null ; then enable_hsa=1 else enable_offloading=1 - if test -n "$tgt_dir"; then - omp_device_property="${tgt_dir}/lib/gcc/\$(real_target_noncanonical)/\$(version)/accel/${tgt}/omp-device-properties" - else - omp_device_property="\$(libsubdir)/accel/${tgt}/omp-device-properties" - fi + case "$tgt" in + *-intelmicemul-*) + omp_device_property=omp-device-properties-i386 + omp_device_property_tmake_file="${omp_device_property_tmake_file} \$(srcdir)/config/i386/t-omp-device" + ;; + nvptx*-*) + omp_device_property=omp-device-properties-nvptx + omp_device_property_tmake_file="${omp_device_property_tmake_file} \$(srcdir)/config/nvptx/t-omp-device" + ;; + esac omp_device_properties="${omp_device_properties} ${tgt}=${omp_device_property}" omp_device_property_deps="${omp_device_property_deps} ${omp_device_property}" fi @@ -2065,7 +2069,7 @@ do tmake_file_="${tmake_file_} \$(srcdir)/config/$f" fi done -tmake_file="${tmake_file_}" +tmake_file="${tmake_file_}${omp_device_property_tmake_file}" out_object_file=`basename $out_file .c`.o common_out_object_file=`basename $common_out_file .c`.o -- 2.30.2