]> git.ipfire.org Git - thirdparty/gcc.git/commit
[PATCH 4/7] OpenMP 4.0 offloading infrastructure: lto-wrapper.
authorIlya Verbin <ilya.verbin@intel.com>
Thu, 13 Nov 2014 13:47:46 +0000 (13:47 +0000)
committerKirill Yukhin <kyukhin@gcc.gnu.org>
Thu, 13 Nov 2014 13:47:46 +0000 (13:47 +0000)
commitfc8b3540d23168b5a35988b35336ba70c4174091
tree01939e74e91ddfabc8de28a27fd8c4f87e5feb2c
parentec6fe917cd323dfe1f84aebe9f3c2eda2b5cbdd1
[PATCH 4/7] OpenMP 4.0 offloading infrastructure: lto-wrapper.

gcc/
* gcc.c (spec_host_machine, accel_dir_suffix): New variables.
(process_command): Tweak path construction for the possibility
of being configured as an offload compiler.
(driver::maybe_putenv_OFFLOAD_TARGETS): New function.
(driver::main): Call maybe_putenv_OFFLOAD_TARGETS.
(driver::set_up_specs): Tweak path construction for the possibility of
being configured as an offload compiler.
* lto-wrapper.c (OFFLOAD_TARGET_NAMES_ENV): Define.
(offload_names, offloadbegin, offloadend): New static variables.
(free_array_of_ptrs, parse_env_var, access_check, compile_offload_image)
(compile_images_for_offload_targets, copy_file, find_offloadbeginend):
New static functions.
(run_gcc): Determine whether offload sections are present.  If so, run
compile_images_for_offload_targets and return the names of new generated
objects to linker.  If there are offload sections, but no LTO sections,
then return the copies of input objects without link-time recompilation.

lto-plugin/
* lto-plugin.c (OFFLOAD_SECTION, OFFLOAD_SECTION_LEN): Define.
(struct plugin_objfile): Add new field "offload".
(process_offload_section): New static function.
(claim_file_handler): Claim file if it contains offload sections.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Bernd Schmidt <bernds@codesourcery.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r217491
gcc/ChangeLog
gcc/gcc.c
gcc/lto-wrapper.c
lto-plugin/ChangeLog
lto-plugin/lto-plugin.c