[PATCH] D75870: [mlir][spirv] Add a pass to deduce version/extension/capability
Lei Zhang via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Mar 11 13:35:15 PDT 2020
antiagainst added inline comments.
================
Comment at: mlir/include/mlir/Dialect/SPIRV/Passes.h:37
+/// actually needed for a specific spv.module op.
+std::unique_ptr<OpPassBase<spirv::ModuleOp>>
+createUpdateVersionCapabilityExtensionPass();
----------------
mravishankar wrote:
> This seems to assume that there is a "linear" order of capabilities and extensions. Is that the case?
> Also, is there a way to have a "Base" limit you can start with? It can be the most lenient or the least lenient set
For an op, there can exists multiple capabilities to enable it. E.g., `OpGroupNonUniformIAdd` can be enabled by any of [GroupNonUniformArithmetic, GroupNonUniformClustered, GroupNonUniformPartitionedNV]. It's a set (although under the hood we indeed search linearly but that's implementation detail). Any one of them allowed by the target it should be fine and we'll pick that one.
It's hard to find a more "general" or well supported one that's also a moving target given new hardware coming up and existing ones updated.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D75870/new/
https://reviews.llvm.org/D75870
More information about the llvm-commits
mailing list