Lines Matching defs:CtxI
506 // If Inv and CtxI are in the same block, check if the assume (Inv) is first
2455 const Instruction *CtxI,
2459 if (!CtxI || !DT)
2476 DT->dominates(CB, CtxI))
2484 DT->dominates(I, CtxI))
2490 isValidAssumeForContext(cast<Instruction>(U), CtxI, DT))
2535 if (Edge.isSingleEdge() && DT->dominates(Edge, CtxI->getParent()))
2538 DT->dominates(cast<Instruction>(Curr), CtxI)) {
6813 const Instruction *CtxI,
6818 return isSafeToSpeculativelyExecuteWithOpcode(Inst->getOpcode(), Inst, CtxI,
6823 unsigned Opcode, const Instruction *Inst, const Instruction *CtxI,
6888 CtxI, AC, DT, TLI);
7469 const Value *V, AssumptionCache *AC, const Instruction *CtxI,
7518 return isGuaranteedNotToBeUndefOrPoison(V, AC, CtxI, DT, Depth + 1, Kind);
7563 if (!CtxI || !CtxI->getParent() || !DT)
7566 auto *DNode = DT->getNode(CtxI->getParent());
7571 // If V is used as a branch condition before reaching CtxI, V cannot be
7575 // CtxI ; V cannot be undef or poison here
7607 if (getKnowledgeValidInContext(V, {Attribute::NoUndef}, CtxI, DT, AC))
7614 const Instruction *CtxI,
7617 return ::isGuaranteedNotToBeUndefOrPoison(V, AC, CtxI, DT, Depth,
7622 const Instruction *CtxI,
7624 return ::isGuaranteedNotToBeUndefOrPoison(V, AC, CtxI, DT, Depth,
7629 const Instruction *CtxI,
7631 return ::isGuaranteedNotToBeUndefOrPoison(V, AC, CtxI, DT, Depth,
9688 const Instruction *CtxI,
9712 SI->getTrueValue(), ForSigned, UseInstrInfo, AC, CtxI, DT, Depth + 1);
9714 SI->getFalseValue(), ForSigned, UseInstrInfo, AC, CtxI, DT, Depth + 1);
9736 if (CtxI && AC) {
9742 assert(I->getParent()->getParent() == CtxI->getParent()->getParent() &&
9747 if (!isValidAssumeForContext(I, CtxI, DT))