Lines Matching refs:SI

223   auto *SI = dyn_cast<SelectInst>(Incoming);  in getValueOnEdge()  local
224 if (!SI) in getValueOnEdge()
229 Value *Condition = SI->getCondition(); in getValueOnEdge()
233 return SI->getTrueValue(); in getValueOnEdge()
235 return SI->getFalseValue(); in getValueOnEdge()
245 if (auto *C = dyn_cast<Constant>(SI->getFalseValue())) in getValueOnEdge()
246 if (LVI->getPredicateOnEdge(ICmpInst::ICMP_EQ, SI, C, From, To, CxtI) == in getValueOnEdge()
248 return SI->getTrueValue(); in getValueOnEdge()
252 if (auto *C = dyn_cast<Constant>(SI->getTrueValue())) in getValueOnEdge()
253 if (LVI->getPredicateOnEdge(ICmpInst::ICMP_EQ, SI, C, From, To, CxtI) == in getValueOnEdge()
255 return SI->getFalseValue(); in getValueOnEdge()
373 SwitchInstProfUpdateWrapper SI(*I); in processSwitch() local
375 for (auto CI = SI->case_begin(), CE = SI->case_end(); CI != CE;) { in processSwitch()
385 CI = SI.removeCase(CI); in processSwitch()
386 CE = SI->case_end(); in processSwitch()
390 Cond = SI->getCondition(); in processSwitch()
402 SI->setCondition(Case); in processSwitch()
403 NumDeadCases += SI->getNumCases(); in processSwitch()
571 static bool processSaturatingInst(SaturatingInst *SI, LazyValueInfo *LVI) { in processSaturatingInst() argument
572 Instruction::BinaryOps Opcode = SI->getBinaryOp(); in processSaturatingInst()
573 bool NSW = SI->isSigned(); in processSaturatingInst()
574 bool NUW = !SI->isSigned(); in processSaturatingInst()
576 Opcode, SI->getLHS(), SI->getRHS(), SI->getName(), SI); in processSaturatingInst()
577 BinOp->setDebugLoc(SI->getDebugLoc()); in processSaturatingInst()
580 SI->replaceAllUsesWith(BinOp); in processSaturatingInst()
581 SI->eraseFromParent(); in processSaturatingInst()
608 if (auto *SI = dyn_cast<SaturatingInst>(&CB)) { in processCallSite() local
609 if (SI->getType()->isIntegerTy() && willNotOverflow(SI, LVI)) { in processCallSite()
610 return processSaturatingInst(SI, LVI); in processCallSite()