Lines Matching refs:RI

139   CHRScope(RegInfo RI) : BranchInsertPoint(nullptr) {  in CHRScope()  argument
140 assert(RI.R && "Null RegionIn"); in CHRScope()
141 RegInfos.push_back(RI); in CHRScope()
192 for (RegInfo &RI : RegInfos) in addSub()
193 if (RI.R == SubIn->getParentRegion()) { in addSub()
209 RegInfos, [&Boundary](const RegInfo &RI) { return Boundary == RI.R; }); in split() argument
214 for (const RegInfo &RI : TailRegInfos) in split() local
215 TailRegionSet.insert(RI.R); in split()
226 [&Parent](const RegInfo &RI) { return Parent == RI.R; }) && in split() argument
241 for (const RegInfo &RI : RegInfos) in contains() local
242 if (RI.R->contains(Parent)) in contains()
284 : F(Fin), BFI(BFIin), DT(DTin), PSI(PSIin), RI(RIin), ORE(OREin) {} in CHR()
299 Region *R = RI.getTopLevelRegion(); in findScopes()
364 RegionInfo &RI; member in __anonfd3f65480111::CHR
431 for (const RegInfo &RI : RegInfos) { in print() local
432 OS << RI.R->getNameStr(); in print()
433 if (RI.HasBranch) in print()
435 if (RI.Selects.size() > 0) in print()
436 OS << " S" << RI.Selects.size(); in print()
670 static Instruction* getBranchInsertPoint(RegInfo &RI) { in getBranchInsertPoint() argument
671 Region *R = RI.R; in getBranchInsertPoint()
676 for (SelectInst *SI : RI.Selects) { in getBranchInsertPoint()
689 for (SelectInst *SI : RI.Selects) { in getBranchInsertPoint()
723 bool EntryInSubregion = RI.getRegionFor(Entry) != R; in findScope()
763 RegInfo RI(R); in findScope() local
764 RI.HasBranch = checkBiasedBranch( in findScope()
767 Result = new CHRScope(RI); in findScope()
771 if (!RI.HasBranch) { in findScope()
810 auto AddSelects = [&](RegInfo &RI) { in findScope() argument
812 if (checkBiasedSelect(SI, RI.R, in findScope()
816 RI.Selects.push_back(SI); in findScope()
825 RegInfo RI(R); in findScope() local
826 AddSelects(RI); in findScope()
827 Result = new CHRScope(RI); in findScope()
865 RegInfo &RI = Scope->RegInfos[0]; in checkScopeHoistable() local
866 Region *R = RI.R; in checkScopeHoistable()
868 auto *Branch = RI.HasBranch ? in checkScopeHoistable()
870 SmallVector<SelectInst *, 8> &Selects = RI.Selects; in checkScopeHoistable()
871 if (RI.HasBranch || !Selects.empty()) { in checkScopeHoistable()
872 Instruction *InsertPoint = getBranchInsertPoint(RI); in checkScopeHoistable()
907 InsertPoint = getBranchInsertPoint(RI); in checkScopeHoistable()
909 if (RI.HasBranch && InsertPoint != Branch) { in checkScopeHoistable()
939 if (RI.HasBranch) { in checkScopeHoistable()
956 if (RI.HasBranch) { in checkScopeHoistable()
1016 static DenseSet<Value *> getCHRConditionValuesForRegion(RegInfo &RI) { in getCHRConditionValuesForRegion() argument
1018 if (RI.HasBranch) { in getCHRConditionValuesForRegion()
1019 auto *BI = cast<BranchInst>(RI.R->getEntry()->getTerminator()); in getCHRConditionValuesForRegion()
1022 for (SelectInst *SI : RI.Selects) { in getCHRConditionValuesForRegion()
1099 for (RegInfo &RI : Scope->RegInfos) in getSelectsInScope()
1100 for (SelectInst *SI : RI.Selects) in getSelectsInScope()
1141 for (RegInfo &RI : RegInfos) { in splitScope()
1142 Instruction *InsertPoint = getBranchInsertPoint(RI); in splitScope()
1143 DenseSet<Value *> ConditionValues = getCHRConditionValuesForRegion(RI); in splitScope()
1150 if (RI.R == RegInfos[0].R) { in splitScope()
1155 << RI.R->getNameStr() << "\n"); in splitScope()
1163 RI.R->getEntry()->getTerminator()) in splitScope()
1183 << RI.R->getNameStr() << "\n"); in splitScope()
1186 CHRScope *Tail = Scope->split(RI.R); in splitScope()
1199 RI.R->getEntry()->getTerminator()) in splitScope()
1282 for (RegInfo &RI : Scope->RegInfos) { in classifyBiasedScopes()
1283 if (RI.HasBranch) { in classifyBiasedScopes()
1284 Region *R = RI.R; in classifyBiasedScopes()
1292 for (SelectInst *SI : RI.Selects) { in classifyBiasedScopes()
1356 for (RegInfo &RI : Scope->CHRRegions) { in setCHRRegions()
1357 dbgs() << RI.R->getNameStr() << "\n"; in setCHRRegions()
1367 for (RegInfo &RI : Scope->RegInfos) { in setCHRRegions()
1368 for (SelectInst *SI : RI.Selects) { in setCHRRegions()
1373 for (RegInfo &RI : Scope->RegInfos) { in setCHRRegions()
1374 Region *R = RI.R; in setCHRRegions()
1377 if (RI.HasBranch) { in setCHRRegions()
1390 for (SelectInst *SI : RI.Selects) { in setCHRRegions()
1403 OutermostScope->CHRRegions.push_back(RI); in setCHRRegions()
1476 for (const RegInfo &RI : Scope->CHRRegions) { in hoistScopeConditions() local
1477 Region *R = RI.R; in hoistScopeConditions()
1480 if (RI.HasBranch && (IsTrueBiased || IsFalseBiased)) { in hoistScopeConditions()
1485 for (SelectInst *SI : RI.Selects) { in hoistScopeConditions()
1551 for (RegInfo &RI : Scope->RegInfos) { in insertTrivialPHIs()
1552 for (BasicBlock *BB : RI.R->blocks()) { // This includes the blocks in the in insertTrivialPHIs()
1612 auto HasBiasedBranchOrSelect = [](RegInfo &RI, CHRScope *Scope) { in assertCHRRegionsHaveBiasedBranchOrSelect() argument
1613 if (Scope->TrueBiasedRegions.count(RI.R) || in assertCHRRegionsHaveBiasedBranchOrSelect()
1614 Scope->FalseBiasedRegions.count(RI.R)) in assertCHRRegionsHaveBiasedBranchOrSelect()
1616 for (SelectInst *SI : RI.Selects) in assertCHRRegionsHaveBiasedBranchOrSelect()
1622 for (RegInfo &RI : Scope->CHRRegions) { in assertCHRRegionsHaveBiasedBranchOrSelect()
1623 assert(HasBiasedBranchOrSelect(RI, Scope) && in assertCHRRegionsHaveBiasedBranchOrSelect()
1634 for (RegInfo &RI : Scope->CHRRegions) { in assertBranchOrSelectConditionHoisted()
1635 Region *R = RI.R; in assertBranchOrSelectConditionHoisted()
1638 if (RI.HasBranch && (IsTrueBiased || IsFalseBiased)) { in assertBranchOrSelectConditionHoisted()
1649 for (SelectInst *SI : RI.Selects) { in assertBranchOrSelectConditionHoisted()
1744 for (RegInfo &RI : Scope->RegInfos) in cloneScopeBlocks()
1745 for (BasicBlock *BB : RI.R->blocks()) { // This includes the blocks in the in cloneScopeBlocks()
1820 for (RegInfo &RI : Scope->CHRRegions) { in fixupBranchesAndSelects()
1821 Region *R = RI.R; in fixupBranchesAndSelects()
1822 if (RI.HasBranch) { in fixupBranchesAndSelects()
1826 for (SelectInst *SI : RI.Selects) { in fixupBranchesAndSelects()
1978 RI.print(dbgs())); in run()
2020 RI.print(dbgs())); in run()
2058 auto &RI = FAM.getResult<RegionInfoAnalysis>(F); in run() local
2060 bool Changed = CHR(F, BFI, DT, PSI, RI, ORE).run(); in run()