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