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

References

lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
  575   LLVM_DEBUG(dbgs() << "  Trying to unswitch switch: " << SI << "\n");
  576   Value *LoopCond = SI.getCondition();
  582   auto *ParentBB = SI.getParent();
  585   for (auto Case : SI.cases()) {
  593       SwitchInstProfUpdateWrapper::getSuccessorWeight(SI, 0);
  594   if (!L.contains(SI.getDefaultDest()) &&
  595       areLoopExitPHIsLoopInvariant(L, *ParentBB, *SI.getDefaultDest()) &&
  596       !isa<UnreachableInst>(SI.getDefaultDest()->getTerminator())) {
  597     DefaultExitBB = SI.getDefaultDest();
  613     SI.setDefaultDest(nullptr);
  626   SwitchInstProfUpdateWrapper SIW(SI);
  630     auto CaseI = SI.case_begin() + Index;
  652   if (SI.getNumCases() > 0 &&
  653       std::all_of(std::next(SI.case_begin()), SI.case_end(),
  653       std::all_of(std::next(SI.case_begin()), SI.case_end(),
  654                   [&SI](const SwitchInst::CaseHandle &Case) {
  656                            SI.case_begin()->getCaseSuccessor();
  658     CommonSuccBB = SI.case_begin()->getCaseSuccessor();
  663     if (SI.getNumCases() == 0)
  664       CommonSuccBB = SI.getDefaultDest();
  665     else if (SI.getDefaultDest() != CommonSuccBB)
  749     for (const auto &Case : SI.cases())
  755     for (const auto &Case : SI.cases()) {
  769     BasicBlock *BB = SI.getParent();
  774     for (auto Case : SI.cases()) {
  789     assert(SI.getNumCases() > 0 &&
  795     auto LastCaseI = std::prev(SI.case_end());
  797     SI.setDefaultDest(LastCaseI->getCaseSuccessor());