我-indvars
在 LLVM 中使用 pass。它说这是使循环计数器从可能的0开始。我将它用于一个简单的循环,但它没有使循环计数从 0 开始。知道为什么会这样吗?
循环是
for(i=30;i<90;++i){
a1[i]=i*2;
a1[i]=a1[i]+1;;
}
我-indvars
在 LLVM 中使用 pass。它说这是使循环计数器从可能的0开始。我将它用于一个简单的循环,但它没有使循环计数从 0 开始。知道为什么会这样吗?
循环是
for(i=30;i<90;++i){
a1[i]=i*2;
a1[i]=a1[i]+1;;
}
经过一番挖掘,我发现-indvars
现在通过不规范化归纳变量,因为现在大多数其他通过都可以在不需要规范循环的情况下工作。
然而,我的 pass 要求循环采用规范形式,所以我发现旧的归纳变量简化 pass 并明确包含在我的文件中。
如果有人对这里感兴趣,那就是老通行证。