libFirm
|
Trouts list all uses of types and entities. More...
Functions | |
size_t | get_entity_n_accesses (const ir_entity *entity) |
Returns number of Load/Store nodes that possibly access entity entity . | |
ir_node * | get_entity_access (const ir_entity *entity, size_t pos) |
Returns Load/Store node number pos that possibly accesses entity entity . | |
size_t | get_entity_n_references (const ir_entity *entity) |
Returns number of references to entity entity , in form of SymConst/Sel, including references from constant entities and the like. | |
ir_node * | get_entity_reference (const ir_entity *entity, size_t pos) |
Returns reference number pos of references to an entity, in form of SymConst/Sel, including references from constants. | |
size_t | get_type_n_allocs (const ir_type *type) |
Returns number of Alloc nodes that create an instance of type type . | |
ir_node * | get_type_alloc (const ir_type *type, size_t pos) |
Returns Alloc node number pos that create an instance of type type . | |
size_t | get_type_n_casts (const ir_type *type) |
Returns number of Cast nodes that cast a pointer to type type . | |
ir_node * | get_type_cast (const ir_type *type, size_t pos) |
Cast node that cast a pointer to this type. | |
size_t | get_class_n_upcasts (const ir_type *clss) |
Returns number of upcasts. | |
size_t | get_class_n_downcasts (const ir_type *clss) |
Returns number of downcasts. | |
size_t | get_type_n_pointertypes_to (const ir_type *type) |
Returns number of pointertypes that point to type type . | |
ir_type * | get_type_pointertype_to (const ir_type *type, size_t pos) |
Returns pointer type number pos that points to type type . | |
size_t | get_type_n_arraytypes_of (const ir_type *type) |
Returns number of array types with element type type . | |
ir_type * | get_type_arraytype_of (const ir_type *type, size_t pos) |
Returns array type number pos with element type type . | |
void | compute_trouts (void) |
Computes the outs of types and entities. | |
void | free_trouts (void) |
Frees trout data. |
Trouts list all uses of types and entities.
Each type gets a list of all Alloc nodes allocating it. Each entity gets two lists:
void compute_trouts | ( | void | ) |
Computes the outs of types and entities.
Collects all reference from irnodes to types or entities in the corresponding types/entities. Further reverses references between types and entities.
Annotates the following nodes: Alloc –> get_Alloc_type() Cast –> get_Cast_type() Sel –> get_Sel_entity() SymConst –> get_SymConst_entity() Load(addr) –> get_addr_entity() \ ent von SymConst, oder falls Sel: ent von Store(addr) –> get_addr_entity() / outermost im compound. Ansonsten: nirgends. d.h. wir bekommen die array Elementzugriffe an die jack array Klasse annotiert. Call(Sel) –> get_Sel_entity() // ev. Tabellenzugriff –> Load.
type –> pointer type refering to this type. type –> entity of this type. @@ to be implemented.
Sets trout state to outs_consistent.
void free_trouts | ( | void | ) |
Frees trout data.
size_t get_class_n_downcasts | ( | const ir_type * | clss | ) |
Returns number of downcasts.
O(#casts).
size_t get_class_n_upcasts | ( | const ir_type * | clss | ) |
Returns number of upcasts.
O(#casts).
Returns Load/Store node number pos
that possibly accesses entity entity
.
size_t get_entity_n_accesses | ( | const ir_entity * | entity | ) |
Returns number of Load/Store nodes that possibly access entity entity
.
size_t get_entity_n_references | ( | const ir_entity * | entity | ) |
Returns number of references to entity entity
, in form of SymConst/Sel, including references from constant entities and the like.
Returns reference number pos
of references to an entity, in form of SymConst/Sel, including references from constants.
Returns Alloc node number pos
that create an instance of type type
.
Returns array type number pos
with element type type
.
Cast node that cast a pointer to this type.
size_t get_type_n_allocs | ( | const ir_type * | type | ) |
Returns number of Alloc nodes that create an instance of type type
.
size_t get_type_n_arraytypes_of | ( | const ir_type * | type | ) |
Returns number of array types with element type type
.
size_t get_type_n_casts | ( | const ir_type * | type | ) |
Returns number of Cast nodes that cast a pointer to type type
.
size_t get_type_n_pointertypes_to | ( | const ir_type * | type | ) |
Returns number of pointertypes that point to type type
.