Lines Matching refs:RI
179 CHRScope(RegInfo RI) : BranchInsertPoint(nullptr) { in CHRScope() argument
180 assert(RI.R && "Null RegionIn"); in CHRScope()
181 RegInfos.push_back(RI); in CHRScope()
232 for (RegInfo &RI : RegInfos) in addSub()
233 if (RI.R == SubIn->getParentRegion()) { in addSub()
249 RegInfos, [&Boundary](const RegInfo &RI) { return Boundary == RI.R; }); in split() argument
254 for (const RegInfo &RI : TailRegInfos) in split() local
255 TailRegionSet.insert(RI.R); in split()
266 [&Parent](const RegInfo &RI) { return Parent == RI.R; }) && in split() argument
281 for (const RegInfo &RI : RegInfos) in contains() local
282 if (RI.R->contains(Parent)) in contains()
324 : F(Fin), BFI(BFIin), DT(DTin), PSI(PSIin), RI(RIin), ORE(OREin) {} in CHR()
339 Region *R = RI.getTopLevelRegion(); in findScopes()
404 RegionInfo &RI; member in __anon15e3d84c0211::CHR
471 for (const RegInfo &RI : RegInfos) { in print() local
472 OS << RI.R->getNameStr(); in print()
473 if (RI.HasBranch) in print()
475 if (RI.Selects.size() > 0) in print()
476 OS << " S" << RI.Selects.size(); in print()
710 static Instruction* getBranchInsertPoint(RegInfo &RI) { in getBranchInsertPoint() argument
711 Region *R = RI.R; in getBranchInsertPoint()
716 for (SelectInst *SI : RI.Selects) { in getBranchInsertPoint()
729 for (SelectInst *SI : RI.Selects) { in getBranchInsertPoint()
763 bool EntryInSubregion = RI.getRegionFor(Entry) != R; in findScope()
791 RegInfo RI(R); in findScope() local
792 RI.HasBranch = checkBiasedBranch( in findScope()
795 Result = new CHRScope(RI); in findScope()
799 if (!RI.HasBranch) { in findScope()
838 auto AddSelects = [&](RegInfo &RI) { in findScope() argument
840 if (checkBiasedSelect(SI, RI.R, in findScope()
844 RI.Selects.push_back(SI); in findScope()
853 RegInfo RI(R); in findScope() local
854 AddSelects(RI); in findScope()
855 Result = new CHRScope(RI); in findScope()
893 RegInfo &RI = Scope->RegInfos[0]; in checkScopeHoistable() local
894 Region *R = RI.R; in checkScopeHoistable()
896 auto *Branch = RI.HasBranch ? in checkScopeHoistable()
898 SmallVector<SelectInst *, 8> &Selects = RI.Selects; in checkScopeHoistable()
899 if (RI.HasBranch || !Selects.empty()) { in checkScopeHoistable()
900 Instruction *InsertPoint = getBranchInsertPoint(RI); in checkScopeHoistable()
935 InsertPoint = getBranchInsertPoint(RI); in checkScopeHoistable()
937 if (RI.HasBranch && InsertPoint != Branch) { in checkScopeHoistable()
967 if (RI.HasBranch) { in checkScopeHoistable()
984 if (RI.HasBranch) { in checkScopeHoistable()
1044 static DenseSet<Value *> getCHRConditionValuesForRegion(RegInfo &RI) { in getCHRConditionValuesForRegion() argument
1046 if (RI.HasBranch) { in getCHRConditionValuesForRegion()
1047 auto *BI = cast<BranchInst>(RI.R->getEntry()->getTerminator()); in getCHRConditionValuesForRegion()
1050 for (SelectInst *SI : RI.Selects) { in getCHRConditionValuesForRegion()
1127 for (RegInfo &RI : Scope->RegInfos) in getSelectsInScope()
1128 for (SelectInst *SI : RI.Selects) in getSelectsInScope()
1169 for (RegInfo &RI : RegInfos) { in splitScope()
1170 Instruction *InsertPoint = getBranchInsertPoint(RI); in splitScope()
1171 DenseSet<Value *> ConditionValues = getCHRConditionValuesForRegion(RI); in splitScope()
1178 if (RI.R == RegInfos[0].R) { in splitScope()
1183 << RI.R->getNameStr() << "\n"); in splitScope()
1191 RI.R->getEntry()->getTerminator()) in splitScope()
1211 << RI.R->getNameStr() << "\n"); in splitScope()
1214 CHRScope *Tail = Scope->split(RI.R); in splitScope()
1227 RI.R->getEntry()->getTerminator()) in splitScope()
1310 for (RegInfo &RI : Scope->RegInfos) { in classifyBiasedScopes()
1311 if (RI.HasBranch) { in classifyBiasedScopes()
1312 Region *R = RI.R; in classifyBiasedScopes()
1320 for (SelectInst *SI : RI.Selects) { in classifyBiasedScopes()
1384 for (RegInfo &RI : Scope->CHRRegions) { in setCHRRegions()
1385 dbgs() << RI.R->getNameStr() << "\n"; in setCHRRegions()
1395 for (RegInfo &RI : Scope->RegInfos) { in setCHRRegions()
1396 for (SelectInst *SI : RI.Selects) { in setCHRRegions()
1401 for (RegInfo &RI : Scope->RegInfos) { in setCHRRegions()
1402 Region *R = RI.R; in setCHRRegions()
1405 if (RI.HasBranch) { in setCHRRegions()
1418 for (SelectInst *SI : RI.Selects) { in setCHRRegions()
1431 OutermostScope->CHRRegions.push_back(RI); in setCHRRegions()
1504 for (const RegInfo &RI : Scope->CHRRegions) { in hoistScopeConditions() local
1505 Region *R = RI.R; in hoistScopeConditions()
1508 if (RI.HasBranch && (IsTrueBiased || IsFalseBiased)) { in hoistScopeConditions()
1513 for (SelectInst *SI : RI.Selects) { in hoistScopeConditions()
1579 for (RegInfo &RI : Scope->RegInfos) { in insertTrivialPHIs()
1580 for (BasicBlock *BB : RI.R->blocks()) { // This includes the blocks in the in insertTrivialPHIs()
1640 auto HasBiasedBranchOrSelect = [](RegInfo &RI, CHRScope *Scope) { in assertCHRRegionsHaveBiasedBranchOrSelect() argument
1641 if (Scope->TrueBiasedRegions.count(RI.R) || in assertCHRRegionsHaveBiasedBranchOrSelect()
1642 Scope->FalseBiasedRegions.count(RI.R)) in assertCHRRegionsHaveBiasedBranchOrSelect()
1644 for (SelectInst *SI : RI.Selects) in assertCHRRegionsHaveBiasedBranchOrSelect()
1650 for (RegInfo &RI : Scope->CHRRegions) { in assertCHRRegionsHaveBiasedBranchOrSelect()
1651 assert(HasBiasedBranchOrSelect(RI, Scope) && in assertCHRRegionsHaveBiasedBranchOrSelect()
1662 for (RegInfo &RI : Scope->CHRRegions) { in assertBranchOrSelectConditionHoisted()
1663 Region *R = RI.R; in assertBranchOrSelectConditionHoisted()
1666 if (RI.HasBranch && (IsTrueBiased || IsFalseBiased)) { in assertBranchOrSelectConditionHoisted()
1677 for (SelectInst *SI : RI.Selects) { in assertBranchOrSelectConditionHoisted()
1772 for (RegInfo &RI : Scope->RegInfos) in cloneScopeBlocks()
1773 for (BasicBlock *BB : RI.R->blocks()) { // This includes the blocks in the in cloneScopeBlocks()
1848 for (RegInfo &RI : Scope->CHRRegions) { in fixupBranchesAndSelects()
1849 Region *R = RI.R; in fixupBranchesAndSelects()
1850 if (RI.HasBranch) { in fixupBranchesAndSelects()
1854 for (SelectInst *SI : RI.Selects) { in fixupBranchesAndSelects()
2007 RI.print(dbgs())); in run()
2049 RI.print(dbgs())); in run()
2080 RegionInfo &RI = getAnalysis<RegionInfoPass>().getRegionInfo(); in runOnFunction() local
2083 return CHR(F, BFI, DT, PSI, RI, *OwnedORE.get()).run(); in runOnFunction()
2099 auto &RI = FAM.getResult<RegionInfoAnalysis>(F); in run() local
2101 bool Changed = CHR(F, BFI, DT, PSI, RI, ORE).run(); in run()