Я пишу на 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).Любая помощь приветствуется, спасибо!