9#define is_ASM(node) is_ASM_(node)
10#define get_ASM_constraints(node) get_ASM_constraints_(node)
11#define set_ASM_constraints(node, constraints) set_ASM_constraints_(node, constraints)
12#define get_ASM_clobbers(node) get_ASM_clobbers_(node)
13#define set_ASM_clobbers(node, clobbers) set_ASM_clobbers_(node, clobbers)
14#define get_ASM_text(node) get_ASM_text_(node)
15#define set_ASM_text(node, text) set_ASM_text_(node, text)
16#define get_ASM_mem(node) get_ASM_mem_(node)
17#define set_ASM_mem(node, mem) set_ASM_mem_(node, mem)
18#define get_ASM_n_inputs(node) get_ASM_n_inputs_(node)
19#define get_ASM_input(node, pos) get_ASM_input_(node, pos)
20#define set_ASM_input(node, pos, input) set_ASM_input_(node, pos, input)
21#define get_ASM_input_arr(node) get_ASM_input_arr_(node)
23#define is_Add(node) is_Add_(node)
24#define get_Add_left(node) get_Add_left_(node)
25#define set_Add_left(node, left) set_Add_left_(node, left)
26#define get_Add_right(node) get_Add_right_(node)
27#define set_Add_right(node, right) set_Add_right_(node, right)
29#define is_Address(node) is_Address_(node)
30#define get_Address_entity(node) get_Address_entity_(node)
31#define set_Address_entity(node, entity) set_Address_entity_(node, entity)
33#define is_Align(node) is_Align_(node)
34#define get_Align_type(node) get_Align_type_(node)
35#define set_Align_type(node, type) set_Align_type_(node, type)
37#define is_Alloc(node) is_Alloc_(node)
38#define get_Alloc_alignment(node) get_Alloc_alignment_(node)
39#define set_Alloc_alignment(node, alignment) set_Alloc_alignment_(node, alignment)
40#define get_Alloc_mem(node) get_Alloc_mem_(node)
41#define set_Alloc_mem(node, mem) set_Alloc_mem_(node, mem)
42#define get_Alloc_size(node) get_Alloc_size_(node)
43#define set_Alloc_size(node, size) set_Alloc_size_(node, size)
45#define is_Anchor(node) is_Anchor_(node)
46#define get_Anchor_end_block(node) get_Anchor_end_block_(node)
47#define set_Anchor_end_block(node, end_block) set_Anchor_end_block_(node, end_block)
48#define get_Anchor_start_block(node) get_Anchor_start_block_(node)
49#define set_Anchor_start_block(node, start_block) set_Anchor_start_block_(node, start_block)
50#define get_Anchor_end(node) get_Anchor_end_(node)
51#define set_Anchor_end(node, end) set_Anchor_end_(node, end)
52#define get_Anchor_start(node) get_Anchor_start_(node)
53#define set_Anchor_start(node, start) set_Anchor_start_(node, start)
54#define get_Anchor_frame(node) get_Anchor_frame_(node)
55#define set_Anchor_frame(node, frame) set_Anchor_frame_(node, frame)
56#define get_Anchor_initial_mem(node) get_Anchor_initial_mem_(node)
57#define set_Anchor_initial_mem(node, initial_mem) set_Anchor_initial_mem_(node, initial_mem)
58#define get_Anchor_args(node) get_Anchor_args_(node)
59#define set_Anchor_args(node, args) set_Anchor_args_(node, args)
60#define get_Anchor_no_mem(node) get_Anchor_no_mem_(node)
61#define set_Anchor_no_mem(node, no_mem) set_Anchor_no_mem_(node, no_mem)
63#define is_And(node) is_And_(node)
64#define get_And_left(node) get_And_left_(node)
65#define set_And_left(node, left) set_And_left_(node, left)
66#define get_And_right(node) get_And_right_(node)
67#define set_And_right(node, right) set_And_right_(node, right)
69#define is_Bad(node) is_Bad_(node)
71#define is_Bitcast(node) is_Bitcast_(node)
72#define get_Bitcast_op(node) get_Bitcast_op_(node)
73#define set_Bitcast_op(node, op) set_Bitcast_op_(node, op)
75#define is_Block(node) is_Block_(node)
76#define get_Block_entity(node) get_Block_entity_(node)
77#define set_Block_entity(node, entity) set_Block_entity_(node, entity)
78#define get_Block_n_cfgpreds(node) get_Block_n_cfgpreds_(node)
79#define get_Block_cfgpred(node, pos) get_Block_cfgpred_(node, pos)
80#define set_Block_cfgpred(node, pos, cfgpred) set_Block_cfgpred_(node, pos, cfgpred)
81#define get_Block_cfgpred_arr(node) get_Block_cfgpred_arr_(node)
83#define is_Builtin(node) is_Builtin_(node)
84#define get_Builtin_kind(node) get_Builtin_kind_(node)
85#define set_Builtin_kind(node, kind) set_Builtin_kind_(node, kind)
86#define get_Builtin_type(node) get_Builtin_type_(node)
87#define set_Builtin_type(node, type) set_Builtin_type_(node, type)
88#define get_Builtin_mem(node) get_Builtin_mem_(node)
89#define set_Builtin_mem(node, mem) set_Builtin_mem_(node, mem)
90#define get_Builtin_n_params(node) get_Builtin_n_params_(node)
91#define get_Builtin_param(node, pos) get_Builtin_param_(node, pos)
92#define set_Builtin_param(node, pos, param) set_Builtin_param_(node, pos, param)
93#define get_Builtin_param_arr(node) get_Builtin_param_arr_(node)
95#define is_Call(node) is_Call_(node)
96#define get_Call_type(node) get_Call_type_(node)
97#define set_Call_type(node, type) set_Call_type_(node, type)
98#define get_Call_mem(node) get_Call_mem_(node)
99#define set_Call_mem(node, mem) set_Call_mem_(node, mem)
100#define get_Call_ptr(node) get_Call_ptr_(node)
101#define set_Call_ptr(node, ptr) set_Call_ptr_(node, ptr)
102#define get_Call_n_params(node) get_Call_n_params_(node)
103#define get_Call_param(node, pos) get_Call_param_(node, pos)
104#define set_Call_param(node, pos, param) set_Call_param_(node, pos, param)
105#define get_Call_param_arr(node) get_Call_param_arr_(node)
107#define is_Cmp(node) is_Cmp_(node)
108#define get_Cmp_relation(node) get_Cmp_relation_(node)
109#define set_Cmp_relation(node, relation) set_Cmp_relation_(node, relation)
110#define get_Cmp_left(node) get_Cmp_left_(node)
111#define set_Cmp_left(node, left) set_Cmp_left_(node, left)
112#define get_Cmp_right(node) get_Cmp_right_(node)
113#define set_Cmp_right(node, right) set_Cmp_right_(node, right)
115#define is_Cond(node) is_Cond_(node)
116#define get_Cond_jmp_pred(node) get_Cond_jmp_pred_(node)
117#define set_Cond_jmp_pred(node, jmp_pred) set_Cond_jmp_pred_(node, jmp_pred)
118#define get_Cond_selector(node) get_Cond_selector_(node)
119#define set_Cond_selector(node, selector) set_Cond_selector_(node, selector)
121#define is_Confirm(node) is_Confirm_(node)
122#define get_Confirm_relation(node) get_Confirm_relation_(node)
123#define set_Confirm_relation(node, relation) set_Confirm_relation_(node, relation)
124#define get_Confirm_value(node) get_Confirm_value_(node)
125#define set_Confirm_value(node, value) set_Confirm_value_(node, value)
126#define get_Confirm_bound(node) get_Confirm_bound_(node)
127#define set_Confirm_bound(node, bound) set_Confirm_bound_(node, bound)
129#define is_Const(node) is_Const_(node)
130#define get_Const_tarval(node) get_Const_tarval_(node)
131#define set_Const_tarval(node, tarval) set_Const_tarval_(node, tarval)
133#define is_Conv(node) is_Conv_(node)
134#define get_Conv_op(node) get_Conv_op_(node)
135#define set_Conv_op(node, op) set_Conv_op_(node, op)
137#define is_CopyB(node) is_CopyB_(node)
138#define get_CopyB_type(node) get_CopyB_type_(node)
139#define set_CopyB_type(node, type) set_CopyB_type_(node, type)
140#define get_CopyB_volatility(node) get_CopyB_volatility_(node)
141#define set_CopyB_volatility(node, volatility) set_CopyB_volatility_(node, volatility)
142#define get_CopyB_mem(node) get_CopyB_mem_(node)
143#define set_CopyB_mem(node, mem) set_CopyB_mem_(node, mem)
144#define get_CopyB_dst(node) get_CopyB_dst_(node)
145#define set_CopyB_dst(node, dst) set_CopyB_dst_(node, dst)
146#define get_CopyB_src(node) get_CopyB_src_(node)
147#define set_CopyB_src(node, src) set_CopyB_src_(node, src)
149#define is_Deleted(node) is_Deleted_(node)
151#define is_Div(node) is_Div_(node)
152#define get_Div_resmode(node) get_Div_resmode_(node)
153#define set_Div_resmode(node, resmode) set_Div_resmode_(node, resmode)
154#define get_Div_no_remainder(node) get_Div_no_remainder_(node)
155#define set_Div_no_remainder(node, no_remainder) set_Div_no_remainder_(node, no_remainder)
156#define get_Div_mem(node) get_Div_mem_(node)
157#define set_Div_mem(node, mem) set_Div_mem_(node, mem)
158#define get_Div_left(node) get_Div_left_(node)
159#define set_Div_left(node, left) set_Div_left_(node, left)
160#define get_Div_right(node) get_Div_right_(node)
161#define set_Div_right(node, right) set_Div_right_(node, right)
163#define is_Dummy(node) is_Dummy_(node)
165#define is_End(node) is_End_(node)
166#define get_End_n_keepalives(node) get_End_n_keepalives_(node)
167#define get_End_keepalive(node, pos) get_End_keepalive_(node, pos)
168#define set_End_keepalive(node, pos, keepalive) set_End_keepalive_(node, pos, keepalive)
169#define get_End_keepalive_arr(node) get_End_keepalive_arr_(node)
171#define is_Eor(node) is_Eor_(node)
172#define get_Eor_left(node) get_Eor_left_(node)
173#define set_Eor_left(node, left) set_Eor_left_(node, left)
174#define get_Eor_right(node) get_Eor_right_(node)
175#define set_Eor_right(node, right) set_Eor_right_(node, right)
177#define is_Free(node) is_Free_(node)
178#define get_Free_mem(node) get_Free_mem_(node)
179#define set_Free_mem(node, mem) set_Free_mem_(node, mem)
180#define get_Free_ptr(node) get_Free_ptr_(node)
181#define set_Free_ptr(node, ptr) set_Free_ptr_(node, ptr)
183#define is_IJmp(node) is_IJmp_(node)
184#define get_IJmp_target(node) get_IJmp_target_(node)
185#define set_IJmp_target(node, target) set_IJmp_target_(node, target)
187#define is_Id(node) is_Id_(node)
188#define get_Id_pred(node) get_Id_pred_(node)
189#define set_Id_pred(node, pred) set_Id_pred_(node, pred)
191#define is_Jmp(node) is_Jmp_(node)
193#define is_Load(node) is_Load_(node)
194#define get_Load_mode(node) get_Load_mode_(node)
195#define set_Load_mode(node, mode) set_Load_mode_(node, mode)
196#define get_Load_type(node) get_Load_type_(node)
197#define set_Load_type(node, type) set_Load_type_(node, type)
198#define get_Load_volatility(node) get_Load_volatility_(node)
199#define set_Load_volatility(node, volatility) set_Load_volatility_(node, volatility)
200#define get_Load_unaligned(node) get_Load_unaligned_(node)
201#define set_Load_unaligned(node, unaligned) set_Load_unaligned_(node, unaligned)
202#define get_Load_mem(node) get_Load_mem_(node)
203#define set_Load_mem(node, mem) set_Load_mem_(node, mem)
204#define get_Load_ptr(node) get_Load_ptr_(node)
205#define set_Load_ptr(node, ptr) set_Load_ptr_(node, ptr)
207#define is_Member(node) is_Member_(node)
208#define get_Member_entity(node) get_Member_entity_(node)
209#define set_Member_entity(node, entity) set_Member_entity_(node, entity)
210#define get_Member_ptr(node) get_Member_ptr_(node)
211#define set_Member_ptr(node, ptr) set_Member_ptr_(node, ptr)
213#define is_Minus(node) is_Minus_(node)
214#define get_Minus_op(node) get_Minus_op_(node)
215#define set_Minus_op(node, op) set_Minus_op_(node, op)
217#define is_Mod(node) is_Mod_(node)
218#define get_Mod_resmode(node) get_Mod_resmode_(node)
219#define set_Mod_resmode(node, resmode) set_Mod_resmode_(node, resmode)
220#define get_Mod_mem(node) get_Mod_mem_(node)
221#define set_Mod_mem(node, mem) set_Mod_mem_(node, mem)
222#define get_Mod_left(node) get_Mod_left_(node)
223#define set_Mod_left(node, left) set_Mod_left_(node, left)
224#define get_Mod_right(node) get_Mod_right_(node)
225#define set_Mod_right(node, right) set_Mod_right_(node, right)
227#define is_Mul(node) is_Mul_(node)
228#define get_Mul_left(node) get_Mul_left_(node)
229#define set_Mul_left(node, left) set_Mul_left_(node, left)
230#define get_Mul_right(node) get_Mul_right_(node)
231#define set_Mul_right(node, right) set_Mul_right_(node, right)
233#define is_Mulh(node) is_Mulh_(node)
234#define get_Mulh_left(node) get_Mulh_left_(node)
235#define set_Mulh_left(node, left) set_Mulh_left_(node, left)
236#define get_Mulh_right(node) get_Mulh_right_(node)
237#define set_Mulh_right(node, right) set_Mulh_right_(node, right)
239#define is_Mux(node) is_Mux_(node)
240#define get_Mux_sel(node) get_Mux_sel_(node)
241#define set_Mux_sel(node, sel) set_Mux_sel_(node, sel)
242#define get_Mux_false(node) get_Mux_false_(node)
243#define set_Mux_false(node, false_) set_Mux_false_(node, false_)
244#define get_Mux_true(node) get_Mux_true_(node)
245#define set_Mux_true(node, true_) set_Mux_true_(node, true_)
247#define is_NoMem(node) is_NoMem_(node)
249#define is_Not(node) is_Not_(node)
250#define get_Not_op(node) get_Not_op_(node)
251#define set_Not_op(node, op) set_Not_op_(node, op)
253#define is_Offset(node) is_Offset_(node)
254#define get_Offset_entity(node) get_Offset_entity_(node)
255#define set_Offset_entity(node, entity) set_Offset_entity_(node, entity)
257#define is_Or(node) is_Or_(node)
258#define get_Or_left(node) get_Or_left_(node)
259#define set_Or_left(node, left) set_Or_left_(node, left)
260#define get_Or_right(node) get_Or_right_(node)
261#define set_Or_right(node, right) set_Or_right_(node, right)
263#define is_Phi(node) is_Phi_(node)
264#define get_Phi_loop(node) get_Phi_loop_(node)
265#define set_Phi_loop(node, loop) set_Phi_loop_(node, loop)
266#define get_Phi_n_preds(node) get_Phi_n_preds_(node)
267#define get_Phi_pred(node, pos) get_Phi_pred_(node, pos)
268#define set_Phi_pred(node, pos, pred) set_Phi_pred_(node, pos, pred)
269#define get_Phi_pred_arr(node) get_Phi_pred_arr_(node)
271#define is_Pin(node) is_Pin_(node)
272#define get_Pin_op(node) get_Pin_op_(node)
273#define set_Pin_op(node, op) set_Pin_op_(node, op)
275#define is_Proj(node) is_Proj_(node)
276#define get_Proj_num(node) get_Proj_num_(node)
277#define set_Proj_num(node, num) set_Proj_num_(node, num)
278#define get_Proj_pred(node) get_Proj_pred_(node)
279#define set_Proj_pred(node, pred) set_Proj_pred_(node, pred)
281#define is_Raise(node) is_Raise_(node)
282#define get_Raise_mem(node) get_Raise_mem_(node)
283#define set_Raise_mem(node, mem) set_Raise_mem_(node, mem)
284#define get_Raise_exo_ptr(node) get_Raise_exo_ptr_(node)
285#define set_Raise_exo_ptr(node, exo_ptr) set_Raise_exo_ptr_(node, exo_ptr)
287#define is_Return(node) is_Return_(node)
288#define get_Return_mem(node) get_Return_mem_(node)
289#define set_Return_mem(node, mem) set_Return_mem_(node, mem)
290#define get_Return_n_ress(node) get_Return_n_ress_(node)
291#define get_Return_res(node, pos) get_Return_res_(node, pos)
292#define set_Return_res(node, pos, res) set_Return_res_(node, pos, res)
293#define get_Return_res_arr(node) get_Return_res_arr_(node)
295#define is_Sel(node) is_Sel_(node)
296#define get_Sel_type(node) get_Sel_type_(node)
297#define set_Sel_type(node, type) set_Sel_type_(node, type)
298#define get_Sel_ptr(node) get_Sel_ptr_(node)
299#define set_Sel_ptr(node, ptr) set_Sel_ptr_(node, ptr)
300#define get_Sel_index(node) get_Sel_index_(node)
301#define set_Sel_index(node, index) set_Sel_index_(node, index)
303#define is_Shl(node) is_Shl_(node)
304#define get_Shl_left(node) get_Shl_left_(node)
305#define set_Shl_left(node, left) set_Shl_left_(node, left)
306#define get_Shl_right(node) get_Shl_right_(node)
307#define set_Shl_right(node, right) set_Shl_right_(node, right)
309#define is_Shr(node) is_Shr_(node)
310#define get_Shr_left(node) get_Shr_left_(node)
311#define set_Shr_left(node, left) set_Shr_left_(node, left)
312#define get_Shr_right(node) get_Shr_right_(node)
313#define set_Shr_right(node, right) set_Shr_right_(node, right)
315#define is_Shrs(node) is_Shrs_(node)
316#define get_Shrs_left(node) get_Shrs_left_(node)
317#define set_Shrs_left(node, left) set_Shrs_left_(node, left)
318#define get_Shrs_right(node) get_Shrs_right_(node)
319#define set_Shrs_right(node, right) set_Shrs_right_(node, right)
321#define is_Size(node) is_Size_(node)
322#define get_Size_type(node) get_Size_type_(node)
323#define set_Size_type(node, type) set_Size_type_(node, type)
325#define is_Start(node) is_Start_(node)
327#define is_Store(node) is_Store_(node)
328#define get_Store_type(node) get_Store_type_(node)
329#define set_Store_type(node, type) set_Store_type_(node, type)
330#define get_Store_volatility(node) get_Store_volatility_(node)
331#define set_Store_volatility(node, volatility) set_Store_volatility_(node, volatility)
332#define get_Store_unaligned(node) get_Store_unaligned_(node)
333#define set_Store_unaligned(node, unaligned) set_Store_unaligned_(node, unaligned)
334#define get_Store_mem(node) get_Store_mem_(node)
335#define set_Store_mem(node, mem) set_Store_mem_(node, mem)
336#define get_Store_ptr(node) get_Store_ptr_(node)
337#define set_Store_ptr(node, ptr) set_Store_ptr_(node, ptr)
338#define get_Store_value(node) get_Store_value_(node)
339#define set_Store_value(node, value) set_Store_value_(node, value)
341#define is_Sub(node) is_Sub_(node)
342#define get_Sub_left(node) get_Sub_left_(node)
343#define set_Sub_left(node, left) set_Sub_left_(node, left)
344#define get_Sub_right(node) get_Sub_right_(node)
345#define set_Sub_right(node, right) set_Sub_right_(node, right)
347#define is_Switch(node) is_Switch_(node)
348#define get_Switch_n_outs(node) get_Switch_n_outs_(node)
349#define set_Switch_n_outs(node, n_outs) set_Switch_n_outs_(node, n_outs)
350#define get_Switch_table(node) get_Switch_table_(node)
351#define set_Switch_table(node, table) set_Switch_table_(node, table)
352#define get_Switch_selector(node) get_Switch_selector_(node)
353#define set_Switch_selector(node, selector) set_Switch_selector_(node, selector)
355#define is_Sync(node) is_Sync_(node)
356#define get_Sync_n_preds(node) get_Sync_n_preds_(node)
357#define get_Sync_pred(node, pos) get_Sync_pred_(node, pos)
358#define set_Sync_pred(node, pos, pred) set_Sync_pred_(node, pos, pred)
359#define get_Sync_pred_arr(node) get_Sync_pred_arr_(node)
361#define is_Tuple(node) is_Tuple_(node)
362#define get_Tuple_n_preds(node) get_Tuple_n_preds_(node)
363#define get_Tuple_pred(node, pos) get_Tuple_pred_(node, pos)
364#define set_Tuple_pred(node, pos, pred) set_Tuple_pred_(node, pos, pred)
365#define get_Tuple_pred_arr(node) get_Tuple_pred_arr_(node)
367#define is_Unknown(node) is_Unknown_(node)
370#define is_entconst(node) is_entconst_(node)
371#define get_entconst_entity(node) get_entconst_entity_(node)
372#define set_entconst_entity(node, entity) set_entconst_entity_(node, entity)
373#define is_typeconst(node) is_typeconst_(node)
374#define get_typeconst_type(node) get_typeconst_type_(node)
375#define set_typeconst_type(node, type) set_typeconst_type_(node, type)
376static inline int is_ASM_(
const ir_node *node)
382 assert(is_ASM(node));
388 assert(is_ASM(node));
392static inline int get_ASM_n_inputs_(
ir_node const *node)
394 assert(is_ASM(node));
398static inline ir_node *get_ASM_input_(
ir_node const *node,
int pos)
400 assert(0 <= pos && pos < get_ASM_n_inputs(node));
404static inline void set_ASM_input_(
ir_node *node,
int pos,
ir_node *input)
406 assert(0 <= pos && pos < get_ASM_n_inputs(node));
412 assert(is_ASM(node));
413 return get_irn_in(node) + (
n_ASM_max + 1);
416static inline int is_Add_(
const ir_node *node)
422 assert(is_Add(node));
428 assert(is_Add(node));
434 assert(is_Add(node));
440 assert(is_Add(node));
444static inline int is_Address_(
const ir_node *node)
448static inline int is_Align_(
const ir_node *node)
452static inline int is_Alloc_(
const ir_node *node)
458 assert(is_Alloc(node));
464 assert(is_Alloc(node));
470 assert(is_Alloc(node));
476 assert(is_Alloc(node));
480static inline int is_Anchor_(
const ir_node *node)
486 assert(is_Anchor(node));
490static inline void set_Anchor_end_block_(
ir_node *node,
ir_node *end_block)
492 assert(is_Anchor(node));
496static inline ir_node *get_Anchor_start_block_(
const ir_node *node)
498 assert(is_Anchor(node));
502static inline void set_Anchor_start_block_(
ir_node *node,
ir_node *start_block)
504 assert(is_Anchor(node));
510 assert(is_Anchor(node));
516 assert(is_Anchor(node));
522 assert(is_Anchor(node));
526static inline void set_Anchor_start_(
ir_node *node,
ir_node *start)
528 assert(is_Anchor(node));
534 assert(is_Anchor(node));
538static inline void set_Anchor_frame_(
ir_node *node,
ir_node *frame)
540 assert(is_Anchor(node));
544static inline ir_node *get_Anchor_initial_mem_(
const ir_node *node)
546 assert(is_Anchor(node));
550static inline void set_Anchor_initial_mem_(
ir_node *node,
ir_node *initial_mem)
552 assert(is_Anchor(node));
558 assert(is_Anchor(node));
564 assert(is_Anchor(node));
570 assert(is_Anchor(node));
574static inline void set_Anchor_no_mem_(
ir_node *node,
ir_node *no_mem)
576 assert(is_Anchor(node));
580static inline int is_And_(
const ir_node *node)
586 assert(is_And(node));
592 assert(is_And(node));
598 assert(is_And(node));
604 assert(is_And(node));
608static inline int is_Bad_(
const ir_node *node)
612static inline int is_Bitcast_(
const ir_node *node)
618 assert(is_Bitcast(node));
624 assert(is_Bitcast(node));
628static inline int is_Block_(
const ir_node *node)
632static inline int get_Block_n_cfgpreds_(
ir_node const *node)
634 assert(is_Block(node));
638static inline ir_node *get_Block_cfgpred_(
ir_node const *node,
int pos)
640 assert(0 <= pos && pos < get_Block_n_cfgpreds(node));
644static inline void set_Block_cfgpred_(
ir_node *node,
int pos,
ir_node *cfgpred)
646 assert(0 <= pos && pos < get_Block_n_cfgpreds(node));
652 assert(is_Block(node));
653 return get_irn_in(node);
656static inline int is_Builtin_(
const ir_node *node)
662 assert(is_Builtin(node));
668 assert(is_Builtin(node));
672static inline int get_Builtin_n_params_(
ir_node const *node)
674 assert(is_Builtin(node));
678static inline ir_node *get_Builtin_param_(
ir_node const *node,
int pos)
680 assert(0 <= pos && pos < get_Builtin_n_params(node));
684static inline void set_Builtin_param_(
ir_node *node,
int pos,
ir_node *param)
686 assert(0 <= pos && pos < get_Builtin_n_params(node));
692 assert(is_Builtin(node));
696static inline int is_Call_(
const ir_node *node)
702 assert(is_Call(node));
708 assert(is_Call(node));
714 assert(is_Call(node));
720 assert(is_Call(node));
724static inline int get_Call_n_params_(
ir_node const *node)
726 assert(is_Call(node));
730static inline ir_node *get_Call_param_(
ir_node const *node,
int pos)
732 assert(0 <= pos && pos < get_Call_n_params(node));
736static inline void set_Call_param_(
ir_node *node,
int pos,
ir_node *param)
738 assert(0 <= pos && pos < get_Call_n_params(node));
744 assert(is_Call(node));
748static inline int is_Cmp_(
const ir_node *node)
754 assert(is_Cmp(node));
760 assert(is_Cmp(node));
766 assert(is_Cmp(node));
772 assert(is_Cmp(node));
776static inline int is_Cond_(
const ir_node *node)
782 assert(is_Cond(node));
786static inline void set_Cond_selector_(
ir_node *node,
ir_node *selector)
788 assert(is_Cond(node));
792static inline int is_Confirm_(
const ir_node *node)
798 assert(is_Confirm(node));
802static inline void set_Confirm_value_(
ir_node *node,
ir_node *value)
804 assert(is_Confirm(node));
810 assert(is_Confirm(node));
814static inline void set_Confirm_bound_(
ir_node *node,
ir_node *bound)
816 assert(is_Confirm(node));
820static inline int is_Const_(
const ir_node *node)
824static inline int is_Conv_(
const ir_node *node)
830 assert(is_Conv(node));
836 assert(is_Conv(node));
840static inline int is_CopyB_(
const ir_node *node)
846 assert(is_CopyB(node));
852 assert(is_CopyB(node));
858 assert(is_CopyB(node));
864 assert(is_CopyB(node));
870 assert(is_CopyB(node));
876 assert(is_CopyB(node));
880static inline int is_Deleted_(
const ir_node *node)
884static inline int is_Div_(
const ir_node *node)
890 assert(is_Div(node));
896 assert(is_Div(node));
902 assert(is_Div(node));
908 assert(is_Div(node));
914 assert(is_Div(node));
920 assert(is_Div(node));
924static inline int is_Dummy_(
const ir_node *node)
928static inline int is_End_(
const ir_node *node)
932static inline int get_End_n_keepalives_(
ir_node const *node)
934 assert(is_End(node));
938static inline ir_node *get_End_keepalive_(
ir_node const *node,
int pos)
940 assert(0 <= pos && pos < get_End_n_keepalives(node));
944static inline void set_End_keepalive_(
ir_node *node,
int pos,
ir_node *keepalive)
946 assert(0 <= pos && pos < get_End_n_keepalives(node));
952 assert(is_End(node));
953 return get_irn_in(node);
956static inline int is_Eor_(
const ir_node *node)
962 assert(is_Eor(node));
968 assert(is_Eor(node));
974 assert(is_Eor(node));
980 assert(is_Eor(node));
984static inline int is_Free_(
const ir_node *node)
990 assert(is_Free(node));
996 assert(is_Free(node));
1002 assert(is_Free(node));
1008 assert(is_Free(node));
1012static inline int is_IJmp_(
const ir_node *node)
1018 assert(is_IJmp(node));
1022static inline void set_IJmp_target_(
ir_node *node,
ir_node *target)
1024 assert(is_IJmp(node));
1028static inline int is_Id_(
const ir_node *node)
1034 assert(is_Id(node));
1040 assert(is_Id(node));
1044static inline int is_Jmp_(
const ir_node *node)
1048static inline int is_Load_(
const ir_node *node)
1054 assert(is_Load(node));
1060 assert(is_Load(node));
1066 assert(is_Load(node));
1072 assert(is_Load(node));
1076static inline int is_Member_(
const ir_node *node)
1082 assert(is_Member(node));
1088 assert(is_Member(node));
1092static inline int is_Minus_(
const ir_node *node)
1098 assert(is_Minus(node));
1104 assert(is_Minus(node));
1108static inline int is_Mod_(
const ir_node *node)
1114 assert(is_Mod(node));
1120 assert(is_Mod(node));
1126 assert(is_Mod(node));
1132 assert(is_Mod(node));
1138 assert(is_Mod(node));
1144 assert(is_Mod(node));
1148static inline int is_Mul_(
const ir_node *node)
1154 assert(is_Mul(node));
1160 assert(is_Mul(node));
1166 assert(is_Mul(node));
1172 assert(is_Mul(node));
1176static inline int is_Mulh_(
const ir_node *node)
1182 assert(is_Mulh(node));
1188 assert(is_Mulh(node));
1194 assert(is_Mulh(node));
1200 assert(is_Mulh(node));
1204static inline int is_Mux_(
const ir_node *node)
1210 assert(is_Mux(node));
1216 assert(is_Mux(node));
1222 assert(is_Mux(node));
1228 assert(is_Mux(node));
1234 assert(is_Mux(node));
1240 assert(is_Mux(node));
1244static inline int is_NoMem_(
const ir_node *node)
1248static inline int is_Not_(
const ir_node *node)
1254 assert(is_Not(node));
1260 assert(is_Not(node));
1264static inline int is_Offset_(
const ir_node *node)
1268static inline int is_Or_(
const ir_node *node)
1274 assert(is_Or(node));
1280 assert(is_Or(node));
1286 assert(is_Or(node));
1292 assert(is_Or(node));
1296static inline int is_Phi_(
const ir_node *node)
1300static inline int get_Phi_n_preds_(
ir_node const *node)
1302 assert(is_Phi(node));
1306static inline ir_node *get_Phi_pred_(
ir_node const *node,
int pos)
1308 assert(0 <= pos && pos < get_Phi_n_preds(node));
1312static inline void set_Phi_pred_(
ir_node *node,
int pos,
ir_node *pred)
1314 assert(0 <= pos && pos < get_Phi_n_preds(node));
1320 assert(is_Phi(node));
1321 return get_irn_in(node);
1324static inline int is_Pin_(
const ir_node *node)
1330 assert(is_Pin(node));
1336 assert(is_Pin(node));
1340static inline int is_Proj_(
const ir_node *node)
1346 assert(is_Proj(node));
1352 assert(is_Proj(node));
1356static inline int is_Raise_(
const ir_node *node)
1362 assert(is_Raise(node));
1368 assert(is_Raise(node));
1374 assert(is_Raise(node));
1378static inline void set_Raise_exo_ptr_(
ir_node *node,
ir_node *exo_ptr)
1380 assert(is_Raise(node));
1384static inline int is_Return_(
const ir_node *node)
1390 assert(is_Return(node));
1396 assert(is_Return(node));
1400static inline int get_Return_n_ress_(
ir_node const *node)
1402 assert(is_Return(node));
1406static inline ir_node *get_Return_res_(
ir_node const *node,
int pos)
1408 assert(0 <= pos && pos < get_Return_n_ress(node));
1412static inline void set_Return_res_(
ir_node *node,
int pos,
ir_node *res)
1414 assert(0 <= pos && pos < get_Return_n_ress(node));
1420 assert(is_Return(node));
1424static inline int is_Sel_(
const ir_node *node)
1430 assert(is_Sel(node));
1436 assert(is_Sel(node));
1442 assert(is_Sel(node));
1448 assert(is_Sel(node));
1452static inline int is_Shl_(
const ir_node *node)
1458 assert(is_Shl(node));
1464 assert(is_Shl(node));
1470 assert(is_Shl(node));
1476 assert(is_Shl(node));
1480static inline int is_Shr_(
const ir_node *node)
1486 assert(is_Shr(node));
1492 assert(is_Shr(node));
1498 assert(is_Shr(node));
1504 assert(is_Shr(node));
1508static inline int is_Shrs_(
const ir_node *node)
1514 assert(is_Shrs(node));
1520 assert(is_Shrs(node));
1526 assert(is_Shrs(node));
1532 assert(is_Shrs(node));
1536static inline int is_Size_(
const ir_node *node)
1540static inline int is_Start_(
const ir_node *node)
1544static inline int is_Store_(
const ir_node *node)
1550 assert(is_Store(node));
1556 assert(is_Store(node));
1562 assert(is_Store(node));
1568 assert(is_Store(node));
1574 assert(is_Store(node));
1578static inline void set_Store_value_(
ir_node *node,
ir_node *value)
1580 assert(is_Store(node));
1584static inline int is_Sub_(
const ir_node *node)
1590 assert(is_Sub(node));
1596 assert(is_Sub(node));
1602 assert(is_Sub(node));
1608 assert(is_Sub(node));
1612static inline int is_Switch_(
const ir_node *node)
1618 assert(is_Switch(node));
1622static inline void set_Switch_selector_(
ir_node *node,
ir_node *selector)
1624 assert(is_Switch(node));
1628static inline int is_Sync_(
const ir_node *node)
1632static inline int get_Sync_n_preds_(
ir_node const *node)
1634 assert(is_Sync(node));
1638static inline ir_node *get_Sync_pred_(
ir_node const *node,
int pos)
1640 assert(0 <= pos && pos < get_Sync_n_preds(node));
1644static inline void set_Sync_pred_(
ir_node *node,
int pos,
ir_node *pred)
1646 assert(0 <= pos && pos < get_Sync_n_preds(node));
1652 assert(is_Sync(node));
1653 return get_irn_in(node);
1656static inline int is_Tuple_(
const ir_node *node)
1660static inline int get_Tuple_n_preds_(
ir_node const *node)
1662 assert(is_Tuple(node));
1666static inline ir_node *get_Tuple_pred_(
ir_node const *node,
int pos)
1668 assert(0 <= pos && pos < get_Tuple_n_preds(node));
1672static inline void set_Tuple_pred_(
ir_node *node,
int pos,
ir_node *pred)
1674 assert(0 <= pos && pos < get_Tuple_n_preds(node));
1680 assert(is_Tuple(node));
1681 return get_irn_in(node);
1684static inline int is_Unknown_(
const ir_node *node)
1688static inline int is_entconst_(
const ir_node *node)
1690 return is_Address(node) || is_Offset(node);
1694static inline int is_typeconst_(
const ir_node *node)
1696 return is_Align(node) || is_Size(node);
1702 assert(is_ASM(node));
1703 return node->attr.assem.constraints;
1708 assert(is_ASM(node));
1709 node->attr.assem.constraints = constraints;
1712static inline ident** get_ASM_clobbers_(
const ir_node *node)
1714 assert(is_ASM(node));
1715 return node->attr.assem.clobbers;
1718static inline void set_ASM_clobbers_(
ir_node *node,
ident** clobbers)
1720 assert(is_ASM(node));
1721 node->attr.assem.clobbers = clobbers;
1726 assert(is_ASM(node));
1727 return node->attr.assem.text;
1730static inline void set_ASM_text_(
ir_node *node,
ident* text)
1732 assert(is_ASM(node));
1733 node->attr.assem.text = text;
1738 assert(is_Address(node));
1739 return node->attr.entc.entity;
1744 assert(is_Address(node));
1745 node->attr.entc.entity = entity;
1750 assert(is_Align(node));
1751 return node->attr.typec.type;
1756 assert(is_Align(node));
1757 node->attr.typec.type = type;
1760static inline unsigned get_Alloc_alignment_(
const ir_node *node)
1762 assert(is_Alloc(node));
1763 return node->attr.alloc.alignment;
1766static inline void set_Alloc_alignment_(
ir_node *node,
unsigned alignment)
1768 assert(is_Alloc(node));
1769 node->attr.alloc.alignment = alignment;
1774 assert(is_Block(node));
1775 return node->attr.block.entity;
1780 assert(is_Block(node));
1781 node->attr.block.entity = entity;
1786 assert(is_Builtin(node));
1787 return node->attr.builtin.kind;
1792 assert(is_Builtin(node));
1793 node->attr.builtin.kind = kind;
1798 assert(is_Builtin(node));
1799 return node->attr.builtin.type;
1802static inline void set_Builtin_type_(
ir_node *node,
ir_type* type)
1804 assert(is_Builtin(node));
1805 node->attr.builtin.type = type;
1810 assert(is_Call(node));
1811 return node->attr.call.type;
1816 assert(is_Call(node));
1817 node->attr.call.type = type;
1822 assert(is_Cmp(node));
1823 return node->attr.cmp.relation;
1828 assert(is_Cmp(node));
1829 node->attr.cmp.relation = relation;
1834 assert(is_Cond(node));
1835 return node->attr.cond.jmp_pred;
1840 assert(is_Cond(node));
1841 node->attr.cond.jmp_pred = jmp_pred;
1846 assert(is_Confirm(node));
1847 return node->attr.confirm.relation;
1852 assert(is_Confirm(node));
1853 node->attr.confirm.relation = relation;
1858 assert(is_Const(node));
1859 return node->attr.con.tarval;
1864 assert(is_Const(node));
1865 node->attr.con.tarval = tarval;
1870 assert(is_CopyB(node));
1871 return node->attr.copyb.type;
1876 assert(is_CopyB(node));
1877 node->attr.copyb.type = type;
1880static inline ir_volatility get_CopyB_volatility_(
const ir_node *node)
1882 assert(is_CopyB(node));
1883 return node->attr.copyb.volatility;
1886static inline void set_CopyB_volatility_(
ir_node *node, ir_volatility volatility)
1888 assert(is_CopyB(node));
1889 node->attr.copyb.volatility = volatility;
1894 assert(is_Div(node));
1895 return node->attr.div.resmode;
1898static inline void set_Div_resmode_(
ir_node *node,
ir_mode* resmode)
1900 assert(is_Div(node));
1901 node->attr.div.resmode = resmode;
1904static inline int get_Div_no_remainder_(
const ir_node *node)
1906 assert(is_Div(node));
1907 return node->attr.div.no_remainder;
1910static inline void set_Div_no_remainder_(
ir_node *node,
int no_remainder)
1912 assert(is_Div(node));
1913 node->attr.div.no_remainder = no_remainder;
1918 assert(is_Load(node));
1919 return node->attr.load.mode;
1924 assert(is_Load(node));
1925 node->attr.load.mode = mode;
1930 assert(is_Load(node));
1931 return node->attr.load.type;
1936 assert(is_Load(node));
1937 node->attr.load.type = type;
1940static inline ir_volatility get_Load_volatility_(
const ir_node *node)
1942 assert(is_Load(node));
1943 return node->attr.load.volatility;
1946static inline void set_Load_volatility_(
ir_node *node, ir_volatility volatility)
1948 assert(is_Load(node));
1949 node->attr.load.volatility = volatility;
1952static inline ir_align get_Load_unaligned_(
const ir_node *node)
1954 assert(is_Load(node));
1955 return node->attr.load.unaligned;
1958static inline void set_Load_unaligned_(
ir_node *node, ir_align unaligned)
1960 assert(is_Load(node));
1961 node->attr.load.unaligned = unaligned;
1966 assert(is_Member(node));
1967 return node->attr.member.entity;
1972 assert(is_Member(node));
1973 node->attr.member.entity = entity;
1978 assert(is_Mod(node));
1979 return node->attr.mod.resmode;
1982static inline void set_Mod_resmode_(
ir_node *node,
ir_mode* resmode)
1984 assert(is_Mod(node));
1985 node->attr.mod.resmode = resmode;
1990 assert(is_Offset(node));
1991 return node->attr.entc.entity;
1996 assert(is_Offset(node));
1997 node->attr.entc.entity = entity;
2000static inline int get_Phi_loop_(
const ir_node *node)
2002 assert(is_Phi(node));
2003 return node->attr.phi.loop;
2006static inline void set_Phi_loop_(
ir_node *node,
int loop)
2008 assert(is_Phi(node));
2009 node->attr.phi.loop = loop;
2012static inline unsigned get_Proj_num_(
const ir_node *node)
2014 assert(is_Proj(node));
2015 return node->attr.proj.num;
2018static inline void set_Proj_num_(
ir_node *node,
unsigned num)
2020 assert(is_Proj(node));
2021 node->attr.proj.num = num;
2026 assert(is_Sel(node));
2027 return node->attr.sel.type;
2032 assert(is_Sel(node));
2033 node->attr.sel.type = type;
2038 assert(is_Size(node));
2039 return node->attr.typec.type;
2044 assert(is_Size(node));
2045 node->attr.typec.type = type;
2050 assert(is_Store(node));
2051 return node->attr.store.type;
2056 assert(is_Store(node));
2057 node->attr.store.type = type;
2060static inline ir_volatility get_Store_volatility_(
const ir_node *node)
2062 assert(is_Store(node));
2063 return node->attr.store.volatility;
2066static inline void set_Store_volatility_(
ir_node *node, ir_volatility volatility)
2068 assert(is_Store(node));
2069 node->attr.store.volatility = volatility;
2072static inline ir_align get_Store_unaligned_(
const ir_node *node)
2074 assert(is_Store(node));
2075 return node->attr.store.unaligned;
2078static inline void set_Store_unaligned_(
ir_node *node, ir_align unaligned)
2080 assert(is_Store(node));
2081 node->attr.store.unaligned = unaligned;
2084static inline unsigned get_Switch_n_outs_(
const ir_node *node)
2086 assert(is_Switch(node));
2087 return node->attr.switcha.n_outs;
2090static inline void set_Switch_n_outs_(
ir_node *node,
unsigned n_outs)
2092 assert(is_Switch(node));
2093 node->attr.switcha.n_outs = n_outs;
2098 assert(is_Switch(node));
2099 return node->attr.switcha.table;
2104 assert(is_Switch(node));
2105 node->attr.switcha.table = table;
2110 assert(is_entconst(node));
2111 return node->attr.entc.entity;
2116 assert(is_entconst(node));
2117 node->attr.entc.entity = entity;
2122 assert(is_typeconst(node));
2123 return node->attr.typec.type;
2126static inline void set_typeconst_type_(
ir_node *node,
ir_type* type)
2128 assert(is_typeconst(node));
2129 node->attr.typec.type = type;
2131void ir_init_opcodes(
void);
2132void ir_finish_opcodes(
void);
const char ident
Identifier.
struct ir_mode ir_mode
SSA Value mode.
ir_op * get_irn_op(const ir_node *node)
Returns the opcode struct of the node.
void set_irn_n(ir_node *node, int n, ir_node *in)
Replaces the n-th predecessor of a node with a new one.
int get_irn_arity(const ir_node *node)
Returns the number of predecessors without the block predecessor.
ir_node * get_irn_n(const ir_node *node, int n)
Returns the n-th predecessor of a node.
struct ir_node ir_node
Procedure Graph Node.
ir_relation
Relations for comparing numbers.
struct ir_tarval ir_tarval
Target Machine Value.
struct ir_entity ir_entity
Entity.
struct ir_type ir_type
Type.
A input/output constraint attribute.
ir_op * op_ASM
ASM opcode.
@ n_ASM_mem
memory dependency
ir_op * op_Add
Add opcode.
@ n_Add_right
second operand
@ n_Add_left
first operand
ir_op * op_Address
Address opcode.
ir_op * op_Align
Align opcode.
ir_op * op_Alloc
Alloc opcode.
@ n_Alloc_mem
memory dependency
@ n_Alloc_size
size of the block in bytes
ir_op * op_Anchor
Anchor opcode.
@ n_Anchor_frame
frame of this ir_graph
@ n_Anchor_end
end node of this ir_graph
@ n_Anchor_start_block
block the start node belongs to
@ n_Anchor_no_mem
the only NoMem node of this ir_graph
@ n_Anchor_initial_mem
initial memory of this ir_graph
@ n_Anchor_end_block
block the end node belongs to
@ n_Anchor_args
argument proj of the start node
@ n_Anchor_start
start node of this ir_graph
ir_op * op_And
And opcode.
@ n_And_left
first operand
@ n_And_right
second operand
ir_op * op_Bad
Bad opcode.
ir_op * op_Bitcast
Bitcast opcode.
ir_op * op_Block
Block opcode.
ir_op * op_Builtin
Builtin opcode.
ir_builtin_kind
Supported libFirm builtins.
@ n_Builtin_mem
memory dependency
ir_op * op_Call
Call opcode.
@ n_Call_mem
memory dependency
@ n_Call_ptr
pointer to called code
ir_op * op_Cmp
Cmp opcode.
@ n_Cmp_right
second operand
@ n_Cmp_left
first operand
cond_jmp_predicate
A type to express conditional jump predictions.
ir_op * op_Cond
Cond opcode.
@ n_Cond_selector
condition parameter
ir_op * op_Confirm
Confirm opcode.
@ n_Confirm_value
value to express a constraint for
@ n_Confirm_bound
value to compare against
ir_op * op_Const
Const opcode.
ir_op * op_Conv
Conv opcode.
ir_op * op_CopyB
CopyB opcode.
@ n_CopyB_mem
memory dependency
@ n_CopyB_dst
destination address
@ n_CopyB_src
source address
ir_op * op_Deleted
Deleted opcode.
ir_op * op_Div
Div opcode.
@ n_Div_left
first operand
@ n_Div_mem
memory dependency
@ n_Div_right
second operand
ir_op * op_Dummy
Dummy opcode.
ir_op * op_End
End opcode.
ir_op * op_Eor
Eor opcode.
@ n_Eor_left
first operand
@ n_Eor_right
second operand
ir_op * op_Free
Free opcode.
@ n_Free_ptr
pointer to the object to free
@ n_Free_mem
memory dependency
ir_op * op_IJmp
IJmp opcode.
@ n_IJmp_target
target address of the jump
@ n_Id_pred
the value which is returned unchanged
ir_op * op_Jmp
Jmp opcode.
ir_op * op_Load
Load opcode.
@ n_Load_mem
memory dependency
@ n_Load_ptr
address to load from
ir_op * op_Member
Member opcode.
@ n_Member_ptr
pointer to object to select from
ir_op * op_Minus
Minus opcode.
ir_op * op_Mod
Mod opcode.
@ n_Mod_right
second operand
@ n_Mod_mem
memory dependency
@ n_Mod_left
first operand
ir_op * op_Mul
Mul opcode.
@ n_Mul_right
second operand
@ n_Mul_left
first operand
ir_op * op_Mulh
Mulh opcode.
@ n_Mulh_right
second operand
@ n_Mulh_left
first operand
ir_op * op_Mux
Mux opcode.
@ n_Mux_false
selected if sel input is false
@ n_Mux_sel
value making the output selection
@ n_Mux_true
selected if sel input is true
ir_op * op_NoMem
NoMem opcode.
ir_op * op_Not
Not opcode.
ir_op * op_Offset
Offset opcode.
@ n_Or_right
second operand
ir_op * op_Phi
Phi opcode.
ir_op * op_Pin
Pin opcode.
@ n_Pin_op
value which is pinned
ir_op * op_Proj
Proj opcode.
@ n_Proj_pred
the tuple value from which a part is extracted
ir_op * op_Raise
Raise opcode.
@ n_Raise_exo_ptr
pointer to exception object to be thrown
@ n_Raise_mem
memory dependency
ir_op * op_Return
Return opcode.
@ n_Return_mem
memory dependency
ir_op * op_Sel
Sel opcode.
@ n_Sel_ptr
pointer to array to select from
@ n_Sel_index
index to select
ir_op * op_Shl
Shl opcode.
@ n_Shl_right
second operand
@ n_Shl_left
first operand
ir_op * op_Shr
Shr opcode.
@ n_Shr_right
second operand
@ n_Shr_left
first operand
ir_op * op_Shrs
Shrs opcode.
@ n_Shrs_left
first operand
@ n_Shrs_right
second operand
ir_op * op_Size
Size opcode.
ir_op * op_Start
Start opcode.
ir_op * op_Store
Store opcode.
@ n_Store_mem
memory dependency
@ n_Store_value
value to store
@ n_Store_ptr
address to store to
ir_op * op_Sub
Sub opcode.
@ n_Sub_right
second operand
@ n_Sub_left
first operand
ir_op * op_Switch
Switch opcode.
struct ir_switch_table ir_switch_table
A switch table mapping integer numbers to proj-numbers of a Switch-node.
@ n_Switch_selector
input selector
ir_op * op_Sync
Sync opcode.
ir_op * op_Tuple
Tuple opcode.
ir_op * op_Unknown
Unknown opcode.