-
Notifications
You must be signed in to change notification settings - Fork 734
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
[SYCL] Move module splitting functionality from sycl-post-link to SYCLLowerIR #12622
Conversation
…YCLLowerIR This is a part of migration to New Offloading model and clang-linker-wrapper tool.
Good refactoring Maksim. Are there any related tests that need to be moved as well? Thanks |
@asudarsa llvm/llvm/tools/sycl-post-link/sycl-post-link.cpp Lines 1012 to 1015 in b34ffd5
|
@asudarsa |
@intel/dpcpp-esimd-reviewers friendly ping. |
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.
esimd owned changes lgtm, sorry for late review
@@ -478,13 +484,18 @@ void ModuleSplitterBase::verifyNoCrossModuleDeviceGlobalUsage() { | |||
continue; | |||
} | |||
if (auto *F = dyn_cast<const Function>(U)) { | |||
if (EntryPointModules.count(F)) | |||
CheckEntryPointModule(F); | |||
if (EntryPointModules.count(F)) { |
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.
A suggestion.
Going forward it might help if you can split such submissions into multiple commits: (1) Code motion without changes to error handling and (2) Handle changes to error handling. it might make it easy to triage errors later on. 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. Thanks for the explanation.
This is a part of migration to New Offloading model and clang-linker-wrapper tool.
The signature of the verifyNoCrossModuleDeviceGlobalUsage is changed so that it returns an Error instead of aborting the executable.