2012-11-11 81 views
2

如何在LLVM IR中找到循環感應變量的起始和結束值?如何在LLVM IR中找到循環開始和結束

for(int i = start; i < end; i++) { 
    A[i] = 0; 
} 

想通過調用 「零(A,開始,結束)」

還是更鏗鏘AST進行更換?叮噹中是否有設施可以做這種改變?

+4

看看LLVM逝者如斯'LoopSimplify','LoopUnroll'和依賴於'LoopInfo'分析通了別人。後者應該爲您的轉換提供足夠的信息。儘管對於更復雜的數組索引依賴性分析,除了現有的LLVM特性之外,您還需要像「Polly」之類的東西。 –

回答