| /openbsd-src/gnu/llvm/clang/include/clang/Analysis/FlowSensitive/ |
| H A D | Value.h | 93 class BoolValue : public Value { 95 explicit BoolValue(Kind ValueKind) : Value(ValueKind) {} in BoolValue() function 110 class TopBoolValue final : public BoolValue { 112 TopBoolValue() : BoolValue(Kind::TopBool) {} in TopBoolValue() 120 class AtomicBoolValue : public BoolValue { 122 explicit AtomicBoolValue() : BoolValue(Kind::AtomicBool) {} in AtomicBoolValue() 133 class ConjunctionValue : public BoolValue { 135 explicit ConjunctionValue(BoolValue &LeftSubVal, BoolValue &RightSubVal) in ConjunctionValue() 136 : BoolValue(Kind::Conjunction), LeftSubVal(LeftSubVal), in ConjunctionValue() 144 BoolValue &getLeftSubValue() const { return LeftSubVal; } in getLeftSubValue() [all …]
|
| H A D | DataflowAnalysisContext.h | 189 BoolValue &getOrCreateConjunction(BoolValue &LHS, BoolValue &RHS); 195 BoolValue &getOrCreateDisjunction(BoolValue &LHS, BoolValue &RHS); 199 BoolValue &getOrCreateNegation(BoolValue &Val); 205 BoolValue &getOrCreateImplication(BoolValue &LHS, BoolValue &RHS); 211 BoolValue &getOrCreateIff(BoolValue &LHS, BoolValue &RHS); 221 BoolValue &Constraint); 250 BoolValue &buildAndSubstituteFlowCondition( 252 llvm::DenseMap<AtomicBoolValue *, BoolValue *> Substitutions); 256 bool flowConditionImplies(AtomicBoolValue &Token, BoolValue &Val); 265 bool equivalentBoolValues(BoolValue &Val1, BoolValue &Val2); [all …]
|
| H A D | DataflowEnvironment.h | 350 BoolValue &makeAtomicBoolValue() const { in makeAtomicBoolValue() 355 BoolValue &makeTopBoolValue() const { in makeTopBoolValue() 363 BoolValue &makeAnd(BoolValue &LHS, BoolValue &RHS) const { in makeAnd() 371 BoolValue &makeOr(BoolValue &LHS, BoolValue &RHS) const { in makeOr() 377 BoolValue &makeNot(BoolValue &Val) const { in makeNot() 385 BoolValue &makeImplication(BoolValue &LHS, BoolValue &RHS) const { in makeImplication() 393 BoolValue &makeIff(BoolValue &LHS, BoolValue &RHS) const { in makeIff() 403 BoolValue &buildAndSubstituteFlowCondition( in buildAndSubstituteFlowCondition() 405 llvm::DenseMap<AtomicBoolValue *, BoolValue *> Substitutions) { in buildAndSubstituteFlowCondition() 411 void addToFlowCondition(BoolValue &Val); [all …]
|
| H A D | DebugSupport.h | 46 const BoolValue &B, 60 const llvm::DenseSet<BoolValue *> &Constraints, 74 ArrayRef<BoolValue *> Constraints, const Solver::Result &Result, 77 const llvm::DenseSet<BoolValue *> &Constraints, 80 std::vector<BoolValue *> ConstraintsVec(Constraints.begin(),
|
| H A D | WatchedLiteralsSolver.h | 31 Result solve(llvm::DenseSet<BoolValue *> Vals) override;
|
| H A D | Solver.h | 90 virtual Result solve(llvm::DenseSet<BoolValue *> Vals) = 0;
|
| /openbsd-src/gnu/llvm/clang/lib/Analysis/FlowSensitive/ |
| H A D | DataflowAnalysisContext.cpp | 92 static std::pair<BoolValue *, BoolValue *> 93 makeCanonicalBoolValuePair(BoolValue &LHS, BoolValue &RHS) { in makeCanonicalBoolValuePair() 100 BoolValue &DataflowAnalysisContext::getOrCreateConjunction(BoolValue &LHS, in getOrCreateConjunction() 101 BoolValue &RHS) { in getOrCreateConjunction() 113 BoolValue &DataflowAnalysisContext::getOrCreateDisjunction(BoolValue &LHS, in getOrCreateDisjunction() 114 BoolValue &RHS) { in getOrCreateDisjunction() 126 BoolValue &DataflowAnalysisContext::getOrCreateNegation(BoolValue &Val) { in getOrCreateNegation() 133 BoolValue &DataflowAnalysisContext::getOrCreateImplication(BoolValue &LHS, in getOrCreateImplication() 134 BoolValue &RHS) { in getOrCreateImplication() 145 BoolValue &DataflowAnalysisContext::getOrCreateIff(BoolValue &LHS, in getOrCreateIff() [all …]
|
| H A D | Transfer.cpp | 39 static BoolValue &evaluateBooleanEquality(const Expr &LHS, const Expr &RHS, in evaluateBooleanEquality() 42 dyn_cast_or_null<BoolValue>(Env.getValue(LHS, SkipPast::Reference))) in evaluateBooleanEquality() 44 dyn_cast_or_null<BoolValue>(Env.getValue(RHS, SkipPast::Reference))) in evaluateBooleanEquality() 54 static BoolValue &unpackValue(BoolValue &V, Environment &Env); 57 BoolValue &unpackBinaryBoolValue(Environment &Env, BoolValue &B, M build) { in unpackBinaryBoolValue() 59 BoolValue &Left = V.getLeftSubValue(); in unpackBinaryBoolValue() 60 BoolValue &Right = V.getRightSubValue(); in unpackBinaryBoolValue() 61 BoolValue &ULeft = unpackValue(Left, Env); in unpackBinaryBoolValue() 62 BoolValue &URight = unpackValue(Right, Env); in unpackBinaryBoolValue() 70 static BoolValue &unpackValue(BoolValue &V, Environment &Env) { in unpackValue() [all …]
|
| H A D | DebugSupport.cpp | 102 std::string debugString(const BoolValue &B, size_t Depth = 0) { in debugString() 149 std::string debugString(const llvm::DenseSet<BoolValue *> &Constraints) { in debugString() 152 for (BoolValue *Constraint : Constraints) { in debugString() 167 std::string debugString(ArrayRef<BoolValue *> &Constraints, in debugString() 240 debugString(const BoolValue &B, in debugString() 246 debugString(const llvm::DenseSet<BoolValue *> &Constraints, in debugString() 252 debugString(ArrayRef<BoolValue *> Constraints, const Solver::Result &Result, in debugString()
|
| H A D | WatchedLiteralsSolver.cpp | 180 BooleanFormula buildBooleanFormula(const llvm::DenseSet<BoolValue *> &Vals) { in buildBooleanFormula() 188 llvm::DenseMap<BoolValue *, Variable> SubValsToVar; in buildBooleanFormula() 193 std::queue<BoolValue *> UnprocessedSubVals; in buildBooleanFormula() 194 for (BoolValue *Val : Vals) in buildBooleanFormula() 198 BoolValue *Val = UnprocessedSubVals.front(); in buildBooleanFormula() 251 auto GetVar = [&SubValsToVar](const BoolValue *Val) { in buildBooleanFormula() 262 for (BoolValue *Val : Vals) in buildBooleanFormula() 267 std::queue<BoolValue *> UnprocessedSubVals; in buildBooleanFormula() 268 for (BoolValue *Val : Vals) in buildBooleanFormula() 271 const BoolValue *Val = UnprocessedSubVals.front(); in buildBooleanFormula() [all …]
|
| H A D | DataflowEnvironment.cpp | 96 if (isa<BoolValue>(&Val1) && isa<BoolValue>(&Val2)) { in mergeDistinctValues() 110 auto *Expr1 = cast<BoolValue>(&Val1); in mergeDistinctValues() 111 auto *Expr2 = cast<BoolValue>(&Val2); in mergeDistinctValues() 138 if (isa<BoolValue>(&Prev)) { in widenDistinctValues() 139 assert(isa<BoolValue>(Current)); in widenDistinctValues() 785 void Environment::addToFlowCondition(BoolValue &Val) { in addToFlowCondition() 789 bool Environment::flowConditionImplies(BoolValue &Val) const { in flowConditionImplies()
|
| H A D | TypeErasedDataflowAnalysis.cpp | 151 cast_or_null<BoolValue>(Env.getValue(Cond, SkipPast::Reference)); in extendFlowCondition()
|
| /openbsd-src/gnu/llvm/clang/lib/Analysis/FlowSensitive/Models/ |
| H A D | UncheckedOptionalAccessModel.cpp | 203 BoolValue &forceBoolValue(Environment &Env, const Expr &Expr) { in forceBoolValue() 204 auto *Value = cast_or_null<BoolValue>(Env.getValue(Expr, SkipPast::None)); in forceBoolValue() 217 void setHasValue(Value &OptionalVal, BoolValue &HasValueVal) { in setHasValue() 223 StructValue &createOptionalValue(Environment &Env, BoolValue &HasValueVal) { in createOptionalValue() 231 BoolValue *getHasValue(Environment &Env, Value *OptionalVal) { in getHasValue() 234 cast_or_null<BoolValue>(OptionalVal->getProperty("has_value")); in getHasValue() 335 cast_or_null<BoolValue>(OptionalVal.getProperty("has_value")); in isEmptyOptional() 344 cast_or_null<BoolValue>(OptionalVal.getProperty("has_value")); in isNonEmptyOptional() 385 BoolValue &(*ModelPred)(Environment &Env, in transferValueOrImpl() 386 BoolValue &ExprVal, in transferValueOrImpl() [all …]
|
| /openbsd-src/gnu/llvm/clang/lib/Sema/ |
| H A D | SemaDeclCXX.cpp | 16644 int64_t BoolValue = V.getInt().getExtValue(); in ConvertAPValueToString() local 16645 assert((BoolValue == 0 || BoolValue == 1) && in ConvertAPValueToString() 16648 OS << (BoolValue ? "true" : "false"); in ConvertAPValueToString()
|