[SYCLLowerIR] Fix a bug in hierarchical parallelism implementation #20484
+48
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When inside a
parallel_for_work_groupcontext, calls to functions that contain calls toparallel_for_work_itemare being lowered incorrectly into IR in that they are being put under the work-group leader branch in the IR which is semantically incorrect as this function should be called in every work item. This manifests when we have an indirect function call toparallel_for_work_itemtogether with at least one other direct call toparallel_for_work_itemin the sameparallel_for_work_groupcontext and it leads to a program that hangs. This PR fixes the issue and adds a couple of other tests to check this behavior.