[mlir][spirv] Add a pass to deduce version/extension/capability
Creates an operation pass that deduces and attaches the minimal version/ capabilities/extensions requirements for spv.module ops. For each spv.module op, this pass requires a `spv.target_env` attribute on it or an enclosing module-like op to drive the deduction. The reason is that an op can be enabled by multiple extensions/capabilities. So we need to know which one to pick. `spv.target_env` gives the hard limit as for what the target environment can support; this pass deduces what are actually needed for a specific spv.module op. Differential Revision: https://reviews.llvm.org/D75870
Loading
Please sign in to comment