Документация для не упомянутых функций и типов в llvm? - PullRequest
0 голосов
/ 11 апреля 2020

Я с трудом изучаю программирование llvm из руководства программиста: http://llvm.org/docs/ProgrammersManual.html#introduction

(1) В следующем коде:

Function &Func = ...
for (BasicBlock &BB : Func)
  errs() << "Basic block (name=" << BB.getName() << ") has " << BB.size() << " instructions.\n";

Функция BB. Функция getname () не упоминается как публичная c функция члена класса BasicBlock в ссылке: https://llvm.org/doxygen/classllvm_1_1BasicBlock.html. Где я могу увидеть его документацию?

(2) В следующем коде:

td::set<Instruction*> worklist;  
for (inst_iterator I = inst_begin(F), E = inst_end(F); I != E; ++I)
  worklist.insert(&*I);

Функции inst_begin (), inst_end () не являются функциями-членами класса (так как они не имеют F .inst_begin ()) и тип inst_iterator не является типом члена какого-либо класса - так где я могу найти документацию для таких функций и типов?

1 Ответ

1 голос
/ 12 апреля 2020
  1. На этой странице он фактически упоминается как член, унаследованный от llvm::Value, но он виден только в том случае, если вы раскрываете «Функции-члены Publi c, унаследованные от llvm::Value section».

    Поэтому, когда вы ищете члена класса и не видите его, попробуйте расширить все списки унаследованных членов и выполнить поиск снова.

  2. Это член llvm пространство имен, так что вы можете найти его на странице документации этого пространства имен . Также имеется алфавитный указатель всех членов пространств имен, доступ к которому вы можете получить, выбрав «Пространства имен -> Члены пространства имен» в верхнем меню, а затем выбрав соответствующую букву.
...