<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Nov 16, 2015 at 2:29 PM, Krzysztof Parzyszek <span dir="ltr"><<a href="mailto:kparzysz@codeaurora.org" target="_blank">kparzysz@codeaurora.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 11/16/2015 3:49 PM, Rail Shafigulin wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Does the instruction that is being added have an itinerary<br>
associated with it?<br>
<br>
So I checked again, and it turns out that it does have an itinerary<br>
associated with it. However it is a pseudo instruction. Does the<br>
packetizer do something special with the pseudo instructions? I didn't<br>
see any special code, but I could have missed it.<br>
</blockquote>
<br></span>
The packetizer should not do anything with these---they should not be inserted into a bundle. I'm not sure if the code in DFAPacketizer.cpp does that or not. In the Hexagon backend we originally treated CFI instructions as "solo", i.e. they could not be packetized with any other instruction. Now we simply delay the generation of these instructions until after packetization. The reason for this is that two instructions that could be packetized together were not packetized together if there was an CFI instruction in between. This was causing different code to be generated with the CFI instructions present.<br>
<br>
In general, most pseudo instructions should have been expanded into real instructions by the time the packetizer runs. For exeptional cases, you can treat them as not being packetizable with any other instructions.<div class="HOEnZb"><div class="h5"><br>
<br>
-Krzysztof<br>
<br>
--</div></div></blockquote><div><br></div><div>Thanks for the explanation.</div><div><br></div></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>R</div></div></div></div></div>
</div></div>