1
我使用的是LLVM中的-indvars
pass。它說這是使循環計數器從0開始,在可能的地方。我用它做了一個簡單的循環,但是它沒有讓循環計數從0開始。任何想法爲什麼會這樣呢?LLVM indvars pass
循環是
for(i=30;i<90;++i){
a1[i]=i*2;
a1[i]=a1[i]+1;;
}
我使用的是LLVM中的-indvars
pass。它說這是使循環計數器從0開始,在可能的地方。我用它做了一個簡單的循環,但是它沒有讓循環計數從0開始。任何想法爲什麼會這樣呢?LLVM indvars pass
循環是
for(i=30;i<90;++i){
a1[i]=i*2;
a1[i]=a1[i]+1;;
}
一些挖我發現-indvars
通現在不規範化感應可變的,因爲大多數其他通行證現在,而不需要規範的循環工作後。
但是,我的通道要求循環採用規範形式,所以我發現舊的歸納變量簡化了通過並明確包含在我的文件中。
如果有人有興趣here是老傳。
可能相關:https://groups.google.com/forum/#!topic/llvm-dev/U1A8KRxIkQQ –
@MarcoA。謝謝,仍然建議循環旋轉不起作用。然而,我發現舊的indvar簡化了通行證,並且包含在我的源代碼中,並且讓它起作用。我不知道他們爲什麼首先刪除了這樣一個重要的通行證 –
好,您應該添加該答案並將其標記爲已接受。 –