[SYCL][Driver] Improve fat static library support#1319
Merged
bader merged 7 commits intointel:syclfrom Mar 19, 2020
Merged
Conversation
When processing libraries on the command line, take into account any thusly named static archive (*.a) file and consider that for offloading. We will also scan the appropriate linker options passed in so we can determine if the library should be considered as whole-archive. The static libraries found on the command line will be 'sniffed' to determine if the static library is fat. This effectively negates the need to use -foffload-static-lib and -foffload-whole-static-lib which we should consider deprecated now. Add a deprecated diagnostic when -foffload-static-lib is used Refactor to bring along common code for the device check. Narrows the focus of what is considered to be processed from the linker only arguments. Pulls in objects from -Wl, instead of only archives, but is only part of a potential partial link step and is not fully processed. Signed-off-by: Michael D Toguchi <michael.d.toguchi@intel.com>
Signed-off-by: Michael D Toguchi <michael.d.toguchi@intel.com>
AGindinson
reviewed
Mar 16, 2020
Contributor
AGindinson
left a comment
There was a problem hiding this comment.
The overall logic & phases changes look good, the code as a whole feels better structured now! I'll update with more specific comments (if any) later today.
AGindinson
reviewed
Mar 16, 2020
Signed-off-by: Michael D Toguchi <michael.d.toguchi@intel.com>
AGindinson
reviewed
Mar 17, 2020
Contributor
AGindinson
left a comment
There was a problem hiding this comment.
Just some more minor stuff, the structure looks good!
Make adjustments according to recent reviews, also add -rpath as an additional -Wl check, adding a test for that as well. Signed-off-by: Michael D Toguchi <michael.d.toguchi@intel.com>
Signed-off-by: Michael D Toguchi <michael.d.toguchi@intel.com>
AGindinson
previously approved these changes
Mar 17, 2020
bader
reviewed
Mar 18, 2020
Signed-off-by: Michael D Toguchi <michael.d.toguchi@intel.com>
Use SmallVector for bundler args, add TODOs for -foffload-static-lib removal Signed-off-by: Michael D Toguchi <michael.d.toguchi@intel.com>
bader
approved these changes
Mar 18, 2020
AGindinson
approved these changes
Mar 19, 2020
alexbatashev
pushed a commit
to alexbatashev/llvm
that referenced
this pull request
Mar 20, 2020
* sycl: (1209 commits) [SYCL] Check exit status get_device_count_by_type [SYCL][Doc] Update sub-group extension docs (intel#1330) [SYCL][Doc] Add leader to GroupAlgorithms (intel#1297) [SYCL] Add SYCL headers search path to default compilation options (intel#1347) [SYCL][PI] Add interoperability with generic handles to device and program classes (intel#1244) Move SPIR devicelib to top level (intel#1276) [SYCL][Driver] Improve fat static library support (intel#1319) [SYCL] Remove image_api LIT (intel#1349) [SYCL] Fix headers location for check-sycl-deploy target [SYCL] Allow gcc asm statements in kernel code (intel#1341) [SYCL] Add Intel FPGA force_pow2_depth attribute (intel#1284) [SPIR-V][NFC] Fix for building llvm-spirv with -DLLVM_LINK_LLVM_DYLIB=ON (intel#1323) [SYCL][NFC] Fix execution graph dump (intel#1331) [SYCL][Doc] Release SYCL_INTEL_enqueue_barrier extension document (intel#1199) [SYCL][USM] Fix USM malloc_shared and free to handle zero byte (intel#1273) [SYCL] Fix undefined symbols in async_work_group_copy (intel#1243) [SYCL] Mark calls to barrier and work-item functions as convergent [SYCL][CUDA] Fix CUDA plug-in build with enabled assertions (intel#1325) [SYCL][Test] Add OpenCL requirement to test/ordered_queue/prop.cpp (intel#1335) [SYCL][CUDA] Improve CUDA backend documentation (intel#1293) ...
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
When processing libraries on the command line, take into account any thusly
named static archive (*.a) file and consider that for offloading. We will
also scan the appropriate linker options passed in so we can determine if
the library should be considered as whole-archive. The static libraries
found on the command line will be 'sniffed' to determine if the static
library is fat.
This effectively negates the need to use -foffload-static-lib and
-foffload-whole-static-lib which we should consider deprecated now.
Add a deprecated diagnostic when -foffload-static-lib is used
Refactor to bring along common code for the device check. Narrows the focus
of what is considered to be processed from the linker only arguments. Pulls
in objects from -Wl, instead of only archives, but is only part of a potential
partial link step and is not fully processed.
Signed-off-by: Michael D Toguchi michael.d.toguchi@intel.com