MimIR
0.4-dev
MimIR is my Intermediate Representation
Toggle main menu visibility
Loading...
Searching...
No Matches
split_apply.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <
mim/phase.h
>
4
5
#include "
mim/plug/gpu/gpu.h
"
6
#include "
mim/plug/gpu/phase/split_off_kernels.h
"
7
8
namespace
mim::plug::gpu::phase
{
9
10
class
SplitApply
:
public
RWPhase
{
11
public
:
12
SplitApply
(
World
&
world
,
flags_t
annex
)
13
:
RWPhase
(
world
,
annex
)
14
, split_phase(
world
,
"splitoff_kernels_in_split_apply"
) {}
15
16
void
start
() final;
17
18
private:
19
SplitOffKernels
split_phase;
20
};
21
22
}
// namespace mim::plug::gpu::phase
mim::Phase::annex
flags_t annex() const
Definition
phase.h:81
mim::RWPhase::RWPhase
RWPhase(World &world, std::string name, Analysis *analysis=nullptr)
Definition
phase.h:431
mim::RWPhase::world
World & world()=delete
Hides both and forbids direct access.
mim::World
The World represents the whole program and manages creation of MimIR nodes (Defs).
Definition
world.h:40
mim::plug::gpu::phase::SplitApply::start
void start() final
RWBase::start() and then swaps the two worlds.
Definition
split_apply.cpp:22
mim::plug::gpu::phase::SplitApply::SplitApply
SplitApply(World &world, flags_t annex)
Definition
split_apply.h:12
mim::plug::gpu::phase::SplitOffKernels
Definition
split_off_kernels.h:9
gpu.h
mim::plug::gpu::phase
Definition
lower_map_reduce.h:7
mim::flags_t
u64 flags_t
Definition
types.h:39
phase.h
split_off_kernels.h
include
mim
plug
gpu
phase
split_apply.h
Generated by
1.18.0