Revert "[MLIR] Generic 'malloc', 'aligned_alloc' and 'free' functions"This reverts commit 3e21fb616d9a1b29bf9d1a1ba484add633d6d5b3.A lot of integration tests are failing on the bot.
[MLIR] Generic 'malloc', 'aligned_alloc' and 'free' functionsWhen converted to the LLVM dialect, the memref.alloc and memref.free operations were generating calls to hardcoded 'malloc' and 'free' f
[MLIR] Generic 'malloc', 'aligned_alloc' and 'free' functionsWhen converted to the LLVM dialect, the memref.alloc and memref.free operations were generating calls to hardcoded 'malloc' and 'free' functions. This didn't leave any freedom to users to provide their custom implementation. Those operations now convert into calls to '_mlir_alloc' and '_mlir_free' functions, which have also been implemented into the runtime support library as wrappers to 'malloc' and 'free'. The same has been done for the 'aligned_alloc' function.Reviewed By: ftynseDifferential Revision: https://reviews.llvm.org/D128791
show more ...
[mlir][ods] Simplify useDefaultType/AttributePrinterParserThe current behaviour of `useDefaultTypePrinterParser` and `useDefaultAttributePrinterParser` is that they are set by default, but the dial
[mlir][ods] Simplify useDefaultType/AttributePrinterParserThe current behaviour of `useDefaultTypePrinterParser` and `useDefaultAttributePrinterParser` is that they are set by default, but the dialect generator only generates the declarations for the parsing and printing hooks if it sees dialect types and attributes. Same goes for the definitions generated by the AttrOrTypeDef generator.This can lead to confusing and undesirable behaviour if the dialect generator doesn't see the definitions of the attributes and types, for example, if they are sensibly separated into different files: `Dialect.td`, `Ops.td`, `Attributes.td`, and `Types.td`.Now, these bits are unset by default. Setting them will always result in the dialect generator emitting the declarations for the parsing hooks. And if the AttrOrTypeDef generator sees it set, it will generate the default implementations.Reviewed By: rriddle, stellaraccidentDifferential Revision: https://reviews.llvm.org/D125809
[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
[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 performance-move-const-arg to MLIR (NFC)
Apply clang-tidy fixes for llvm-header-guard in MLIR (NFC)Differential Revision: https://reviews.llvm.org/D117251
Adjust "end namespace" comment in MLIR to match new agree'd coding styleSee D115115 and this mailing list discussion:https://lists.llvm.org/pipermail/llvm-dev/2021-December/154199.htmlDifferenti
Adjust "end namespace" comment in MLIR to match new agree'd coding styleSee D115115 and this mailing list discussion:https://lists.llvm.org/pipermail/llvm-dev/2021-December/154199.htmlDifferential Revision: https://reviews.llvm.org/D115309
[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] Add an interface for Cast-Like operationsA cast-like operation is one that converts from a set of input types to a set of output types. The arity of the inputs may be from 0-N, whereas the a
[mlir] Add an interface for Cast-Like operationsA cast-like operation is one that converts from a set of input types to a set of output types. The arity of the inputs may be from 0-N, whereas the arity of the outputs may be anything from 1-N. Cast-like operations are removable in cases where they produce a "no-op", i.e when the input types and output types match 1-1.Differential Revision: https://reviews.llvm.org/D94831
[mlir][Types][NFC] Move all of the builtin Type classes to BuiltinTypes.hThis is part of a larger refactoring the better congregates the builtin structures under the BuiltinDialect. This also remov
[mlir][Types][NFC] Move all of the builtin Type classes to BuiltinTypes.hThis is part of a larger refactoring the better congregates the builtin structures under the BuiltinDialect. This also removes the problematic "standard" naming that clashes with the "standard" dialect, which is not defined within IR/. A temporary forward is placed in StandardTypes.h to allow time for downstream users to replaced references.Differential Revision: https://reviews.llvm.org/D92435
[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
123