在LLVM中,如何生成直接跳转的分支指令,而不是使用if-else。我知道有LLVM :: BranchInst类,但是不知道如何将它用于此目的,还是需要使用其他类?
答案 0 :(得分:4)
您需要一个无条件分支:
static BranchInst * llvm::BranchInst::Create(BasicBlock *IfTrue,
Instruction *InsertBefore = 0)
static BranchInst * llvm::BranchInst::Create(BasicBlock *IfTrue,
BasicBlock *InsertAtEnd)
答案 1 :(得分:2)
使用this method:
static BranchInst * Create (BasicBlock *IfTrue, BasicBlock *InsertAtEnd)
第一个参数是跳转到的位置,第二个参数是创建指令的位置。