MLIR 22.0.0git
PDLTypes.h
Go to the documentation of this file.
1//===- PDLTypes.h - Pattern Descriptor Language Types -----------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8//
9// This file defines the types for the Pattern Descriptor Language dialect.
10//
11//===----------------------------------------------------------------------===//
12
13#ifndef MLIR_DIALECT_PDL_IR_PDLTYPES_H_
14#define MLIR_DIALECT_PDL_IR_PDLTYPES_H_
15
16#include "mlir/IR/Types.h"
17
18//===----------------------------------------------------------------------===//
19// PDL Dialect Types
20//===----------------------------------------------------------------------===//
21
22namespace mlir {
23namespace pdl {
24/// This class represents the base class of all PDL types.
25class PDLType : public Type {
26public:
27 using Type::Type;
28
29 static bool classof(Type type);
30};
31
32/// If the given type is a range, return its element type, otherwise return
33/// the type itself.
35
36} // namespace pdl
37} // namespace mlir
38
39#define GET_TYPEDEF_CLASSES
40#include "mlir/Dialect/PDL/IR/PDLOpsTypes.h.inc"
41
42#endif // MLIR_DIALECT_PDL_IR_PDLTYPES_H_
Instances of the Type class are uniqued, have an immutable identifier and an optional mutable compone...
Definition Types.h:74
constexpr Type()=default
This class represents the base class of all PDL types.
Definition PDLTypes.h:25
constexpr Type()=default
static bool classof(Type type)
Definition PDLTypes.cpp:58
Type getRangeElementTypeOrSelf(Type type)
If the given type is a range, return its element type, otherwise return the type itself.
Definition PDLTypes.cpp:62
Include the generated interface declarations.