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