GCN back-end code
authorAndrew Stubbs <ams@codesourcery.com>
Thu, 17 Jan 2019 12:33:19 +0000 (12:33 +0000)
committerAndrew Stubbs <ams@gcc.gnu.org>
Thu, 17 Jan 2019 12:33:19 +0000 (12:33 +0000)
commit5326695a6d3585f5c49633813909342098d1714c
tree0b323b46ebf2d5431ae2368ba580a0eda11e488c
parent3d6275e30a850b8e8051163bcd43ddbab2273046
GCN back-end code

This patch contains the major part of the GCN back-end.  The machine
description has been broken out to avoid the mailing list size limit.

The back-end contains various bits that support OpenACC and OpenMP, but the
middle-end and libgomp patches are missing, as is mkoffload.  I include them
here because they're harmless and carving up the files seems like unnecessary
effort.  The remaining offload support will be posted at a later date.

The gcn-run.c is a separate tool that can run a GCN program on a GPU using
the ROCm drivers and HSA runtime libraries.

2019-01-17  Andrew Stubbs  <ams@codesourcery.com>
    Kwok Cheung Yeung  <kcy@codesourcery.com>
    Julian Brown  <julian@codesourcery.com>
    Tom de Vries  <tom@codesourcery.com>
    Jan Hubicka  <hubicka@ucw.cz>
    Martin Jambor  <mjambor@suse.cz>

gcc/
* common/config/gcn/gcn-common.c: New file.
* config/gcn/driver-gcn.c: New file.
* config/gcn/gcn-builtins.def: New file.
* config/gcn/gcn-hsa.h: New file.
* config/gcn/gcn-modes.def: New file.
* config/gcn/gcn-opts.h: New file.
* config/gcn/gcn-passes.def: New file.
* config/gcn/gcn-protos.h: New file.
* config/gcn/gcn-run.c: New file.
* config/gcn/gcn-tree.c: New file.
* config/gcn/gcn.c: New file.
* config/gcn/gcn.h: New file.
* config/gcn/gcn.opt: New file.
* config/gcn/t-gcn-hsa: New file.

Co-Authored-By: Jan Hubicka <hubicka@ucw.cz>
Co-Authored-By: Julian Brown <julian@codesourcery.com>
Co-Authored-By: Kwok Cheung Yeung <kcy@codesourcery.com>
Co-Authored-By: Martin Jambor <mjambor@suse.cz>
Co-Authored-By: Tom de Vries <tom@codesourcery.com>
From-SVN: r268023
15 files changed:
gcc/ChangeLog
gcc/common/config/gcn/gcn-common.c [new file with mode: 0644]
gcc/config/gcn/driver-gcn.c [new file with mode: 0644]
gcc/config/gcn/gcn-builtins.def [new file with mode: 0644]
gcc/config/gcn/gcn-hsa.h [new file with mode: 0644]
gcc/config/gcn/gcn-modes.def [new file with mode: 0644]
gcc/config/gcn/gcn-opts.h [new file with mode: 0644]
gcc/config/gcn/gcn-passes.def [new file with mode: 0644]
gcc/config/gcn/gcn-protos.h [new file with mode: 0644]
gcc/config/gcn/gcn-run.c [new file with mode: 0644]
gcc/config/gcn/gcn-tree.c [new file with mode: 0644]
gcc/config/gcn/gcn.c [new file with mode: 0644]
gcc/config/gcn/gcn.h [new file with mode: 0644]
gcc/config/gcn/gcn.opt [new file with mode: 0644]
gcc/config/gcn/t-gcn-hsa [new file with mode: 0644]