It's a silly question. I rephrase it as  "is it possible to use different instruction to def the same ssa variable?"  <br><br><div class="gmail_quote">On Wed, Apr 14, 2010 at 5:45 PM, Neal  N. Wang <span dir="ltr"><<a href="mailto:neal.wang@gmail.com" target="_blank">neal.wang@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Thanks for all the replies which are really helpful. <br><br>one more question regarding transformation:<br>

<br>4.  Given an instruction  %x1 = I1,  can I replace the rhs "I1"  with  "I2" and get a new instruction %x1 = I2?   Alternatively, I can add a new instruction %x2 = I2, and replace all uses of %x1 with %x2, and then delete %x1 = I1, but it seems the former is simpler or faster if it's doable. <br>


<br>Any suggestion?<br>Neal<div><div></div><div><br>   <br><br><br><div class="gmail_quote">On Mon, Apr 12, 2010 at 11:20 PM, Devang Patel <span dir="ltr"><<a href="mailto:devang.patel@gmail.com" target="_blank">devang.patel@gmail.com</a>></span> wrote:<br>


<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div>> 3.  can I modify a function to take extra formal parameters? can I update<br>

> all calls of the original function to take extra actual paramters?  The<br>
> function might be called across multiple modules.   It seems this has to be<br>
> done at both ModulePass and FunctionPass levels.<br>
><br>
<br>
</div><div><div></div><div>Check out DeadArgumentElimination pass. It does opposite of what you<br>
want, but you'll get an idea.<br>
<br>
-<br>
Devang<br>
</div></div></blockquote></div><br>
</div></div></blockquote></div><br>