KhronosGroup / KhronosGroup/SPIRV-LLVM-Translator
Translation of OpSpecConstantOp to constant-folded IR to be implemented for integer ops
- Dominant language
- LLVM
- Stars
- 625
- Forks
- 279
- Avg merge
- 3d 5h
- Merged PRs (30d)
- 34
Description
Translation of OpSpecConstantOp to LLVM IR is not yet implemented.
There is currently no way to represent OpSpecConstantOp results in LLVM IR metadata. Therefore, OpSpecConstantOp results must be constant-folded as part of the translation to LLVM IR.
This issue is for implemented constant folding for the integer ops, which are required for both Kernel and Shader SPIR-V. (Note: only Shader SPIR-V is currently supported in this translator.)
The constant-folded translation of OpSpecConstantOp results should be usable in all places that an OpSpecConstantOp result may be used, including in array sizes.
Contributor guide
Research direction
Start by locating the translator's handling of OpSpecConstantOp and the existing constant-folding paths for integer operations. Determine how folded results are represented and used, including in array sizes; done means integer OpSpecConstantOp results translate successfully wherever such results may be used.
Written by the indexing model from the issue text.
Assessment
- Domain
- compilers
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100