LLVM indvars通过

时间:2014-11-16 23:29:13

标签: llvm llvm-clang llvm-ir canonicalization

我在LLVM中使用-indvars传递。它说这使得循环计数器从0开始,在可能的情况下。我用它做了一个简单的循环,但它没有让循环计数从0开始。任何想法为什么会这样?

循环

for(i=30;i<90;++i){
        a1[i]=i*2;
        a1[i]=a1[i]+1;;
}

1 个答案:

答案 0 :(得分:1)

经过一番挖掘后,我发现-indvars传递现在没有规范化归纳变量,因为现在大多数其他传递都可以在不需要规范循环的情况下工作。

但是我的传递要求循环是规范形式的,所以我发现旧的归纳变量简化了传递并明确地包含在我的文件中。

如果有人感兴趣here是旧通行证。