Home | History | Annotate | Download | only in IPO

Lines Matching refs:BB2

248   /// Two blocks BB1 and BB2 are in the same equivalence class if they
856 /// A block BB2 will be in the same equivalence class as \p BB1 if
859 /// 1- \p BB1 is a descendant of BB2 in the opposite tree. So, if BB2
860 BB2 should
863 /// 2- Both BB2 and \p BB1 must be in the same loop.
865 /// For every block BB2 that meets those two requirements, we set BB2's
879 for (const auto *BB2 : Descendants) {
880 bool IsDomParent = DomTree->dominates(BB2, BB1);
881 bool IsInSameLoop = LI->getLoopFor(BB1) == LI->getLoopFor(BB2);
882 if (BB1 != BB2 && IsDomParent && IsInSameLoop) {
883 EquivalenceClass[BB2] = EC;
884 // If BB2 is visited, then the entire EC should be marked as visited.
885 if (VisitedBlocks.count(BB2)) {
889 // If BB2 is heavier than BB1, make BB2 have the same weight
893 // (when BB2 is lighter than BB1). We will deal with this
897 Weight = std::max(Weight, BlockWeights[BB2]);
933 // every basic block BB2 such that:
935 // 1- BB1 dominates BB2.
936 // 2- BB2 post-dominates BB1.
937 // 3- BB1 and BB2 are in the same loop nest.
939 // If all those conditions hold, it means that BB2 is executed
941 // class by making BB2's equivalence class be BB1.