-
Notifications
You must be signed in to change notification settings - Fork 787
Reintroduce reverted commit "[clang-offload-bundler] Standardize TargetID field for bundler #9631
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
Conversation
…etID field for bundler" This commit reintroduces the following LLVM open-source PR: https://reviews.llvm.org/D145770 Some changes on top of the community change have been made as well. Signed-off-by: Arvind Sudarsanam <[email protected]>
Keeping this in draft mode till testing passes. Thanks |
Signed-off-by: Arvind Sudarsanam <[email protected]>
Signed-off-by: Arvind Sudarsanam <[email protected]>
Signed-off-by: Arvind Sudarsanam <[email protected]>
Signed-off-by: Arvind Sudarsanam <[email protected]>
Signed-off-by: Arvind Sudarsanam <[email protected]>
Signed-off-by: Arvind Sudarsanam <[email protected]>
Two linux failures are unrelated to this PR. Investigating the windows failure. Previously the test was marked with Will investigate further. Thanks |
Signed-off-by: Arvind Sudarsanam <[email protected]>
@@ -0,0 +1,10 @@ | |||
// REQUIRES: x86-registered-target | |||
// UNSUPPORTED: target={{.*}}-darwin{{.*}}, target={{.*}}-aix{{.*}}, system-windows |
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.
Why won't this test work for Windows?
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.
As mentioned offline, this test was never running in the past. There are some issues in the way temporary files are generated that causes failure in windows. It is beyond the scope of this change and should be addressed as a separate issue.
Thanks
@@ -5981,7 +5991,7 @@ class OffloadingActionBuilder final { | |||
SectionTriple += "-"; | |||
SectionTriple += SyclTarget.BoundArch; | |||
} | |||
|
|||
SectionTriple = standardizedTriple(SectionTriple); |
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.
If the bundler is doing the 'standardizing' to determine if the bundled sections are there - why do we need to do any standardizing on the caller side?
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.
Here, we are not calling the bundler. We seem to be reading the sections created by bundler directly.
Thanks
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.
Ah, I see - so here we are scanning all of the objects/archives and retrieving the section names. These names could be names that are created with the updated standardized bundler behavior, requiring us to fix up any names for comparisons on the Driver end.
@intel/dpcpp-tools-reviewers Friendly ping. Thanks |
Signed-off-by: Arvind Sudarsanam <[email protected]>
Latest change only added comments. Test failures do not seem to be related to my changes. Thanks |
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.
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.
Discussed ESIMD emu test failures with Arvind offline, they are definitely not related to this PR and seem to be a CI issue. These tests should be disabled on the emulator in current HEAD. I didn't review the rest of the change.
I have looked at all the failures and none of them are related to my PR. Can you please take a look at this PR and merge if appropriate? Thanks |
I'm a bit hesitant to merge the PR with so many failed tests. Let's take a look at newer results first to make sure that those failures are indeed unrelated |
Fails:
Covered by #10138
Covered by #10157 |
@asudarsa - clang/test/Driver/clang-offload-bundler-standardize.c is failing in post-commit after this change. Could you please address this ASAP? |
@asudarsa ping, the post-commit is red for 6 days because of this. |
Looking at this now. It looks mostly like a issue in options being handled by driver. |
This patch fixes small issues after #9631 When standardizing the triples the format should be: ``` <arch><sub>-<vendor>-<sys>-<env> ``` * https://clang.llvm.org/docs/CrossCompilation.html#target-triple And then we add our offload arch afterwards, so the final triples should look something like: `nvptx64-nvidia-cuda--sm_50`, instead of `nvptx64-nvidia-cuda-sm_50-`. In addition never skip standardization so that triples like `nvptx64-nvidia-cuda-`, are also properly standardized to `nvptx64-nvidia-cuda--`.
…ize TargetID field for bundler (intel#9631)" This reverts commit d10a290.
…ad-bundler] Standardize TargetID field for bundler (#9631)"" (#10950) This reverts commit d10a290. When the compiler encounters library files built with older compiler, it is not able to understand the old triple and hence fails to grab the library files. This issue needs to be root-caused before trying to submit this again. Thanks --------- Signed-off-by: Sudarsanam, Arvind <[email protected]>
This patch fixes small issues after intel#9631 When standardizing the triples the format should be: ``` <arch><sub>-<vendor>-<sys>-<env> ``` * https://clang.llvm.org/docs/CrossCompilation.html#target-triple And then we add our offload arch afterwards, so the final triples should look something like: `nvptx64-nvidia-cuda--sm_50`, instead of `nvptx64-nvidia-cuda-sm_50-`. In addition never skip standardization so that triples like `nvptx64-nvidia-cuda-`, are also properly standardized to `nvptx64-nvidia-cuda--`.
This commit reintroduces the following LLVM open-source PR: https://reviews.llvm.org/D145770
Some changes on top of the community change have been made as well.
Thanks