Найти доступ к массиву в базовом блоке - PullRequest
1 голос
/ 12 марта 2012

Как я могу проверить, есть ли доступ к массиву в базовом блоке?

Например, я хочу найти [i] в ​​следующем примере.

Например:

           for(i=0;i<n;i++)
                  a[i]=a[i+1]+i;

1 Ответ

1 голос
/ 12 марта 2012

Доступ к массиву моделируется инструкциями getelementptr.Таким образом, вы можете перебирать базовый блок с помощью чего-то вроде:

for (BasicBlock::iterator i = blk->begin(), e = blk->end(); i != e; ++i) {
  if(isa<GetElementPtrInst>(i)) {
    // process it here
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...