|
libFirm
|
A symbolic constant. More...
Data Structures | |
| union | symconst_symbol |
| SymConst attribute. More... | |
Macros | |
| #define | SYMCONST_HAS_TYPE(kind) ((kind) <= symconst_type_align) |
| Returns non-zero if s symconst kind has a type attribute. | |
| #define | SYMCONST_HAS_ENT(kind) ((kind) == symconst_addr_ent || (kind) == symconst_ofs_ent) |
| Returns non-zero if s symconst kind has an entity attribute. | |
| #define | SYMCONST_HAS_ENUM(kind) ((kind) == symconst_enum_const) |
| Returns non-zero if s symconst kind has an enum_const attribute. | |
Enumerations | |
| enum | symconst_kind { symconst_type_size, symconst_type_align, symconst_addr_ent, symconst_ofs_ent, symconst_enum_const } |
| This enum names the different kinds of symbolic Constants represented by SymConst. More... | |
Functions | |
| int | is_SymConst_addr_ent (const ir_node *node) |
| Returns true if node is a SymConst node with kind symconst_addr_ent. | |
| symconst_kind | get_SymConst_kind (const ir_node *node) |
| Returns the kind of the SymConst. | |
| void | set_SymConst_kind (ir_node *node, symconst_kind num) |
| Sets the kind of the SymConst. | |
| ir_type * | get_SymConst_type (const ir_node *node) |
Returns the type attribute of SymConst node node. | |
| void | set_SymConst_type (ir_node *node, ir_type *tp) |
Sets the type attribute of SymConst node node. | |
| ir_entity * | get_SymConst_entity (const ir_node *node) |
Returns the entity attribute of SymConst node node. | |
| void | set_SymConst_entity (ir_node *node, ir_entity *ent) |
Sets the entity attribute of Symconst node node. | |
| ir_enum_const * | get_SymConst_enum (const ir_node *node) |
Returns the enum attribute of SymConst node node. | |
| void | set_SymConst_enum (ir_node *node, ir_enum_const *ec) |
Sets the enum attribute of SymConst node node. | |
| union symconst_symbol | get_SymConst_symbol (const ir_node *node) |
Returns the symbol attribute of SymConst node node. | |
| void | set_SymConst_symbol (ir_node *node, union symconst_symbol sym) |
Sets the symbol attribute of SymConst node node. | |
| int | is_SymConst (const ir_node *node) |
| Test if node is a SymConst. | |
| ir_op * | get_op_SymConst (void) |
| Returns opcode for SymConst nodes. | |
Variables | |
| ir_op * | op_SymConst |
| SymConst opcode. | |
A symbolic constant.
| #define SYMCONST_HAS_ENT | ( | kind | ) | ((kind) == symconst_addr_ent || (kind) == symconst_ofs_ent) |
| #define SYMCONST_HAS_ENUM | ( | kind | ) | ((kind) == symconst_enum_const) |
| #define SYMCONST_HAS_TYPE | ( | kind | ) | ((kind) <= symconst_type_align) |
| enum symconst_kind |
This enum names the different kinds of symbolic Constants represented by SymConst.
The content of the attribute symconst_symbol depends on this tag. Use the proper access routine after testing this flag.
| symconst_type_size |
The SymConst is the size of the given type. symconst_symbol is type *. |
| symconst_type_align |
The SymConst is the alignment of the given type. symconst_symbol is type *. |
| symconst_addr_ent |
The SymConst is a symbolic pointer to be filled in by the linker. The pointer is represented by an entity. symconst_symbol is entity *. |
| symconst_ofs_ent |
The SymConst is the offset of its entity in the entities owner type. |
| symconst_enum_const |
The SymConst is a enumeration constant of an enumeration type. |
Definition at line 305 of file firm_types.h.
| ir_op* get_op_SymConst | ( | void | ) |
Returns opcode for SymConst nodes.
Returns the entity attribute of SymConst node node.
| ir_enum_const* get_SymConst_enum | ( | const ir_node * | node | ) |
Returns the enum attribute of SymConst node node.
Only to access SymConst of kind symconst_enum_const, else assertion
| symconst_kind get_SymConst_kind | ( | const ir_node * | node | ) |
Returns the kind of the SymConst.
|
write |
Returns the symbol attribute of SymConst node node.
Returns the type attribute of SymConst node node.
| int is_SymConst | ( | const ir_node * | node | ) |
Test if node is a SymConst.
| int is_SymConst_addr_ent | ( | const ir_node * | node | ) |
Returns true if node is a SymConst node with kind symconst_addr_ent.
Sets the entity attribute of Symconst node node.
| void set_SymConst_enum | ( | ir_node * | node, |
| ir_enum_const * | ec | ||
| ) |
Sets the enum attribute of SymConst node node.
| void set_SymConst_kind | ( | ir_node * | node, |
| symconst_kind | num | ||
| ) |
Sets the kind of the SymConst.
| void set_SymConst_symbol | ( | ir_node * | node, |
| union symconst_symbol | sym | ||
| ) |
Sets the symbol attribute of SymConst node node.
Sets the type attribute of SymConst node node.