llvm-project/mlir
Lei Zhang df71000d7d [mlir][spirv] Convert linalg.generic for reduction to SPIR-V ops
This commit adds a pattern to lower linalg.generic for reduction
to spv.GroupNonUniform* ops. Right now this only supports integer
reduction on 1-D input memref. Shader entry point ABI is queried
to make sure that the input memref's shape matches the local
workgroup's invocation configuration. This makes sure that the
workload fits in one local workgroup so that we can leverage
SPIR-V group non-uniform operations.

linglg.generic is a structured op that preserves the right level
of information. It is easier to recognize reduction at this level
than performing analysis on loops.

This commit also exposes `getElementPtr` in SPIRVLowering.h given
that it's a generally useful utility function.

Differential Revision: https://reviews.llvm.org/D73437
2020-01-31 09:37:04 -05:00
..
cmake/modules [mlir] Revert MSVC specific part of whole_archive_link 2020-01-25 09:56:04 -08:00
docs [MLIR] Add the sqrt operation to mlir. 2020-01-30 08:07:38 -08:00
examples Fix conversions in clang and examples 2020-01-29 02:48:15 +01:00
include [mlir][spirv] Convert linalg.generic for reduction to SPIR-V ops 2020-01-31 09:37:04 -05:00
lib [mlir][spirv] Convert linalg.generic for reduction to SPIR-V ops 2020-01-31 09:37:04 -05:00
test [mlir][spirv] Convert linalg.generic for reduction to SPIR-V ops 2020-01-31 09:37:04 -05:00
tools [mlir][spirv] Convert linalg.generic for reduction to SPIR-V ops 2020-01-31 09:37:04 -05:00
unittests [mlir] EnumsGen: dissociate string form of integer enum from C++ symbol name 2020-01-30 17:04:00 +01:00
utils [mlir][spirv] Support implied extensions and capabilities 2020-01-17 08:01:57 -05:00
.clang-format [mlir] add .clang-format 2019-03-29 12:41:43 -07:00
.clang-tidy Add a clang-tidy configuration file for MLIR, it is using camelBack for naming at the moment 2019-12-26 21:42:01 +00:00
CMakeLists.txt [mlir] Bootstrap doxygen config 2020-01-25 09:31:59 -08:00
LICENSE.TXT Add the Apache2 with LLVM exceptions license to MLIR 2019-12-24 00:58:06 -08:00
README.md mlir README.md: Fix the syntax 2019-12-24 13:31:07 +01:00

README.md

Multi-Level Intermediate Representation

See https://mlir.llvm.org/ for more information.