llir-opt
0.0.1
Low-Level Post-Link Optimiser for OCaml and C
|
#include <passes/pre_eval/symbolic_object.h>
Public Member Functions | |
SymbolicObject (ID< SymbolicObject > id, std::optional< size_t > size, llvm::Align align, bool rdonly, bool zero) | |
Constructs a symbolic object. | |
SymbolicObject (const SymbolicObject &that) | |
Copies a symbolic object. | |
~SymbolicObject () | |
Cleanup. | |
ID< SymbolicObject > | GetID () const |
Return the ID of the object. | |
llvm::Align | GetAlignment () const |
Return the alignment. | |
const SymbolicValue * | begin () const |
Iterator over buckets. | |
const SymbolicValue * | end () const |
void | Merge (const SymbolicObject &that) |
Merges another object into this one. | |
SymbolicValue | Load (int64_t offset, Type type) |
Performs a load from an atom inside the object. | |
SymbolicValue | LoadImprecise (Type type) |
Reads a value from all possible locations in the object. | |
bool | Init (int64_t offset, const SymbolicValue &val, Type type) |
Initialises a value inside the object.b. | |
bool | Store (int64_t offset, const SymbolicValue &val, Type type) |
Performs a store to an atom inside the object. | |
bool | StoreImprecise (int64_t offset, const SymbolicValue &val, Type type) |
Clobbers the value at an exact location. | |
bool | StoreImprecise (const SymbolicValue &val, Type type) |
Stores a value to an unknown location in the object. | |
Object in the abstract heap.