Loading [MathJax]/jax/output/HTML-CSS/config.js
CIRCT
21.0.0git
Toggle main menu visibility
Main Page
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
Functions
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
Variables
_
a
b
c
d
e
f
g
i
k
l
m
n
o
r
s
t
u
v
w
Typedefs
a
b
c
d
e
f
g
h
i
m
o
p
r
s
t
u
w
Enumerations
Enumerator
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
:
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
~
Functions
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
z
~
Variables
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Typedefs
a
b
c
d
e
f
g
i
k
l
m
n
o
p
r
s
t
u
v
Enumerations
Enumerator
a
b
c
d
f
i
m
n
o
p
r
s
t
u
v
w
x
z
Related Symbols
Files
File List
File Members
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
y
z
Functions
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
y
z
Variables
c
e
g
i
l
m
n
p
r
s
t
w
Typedefs
b
c
d
e
f
h
i
j
l
m
n
o
p
r
s
u
v
Enumerations
Enumerator
a
c
d
f
h
i
n
o
r
Macros
a
c
d
e
g
h
i
r
s
t
v
x
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
Loading...
Searching...
No Matches
include
circt
Dialect
Handshake
HandshakeInterfaces.h
Go to the documentation of this file.
1
//===- HandshakeInterfaces.h - Handshake op interfaces ----------*- 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 interfaces of the handshake dialect.
10
//
11
//===----------------------------------------------------------------------===//
12
13
#ifndef CIRCT_DIALECT_HANDSHAKE_HANDSHAKEINTERFACES_H
14
#define CIRCT_DIALECT_HANDSHAKE_HANDSHAKEINTERFACES_H
15
16
#include "
circt/Dialect/Handshake/HandshakeDialect.h
"
17
#include "
circt/Support/LLVM.h
"
18
#include "mlir/IR/OpDefinition.h"
19
#include "mlir/IR/OpImplementation.h"
20
#include "mlir/IR/Operation.h"
21
#include "mlir/Interfaces/CallInterfaces.h"
22
#include "mlir/Interfaces/FunctionInterfaces.h"
23
#include "mlir/Interfaces/InferTypeOpInterface.h"
24
#include "mlir/Interfaces/SideEffectInterfaces.h"
25
#include "llvm/ADT/Any.h"
26
27
namespace
circt
{
28
namespace
handshake
{
29
30
struct
MemLoadInterface
{
31
unsigned
index
;
32
mlir::Value
addressIn
;
33
mlir::Value
dataOut
;
34
mlir::Value
doneOut
;
35
};
30
struct
MemLoadInterface
{
…
};
36
37
struct
MemStoreInterface
{
38
unsigned
index
;
39
mlir::Value
addressIn
;
40
mlir::Value
dataIn
;
41
mlir::Value
doneOut
;
42
};
37
struct
MemStoreInterface
{
…
};
43
44
/// Default implementation for checking whether an operation is a control
45
/// operation. This function cannot be defined within ControlInterface
46
/// because its implementation attempts to cast the operation to an
47
/// SOSTInterface, which may not be declared at the point where the default
48
/// trait's method is defined. Therefore, the default implementation of
49
/// ControlInterface's isControl method simply calls this function.
50
bool
isControlOpImpl
(Operation *op);
51
}
// end namespace handshake
52
}
// end namespace circt
53
54
#include "circt/Dialect/Handshake/HandshakeInterfaces.h.inc"
55
56
#endif
// CIRCT_DIALECT_HANDSHAKE_HANDSHAKEINTERFACES_H
HandshakeDialect.h
LLVM.h
circt::handshake::isControlOpImpl
bool isControlOpImpl(Operation *op)
Default implementation for checking whether an operation is a control operation.
Definition
HandshakeOps.cpp:43
circt
The InstanceGraph op interface, see InstanceGraphInterface.td for more details.
Definition
DebugAnalysis.h:21
handshake
Definition
handshake.py:1
circt::handshake::MemLoadInterface
Definition
HandshakeInterfaces.h:30
circt::handshake::MemLoadInterface::index
unsigned index
Definition
HandshakeInterfaces.h:31
circt::handshake::MemLoadInterface::addressIn
mlir::Value addressIn
Definition
HandshakeInterfaces.h:32
circt::handshake::MemLoadInterface::dataOut
mlir::Value dataOut
Definition
HandshakeInterfaces.h:33
circt::handshake::MemLoadInterface::doneOut
mlir::Value doneOut
Definition
HandshakeInterfaces.h:34
circt::handshake::MemStoreInterface
Definition
HandshakeInterfaces.h:37
circt::handshake::MemStoreInterface::doneOut
mlir::Value doneOut
Definition
HandshakeInterfaces.h:41
circt::handshake::MemStoreInterface::dataIn
mlir::Value dataIn
Definition
HandshakeInterfaces.h:40
circt::handshake::MemStoreInterface::addressIn
mlir::Value addressIn
Definition
HandshakeInterfaces.h:39
circt::handshake::MemStoreInterface::index
unsigned index
Definition
HandshakeInterfaces.h:38
Generated on Mon May 12 2025 00:09:34 for CIRCT by
1.9.8