Как я могу проверить, есть ли доступ к массиву в базовом блоке?
Например, я хочу найти [i] в следующем примере.
Например:
for(i=0;i<n;i++) a[i]=a[i+1]+i;
Доступ к массиву моделируется инструкциями getelementptr.Таким образом, вы можете перебирать базовый блок с помощью чего-то вроде:
getelementptr
for (BasicBlock::iterator i = blk->begin(), e = blk->end(); i != e; ++i) { if(isa<GetElementPtrInst>(i)) { // process it here } }