You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[SYCL] Fix ESIMD split detection in module properties computation (#15527)
We need to know if a module is an ESIMD split or not split at all to set
some image properties.
Right now we compute if a module is ESIMD or not by looking at the
functions in the module and checking they are all ESIMD, except for
allowed exceptions.
A new exception was found related to using `assert` in user code where
there is a scalar SYCL function that correctly remains in the ESIMD
split. The end result is we don't set the ESIMD property because we
don't think this is the ESIMD split and do the wrong thing at runtime.
Instead of just adding this new exception to the list, I reworked what I
consider to be flaky logic (that I wrote originally, whoops) to figure
out the splits.
Just save metadata in the module of what kind of split it is before we
try to compute module properties.
We already do something similar for the spec constant default split, and
I moved that to a centralized place as part of this change.
The reason we don't just pass in the `ModuleDesc` object as an argument
is because we want to untie properties creation from the
`sycl-post-link` tool so that it can be called in other places (which we
will do for thinLTO).
---------
Signed-off-by: Sarnie, Nick <[email protected]>
0 commit comments