libgomp/
authoriverbin <iverbin@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 14 Dec 2015 16:46:54 +0000 (16:46 +0000)
committeriverbin <iverbin@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 14 Dec 2015 16:46:54 +0000 (16:46 +0000)
commitf87b2900a166626a523c77dbb6456ca9b8f71d24
tree942a44d60d4c5cc795b051eb83959cabdbc8fe20
parent89b07b7d2e00f7024e9b0ea17d60c62a17f7abf5
libgomp/
* libgomp.h (gomp_device_state): New enum.
(struct gomp_device_descr): Replace is_initialized with state.
(gomp_fini_device): Remove declaration.
* oacc-host.c (host_dispatch): Use state instead of is_initialized.
* oacc-init.c (acc_init_1): Use state instead of is_initialized.
(acc_shutdown_1): Likewise.  Inline gomp_fini_device.
(acc_set_device_type): Use state instead of is_initialized.
(acc_set_device_num): Likewise.
* target.c (resolve_device): Use state instead of is_initialized.
Do not initialize finalized device.
(gomp_map_vars): Do nothing if device is finalized.
(gomp_unmap_vars): Likewise.
(gomp_update): Likewise.
(GOMP_offload_register_ver): Use state instead of is_initialized.
(GOMP_offload_unregister_ver): Likewise.
(gomp_init_device): Likewise.
(gomp_unload_device): Likewise.
(gomp_fini_device): Remove.
(gomp_get_target_fn_addr): Do nothing if device is finalized.
(GOMP_target): Go to host fallback if device is finalized.
(GOMP_target_ext): Likewise.
(gomp_exit_data): Do nothing if device is finalized.
(gomp_target_task_fn): Go to host fallback if device is finalized.
(gomp_target_fini): New static function.
(gomp_target_init): Use state instead of is_initialized.
Call gomp_target_fini at exit.
liboffloadmic/
* plugin/libgomp-plugin-intelmic.cpp (unregister_main_image): Remove.
(register_main_image): Do not call unregister_main_image at exit.
(GOMP_OFFLOAD_fini_device): Allow for OpenMP.  Unregister main image.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231623 138bc75d-0d04-0410-961f-82ee72b054a4
libgomp/ChangeLog
libgomp/libgomp.h
libgomp/oacc-host.c
libgomp/oacc-init.c
libgomp/target.c
liboffloadmic/ChangeLog
liboffloadmic/plugin/libgomp-plugin-intelmic.cpp