我想複製指令(例如加法二進制操作),並在LLVM IR中顯示它們,但以下代碼僅返回我構建的第1條指令(add1)。如何返回兩者都構建說明?複製llvm指令
IRBuilder<> builder(op);
Value *lhs = op->getOperand(0);
Value *rhs = op->getOperand(1);
Value *add1 = builder.CreateAdd(lhs, rhs);
Value *add2 = builder.CreateAdd(lhs, rhs);
for (auto &U : op->uses()) {
User *user = U.getUser(); // A User is anything with operands.
user->setOperand(U.getOperandNo(), add1);
user->setOperand(U.getOperandNo(), add2);
}
非常感謝你,最好使用clone()來複制指令 –