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

References

lib/CodeGen/GlobalISel/IRTranslator.cpp
  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);