我在LLVM中使用-indvars pass。它说,这使循环计数器从0开始,在可能的情况下。我使用它作为一个简单的循环,但它没有使循环计数从0开始。你知道为什么会这样吗?
循环是
for(i=30;i<90;++i){
a1[i]=i*2;
a1[i]=a1[i]+1;;
}发布于 2014-11-17 00:07:33
经过深入研究,我发现-indvars pass现在不对归纳变量进行规范化,因为现在大多数其他的传递都是为了工作而不需要正则循环。
但是,我的pass要求循环必须是规范的,所以我发现旧的归纳变量简化了pass,并显式地包含在我的文件中。
如果有人感兴趣,这里是旧的通行证。
https://stackoverflow.com/questions/26963339
复制相似问题