<div dir="ltr"><div><div><div>So, you are replacing <br><br>     add = *x + 4<br><br></div>with<br><br></div>     add = x + 4 <br><br></div><div>(where x is still an `int *x`)<br></div><div><br></div>Is that really what you want?<br></div><div class="gmail_extra"><br><div class="gmail_quote">On 5 February 2016 at 10:06, Mohammad Norouzi via llvm-dev <span dir="ltr"><<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><div><div><div><div><div>Hi,<br><br></div>I need to replace all uses of load instructions with the value of its operand. Here is an example:<br><br></div>%16 = load i32, i32* %x<br><br></div>%add = add i32 4, %16<br><br></div>In this case, i would like to have the result as:<br><br></div>%add = add i32 4, %x<br><br></div>and then delete the load instruction. I have tried replaceAllUsesWithValue but i get a type problem.<br><br>"llvm::Value::replaceAllUsesWith(llvm::Value*): Assertion `New->getType() == getType() && "replaceAllUses of value with new value of different type!"' failed."<br><br></div>Best,<br></div>Mohammad<br></div>
<br>_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
<br></blockquote></div><br></div>