Lines Matching defs:LRegion

493   LinearizedRegion *LRegion = nullptr;
505 if (LRegion) {
506 delete LRegion;
517 LRegion = LinearizeRegion;
520 LinearizedRegion *getLinearizedRegion() { return LRegion; }
585 LinearizedRegion *LRegion = getLinearizedRegion();
586 LRegion->replaceLiveOut(Register, NewRegister);
1108 LinearizedRegion *LRegion);
1110 MachineInstr &PHI, LinearizedRegion *LRegion);
1113 LinearizedRegion *LRegion);
1150 LinearizedRegion *LRegion,
1174 LinearizedRegion *LRegion);
1177 MachineBasicBlock *EntrySucc, LinearizedRegion *LRegion);
1179 LinearizedRegion *LRegion);
1181 MachineBasicBlock *splitExit(LinearizedRegion *LRegion);
1183 MachineBasicBlock *splitEntry(LinearizedRegion *LRegion);
1268 LinearizedRegion *LRegion = Region->getLinearizedRegion();
1269 auto Exit = LRegion->getExit();
1273 if (LRegion->contains(Succ)) {
1569 unsigned CombinedSourceReg, LinearizedRegion *LRegion) {
1573 if (LRegion->isLiveOut(Reg)) {
1586 LRegion->removeLiveOut(Reg);
1593 LRegion->addLiveOut(CombinedSourceReg);
1599 LinearizedRegion *LRegion) {
1606 replaceLiveOutRegs(PHI, PHIRegionIndices, LinearizedSourceReg, LRegion);
1630 LinearizedRegion *LRegion) {
1639 rewriteRegionExitPHI(Region, LastMerge, *PHII, LRegion);
1980 LinearizedRegion *LRegion) {
1991 (!IsSingleBB && (getDefInstr(LI)->getParent() == LRegion->getExit()))) {
2379 LinearizedRegion *LRegion) {
2381 getPHIRegionIndices(LRegion, PHI, PHIRegionIndices);
2398 LRegion->replaceRegisterInsideRegion(PHIDest, NewDestReg, false, MRI);
2416 LinearizedRegion *LRegion) {
2421 splitLoopPHI(*PHII, Entry, EntrySucc, LRegion);
2427 AMDGPUMachineCFGStructurizer::splitExit(LinearizedRegion *LRegion) {
2428 auto MRTRegion = LRegion->getRegionMRT();
2429 auto Exit = LRegion->getExit();
2441 LRegion->addMBB(NewExit);
2442 LRegion->setExit(NewExit);
2488 AMDGPUMachineCFGStructurizer::splitEntry(LinearizedRegion *LRegion) {
2489 MachineBasicBlock *Entry = LRegion->getEntry();
2491 MachineBasicBlock *Exit = LRegion->getExit();
2496 LRegion->addMBB(EntrySucc);
2510 splitLoopPHIs(Entry, EntrySucc, LRegion);
2517 LinearizedRegion *LRegion = Region->getLinearizedRegion();
2518 LRegion->initLiveOut(Region, MRI, TRI, PHIInfo);
2519 LRegion->setEntry(Region->getEntry());
2520 return LRegion;
2572 auto *LRegion = initLinearizedRegion(Region);
2573 LRegion->setHasLoop(containsNewBackedge(Region));
2576 LRegion->addMBB(LastMerge);
2577 LRegion->setExit(LastMerge);
2579 rewriteRegionExitPHIs(Region, LastMerge, LRegion);
2586 if (LRegion->getHasLoop()) {
2596 LLVM_DEBUG(LRegion->print(dbgs(), TRI));
2631 CurrentMerge = createIfRegion(CurrentMerge, InnerLRegion, LRegion,
2657 CurrentMerge = createIfRegion(CurrentMerge, MBB, LRegion, BBSelectRegIn,
2667 LRegion->removeFalseRegisterKills(MRI);
2669 if (LRegion->getHasLoop()) {
2670 MachineBasicBlock *NewSucc = splitEntry(LRegion);
2671 if (isFunctionEntryBlock(LRegion->getEntry())) {
2672 resolvePHIInfos(LRegion->getEntry());
2675 unsigned InReg = LRegion->getBBSelectRegIn();
2679 TII->materializeImmediate(*(LRegion->getEntry()),
2680 LRegion->getEntry()->getFirstTerminator(), DL,
2683 LRegion->replaceRegisterInsideRegion(InReg, InnerSelectReg, false, MRI);
2685 insertMergePHI(LRegion->getEntry(), LRegion->getExit(), NewSucc,
2687 LRegion->getRegionMRT()->getInnerOutputRegister());
2688 splitExit(LRegion);
2697 LLVM_DEBUG(LRegion->print(dbgs(), TRI));
2702 Region->setLinearizedRegion(LRegion);
2752 LinearizedRegion *LRegion = new LinearizedRegion();
2754 LRegion->addLiveOut(SelectOut);
2758 LRegion->setRegionMRT(Region);
2759 Region->setLinearizedRegion(LRegion);
2760 LRegion->setParent(Region->getParent()