确定数组的步幅

时间:2012-10-31 17:34:55

标签: c compiler-construction llvm clang

我正在尝试在LLVM中对数组执行LoopDependenceAnalysis。为此我写了一个LLVM LoopPass。我能够使用GetElementPtr检测数组。我无法确定循环中使用的数组的步幅。

例如,我有一个c代码

int b[10];
for(int i = 0; i < 10; i++)
{
    b[i] = b[i+2];
}

现在在两个数组访问中,第一个数组访问(b [i])的步幅为0,而第二个数据访问的步幅为2.如何确定这些值?

0 个答案:

没有答案