<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Feb 11, 2015, at 2:46 PM, Chris Sears <<a href="mailto:chris.sears@gmail.com" class="">chris.sears@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div class="gmail_extra">There are 11 BuildMI() functions in MachineInstrBuilder.h including four using the iterator and one using an instruction. But I just don't think that's it. The creation of the new instruction works fine (works fine with OldMI as well) and the new instruction is present in the assembly output.</div><div class="gmail_extra"><br class=""></div><div class="gmail_extra">The problem is removing the old instruction correctly.<br class="">
</div><div class="gmail_extra"><br class=""></div><div class="gmail_extra"><span style="font-size:12.8000001907349px" class="">> The loop header needs to be modified, because MBBI will be invalidated when you remove the instruction:</span><br style="font-size:12.8000001907349px" class=""></div><div class="gmail_extra"><br class=""></div><div class="gmail_extra">So if I remove the old instruction with something like:</div><div class="gmail_extra"><br class=""></div><div class="gmail_extra">  MBB->remove_instr(OldMI);<br class=""></div><div class="gmail_extra"><br class=""></div><div class="gmail_extra">I could just start the loop over or is there a more better way to invalidate the MBBI iterator?</div><div class="gmail_extra">Basic blocks aren't that long (on average 4-6 instructions) and this peephole isn't that common either.</div><div class="gmail_extra"><br class=""></div></div>
</div></blockquote></div><br class=""><div class="">I don’t understand anything of what you say, sorry :)</div><div class=""><br class=""></div><div class="">I think I sent you a fix in my previous email, did you try it?</div><div class=""><br class=""></div><div class="">Mehdi</div><div class=""><br class=""></div></body></html>