Lines Matching refs:TryResult

290 /// TryResult - a class representing a variant over the values
294 class TryResult {
297 TryResult(bool b) : X(b ? 1 : 0) {}
298 TryResult() : X(-1) {}
309 TryResult bothKnownTrue(TryResult R1, TryResult R2) {
311 return TryResult();
312 return TryResult(R1.isTrue() && R2.isTrue());
409 typedef llvm::DenseMap<Expr *, TryResult> CachedBoolEvalsTy;
524 TempDtorContext(TryResult KnownExecuted)
546 const TryResult KnownExecuted;
644 TryResult checkIncorrectRelationalOperator(const BinaryOperator *B) {
658 return TryResult();
662 return TryResult();
671 return TryResult(IntFirst == IntLarger);
675 return TryResult(IntFirst != IntLarger);
683 TryResult checkIncorrectEqualityOperator(const BinaryOperator *B) {
696 return TryResult();
710 return TryResult();
719 TryResult(B->getOpcode() != BO_EQ);
724 return TryResult();
726 return TryResult(B->getOpcode() != BO_EQ);
729 return TryResult();
732 TryResult analyzeLogicOperatorCondition(BinaryOperatorKind Relation,
738 return TryResult();
740 return TryResult(Value1 == Value2);
742 return TryResult(Value1 != Value2);
744 return TryResult(Value1 < Value2);
746 return TryResult(Value1 <= Value2);
748 return TryResult(Value1 > Value2);
750 return TryResult(Value1 >= Value2);
758 TryResult checkIncorrectLogicOperator(const BinaryOperator *B) {
765 return TryResult();
768 return TryResult();
776 return TryResult();
784 return TryResult();
788 return TryResult();
793 return TryResult();
799 return TryResult();
803 return TryResult();
829 TryResult Res1, Res2;
834 return TryResult();
848 return TryResult(AlwaysTrue);
850 return TryResult();
864 TryResult tryEvaluateBool(Expr *S) {
867 return TryResult();
877 TryResult Result = evaluateAsBooleanConditionNoCache(S);
893 return TryResult(false);
898 return TryResult(false);
911 TryResult evaluateAsBooleanConditionNoCache(Expr *E) {
914 TryResult LHS = tryEvaluateBool(Bop->getLHS());
921 TryResult RHS = tryEvaluateBool(Bop->getRHS());
929 TryResult RHS = tryEvaluateBool(Bop->getRHS());
936 TryResult BopRes = checkIncorrectLogicOperator(Bop);
942 return TryResult();
944 TryResult BopRes = checkIncorrectEqualityOperator(Bop);
948 TryResult BopRes = checkIncorrectRelationalOperator(Bop);
958 return TryResult();
1697 TryResult KnownVal = tryEvaluateBool(RHS);
1740 TryResult KnownVal = tryEvaluateBool(LHS);
1934 const TryResult& KnownVal = tryEvaluateBool(C->getCond());
2015 const TryResult& KnownVal = tryEvaluateBool(C->getCond());
2259 const TryResult &KnownVal = tryEvaluateBool(I->getCond());
2494 TryResult KnownVal(true);
2831 const TryResult& KnownVal = tryEvaluateBool(C);
2936 const TryResult &KnownVal = tryEvaluateBool(D->getCond());
3441 TryResult KnownVal(true);
3721 TryResult RHSExecuted = tryEvaluateBool(E->getLHS());
3808 TryResult ConditionVal = tryEvaluateBool(E->getCond());
3809 TryResult NegatedVal = ConditionVal;