在LLVM中,如果我们通过LLVM Pass在LLVM IR中插入一些指令,那么我们必须插入一条指令,该指令将使用我们先前插入的指令的结果,或者我们必须将插入的指令的结果存储到LLVM IR中已经存在的一些变量并非无用。
例如我不能插入指令
%result = add i32 4 3
和%结果未在后续说明中使用。
答案 0 :(得分:0)
你应该能够插入它,但是如果在你的传球后运行优化传球,它可能会被淘汰,因为它未使用且没有副作用。
答案 1 :(得分:0)
不,这绝对没有必要。如果正确插入指令(即正确使用API),则可以不使用它。
事实上,未使用的值也可以通过各种优化传递来保留。 LLVM还有其他通道,如DCE(死代码消除),它将删除未使用的指令。