Details
- Reviewers
antiagainst - Commits
- rG1cb13fddb9d8: [mlir] spirv: Add some atomic ops
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Thanks for adding these!
mlir/include/mlir/Dialect/SPIRV/IR/SPIRVAtomicOps.td | ||
---|---|---|
157 | This should be SPIRV_AnyPtr. | |
161 | $value and $comparator should be SPV_Integer per the spec. | |
166 | This should be SPIRV_Integer. | |
320 | This should be SPV_AnyPtr. | |
323 | $value and $result should be SPV_Numerical per the spec. | |
mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp | ||
1270 | FYI: you can directly use let parser = in the TD file to override and call parseAtomicCompareExchangeImpl to avoid this extra level of function call. Similarly for the printer / verifier. | |
1340 | Could you also add tests in test/Dialect/SPIRV/IR/atomic-ops.mlir for the error cases? Generally if the verification is enforced by autogenerated TD rules, we don't need to check them in IR tests. But for the rules manually implemented in C++, we need to check them with new IR tests. |
This should be SPIRV_AnyPtr.