1. [mlir] Model StringRef in C API (details)
  2. [Partial Inliner] Compute intrinsic cost through TTI (details)
  3. Enable inlining for Linalg dialect (details)
Commit 855ec517a300daee6acb48474b6d3304c0914c60 by zinenko
[mlir] Model StringRef in C API

Numerous MLIR functions return instances of `StringRef` to refer to a
non-owning fragment of a string (usually owned by the context). This is a
relatively simple class that is defined in LLVM. Provide a simple wrapper in
the MLIR C API that contains the pointer and length of the string fragment and
use it for Standard attribute functions that return StringRef instead of the
previous, callback-based mechanism.

Reviewed By: stellaraccident

Differential Revision:
The file was addedmlir/include/mlir/CAPI/Support.h
The file was modifiedmlir/include/mlir-c/StandardAttributes.h (diff)
The file was modifiedmlir/lib/CAPI/IR/StandardAttributes.cpp (diff)
The file was modifiedmlir/lib/CAPI/IR/CMakeLists.txt (diff)
The file was addedmlir/include/mlir-c/Support.h
The file was addedmlir/lib/CAPI/IR/Support.cpp
The file was modifiedmlir/docs/ (diff)
The file was modifiedmlir/lib/Bindings/Python/IRModules.cpp (diff)
The file was modifiedmlir/test/CAPI/ir.c (diff)
Commit 01e2b394ee16502440dbbb5440502a1e2aaf1477 by flo
[Partial Inliner] Compute intrinsic cost through TTI

assert(OutlinedFunctionCost >= Cloner.OutlinedRegionCost && "Outlined function cost should be no less than the outlined region") getting triggered in computeBBInlineCost.

Intrinsics like "assume" are considered regular function calls while computing costs.
This patch enables computeBBInlineCost to queries TTI for intrinsic call cost.

Reviewed By: fhahn

Differential Revision:
The file was modifiedllvm/lib/Transforms/IPO/PartialInlining.cpp (diff)
The file was addedllvm/test/Transforms/PartialInlining/intrinsic-call-cost.ll
Commit 8c0dc1e38b6c1a2d35c66ac4b0c1ccd616dd1685 by ntv
Enable inlining for Linalg dialect

Enable inlining for Linalg dialect.

Differential Revision:
The file was addedmlir/test/Dialect/Linalg/inlining.mlir
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgTypes.cpp (diff)