Lines Matching defs:LinearizedRegion
314 class LinearizedRegion {
323 LinearizedRegion *Parent;
348 LinearizedRegion();
349 LinearizedRegion(MachineBasicBlock *MBB, const MachineRegisterInfo *MRI,
351 ~LinearizedRegion() = default;
357 void setParent(LinearizedRegion *P) { Parent = P; }
359 LinearizedRegion *getParent() { return Parent; }
405 void addMBBs(LinearizedRegion *InnerRegion);
493 LinearizedRegion *LRegion = nullptr;
516 void setLinearizedRegion(LinearizedRegion *LinearizeRegion) {
520 LinearizedRegion *getLinearizedRegion() { return LRegion; }
585 LinearizedRegion *LRegion = getLinearizedRegion();
672 void LinearizedRegion::storeLiveOutReg(MachineBasicBlock *MBB, Register Reg,
712 void LinearizedRegion::storeLiveOutRegRegion(RegionMRT *Region, Register Reg,
730 void LinearizedRegion::storeLiveOuts(MachineBasicBlock *MBB,
771 void LinearizedRegion::storeMBBLiveOuts(MachineBasicBlock *MBB,
790 void LinearizedRegion::storeLiveOuts(RegionMRT *Region,
810 LinearizedRegion *SubRegion = CI->getRegionMRT()->getLinearizedRegion();
839 void LinearizedRegion::print(raw_ostream &OS, const TargetRegisterInfo *TRI) {
861 unsigned LinearizedRegion::getBBSelectRegIn() {
865 unsigned LinearizedRegion::getBBSelectRegOut() {
869 void LinearizedRegion::setHasLoop(bool Value) { HasLoop = Value; }
871 bool LinearizedRegion::getHasLoop() { return HasLoop; }
873 void LinearizedRegion::addLiveOut(unsigned VReg) { LiveOuts.insert(VReg); }
875 void LinearizedRegion::removeLiveOut(unsigned Reg) {
880 void LinearizedRegion::replaceLiveOut(unsigned OldReg, unsigned NewReg) {
887 void LinearizedRegion::replaceRegister(unsigned Register,
902 LinearizedRegion *Current = this;
948 void LinearizedRegion::replaceRegisterInsideRegion(unsigned Register,
955 void LinearizedRegion::replaceRegisterOutsideRegion(unsigned Register,
962 DenseSet<unsigned> *LinearizedRegion::getLiveOuts() { return &LiveOuts; }
964 void LinearizedRegion::setEntry(MachineBasicBlock *NewEntry) {
968 MachineBasicBlock *LinearizedRegion::getEntry() { return Entry; }
970 void LinearizedRegion::setExit(MachineBasicBlock *NewExit) { Exit = NewExit; }
972 MachineBasicBlock *LinearizedRegion::getExit() { return Exit; }
974 void LinearizedRegion::addMBB(MachineBasicBlock *MBB) { MBBs.insert(MBB); }
976 void LinearizedRegion::addMBBs(LinearizedRegion *InnerRegion) {
982 bool LinearizedRegion::contains(MachineBasicBlock *MBB) {
986 bool LinearizedRegion::isLiveOut(unsigned Reg) {
990 bool LinearizedRegion::hasNoDef(unsigned Reg, MachineRegisterInfo *MRI) {
996 void LinearizedRegion::removeFalseRegisterKills(MachineRegisterInfo *MRI) {
1040 void LinearizedRegion::initLiveOut(RegionMRT *Region,
1047 LinearizedRegion::LinearizedRegion(MachineBasicBlock *MBB,
1058 LinearizedRegion::LinearizedRegion() {
1078 void getPHIRegionIndices(LinearizedRegion *Region, MachineInstr &PHI,
1080 void getPHINonRegionIndices(LinearizedRegion *Region, MachineInstr &PHI,
1108 LinearizedRegion *LRegion);
1110 MachineInstr &PHI, LinearizedRegion *LRegion);
1113 LinearizedRegion *LRegion);
1114 void rewriteRegionEntryPHI(LinearizedRegion *Region, MachineBasicBlock *IfMBB,
1116 void rewriteRegionEntryPHIs(LinearizedRegion *Region,
1141 void createEntryPHI(LinearizedRegion *CurrentRegion, unsigned DestReg);
1143 void createEntryPHIs(LinearizedRegion *CurrentRegion);
1150 LinearizedRegion *LRegion,
1155 createIfRegion(MachineBasicBlock *MergeMBB, LinearizedRegion *InnerRegion,
1156 LinearizedRegion *CurrentRegion, MachineBasicBlock *SelectBB,
1167 LinearizedRegion *InnerRegion, unsigned DestReg,
1169 bool containsDef(MachineBasicBlock *MBB, LinearizedRegion *InnerRegion,
1173 LinearizedRegion *InnerRegion,
1174 LinearizedRegion *LRegion);
1177 MachineBasicBlock *EntrySucc, LinearizedRegion *LRegion);
1179 LinearizedRegion *LRegion);
1181 MachineBasicBlock *splitExit(LinearizedRegion *LRegion);
1183 MachineBasicBlock *splitEntry(LinearizedRegion *LRegion);
1185 LinearizedRegion *initLinearizedRegion(RegionMRT *Region);
1268 LinearizedRegion *LRegion = Region->getLinearizedRegion();
1335 LinearizedRegion *Region, MachineInstr &PHI,
1347 LinearizedRegion *Region, MachineInstr &PHI,
1569 unsigned CombinedSourceReg, LinearizedRegion *LRegion) {
1599 LinearizedRegion *LRegion) {
1609 void AMDGPUMachineCFGStructurizer::rewriteRegionEntryPHI(LinearizedRegion *Region,
1630 LinearizedRegion *LRegion) {
1643 void AMDGPUMachineCFGStructurizer::rewriteRegionEntryPHIs(LinearizedRegion *Region,
1921 LinearizedRegion *InnerRegion,
1970 LinearizedRegion *InnerRegion,
1979 LinearizedRegion *InnerRegion,
1980 LinearizedRegion *LRegion) {
2088 void AMDGPUMachineCFGStructurizer::createEntryPHI(LinearizedRegion *CurrentRegion,
2163 void AMDGPUMachineCFGStructurizer::createEntryPHIs(LinearizedRegion *CurrentRegion) {
2232 LinearizedRegion *CurrentRegion, unsigned BBSelectRegIn,
2300 LinearizedRegion InnerRegion(CodeBB, MRI, TRI, PHIInfo);
2317 MachineBasicBlock *MergeBB, LinearizedRegion *InnerRegion,
2318 LinearizedRegion *CurrentRegion, MachineBasicBlock *SelectBB,
2379 LinearizedRegion *LRegion) {
2416 LinearizedRegion *LRegion) {
2427 AMDGPUMachineCFGStructurizer::splitExit(LinearizedRegion *LRegion) {
2488 AMDGPUMachineCFGStructurizer::splitEntry(LinearizedRegion *LRegion) {
2515 LinearizedRegion *
2517 LinearizedRegion *LRegion = Region->getLinearizedRegion();
2600 LinearizedRegion *InnerLRegion =
2752 LinearizedRegion *LRegion = new LinearizedRegion();