Invalid SPIR-V for some phi nodes/selects
Open
bug
- Dominant language
- LLVM
- Stars
- 729
- Forks
- 110
- Avg merge
- 17h 51m
- Merged PRs (30d)
- 23
Description
I noticed this for at least physical storage buffer.
```
constant int b[5] = {1,2,3,4,5};
__attribute__((noinline))
int foo(constant int* p, int x) {
return p[x];
}
kernel void test(global int* out, constant int* other, int x) {
int gid = get_global_id(0);
out[gid] = foo(x > 5 ? other : p, gid);
}
```
The geps generated for the selection of pointers has differing types due to the module scope constant vs the kernel argument.
Contributor guide
Assessment
This issue has not been assessed yet.