[deploy]取消m2r到r2m的优化

This commit is contained in:
lixuanwang
2025-08-20 13:29:40 +08:00
parent 1f8a6f6da3
commit 21a6283ee2

View File

@ -128,77 +128,77 @@ void PassManager::runOptimizationPipeline(Module* moduleIR, IRBuilder* builderIR
this->addPass(&Mem2Reg::ID);
this->run();
if(DEBUG) {
std::cout << "=== IR After Mem2Reg Optimizations ===\n";
printPasses();
}
// if(DEBUG) {
// std::cout << "=== IR After Mem2Reg Optimizations ===\n";
// printPasses();
// }
// // this->clearPasses();
// // this->addPass(&GVN::ID);
// // this->run();
// this->clearPasses();
// this->addPass(&GVN::ID);
// this->addPass(&TailCallOpt::ID);
// this->run();
this->clearPasses();
this->addPass(&TailCallOpt::ID);
this->run();
// if(DEBUG) {
// std::cout << "=== IR After TailCallOpt ===\n";
// SysYPrinter printer(moduleIR);
// printer.printIR();
// }
if(DEBUG) {
std::cout << "=== IR After TailCallOpt ===\n";
SysYPrinter printer(moduleIR);
printer.printIR();
}
// if(DEBUG) {
// std::cout << "=== IR After GVN Optimizations ===\n";
// printPasses();
// }
if(DEBUG) {
std::cout << "=== IR After GVN Optimizations ===\n";
printPasses();
}
// // this->clearPasses();
// // this->addPass(&SCCP::ID);
// // this->run();
// if(DEBUG) {
// std::cout << "=== IR After SCCP Optimizations ===\n";
// printPasses();
// }
// this->clearPasses();
// this->addPass(&SCCP::ID);
// this->addPass(&LoopNormalizationPass::ID);
// this->addPass(&InductionVariableElimination::ID);
// this->run();
if(DEBUG) {
std::cout << "=== IR After SCCP Optimizations ===\n";
printPasses();
}
this->clearPasses();
this->addPass(&LoopNormalizationPass::ID);
this->addPass(&InductionVariableElimination::ID);
this->run();
if(DEBUG) {
std::cout << "=== IR After Loop Normalization, Induction Variable Elimination ===\n";
printPasses();
}
// if(DEBUG) {
// std::cout << "=== IR After Loop Normalization, Induction Variable Elimination ===\n";
// printPasses();
// }
this->clearPasses();
this->addPass(&LICM::ID);
this->run();
if(DEBUG) {
std::cout << "=== IR After LICM ===\n";
printPasses();
}
this->clearPasses();
this->addPass(&LoopStrengthReduction::ID);
this->run();
if(DEBUG) {
std::cout << "=== IR After Loop Normalization, and Strength Reduction Optimizations ===\n";
printPasses();
}
// // 全局强度削弱优化,包括代数优化和魔数除法
// this->clearPasses();
// this->addPass(&GlobalStrengthReduction::ID);
// this->addPass(&LICM::ID);
// this->run();
if(DEBUG) {
std::cout << "=== IR After Global Strength Reduction Optimizations ===\n";
printPasses();
}
// if(DEBUG) {
// std::cout << "=== IR After LICM ===\n";
// printPasses();
// }
// this->clearPasses();
// this->addPass(&LoopStrengthReduction::ID);
// this->run();
// if(DEBUG) {
// std::cout << "=== IR After Loop Normalization, and Strength Reduction Optimizations ===\n";
// printPasses();
// }
// // // 全局强度削弱优化,包括代数优化和魔数除法
// // this->clearPasses();
// // this->addPass(&GlobalStrengthReduction::ID);
// // this->run();
// if(DEBUG) {
// std::cout << "=== IR After Global Strength Reduction Optimizations ===\n";
// printPasses();
// }
this->clearPasses();
this->addPass(&Reg2Mem::ID);