llvm 中未提及的函数和类型的文档?

Documentation for unmentioned functions and types in llvm?

我正在努力从程序员手册中学习 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() 在 link: https://llvm.org/doxygen/classllvm_1_1BasicBlock.html 中未作为 class BasicBlock 的 public 成员函数提及。我在哪里可以看到它的文档?

(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() 不是 class 成员函数(因为它们没有 F.inst_begin())并且类型 inst_iterator 不是任何 class 的成员类型 - 那么我在哪里可以找到此类函数和类型的文档?

  1. 它实际上在该页面上被提及为继承自 llvm::Value 的成员,但只有当您展开“Public 继承自 [=10= 的成员函数”时它才可见] 节".

    因此,当您在寻找 class 的成员但没有看到时,请尝试展开所有继承成员的列表并再次搜索。

  2. 它是 llvm 命名空间的成员,因此您可以在 that namespace's documentation page 上找到它。还有所有命名空间成员的字母索引,您可以通过在顶部菜单中选择“命名空间 -> 命名空间成员”然后选择适当的字母来访问它。