CompilerSysY/include/pass.h
2023-05-20 10:46:46 +08:00

21 lines
390 B
C++

#pragma once
#include "common.h"
#include "llir_module.h"
namespace antlrSysY {
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 antlrSysY