[mlir:toy][NFC] Remove unnecessary trailing return typeIn this instance, the trailing return type does not improve readabilityas it repeats what is returned in the same line.Reviewed By: rriddle
[mlir:toy][NFC] Remove unnecessary trailing return typeIn this instance, the trailing return type does not improve readabilityas it repeats what is returned in the same line.Reviewed By: rriddleDifferential Revision: https://reviews.llvm.org/D125697
show more ...
[mlir][NFC] Update textual references of `func` to `func.func` in examples+python scriptsThe special case parsing of `func` operations is being removed.
[mlir:FunctionOpInterface] Rename the "type" attribute to "function_type"This removes any potential confusion with the `getType` accessorswhich correspond to SSA results of an operation, and makes
[mlir:FunctionOpInterface] Rename the "type" attribute to "function_type"This removes any potential confusion with the `getType` accessorswhich correspond to SSA results of an operation, and makes itclear what the intent is (i.e. to represent the type of the function).Differential Revision: https://reviews.llvm.org/D121762
[mlir:Toy][NFC] Switch toy to use prefixed accessors
[mlir][toy] Define a FuncOp operation in toy and drop the dependence on FuncOpFuncOp is being moved out of the builtin dialect, and defining a customtoy operation showcases various aspects of defi
[mlir][toy] Define a FuncOp operation in toy and drop the dependence on FuncOpFuncOp is being moved out of the builtin dialect, and defining a customtoy operation showcases various aspects of defining function-like operation(e.g. inlining, passes, etc.).Differential Revision: https://reviews.llvm.org/D121264
[mlir:toy][NFC] Add comment blocks for toy operations.
[mlir] Update Toy operations to use the `hasCustomAssemblyFormat` fieldThe parser/printer fields are deprecated and in the process of being removed.
[mlir][NFC] Update Toy operations to use `hasVerifier` instead of `verifier`The verifier field is deprecated, and slated for removal.Differential Revision: https://reviews.llvm.org/D118816
Remove OpTrait, AttrTrait and TypeTrait - Remove the `{Op,Attr,Type}Trait` TableGen classes and replace with `Trait` - Rename `OpTraitList` to `TraitList` and use it in a few placesThe bulk of
Remove OpTrait, AttrTrait and TypeTrait - Remove the `{Op,Attr,Type}Trait` TableGen classes and replace with `Trait` - Rename `OpTraitList` to `TraitList` and use it in a few placesThe bulk of this change is a mechanical s/OpTrait/Trait/ throughout the codebase.Reviewed By: rriddle, jpienaar, herhutDifferential Revision: https://reviews.llvm.org/D118543
Replace OwningModuleRef with OwningOpRef<ModuleOp>This addresses a TODO in BuiltinOps.h.Reviewed By: rriddleDifferential Revision: https://reviews.llvm.org/D118574
Apply clang-tidy fixes for readability-identifier-naming to MLIR (NFC)
Apply clang-tidy fixes for performance-unnecessary-value-param to MLIR (NFC)
Apply clang-tidy fixes for llvm-header-guard in MLIR (NFC)Differential Revision: https://reviews.llvm.org/D117251
[mlir] Generare .cpp.inc files for dialects.* Previously, we were only generating .h.inc files. We foresee the need to also generate implementations and this is a step towards that.* Discussed in
[mlir] Generare .cpp.inc files for dialects.* Previously, we were only generating .h.inc files. We foresee the need to also generate implementations and this is a step towards that.* Discussed in https://llvm.discourse.group/t/generating-cpp-inc-files-for-dialects/3732/2* Deviates from the discussion above by generating a default constructor in the .cpp.inc file (and adding a tablegen bit that disables this in case if this is user provided).* Generating the destructor started as a way to flush out the missing includes (produces a link error), but it is a strict improvement on its own that is worth doing (i.e. by emitting key methods in the .cpp file, we root vtables in one translation unit, which is a non-controversial improvement).Differential Revision: https://reviews.llvm.org/D105070
[mlir][Toy] Update the tutorial to use tablegen for dialect declarationsThis was missed when the feature was originally added.Differential Revision: https://reviews.llvm.org/D87060
[mlir] ODS: change OpBuilderDAG to OpBuilderWe no longer have the non-DAG version.Reviewed By: rriddleDifferential Revision: https://reviews.llvm.org/D97856
[mlir][BuiltinDialect] Resolve comments from D91571* Move ops to a BuiltinOps.h* Add file comments
[mlir][NFC] Remove references to Module.h and Function.hThese includes have been deprecated in favor of BuiltinDialect.h, which contains the definitions of ModuleOp and FuncOp.Differential Revisi
[mlir][NFC] Remove references to Module.h and Function.hThese includes have been deprecated in favor of BuiltinDialect.h, which contains the definitions of ModuleOp and FuncOp.Differential Revision: https://reviews.llvm.org/D91572
[mlir] use OpBuilderDAG instead of OpBuilderA recent commit introduced a new syntax for specifying builder arguments inODS, which is better amenable to automated processing, and deprecated the old
[mlir] use OpBuilderDAG instead of OpBuilderA recent commit introduced a new syntax for specifying builder arguments inODS, which is better amenable to automated processing, and deprecated the oldform. Transition all dialects as well as Linalg ODS generator to use the newsyntax.Add a deprecation notice to ODS generator.Reviewed By: rriddle, jpienaarDifferential Revision: https://reviews.llvm.org/D90038
[mlir] Remove unneeded OpBuilder params. NFC.These are now automatically prepended.
Make namespace handling uniform across dialect backends.Now backends spell out which namespace they want to be in, instead of relying onclients #including them inside already-opened namespaces. Th
Make namespace handling uniform across dialect backends.Now backends spell out which namespace they want to be in, instead of relying onclients #including them inside already-opened namespaces. This also means thatcppNamespaces should be fully qualified, and there's no implicit "::mlir::"prepended to them anymore.Reviewed By: mehdi_aminiDifferential Revision: https://reviews.llvm.org/D86811
[MLIR] Continue renaming of "SideEffects"MLIRSideEffects -> MLIRSideEffectInterfacesSideEffects.h -> SideEffectInterfaces.hSideEffects.cpp -> SideEffectInterface.cppNote that I haven't renamed
[MLIR] Continue renaming of "SideEffects"MLIRSideEffects -> MLIRSideEffectInterfacesSideEffects.h -> SideEffectInterfaces.hSideEffects.cpp -> SideEffectInterface.cppNote that I haven't renamed TableGen/SideEffects.h or TableGen/SideEffects.cppfind -name "*.h" -exec sed -i "s/SideEffects.h/SideEffectInterfaces.h/" "{}" \;find -name "CMakeLists.txt" -exec sed -i "s/MLIRSideEffects/MLIRSideEffectInterfaces/" "{}" \;Differential Revision: https://reviews.llvm.org/D79890
[MLIR] Rename SideEffects.td -> SideEffectInterfaces.tdThis normalize the name of the tablegen file with the name of the generatedfiles (SideEffectInterfaces.h.inc) and the other Interface tablege
[MLIR] Rename SideEffects.td -> SideEffectInterfaces.tdThis normalize the name of the tablegen file with the name of the generatedfiles (SideEffectInterfaces.h.inc) and the other Interface tablegen files,which all end in Interface(s).tdDifferential Revision: https://reviews.llvm.org/D79517
[MLIR] Fix several misc issues in in Toy tutorialSummary:- Fix comments in several places- Eliminate extra ' in AST dump and adjust tests accordinglyDifferential Revision: https://reviews.llvm.
[MLIR] Fix several misc issues in in Toy tutorialSummary:- Fix comments in several places- Eliminate extra ' in AST dump and adjust tests accordinglyDifferential Revision: https://reviews.llvm.org/D78399
[mlir][flang] use OpBuilder& instead of Builder* in <Op>::build methodsAs we start defining more complex Ops, we increasingly see the need forOps-with-regions to be able to construct Ops within th
[mlir][flang] use OpBuilder& instead of Builder* in <Op>::build methodsAs we start defining more complex Ops, we increasingly see the need forOps-with-regions to be able to construct Ops within their regions intheir ::build methods. However, these methods only have access toBuilder, and not OpBuilder. Creating a local instance of OpBuilderinside ::build and using it fails to trigger the operation creationhooks in derived builders (e.g., ConversionPatternRewriter). In thiscase, we risk breaking the logic of the derived builder. At the sametime, OpBuilder::create, which is by far the largest user of ::buildalready passes "this" as the first argument, so an OpBuilder instance isalready available.Update all ::build methods in all Ops in MLIR and Flang to take"OpBuilder &" instead of "Builder *". Note the change from pointer andto reference to comply with the common style in MLIR, this also ensuresall other users must change their ::build methods.Differential Revision: https://reviews.llvm.org/D78713
123