llir-opt  0.0.1
Low-Level Post-Link Optimiser for OCaml and C
Classes | Public Member Functions | List of all members
SymbolicObject Class Referencefinal

#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< SymbolicObjectGetID () const
 Return the ID of the object.
 
llvm::Align GetAlignment () const
 Return the alignment.
 
const SymbolicValuebegin () const
 Iterator over buckets.
 
const SymbolicValueend () 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.
 

Detailed Description

Object in the abstract heap.


The documentation for this class was generated from the following files: