3
在LLVM中,如何生成直接跳轉的分支指令,而不是if-else。我知道有LLVM :: BranchInst類,但不知道如何將其用於此目的,還是我需要使用其他類?在LLVM中直接跳轉的分支指令
在LLVM中,如何生成直接跳轉的分支指令,而不是if-else。我知道有LLVM :: BranchInst類,但不知道如何將其用於此目的,還是我需要使用其他類?在LLVM中直接跳轉的分支指令
你需要一個無條件分支:
static BranchInst * llvm::BranchInst::Create(BasicBlock *IfTrue,
Instruction *InsertBefore = 0)
static BranchInst * llvm::BranchInst::Create(BasicBlock *IfTrue,
BasicBlock *InsertAtEnd)
使用this method:
static BranchInst * Create (BasicBlock *IfTrue, BasicBlock *InsertAtEnd)
第一個參數是你在哪裏跳躍,第二個是在那裏產生的指令,應放置。