Jlm
Loading...
Searching...
No Matches
IOBarrierElimination.hpp
Go to the documentation of this file.
1/*
2 * Copyright 2026 Nico Reißmann <nico.reissmann@gmail.com>
3 * See COPYING for terms of redistribution.
4 */
5
6#ifndef JLM_LLVM_OPT_IOBARRIERELIMINATION_HPP
7#define JLM_LLVM_OPT_IOBARRIERELIMINATION_HPP
8
10
11namespace jlm::llvm
12{
13
15{
16 class Context;
17 class Statistics;
18
19public:
21
23
25
27
30
33
34 void
36
37private:
38 void
39 markRegion(rvsdg::Region & region);
40
41 void
42 markNode(const rvsdg::Node & node);
43
44 void
45 sweepRegion(rvsdg::Region & region);
46
47 std::unique_ptr<Context> context_{};
48};
49
50}
51
52#endif
static jlm::util::StatisticsCollector statisticsCollector
void Run(rvsdg::RvsdgModule &module, util::StatisticsCollector &statisticsCollector) override
Perform RVSDG transformation.
void markNode(const rvsdg::Node &node)
void markRegion(rvsdg::Region &region)
IOBarrierElimination & operator=(const IOBarrierElimination &)=delete
IOBarrierElimination & operator=(IOBarrierElimination &&)=delete
void sweepRegion(rvsdg::Region &region)
std::unique_ptr< Context > context_
IOBarrierElimination(IOBarrierElimination &&)=delete
IOBarrierElimination(const IOBarrierElimination &)=delete
Represent acyclic RVSDG subgraphs.
Definition region.hpp:213
Represents an RVSDG transformation.
Global memory state passed between functions.