2
如何在LLVM IR中找到循環感應變量的起始和結束值?如何在LLVM IR中找到循環開始和結束
for(int i = start; i < end; i++) {
A[i] = 0;
}
想通過調用 「零(A,開始,結束)」
還是更鏗鏘AST進行更換?叮噹中是否有設施可以做這種改變?
如何在LLVM IR中找到循環感應變量的起始和結束值?如何在LLVM IR中找到循環開始和結束
for(int i = start; i < end; i++) {
A[i] = 0;
}
想通過調用 「零(A,開始,結束)」
還是更鏗鏘AST進行更換?叮噹中是否有設施可以做這種改變?
你也可能想看看SCEV
層次的類:http://llvm.org/docs/doxygen/html/classllvm_1_1SCEV.html
看看LLVM逝者如斯'LoopSimplify','LoopUnroll'和依賴於'LoopInfo'分析通了別人。後者應該爲您的轉換提供足夠的信息。儘管對於更復雜的數組索引依賴性分析,除了現有的LLVM特性之外,您還需要像「Polly」之類的東西。 –