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