reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
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());