2 #ifndef IR_GEN_IRNODE_H
3 #define IR_GEN_IRNODE_H
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)
376 static inline int is_ASM_(
const ir_node *node)
392 static inline int get_ASM_n_inputs_(
ir_node const *node)
398 static inline ir_node *get_ASM_input_(
ir_node const *node,
int pos)
404 static inline void set_ASM_input_(
ir_node *node,
int pos,
ir_node *input)
413 return get_irn_in(node) + (
n_ASM_max + 1);
416 static inline int is_Add_(
const ir_node *node)
444 static inline int is_Address_(
const ir_node *node)
448 static inline int is_Align_(
const ir_node *node)
452 static inline int is_Alloc_(
const ir_node *node)
480 static inline int is_Anchor_(
const ir_node *node)
490 static inline void set_Anchor_end_block_(
ir_node *node,
ir_node *end_block)
496 static inline ir_node *get_Anchor_start_block_(
const ir_node *node)
502 static inline void set_Anchor_start_block_(
ir_node *node,
ir_node *start_block)
526 static inline void set_Anchor_start_(
ir_node *node,
ir_node *start)
538 static inline void set_Anchor_frame_(
ir_node *node,
ir_node *frame)
544 static inline ir_node *get_Anchor_initial_mem_(
const ir_node *node)
550 static inline void set_Anchor_initial_mem_(
ir_node *node,
ir_node *initial_mem)
574 static inline void set_Anchor_no_mem_(
ir_node *node,
ir_node *no_mem)
580 static inline int is_And_(
const ir_node *node)
608 static inline int is_Bad_(
const ir_node *node)
612 static inline int is_Bitcast_(
const ir_node *node)
628 static inline int is_Block_(
const ir_node *node)
632 static inline int get_Block_n_cfgpreds_(
ir_node const *node)
638 static inline ir_node *get_Block_cfgpred_(
ir_node const *node,
int pos)
644 static inline void set_Block_cfgpred_(
ir_node *node,
int pos,
ir_node *cfgpred)
653 return get_irn_in(node);
656 static inline int is_Builtin_(
const ir_node *node)
672 static inline int get_Builtin_n_params_(
ir_node const *node)
678 static inline ir_node *get_Builtin_param_(
ir_node const *node,
int pos)
684 static inline void set_Builtin_param_(
ir_node *node,
int pos,
ir_node *param)
696 static inline int is_Call_(
const ir_node *node)
724 static inline int get_Call_n_params_(
ir_node const *node)
730 static inline ir_node *get_Call_param_(
ir_node const *node,
int pos)
736 static inline void set_Call_param_(
ir_node *node,
int pos,
ir_node *param)
748 static inline int is_Cmp_(
const ir_node *node)
776 static inline int is_Cond_(
const ir_node *node)
786 static inline void set_Cond_selector_(
ir_node *node,
ir_node *selector)
792 static inline int is_Confirm_(
const ir_node *node)
802 static inline void set_Confirm_value_(
ir_node *node,
ir_node *value)
814 static inline void set_Confirm_bound_(
ir_node *node,
ir_node *bound)
820 static inline int is_Const_(
const ir_node *node)
824 static inline int is_Conv_(
const ir_node *node)
840 static inline int is_CopyB_(
const ir_node *node)
880 static inline int is_Deleted_(
const ir_node *node)
884 static inline int is_Div_(
const ir_node *node)
924 static inline int is_Dummy_(
const ir_node *node)
928 static inline int is_End_(
const ir_node *node)
932 static inline int get_End_n_keepalives_(
ir_node const *node)
938 static inline ir_node *get_End_keepalive_(
ir_node const *node,
int pos)
944 static inline void set_End_keepalive_(
ir_node *node,
int pos,
ir_node *keepalive)
953 return get_irn_in(node);
956 static inline int is_Eor_(
const ir_node *node)
984 static inline int is_Free_(
const ir_node *node)
1012 static inline int is_IJmp_(
const ir_node *node)
1022 static inline void set_IJmp_target_(
ir_node *node,
ir_node *target)
1028 static inline int is_Id_(
const ir_node *node)
1034 assert(
is_Id(node));
1040 assert(
is_Id(node));
1044 static inline int is_Jmp_(
const ir_node *node)
1048 static inline int is_Load_(
const ir_node *node)
1076 static inline int is_Member_(
const ir_node *node)
1092 static inline int is_Minus_(
const ir_node *node)
1108 static inline int is_Mod_(
const ir_node *node)
1148 static inline int is_Mul_(
const ir_node *node)
1176 static inline int is_Mulh_(
const ir_node *node)
1198 static inline void set_Mulh_right_(
ir_node *node,
ir_node *right)
1204 static inline int is_Mux_(
const ir_node *node)
1226 static inline void set_Mux_false_(
ir_node *node,
ir_node *false_)
1244 static inline int is_NoMem_(
const ir_node *node)
1248 static inline int is_Not_(
const ir_node *node)
1264 static inline int is_Offset_(
const ir_node *node)
1268 static 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));
1296 static inline int is_Phi_(
const ir_node *node)
1300 static inline int get_Phi_n_preds_(
ir_node const *node)
1306 static inline ir_node *get_Phi_pred_(
ir_node const *node,
int pos)
1312 static inline void set_Phi_pred_(
ir_node *node,
int pos,
ir_node *pred)
1321 return get_irn_in(node);
1324 static inline int is_Pin_(
const ir_node *node)
1340 static inline int is_Proj_(
const ir_node *node)
1356 static inline int is_Raise_(
const ir_node *node)
1378 static inline void set_Raise_exo_ptr_(
ir_node *node,
ir_node *exo_ptr)
1384 static inline int is_Return_(
const ir_node *node)
1400 static inline int get_Return_n_ress_(
ir_node const *node)
1406 static inline ir_node *get_Return_res_(
ir_node const *node,
int pos)
1412 static inline void set_Return_res_(
ir_node *node,
int pos,
ir_node *res)
1424 static inline int is_Sel_(
const ir_node *node)
1452 static inline int is_Shl_(
const ir_node *node)
1480 static inline int is_Shr_(
const ir_node *node)
1508 static inline int is_Shrs_(
const ir_node *node)
1530 static inline void set_Shrs_right_(
ir_node *node,
ir_node *right)
1536 static inline int is_Size_(
const ir_node *node)
1540 static inline int is_Start_(
const ir_node *node)
1544 static inline int is_Store_(
const ir_node *node)
1578 static inline void set_Store_value_(
ir_node *node,
ir_node *value)
1584 static inline int is_Sub_(
const ir_node *node)
1612 static inline int is_Switch_(
const ir_node *node)
1622 static inline void set_Switch_selector_(
ir_node *node,
ir_node *selector)
1628 static inline int is_Sync_(
const ir_node *node)
1632 static inline int get_Sync_n_preds_(
ir_node const *node)
1638 static inline ir_node *get_Sync_pred_(
ir_node const *node,
int pos)
1644 static inline void set_Sync_pred_(
ir_node *node,
int pos,
ir_node *pred)
1653 return get_irn_in(node);
1656 static inline int is_Tuple_(
const ir_node *node)
1660 static inline int get_Tuple_n_preds_(
ir_node const *node)
1666 static inline ir_node *get_Tuple_pred_(
ir_node const *node,
int pos)
1672 static inline void set_Tuple_pred_(
ir_node *node,
int pos,
ir_node *pred)
1681 return get_irn_in(node);
1684 static inline int is_Unknown_(
const ir_node *node)
1688 static inline int is_entconst_(
const ir_node *node)
1694 static inline int is_typeconst_(
const ir_node *node)
1703 return node->attr.assem.constraints;
1709 node->attr.assem.constraints = constraints;
1712 static inline ident** get_ASM_clobbers_(
const ir_node *node)
1715 return node->attr.assem.clobbers;
1718 static inline void set_ASM_clobbers_(
ir_node *node,
ident** clobbers)
1721 node->attr.assem.clobbers = clobbers;
1724 static inline ident* get_ASM_text_(
const ir_node *node)
1727 return node->attr.assem.text;
1730 static inline void set_ASM_text_(
ir_node *node,
ident* text)
1733 node->attr.assem.text = text;
1739 return node->attr.entc.entity;
1745 node->attr.entc.entity = entity;
1751 return node->attr.typec.type;
1757 node->attr.typec.type = type;
1760 static inline unsigned get_Alloc_alignment_(
const ir_node *node)
1763 return node->attr.alloc.alignment;
1766 static inline void set_Alloc_alignment_(
ir_node *node,
unsigned alignment)
1769 node->attr.alloc.alignment = alignment;
1775 return node->attr.block.entity;
1781 node->attr.block.entity = entity;
1787 return node->attr.builtin.kind;
1793 node->attr.builtin.kind = kind;
1799 return node->attr.builtin.type;
1802 static inline void set_Builtin_type_(
ir_node *node,
ir_type* type)
1805 node->attr.builtin.type = type;
1811 return node->attr.call.type;
1817 node->attr.call.type = type;
1823 return node->attr.cmp.relation;
1829 node->attr.cmp.relation = relation;
1835 return node->attr.cond.jmp_pred;
1841 node->attr.cond.jmp_pred = jmp_pred;
1847 return node->attr.confirm.relation;
1853 node->attr.confirm.relation = relation;
1859 return node->attr.con.tarval;
1865 node->attr.con.tarval = tarval;
1871 return node->attr.copyb.type;
1877 node->attr.copyb.type = type;
1880 static inline ir_volatility get_CopyB_volatility_(
const ir_node *node)
1883 return node->attr.copyb.volatility;
1886 static inline void set_CopyB_volatility_(
ir_node *node, ir_volatility volatility)
1889 node->attr.copyb.volatility = volatility;
1895 return node->attr.div.resmode;
1898 static inline void set_Div_resmode_(
ir_node *node,
ir_mode* resmode)
1901 node->attr.div.resmode = resmode;
1904 static inline int get_Div_no_remainder_(
const ir_node *node)
1907 return node->attr.div.no_remainder;
1910 static inline void set_Div_no_remainder_(
ir_node *node,
int no_remainder)
1913 node->attr.div.no_remainder = no_remainder;
1919 return node->attr.load.mode;
1925 node->attr.load.mode = mode;
1931 return node->attr.load.type;
1937 node->attr.load.type = type;
1940 static inline ir_volatility get_Load_volatility_(
const ir_node *node)
1943 return node->attr.load.volatility;
1946 static inline void set_Load_volatility_(
ir_node *node, ir_volatility volatility)
1949 node->attr.load.volatility = volatility;
1952 static inline ir_align get_Load_unaligned_(
const ir_node *node)
1955 return node->attr.load.unaligned;
1958 static inline void set_Load_unaligned_(
ir_node *node, ir_align unaligned)
1961 node->attr.load.unaligned = unaligned;
1967 return node->attr.member.entity;
1973 node->attr.member.entity = entity;
1979 return node->attr.mod.resmode;
1982 static inline void set_Mod_resmode_(
ir_node *node,
ir_mode* resmode)
1985 node->attr.mod.resmode = resmode;
1991 return node->attr.entc.entity;
1997 node->attr.entc.entity = entity;
2000 static inline int get_Phi_loop_(
const ir_node *node)
2003 return node->attr.phi.loop;
2006 static inline void set_Phi_loop_(
ir_node *node,
int loop)
2009 node->attr.phi.loop = loop;
2012 static inline unsigned get_Proj_num_(
const ir_node *node)
2015 return node->attr.proj.num;
2018 static inline void set_Proj_num_(
ir_node *node,
unsigned num)
2021 node->attr.proj.num = num;
2027 return node->attr.sel.type;
2033 node->attr.sel.type = type;
2039 return node->attr.typec.type;
2045 node->attr.typec.type = type;
2051 return node->attr.store.type;
2057 node->attr.store.type = type;
2060 static inline ir_volatility get_Store_volatility_(
const ir_node *node)
2063 return node->attr.store.volatility;
2066 static inline void set_Store_volatility_(
ir_node *node, ir_volatility volatility)
2069 node->attr.store.volatility = volatility;
2072 static inline ir_align get_Store_unaligned_(
const ir_node *node)
2075 return node->attr.store.unaligned;
2078 static inline void set_Store_unaligned_(
ir_node *node, ir_align unaligned)
2081 node->attr.store.unaligned = unaligned;
2084 static inline unsigned get_Switch_n_outs_(
const ir_node *node)
2087 return node->attr.switcha.n_outs;
2090 static inline void set_Switch_n_outs_(
ir_node *node,
unsigned n_outs)
2093 node->attr.switcha.n_outs = n_outs;
2099 return node->attr.switcha.table;
2105 node->attr.switcha.table = table;
2111 return node->attr.entc.entity;
2117 node->attr.entc.entity = entity;
2123 return node->attr.typec.type;
2126 static inline void set_typeconst_type_(
ir_node *node,
ir_type* type)
2129 node->attr.typec.type = type;
2131 void ir_init_opcodes(
void);
2132 void ir_finish_opcodes(
void);
ir_op * op_And
And opcode.
int is_Alloc(const ir_node *node)
Test if node is a Alloc.
int is_Cmp(const ir_node *node)
Test if node is a Cmp.
ir_op * op_End
End opcode.
int is_Free(const ir_node *node)
Test if node is a Free.
ir_op * op_Call
Call opcode.
ir_op * op_Not
Not opcode.
ir_op * op_Free
Free opcode.
selected if sel input is false
int is_Div(const ir_node *node)
Test if node is a Div.
ir_op * op_Deleted
Deleted opcode.
int is_Proj(const ir_node *node)
Test if node is a Proj.
ir_op * op_Anchor
Anchor opcode.
int is_Add(const ir_node *node)
Test if node is a Add.
ir_op * op_Mod
Mod opcode.
value making the output selection
the tuple value from which a part is extracted
int is_Load(const ir_node *node)
Test if node is a Load.
int get_Call_n_params(ir_node const *node)
Get the number of Call params.
target address of the jump
ir_op * op_NoMem
NoMem opcode.
int is_Size(const ir_node *node)
Test if node is a Size.
ir_op * op_Conv
Conv opcode.
ir_op * op_Offset
Offset opcode.
pointer to object to select from
int is_CopyB(const ir_node *node)
Test if node is a CopyB.
ir_op * op_Builtin
Builtin opcode.
ir_op * op_Raise
Raise opcode.
ir_op * op_Start
Start opcode.
ir_op * op_Cmp
Cmp opcode.
int get_Block_n_cfgpreds(ir_node const *node)
Get the number of Block cfgpreds.
int is_End(const ir_node *node)
Test if node is a End.
ir_op * op_Align
Align opcode.
ir_op * op_Shrs
Shrs opcode.
int get_Sync_n_preds(ir_node const *node)
Get the number of Sync preds.
end node of this ir_graph
ir_op * op_Unknown
Unknown opcode.
int is_Phi(const ir_node *node)
Test if node is a Phi.
int is_entconst(const ir_node *node)
Test if node is a entconst.
ir_op * op_Shr
Shr opcode.
int get_Phi_n_preds(ir_node const *node)
Get the number of Phi preds.
int is_Cond(const ir_node *node)
Test if node is a Cond.
ir_op * op_Address
Address opcode.
int is_Align(const ir_node *node)
Test if node is a Align.
the only NoMem node of this ir_graph
pointer to the object to free
int is_Raise(const ir_node *node)
Test if node is a Raise.
int is_Store(const ir_node *node)
Test if node is a Store.
ir_op * op_Proj
Proj opcode.
ir_op * op_Block
Block opcode.
int is_Pin(const ir_node *node)
Test if node is a Pin.
ir_op * op_Eor
Eor opcode.
ir_op * op_Shl
Shl opcode.
ir_op * op_Mul
Mul opcode.
struct ir_node ir_node
Procedure Graph Node.
ir_op * op_Const
Const opcode.
int is_Or(const ir_node *node)
Test if node is a Or.
ir_op * op_Div
Div opcode.
int is_Not(const ir_node *node)
Test if node is a Not.
ir_op * op_Sync
Sync opcode.
ir_op * op_Add
Add opcode.
int is_Sub(const ir_node *node)
Test if node is a Sub.
struct ir_type ir_type
Type.
int is_Shl(const ir_node *node)
Test if node is a Shl.
ir_op * op_Bad
Bad opcode.
int is_Sync(const ir_node *node)
Test if node is a Sync.
start node of this ir_graph
int is_Shr(const ir_node *node)
Test if node is a Shr.
int is_Mul(const ir_node *node)
Test if node is a Mul.
the value which is returned unchanged
int is_Confirm(const ir_node *node)
Test if node is a Confirm.
ir_op * op_CopyB
CopyB opcode.
struct ir_mode ir_mode
SSA Value mode.
int is_And(const ir_node *node)
Test if node is a And.
int get_Tuple_n_preds(ir_node const *node)
Get the number of Tuple preds.
ir_op * op_Mux
Mux opcode.
int is_typeconst(const ir_node *node)
Test if node is a typeconst.
ir_op * op_Confirm
Confirm opcode.
ir_node * get_irn_n(const ir_node *node, int n)
Returns the n-th predecessor of a node.
int is_Call(const ir_node *node)
Test if node is a Call.
A input/output constraint attribute.
ir_op * op_Pin
Pin opcode.
int is_Shrs(const ir_node *node)
Test if node is a Shrs.
ir_op * op_Member
Member opcode.
struct ir_switch_table ir_switch_table
A switch table mapping integer numbers to proj-numbers of a Switch-node.
int is_Offset(const ir_node *node)
Test if node is a Offset.
ir_op * op_Mulh
Mulh opcode.
int is_Block(const ir_node *node)
Test if node is a Block.
ir_op * op_IJmp
IJmp opcode.
ir_op * op_Switch
Switch opcode.
ir_op * op_Size
Size opcode.
struct ir_entity ir_entity
Entity.
ir_op * op_Tuple
Tuple opcode.
int is_Const(const ir_node *node)
Test if node is a Const.
ir_op * op_Sub
Sub opcode.
int is_Mux(const ir_node *node)
Test if node is a Mux.
int get_Return_n_ress(ir_node const *node)
Get the number of Return ress.
argument proj of the start node
const char ident
Identifier.
ir_op * op_Sel
Sel opcode.
int is_Eor(const ir_node *node)
Test if node is a Eor.
pointer to exception object to be thrown
pointer to array to select from
ir_op * op_Alloc
Alloc opcode.
ir_op * get_irn_op(const ir_node *node)
Returns the opcode struct of the node.
int is_Return(const ir_node *node)
Test if node is a Return.
ir_op * op_Minus
Minus opcode.
block the end node belongs to
int is_Conv(const ir_node *node)
Test if node is a Conv.
int is_Switch(const ir_node *node)
Test if node is a Switch.
selected if sel input is true
ir_op * op_Dummy
Dummy opcode.
value to express a constraint for
int get_ASM_n_inputs(ir_node const *node)
Get the number of ASM inputs.
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 is_Member(const ir_node *node)
Test if node is a Member.
ir_op * op_Store
Store opcode.
int is_Mulh(const ir_node *node)
Test if node is a Mulh.
ir_builtin_kind
Supported libFirm builtins.
struct ir_tarval ir_tarval
Target Machine Value.
int is_Tuple(const ir_node *node)
Test if node is a Tuple.
ir_op * op_Bitcast
Bitcast opcode.
ir_op * op_Cond
Cond opcode.
ir_op * op_Return
Return opcode.
initial memory of this ir_graph
int is_Id(const ir_node *node)
Test if node is a Id.
int is_Address(const ir_node *node)
Test if node is a Address.
ir_relation
Relations for comparing numbers.
cond_jmp_predicate
A type to express conditional jump predictions.
size of the block in bytes
int is_ASM(const ir_node *node)
Test if node is a ASM.
ir_op * op_Jmp
Jmp opcode.
int is_Bitcast(const ir_node *node)
Test if node is a Bitcast.
int get_End_n_keepalives(ir_node const *node)
Get the number of End keepalives.
int is_Sel(const ir_node *node)
Test if node is a Sel.
int is_IJmp(const ir_node *node)
Test if node is a IJmp.
int is_Mod(const ir_node *node)
Test if node is a Mod.
ir_op * op_ASM
ASM opcode.
ir_op * op_Load
Load opcode.
int get_Builtin_n_params(ir_node const *node)
Get the number of Builtin params.
int get_irn_arity(const ir_node *node)
Returns the number of predecessors without the block predecessor.
int is_Minus(const ir_node *node)
Test if node is a Minus.
int is_Builtin(const ir_node *node)
Test if node is a Builtin.
block the start node belongs to
int is_Anchor(const ir_node *node)
Test if node is a Anchor.
ir_op * op_Phi
Phi opcode.