在LLVM中,我想使用ScalarEvolution类的getSmallConstantTripCount方法分析循环行程计数。但是,当归纳变量是全局变量时,它无法获得行程计数:
int g = 0;
int main(){
int k = 0;
for(; g < 100; ++g)
k++;
return 0;
}
此外,如果在内环的范围之外定义归纳变量,它也不能获得跳闸计数(参见内循环k):
int main(){
int k = 0;
int g = 0;
for(; g < 100; ++g){
for(; k < 100; ++k);
}
return 0;
}
如何在这两种情况下获得旅行计数?任何想法,谢谢。