llvm-project/mlir
Hanhan Wang 5d10613b6e [mlir][StandardToSPIRV] Emulate bitwidths not supported for store op.
Summary:
As D78974, this patch implements the emulation for store op. The emulation is
done with atomic operations. E.g., if the storing value is i8, rewrite the
StoreOp to:

 1) load a 32-bit integer
 2) clear 8 bits in the loading value
 3) store 32-bit value back
 4) load a 32-bit integer
 5) modify 8 bits in the loading value
 6) store 32-bit value back

The step 1 to step 3 are done by AtomicAnd as one atomic step, and the step 4
to step 6 are done by AtomicOr as another atomic step.

Differential Revision: https://reviews.llvm.org/D79272
2020-05-04 15:18:44 -07:00
..
cmake/modules Revert "[MLIR] Adjust libMLIR building to more closely follow libClang" 2020-05-04 12:40:12 -07:00
docs [mlir] Add a new context flag for disabling/enabling multi-threading 2020-05-02 12:32:25 -07:00
examples Revert "[MLIR] Adjust libMLIR building to more closely follow libClang" 2020-05-04 12:40:12 -07:00
include [mlir][Linalg] Mostly NFC - Refactor Linalg patterns and transformations. 2020-05-04 11:17:37 -04:00
lib [mlir][StandardToSPIRV] Emulate bitwidths not supported for store op. 2020-05-04 15:18:44 -07:00
test [mlir][StandardToSPIRV] Emulate bitwidths not supported for store op. 2020-05-04 15:18:44 -07:00
tools Revert "[MLIR] Adjust libMLIR building to more closely follow libClang" 2020-05-04 12:40:12 -07:00
unittests [mlir][DenseStringElementsAttr] Add support for the Attribute based get* methods. 2020-05-01 16:34:35 -07:00
utils [mlir][spirv] NFC: use Optional to replace SPV_Optional 2020-04-13 15:44:06 -04:00
.clang-format [mlir] add .clang-format 2019-03-29 12:41:43 -07:00
.clang-tidy Fix MLIR clang-tidy: when tweaking it does not inherit from the parent 2020-03-07 17:44:21 +00:00
CMakeLists.txt [MLIR] add dependencies for all tablegen targets on 'mlir-headers' 2020-05-01 20:08:52 -07: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.