我在 LLVM 中使用 -indvars
传递。它说这是使循环计数器在可能的情况下从 0 开始。我将它用于一个简单的循环,但它并没有使循环计数从 0 开始。知道为什么会这样吗?
循环是
for(i=30;i<90;++i){
a1[i]=i*2;
a1[i]=a1[i]+1;;
}
最佳答案
经过一些挖掘后,我发现 -indvars
pass 现在不规范化归纳变量,因为现在大多数其他 passes 都可以在不需要规范循环的情况下工作。
但是我的 pass 要求循环采用规范形式,所以我发现旧的归纳变量简化了 pass 并明确包含在我的文件中。
如果有人感兴趣here是旧通行证。
关于LLVM 因变量传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26963339/