[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