[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][NFC] Split MlirQuant into proper IR/Utils/Transforms librariesThis matches the structure of other dialects, and also removesunnecessary dependencies from the core dialect lib.
Apply clang-tidy fixes for readability-const-return-type to MLIR (NFC)Reviewed By: rriddle, MogballDifferential Revision: https://reviews.llvm.org/D116251
Fix clang-tidy issues in mlir/ (NFC)Reviewed By: ftynseDifferential Revision: https://reviews.llvm.org/D115956
[mlir][IR] Refactor the `getChecked` and `verifyConstructionInvariants` methods on Attributes/Types`verifyConstructionInvariants` is intended to allow for verifying the invariants of an attribute/t
[mlir][IR] Refactor the `getChecked` and `verifyConstructionInvariants` methods on Attributes/Types`verifyConstructionInvariants` is intended to allow for verifying the invariants of an attribute/type on construction, and `getChecked` is intended to enable more graceful error handling aside from an assert. There are a few problems with the current implementation of these methods:* `verifyConstructionInvariants` requires an mlir::Location for emitting errors, which is prohibitively costly in the situations that would most likely use them, e.g. the parser.This creates an unfortunate code duplication between the verifier code and the parser code, given that the parser operates on llvm::SMLoc and it is an undesirable overhead to pre-emptively convert from that to an mlir::Location.* `getChecked` effectively requires duplicating the definition of the `get` method, creating a quite clunky workflow due to the subtle different in its signature.This revision aims to talk the above problems by refactoring the implementation to use a callback for error emission. Using a callback allows for deferring the costly part of error emission until it is actually necessary.Due to the necessary signature change in each instance of these methods, this revision also takes this opportunity to cleanup the definition of these methods by:* restructuring the signature of `getChecked` such that it can be generated from the same code block as the `get` method.* renaming `verifyConstructionInvariants` to `verify` to match the naming scheme of the rest of the compiler.Differential Revision: https://reviews.llvm.org/D97100
show more ...
[mlir][IR][NFC] Move context/location parameters of builtin Type::get methods to the start of the parameter listThis better matches the rest of the infrastructure, is much simpler, and makes it eas
[mlir][IR][NFC] Move context/location parameters of builtin Type::get methods to the start of the parameter listThis better matches the rest of the infrastructure, is much simpler, and makes it easier to move these types to being declaratively specified.Differential Revision: https://reviews.llvm.org/D93432
[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][Type] Remove usages of Type::getKindThis is in preparation for removing the use of "kinds" within attributes and types in MLIR.Differential Revision: https://reviews.llvm.org/D85475
[mlir][NFC] Remove usernames and google bug numbers from TODO comments.These were largely leftover from when MLIR was a google project, and don't really follow LLVM guidelines.
[mlir/Quant] Allows to use 32 bits storage typeDifferential Revision: https://reviews.llvm.org/D78671
[mlir/quant] fix a small typo in the quant utility This is an edge case where the input type is a primitive type.Differential Revision: https://reviews.llvm.org/D76442
[mlir][NFC] Rename QuantOps to QuantSummary:Renamed QuantOps to Quant to avoid the Ops suffix. All dialects will containops, so the Ops suffix is redundant.Differential Revision: https://review
[mlir][NFC] Rename QuantOps to QuantSummary:Renamed QuantOps to Quant to avoid the Ops suffix. All dialects will containops, so the Ops suffix is redundant.Differential Revision: https://reviews.llvm.org/D76318