-
Notifications
You must be signed in to change notification settings - Fork 787
[ESIMD] Move ESIMD-specific passes to sycl-post-link #3222
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
This is only a finalizing patch that flips the switch for doing ESIMD-specific transformations in sycl-post-link after device code splitting. All the preliminary patches have already been committed. ESIMD-specific passes have been removed from BackendUtil.cpp as they are now done in sycl-post-link.
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.
I am good with the FE changes.
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.
Driver changes LGTM
bf9d64d
@DenisBakhvalov, please, resolve merge conflicts. |
I updated the description of the PR. |
@DenisBakhvalov, please, take a look at pre-commit failure. |
Restarted the build |
// TODO: previously code generation and ESIMD lowering was | ||
// a part of the same %clang_cc1 invocation, but now it is | ||
// separate. So, we can split this test into 2, where one | ||
// will be testing code generation and the second ESIMD lowering. |
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.
I agree - good idea.
@bader, please merge if no objections. |
This patch is a continuation of prior series of patches to allow
having ESIMD and regular SYCL kernels in the same source code
and in the same program.
To mix two types of kernels we need to postpone lowering of
ESIMD specific constructs and do that after we split ESIMD from
regular SYCL code, which is done in sycl-post-link.
This is a finalizing patch that only flips the switch for
doing ESIMD-specific transformations in sycl-post-link
and removes those passes from the common optimization
pipeline in FE (BackendUtil.cpp). All the preliminary patches
have already been committed.
The test code that is enabled by this change can be found here:
intel/llvm-test-suite#141