CIRCT 20.0.0git
Loading...
Searching...
No Matches
RTGTypes.h
Go to the documentation of this file.
1//===- RTGTypes.h - RTG dialect 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#ifndef CIRCT_DIALECT_RTG_IR_RTGTYPES_H
10#define CIRCT_DIALECT_RTG_IR_RTGTYPES_H
11
12#include "mlir/IR/BuiltinAttributes.h"
13#include "mlir/IR/BuiltinTypes.h"
14#include "mlir/IR/Types.h"
15
16namespace circt {
17namespace rtg {
18
19/// Defines an entry in an `!rtg.dict`.
20struct DictEntry {
21 mlir::StringAttr name;
22 mlir::Type type;
23};
24
25inline bool operator<(const DictEntry &entry, const DictEntry &other) {
26 return entry.name.getValue() < other.name.getValue();
27}
28
29inline bool operator==(const DictEntry &entry, const DictEntry &other) {
30 return entry.name == other.name && entry.type == other.type;
31}
32
33inline llvm::hash_code hash_value(const DictEntry &entry) {
34 return llvm::hash_combine(entry.name, entry.type);
35}
36
37} // namespace rtg
38} // namespace circt
39
40#define GET_TYPEDEF_CLASSES
41#include "circt/Dialect/RTG/IR/RTGTypes.h.inc"
42
43#endif // CIRCT_DIALECT_RTG_IR_RTGTYPES_H
bool operator==(const DictEntry &entry, const DictEntry &other)
Definition RTGTypes.h:29
bool operator<(const DictEntry &entry, const DictEntry &other)
Definition RTGTypes.h:25
llvm::hash_code hash_value(const DictEntry &entry)
Definition RTGTypes.h:33
The InstanceGraph op interface, see InstanceGraphInterface.td for more details.
Definition rtg.py:1
Defines an entry in an !rtg.dict.
Definition RTGTypes.h:20
mlir::StringAttr name
Definition RTGTypes.h:21