Skip to content

[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

Merged
merged 2 commits into from
Dec 9, 2020

Conversation

mdtoguchi
Copy link
Contributor

…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.

sndmitriev
sndmitriev previously approved these changes Dec 7, 2020
Copy link
Contributor

@sndmitriev sndmitriev left a 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.
@mdtoguchi mdtoguchi force-pushed the remove-partial-link-static-lib-linux branch from 46414eb to 190e839 Compare December 8, 2020 01:14
@mdtoguchi
Copy link
Contributor Author

Delay in fixing the conflict due to proxy issues which has finally been resolved.

Copy link
Contributor

@AGindinson AGindinson left a 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
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit town:

Suggested change
// When dealing with fat static archives each archive is individually
// When dealing with fat static archives, each archive is individually

Copy link
Contributor

@sndmitriev sndmitriev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@bader bader merged commit f1aa7f4 into intel:sycl Dec 9, 2020
sndmitriev added a commit to sndmitriev/llvm that referenced this pull request Dec 21, 2020
…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]>
bader pushed a commit that referenced this pull request Jan 12, 2021
…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]>
jsji pushed a commit that referenced this pull request Nov 22, 2024
…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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants