reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
5294 assert(SI->getNumCases() > 1 && "Degenerate switch?"); 5296 Function *Fn = SI->getParent()->getParent(); 5312 if (SI->getNumCases() < 3) 5317 assert(!SI->cases().empty()); 5318 SwitchInst::CaseIt CI = SI->case_begin(); 5331 for (SwitchInst::CaseIt E = SI->case_end(); CI != E; ++CI) { 5341 if (!GetCaseResults(SI, CaseVal, CI->getCaseSuccessor(), &CommonDest, 5369 GetCaseResults(SI, nullptr, SI->getDefaultDest(), &CommonDest, 5369 GetCaseResults(SI, nullptr, SI->getDefaultDest(), &CommonDest, 5375 if (SI->getNumCases() < 4) // FIXME: Find best threshold value (benchmark). 5387 if (!ShouldBuildLookupTable(SI, TableSize, TTI, DL, ResultTypes)) 5396 Builder.SetInsertPoint(SI); 5399 TableIndex = SI->getCondition(); 5401 TableIndex = Builder.CreateSub(SI->getCondition(), MinCaseVal, 5416 !isa<UnreachableInst>(SI->getDefaultDest()->getFirstNonPHIOrDbg()); 5428 Builder.CreateCondBr(Cmp, LookupBB, SI->getDefaultDest()); 5465 Builder.CreateCondBr(LoBit, LookupBB, SI->getDefaultDest()); 5468 AddPredecessorToBlock(SI->getDefaultDest(), MaskBB, SI->getParent()); 5468 AddPredecessorToBlock(SI->getDefaultDest(), MaskBB, SI->getParent()); 5474 SI->getDefaultDest()->removePredecessor(SI->getParent(), 5474 SI->getDefaultDest()->removePredecessor(SI->getParent(), 5516 for (unsigned i = 0, e = SI->getNumSuccessors(); i < e; ++i) { 5517 BasicBlock *Succ = SI->getSuccessor(i); 5519 if (Succ == SI->getDefaultDest()) 5521 Succ->removePredecessor(SI->getParent()); 5523 SI->eraseFromParent();