Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Adjust License.txt file to use the LLVM license | Mehdi Amini | 2019-12-23 | 1 | -13/+4 |
| | | | | PiperOrigin-RevId: 286906740 | ||||
* | NFC: Remove unnecessary 'llvm::' prefix from uses of llvm symbols declared ↵ | River Riddle | 2019-12-18 | 1 | -4/+3 |
| | | | | | | | | in `mlir` namespace. Aside from being cleaner, this also makes the codebase more consistent. PiperOrigin-RevId: 286206974 | ||||
* | Introduce attributes that specify the final ABI for a spirv::ModuleOp. | Mahesh Ravishankar | 2019-11-25 | 1 | -3/+4 |
| | | | | | | | | | | | | | | | | | | | | | | | | To simplify the lowering into SPIR-V, while still respecting the ABI requirements of SPIR-V/Vulkan, split the process into two 1) While lowering a function to SPIR-V (when the function is an entry point function), allow specifying attributes on arguments and function itself that describe the ABI of the function. 2) Add a pass that materializes the ABI described in the function. Two attributes are needed. 1) Attribute on arguments of the entry point function that describe the descriptor_set, binding, storage class, etc, of the spv.globalVariable this argument will be replaced by 2) Attribute on function that specifies workgroup size, etc. (for now only workgroup size). Add the pass -spirv-lower-abi-attrs to materialize the ABI described by the attributes. This change makes the SPIRVBasicTypeConverter class unnecessary and is removed, further simplifying the SPIR-V lowering path. PiperOrigin-RevId: 282387587 | ||||
* | Makes spv.module generated by GPU->SPIRV conversion spec compliant | Mahesh Ravishankar | 2019-10-16 | 1 | -0/+165 |
Makes the spv.module generated by the GPU to SPIR-V conversion SPIR-V spec compliant (validated using spirv-val from Vulkan tools). 1) Separate out the VulkanLayoutUtils from DecorateSPIRVCompositeTypeLayoutPass to make it reusable within the Type converter in SPIR-V lowering infrastructure. This is used to compute the layout of the !spv.struct used in global variable type description. 2) Set the capabilities of the spv.module to Shader (needed for use of Logical Memory Model, and the extensions to SPV_KHR_storage_buffer_storage_class for use of Storage Buffer) PiperOrigin-RevId: 275081486 |