Home
last modified time | relevance | path

Searched refs:Formula (Results 1 – 25 of 33) sorted by relevance

12

/src/contrib/llvm-project/clang/lib/Analysis/FlowSensitive/
H A DArena.cpp17 static std::pair<const Formula *, const Formula *>
18 canonicalFormulaPair(const Formula &LHS, const Formula &RHS) { in canonicalFormulaPair()
26 const Formula &cached(llvm::DenseMap<Key, const Formula *> &Cache, Key K, in cached()
34 const Formula &Arena::makeAtomRef(Atom A) { in makeAtomRef()
36 return &Formula::create(Alloc, Formula::AtomRef, {}, in makeAtomRef()
41 const Formula &Arena::makeAnd(const Formula &LHS, const Formula &RHS) { in makeAnd()
45 if (LHS.kind() == Formula::Literal) in makeAnd()
47 if (RHS.kind() == Formula::Literal) in makeAnd()
50 return &Formula::create(Alloc, Formula::And, {&LHS, &RHS}); in makeAnd()
54 const Formula &Arena::makeOr(const Formula &LHS, const Formula &RHS) { in makeOr()
[all …]
H A DFormula.cpp20 const Formula &Formula::create(llvm::BumpPtrAllocator &Alloc, Kind K, in create()
21 ArrayRef<const Formula *> Operands, in create()
26 void *Mem = Alloc.Allocate(sizeof(Formula) + in create()
28 alignof(Formula)); in create()
29 Formula *Result = new (Mem) Formula(); in create()
35 llvm::copy(Operands, reinterpret_cast<const Formula **>(Result + 1)); in create()
39 static llvm::StringLiteral sigil(Formula::Kind K) { in sigil()
41 case Formula::AtomRef: in sigil()
42 case Formula::Literal: in sigil()
44 case Formula::Not: in sigil()
[all …]
H A DSimplifyConstraints.cpp17 static const Formula &
18 substitute(const Formula &F, in substitute()
19 const llvm::DenseMap<Atom, const Formula *> &Substitutions, in substitute()
22 case Formula::AtomRef: in substitute()
27 case Formula::Literal: in substitute()
29 case Formula::Not: in substitute()
31 case Formula::And: in substitute()
34 case Formula::Or: in substitute()
37 case Formula::Implies: in substitute()
41 case Formula::Equal: in substitute()
[all …]
H A DCNFFormula.cpp36 explicit CNFFormulaBuilder(CNFFormula &CNF) : Formula(CNF) {} in CNFFormulaBuilder()
72 Formula.addClause(Simplified); in addClause()
84 Formula.addClause(Simplified); in addClause()
89 bool isKnownContradictory() { return Formula.knownContradictory(); } in isKnownContradictory()
92 CNFFormula &Formula; member
116 CNFFormula buildCNF(const llvm::ArrayRef<const Formula *> &Formulas, in buildCNF()
125 llvm::DenseMap<const Formula *, Variable> FormulaToVar; in buildCNF()
129 std::queue<const Formula *> UnprocessedFormulas; in buildCNF()
130 for (const Formula *F : Formulas) in buildCNF()
134 const Formula *F = UnprocessedFormulas.front(); in buildCNF()
[all …]
H A DDataflowAnalysisContext.cpp136 void DataflowAnalysisContext::addInvariant(const Formula &Constraint) { in addInvariant()
144 Atom Token, const Formula &Constraint) { in addFlowConditionConstraint()
172 llvm::SetVector<const Formula *> Constraints) { in querySolver()
177 const Formula &F) { in flowConditionImplies()
186 llvm::SetVector<const Formula *> Constraints; in flowConditionImplies()
194 const Formula &F) { in flowConditionAllows()
198 llvm::SetVector<const Formula *> Constraints; in flowConditionAllows()
205 bool DataflowAnalysisContext::equivalentFormulas(const Formula &Val1, in equivalentFormulas()
206 const Formula &Val2) { in equivalentFormulas()
207 llvm::SetVector<const Formula *> Constraints; in equivalentFormulas()
[all …]
H A DWatchedLiteralsSolver.cpp107 const llvm::ArrayRef<const Formula *> &Vals) in WatchedLiteralsSolverImpl()
409 WatchedLiteralsSolver::solve(llvm::ArrayRef<const Formula *> Vals) { in solve()
H A DDataflowEnvironment.cpp1136 void Environment::assume(const Formula &F) { in assume()
1140 bool Environment::proves(const Formula &F) const { in proves()
1144 bool Environment::allows(const Formula &F) const { in allows()
/src/contrib/llvm-project/clang/include/clang/Analysis/FlowSensitive/
H A DArena.h24 : True(Formula::create(Alloc, Formula::Literal, {}, 1)), in Arena()
25 False(Formula::create(Alloc, Formula::Literal, {}, 0)) {}
66 BoolValue &makeBoolValue(const Formula &);
93 const Formula &makeAnd(const Formula &LHS, const Formula &RHS);
96 const Formula &makeOr(const Formula &LHS, const Formula &RHS);
99 const Formula &makeNot(const Formula &Val);
102 const Formula &makeImplies(const Formula &LHS, const Formula &RHS);
105 const Formula &makeEquals(const Formula &LHS, const Formula &RHS);
108 const Formula &makeAtomRef(Atom A);
111 const Formula &makeLiteral(bool Value) { return Value ? True : False; } in makeLiteral()
[all …]
H A DFormula.h48 class Formula; variable
49 class alignas(const Formula *) Formula {
82 ArrayRef<const Formula *> operands() const { in operands()
83 return ArrayRef(reinterpret_cast<Formula *const *>(this + 1), in operands()
94 static const Formula &create(llvm::BumpPtrAllocator &Alloc, Kind K,
95 ArrayRef<const Formula *> Operands,
99 Formula() = default;
100 Formula(const Formula &) = delete;
101 Formula &operator=(const Formula &) = delete;
128 inline llvm::raw_ostream &operator<<(llvm::raw_ostream &OS, const Formula &F) {
H A DDataflowAnalysisContext.h138 void addInvariant(const Formula &Constraint);
141 void addFlowConditionConstraint(Atom Token, const Formula &Constraint);
156 bool flowConditionImplies(Atom Token, const Formula &F);
162 bool flowConditionAllows(Atom Token, const Formula &F);
167 bool equivalentFormulas(const Formula &Val1, const Formula &Val2);
186 Solver::Result querySolver(llvm::SetVector<const Formula *> Constraints);
238 llvm::SetVector<const Formula *> &Out);
242 bool isSatisfiable(llvm::SetVector<const Formula *> Constraints) { in isSatisfiable()
249 bool isUnsatisfiable(llvm::SetVector<const Formula *> Constraints) { in isUnsatisfiable()
290 llvm::DenseMap<Atom, const Formula *> FlowConditionConstraints;
[all …]
H A DValue.h95 const Formula *F;
98 explicit BoolValue(Kind ValueKind, const Formula &F) in BoolValue()
107 const Formula &formula() const { return *F; } in formula()
118 TopBoolValue(const Formula &F) : BoolValue(Kind::TopBool, F) { in TopBoolValue()
119 assert(F.kind() == Formula::AtomRef); in TopBoolValue()
135 explicit AtomicBoolValue(const Formula &F) : BoolValue(Kind::AtomicBool, F) { in AtomicBoolValue()
136 assert(F.kind() == Formula::AtomRef); in AtomicBoolValue()
149 explicit FormulaBoolValue(const Formula &F) in FormulaBoolValue()
151 assert(F.kind() != Formula::AtomRef && "For now, use AtomicBoolValue"); in FormulaBoolValue()
H A DSimplifyConstraints.h43 void simplifyConstraints(llvm::SetVector<const Formula *> &Constraints,
H A DWatchedLiteralsSolver.h50 Result solve(llvm::ArrayRef<const Formula *> Vals) override;
H A DDataflowEnvironment.h642 void assume(const Formula &);
653 bool proves(const Formula &) const;
658 bool allows(const Formula &) const;
H A DSolver.h89 virtual Result solve(llvm::ArrayRef<const Formula *> Vals) = 0;
H A DCNFFormula.h173 CNFFormula buildCNF(const llvm::ArrayRef<const Formula *> &Formulas,
/src/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DLoopStrengthReduce.cpp483 struct Formula { struct
521 Formula() = default;
603 void Formula::initialMatch(const SCEV *S, Loop *L, ScalarEvolution &SE) { in initialMatch()
631 bool Formula::isCanonical(const Loop &L) const { in isCanonical()
658 void Formula::canonicalize(const Loop &L) { in canonicalize()
695 bool Formula::unscale() { in unscale()
704 bool Formula::hasZeroEnd() const { in hasZeroEnd()
714 size_t Formula::getNumRegs() const { in getNumRegs()
720 Type *Formula::getType() const { in getType()
728 void Formula::deleteBaseReg(const SCEV *&S) { in deleteBaseReg()
[all …]
/src/contrib/llvm-project/clang/lib/Analysis/FlowSensitive/Models/
H A DUncheckedOptionalAccessModel.cpp317 const Formula &forceBoolValue(Environment &Env, const Expr &Expr) { in forceBoolValue()
423 const Formula &(*ModelPred)(Environment &Env, const Formula &ExprVal, in transferValueOrImpl()
424 const Formula &HasValueVal)) { in transferValueOrImpl()
443 [](Environment &Env, const Formula &ExprVal, in transferValueOrStringEmptyCall()
444 const Formula &HasValueVal) -> const Formula & { in transferValueOrStringEmptyCall()
461 [](Environment &Env, const Formula &ExprVal, in transferValueOrNotEqX()
462 const Formula &HasValueVal) -> const Formula & { in transferValueOrNotEqX()
625 const Formula &evaluateEquality(Arena &A, const Formula &EqVal, in evaluateEquality()
626 const Formula &LHS, const Formula &RHS) { in evaluateEquality()
/src/contrib/libxo/packaging/
H A Dlibxo.rb.base.in8 class Libxo < Formula
/src/sys/contrib/device-tree/Bindings/leds/
H A Dleds-ktd2692.txt30 Formula : I(mA) = 15000 / Rset.
/src/contrib/llvm-project/llvm/include/llvm/CodeGen/
H A DTargetInstrInfo.h93 enum class Formula { enum
103 Formula Form = Formula::Basic;
/src/contrib/llvm-project/llvm/lib/CodeGen/
H A DImplicitNullChecks.cpp375 if (!AM || AM->Form != ExtAddrMode::Formula::Basic) in isSuitableMemoryOp()
/src/contrib/llvm-project/llvm/lib/Target/AArch64/
H A DAArch64InstrInfo.cpp2884 AM.Form = ExtAddrMode::Formula::SExtScaledReg; in canFoldIntoAddrMode()
2915 AM.Form = ExtAddrMode::Formula::ZExtScaledReg; in canFoldIntoAddrMode()
2959 AM.Form = ExtAddrMode::Formula::Basic; in canFoldIntoAddrMode()
2965 ExtAddrMode::Formula Form = ExtAddrMode::Formula::Basic) -> bool { in canFoldIntoAddrMode()
3058 (Extend == AArch64_AM::SXTW) ? ExtAddrMode::Formula::SExtScaledReg in canFoldIntoAddrMode()
3059 : ExtAddrMode::Formula::ZExtScaledReg); in canFoldIntoAddrMode()
3420 if (AM.Form == ExtAddrMode::Formula::Basic) { in emitLdStWithAddr()
3458 if (AM.Form == ExtAddrMode::Formula::SExtScaledReg || in emitLdStWithAddr()
3459 AM.Form == ExtAddrMode::Formula::ZExtScaledReg) { in emitLdStWithAddr()
3478 .addImm(AM.Form == ExtAddrMode::Formula::SExtScaledReg) in emitLdStWithAddr()
/src/contrib/file/magic/Magdir/
H A Darchive2009 >>>>80 byte !0x2d Formula
2012 >>>>80 string -template Formula Template
/src/contrib/llvm-project/llvm/lib/Target/RISCV/
H A DRISCVInstrInfo.cpp2595 AM.Form = ExtAddrMode::Formula::Basic; in canFoldIntoAddrMode()

12