11 #ifndef FIRM_COMMON_FIRM_TYPES_H 12 #define FIRM_COMMON_FIRM_TYPES_H 34 typedef unsigned long ir_visited_t;
36 typedef unsigned long ir_label_t;
126 # define ENUM_BITSET(type) \ 128 static inline type operator ~ (type a) { return (type)~(int)a; } \ 129 static inline type operator & (type a, type b) { return (type)((int)a & (int)b); } \ 130 static inline type operator &= (type& a, type b) { return a = (type)((int)a & (int)b); } \ 131 static inline type operator ^ (type a, type b) { return (type)((int)a ^ (int)b); } \ 132 static inline type operator ^= (type& a, type b) { return a = (type)((int)a ^ (int)b); } \ 133 static inline type operator | (type a, type b) { return (type)((int)a | (int)b); } \ 134 static inline type operator |= (type& a, type b) { return a = (type)((int)a | (int)b); } \ 141 # define ENUM_BITSET(type) 145 # define ENUM_COUNTABLE(type) \ 147 static inline type operator ++(type& a) { return a = (type)((int)a + 1); } \ 148 static inline type operator --(type& a) { return a = (type)((int)a - 1); } \ 155 # define ENUM_COUNTABLE(type) 309 volatility_non_volatile,
310 volatility_is_volatile
317 align_is_aligned = 0,
325 typedef enum float_int_conversion_overflow_style_t {
326 ir_overflow_indefinite,
331 } float_int_conversion_overflow_style_t;
333 typedef struct hook_entry hook_entry_t;
struct ir_heights_t ir_heights_t
Computed graph Heights.
unordered, greater or equal
GCC __builtin_trap(): insert trap.
Marker used by opt_funccall (really a hack)...
ident * constraint
The constraint for this input/output.
void irg_walk_func(ir_node *, void *)
type for graph-walk callbacks
This method does not change any memory known to the rest of the program.
replaced by 0 if args cannot alias, 1 otherwise
struct ir_prog ir_prog
Program.
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.
Memory operation is unaligned.
GCC __builtin_return_address()
less or greater ('not equal' for integer numbers)
MS __debugbreak(): insert debug break.
struct ir_graph ir_graph
Procedure Graph.
ir_cons_flags
constrained flags for memory operations.
mtp_additional_properties
Additional method type properties: Tell about special properties of a method type.
GCC __builtin_clz(): count leading zero.
struct ir_machine_triple_t ir_machine_triple_t
Machine triple.
ir_relation
Relations for comparing numbers.
No additional properties.
struct ir_op ir_op
Node Opcode.
This method can return more than once (typically setjmp).
struct ir_tarval ir_tarval
Target Machine Value.
All method invocations are known and inside the current compilation unit, the backend can freely choo...
unordered, less or greater ('not equal' for floatingpoint numbers)
GCC __builtin_ctz(): count trailing zero.
Memory operation can float.
cond_jmp_predicate
A type to express conditional jump predictions.
struct dbg_info dbg_info
Source Reference.
struct ir_node ir_node
Procedure Graph Node.
struct ir_edge_t ir_edge_t
Dynamic Reverse Edge.
The programmer recommends to inline the function.
fragile op throws exception (and produces X_regular and X_except values)
Nodes must remain in this basic block.
union ir_initializer_t ir_initializer_t
Initializer (for entities)
struct ir_mode ir_mode
SSA Value mode.
The function should not be inlined.
Try to always inline this function, even if it seems nonprofitable.
struct ir_loop ir_loop
Loop.
GCC __builtin_popcount(): population count.
Node must remain in this basic block if it can throw an exception, else can float.
const char ident
Identifier.
int in_pos
The input position for this constraint.
This method never returns.
This method cannot throw an exception.
struct ir_switch_table ir_switch_table
A switch table mapping integer numbers to proj-numbers of a Switch-node.
GCC __builtin_parity(): parity.
struct type_dbg_info type_dbg_info
Source Type Reference.
The False case is predicted.
less equal or greater ('not unordered')
ir_builtin_kind
Supported libFirm builtins.
The function is guaranteed not to end in an endless and to not abort the program. ...
The behaviour of the method does not depend on any global/external state.
A input/output constraint attribute.
ir_mode * mode
The mode of the constraint.
GCC __builtin_frame_address()
int out_pos
The output position for this constraint.
This method returns newly allocate memory.
struct ir_entity ir_entity
Entity.
Memory operation is volatile.
struct ir_cdep ir_cdep
Control Dependence Analysis Results.
op_pin_state
pinned states.
struct ir_type ir_type
Type.
GCC __builtin_ffs(): find first (least) significant 1 bit.
The True case is predicted.
Nodes of this opcode can be placed in any basic block.