| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[mlir] Remove unused includes (NFC) (#146709) | 1 年前 | |
[LLVM][TableGen] Rename ListInit::getValues() to getElements() (#140289) Rename ListInit::getValues() to getElements() to better match with other ListInit members like getElement. Keep getValues() for existing downstream code but mark it deprecated. | 1 年前 | |
[mlir] Remove unused includes (NFC) (#146709) | 1 年前 | |
[NFC][MLIR][TableGen] Eliminate llvm:: for commonly used types (#112456) Eliminate llvm:: namespace qualifier for commonly used types in MLIR TableGen backends to reduce code clutter. | 1 年前 | |
[mlir][NFC] Move and rename EnumAttrCase, EnumAttr C++ classes (#132650) This moves the EnumAttrCase and EnumAttr classes from Attribute.h/.cpp to a new EnumInfo.h/cpp and renames them to EnumCase and EnumInfo, respectively. This doesn't change any of the tablegen files or any user-facing aspects of the enum attribute generation system, just reorganizes code in order to make main PR (#132148) shorter. | 1 年前 | |
[mlir][TableGen] Verify compatibility of tblgen::Method properties (#147979) Following a recent discovery of a method being defined both "inline" and "declaration" (declaration implying no definition), verify the method properties in general to fail early in the development and avoid accidental bugs (especially for "opt-in" features). | 1 年前 | |
[mlir][ods] Enable basic string interpolation in constraint summary. (#153603) This enables printing, for example, the attribute value from a mismatched predicate. Example of resultant output (here made non-negative report value seen as sign-extended int): PDL/ops.mlir:21:1: error: 'pdl.pattern' op attribute 'benefit' failed to satisfy constraint: 16-bit signless integer attribute whose value is non-negative (got -31) pdl.pattern @rewrite_with_args : benefit(-31) { ^ This is primarily the mechanism and didn't change any existing constraints. I also attempted to keep the error format as close to the original as possible - but did notice 2 errors that were inconsistent with the rest and updated them to be consistent. | 8 个月前 | |
[mlir][NFC] Make Property a subclass of PropConstraint (#140848) In preparation for allowing non-attribute properties in the declaritive rewrite pattern system, make Property a subclass of PropConstraint in tablegen and add a CK_Prop to the Constraint class for tablegen. Like TypeConstraint but unlike other constraints, a PropConstraint has an additional field - the C++ interface type of the property being constraint (if it's known). | 1 年前 | |
[MLIR][TableGen] Use const pointers for various Init objects (#112562) This reverts commit 0eed3055511381436ee69d1caf64a4af47f8d65c and applies additional fixes in verifyArgument in OmpOpGen.cpp for gcc-7 bot failures | 1 年前 | |
[mlir] Decouple enum generation from attributes, adding EnumInfo and EnumCase (#132148) This commit pulls apart the inherent attribute dependence of classes like EnumAttrInfo and EnumAttrCase, factoring them out into simpler EnumCase and EnumInfo variants. This allows specifying the cases of an enum without needing to make the cases, or the EnumInfo itself, a subclass of SignlessIntegerAttrBase. The existing classes are retained as subclasses of the new ones, both for backwards compatibility and to allow attribute-specific information. In addition, the new BitEnum class changes its default printer/parser behavior: cases when multiple keywords appear, like having both nuw and nsw in overflow flags, will no longer be quoted by the operator<<, and the FieldParser instance will now expect multiple keywords. All instances of BitEnumAttr retain the old behavior. | 1 年前 | |
Move format internal code from llvm::detail to llvm::support::detail. (#87288) Some support code, e.g. llvm/Support/Endian.h, uses llvm::support::detail, but the format-related code uses llvm::detail. On VS2019, when a C++ file includes both headers, a detail:: from namespace llvm { ... } becomes ambiguous. 44253a9c breaks TensorFlow and [JAX](https://github.com/google/jax/actions/runs/8507773013/job/23300219405) build because of this. Since llvm::X::detail seems like a cleaner solution and is used in other places as well (e.g. llvm::yaml::detail), we should probably migrate all llvm::detail usages to llvm::X::detail. | 2 年前 | |
[mlir][tblgen] Refact mlir-tblgen main into its own library This has previously been done for mlir-opt and mlir-reduce and roughly the same approach has been done here. The use case for having a separate library is that it is easier for downstream to make custom TableGen backends/executable that work on top of the utilities that are defined in mlir/TableGen. The customization point here is the same one as for any upstream TableGen backends: One can add a new generator by simply creating a global instance of mlir::GenRegistration. Differential Revision: https://reviews.llvm.org/D131112 | 3 年前 | |
[MLIR][ODS] Add support for overloading interface methods (#161828) This allows to define multiple interface methods with the same name but different arguments. | 9 个月前 | |
[mlir][tblgen] Fix bug when mixing props and InferTypes (#157367) This patch fixes a bug occurring when properties are mixed with any of the InferType traits, causing tblgen to crash. A simple reproducer is: def _TypeInferredPropOp : NS_Op<"type_inferred_prop_op_with_properties", [ AllTypesMatch<["value", "result"]> ]> { let arguments = (ins Property<"unsigned">:$prop, AnyType:$value); let results = (outs AnyType:$result); let hasCustomAssemblyFormat = 1; } The issue occurs because of the call: op.getArgToOperandOrAttribute(infer.getIndex()); To understand better the issue, consider: attrOrOperandMapping = [Operand0] arguments = [Prop0, Operand0] In this case, infer.getIndex() will return 1 for Operand0, but getArgToOperandOrAttribute expects 0, causing the discrepancy that causes the crash. The fix is to change attrOrOperandMapping to also include props. | 10 个月前 | |
[TableGen] llvm::Optional => std::optional | 3 年前 | |
[mlir] Allow using non-attribute properties in declarative rewrite patterns (#143071) This commit adds support for non-attribute properties (such as StringProp and I64Prop) in declarative rewrite patterns. The handling for properties follows the handling for attributes in most cases, including in the generation of static matchers. Constraints that are shared between multiple types are supported by making the constraint matcher a templated function, which is the equivalent to passing ::mlir::Attribute for an arbitrary C++ type. | 1 年前 | |
[mlir] Remove unused includes (NFC) (#146709) | 1 年前 | |
[mlir] Remove unused includes (NFC) (#146709) | 1 年前 | |
[mlir][ODS] Add support for variadic regions. Summary: This revision adds support for marking the last region as variadic in the ODS region list with the VariadicRegion directive. Differential Revision: https://reviews.llvm.org/D77455 | 6 年前 | |
[MLIR] Add stage to side effect [MLIR] Add stage and effectOnFullRegion to side effect This patch add stage and effectOnFullRegion to side effect for optimization pass to obtain more accurate information. Stage uses numbering to track the side effects's stage of occurrence. EffectOnFullRegion indicates if effect act on every single value of resource. RFC disscussion: https://discourse.llvm.org/t/rfc-add-effect-index-in-memroy-effect/72235 Differential Revision: https://reviews.llvm.org/D156087 Reviewed By: mehdi_amini, Mogball Differential Revision: https://reviews.llvm.org/D156087 | 2 年前 | |
[mlir] Remove unused includes (NFC) (#150476) These are identified by misc-include-cleaner. I've filtered out those that break builds. Also, I'm staying away from llvm-config.h, config.h, and Compiler.h, which likely cause platform- or compiler-specific build failures. | 1 年前 | |
[mlir] Remove unused includes (NFC) (#146709) | 1 年前 | |
[mlir] Simplify Default cases in type switches. NFC. (#165767) Use default values instead of lambdas when possible. std::nullopt and nullptr can be used now because of https://github.com/llvm/llvm-project/pull/165724. | 8 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 8 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 3 年前 | ||
| 9 个月前 | ||
| 10 个月前 | ||
| 3 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 6 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 8 个月前 |