Home
last modified time | relevance | path

Searched refs:BoolValue (Results 1 – 14 of 14) sorted by relevance

/openbsd-src/gnu/llvm/clang/include/clang/Analysis/FlowSensitive/
H A DValue.h93 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 DDataflowAnalysisContext.h189 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 DDataflowEnvironment.h350 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 DDebugSupport.h46 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 DWatchedLiteralsSolver.h31 Result solve(llvm::DenseSet<BoolValue *> Vals) override;
H A DSolver.h90 virtual Result solve(llvm::DenseSet<BoolValue *> Vals) = 0;
/openbsd-src/gnu/llvm/clang/lib/Analysis/FlowSensitive/
H A DDataflowAnalysisContext.cpp92 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 DTransfer.cpp39 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 DDebugSupport.cpp102 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 DWatchedLiteralsSolver.cpp180 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 DDataflowEnvironment.cpp96 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 DTypeErasedDataflowAnalysis.cpp151 cast_or_null<BoolValue>(Env.getValue(Cond, SkipPast::Reference)); in extendFlowCondition()
/openbsd-src/gnu/llvm/clang/lib/Analysis/FlowSensitive/Models/
H A DUncheckedOptionalAccessModel.cpp203 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 DSemaDeclCXX.cpp16644 int64_t BoolValue = V.getInt().getExtValue(); in ConvertAPValueToString() local
16645 assert((BoolValue == 0 || BoolValue == 1) && in ConvertAPValueToString()
16648 OS << (BoolValue ? "true" : "false"); in ConvertAPValueToString()