reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
10294   assert(W.FirstCluster->Low->getValue().slt(W.LastCluster->Low->getValue()) &&
10294   assert(W.FirstCluster->Low->getValue().slt(W.LastCluster->Low->getValue()) &&
10297   assert(W.LastCluster - W.FirstCluster + 1 >= 2 && "Too small to split!");
10297   assert(W.LastCluster - W.FirstCluster + 1 >= 2 && "Too small to split!");
10302   CaseClusterIt LastLeft = W.FirstCluster;
10303   CaseClusterIt FirstRight = W.LastCluster;
10304   auto LeftProb = LastLeft->Prob + W.DefaultProb / 2;
10305   auto RightProb = FirstRight->Prob + W.DefaultProb / 2;
10326     unsigned NumLeft = LastLeft - W.FirstCluster + 1;
10327     unsigned NumRight = W.LastCluster - FirstRight + 1;
10336         unsigned RightSideRank = caseClusterRank(CC, FirstRight, W.LastCluster);
10337         unsigned LeftSideRank = caseClusterRank(CC, W.FirstCluster, LastLeft);
10348         unsigned LeftSideRank = caseClusterRank(CC, W.FirstCluster, LastLeft);
10349         unsigned RightSideRank = caseClusterRank(CC, FirstRight, W.LastCluster);
10362   assert(LastLeft >= W.FirstCluster);
10363   assert(FirstRight <= W.LastCluster);
10368   assert(PivotCluster > W.FirstCluster);
10369   assert(PivotCluster <= W.LastCluster);
10371   CaseClusterIt FirstLeft = W.FirstCluster;
10372   CaseClusterIt LastRight = W.LastCluster;
10377   MachineFunction::iterator BBI(W.MBB);
10385       FirstLeft->Low == W.GE &&
10389     LeftMBB = FuncInfo.MF->CreateMachineBasicBlock(W.MBB->getBasicBlock());
10392         {LeftMBB, FirstLeft, LastLeft, W.GE, Pivot, W.DefaultProb / 2});
10392         {LeftMBB, FirstLeft, LastLeft, W.GE, Pivot, W.DefaultProb / 2});
10402       W.LT && (FirstRight->High->getValue() + 1ULL) == W.LT->getValue()) {
10402       W.LT && (FirstRight->High->getValue() + 1ULL) == W.LT->getValue()) {
10405     RightMBB = FuncInfo.MF->CreateMachineBasicBlock(W.MBB->getBasicBlock());
10408         {RightMBB, FirstRight, LastRight, Pivot, W.LT, W.DefaultProb / 2});
10408         {RightMBB, FirstRight, LastRight, Pivot, W.LT, W.DefaultProb / 2});
10414   CaseBlock CB(ISD::SETLT, Cond, Pivot, nullptr, LeftMBB, RightMBB, W.MBB,
10417   if (W.MBB == SwitchMBB)