maat::ir::TmpContext class


This class represents a context for temporary registers used in Maat's IR. It is basically a mapping between abstract expressions and temporary registers. It is used internally for executing IR code

❱   Base classes

class maat::serial::Serializable
Virtual interface that serializable classes must implement.

❱   Public functions

auto exists(ir::tmp_t tmp) -> bool
Return 'true' if the temporary exists in the current context.

void set(ir::tmp_t tmp, const Value& value)
Assign abstract or concrete value to temporary 'tmp'.

auto get(ir::tmp_t tmp) -> const Value&
Get current value of temporary 'tmp'.

void reset()
Remove all temporaries previously created.

auto class_uid() const -> serial::uid_t virtual
Return the class uid (see ClassId enum)

void dump(serial::Serializer&) const virtual
Dump the object contents in a serializer stream.

void load(serial::Deserializer&) virtual
Restore an object from a deserializer stream.