[midend]增加全局强度削弱优化遍

This commit is contained in:
rain2133
2025-08-18 11:30:40 +08:00
parent f317010d76
commit c9a0c700e1
4 changed files with 1150 additions and 0 deletions

View File

@@ -18,6 +18,7 @@
#include "LICM.h"
#include "LoopStrengthReduction.h"
#include "InductionVariableElimination.h"
#include "GlobalStrengthReduction.h"
#include "Pass.h"
#include <iostream>
#include <queue>
@@ -179,6 +180,16 @@ void PassManager::runOptimizationPipeline(Module* moduleIR, IRBuilder* builderIR
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);
// this->run();