[英]How do I replace an instruction with a value?
我正在用C ++編寫。 說我有
define void @ha(i32) #0 {
%2 = add nsw i32 %0, 1
%3 = sub nsw i32 %2, 1
ret void
}
我想更換
%3 = sub nsw i32 %2, 1
同
%3 = %0
我試過了
inst_iter->replaceAllUsesWith(val);
inst_iter->eraseFromParent();
和ReplaceInstWithValue(inst_iter-> getParent()-> getInstList(),inst_iter,val);
可以理解的是,第一個沒有用,因為它沒有其他參考。 對於第二個,它只是刪除指令。 我也找不到合適的函數(並且我還沒有包含IRBuilder)。 任何幫助表示贊賞,謝謝!
您想要的函數是replaceAllUsesWith() 。 找到您的sub
並替換為該指令的所有用法。 完成。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.