2

-indvars在 LLVM 中使用 pass。它说这是使循环计数器从可能的0开始。我将它用于一个简单的循环,但它没有使循环计数从 0 开始。知道为什么会这样吗?

循环是

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

1 回答 1

3

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

然而,我的 pass 要求循环采用规范形式,所以我发现旧的归纳变量简化 pass 并明确包含在我的文件中。

如果有人对这里感兴趣,那就是老通行证。

于 2014-11-17T00:07:33.720 回答