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