llvm/mlir/lib
Nicolas Vasilache 42d8fa667b Normalize lowering of MemRef types
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
2019-09-24 11:21:49 -07:00
..
Analysis Add initial callgraph support. 2019-09-23 11:44:13 -07:00
Conversion Normalize lowering of MemRef types 2019-09-24 11:21:49 -07:00
Dialect Clone called functions into nested GPU module. 2019-09-24 06:29:54 -07:00
EDSC
ExecutionEngine Don't leak TargetMachine in ExecutionEngine::setupTargetTriple 2019-09-10 19:03:21 -07:00
IR Add initial callgraph support. 2019-09-23 11:44:13 -07:00
Parser Use constant's location for reporting errors in parsing of hex constant 2019-09-23 15:51:42 -07:00
Pass NFC: Fix warning for uninitialized field. 2019-09-23 10:20:13 -07:00
Quantizer NFC: Finish replacing FunctionPassBase/ModulePassBase with OpPassBase. 2019-09-13 13:34:27 -07:00
Support Let mlir-translate support -split-input-file 2019-09-23 18:18:23 -07:00
TableGen [spirv] Add support for BitEnumAttr 2019-09-16 09:23:22 -07:00
Target Make GlobalOp's value attribute optional. 2019-09-21 01:20:28 -07:00
Transforms Add convenience methods to set an OpBuilder insertion point after an Operation (NFC) 2019-09-23 11:54:55 -07:00
Translation Support file-to-file translation in mlir-translate 2019-09-17 13:04:34 -07:00
CMakeLists.txt