[PATCH] D75872: [mlir][spirv] Use spv.vce in spv.module and wire up (de)serialization
Lei Zhang via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 9 14:04:48 PDT 2020
antiagainst created this revision.
antiagainst added a reviewer: denis13.
Herald added subscribers: llvm-commits, bader, Joonsoo, liufengdb, aartbik, lucyrfox, mgester, arpith-jacob, csigg, nicolasvasilache, shauheen, burmako, jpienaar, rriddle, mehdi_amini.
Herald added a reviewer: mravishankar.
Herald added a reviewer: herhut.
Herald added a project: LLVM.
This commits changes the definition of spv.module to use the #spv.vce
attribute for specifying (version, capabilities, extensions) triple
so that we can have better API and custom assembly form. Since now
we have proper modelling of the triple, (de)serialization is wired up
to use them.
With the new UpdateVCEPass, we don't need to manually specify the
required extensions and capabilities anymore when creating a spv.module.
One just need to call UpdateVCEPass before serialization to get the
needed version/extensions/capabilities.
Depends On D75871 <https://reviews.llvm.org/D75871>
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D75872
Files:
mlir/include/mlir/Dialect/SPIRV/SPIRVBase.td
mlir/include/mlir/Dialect/SPIRV/SPIRVBinaryUtils.h
mlir/include/mlir/Dialect/SPIRV/SPIRVOps.h
mlir/include/mlir/Dialect/SPIRV/SPIRVStructureOps.td
mlir/lib/Conversion/GPUToSPIRV/ConvertGPUToSPIRV.cpp
mlir/lib/Dialect/SPIRV/SPIRVOps.cpp
mlir/lib/Dialect/SPIRV/Serialization/Deserializer.cpp
mlir/lib/Dialect/SPIRV/Serialization/SPIRVBinaryUtils.cpp
mlir/lib/Dialect/SPIRV/Serialization/Serializer.cpp
mlir/lib/Dialect/SPIRV/Transforms/UpdateVCEPass.cpp
mlir/test/Conversion/GPUToSPIRV/builtins.mlir
mlir/test/Conversion/GPUToSPIRV/load-store.mlir
mlir/test/Conversion/GPUToSPIRV/simple.mlir
mlir/test/Conversion/GPUToVulkan/invoke-vulkan.mlir
mlir/test/Dialect/SPIRV/Serialization/arithmetic-ops.mlir
mlir/test/Dialect/SPIRV/Serialization/array.mlir
mlir/test/Dialect/SPIRV/Serialization/atomic-ops.mlir
mlir/test/Dialect/SPIRV/Serialization/barrier.mlir
mlir/test/Dialect/SPIRV/Serialization/bit-ops.mlir
mlir/test/Dialect/SPIRV/Serialization/cast-ops.mlir
mlir/test/Dialect/SPIRV/Serialization/composite-op.mlir
mlir/test/Dialect/SPIRV/Serialization/constant.mlir
mlir/test/Dialect/SPIRV/Serialization/entry-point.mlir
mlir/test/Dialect/SPIRV/Serialization/execution-mode.mlir
mlir/test/Dialect/SPIRV/Serialization/function-call.mlir
mlir/test/Dialect/SPIRV/Serialization/global-variable.mlir
mlir/test/Dialect/SPIRV/Serialization/glsl-ops.mlir
mlir/test/Dialect/SPIRV/Serialization/group-ops.mlir
mlir/test/Dialect/SPIRV/Serialization/logical-ops.mlir
mlir/test/Dialect/SPIRV/Serialization/loop.mlir
mlir/test/Dialect/SPIRV/Serialization/memory-ops.mlir
mlir/test/Dialect/SPIRV/Serialization/module.mlir
mlir/test/Dialect/SPIRV/Serialization/non-uniform-ops.mlir
mlir/test/Dialect/SPIRV/Serialization/phi.mlir
mlir/test/Dialect/SPIRV/Serialization/selection.mlir
mlir/test/Dialect/SPIRV/Serialization/spec-constant.mlir
mlir/test/Dialect/SPIRV/Serialization/struct.mlir
mlir/test/Dialect/SPIRV/Serialization/terminator.mlir
mlir/test/Dialect/SPIRV/Serialization/undef.mlir
mlir/test/Dialect/SPIRV/Transforms/abi-load-store.mlir
mlir/test/Dialect/SPIRV/Transforms/abi-simple.mlir
mlir/test/Dialect/SPIRV/Transforms/inlining.mlir
mlir/test/Dialect/SPIRV/Transforms/layout-decoration.mlir
mlir/test/Dialect/SPIRV/Transforms/vce-deduction.mlir
mlir/test/Dialect/SPIRV/availability.mlir
mlir/test/Dialect/SPIRV/control-flow-ops.mlir
mlir/test/Dialect/SPIRV/ops.mlir
mlir/test/Dialect/SPIRV/structure-ops.mlir
mlir/test/Dialect/SPIRV/target-env.mlir
mlir/tools/mlir-vulkan-runner/mlir-vulkan-runner.cpp
mlir/unittests/Dialect/SPIRV/DeserializationTest.cpp
mlir/unittests/Dialect/SPIRV/SerializationTest.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D75872.249214.patch
Type: text/x-patch
Size: 96072 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200309/116bbaa6/attachment.bin>
More information about the llvm-commits
mailing list