Lines Matching refs:lis

45     StartSlotComparator(LiveIntervals &lis) : lis(lis) {}  in StartSlotComparator()  argument
48 return lis.getMBBStartIdx(mbb1) < lis.getMBBStartIdx(mbb2); in operator ()()
51 LiveIntervals &lis; member in llvm::StartSlotComparator
101 newLI = &ls.lis->getOrCreateInterval(vreg); in getNewLI()
111 ls.lis->getVNInfoAllocator()); in getNewVNI()
131 ls.lis->findExitingRange(li, preHeader); in applyIncoming()
142 ls.lis->InsertMachineInstrInMaps(copy); in applyIncoming()
144 SlotIndex copyDefIdx = ls.lis->getInstructionIndex(copy).getDefIndex(); in applyIncoming()
149 li.removeRange(copyDefIdx, ls.lis->getMBBEndIdx(preHeader), true); in applyIncoming()
152 ls.lis->getMBBEndIdx(preHeader), in applyIncoming()
167 LiveRange *outRange = ls.lis->findEnteringRange(li, outBlock); in applyOutgoing()
176 ls.lis->InsertMachineInstrInMaps(copy); in applyOutgoing()
178 SlotIndex copyDefIdx = ls.lis->getInstructionIndex(copy).getDefIndex(); in applyOutgoing()
181 outRange->valno->def = ls.lis->getInvalidIndex(); in applyOutgoing()
182 li.removeRange(ls.lis->getMBBStartIdx(outBlock), copyDefIdx); in applyOutgoing()
184 SlotIndex newDefIdx = ls.lis->getMBBStartIdx(outBlock); in applyOutgoing()
185 assert(ls.lis->getInstructionFromIndex(newDefIdx) == 0 && in applyOutgoing()
188 getNewLI()->getNextValue(newDefIdx, 0, ls.lis->getVNInfoAllocator()); in applyOutgoing()
190 getNewLI()->addRange(LiveRange(ls.lis->getMBBStartIdx(outBlock), in applyOutgoing()
216 SlotIndex instrIdx = ls.lis->getInstructionIndex(&instr); in copyRanges()
237 ls.lis->findEnteringRange(li, &loopBlock); in copyRanges()
282 lis = &getAnalysis<LiveIntervals>(); in runOnMachineFunction()
312 for (LiveIntervals::iterator liItr = lis->begin(), liEnd = lis->end(); in runOnMachineFunction()
317 !lis->intervalIsInOneMBB(*li)) { in runOnMachineFunction()
406 if (lis->isNotInMIMap(miItr)) { in updateTerminators()
407 lis->InsertMachineInstrInMaps(miItr); in updateTerminators()
477 lis->InsertMBBInMaps(preHeader); in insertPreHeader()
491 for (LiveIntervals::iterator liItr = lis->begin(), in insertPreHeader()
492 liEnd = lis->end(); in insertPreHeader()
498 if (!lis->isLiveInToMBB(li, &header)) in insertPreHeader()
501 if (lis->isLiveInToMBB(li, preHeader)) { in insertPreHeader()
502 assert(lis->isLiveOutOfMBB(li, preHeader) && in insertPreHeader()
513 if (lis->isLiveOutOfMBB(li, predMBB)) { in insertPreHeader()
522 SlotIndex newDefIdx = lis->getMBBStartIdx(preHeader); in insertPreHeader()
523 assert(lis->getInstructionFromIndex(newDefIdx) == 0 && in insertPreHeader()
525 VNInfo *newVal = li.getNextValue(newDefIdx, 0, lis->getVNInfoAllocator()); in insertPreHeader()
526 li.addRange(LiveRange(lis->getMBBStartIdx(preHeader), in insertPreHeader()
527 lis->getMBBEndIdx(preHeader), in insertPreHeader()
587 lis->InsertMBBInMaps(splitBlock); in splitEdge()
610 for (LiveIntervals::iterator liItr = lis->begin(), in splitEdge()
611 liEnd = lis->end(); in splitEdge()
614 bool intersects = lis->isLiveOutOfMBB(li, &inBlock) && in splitEdge()
615 lis->isLiveInToMBB(li, &outBlock); in splitEdge()
616 if (lis->isLiveInToMBB(li, splitBlock)) { in splitEdge()
618 li.removeRange(lis->getMBBStartIdx(splitBlock), in splitEdge()
619 lis->getMBBEndIdx(splitBlock), true); in splitEdge()
622 SlotIndex newDefIdx = lis->getMBBStartIdx(splitBlock); in splitEdge()
623 assert(lis->getInstructionFromIndex(newDefIdx) == 0 && in splitEdge()
626 lis->getVNInfoAllocator()); in splitEdge()
627 li.addRange(LiveRange(lis->getMBBStartIdx(splitBlock), in splitEdge()
628 lis->getMBBEndIdx(splitBlock), in splitEdge()
642 LoopMBBSet loopMBBs((StartSlotComparator(*lis))); in getLoopRanges()
650 SlotIndex oldEnd = lis->getMBBEndIdx(*loopMBBs.begin()); in getLoopRanges()
652 std::make_pair(lis->getMBBStartIdx(*loopMBBs.begin()), in getLoopRanges()
653 lis->getInvalidIndex())); in getLoopRanges()
657 SlotIndex newStart = lis->getMBBStartIdx(*curBlockItr); in getLoopRanges()
661 lis->getInvalidIndex())); in getLoopRanges()
663 oldEnd = lis->getMBBEndIdx(*curBlockItr); in getLoopRanges()
667 lis->getMBBEndIdx(*llvm::prior(loopMBBs.end())); in getLoopRanges()
685 SlotIndex invalid = lis->getInvalidIndex(); in getLoopSubRange()
709 if (!lis->isLiveInToMBB(split.getLI(), &header)) in processHeader()
723 if (lis->isLiveOutOfMBB(split.getLI(), *predItr)) { in processHeader()
728 } else if (lis->isLiveOutOfMBB(split.getLI(), preHeader)) { in processHeader()
746 split.getLI().getLiveRangeContaining(lis->getMBBStartIdx(exitEdge.second)); in processLoopExits()
820 assert(!lis->intervalIsInOneMBB(li) && in processIntervals()