我试图了解IRBuilderLLVM 中以下方法的用途
BasicBlock *GetInsertBlock() const { return BB; }
BasicBlock::iterator GetInsertPoint() const { return InsertPt; }
Run Code Online (Sandbox Code Playgroud)
没有针对它们的 doxygen 文档。例如,如果我第一次使用会发生什么mybuilder.GetInsertBlock()?
IRBuilder有一个“当前插入点”的概念。例如,如果您创建一对指令,它知道第二条指令在第一条指令之后。该信息在哪里维护?在这些BB和InsertPt字段中, 指向当前的基本块和指令。
您提到的这对方法提供了对这些字段的直接访问。我猜它没有记录在案,因为直接访问它们不是使用 an 的“正确”方式IRBuilder,但它们仍然有用。