如何在LLVM IR中找到循环开始和结束
问题描述:
如何在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进行更换?叮当中是否有设施可以做这种改变?
看看LLVM逝者如斯'LoopSimplify','LoopUnroll'和依赖于'LoopInfo'分析通了别人。后者应该为您的转换提供足够的信息。尽管对于更复杂的数组索引依赖性分析,除了现有的LLVM特性之外,您还需要像“Polly”之类的东西。 –