Lines Matching defs:StartValue
976 Value *StartValue = nullptr;
978 StartValue = C->getValue();
980 StartValue = PN->getIncomingValueForBlock(LoopPred);
981 assert(SE.getSCEV(StartValue) == StartSCEV && "inconsistent start value");
991 // If SCEV guarantees that AR does not wrap, PN >= StartValue can be added
995 FactOrCheck::getConditionFact(DTN, CmpInst::ICMP_UGE, PN, StartValue));
998 FactOrCheck::getConditionFact(DTN, CmpInst::ICMP_SGE, PN, StartValue));
1017 // Add StartValue >= PN conditional on B <= StartValue which guarantees that
1020 DTN, CmpInst::ICMP_UGE, StartValue, PN,
1021 ConditionTy(CmpInst::ICMP_ULE, B, StartValue)));
1023 DTN, CmpInst::ICMP_SGE, StartValue, PN,
1024 ConditionTy(CmpInst::ICMP_SLE, B, StartValue)));
1025 // Add PN > B conditional on B <= StartValue which guarantees that the loop
1029 ConditionTy(CmpInst::ICMP_ULE, B, StartValue)));
1032 ConditionTy(CmpInst::ICMP_SLE, B, StartValue)));
1050 // AR may wrap. Add PN >= StartValue conditional on StartValue <= B which
1055 DTN, CmpInst::ICMP_UGE, PN, StartValue,
1056 ConditionTy(CmpInst::ICMP_ULE, StartValue, B)));
1059 DTN, CmpInst::ICMP_SGE, PN, StartValue,
1060 ConditionTy(CmpInst::ICMP_SLE, StartValue, B)));
1064 ConditionTy(CmpInst::ICMP_ULE, StartValue, B)));
1067 ConditionTy(CmpInst::ICMP_SLE, StartValue, B)));
1075 ConditionTy Precond = {CmpInst::ICMP_ULE, StartValue, B};