-
Notifications
You must be signed in to change notification settings - Fork 10.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[mlir] add types to the transform dialect
Introduce a type system for the transform dialect. A transform IR type captures the expectations of the transform IR on the payload IR operations that are being transformed, such as being of a certain kind or implementing an interface that enables the transformation. This provides stricter checking and better readability of the transform IR than using the catch-all "handle" type. This change implements the basic support for a type system amendable to dialect extensions and adds a drop-in replacement for the unrestricted "handle" type. The actual switch of transform dialect ops to that type will happen in a separate commit. See https://discourse.llvm.org/t/rfc-type-system-for-the-transform-dialect/65702 Reviewed By: nicolasvasilache Differential Revision: https://reviews.llvm.org/D135164
- Loading branch information
Showing
24 changed files
with
538 additions
and
33 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
//===- TransformTypes.h - Transform dialect types ---------------*- C++ -*-===// | ||
// | ||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | ||
// See https://llvm.org/LICENSE.txt for license information. | ||
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | ||
// | ||
//===----------------------------------------------------------------------===// | ||
|
||
#ifndef MLIR_DIALECT_TRANSFORM_IR_TRANSFORMTYPES_H | ||
#define MLIR_DIALECT_TRANSFORM_IR_TRANSFORMTYPES_H | ||
|
||
#include "mlir/Dialect/Transform/IR/TransformInterfaces.h" | ||
#include "mlir/IR/Types.h" | ||
#include "mlir/Support/LLVM.h" | ||
|
||
namespace mlir { | ||
class DiagnosedSilenceableFailure; | ||
class Operation; | ||
class Type; | ||
} // namespace mlir | ||
|
||
#include "mlir/Dialect/Transform/IR/TransformTypeInterfaces.h.inc" | ||
#define GET_TYPEDEF_CLASSES | ||
#include "mlir/Dialect/Transform/IR/TransformTypes.h.inc" | ||
|
||
#endif // MLIR_DIALECT_TRANSFORM_IR_TRANSFORMTYPES_H |
Oops, something went wrong.