<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jul 31, 2017 at 12:21 AM, Serguei Katkov via Phabricator <span dir="ltr"><<a href="mailto:reviews@reviews.llvm.org" target="_blank">reviews@reviews.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">skatkov abandoned this revision.<br>
<span class="">skatkov added a comment.<br>
<br>
Hi Daniel,<br>
<br>
</span>I've come up with the following implementation basing on your idea: <a href="https://reviews.llvm.org/D36073" rel="noreferrer" target="_blank">https://reviews.llvm.org/<wbr>D36073</a><br>
<br>
Please take into account that finally I realized that I could not use SSAUpdater API because it is possible that I can observe the base instruction in the same BB but the difference might be in the path I can get it.<br>
Simple example:<br>
p1 = b1 + 40<br>
p2 = b2 + 40<br>
p = p1<br>
if (cond) p = p2<br>
v = *(p)<br>
<br>
So I have p1 and p2 in the same basic block, so I cannot say to SSA update that I saw b1 and b2 in the same basic block to get the right phi node merging b1 and b2.<br></blockquote><div><br></div><div>(I assume this if is turning into a select)</div><div>Right, you have to write/read the definitions in the right order, even with the new API.</div><div><br></div><div>It's possible toavoid this issue by adding local dominance info using ordered instructions, and then you could just add them in any order.</div><div><br></div><div>I'm pretty sure we could design something that worked a little better for you.<br></div><div><br></div><div>Do you have an example of what you want the above output fo actually produce in terms of phi nodes?<br><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I hope the right implementation may b found in <a href="https://reviews.llvm.org/D36073" rel="noreferrer" target="_blank">https://reviews.llvm.org/<wbr>D36073</a><br>
<br>
<br>
<a href="https://reviews.llvm.org/D35474" rel="noreferrer" target="_blank">https://reviews.llvm.org/<wbr>D35474</a><br>
<br>
<br>
<br>
</blockquote></div><br></div></div>