-
Notifications
You must be signed in to change notification settings - Fork 787
[Driver][SYCL] Remove partial-link path when dealing with fat static … #2867
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Driver][SYCL] Remove partial-link path when dealing with fat static … #2867
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
…archives For Linux, we would use partial linking to generate the object that contained the device binaries from a fat static archive. We are moving away from using partial linking to provide a better overall solution that is the same in regards to link behaviors for both Linux and Windows. The change here will allow for the extraction of device binaries from archives occur in the same manner as it does for Windows. We do full extraction from the archives, and do a full llvm-link with those extracted device binaries.
46414eb
to
190e839
Compare
Delay in fixing the conflict due to proxy issues which has finally been resolved. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The patch LGTM, and the whole series of changes regarding the clang-offload-bundler
tool makes absolute sense now. Just minor stuff in comments.
@@ -5096,84 +5082,9 @@ void Driver::BuildActions(Compilation &C, DerivedArgList &Args, | |||
OffloadBuilder.appendTopLevelLinkAction(Actions); | |||
|
|||
// Go through all of the args, and create a Linker specific argument list. | |||
// When dealing with fat static archives, this is fed into the partial link | |||
// step on Linux or each archive is individually addressed on Windows. | |||
// When dealing with fat static archives each archive is individually |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit town:
// When dealing with fat static archives each archive is individually | |
// When dealing with fat static archives, each archive is individually |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
…d objects Use of partial linking for offload on Linux has recently been removed in the driver (please see intel#2867), so there are no remaining uses of "oo" unbundling mode anymore. This patch cleans up support for this mode from the bundler tool to reduce amount of differences between intel/llvm branch and llvm.org. Signed-off-by: Sergey Dmitriev <[email protected]>
…d objects (#2927) Use of partial linking for offload on Linux has recently been removed in the driver (please see #2867), so there are no remaining uses of "oo" unbundling mode anymore. This patch cleans up support for this mode from the bundler tool to reduce amount of differences between intel/llvm branch and llvm.org. Signed-off-by: Sergey Dmitriev <[email protected]>
…ters` (#2867) Do not lose variable type in forward translation - take it from the already translated "untyped" variable. Original commit: KhronosGroup/SPIRV-LLVM-Translator@9207ef2aa150773
…archives
For Linux, we would use partial linking to generate the object that contained
the device binaries from a fat static archive. We are moving away from
using partial linking to provide a better overall solution that is the
same in regards to link behaviors for both Linux and Windows.
The change here will allow for the extraction of device binaries from
archives occur in the same manner as it does for Windows. We do full
extraction from the archives, and do a full llvm-link with those extracted
device binaries.