2014-11-16 35 views
1

我使用的是LLVM中的-indvars pass。它說這是使循環計數器從0開始,在可能的地方。我用它做了一個簡單的循環,但是它沒有讓循環計數從0開始。任何想法爲什麼會這樣呢?LLVM indvars pass

循環是

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

可能相關:https://groups.google.com/forum/#!topic/llvm-dev/U1A8KRxIkQQ –

+0

@MarcoA。謝謝,仍然建議循環旋轉不起作用。然而,我發現舊的indvar簡化了通行證,並且包含在我的源代碼中,並且讓它起作用。我不知道他們爲什麼首先刪除了這樣一個重要的通行證 –

+0

好,您應該添加該答案並將其標記爲已接受。 –

回答

1

一些挖我發現-indvars通現在不規範化感應可變的,因爲大多數其他通行證現在,而不需要規範的循環工作後。

但是,我的通道要求循環採用規範形式,所以我發現舊的歸納變量簡化了通過並明確包含在我的文件中。

如果有人有興趣here是老傳。