[midend]修改一点逻辑和注释,删除无用文件

This commit is contained in:
rain2133
2025-08-08 15:31:35 +08:00
parent f17e44f8d4
commit c4c91412d1
3 changed files with 37 additions and 11 deletions

View File

@@ -121,6 +121,25 @@ bool SysYSideEffectAnalysisPass::runOnFunction(Function* F, AnalysisManager& AM)
// 获取别名分析结果,在整个函数分析过程中重复使用
aliasAnalysis = AM.getAnalysisResult<AliasAnalysisResult, SysYAliasAnalysisPass>(F);
// TODO: 重构为Module级别的分析利用独立的调用图分析
//
// 建议的架构:
// 1. SysYCallGraphAnalysisPass - 独立的调用图分析Module级别
// - 构建完整的函数调用关系
// - 提供拓扑排序和强连通分量
// - 识别递归调用模式
//
// 2. SysYSideEffectAnalysisPass - 重构为Module级别
// - 依赖调用图分析结果
// - 按拓扑序分析函数,确保依赖函数先分析
// - 使用不动点算法处理递归函数群
//
// 优势:
// - 调用图可被多个Pass复用内联、DCE等
// - 准确的函数间副作用传播
// - 正确处理递归调用
// - 避免保守的"未分析函数"假设
// 分析函数中的每条指令
SideEffectInfo functionSideEffect;