<div dir="ltr">I'm trying to figure out how Hexagon (I'm using it as an example for my own VLIW) is handling bundles with 1 instruction, but I don't quite get it. Here is the code that I have for a endPacket<br clear="all"><div><br></div><div><div>// endPacket - End the current packet, bundle packet instructions and reset</div><div>// DFA state.</div><div>void VLIWPacketizerList::endPacket(MachineBasicBlock *MBB,</div><div>                                         MachineInstr *MI) {</div><div>  if (CurrentPacketMIs.size() > 1) {</div><div>    MachineInstr *MIFirst = CurrentPacketMIs.front();</div><div>    finalizeBundle(*MBB, MIFirst, MI);</div><div>  }</div><div>  CurrentPacketMIs.clear();</div><div>  ResourceTracker->clearResources();</div><div>}</div></div><div><br></div><div>Based on this, it looks like packets with one instruction are not finalized (finalizeBundle is the one which inserts a BUNDLE instruction). So what happens with packets that have only 1 instruction? Is there a separate pass that creates a bundle from a single instruction?</div><div><br></div><div>Any help is appreciated.</div><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>R</div></div></div></div></div>
</div>