libFirm 1.20
|
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... | |
Defines | |
#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_extblk | ir_extblk |
Extended Basic Block. | |
typedef struct ir_exec_freq | ir_exec_freq |
Execution Frequency Analysis Results. | |
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 = 0x00000000, mtp_property_const = 0x00000001, mtp_property_pure = 0x00000002, mtp_property_noreturn = 0x00000004, mtp_property_nothrow = 0x00000008, mtp_property_naked = 0x00000010, mtp_property_malloc = 0x00000020, mtp_property_returns_twice = 0x00000040, mtp_property_intrinsic = 0x00000080, mtp_property_runtime = 0x00000100, mtp_property_private = 0x00000200, mtp_property_has_loop = 0x00000400, mtp_property_inherited = (1<<31) } |
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 169 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 183 of file firm_types.h.
Extended Basic Block.
Definition at line 98 of file firm_types.h.
typedef struct ir_graph_pass_manager_t ir_graph_pass_manager_t |
A graph pass manager.
Definition at line 114 of file firm_types.h.
typedef struct ir_graph_pass_t ir_graph_pass_t |
A graph transformation pass.
Definition at line 109 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 116 of file firm_types.h.
typedef struct ir_prog_pass_t ir_prog_pass_t |
A whole program transformation pass.
Definition at line 111 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 385 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 367 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 377 of file firm_types.h.