|
using | Ref = std::shared_ptr< SymbolicPointer > |
|
using | ObjectMap = std::unordered_map< int64_t, BitSet< SymbolicObject > > |
|
using | ObjectRangeMap = BitSet< SymbolicObject > |
|
using | ExternMap = std::unordered_map< Extern *, int64_t > |
|
using | ExternRangeMap = std::unordered_set< Extern * > |
|
using | FuncMap = BitSet< Func > |
|
using | BlockMap = std::unordered_set< Block * > |
|
using | StackMap = BitSet< SymbolicFrame > |
|
using | func_iterator = FuncMap::iterator |
|
using | block_iterator = BlockMap::const_iterator |
|
using | stack_iterator = StackMap::iterator |
|
|
| SymbolicPointer (ID< SymbolicObject > object, int64_t offset) |
|
| SymbolicPointer (Extern *object, int64_t offset) |
|
| SymbolicPointer (ID< Func > func) |
|
| SymbolicPointer (Block *block) |
|
| SymbolicPointer (ID< SymbolicFrame > frame) |
|
bool | operator== (const SymbolicPointer &that) const |
| Compares two sets of pointers for equality.
|
|
void | Add (ID< SymbolicObject > object) |
| Add a global to the pointer.
|
|
void | Add (ID< SymbolicObject > object, int64_t offset) |
| Add a global to the pointer.
|
|
void | Add (Extern *e, int64_t offset) |
| Adds an extern to the pointer.
|
|
void | Add (Extern *e) |
| Adds an extern to the pointer.
|
|
void | Add (ID< Func > f) |
| Add a function to the pointer.
|
|
void | Add (const BitSet< Func > &funcs) |
| Add a range of functions to the pointer.
|
|
void | Add (Block *b) |
| Adds a block to the pointer.
|
|
void | Add (ID< SymbolicFrame > frame) |
| Adds a stack frame to the pointer.
|
|
void | Add (const BitSet< SymbolicFrame > &frames) |
| Add a range of stack pointers.
|
|
void | Add (const BitSet< SymbolicObject > &range) |
| Add a range of pointers.
|
|
Ref | Offset (int64_t offset) const |
| Offset the pointer.
|
|
Ref | Decay () const |
| Decays the pointer to ranges.
|
|
void | Merge (const Ref &that) |
| Computes the least-upper-bound in place.
|
|
Ref | LUB (const Ref &that) const |
| Computes the least-upper-bound.
|
|
void | dump (llvm::raw_ostream &os) const |
| Dump the textual representation to a stream.
|
|
bool | empty () const |
| Checks whether the pointer points to anything.
|
|
address_iterator | begin () const |
| Iterator over pointers contained in the set.
|
|
address_iterator | end () const |
|
size_t | func_size () const |
| Iterator over functions.
|
|
func_iterator | func_begin () const |
|
func_iterator | func_end () const |
|
llvm::iterator_range< func_iterator > | funcs () const |
|
size_t | block_size () const |
| Iterator over blocks.
|
|
block_iterator | block_begin () const |
|
block_iterator | block_end () const |
|
llvm::iterator_range< block_iterator > | blocks () const |
|
size_t | stack_size () const |
| Iterator over stacks.
|
|
stack_iterator | stack_begin () const |
|
stack_iterator | stack_end () const |
|
llvm::iterator_range< stack_iterator > | stacks () const |
|
An address or a range of addresses.