llvm-project/mlir/lib
River Riddle fd01d8626c [mlir] Rewrite the internal representation of OpResult to be optimized for memory.
Summary:
This changes the implementation of OpResult to have some of the results be represented inline in Value, via a pointer int pair of Operation*+result number, and the rest being trailing objects on the main operation. The full details of the new representation is detailed in the proposal here:
https://groups.google.com/a/tensorflow.org/g/mlir/c/XXzzKhqqF_0/m/v6bKb08WCgAJ

The only difference between here and the above proposal is that we only steal 2-bits for the Value kind instead of 3. This means that we can only fit 2-results inline instead of 6. This allows for other users to steal the final bit for PointerUnion/etc. If necessary, we can always steal this bit back in the future to save more space if 3-6 results are common enough.

Reviewed By: jpienaar

Differential Revision: https://reviews.llvm.org/D72020
2020-01-02 14:40:09 -08:00
..
Analysis NFC: Replace ValuePtr with Value and remove it now that Value is value-typed. 2019-12-23 16:36:53 -08:00
Conversion [mlir][Linalg] Extend generic ops to allow tensors 2020-01-02 13:54:57 -05:00
Dialect [mlir][Linalg] Extend generic ops to allow tensors 2020-01-02 13:54:57 -05:00
EDSC NFC: Replace ValuePtr with Value and remove it now that Value is value-typed. 2019-12-23 16:36:53 -08:00
ExecutionEngine Adjust License.txt file to use the LLVM license 2019-12-23 15:33:37 -08:00
IR [mlir] Rewrite the internal representation of OpResult to be optimized for memory. 2020-01-02 14:40:09 -08:00
Parser [mlir] Fix -Wrange-loo-analysis warnings 2020-01-01 16:06:04 -08:00
Pass Refactor the way that pass options are specified. 2019-12-23 16:48:22 -08:00
Quantizer NFC: Replace ValuePtr with Value and remove it now that Value is value-typed. 2019-12-23 16:36:53 -08:00
Support [mlir] Make code blocks more consistent 2019-12-31 09:54:16 -08:00
TableGen [mlir][spirv] Allow specifying availability on enum attribute cases 2020-01-02 13:19:44 -05:00
Target [mlir] Fix -Wrange-loo-analysis warnings 2020-01-01 16:06:04 -08:00
Transforms [mlir] Refactor operation results to use a single use list for all results of the operation. 2019-12-30 20:50:07 -08:00
Translation Adjust License.txt file to use the LLVM license 2019-12-23 15:33:37 -08:00
CMakeLists.txt NFC: Move AffineOps dialect to the Dialect sub-directory. 2019-08-20 15:36:39 -07:00