CompilerSysY/include/pass_base.h
2023-07-10 15:04:56 +08:00

29 lines
509 B
C++

#pragma once
#include "common.h"
#include "llir_module.h"
#include "mc_inst.h"
// #define DEBUG_REGALLOC
namespace CompSysY
{
class Pass
{
public:
std::string pass_name;
Pass(const std::string &name) : pass_name(name) {}
virtual ~Pass() = default;
virtual void run(const Module &module) = 0;
};
class MCPass
{
public:
std::string pass_name;
MCPass(const std::string &name) : pass_name(name) {}
virtual void run(const MCModule &module) = 0;
};
} // namespace CompSysY