<div dir="ltr">For some reason on my VLIW target DFAPacketizer fails at <div><br><div>assert(CachedTable.count(StateTrans) != 0);</div><div><br></div><div>in the following function:</div><div><br><div><div>// reserveResources - Reserve the resources occupied by a MCInstrDesc and</div><div>// change the current state to reflect that change.</div><div>void DFAPacketizer::reserveResources(const llvm::MCInstrDesc *MID) {</div><div>  unsigned InsnClass = MID->getSchedClass();</div><div>  const llvm::InstrStage *IS = InstrItins->beginStage(InsnClass);</div><div>  unsigned FuncUnits = IS->getUnits();</div><div>  UnsignPair StateTrans = UnsignPair(CurrentState, FuncUnits);</div><div>  ReadTable(CurrentState);</div><div>  assert(CachedTable.count(StateTrans) != 0);</div><div>  CurrentState = CachedTable[StateTrans];</div><div>}</div><div><br></div><div>This happens at the packetization stage, i.e. scheduling seems to work. My schedule description is not very different from Hexagon or R600. I'm not quite sure why this is happening. Would someone be able to shed some light on this?</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></div></div></div>