Jlm
Loading...
Searching...
No Matches
jlm
hls
HlsDotWriter.cpp
Go to the documentation of this file.
1
/*
2
* Copyright 2025 Nico Reißmann <nico.reissmann@gmail.com>
3
* See COPYING for terms of redistribution.
4
*/
5
6
#include <
jlm/hls/HlsDotWriter.hpp
>
7
#include <
jlm/hls/ir/hls.hpp
>
8
9
namespace
jlm::hls
10
{
11
12
HlsDotWriter::~HlsDotWriter
()
noexcept
=
default
;
13
14
void
15
HlsDotWriter
::AnnotateTypeGraphNode(
const
rvsdg::
Type
& type, util::graph::
Node
& node)
16
{
17
auto
&
typeGraph
= node.GetGraph();
18
19
if
(
const
auto
bundleType
=
dynamic_cast<
const
BundleType
*
>
(&type))
20
{
21
for
(
auto
[
_
,
elementType
] :
bundleType
->elements_)
22
{
23
auto
&
elementTypeNode
= GetOrCreateTypeGraphNode(*
elementType
,
typeGraph
);
24
typeGraph
.CreateDirectedEdge(
elementTypeNode
, node);
25
}
26
}
27
else
28
{
29
LlvmDotWriter::AnnotateTypeGraphNode
(type, node);
30
}
31
}
32
33
}
HlsDotWriter.hpp
jlm::hls::BundleType
Definition
hls.hpp:823
jlm::hls::HlsDotWriter
Definition
HlsDotWriter.hpp:15
jlm::hls::HlsDotWriter::~HlsDotWriter
~HlsDotWriter() noexcept override
jlm::llvm::LlvmDotWriter::AnnotateTypeGraphNode
void AnnotateTypeGraphNode(const rvsdg::Type &type, util::graph::Node &node) override
Definition
DotWriter.cpp:21
jlm::rvsdg::Node
Definition
node.hpp:581
jlm::rvsdg::Type
Definition
type.hpp:41
hls.hpp
jlm::hls
Definition
FirrtlToVerilogConverter.cpp:18
jlm::rvsdg::TryGetOwnerNode
NodeType * TryGetOwnerNode(const rvsdg::Input &input) noexcept
Checks if this is an input to a node of specified type.
Definition
node.hpp:872
Generated by
1.9.8