Commit 87e1da3
authored
`GroupMemoryBarrierWithGroupSync` is required to be marked as convergent
so that it can't generate duplicate calls or be moved to identical
control flow.
Without it, we generate undefined behaviour during optimization. For
instance: https://godbolt.org/z/9j3vsq1h3.
Testing that the convergent attribute is added is sufficient. There
already exists testing,
[here](https://github.com/inbelic/llvm-project/blob/main/llvm/test/Transforms/SimplifyCFG/attr-convergent.ll),
that it will not be moved as described in the above link.
1 parent e99c43c commit 87e1da3
File tree
4 files changed
+6
-4
lines changed- clang
- lib/Headers/hlsl
- test/CodeGenHLSL/builtins
- llvm/include/llvm/IR
4 files changed
+6
-4
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2805 | 2805 | | |
2806 | 2806 | | |
2807 | 2807 | | |
2808 | | - | |
| 2808 | + | |
2809 | 2809 | | |
2810 | 2810 | | |
2811 | 2811 | | |
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | | - | |
| 20 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
160 | 160 | | |
161 | 161 | | |
162 | 162 | | |
163 | | - | |
| 163 | + | |
| 164 | + | |
164 | 165 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
127 | 127 | | |
128 | 128 | | |
129 | 129 | | |
130 | | - | |
| 130 | + | |
| 131 | + | |
131 | 132 | | |
132 | 133 | | |
133 | 134 | | |
| |||
0 commit comments