maat::info::Branch struct

Struct holding information about a regular or conditional branch operation.

❱   Base classes

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

❱   Public functions

auto class_uid() const -> 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.

❱   Public variables

std::optional<bool> taken
Boolean indicating if the branch is taken or not (it has no value for purely symbolic conditions)

Constraint cond
Condition for the branch. The branch is taken if the constraint evaluates to True (warning: null for unconditional branches)

Value target
Target address if the branch is taken (warning: null for IR internal branches)

Value next
Next instruction if the branch is not taken (warning: null for regular branch operation)