<< EdgeArray
 Top   Types   Functions   Classes   Index 
Edge >>

struct CrlBlock / crl_block_t

Concrete Class


Description

A basic block.

Additional to accessing the slot directly, this class emulates a map structure with the following special attributes:

These wrappers are especially implemented for environments where only the CrlStructure interface is available, but not the interface for this special class, particularly in OptLa. If you use the native C/C++ library interface, better use the slot access directly.

Kinship

Immediate super class: RoutineItem

Type Aliases

typedefblock_type_t type_t

Slots

EdgeArray arr_incoming
EdgeArray arr_outgoing
Block * buddy
ListInstruction instructions
list_key_t key_routine
PAGDFIStore * pag_dfi_store
Routine * routine
type_t type

Inherited Slots

MapSymbolValue Item::attrs
int Object::class_id
MapContextMapSymbolValue RoutineItem::context_attrs
int Object::heap_sig
int WithID::id
MapIntMapSymbolValue RoutineItem::position_attrs
int Object::ref_count
UserData Object::user_data

Members

block_type_tstring_to_type(char const *)
symbol_ttype_to_symbol(block_type_t)
CrlBlock(Routine *)
CrlBlock(block_type_t, Routine *)
address_taddress() const
voidappend(Instruction * x)
Block *buddy() const
ItemDeclaration *declaration() const
voiderase(Instruction *)
voiderase(list_key_t &, Instruction * = NULL)
Value *find(Context const * ctxt, char const * key) const
Value *find(Context const * ctxt, Value const * key) const
boolfind(float_t & result, Context const * ctxt, char const * key) const
boolfind(float_t & result, Context const * ctxt, Value const * key) const
boolfind(float_t & result, int pos, char const * key) const
boolfind(float_t & result, int pos, Value const * key) const
Value *find(int pos, char const * key) const
Value *find(int pos, Value const * key) const
boolfind(signed_t & result, Context const * ctxt, char const * key) const
boolfind(signed_t & result, Context const * ctxt, Value const * key) const
boolfind(signed_t & result, int pos, char const * key) const
boolfind(signed_t & result, int pos, Value const * key) const
boolfind(unsigned_t & result, Context const * ctxt, char const * key) const
boolfind(unsigned_t & result, Context const * ctxt, Value const * key) const
boolfind(unsigned_t & result, int pos, char const * key) const
boolfind(unsigned_t & result, int pos, Value const * key) const
Value *find(char const * key) const
boolfind(float_t & result, char const * key) const
boolfind(float_t & result, Value const * key) const
boolfind(signed_t & result, char const * key) const
boolfind(signed_t & result, Value const * key) const
boolfind(unsigned_t & result, char const * key) const
boolfind(unsigned_t & result, Value const * key) const
Value *find(Value const * key) const
boolfind_address(address_t &) const
boolfind_bool(Context const * ctxt, char const * key) const
boolfind_bool(Context const * ctxt, Value const * key) const
boolfind_bool(int pos, char const * key) const
boolfind_bool(int pos, Value const * key) const
boolfind_bool(char const * key) const
boolfind_bool(Value const * key) const
boolfind_bool_sym(Context const * ctxt, symbol_t key) const
boolfind_bool_sym(int pos, symbol_t key) const
boolfind_bool_sym(symbol_t key) const
byte_tfind_byte(Context const * ctxt, char const * key) const
byte_tfind_byte(Context const * ctxt, Value const * key) const
byte_tfind_byte(int pos, char const * key) const
byte_tfind_byte(int pos, Value const * key) const
byte_tfind_byte(char const * key) const
byte_tfind_byte(Value const * key) const
byte_tfind_byte_sym(Context const * ctxt, symbol_t key) const
byte_tfind_byte_sym(int pos, symbol_t key) const
byte_tfind_byte_sym(symbol_t key) const
Edge *find_incoming(block_type_t, block_type_t) const
Edge *find_incoming(Block const *) const
Edge *find_incoming(edge_type_t) const
intfind_int(Context const * ctxt, char const * key) const
intfind_int(Context const * ctxt, Value const * key) const
intfind_int(int pos, char const * key) const
intfind_int(int pos, Value const * key) const
intfind_int(char const * key) const
intfind_int(Value const * key) const
intfind_int_sym(Context const * ctxt, symbol_t key) const
intfind_int_sym(int pos, symbol_t key) const
intfind_int_sym(symbol_t key) const
Item *find_item(Context const * ctxt, char const * key) const
Item *find_item(Context const * ctxt, Value const * key) const
Item *find_item(int pos, char const * key) const
Item *find_item(int pos, Value const * key) const
Item *find_item(char const * key) const
Item *find_item(Value const * key) const
Item *find_item_sym(Context const * ctxt, symbol_t key) const
Item *find_item_sym(int pos, symbol_t key) const
Item *find_item_sym(symbol_t key) const
Edge *find_outgoing(block_type_t, block_type_t) const
Edge *find_outgoing(Block const *) const
Edge *find_outgoing(edge_type_t) const
char const *find_string(Context const * ctxt, char const * key) const
char const *find_string(Context const * ctxt, Value const * key) const
char const *find_string(int pos, char const * key) const
char const *find_string(int pos, Value const * key) const
char const *find_string(char const * key) const
char const *find_string(Value const * key) const
char const *find_string_sym(Context const * ctxt, symbol_t key) const
char const *find_string_sym(int pos, symbol_t key) const
char const *find_string_sym(symbol_t key) const
Value *find_sym(Context const * ctxt, symbol_t key) const
boolfind_sym(float_t & result, Context const * ctxt, symbol_t key) const
boolfind_sym(float_t & result, int pos, symbol_t key) const
Value *find_sym(int pos, symbol_t key) const
boolfind_sym(signed_t & result, Context const * ctxt, symbol_t key) const
boolfind_sym(signed_t & result, int pos, symbol_t key) const
boolfind_sym(unsigned_t & result, Context const * ctxt, symbol_t key) const
boolfind_sym(unsigned_t & result, int pos, symbol_t key) const
Value *find_sym(symbol_t key) const
boolfind_sym(float_t & result, symbol_t key) const
boolfind_sym(signed_t & result, symbol_t key) const
boolfind_sym(unsigned_t & result, symbol_t key) const
symbol_tfind_symbol(Context const * ctxt, char const * key) const
symbol_tfind_symbol(Context const * ctxt, Value const * key) const
symbol_tfind_symbol(int pos, char const * key) const
symbol_tfind_symbol(int pos, Value const * key) const
symbol_tfind_symbol(char const * key) const
symbol_tfind_symbol(Value const * key) const
symbol_tfind_symbol_sym(Context const * ctxt, symbol_t key) const
symbol_tfind_symbol_sym(int pos, symbol_t key) const
symbol_tfind_symbol_sym(symbol_t key) const
word32_tfind_word32(Context const * ctxt, char const * key) const
word32_tfind_word32(Context const * ctxt, Value const * key) const
word32_tfind_word32(int pos, char const * key) const
word32_tfind_word32(int pos, Value const * key) const
word32_tfind_word32(char const * key) const
word32_tfind_word32(Value const * key) const
word32_tfind_word32_sym(Context const * ctxt, symbol_t key) const
word32_tfind_word32_sym(int pos, symbol_t key) const
word32_tfind_word32_sym(symbol_t key) const
Value *get()
Value const *get() const
boolgood_buddy(Block *) const
boolgood_incoming_type(edge_type_t, bool with_convert = true) const
boolgood_outgoing_type(edge_type_t, bool with_convert = true) const
Graph *graph() const
boolhas(Context const * ctxt, char const * key) const
boolhas(Context const * ctxt, Value const * key) const
boolhas(int pos, char const * key) const
boolhas(int pos, Value const * key) const
boolhas(char const * key) const
boolhas(Value const * key) const
boolhas_address() const
boolhas_incoming(bool consider_impasse = false) const
boolhas_outgoing(bool consider_impasse = false) const
boolhas_sym(Context const * ctxt, symbol_t key) const
boolhas_sym(int pos, symbol_t key) const
boolhas_sym(symbol_t key) const
MapBlockEdge const *incoming(edge_type_t) const
intincoming_nentries(bool count_impasse = false) const
voidinsert(Instruction const * relative, Instruction * new, bool back)
voidinsert_after(Instruction const * rel, Instruction * x)
voidinsert_before(Instruction const * rel, Instruction * x)
ListInstruction const *instructions() const
boolinvalidate()
boolis_special(char const * key) const
boolis_special(Value const * key) const
boolis_special_sym(symbol_t key) const
boolis_valid() const
boolis_valid_special() const
list_key_tkey_routine() const
MapBlockEdge const *outgoing(edge_type_t) const
intoutgoing_nentries(bool count_impasse = false) const
voidpag_check_incoming(Edge *)
voidpag_check_outgoing(Edge *)
PAGDFIStore *pag_dfi_store() const
boolpoke(Value * value)
boolpoke_once(Value * value)
voidprepend(Instruction * x)
boolreset(Context const * ctxt, char const * key)
boolreset(Context const * ctxt, Value const * key)
boolreset(int pos, char const * key)
boolreset(int pos, Value const * key)
boolreset(char const * key)
boolreset(Value const * key)
voidreset_buddy()
voidreset_pag_dfi_store()
voidreset_routine()
boolreset_sym(Context const * ctxt, symbol_t key)
boolreset_sym(int pos, symbol_t key)
boolreset_sym(symbol_t key)
Routine *routine() const
boolset(Context const * ctxt, char const * key, Value * value)
boolset(Context const * ctxt, char const * key, Item * value)
boolset(Context const * ctxt, char const * key, char const * value)
boolset(Context const * ctxt, char const * key, unsigned_t value)
boolset(Context const * ctxt, Value const * key, Value * value)
boolset(Context const * ctxt, Value const * key, Item * value)
boolset(Context const * ctxt, Value const * key, char const * value)
boolset(Context const * ctxt, Value const * key, unsigned_t value)
boolset(int pos, char const * key, Value * value)
boolset(int pos, char const * key, Item * value)
boolset(int pos, char const * key, char const * value)
boolset(int pos, char const * key, unsigned_t value)
boolset(int pos, Value const * key, Value * value)
boolset(int pos, Value const * key, Item * value)
boolset(int pos, Value const * key, char const * value)
boolset(int pos, Value const * key, unsigned_t value)
boolset(char const * key, Value * value)
boolset(char const * key, Item * value)
boolset(char const * key, char const * value)
boolset(char const * key, unsigned_t value)
boolset(Value const * key, Value * value)
boolset(Value const * key, Item * value)
boolset(Value const * key, char const * value)
boolset(Value const * key, unsigned_t value)
voidset_buddy(Block *)
boolset_float(Context const * ctxt, char const * key, float_t value)
boolset_float(Context const * ctxt, Value const * key, float_t value)
boolset_float(int pos, char const * key, float_t value)
boolset_float(int pos, Value const * key, float_t value)
boolset_float(char const * key, float_t value)
boolset_float(Value const * key, float_t value)
voidset_new_id()
boolset_once(Context const * ctxt, char const * key, Value * value)
boolset_once(Context const * ctxt, char const * key, Item * value)
boolset_once(Context const * ctxt, char const * key, char const * value)
boolset_once(Context const * ctxt, char const * key, unsigned_t value)
boolset_once(Context const * ctxt, Value const * key, Value * value)
boolset_once(Context const * ctxt, Value const * key, Item * value)
boolset_once(Context const * ctxt, Value const * key, char const * value)
boolset_once(Context const * ctxt, Value const * key, unsigned_t value)
boolset_once(int pos, char const * key, Value * value)
boolset_once(int pos, char const * key, Item * value)
boolset_once(int pos, char const * key, char const * value)
boolset_once(int pos, char const * key, unsigned_t value)
boolset_once(int pos, Value const * key, Value * value)
boolset_once(int pos, Value const * key, Item * value)
boolset_once(int pos, Value const * key, char const * value)
boolset_once(int pos, Value const * key, unsigned_t value)
boolset_once(char const * key, Value * value)
boolset_once(char const * key, Item * value)
boolset_once(char const * key, char const *