Lines Matching refs:RI

147   CHRScope(RegInfo RI) : BranchInsertPoint(nullptr) {  in CHRScope()  argument
148 assert(RI.R && "Null RegionIn"); in CHRScope()
149 RegInfos.push_back(RI); in CHRScope()
200 for (RegInfo &RI : RegInfos) in addSub()
201 if (RI.R == SubIn->getParentRegion()) { in addSub()
217 RegInfos, [&Boundary](const RegInfo &RI) { return Boundary == RI.R; }); in split() argument
222 for (const RegInfo &RI : TailRegInfos) in split() local
223 TailRegionSet.insert(RI.R); in split()
234 [&Parent](const RegInfo &RI) { return Parent == RI.R; }) && in split() argument
249 for (const RegInfo &RI : RegInfos) in contains() local
250 if (RI.R->contains(Parent)) in contains()
292 : F(Fin), BFI(BFIin), DT(DTin), PSI(PSIin), RI(RIin), ORE(OREin) {} in CHR()
307 Region *R = RI.getTopLevelRegion(); in findScopes()
376 RegionInfo &RI; member in __anon784f818e0111::CHR
447 for (const RegInfo &RI : RegInfos) { in print() local
448 OS << RI.R->getNameStr(); in print()
449 if (RI.HasBranch) in print()
451 if (RI.Selects.size() > 0) in print()
452 OS << " S" << RI.Selects.size(); in print()
678 static Instruction* getBranchInsertPoint(RegInfo &RI) { in getBranchInsertPoint() argument
679 Region *R = RI.R; in getBranchInsertPoint()
684 for (SelectInst *SI : RI.Selects) { in getBranchInsertPoint()
697 for (SelectInst *SI : RI.Selects) { in getBranchInsertPoint()
731 bool EntryInSubregion = RI.getRegionFor(Entry) != R; in findScope()
771 RegInfo RI(R); in findScope() local
772 RI.HasBranch = checkBiasedBranch( in findScope()
775 Result = new CHRScope(RI); in findScope()
779 if (!RI.HasBranch) { in findScope()
818 auto AddSelects = [&](RegInfo &RI) { in findScope() argument
820 if (checkBiasedSelect(SI, RI.R, in findScope()
824 RI.Selects.push_back(SI); in findScope()
833 RegInfo RI(R); in findScope() local
834 AddSelects(RI); in findScope()
835 Result = new CHRScope(RI); in findScope()
873 RegInfo &RI = Scope->RegInfos[0]; in checkScopeHoistable() local
874 Region *R = RI.R; in checkScopeHoistable()
876 auto *Branch = RI.HasBranch ? in checkScopeHoistable()
878 SmallVector<SelectInst *, 8> &Selects = RI.Selects; in checkScopeHoistable()
879 if (RI.HasBranch || !Selects.empty()) { in checkScopeHoistable()
880 Instruction *InsertPoint = getBranchInsertPoint(RI); in checkScopeHoistable()
915 InsertPoint = getBranchInsertPoint(RI); in checkScopeHoistable()
917 if (RI.HasBranch && InsertPoint != Branch) { in checkScopeHoistable()
947 if (RI.HasBranch) { in checkScopeHoistable()
964 if (RI.HasBranch) { in checkScopeHoistable()
1024 static DenseSet<Value *> getCHRConditionValuesForRegion(RegInfo &RI) { in getCHRConditionValuesForRegion() argument
1026 if (RI.HasBranch) { in getCHRConditionValuesForRegion()
1027 auto *BI = cast<BranchInst>(RI.R->getEntry()->getTerminator()); in getCHRConditionValuesForRegion()
1030 for (SelectInst *SI : RI.Selects) { in getCHRConditionValuesForRegion()
1107 for (RegInfo &RI : Scope->RegInfos) in getSelectsInScope()
1108 for (SelectInst *SI : RI.Selects) in getSelectsInScope()
1149 for (RegInfo &RI : RegInfos) { in splitScope()
1150 Instruction *InsertPoint = getBranchInsertPoint(RI); in splitScope()
1151 DenseSet<Value *> ConditionValues = getCHRConditionValuesForRegion(RI); in splitScope()
1158 if (RI.R == RegInfos[0].R) { in splitScope()
1163 << RI.R->getNameStr() << "\n"); in splitScope()
1171 RI.R->getEntry()->getTerminator()) in splitScope()
1191 << RI.R->getNameStr() << "\n"); in splitScope()
1194 CHRScope *Tail = Scope->split(RI.R); in splitScope()
1207 RI.R->getEntry()->getTerminator()) in splitScope()
1290 for (RegInfo &RI : Scope->RegInfos) { in classifyBiasedScopes()
1291 if (RI.HasBranch) { in classifyBiasedScopes()
1292 Region *R = RI.R; in classifyBiasedScopes()
1300 for (SelectInst *SI : RI.Selects) { in classifyBiasedScopes()
1364 for (RegInfo &RI : Scope->CHRRegions) { in setCHRRegions()
1365 dbgs() << RI.R->getNameStr() << "\n"; in setCHRRegions()
1375 for (RegInfo &RI : Scope->RegInfos) { in setCHRRegions()
1376 for (SelectInst *SI : RI.Selects) { in setCHRRegions()
1381 for (RegInfo &RI : Scope->RegInfos) { in setCHRRegions()
1382 Region *R = RI.R; in setCHRRegions()
1385 if (RI.HasBranch) { in setCHRRegions()
1398 for (SelectInst *SI : RI.Selects) { in setCHRRegions()
1411 OutermostScope->CHRRegions.push_back(RI); in setCHRRegions()
1484 for (const RegInfo &RI : Scope->CHRRegions) { in hoistScopeConditions() local
1485 Region *R = RI.R; in hoistScopeConditions()
1488 if (RI.HasBranch && (IsTrueBiased || IsFalseBiased)) { in hoistScopeConditions()
1493 for (SelectInst *SI : RI.Selects) { in hoistScopeConditions()
1559 for (RegInfo &RI : Scope->RegInfos) { in insertTrivialPHIs()
1560 for (BasicBlock *BB : RI.R->blocks()) { // This includes the blocks in the in insertTrivialPHIs()
1620 auto HasBiasedBranchOrSelect = [](RegInfo &RI, CHRScope *Scope) { in assertCHRRegionsHaveBiasedBranchOrSelect() argument
1621 if (Scope->TrueBiasedRegions.count(RI.R) || in assertCHRRegionsHaveBiasedBranchOrSelect()
1622 Scope->FalseBiasedRegions.count(RI.R)) in assertCHRRegionsHaveBiasedBranchOrSelect()
1624 for (SelectInst *SI : RI.Selects) in assertCHRRegionsHaveBiasedBranchOrSelect()
1630 for (RegInfo &RI : Scope->CHRRegions) { in assertCHRRegionsHaveBiasedBranchOrSelect()
1631 assert(HasBiasedBranchOrSelect(RI, Scope) && in assertCHRRegionsHaveBiasedBranchOrSelect()
1642 for (RegInfo &RI : Scope->CHRRegions) { in assertBranchOrSelectConditionHoisted()
1643 Region *R = RI.R; in assertBranchOrSelectConditionHoisted()
1646 if (RI.HasBranch && (IsTrueBiased || IsFalseBiased)) { in assertBranchOrSelectConditionHoisted()
1657 for (SelectInst *SI : RI.Selects) { in assertBranchOrSelectConditionHoisted()
1679 for (RegInfo &RI : Scope->RegInfos) { in transformScopes()
1680 const Region *R = RI.R; in transformScopes()
1695 for (RegInfo &RI : Scope->RegInfos) { in transformScopes()
1696 DuplicationCount[RI.R]++; in transformScopes()
1773 for (RegInfo &RI : Scope->RegInfos) in cloneScopeBlocks()
1774 for (BasicBlock *BB : RI.R->blocks()) { // This includes the blocks in the in cloneScopeBlocks()
1855 for (RegInfo &RI : Scope->CHRRegions) { in fixupBranchesAndSelects()
1856 Region *R = RI.R; in fixupBranchesAndSelects()
1857 if (RI.HasBranch) { in fixupBranchesAndSelects()
1861 for (SelectInst *SI : RI.Selects) { in fixupBranchesAndSelects()
2007 RI.print(dbgs())); in run()
2049 RI.print(dbgs())); in run()
2091 auto &RI = FAM.getResult<RegionInfoAnalysis>(F); in run() local
2093 bool Changed = CHR(F, BFI, DT, PSI, RI, ORE).run(); in run()