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