[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
show more ...
[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
[mlir][memref] Add transformation to do loop multi-bufferingThis transformation is useful to break dependency between consecutive loopiterations by increasing the size of a temporary buffer. This
[mlir][memref] Add transformation to do loop multi-bufferingThis transformation is useful to break dependency between consecutive loopiterations by increasing the size of a temporary buffer. This is usuallycombined with heavy software pipelining.Differential Revision: https://reviews.llvm.org/D119406
[mlir] Finish replacing OwningRewritePatternList with RewritePatternSetOwningRewritePatternList has been deprecated for ~10 months now, we can removethe leftover using directives at this point.D
[mlir] Finish replacing OwningRewritePatternList with RewritePatternSetOwningRewritePatternList has been deprecated for ~10 months now, we can removethe leftover using directives at this point.Differential Revision: https://reviews.llvm.org/D118287
[mlir] Move ComposeSubView+ExpandOps from Standard to MemRefThese transformations already operate on memref operations (as part ofsplitting up the standard dialect). Now that the operations have m
[mlir] Move ComposeSubView+ExpandOps from Standard to MemRefThese transformations already operate on memref operations (as part ofsplitting up the standard dialect). Now that the operations have moved,it's time for these transformations to move as well.Differential Revision: https://reviews.llvm.org/D118285