如何在 LLVM LoopPass 中进行标量演化分析?
How to get Scalar Evolution analysis in a LLVM LoopPass?
我需要在 LLVM 循环传递中获取 ScalarEvolution
对象。我知道我们可以从
LoopStandardAnalysisResults
使用新的通行证管理器时的对象。是否可以使用旧的/传统的循环传递来获得 scalarEvolution 分析?
经过一些代码搜索,我发现我们可以像下面那样做:
bool runOnLoop(Loop *L, LPPassManager &LPM) override {
auto *SE = getAnalysisIfAvailable<ScalarEvolutionWrapperPass>();
}
我需要在 LLVM 循环传递中获取 ScalarEvolution
对象。我知道我们可以从
LoopStandardAnalysisResults
使用新的通行证管理器时的对象。是否可以使用旧的/传统的循环传递来获得 scalarEvolution 分析?
经过一些代码搜索,我发现我们可以像下面那样做:
bool runOnLoop(Loop *L, LPPassManager &LPM) override {
auto *SE = getAnalysisIfAvailable<ScalarEvolutionWrapperPass>();
}