MimIR
0.5-dev
MimIR is my Intermediate Representation
Toggle main menu visibility
Loading...
Searching...
No Matches
lower_map_reduce.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <
mim/phase.h
>
4
5
namespace
mim::plug::gpu::phase
{
6
7
class
LowerMapReduce
:
public
RWPhase
{
8
public
:
9
using
Super
=
RWPhase
;
10
using
RWPhase::RWPhase
;
11
12
private
:
13
/// Skips the whole phase if the program already contains an explicit `gpu.init`.
14
// TODO: consider different solution to gpu.init vs gpu.auto_init problem
15
void
start
() final;
16
const
Def
*
rewrite_imm_App
(const
App
*) final;
17
18
const
Def
* lower_map_reduce_post(const
App
*);
19
};
20
21
}
// namespace mim::plug::gpu::phase
mim::App
Definition
lam.h:215
mim::Def
Base class for all Defs.
Definition
def.h:289
mim::RWPhase::RWPhase
RWPhase(World &world, std::string name, Analysis *analysis=nullptr)
Definition
phase.h:334
mim::plug::gpu::phase::LowerMapReduce
Definition
lower_map_reduce.h:7
mim::plug::gpu::phase::LowerMapReduce::start
void start() final
Skips the whole phase if the program already contains an explicit gpu.init.
Definition
lower_map_reduce.cpp:301
mim::plug::gpu::phase::LowerMapReduce::RWPhase
RWPhase(World &world, std::string name, Analysis *analysis=nullptr)
Definition
phase.h:334
mim::plug::gpu::phase::LowerMapReduce::Super
RWPhase Super
Definition
lower_map_reduce.h:9
mim::plug::gpu::phase::LowerMapReduce::rewrite_imm_App
const Def * rewrite_imm_App(const App *) final
Definition
lower_map_reduce.cpp:312
mim::plug::gpu::phase
Definition
lower_map_reduce.h:5
phase.h
include
mim
plug
gpu
phase
lower_map_reduce.h
Generated by
1.18.0