Lines Matching refs:mi
39 MachineInstr *mi; variable
44 IndexListEntry(MachineInstr *mi, unsigned index) : mi(mi), index(index) {} in IndexListEntry() argument
46 MachineInstr* getInstr() const { return mi; } in getInstr()
47 void setInstr(MachineInstr *mi) { in setInstr() argument
48 this->mi = mi; in setInstr()
331 IndexListEntry* createEntry(MachineInstr *mi, unsigned index) {
337 new (entry) IndexListEntry(mi, index);
541 SlotIndex insertMachineInstrInMaps(MachineInstr *mi, bool Late = false) {
542 assert(!mi->isInsideBundle() &&
544 assert(mi2iMap.find(mi) == mi2iMap.end() && "Instr already indexed.");
547 assert(!mi->isDebugValue() && "Cannot number DBG_VALUE instructions.");
549 assert(mi->getParent() != 0 && "Instr must be added to function.");
555 nextItr = getIndexAfter(mi).listEntry();
559 prevItr = getIndexBefore(mi).listEntry();
570 indexList.insert(nextItr, createEntry(mi, newNumber));
577 mi2iMap.insert(std::make_pair(mi, newIndex));
582 void removeMachineInstrFromMaps(MachineInstr *mi) {
585 Mi2IndexMap::iterator mi2iItr = mi2iMap.find(mi);
588 assert(miEntry->getInstr() == mi && "Instruction indexes broken.");
597 void replaceMachineInstrInMaps(MachineInstr *mi, MachineInstr *newMI) {
598 Mi2IndexMap::iterator mi2iItr = mi2iMap.find(mi);
603 assert(miEntry->getInstr() == mi &&