:
unsigned{};
75 return static_cast<bool>(
Value);
84numOperands(
kind()));
87 using AtomNames= llvm::DenseMap<Atom, std::string>;
91 void print(llvm::raw_ostream &OS,
const AtomNames* =
nullptr)
const;
103 static unsignednumOperands(
KindK) {
116llvm_unreachable(
"Unhandled Formula::Kind enum");
126 returnOS << 'V' << static_cast<unsigned>(A);
135template<>
structDenseMapInfo<
clang::dataflow::Atom> {
142 returnDenseMapInfo<Underlying>::getHashValue(
Underlying(Val));
Forward-declares and imports various common LLVM datatypes that clang wants to use unqualified.
void print(llvm::raw_ostream &OS, const AtomNames *=nullptr) const
ArrayRef< const Formula * > operands() const
bool isLiteral(bool b) const
llvm::DenseMap< Atom, std::string > AtomNames
@ Equal
True if LHS is false or RHS is true.
@ Implies
True if either LHS or RHS is true.
@ AtomRef
A reference to an atomic boolean variable.
@ Literal
Constant true or false.
@ Or
True if LHS and RHS are both true.
@ And
True if its only operand is false.
static const Formula & create(llvm::BumpPtrAllocator &Alloc, Kind K, ArrayRef< const Formula * > Operands, unsigned Value=0)
Base class for all values computed by abstract interpretation.
Dataflow Directional Tag Classes.
Atom
Identifies an atomic boolean variable such as "V1".
llvm::raw_ostream & operator<<(llvm::raw_ostream &OS, Atom A)
uint32_t Literal
Literals are represented as positive integers.
The JSON file list parser is used to communicate input to InstallAPI.
Diagnostic wrappers for TextAPI types for error reporting.
static bool isEqual(const Atom &LHS, const Atom &RHS)
static unsigned getHashValue(const Atom &Val)
std::underlying_type_t< Atom > Underlying
static Atom getTombstoneKey()
static Atom getEmptyKey()
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4