我试图了解以下 IRBuilder
方法在 LLVM 中的用途
BasicBlock *GetInsertBlock() const { return BB; }
BasicBlock::iterator GetInsertPoint() const { return InsertPt; }
没有针对它们的 doxygen 文档。例如,如果我第一次使用
mybuilder.GetInsertBlock()
会发生什么? 最佳答案
IRBuilder
有一个“当前插入点”的概念。例如,如果您创建一对指令,它知道第 2 条在第 1 条之后。这些信息在哪里维护?在那些 BB
和 InsertPt
字段中,它们指向当前的基本块和指令。
您提到的这对方法提供了对这些字段的直接访问。我猜它没有记录在案,因为直接访问它们不是使用 IRBuilder
的“正确”方式,但它们仍然很有用。
关于c++ - LLVM builder::GetInsertBlock,这个函数的目的是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22153756/