【问题标题】:How to insert the first instruction to an empty basic block in llvm如何将第一条指令插入llvm中的空基本块
【发布时间】:2018-11-11 11:14:10
【问题描述】:

非空基本块插入新的 l​​lvm 指令 确实很简单:只需迭代现有指令 直到您到达所需的位置并使用

newInst->insertBefore(thatInst);

命令。但是,当我查看BasicBlock 接口here 时, 我似乎找不到如何插入第一条指令? 我的意思是当一个新的基本块刚刚分配并且它仍然是空的时,如何将第一条指令插入其中?谢谢!

【问题讨论】:

    标签: llvm llvm-ir bitcode


    【解决方案1】:

    您可以像这样使用IRBuilder

    llvm::IRBuilder builder(basicBlock);
    builder.createAdd(...); // Replace "Add" as appropriate
    

    或者,如果你想插入一个已经存在的指令对象:

    builder.insert(instruction);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-02
      • 2020-06-16
      • 2012-03-14
      • 1970-01-01
      • 2014-12-28
      • 1970-01-01
      相关资源
      最近更新 更多