Commit 6a1af28
committed
[SPIR-V] Fix void on extented inst sets
Inline SPIR-V on normal instructions had a condition to avoid
emitting a result type on instruction with a void return type.
This is because instructions like `OpStore` have a void return type, but
in SPIR-V have no result id.
OpExtInst when defining void instruction (like debugBreak()) always have
a result id, even with a void result type. This commits fixes the
condition to reflect this.
Fixes #80121 parent 60a1c85 commit 6a1af28
File tree
2 files changed
+16
-5
lines changed- tools/clang
- lib/SPIRV
- test/CodeGenSPIRV/inline-spirv
2 files changed
+16
-5
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1346 | 1346 | | |
1347 | 1347 | | |
1348 | 1348 | | |
1349 | | - | |
| 1349 | + | |
1350 | 1350 | | |
1351 | 1351 | | |
1352 | 1352 | | |
| |||
Lines changed: 15 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
5 | | - | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
6 | 10 | | |
7 | 11 | | |
8 | 12 | | |
| |||
25 | 29 | | |
26 | 30 | | |
27 | 31 | | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
28 | 36 | | |
29 | 37 | | |
30 | 38 | | |
31 | | - | |
| 39 | + | |
32 | 40 | | |
33 | 41 | | |
34 | 42 | | |
35 | | - | |
| 43 | + | |
36 | 44 | | |
37 | 45 | | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
38 | 49 | | |
39 | 50 | | |
0 commit comments