[Mlir-commits] [mlir] 87a2321 - [MLIR][SPIRVToLLVM] Updated documentation for composite ops
George Mitenkov
llvmlistbot at llvm.org
Mon Oct 19 07:43:53 PDT 2020
Author: George Mitenkov
Date: 2020-10-19T17:43:22+03:00
New Revision: 87a232103294e2500bc44e3195b54063ca9e98f7
URL: https://github.com/llvm/llvm-project/commit/87a232103294e2500bc44e3195b54063ca9e98f7
DIFF: https://github.com/llvm/llvm-project/commit/87a232103294e2500bc44e3195b54063ca9e98f7.diff
LOG: [MLIR][SPIRVToLLVM] Updated documentation for composite ops
Added a section on composite ops (`spv.CompositeExtract` and
`spv.CompositeInsert`) conversion.
Reviewed By: antiagainst
Differential Revision: https://reviews.llvm.org/D89658
Added:
Modified:
mlir/docs/SPIRVToLLVMDialectConversion.md
Removed:
################################################################################
diff --git a/mlir/docs/SPIRVToLLVMDialectConversion.md b/mlir/docs/SPIRVToLLVMDialectConversion.md
index e5125d5301c9..8d773aa0b022 100644
--- a/mlir/docs/SPIRVToLLVMDialectConversion.md
+++ b/mlir/docs/SPIRVToLLVMDialectConversion.md
@@ -352,6 +352,20 @@ SPIR-V Dialect op | LLVM Dialect op
`spv.ULessThan` | `llvm.icmp "ult"`
`spv.ULessThanEqual` | `llvm.icmp "ule"`
+### Composite ops
+
+Currently, conversion supports rewrite patterns for `spv.CompositeExtract` and
+`spv.CompositeInsert`. We distinguish two cases for these operations: when the
+composite object is a vector, and when the composite object is of a non-vector
+type (*i.e.* struct, array or runtime array).
+
+Composite type | SPIR-V Dialect op | LLVM Dialect op
+:-------------: | :--------------------: | :--------------------:
+vector | `spv.CompositeExtract` | `llvm.extractelement`
+vector | `spv.CompositeInsert` | `llvm.insertelement`
+non-vector | `spv.CompositeExtract` | `llvm.extractvalue`
+non-vector | `spv.CompositeInsert` | `llvm.insertvalue`
+
### `spv.EntryPoint` and `spv.ExecutionMode`
**Note: these conversions are likely to be changed in the future**
@@ -597,8 +611,6 @@ There is no support of the following ops:
As well as:
* spv.CompositeConstruct
-* spv.CompositeExtract
-* spv.CompositeInsert
* spv.ControlBarrier
* spv.CopyMemory
* spv.FMod
More information about the Mlir-commits
mailing list