Loading [MathJax]/extensions/tex2jax.js
CIRCT 21.0.0git
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
LLHDOps.h
Go to the documentation of this file.
1//===- LLHDOps.h - Declare LLHD dialect operations --------------*- 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 declares the operation class for the LLHD IR.
10//
11//===----------------------------------------------------------------------===//
12
13#ifndef CIRCT_DIALECT_LLHD_IR_LLHDOPS_H
14#define CIRCT_DIALECT_LLHD_IR_LLHDOPS_H
15
18#include "circt/Dialect/LLHD/IR/LLHDEnums.h.inc"
20#include "circt/Support/LLVM.h"
21#include "mlir/IR/BuiltinTypes.h"
22#include "mlir/Interfaces/CallInterfaces.h"
23#include "mlir/Interfaces/ControlFlowInterfaces.h"
24#include "mlir/Interfaces/FunctionInterfaces.h"
25#include "mlir/Interfaces/InferTypeOpInterface.h"
26#include "mlir/Interfaces/MemorySlotInterfaces.h"
27#include "mlir/Interfaces/SideEffectInterfaces.h"
28
29namespace circt {
30namespace llhd {
31
32unsigned getLLHDTypeWidth(Type type);
33Type getLLHDElementType(Type type);
34
35/// Signals that an operations regions are procedural.
36template <typename ConcreteType>
38 : public mlir::OpTrait::TraitBase<ConcreteType, ProceduralRegion> {
39 static LogicalResult verifyTrait(Operation *op) {
40 return mlir::OpTrait::impl::verifyNRegions(op, 1);
41 }
42};
43
44} // namespace llhd
45} // namespace circt
46
47/// Retrieve the class declarations generated by TableGen
48#define GET_OP_CLASSES
49#include "circt/Dialect/LLHD/IR/LLHD.h.inc"
50
51#endif // CIRCT_DIALECT_LLHD_IR_LLHDOPS_H
Signals that an operations regions are procedural.
Definition LLHDOps.h:38
static LogicalResult verifyTrait(Operation *op)
Definition LLHDOps.h:39
unsigned getLLHDTypeWidth(Type type)
Definition LLHDOps.cpp:26
Type getLLHDElementType(Type type)
Definition LLHDOps.cpp:38
The InstanceGraph op interface, see InstanceGraphInterface.td for more details.