]> git.ipfire.org Git - thirdparty/gcc.git/commit
[og9] Add support for constructors and destructors on GCN
authorJulian Brown <julian@codesourcery.com>
Tue, 23 Jul 2019 16:39:22 +0000 (09:39 -0700)
committerThomas Schwinge <thomas@codesourcery.com>
Tue, 3 Mar 2020 11:50:41 +0000 (12:50 +0100)
commit2c061c61598ddfc083ebaab0d3721f01957829d8
treeba8bbbc36dd5fe7d203f097ce3a0628e8492c2a2
parent8a74f62e60ae8606878e1a70d4aff749d99b7723
[og9] Add support for constructors and destructors on GCN

2019-05-22  Kwok Cheung Yeung  <kcy@codesourcery.com>
    Andrew Stubbs  <amd@codesourcery.com>

Backport from mainline:

* config.gcc (gcc_cv_initfini_array): Set for AMD GCN.
* config/gcn/gcn-run.c (init_array_kernel, fini_array_kernel): New.
(kernel): Rename to...
(main_kernel): ... this.
(load_image): Load _init_array and _fini_array kernels.
(run): Add argument for kernel to run.
(main): Run init_array_kernel before main_kernel, and
fini_array_kernel after.
* config/gcn/gcn.c (gcn_handle_amdgpu_hsa_kernel_attribute): Allow
amdgpu_hsa_kernel attribute on functions.
(gcn_disable_constructors): Delete.
(TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): Delete.
* config/gcn/crt0.c (size_t): Define.
(_init_array, _fini_array): New.
(__preinit_array_start, __preinit_array_end,
__init_array_start, __init_array_end,
__fini_array_start, __fini_array_end): Declare weak references.

(cherry picked from openacc-gcc-9-branch commit
9f1f40c95faab3d935f75280d5063a0344f020cf)
gcc/ChangeLog.omp
gcc/config.gcc
gcc/config/gcn/gcn-run.c
gcc/config/gcn/gcn.c
libgcc/config/gcn/crt0.c