Lines Matching defs:RegionMRT

311 class RegionMRT;
324 RegionMRT *RMRT;
330 void storeLiveOutRegRegion(RegionMRT *Region, Register Reg,
338 RegionMRT *TopRegion);
343 void storeLiveOuts(RegionMRT *Region, const MachineRegisterInfo *MRI,
345 RegionMRT *TopRegion = nullptr);
353 void setRegionMRT(RegionMRT *Region) { RMRT = Region; }
355 RegionMRT *getRegionMRT() { return RMRT; }
415 void initLiveOut(RegionMRT *Region, const MachineRegisterInfo *MRI,
421 RegionMRT *Parent;
436 virtual RegionMRT *getRegionMRT() { return nullptr; }
446 void setParent(RegionMRT *Region) { Parent = Region; }
448 RegionMRT *getParent() { return Parent; }
452 DenseMap<MachineRegion *, RegionMRT *> &RegionMap);
454 static RegionMRT *buildMRT(MachineFunction &MF,
490 class RegionMRT : public MRT {
498 RegionMRT(MachineRegion *MachineRegion) : Region(MachineRegion) {
504 ~RegionMRT() override {
514 RegionMRT *getRegionMRT() override { return this; }
604 DenseMap<MachineRegion *, RegionMRT *> &RegionMap) {
615 RegionMRT *MRT::buildMRT(MachineFunction &MF,
619 DenseMap<MachineRegion *, RegionMRT *> RegionMap;
621 RegionMRT *Result = new RegionMRT(TopLevelRegion);
647 RegionMRT *NewMRTRegion = new RegionMRT(Region);
653 RegionMRT *NewMRTParent = new RegionMRT(Parent);
712 void LinearizedRegion::storeLiveOutRegRegion(RegionMRT *Region, Register Reg,
775 RegionMRT *TopRegion) {
790 void LinearizedRegion::storeLiveOuts(RegionMRT *Region,
794 RegionMRT *CurrentTopRegion) {
797 RegionMRT *TopRegion =
1040 void LinearizedRegion::initLiveOut(RegionMRT *Region,
1074 RegionMRT *RMRT;
1076 void getPHIRegionIndices(RegionMRT *Region, MachineInstr &PHI,
1109 void rewriteRegionExitPHI(RegionMRT *Region, MachineBasicBlock *LastMerge,
1112 void rewriteRegionExitPHIs(RegionMRT *Region, MachineBasicBlock *LastMerge,
1119 bool regionIsSimpleIf(RegionMRT *Region);
1121 void transformSimpleIfRegion(RegionMRT *Region);
1127 MachineBasicBlock *createLinearizedExitBlock(RegionMRT *Region);
1185 LinearizedRegion *initLinearizedRegion(RegionMRT *Region);
1187 bool structurizeComplexRegion(RegionMRT *Region);
1189 bool structurizeRegion(RegionMRT *Region);
1191 bool structurizeRegions(RegionMRT *Region, bool isTopRegion);
1207 void createLinearizedRegion(RegionMRT *Region, unsigned SelectOut);
1213 void setRegionMRT(RegionMRT *RegionTree) { RMRT = RegionTree; }
1215 RegionMRT *getRegionMRT() { return RMRT; }
1224 bool AMDGPUMachineCFGStructurizer::regionIsSimpleIf(RegionMRT *Region) {
1246 void AMDGPUMachineCFGStructurizer::transformSimpleIfRegion(RegionMRT *Region) {
1265 static void fixRegionTerminator(RegionMRT *Region) {
1299 bool regionIsSequence(RegionMRT *Region) {
1311 void fixupRegionExits(RegionMRT *Region) {
1323 RegionMRT *Region, MachineInstr &PHI,
1596 void AMDGPUMachineCFGStructurizer::rewriteRegionExitPHI(RegionMRT *Region,
1628 void AMDGPUMachineCFGStructurizer::rewriteRegionExitPHIs(RegionMRT *Region,
1690 AMDGPUMachineCFGStructurizer::createLinearizedExitBlock(RegionMRT *Region) {
2516 AMDGPUMachineCFGStructurizer::initLinearizedRegion(RegionMRT *Region) {
2523 static void removeOldExitPreds(RegionMRT *Region) {
2558 RegionMRT *Region = Tree->getRegionMRT();
2566 static bool containsNewBackedge(RegionMRT *Region) {
2571 bool AMDGPUMachineCFGStructurizer::structurizeComplexRegion(RegionMRT *Region) {
2706 bool AMDGPUMachineCFGStructurizer::structurizeRegion(RegionMRT *Region) {
2720 bool AMDGPUMachineCFGStructurizer::structurizeRegions(RegionMRT *Region,
2750 void AMDGPUMachineCFGStructurizer::createLinearizedRegion(RegionMRT *Region,
2770 RegionMRT *Region = MRT->getRegionMRT();
2816 RegionMRT *RTree = MRT::buildMRT(MF, Regions, TII, MRI);