42d8fa667b
The RFC for unifying Linalg and Affine compilation passes into an end-to-end flow with a predictable ABI and linkage to external function calls raised the question of why we have variable sized descriptors for memrefs depending on whether they have static or dynamic dimensions (https://groups.google.com/a/tensorflow.org/forum/#!topic/mlir/MaL8m2nXuio). This CL standardizes the ABI on the rank of the memrefs. The LLVM struct for a memref becomes equivalent to: ``` template <typename Elem, size_t Rank> struct { Elem *ptr; int64_t sizes[Rank]; }; ``` PiperOrigin-RevId: 270947276 |
||
---|---|---|
.. | ||
Analysis | ||
Conversion | ||
Dialect | ||
EDSC | ||
ExecutionEngine | ||
IR | ||
Parser | ||
Pass | ||
Quantizer | ||
Support | ||
TableGen | ||
Target | ||
Transforms | ||
Translation | ||
CMakeLists.txt |