Commit 1977533
authored
[SYCLLowerIR] Fix a hierarchical parallelism bug (#20550)
There is a bug in my earlier PR #20484. When encountering an indirect
call to a `parallel_for_work_item` function, the range of instructions
that will be subjected to the lowering pass must be closed, whereas the
current code simply skips over this instruction as its iterating the
instructions of the basic block which effectively keeps extending the
range. There is an E2E test that reflects this bug where it used to hang
before this fix but so far I'm not aware of an LLVM-IR snippet of code
that triggers it so for the moment, I'm just adding a SYCL-level test.1 parent c8e3310 commit 1977533
File tree
2 files changed
+26
-7
lines changed- llvm/lib/SYCLLowerIR
- sycl/test-e2e/HierPar
2 files changed
+26
-7
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
851 | 851 | | |
852 | 852 | | |
853 | 853 | | |
854 | | - | |
855 | | - | |
856 | | - | |
857 | | - | |
858 | | - | |
| 854 | + | |
| 855 | + | |
| 856 | + | |
| 857 | + | |
859 | 858 | | |
860 | | - | |
861 | | - | |
| 859 | + | |
| 860 | + | |
| 861 | + | |
| 862 | + | |
| 863 | + | |
| 864 | + | |
| 865 | + | |
| 866 | + | |
| 867 | + | |
| 868 | + | |
| 869 | + | |
862 | 870 | | |
863 | 871 | | |
864 | 872 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
48 | 48 | | |
49 | 49 | | |
50 | 50 | | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
51 | 62 | | |
52 | 63 | | |
53 | 64 | | |
| |||
0 commit comments