Lines Matching defs:TryResult
400 /// TryResult - a class representing a variant over the values
404 class TryResult {
408 TryResult() = default;
409 TryResult(bool b) : X(b ? 1 : 0) {}
423 static TryResult bothKnownTrue(TryResult R1, TryResult R2) {
425 return TryResult();
426 return TryResult(R1.isTrue() && R2.isTrue());
544 using CachedBoolEvalsTy = llvm::DenseMap<Expr *, TryResult>;
676 TempDtorContext(TryResult KnownExecuted)
697 const TryResult KnownExecuted = true;
925 TryResult checkIncorrectRelationalOperator(const BinaryOperator *B) {
939 return TryResult();
943 return TryResult();
952 return TryResult(IntFirst == IntLarger);
956 return TryResult(IntFirst != IntLarger);
964 TryResult checkIncorrectEqualityOperator(const BinaryOperator *B) {
978 return TryResult();
993 return TryResult();
1002 return TryResult(B->getOpcode() != BO_EQ);
1006 return TryResult();
1008 return TryResult(B->getOpcode() != BO_EQ);
1011 return TryResult();
1055 TryResult analyzeLogicOperatorCondition(BinaryOperatorKind Relation,
1061 return TryResult();
1063 return TryResult(Value1 == Value2);
1065 return TryResult(Value1 != Value2);
1067 return TryResult(Value1 < Value2);
1069 return TryResult(Value1 <= Value2);
1071 return TryResult(Value1 > Value2);
1073 return TryResult(Value1 >= Value2);
1084 TryResult checkIncorrectLogicOperator(const BinaryOperator *B) {
1097 return TryResult(AlwaysTrue);
1100 return TryResult();
1103 TryResult Result = CheckLogicalOpWithNegatedVariable(LHSExpr, RHSExpr);
1183 TryResult Res1, Res2;
1208 return TryResult(AlwaysTrue);
1214 TryResult checkIncorrectBitwiseOrOperator(const BinaryOperator *B) {
1235 return TryResult(true);
1249 TryResult tryEvaluateBool(Expr *S) {
1262 TryResult Result = evaluateAsBooleanConditionNoCache(S);
1279 return TryResult(false);
1286 return TryResult(false);
1299 TryResult evaluateAsBooleanConditionNoCache(Expr *E) {
1302 TryResult LHS = tryEvaluateBool(Bop->getLHS());
1309 TryResult RHS = tryEvaluateBool(Bop->getRHS());
1317 TryResult RHS = tryEvaluateBool(Bop->getRHS());
1324 TryResult BopRes = checkIncorrectLogicOperator(Bop);
1332 TryResult BopRes = checkIncorrectEqualityOperator(Bop);
1336 TryResult BopRes = checkIncorrectRelationalOperator(Bop);
1340 TryResult BopRes = checkIncorrectBitwiseOrOperator(Bop);
2547 TryResult KnownVal = tryEvaluateBool(RHS);
2597 TryResult KnownVal = tryEvaluateBool(LHS);
2801 const TryResult& KnownVal = tryEvaluateBool(C->getCond());
2886 const TryResult& KnownVal = tryEvaluateBool(C->getCond());
3176 TryResult KnownVal;
3614 TryResult KnownVal(true);
3970 const TryResult& KnownVal = tryEvaluateBool(C);
4209 const TryResult &KnownVal = tryEvaluateBool(D->getCond());
4728 TryResult KnownVal(true);
5075 TryResult RHSExecuted = tryEvaluateBool(E->getLHS());
5160 TryResult ConditionVal = tryEvaluateBool(E->getCond());
5161 TryResult NegatedVal = ConditionVal;