MLIR 22.0.0git
Successor.h
Go to the documentation of this file.
1//===- Successor.h - TableGen successor definitions -------------*- 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#ifndef MLIR_TABLEGEN_SUCCESSOR_H_
10#define MLIR_TABLEGEN_SUCCESSOR_H_
11
12#include "mlir/Support/LLVM.h"
14
15namespace mlir {
16namespace tblgen {
17
18// Wrapper class providing helper methods for accessing Successor defined in
19// TableGen.
20class Successor : public Constraint {
21public:
23
24 static bool classof(const Constraint *c) {
25 return c->getKind() == CK_Successor;
26 }
27
28 // Returns true if this successor is variadic.
29 bool isVariadic() const;
30};
31
32// A struct bundling a successor's constraint and its name.
34 // Returns true if this successor is variadic.
35 bool isVariadic() const { return constraint.isVariadic(); }
36
37 StringRef name;
39};
40
41} // namespace tblgen
42} // namespace mlir
43
44#endif // MLIR_TABLEGEN_SUCCESSOR_H_
Constraint(const llvm::Record *record, Kind kind)
Definition Constraint.h:43
bool isVariadic() const
Definition Successor.cpp:21
static bool classof(const Constraint *c)
Definition Successor.h:24
Constraint(const llvm::Record *record, Kind kind)
Definition Constraint.h:43
Include the generated interface declarations.