aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2019-11-02 00:34:21 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2019-11-02 00:34:21 +0100
commitd228ee80f8578be474595a517a228111fac26c5e (patch)
treeeed22a0e69a45d980b41b3ae4495b8ee3eed01fa
parent917dd789e55c88123d804a8a411e4a61ee7b6e43 (diff)
downloadgcc-d228ee80f8578be474595a517a228111fac26c5e.zip
gcc-d228ee80f8578be474595a517a228111fac26c5e.tar.gz
gcc-d228ee80f8578be474595a517a228111fac26c5e.tar.bz2
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
-rw-r--r--gcc/ChangeLog13
-rw-r--r--gcc/Makefile.in9
-rw-r--r--gcc/config/i386/t-intelmic7
-rw-r--r--gcc/config/i386/t-omp-device6
-rw-r--r--gcc/config/nvptx/t-nvptx5
-rw-r--r--gcc/config/nvptx/t-omp-device4
-rwxr-xr-xgcc/configure22
-rw-r--r--gcc/configure.ac18
8 files changed, 47 insertions, 37 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 17beb66..511ae54 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,18 @@
2019-11-02 Jakub Jelinek <jakub@redhat.com>
+ 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 551674b..035b58f 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 58f1668..9de4b76 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 0000000..26de162
--- /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 d692594..6c1010d 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 0000000..6d03b43
--- /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 1393522..5794582 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 695e994..8df849f 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