[mlir] Update flipped accessors (NFC)Follow up with memref flipped and flipping any intermediate changesmade.
[mlir] move SCF headers to SCF/{IR,Transforms} respectivelyThis aligns the SCF dialect file layout with the majority of the dialects.Reviewed By: jpienaarDifferential Revision: https://reviews.
[mlir] move SCF headers to SCF/{IR,Transforms} respectivelyThis aligns the SCF dialect file layout with the majority of the dialects.Reviewed By: jpienaarDifferential Revision: https://reviews.llvm.org/D128049
show more ...
[mlir] (NFC) Clean up bazel and CMake target namesAll dialect targets in bazel have been named *Dialect and all dialecttargets in CMake have been named MLIR*Dialect.
[mlir] Rework the implementation of TypeIDThis commit restructures how TypeID is implemented to ideally avoidthe current problems related to shared libraries. This is done by changingthe "implici
[mlir] Rework the implementation of TypeIDThis commit restructures how TypeID is implemented to ideally avoidthe current problems related to shared libraries. This is done by changingthe "implicit" fallback path to use the name of the type, instead of usinga static template variable (which breaks shared libraries). The major downside to thisis that it adds some additional initialization costs for the implicit path. Given theuse of type names for uniqueness in the fallback, we also no longer allow typesdefined in anonymous namespaces to have an implicit TypeID. To simplify definingan ID for these classes, a new `MLIR_DEFINE_EXPLICIT_INTERNAL_INLINE_TYPE_ID` macrowas added to allow for explicitly defining a TypeID directly on an internal class.To help identify when types are using the fallback, `-debug-only=typeid` can beused to log which types are using implicit ids.This change generally only requires changes to the test passes, which are all definedin anonymous namespaces, and thus can't use the fallback any longer.Differential Revision: https://reviews.llvm.org/D122775
[mlir][test] Generalize a bunch of FuncOp based passes to run on any operation/interfacesA lot of test passes are currently anchored on FuncOp, but thisdependencyis generally just historical. A m
[mlir][test] Generalize a bunch of FuncOp based passes to run on any operation/interfacesA lot of test passes are currently anchored on FuncOp, but thisdependencyis generally just historical. A majority of these test passes can run onany operation, or can operate on a specific interface(FunctionOpInterface/SymbolOpInterface).This allows for greatly reducing the API dependency on FuncOp, whichis slated to be moved out of the Builtin dialect.Differential Revision: https://reviews.llvm.org/D121191
Apply clang-tidy fixes for readability-simplify-boolean-expr to MLIR (NFC)
[mlir] Match Arithmetic::ConstantOp and Tensor::ExtractSliceOp.Add a pattern matcher for ExtractSliceOp when its source is a constant.The matching heuristics can be governed by the control functi
[mlir] Match Arithmetic::ConstantOp and Tensor::ExtractSliceOp.Add a pattern matcher for ExtractSliceOp when its source is a constant.The matching heuristics can be governed by the control function sincegenerating a new constant is not always beneficial.Differential Revision: https://reviews.llvm.org/D119605
Revert "[mlir] Fold Arithmetic::ConstantOp and Tensor::ExtractSliceOp."This reverts commit 3104994104f0c2f274acf5e01eb6cc82e9cca06b.
[mlir] Fold Arithmetic::ConstantOp and Tensor::ExtractSliceOp.Fold ExtractSliceOp when the source is a constant.
[mlir][tensor] Add a pattern to split tensor.pad opsThis commit adds a pattern to wrap a tensor.pad op withan scf.if op to separate the cases where we don't need padding(all pad sizes are actuall
[mlir][tensor] Add a pattern to split tensor.pad opsThis commit adds a pattern to wrap a tensor.pad op withan scf.if op to separate the cases where we don't need padding(all pad sizes are actually zeros) and where we indeed needpadding.This pattern is meant to handle padding inside tiled loops.Under such cases the padding sizes typically depend on theloop induction variables. Splitting them would allow treatingperfect tiles and edge tiles separately.Reviewed By: nicolasvasilacheDifferential Revision: https://reviews.llvm.org/D117018