3

在 LLVM 中,如何生成直接跳转的分支指令,而不是 if-else。我知道有 LLVM::BranchInst 类,但不知道如何为此目的使用它,或者我是否需要使用其他类?

4

2 回答 2

4

您需要一个无条件分支:

static BranchInst * llvm::BranchInst::Create(BasicBlock *IfTrue,
                                             Instruction *InsertBefore = 0)

static BranchInst * llvm::BranchInst::Create(BasicBlock *IfTrue,
                                             BasicBlock *InsertAtEnd)
于 2012-11-09T12:24:20.977 回答
2

使用此方法

static BranchInst *     Create (BasicBlock *IfTrue, BasicBlock *InsertAtEnd)

第一个参数是您要跳转到的位置,第二个参数是应放置已创建指令的位置。

于 2012-11-09T12:17:07.337 回答