如何检查基本块中是否存在数组访问?
例如,我想在以下示例中找到[i]。
例如:
for(i=0;i<n;i++)
a[i]=a[i+1]+i;
答案 0 :(得分:1)
数组访问由getelementptr
指令建模。
因此,您可以使用以下内容迭代Basic Block:
for (BasicBlock::iterator i = blk->begin(), e = blk->end(); i != e; ++i) {
if(isa<GetElementPtrInst>(i)) {
// process it here
}
}