libFirm
|
An entity is the representation of program known objects in Firm. More...
Modules | |
Entity Initializers |
Macros | |
#define | IR_VTABLE_NUM_NOT_SET ((unsigned)(-1)) |
A reserved value for "not yet set". | |
#define | IR_VA_START_PARAMETER_NUMBER ((size_t)-1) |
Sepcial parameter number which can be used for parameter entities to indicate the first non-declared parameter in a procedure with variable arguments. |
Typedefs | |
typedef struct ir_entity | ir_entity |
Entity. |
Enumerations | |
enum | ir_visibility { ir_visibility_external, ir_visibility_local, ir_visibility_private } |
Visibility classed for entities. More... | |
enum | ir_linkage { IR_LINKAGE_DEFAULT = 0, IR_LINKAGE_CONSTANT = 1 << 0, IR_LINKAGE_WEAK = 1 << 1, IR_LINKAGE_GARBAGE_COLLECT = 1 << 2, IR_LINKAGE_MERGE = 1 << 3, IR_LINKAGE_HIDDEN_USER = 1 << 4, IR_LINKAGE_NO_CODEGEN = 1 << 5 } |
linkage specifies how the linker treats symbols More... | |
enum | ir_entity_usage { ir_usage_none = 0, ir_usage_address_taken = 1 << 0, ir_usage_write = 1 << 1, ir_usage_read = 1 << 2, ir_usage_reinterpret_cast = 1 << 3, ir_usage_unknown } |
Bitfield type indicating the way an entity is used. More... | |
enum | ir_allocation { allocation_automatic, allocation_parameter, allocation_dynamic, allocation_static } |
enum | ir_peculiarity { peculiarity_existent, peculiarity_description, peculiarity_inherited } |
Functions | |
ir_visibility | get_entity_visibility (const ir_entity *entity) |
Returns the visibility class of an entity. | |
void | set_entity_visibility (ir_entity *entity, ir_visibility visibility) |
Sets visibility class of an entity. | |
int | entity_is_externally_visible (const ir_entity *entity) |
Returns 1 if the entity is visible outside the current compilation unit or to unknown callers (like asm statements). | |
int | entity_has_definition (const ir_entity *entity) |
Returns 1 if the entity has a definition (initializer) in the current compilation unit. | |
ir_entity * | new_entity (ir_type *owner, ident *name, ir_type *tp) |
Creates a new entity. | |
ir_entity * | new_d_entity (ir_type *owner, ident *name, ir_type *tp, dbg_info *db) |
Creates a new entity. | |
ir_entity * | new_parameter_entity (ir_type *owner, size_t pos, ir_type *type) |
Creates a new entity corresponding to a function parameter. | |
ir_entity * | new_d_parameter_entity (ir_type *owner, size_t pos, ir_type *type, dbg_info *dbgi) |
Like new_parameter_entity() but with debug information. | |
int | check_entity (const ir_entity *ent) |
Check an entity. | |
ir_entity * | copy_entity_own (ir_entity *old, ir_type *new_owner) |
Copies the entity if the new_owner is different from the owner of the old entity, else returns the old entity. | |
ir_entity * | copy_entity_name (ir_entity *old, ident *new_name) |
Copies the entity if the new_name is different from the name of the old entity, else returns the old entity. | |
void | free_entity (ir_entity *ent) |
Frees the entity. | |
const char * | get_entity_name (const ir_entity *ent) |
Returns the name of an entity. | |
ident * | get_entity_ident (const ir_entity *ent) |
Returns the ident of an entity. | |
void | set_entity_ident (ir_entity *ent, ident *id) |
Sets the ident of the entity. | |
ident * | get_entity_ld_ident (const ir_entity *ent) |
Returns the mangled name of the entity. | |
void | set_entity_ld_ident (ir_entity *ent, ident *ld_ident) |
Sets the mangled name of the entity. | |
const char * | get_entity_ld_name (const ir_entity *ent) |
Returns the mangled name of the entity as a string. | |
int | entity_has_ld_ident (const ir_entity *entity) |
returns 1 if the entity has an ld_ident set explicitely | |
ir_type * | get_entity_owner (const ir_entity *ent) |
Returns the owner of the entity. | |
void | set_entity_owner (ir_entity *ent, ir_type *owner) |
Sets the owner field in entity to owner. | |
ir_type * | get_entity_type (const ir_entity *ent) |
Returns the type of an entity. | |
void | set_entity_type (ir_entity *ent, ir_type *tp) |
Sets the type of an entity. | |
ir_linkage | get_entity_linkage (const ir_entity *entity) |
Returns the linkage of an entity. | |
void | set_entity_linkage (ir_entity *entity, ir_linkage linkage) |
Sets the linkage flags of entity entity to linkage . | |
void | add_entity_linkage (ir_entity *entity, ir_linkage linkage) |
Adds linkage flags linkage to entity entity . | |
void | remove_entity_linkage (ir_entity *entity, ir_linkage linkage) |
Remove linkage flags linkage from entity entity . | |
ir_volatility | get_entity_volatility (const ir_entity *ent) |
Returns the volatility of an entity. | |
void | set_entity_volatility (ir_entity *ent, ir_volatility vol) |
Sets the volatility of an entity. | |
const char * | get_volatility_name (ir_volatility var) |
Returns the name of the volatility. | |
unsigned | get_entity_alignment (const ir_entity *entity) |
Returns alignment of entity in bytes. | |
void | set_entity_alignment (ir_entity *entity, unsigned alignment) |
Allows you to override the type alignment for an entity. | |
ir_align | get_entity_aligned (const ir_entity *ent) |
Returns indication whether entity is aligned in memory. | |
void | set_entity_aligned (ir_entity *ent, ir_align a) |
Sets indication whether entity is aligned in memory. | |
const char * | get_align_name (ir_align a) |
Returns the name of the alignment. | |
int | get_entity_offset (const ir_entity *ent) |
Returns the offset of an entity (in a compound) in bytes. | |
void | set_entity_offset (ir_entity *ent, int offset) |
Sets the offset of an entity (in a compound) in bytes. | |
unsigned char | get_entity_offset_bits_remainder (const ir_entity *ent) |
Returns the offset bit remainder of a bitfield entity (in a compound) in bits. | |
void | set_entity_offset_bits_remainder (ir_entity *ent, unsigned char offset) |
Sets the offset bit remainder of a bitfield entity (in a compound) in bits. | |
void * | get_entity_link (const ir_entity *ent) |
Returns the stored intermediate information. | |
void | set_entity_link (ir_entity *ent, void *l) |
Stores new intermediate information. | |
ir_graph * | get_entity_irg (const ir_entity *ent) |
The entity knows the corresponding irg if the entity is a method. | |
unsigned | get_entity_vtable_number (const ir_entity *ent) |
Returns the entity vtable number. | |
void | set_entity_vtable_number (ir_entity *ent, unsigned vtable_number) |
Sets the entity vtable number. | |
void | set_entity_label (ir_entity *ent, ir_label_t label) |
Sets label number of an entity with code type. | |
ir_label_t | get_entity_label (const ir_entity *ent) |
Returns label number of an entity with code type. | |
int | is_entity_compiler_generated (const ir_entity *ent) |
Checks if an entity is compiler generated. | |
void | set_entity_compiler_generated (ir_entity *ent, int flag) |
Sets/resets the compiler generated flag. | |
ir_entity_usage | get_entity_usage (const ir_entity *ent) |
Returns the entity usage. | |
void | set_entity_usage (ir_entity *ent, ir_entity_usage flag) |
Sets/resets the state of the address taken flag of an entity. | |
dbg_info * | get_entity_dbg_info (const ir_entity *ent) |
Returns the debug information of an entity. | |
void | set_entity_dbg_info (ir_entity *ent, dbg_info *db) |
Sets the debug information of an entity. | |
int | is_parameter_entity (const ir_entity *entity) |
returns true if a given entity is a parameter_entity representing the address of a function parameter | |
size_t | get_entity_parameter_number (const ir_entity *entity) |
returns number of parameter a parameter entitiy represents | |
void | set_entity_parameter_number (ir_entity *entity, size_t n) |
set number of parameter an entity represents | |
int | is_irn_const_expression (ir_node *n) |
Returns true if the the node is representable as code on const_code_irg. | |
ir_node * | copy_const_value (dbg_info *dbg, ir_node *n, ir_node *to_block) |
Copies a Firm subgraph that complies to the restrictions for constant expressions to block. | |
ir_node * | get_atomic_ent_value (const ir_entity *ent) |
Returns initial value of entity with atomic type ent . | |
void | set_atomic_ent_value (ir_entity *ent, ir_node *val) |
Sets initial value of entity with atomic type ent to node val . | |
void | set_entity_initializer (ir_entity *entity, ir_initializer_t *initializer) |
Sets the new style initializers of an entity. | |
int | has_entity_initializer (const ir_entity *entity) |
Returns true, if an entity has new style initializers. | |
ir_initializer_t * | get_entity_initializer (const ir_entity *entity) |
Returns the new style initializers of an entity. | |
void | add_entity_overwrites (ir_entity *ent, ir_entity *overwritten) |
Adds entity ent to the list of entities that overwrite overwritten . | |
size_t | get_entity_n_overwrites (const ir_entity *ent) |
Returns the number of entities in the list of entities that overwrite entity ent . | |
size_t | get_entity_overwrites_index (const ir_entity *ent, ir_entity *overwritten) |
Returns index of overwritten in list of entities overwriting entity ent . | |
ir_entity * | get_entity_overwrites (const ir_entity *ent, size_t pos) |
Returns entry pos in list of entities overwriting entity ent . | |
void | set_entity_overwrites (ir_entity *ent, size_t pos, ir_entity *overwritten) |
Sets entry pos in list of entities overwriting entity ent . | |
void | remove_entity_overwrites (ir_entity *ent, ir_entity *overwritten) |
Remove overwritten from list of entities overwriting entity ent . | |
size_t | get_entity_n_overwrittenby (const ir_entity *ent) |
Returns number of entities overwritten by ent . | |
size_t | get_entity_overwrittenby_index (const ir_entity *ent, ir_entity *overwrites) |
Returns index of overwrites in list of entities overwritten by entity ent . | |
ir_entity * | get_entity_overwrittenby (const ir_entity *ent, size_t pos) |
Return entry pos in list of entities overwritten by entity ent . | |
void | set_entity_overwrittenby (ir_entity *ent, size_t pos, ir_entity *overwrites) |
Sets entry pos in list of entities overwritten by entity ent . | |
void | remove_entity_overwrittenby (ir_entity *ent, ir_entity *overwrites) |
Removes entry overwrites in list of entities overwritten by ent . | |
int | is_entity (const void *thing) |
Checks whether a pointer points to an entity. | |
int | is_atomic_entity (const ir_entity *ent) |
Returns true if the type of the entity is a primitive, pointer enumeration or method type. | |
int | is_compound_entity (const ir_entity *ent) |
Returns true if the type of the entity is a class, structure, array or union type. | |
int | is_method_entity (const ir_entity *ent) |
Returns true if the type of the entity is a Method type. | |
long | get_entity_nr (const ir_entity *ent) |
Outputs a unique number for this entity if libfirm is compiled for debugging, (configure with –enable-debug) else returns the address of the type cast to long. | |
ir_visited_t | get_entity_visited (const ir_entity *ent) |
Returns the entities visited counter. | |
void | set_entity_visited (ir_entity *ent, ir_visited_t num) |
Sets the entities visited counter. | |
void | mark_entity_visited (ir_entity *ent) |
Marks entity as visited. | |
int | entity_visited (const ir_entity *ent) |
Returns true if this entity was visited. | |
int | entity_not_visited (const ir_entity *ent) |
Returns true if this entity was not visited. | |
mtp_additional_properties | get_entity_additional_properties (const ir_entity *ent) |
Returns the mask of the additional entity properties. | |
void | set_entity_additional_properties (ir_entity *ent, mtp_additional_properties prop) |
Sets the mask of the additional graph properties. | |
void | add_entity_additional_properties (ir_entity *ent, mtp_additional_properties flag) |
Sets additional graph properties. | |
ir_type * | get_entity_repr_class (const ir_entity *ent) |
Returns the class type that this type info entity represents or NULL if ent is no type info entity. | |
ir_entity * | get_unknown_entity (void) |
Returns the unknown entity . | |
int | is_unknown_entity (const ir_entity *entity) |
Tests whether entity entity is (the) unknown entity. | |
ir_allocation | get_entity_allocation (const ir_entity *ent) |
void | set_entity_allocation (ir_entity *ent, ir_allocation al) |
ir_peculiarity | get_entity_peculiarity (const ir_entity *ent) |
void | set_entity_peculiarity (ir_entity *ent, ir_peculiarity pec) |
int | is_entity_final (const ir_entity *ent) |
void | set_entity_final (ir_entity *ent, int final) |
ir_peculiarity | get_class_peculiarity (const ir_type *clss) |
void | set_class_peculiarity (ir_type *clss, ir_peculiarity pec) |
An entity is the representation of program known objects in Firm.
The primary concept of entities is to represent members of complex types, i.e., fields and methods of classes. As not all programming language model all variables and methods as members of some class, the concept of entities is extended to cover also local and global variables, and arbitrary procedures.
An entity always specifies the type of the object it represents and the type of the object it is a part of, the owner of the entity. Originally this is the type of the class of which the entity is a member. The owner of local variables is the procedure they are defined in. The owner of global variables and procedures visible in the whole program is a universally defined class type "GlobalType". The owner of procedures defined in the scope of an other procedure is the enclosing procedure.
The type ir_entity is an abstract data type to represent program entities. If contains the following attributes:
These fields can only be accessed via access functions.
Overwrites is a field that specifies that an access to the overwritten entity in the supertype must use this entity. It's a list as with multiple inheritance several entities can be overwritten. This field is mostly useful for method entities. If a Sel node selects an entity that is overwritten by other entities it must return a pointer to the entity of the dynamic type of the pointer that is passed to it. Lowering of the Sel node must assure this. Overwrittenby is the inverse of overwrites. Both add routines add both relations, they only differ in the order of arguments.
#define IR_VA_START_PARAMETER_NUMBER ((size_t)-1) |
Sepcial parameter number which can be used for parameter entities to indicate the first non-declared parameter in a procedure with variable arguments.
We assumes that all additional parameters for variable parameters are on the stack. Starting from this address you can walk the stack to find all other parameters.
#define IR_VTABLE_NUM_NOT_SET ((unsigned)(-1)) |
Entity.
Definition at line 96 of file firm_types.h.
enum ir_allocation |
enum ir_entity_usage |
Bitfield type indicating the way an entity is used.
enum ir_linkage |
linkage specifies how the linker treats symbols
enum ir_peculiarity |
enum ir_visibility |
Visibility classed for entities.
void add_entity_additional_properties | ( | ir_entity * | ent, |
mtp_additional_properties | flag | ||
) |
Sets additional graph properties.
void add_entity_linkage | ( | ir_entity * | entity, |
ir_linkage | linkage | ||
) |
Adds linkage flags linkage
to entity entity
.
Adds entity ent
to the list of entities that overwrite overwritten
.
int check_entity | ( | const ir_entity * | ent | ) |
Check an entity.
Currently, we check only if initialized constants are build on the const irg graph.
Copies a Firm subgraph that complies to the restrictions for constant expressions to block.
dbg | debug info for all newly created nodes |
n | the node |
to_block | block to copy to |
Copies the entity if the new_name is different from the name of the old entity, else returns the old entity.
Automatically inserts the new entity as a member of owner. The mangled name ld_name is set to NULL. Overwrites relation is copied from old.
Copies the entity if the new_owner is different from the owner of the old entity, else returns the old entity.
Automatically inserts the new entity as a member of owner. Resets the overwrites/overwritten_by fields. Keeps the old atomic value.
int entity_has_definition | ( | const ir_entity * | entity | ) |
Returns 1 if the entity has a definition (initializer) in the current compilation unit.
Note that this function returns false if IR_LINKAGE_NO_CODEGEN is set even if a graph is present.
int entity_has_ld_ident | ( | const ir_entity * | entity | ) |
returns 1 if the entity has an ld_ident set explicitely
int entity_is_externally_visible | ( | const ir_entity * | entity | ) |
Returns 1 if the entity is visible outside the current compilation unit or to unknown callers (like asm statements).
(The entity might still be accessible indirectly through pointers) This is a convenience function and does the same as get_entity_visibility(entity) != ir_visibility_local || (get_entity_linkage(entity) & IR_LINKAGE_HIDDEN_USER)
int entity_not_visited | ( | const ir_entity * | ent | ) |
Returns true if this entity was not visited.
int entity_visited | ( | const ir_entity * | ent | ) |
Returns true if this entity was visited.
void free_entity | ( | ir_entity * | ent | ) |
Frees the entity.
The owner will still contain the pointer to this entity, as well as all other references!
const char* get_align_name | ( | ir_align | a | ) |
Returns the name of the alignment.
Returns initial value of entity with atomic type ent
.
ir_peculiarity get_class_peculiarity | ( | const ir_type * | clss | ) |
mtp_additional_properties get_entity_additional_properties | ( | const ir_entity * | ent | ) |
Returns the mask of the additional entity properties.
The properties are automatically inherited from the irg if available or from the method type if they were not set using set_entity_additional_properties() or set_entity_additional_property().
Returns indication whether entity is aligned in memory.
unsigned get_entity_alignment | ( | const ir_entity * | entity | ) |
Returns alignment of entity in bytes.
ir_allocation get_entity_allocation | ( | const ir_entity * | ent | ) |
Returns the debug information of an entity.
ent | The entity. |
ir_initializer_t* get_entity_initializer | ( | const ir_entity * | entity | ) |
Returns the new style initializers of an entity.
The entity knows the corresponding irg if the entity is a method.
This allows to get from a Call to the called irg.
ir_label_t get_entity_label | ( | const ir_entity * | ent | ) |
Returns label number of an entity with code type.
Returns the mangled name of the entity.
If the mangled name is set it returns the existing name. Else it generates a name with mangle_entity() and remembers this new name internally.
const char* get_entity_ld_name | ( | const ir_entity * | ent | ) |
Returns the mangled name of the entity as a string.
void* get_entity_link | ( | const ir_entity * | ent | ) |
Returns the stored intermediate information.
ir_linkage get_entity_linkage | ( | const ir_entity * | entity | ) |
Returns the linkage of an entity.
size_t get_entity_n_overwrites | ( | const ir_entity * | ent | ) |
Returns the number of entities in the list of entities that overwrite entity ent
.
size_t get_entity_n_overwrittenby | ( | const ir_entity * | ent | ) |
Returns number of entities overwritten by ent
.
const char* get_entity_name | ( | const ir_entity * | ent | ) |
Returns the name of an entity.
long get_entity_nr | ( | const ir_entity * | ent | ) |
Outputs a unique number for this entity if libfirm is compiled for debugging, (configure with –enable-debug) else returns the address of the type cast to long.
int get_entity_offset | ( | const ir_entity * | ent | ) |
Returns the offset of an entity (in a compound) in bytes.
Only set if layout = fixed.
unsigned char get_entity_offset_bits_remainder | ( | const ir_entity * | ent | ) |
Returns the offset bit remainder of a bitfield entity (in a compound) in bits.
Only set if layout = fixed.
Returns entry pos
in list of entities overwriting entity ent
.
Returns index of overwritten
in list of entities overwriting entity ent
.
Return entry pos
in list of entities overwritten by entity ent
.
Returns index of overwrites
in list of entities overwritten by entity ent
.
size_t get_entity_parameter_number | ( | const ir_entity * | entity | ) |
returns number of parameter a parameter entitiy represents
ir_peculiarity get_entity_peculiarity | ( | const ir_entity * | ent | ) |
Returns the class type that this type info entity represents or NULL if ent is no type info entity.
ir_entity_usage get_entity_usage | ( | const ir_entity * | ent | ) |
Returns the entity usage.
ir_visibility get_entity_visibility | ( | const ir_entity * | entity | ) |
Returns the visibility class of an entity.
ir_visited_t get_entity_visited | ( | const ir_entity * | ent | ) |
Returns the entities visited counter.
ir_volatility get_entity_volatility | ( | const ir_entity * | ent | ) |
Returns the volatility of an entity.
unsigned get_entity_vtable_number | ( | const ir_entity * | ent | ) |
Returns the entity vtable number.
ir_entity* get_unknown_entity | ( | void | ) |
Returns the unknown entity .
const char* get_volatility_name | ( | ir_volatility | var | ) |
Returns the name of the volatility.
int has_entity_initializer | ( | const ir_entity * | entity | ) |
Returns true, if an entity has new style initializers.
int is_atomic_entity | ( | const ir_entity * | ent | ) |
Returns true if the type of the entity is a primitive, pointer enumeration or method type.
int is_compound_entity | ( | const ir_entity * | ent | ) |
Returns true if the type of the entity is a class, structure, array or union type.
int is_entity | ( | const void * | thing | ) |
Checks whether a pointer points to an entity.
thing | an arbitrary pointer |
int is_entity_compiler_generated | ( | const ir_entity * | ent | ) |
Checks if an entity is compiler generated.
int is_entity_final | ( | const ir_entity * | ent | ) |
int is_irn_const_expression | ( | ir_node * | n | ) |
Returns true if the the node is representable as code on const_code_irg.
int is_method_entity | ( | const ir_entity * | ent | ) |
Returns true if the type of the entity is a Method type.
int is_parameter_entity | ( | const ir_entity * | entity | ) |
returns true if a given entity is a parameter_entity representing the address of a function parameter
int is_unknown_entity | ( | const ir_entity * | entity | ) |
Tests whether entity entity
is (the) unknown entity.
void mark_entity_visited | ( | ir_entity * | ent | ) |
Marks entity as visited.
Creates a new entity.
Automatically inserts the entity as a member of owner. The entity is automatic allocated and uninitialized except if the type is type_method, then it is static allocated and constant. The constant value is a pointer to the method. Visibility is local, offset -1, and it is not volatile.
Like new_parameter_entity() but with debug information.
Creates a new entity.
Automatically inserts the entity as a member of owner. Entity is automatic_allocated and uninitialized except if the type is type_method, then it is static_allocated and constant. The constant value is a pointer to the method. Visibility is local, offset -1, and it is not volatile.
Creates a new entity corresponding to a function parameter.
This must be created on an irgs frame_type
void remove_entity_linkage | ( | ir_entity * | entity, |
ir_linkage | linkage | ||
) |
Remove linkage flags linkage
from entity entity
.
Remove overwritten
from list of entities overwriting entity ent
.
Removes entry overwrites
in list of entities overwritten by ent
.
Sets initial value of entity with atomic type ent
to node val
.
val
must be a node in the const_code graph void set_class_peculiarity | ( | ir_type * | clss, |
ir_peculiarity | pec | ||
) |
void set_entity_additional_properties | ( | ir_entity * | ent, |
mtp_additional_properties | prop | ||
) |
Sets the mask of the additional graph properties.
Sets indication whether entity is aligned in memory.
void set_entity_alignment | ( | ir_entity * | entity, |
unsigned | alignment | ||
) |
Allows you to override the type alignment for an entity.
entity | the entity |
alignment | alignment in bytes |
void set_entity_allocation | ( | ir_entity * | ent, |
ir_allocation | al | ||
) |
void set_entity_compiler_generated | ( | ir_entity * | ent, |
int | flag | ||
) |
Sets/resets the compiler generated flag.
Sets the debug information of an entity.
ent | The entity. |
db | The debug info. |
void set_entity_final | ( | ir_entity * | ent, |
int | final | ||
) |
void set_entity_initializer | ( | ir_entity * | entity, |
ir_initializer_t * | initializer | ||
) |
Sets the new style initializers of an entity.
void set_entity_label | ( | ir_entity * | ent, |
ir_label_t | label | ||
) |
Sets label number of an entity with code type.
void set_entity_link | ( | ir_entity * | ent, |
void * | l | ||
) |
Stores new intermediate information.
void set_entity_linkage | ( | ir_entity * | entity, |
ir_linkage | linkage | ||
) |
Sets the linkage flags of entity entity
to linkage
.
void set_entity_offset | ( | ir_entity * | ent, |
int | offset | ||
) |
Sets the offset of an entity (in a compound) in bytes.
void set_entity_offset_bits_remainder | ( | ir_entity * | ent, |
unsigned char | offset | ||
) |
Sets the offset bit remainder of a bitfield entity (in a compound) in bits.
Sets entry pos
in list of entities overwriting entity ent
.
Sets entry pos
in list of entities overwritten by entity ent
.
Sets the owner field in entity to owner.
Automatically removes entity from old owner type and adds it to the new one.
void set_entity_parameter_number | ( | ir_entity * | entity, |
size_t | n | ||
) |
set number of parameter an entity represents
void set_entity_peculiarity | ( | ir_entity * | ent, |
ir_peculiarity | pec | ||
) |
void set_entity_usage | ( | ir_entity * | ent, |
ir_entity_usage | flag | ||
) |
Sets/resets the state of the address taken flag of an entity.
void set_entity_visibility | ( | ir_entity * | entity, |
ir_visibility | visibility | ||
) |
Sets visibility class of an entity.
void set_entity_visited | ( | ir_entity * | ent, |
ir_visited_t | num | ||
) |
Sets the entities visited counter.
void set_entity_volatility | ( | ir_entity * | ent, |
ir_volatility | vol | ||
) |
Sets the volatility of an entity.
void set_entity_vtable_number | ( | ir_entity * | ent, |
unsigned | vtable_number | ||
) |
Sets the entity vtable number.