Lines Matching defs:FactOrCheck
105 struct FactOrCheck {
129 FactOrCheck(EntryTy Ty, DomTreeNode *DTN, Instruction *Inst)
133 FactOrCheck(DomTreeNode *DTN, Use *U)
137 FactOrCheck(DomTreeNode *DTN, CmpPredicate Pred, Value *Op0, Value *Op1,
142 static FactOrCheck getConditionFact(DomTreeNode *DTN, CmpPredicate Pred,
145 return FactOrCheck(DTN, Pred, Op0, Op1, Precond);
148 static FactOrCheck getInstFact(DomTreeNode *DTN, Instruction *Inst) {
149 return FactOrCheck(EntryTy::InstFact, DTN, Inst);
152 static FactOrCheck getCheck(DomTreeNode *DTN, Use *U) {
153 return FactOrCheck(DTN, U);
156 static FactOrCheck getCheck(DomTreeNode *DTN, CallInst *CI) {
157 return FactOrCheck(EntryTy::InstCheck, DTN, CI);
187 SmallVector<FactOrCheck, 64> WorkList;
995 FactOrCheck::getConditionFact(DTN, CmpInst::ICMP_UGE, PN, StartValue));
998 FactOrCheck::getConditionFact(DTN, CmpInst::ICMP_SGE, PN, StartValue));
1019 WorkList.push_back(FactOrCheck::getConditionFact(
1022 WorkList.push_back(FactOrCheck::getConditionFact(
1027 WorkList.push_back(FactOrCheck::getConditionFact(
1030 WorkList.push_back(FactOrCheck::getConditionFact(
1054 WorkList.push_back(FactOrCheck::getConditionFact(
1058 WorkList.push_back(FactOrCheck::getConditionFact(
1062 WorkList.push_back(FactOrCheck::getConditionFact(
1065 WorkList.push_back(FactOrCheck::getConditionFact(
1081 WorkList.emplace_back(FactOrCheck::getConditionFact(
1100 WorkList.push_back(FactOrCheck::getCheck(DTN, &U));
1116 WorkList.emplace_back(FactOrCheck::getConditionFact(
1120 FactOrCheck::getInstFact(DT.getNode(I.getParent()), &I));
1129 FactOrCheck::getCheck(DT.getNode(&BB), cast<CallInst>(&I)));
1138 FactOrCheck::getCheck(DT.getNode(&BB), cast<CallInst>(&I)));
1145 WorkList.push_back(FactOrCheck::getInstFact(DT.getNode(&BB), &I));
1158 WorkList.emplace_back(FactOrCheck::getConditionFact(
1195 WorkList.emplace_back(FactOrCheck::getConditionFact(
1220 WorkList.emplace_back(FactOrCheck::getConditionFact(
1224 WorkList.emplace_back(FactOrCheck::getConditionFact(
1528 FactOrCheck &CB, ConstraintInfo &Info, Module *ReproducerModule,
1754 stable_sort(S.WorkList, [](const FactOrCheck &A, const FactOrCheck &B) {
1755 auto HasNoConstOp = [](const FactOrCheck &B) {
1784 for (FactOrCheck &CB : S.WorkList) {