[midend-mem2reg]增加遍打印方法,修复reg2mem构造函数错误

This commit is contained in:
rain2133
2025-07-29 02:11:10 +08:00
parent 3e4cac089e
commit 202e6d7cd8
3 changed files with 42 additions and 1 deletions

View File

@@ -292,6 +292,9 @@ public:
AnalysisManager &getAnalysisManager() { return analysisManager; }
void clearPasses();
// 输出pass列表并打印IR信息供观察优化遍效果
void printPasses() const;
};
// ======================================================================

View File

@@ -50,7 +50,7 @@ private:
IRBuilder *builder; ///< IR构建器用于插入指令
public:
static void *ID; ///< Pass的唯一标识符
Reg2Mem() : OptimizationPass("Reg2Mem", Pass::Granularity::Function), builder(builder) {}
Reg2Mem(IRBuilder* builder) : OptimizationPass("Reg2Mem", Pass::Granularity::Function), builder(builder) {}
bool runOnFunction(Function *F, AnalysisManager &AM) override;
void getAnalysisUsage(std::set<void *> &analysisDependencies, std::set<void *> &analysisInvalidations) const override;
void *getPassID() const override { return &ID; } ///< 获取 Pass ID