MimIR
MimIR is my Intermediate Representation
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
6
7class LowerMapReduce : public RWPhase {
8public:
9 using Super = RWPhase;
10 using RWPhase::RWPhase;
11
12private:
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
Base class for all Defs.
Definition def.h:289
RWPhase(World &world, std::string name, Analysis *analysis=nullptr)
Definition phase.h:334
void start() final
Skips the whole phase if the program already contains an explicit gpu.init.
RWPhase(World &world, std::string name, Analysis *analysis=nullptr)
Definition phase.h:334
const Def * rewrite_imm_App(const App *) final