<div dir="ltr"><div><span style="font-family:arial,sans-serif;font-size:13px">I was just pointing out that "reg" is defined by two instructions, which shouldn't happen when the code is still in SSA.</span></div><div><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div><font face="arial, sans-serif">"reg" is first defined by phi,</font></div><div><span style="font-size:13px;font-family:arial,sans-serif">// Update phi node</span><br style="font-size:13px;font-family:arial,sans-serif"><span style="font-size:13px;font-family:arial,sans-serif">BuildMI(*MBB_erase, MBB_erase->end(), db, TII->get(X86::PHI), reg).addReg(reg).addMBB(MBB).</span><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div><font face="arial, sans-serif">...</font></div><div><font face="arial, sans-serif"><br></font></div><div><font face="arial, sans-serif">and defined again by this instruction:</font></div><div><font face="arial, sans-serif"><br></font></div><div><span style="font-size:13px;font-family:arial,sans-serif">BuildMI(*MBB_erase, MBB_erase->end(), db, TII->get(X86::ADD64ri32), reg).addReg(reg).addImm(8);</span></div><div><br></div><div><div class="gmail_extra"><div class="gmail_quote">On Wed, Oct 29, 2014 at 3:07 AM, Rinaldini Julien <span dir="ltr"><<a href="mailto:julien.rinaldini@heig-vd.ch" target="_blank">julien.rinaldini@heig-vd.ch</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span class="">>> // Increment loop variable and jmp<br>
>> BuildMI(*MBB_erase, MBB_erase->end(), db, >> TII->get(X86::ADD64ri32),reg).addReg(reg).addImm(8);<br>
<br>
><br>
<br>
> It looks like this instruction is defining virtual register "reg" the second time.<br>
<br>
</span>Thx for your answer...<br>
Why would it define it again? I just want to use this register and add something to it...<br>
<br>
Cheers<br>
</blockquote></div><br></div></div></div>