我在LLVM中使用-indvars
传递。它说这使得循环计数器从0开始,在可能的情况下。我用它做了一个简单的循环,但它没有让循环计数从0开始。任何想法为什么会这样?
循环
for(i=30;i<90;++i){
a1[i]=i*2;
a1[i]=a1[i]+1;;
}
答案 0 :(得分:1)
经过一番挖掘后,我发现-indvars
传递现在没有规范化归纳变量,因为现在大多数其他传递都可以在不需要规范循环的情况下工作。
但是我的传递要求循环是规范形式的,所以我发现旧的归纳变量简化了传递并明确地包含在我的文件中。
如果有人感兴趣here是旧通行证。