[midend-BuildCFG]修复逻辑

This commit is contained in:
rain2133
2025-08-03 16:14:31 +08:00
parent a1cf60c420
commit 22cf18a1d6
4 changed files with 71 additions and 124 deletions

View File

@@ -36,11 +36,12 @@ void PassManager::runOptimizationPipeline(Module* moduleIR, IRBuilder* builderIR
3. 添加优化passid
*/
// 注册分析遍
registerAnalysisPass<sysy::DominatorTreeAnalysisPass>();
registerAnalysisPass<sysy::LivenessAnalysisPass>();
registerAnalysisPass<DominatorTreeAnalysisPass>();
registerAnalysisPass<LivenessAnalysisPass>();
// 注册优化遍
registerOptimizationPass<BuildCFG>(builderIR);
registerOptimizationPass<BuildCFG>();
registerOptimizationPass<SysYDelInstAfterBrPass>();
registerOptimizationPass<SysYDelNoPreBLockPass>();
registerOptimizationPass<SysYBlockMergePass>();
@@ -66,7 +67,7 @@ void PassManager::runOptimizationPipeline(Module* moduleIR, IRBuilder* builderIR
}
this->clearPasses();
this->addPass(&&BuildCFG::ID);
this->addPass(&BuildCFG::ID);
this->run();
this->clearPasses();