From f6a24a94a63abf72a349346c0af46426a63aba1a Mon Sep 17 00:00:00 2001 From: Martin Jambor Date: Fri, 27 Jan 2017 15:35:07 +0100 Subject: [PATCH] [brigfe] Small fixes 2017-01-27 Pekka Jaaskelainen * configure.ac: Moved the white list of enabling BRIG FE to libhsail-rt/configure.tgt. * configure: Regenerated. * MAINTAINERS: Updated maintainers for BRIG FE and libhsail-rt. gcc/ * builtin-types.def: Use unsigned_char_type_node for BT_UINT8. Use uint16_type_node for BT_UINT16. gcc/brig/ * config-lang.in: Removed stale target-libbrig reference. libhsail-rt/ * configure.tgt: Moved the white list of supported targets here from configure.ac. Added i[3456789]86-*-linux* as a supported env for the BRIG FE. * README: Added a proper description of what libhsail-rt is. From-SVN: r244978 --- ChangeLog | 9 ++++++++- MAINTAINERS | 4 ++++ configure | 33 ++++++++++++++++++++------------- configure.ac | 30 +++++++++++++++++------------- gcc/ChangeLog | 5 +++++ gcc/brig/ChangeLog | 4 ++++ gcc/brig/config-lang.in | 2 +- gcc/builtin-types.def | 4 ++-- gcc/testsuite/ChangeLog | 2 +- include/ChangeLog | 2 +- libhsail-rt/ChangeLog | 7 +++++++ libhsail-rt/README | 14 ++++++++++---- libhsail-rt/configure.tgt | 38 ++++++++++++++++++++++++++++++++++++++ 13 files changed, 118 insertions(+), 36 deletions(-) create mode 100644 libhsail-rt/configure.tgt diff --git a/ChangeLog b/ChangeLog index a86309a..b9a9215 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,11 @@ -2017-01-24 Pekka Jääskeläinen +2017-01-27 Pekka Jääskeläinen + + * configure.ac: Moved the white list of enabling BRIG FE to + libhsail-rt/configure.tgt. + * configure: Regenerated. + * MAINTAINERS: Updated maintainers for BRIG FE and libhsail-rt. + +2017-01-24 Pekka Jääskeläinen Martin Jambor * Makefile.def (target_modules): Added libhsail-rt. diff --git a/MAINTAINERS b/MAINTAINERS index 0a8f0cc..9b99526 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -143,6 +143,8 @@ C front end/ISO C99 Joseph Myers C front end/ISO C99 Richard Henderson Ada front end Arnaud Charlet Ada front end Eric Botcazou +BRIG (HSAIL) front end Pekka Jääskeläinen +BRIG (HSAIL) front end Martin Jambor c++ Jason Merrill c++ Nathan Sidwell go Ian Lance Taylor @@ -170,6 +172,8 @@ libobjc Andrew Pinski libquadmath Tobias Burnus libquadmath Jakub Jelinek libvtv Caroline Tice +libhsail-rt Pekka Jääskeläinen +libhsail-rt Martin Jambor line map Dodji Seketeli soft-fp Joseph Myers scheduler (+ haifa) Jim Wilson diff --git a/configure b/configure index d757369..5a06f52 100755 --- a/configure +++ b/configure @@ -3304,6 +3304,26 @@ $as_echo "yes" >&6; } fi fi +# Disable libhsail-rt on unsupported systems. +if test -d ${srcdir}/libhsail-rt; then + if test x$enable_libhsail_rt = x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libhsail-rt support" >&5 +$as_echo_n "checking for libhsail-rt support... " >&6; } + if (srcdir=${srcdir}/libhsail-rt; \ + . ${srcdir}/configure.tgt; \ + test -n "$UNSUPPORTED") + then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + unsupported_languages="$unsupported_languages brig" + # This implicitly disables also target-libhsail-rt as it won't + # get added to the build without BRIG FE. + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + fi + fi +fi # Disable libquadmath for some systems. @@ -3483,19 +3503,6 @@ if test x$enable_libgo = x; then esac fi -# Disable the BRIG frontend and libhsail-rt on untested or known -# broken systems. Currently it has been tested only on x86_64 Linux -# of the upstream gcc targets. More targets shall be added after testing. -case "${target}" in - x86_64-*-linux*) - ;; - *) - unsupported_languages="$unsupported_languages brig" - # This implicitly disables also target-libhsail-rt as it won't - # get added to the build without BRIG FE. - ;; -esac - # Default libgloss CPU subdirectory. libgloss_dir="$target_cpu" diff --git a/configure.ac b/configure.ac index 5818332..17a9f17 100644 --- a/configure.ac +++ b/configure.ac @@ -634,6 +634,23 @@ if test -d ${srcdir}/libmpx; then fi fi +# Disable libhsail-rt on unsupported systems. +if test -d ${srcdir}/libhsail-rt; then + if test x$enable_libhsail_rt = x; then + AC_MSG_CHECKING([for libhsail-rt support]) + if (srcdir=${srcdir}/libhsail-rt; \ + . ${srcdir}/configure.tgt; \ + test -n "$UNSUPPORTED") + then + AC_MSG_RESULT([no]) + unsupported_languages="$unsupported_languages brig" + # This implicitly disables also target-libhsail-rt as it won't + # get added to the build without BRIG FE. + else + AC_MSG_RESULT([yes]) + fi + fi +fi # Disable libquadmath for some systems. @@ -813,19 +830,6 @@ if test x$enable_libgo = x; then esac fi -# Disable the BRIG frontend and libhsail-rt on untested or known -# broken systems. Currently it has been tested only on x86_64 Linux -# of the upstream gcc targets. More targets shall be added after testing. -case "${target}" in - x86_64-*-linux*) - ;; - *) - unsupported_languages="$unsupported_languages brig" - # This implicitly disables also target-libhsail-rt as it won't - # get added to the build without BRIG FE. - ;; -esac - # Default libgloss CPU subdirectory. libgloss_dir="$target_cpu" diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c70fb93..0a55378 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2017-01-27 Pekka Jääskeläinen + + * builtin-types.def: Use unsigned_char_type_node for BT_UINT8. Use + uint16_type_node for BT_UINT16. + 2017-01-27 David Malcolm * doc/sourcebuild.texi (Testsuites): Add "GIMPLE Tests" and diff --git a/gcc/brig/ChangeLog b/gcc/brig/ChangeLog index d947c5a..2906f50 100644 --- a/gcc/brig/ChangeLog +++ b/gcc/brig/ChangeLog @@ -1,3 +1,7 @@ +2017-01-27 Pekka Jääskeläinen + + * config-lang.in: Removed stale target-libbrig reference. + 2017-01-26 Jakub Jelinek Update copyright years. diff --git a/gcc/brig/config-lang.in b/gcc/brig/config-lang.in index ab139b3..e390a16 100644 --- a/gcc/brig/config-lang.in +++ b/gcc/brig/config-lang.in @@ -28,7 +28,7 @@ language="brig" compilers="brig1\$(exeext)" -target_libs="target-libbrig target-libhsail-rt" +target_libs="target-libhsail-rt" # The BRIG frontend is written in C++, so we need to build the C++ # compiler during stage 1. Note: when cross-compiling / not bootstrapping, diff --git a/gcc/builtin-types.def b/gcc/builtin-types.def index ee6d052..ac98944 100644 --- a/gcc/builtin-types.def +++ b/gcc/builtin-types.def @@ -69,8 +69,8 @@ DEF_PRIMITIVE_TYPE (BT_INTMAX, intmax_type_node) DEF_PRIMITIVE_TYPE (BT_UINTMAX, uintmax_type_node) DEF_PRIMITIVE_TYPE (BT_INT8, signed_char_type_node) DEF_PRIMITIVE_TYPE (BT_INT16, short_integer_type_node) -DEF_PRIMITIVE_TYPE (BT_UINT8, char_type_node) -DEF_PRIMITIVE_TYPE (BT_UINT16, short_unsigned_type_node) +DEF_PRIMITIVE_TYPE (BT_UINT8, unsigned_char_type_node) +DEF_PRIMITIVE_TYPE (BT_UINT16, uint16_type_node) DEF_PRIMITIVE_TYPE (BT_UINT32, uint32_type_node) DEF_PRIMITIVE_TYPE (BT_UINT64, uint64_type_node) DEF_PRIMITIVE_TYPE (BT_WORD, (*lang_hooks.types.type_for_mode) (word_mode, 1)) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 5a68e58..e3ad4ca 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -273,7 +273,7 @@ PR tree-optimization/79159 * g++.dg/tree-ssa/pr79159.C: New test. -2017-01-24 Pekka Jääskeläinen +2017-01-24 Pekka Jääskeläinen Martin Jambor * lib/brig-dg.exp: New file. diff --git a/include/ChangeLog b/include/ChangeLog index 4c1879b..54cccc0 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,4 +1,4 @@ -2017-01-24 Pekka Jääskeläinen +2017-01-24 Pekka Jääskeläinen Martin Jambor * hsa.h: Moved here from libgomp/plugin/hsa.h. diff --git a/libhsail-rt/ChangeLog b/libhsail-rt/ChangeLog index b986286..c8f2708 100644 --- a/libhsail-rt/ChangeLog +++ b/libhsail-rt/ChangeLog @@ -1,3 +1,10 @@ +2017-01-27 Pekka Jääskeläinen + + * configure.tgt: Moved the white list of supported targets here + from configure.ac. Added i[3456789]86-*-linux* as a supported env + for the BRIG FE. + * README: Added a proper description of what libhsail-rt is. + 2017-01-26 Jakub Jelinek Update copyright years. diff --git a/libhsail-rt/README b/libhsail-rt/README index 2792253..64c2107 100644 --- a/libhsail-rt/README +++ b/libhsail-rt/README @@ -1,4 +1,10 @@ -Run autoconf2.64 && automake-1.11 to regenerate the buildfiles. -You might need to manually tweak the minor automake version number -in configure.ac and aclocal.m4 (search for 1.11.6) in case your -local 1.11 minor version doesn't match. \ No newline at end of file +This library implements the agent-side runtime functionality required +to run HSA finalized programs produced by the BRIG frontend. + +The library contains both the code required to run kernels on the agent +and also functions implementing more complex HSAIL instructions. + +rt/workitems.c contains the runtime entry function that manages multiple +work-item execution using fibers or simple for-loops (in case of work groups +without barriers). Otherwise, the rest of the source files mostly contain +functions that typically map directly to HSAIL instructions. diff --git a/libhsail-rt/configure.tgt b/libhsail-rt/configure.tgt new file mode 100644 index 0000000..7c481ca --- /dev/null +++ b/libhsail-rt/configure.tgt @@ -0,0 +1,38 @@ +# -*- shell-script -*- +# Copyright (C) 2012-2017 Free Software Foundation, Inc. +# Contributed by Pekka Jaaskelainen +# for General Processor Tech. +# +# This file is part of the libhsail-rt. +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files +# (the "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to +# permit persons to whom the Software is furnished to do so, subject to +# the following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +# OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +# USE OR OTHER DEALINGS IN THE SOFTWARE. + +# Disable the BRIG frontend and libhsail-rt on untested or known +# broken systems. Currently it has been tested only on x86_64 Linux +# of the upstream gcc targets. More targets shall be added after testing. +case "${target}" in + i[[3456789]]86-*linux*) + ;; + x86_64-*-linux*) + ;; + *) + UNSUPPORTED=1 + ;; +esac -- 2.7.4