| libFirm
    | 
Definition of opaque firm types. More...
Go to the source code of this file.
| Data Structures | |
| union | symconst_symbol | 
| SymConst attribute.  More... | |
| struct | ir_asm_constraint | 
| A input/output constraint attribute.  More... | |
| Macros | |
| #define | ENUM_BITSET(type) | 
| Marks an enum type as bitset enum. | |
| #define | ENUM_COUNTABLE(type) | 
| Marks an enum type as countable enum. | |
| Typedefs | |
| typedef unsigned long | ir_visited_t | 
| Type for visited counters. | |
| typedef unsigned long | ir_label_t | 
| A label in the code (usually attached to a Block node) | |
| typedef struct dbg_info | dbg_info | 
| Source Reference. | |
| typedef struct type_dbg_info | type_dbg_info | 
| Source Type Reference. | |
| typedef struct ident | ident | 
| Identifier. | |
| typedef struct ir_node | ir_node | 
| Procedure Graph Node. | |
| typedef struct ir_op | ir_op | 
| Node Opcode. | |
| typedef struct ir_mode | ir_mode | 
| SSA Value mode. | |
| typedef struct ir_edge_t | ir_edge_t | 
| Dynamic Reverse Edge. | |
| typedef struct ir_heights_t | ir_heights_t | 
| Computed graph Heights. | |
| typedef struct ir_tarval | ir_tarval | 
| Target Machine Value. | |
| typedef struct ir_enum_const | ir_enum_const | 
| Enumeration constant. | |
| typedef struct ir_type | ir_type | 
| Type. | |
| typedef struct ir_graph | ir_graph | 
| Procedure Grpah. | |
| typedef struct ir_prog | ir_prog | 
| Program. | |
| typedef struct ir_loop | ir_loop | 
| Loop. | |
| typedef struct ir_entity | ir_entity | 
| Entity. | |
| typedef struct ir_cdep | ir_cdep | 
| Control Dependence Analysis Results. | |
| typedef struct arch_irn_ops_t | arch_irn_ops_t | 
| Target Architecture specific node operations. | |
| typedef struct ir_graph_pass_t | ir_graph_pass_t | 
| A graph transformation pass. | |
| typedef struct ir_prog_pass_t | ir_prog_pass_t | 
| A whole program transformation pass. | |
| typedef struct ir_graph_pass_manager_t | ir_graph_pass_manager_t | 
| A graph pass manager. | |
| typedef struct ir_prog_pass_manager_t | ir_prog_pass_manager_t | 
| A program pass manager. | |
| typedef union ir_initializer_t | ir_initializer_t | 
| Initializer (for entities) | |
| typedef void | irg_walk_func (ir_node *, void *) | 
| type for graph-walk callbacks | |
| typedef struct ir_switch_table | ir_switch_table | 
| A switch table mapping integer numbers to proj-numbers of a Switch-node. | |
| typedef ir_node * | uninitialized_local_variable_func_t (ir_graph *irg, ir_mode *mode, int pos) | 
| This function is called, whenever a local variable is used before definition. | |
| Enumerations | |
| enum | ir_relation { ir_relation_false = 0, ir_relation_equal = 1u << 0, ir_relation_less = 1u << 1, ir_relation_greater = 1u << 2, ir_relation_unordered = 1u << 3, ir_relation_less_equal = ir_relation_equal|ir_relation_less, ir_relation_greater_equal = ir_relation_equal|ir_relation_greater, ir_relation_less_greater = ir_relation_less|ir_relation_greater, ir_relation_less_equal_greater = ir_relation_equal|ir_relation_less|ir_relation_greater, ir_relation_unordered_equal = ir_relation_unordered|ir_relation_equal, ir_relation_unordered_less = ir_relation_unordered|ir_relation_less, ir_relation_unordered_less_equal = ir_relation_unordered|ir_relation_less|ir_relation_equal, ir_relation_unordered_greater = ir_relation_unordered|ir_relation_greater, ir_relation_unordered_greater_equal = ir_relation_unordered|ir_relation_greater|ir_relation_equal, ir_relation_unordered_less_greater = ir_relation_unordered|ir_relation_less|ir_relation_greater, ir_relation_true = ir_relation_equal|ir_relation_less|ir_relation_greater|ir_relation_unordered } | 
| Relations for comparing numbers.  More... | |
| enum | ir_cons_flags { cons_none = 0, cons_volatile = 1U << 0, cons_unaligned = 1U << 1, cons_floats = 1U << 2, cons_throws_exception = 1U << 3 } | 
| constrained flags for memory operations.  More... | |
| enum | op_pin_state { op_pin_state_floats = 0, op_pin_state_pinned = 1, op_pin_state_exc_pinned, op_pin_state_mem_pinned } | 
| pinned states.  More... | |
| enum | cond_jmp_predicate { COND_JMP_PRED_NONE, COND_JMP_PRED_TRUE, COND_JMP_PRED_FALSE } | 
| A type to express conditional jump predictions.  More... | |
| enum | mtp_additional_properties { mtp_no_property = 0, mtp_property_const = 1u << 0, mtp_property_pure = 1u << 1, mtp_property_noreturn = 1u << 2, mtp_property_nothrow = 1u << 3, mtp_property_naked = 1u << 4, mtp_property_malloc = 1u << 5, mtp_property_returns_twice = 1u << 6, mtp_property_intrinsic = 1u << 7, mtp_property_runtime = 1u << 8, mtp_property_private = 1u << 9, mtp_property_has_loop = 1u << 10, mtp_property_always_inline = 1u << 11, mtp_property_noinline = 1u << 12, mtp_property_inline_recommended = 1u << 13, mtp_temporary = 1u << 14 } | 
| Additional method type properties: Tell about special properties of a method type.  More... | |
| 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... | |
| enum | ir_where_alloc { stack_alloc, heap_alloc } | 
| The allocation place.  More... | |
| enum | ir_builtin_kind { ir_bk_trap, ir_bk_debugbreak, ir_bk_return_address, ir_bk_frame_address, ir_bk_prefetch, ir_bk_ffs, ir_bk_clz, ir_bk_ctz, ir_bk_popcount, ir_bk_parity, ir_bk_bswap, ir_bk_inport, ir_bk_outport, ir_bk_inner_trampoline, ir_bk_last = ir_bk_inner_trampoline } | 
| Supported libFirm builtins.  More... | |
| enum | ir_value_classify_sign { value_classified_unknown = 0, value_classified_positive = 1, value_classified_negative = -1 } | 
| Possible return values of value_classify().  More... | |
| enum | ir_volatility { volatility_non_volatile, volatility_is_volatile } | 
| This enumeration flags the volatility of entities and Loads/Stores.  More... | |
| enum | ir_align { align_is_aligned = 0, align_non_aligned } | 
| This enumeration flags the align of Loads/Stores.  More... | |
Definition of opaque firm types.
Definition in file firm_types.h.
| #define ENUM_BITSET | ( | type | ) | 
Marks an enum type as bitset enum.
That is the enumeration values will probably be combined to form a (bit)set of flags. When compiling for C++ this macro will define the ~, &, &=, ^, ^=, | and |= operators for the enum values.
Definition at line 164 of file firm_types.h.
| #define ENUM_COUNTABLE | ( | type | ) | 
Marks an enum type as countable enum.
The enumeration values will be a linear sequence of numbers which can be iterated through by incrementing by 1. When compiling for C++ this macro will define the ++ and – operators.
Definition at line 178 of file firm_types.h.
| typedef struct ir_graph_pass_manager_t ir_graph_pass_manager_t | 
A graph pass manager.
Definition at line 109 of file firm_types.h.
| typedef struct ir_graph_pass_t ir_graph_pass_t | 
A graph transformation pass.
Definition at line 104 of file firm_types.h.
| typedef unsigned long ir_label_t | 
A label in the code (usually attached to a Block node)
Definition at line 50 of file firm_types.h.
| typedef struct ir_prog_pass_manager_t ir_prog_pass_manager_t | 
A program pass manager.
Definition at line 111 of file firm_types.h.
| typedef struct ir_prog_pass_t ir_prog_pass_t | 
A whole program transformation pass.
Definition at line 106 of file firm_types.h.
| typedef unsigned long ir_visited_t | 
| enum ir_align | 
This enumeration flags the align of Loads/Stores.
| align_is_aligned | The entity is aligned. Default | 
| align_non_aligned | The entity is not aligned. | 
Definition at line 392 of file firm_types.h.
Possible return values of value_classify().
| value_classified_unknown | could not classify | 
| value_classified_positive | value is positive, i.e. >= 0 | 
| value_classified_negative | value is negative, i.e. <= 0 if no signed zero exists or < 0 else | 
Definition at line 374 of file firm_types.h.
| enum ir_volatility | 
This enumeration flags the volatility of entities and Loads/Stores.
| volatility_non_volatile | The entity is not volatile. Default. | 
| volatility_is_volatile | The entity is volatile. | 
Definition at line 384 of file firm_types.h.