CompilerSysY/include/pass.h
2023-05-24 20:40:45 +08:00

21 lines
388 B
C++

#pragma once
#include "common.h"
#include "llir_module.h"
namespace CompSysY {
class Pass {
public:
std::string pass_name;
Pass(const std::string &name) : pass_name(name) {}
virtual void run(const Module &module) = 0;
};
class PassMem2Reg : public Pass {
public:
PassMem2Reg() : Pass("mem2reg") {}
virtual void run(const Module &module) override;
};
} // namespace CompSysY