reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
569 Register CondLHS = getOrCreateVReg(*CB.CmpLHS); 572 MIB.setDebugLoc(CB.DbgLoc); 573 MIB.setMBB(*CB.ThisBB); 575 if (CB.PredInfo.NoCmp) { 577 addSuccessorWithProb(CB.ThisBB, CB.TrueBB, CB.TrueProb); 577 addSuccessorWithProb(CB.ThisBB, CB.TrueBB, CB.TrueProb); 577 addSuccessorWithProb(CB.ThisBB, CB.TrueBB, CB.TrueProb); 578 addMachineCFGPred({SwitchBB->getBasicBlock(), CB.TrueBB->getBasicBlock()}, 579 CB.ThisBB); 580 CB.ThisBB->normalizeSuccProbs(); 581 if (CB.TrueBB != CB.ThisBB->getNextNode()) 581 if (CB.TrueBB != CB.ThisBB->getNextNode()) 582 MIB.buildBr(*CB.TrueBB); 589 if (!CB.CmpMHS) { 590 Register CondRHS = getOrCreateVReg(*CB.CmpRHS); 591 Cond = MIB.buildICmp(CB.PredInfo.Pred, i1Ty, CondLHS, CondRHS).getReg(0); 593 assert(CB.PredInfo.Pred == CmpInst::ICMP_SLE && 596 const APInt& Low = cast<ConstantInt>(CB.CmpLHS)->getValue(); 597 const APInt& High = cast<ConstantInt>(CB.CmpRHS)->getValue(); 599 Register CmpOpReg = getOrCreateVReg(*CB.CmpMHS); 600 if (cast<ConstantInt>(CB.CmpLHS)->isMinValue(true)) { 601 Register CondRHS = getOrCreateVReg(*CB.CmpRHS); 613 addSuccessorWithProb(CB.ThisBB, CB.TrueBB, CB.TrueProb); 613 addSuccessorWithProb(CB.ThisBB, CB.TrueBB, CB.TrueProb); 613 addSuccessorWithProb(CB.ThisBB, CB.TrueBB, CB.TrueProb); 615 addMachineCFGPred({SwitchBB->getBasicBlock(), CB.TrueBB->getBasicBlock()}, 616 CB.ThisBB); 620 if (CB.TrueBB != CB.FalseBB) 620 if (CB.TrueBB != CB.FalseBB) 621 addSuccessorWithProb(CB.ThisBB, CB.FalseBB, CB.FalseProb); 621 addSuccessorWithProb(CB.ThisBB, CB.FalseBB, CB.FalseProb); 621 addSuccessorWithProb(CB.ThisBB, CB.FalseBB, CB.FalseProb); 622 CB.ThisBB->normalizeSuccProbs(); 625 addMachineCFGPred({SwitchBB->getBasicBlock(), CB.FalseBB->getBasicBlock()}, 626 CB.ThisBB); 630 if (CB.TrueBB == CB.ThisBB->getNextNode()) { 630 if (CB.TrueBB == CB.ThisBB->getNextNode()) { 631 std::swap(CB.TrueBB, CB.FalseBB); 631 std::swap(CB.TrueBB, CB.FalseBB); 637 MIB.buildBrCond(Cond, *CB.TrueBB); 638 MIB.buildBr(*CB.FalseBB);