libFirm
nodes.h
1 /* Warning: Automatically generated file */
2 #ifndef FIRM_IR_NODES_H
3 #define FIRM_IR_NODES_H
4 
5 #ifndef FIRM_IR_IRNODE_H
6 #error Do not include nodes.h directly; include irnode.h instead.
7 #endif
8 
9 
10 
11 
15 typedef enum ir_opcode {
73 } ir_opcode;
74 
116 typedef enum {
119 } n_ASM;
120 
124 typedef enum {
129 } pn_ASM;
130 
146 FIRM_API ir_node *new_rd_ASM(dbg_info *dbgi, ir_node *block, ir_node * irn_mem, int arity, ir_node *const * in, ident* text, size_t n_constraints, ir_asm_constraint* constraints, size_t n_clobbers, ident** clobbers, ir_cons_flags flags);
147 
162 FIRM_API ir_node *new_r_ASM(ir_node *block, ir_node * irn_mem, int arity, ir_node *const * in, ident* text, size_t n_constraints, ir_asm_constraint* constraints, size_t n_clobbers, ident** clobbers, ir_cons_flags flags);
163 
178 FIRM_API ir_node *new_d_ASM(dbg_info *dbgi, ir_node * irn_mem, int arity, ir_node *const * in, ident* text, size_t n_constraints, ir_asm_constraint* constraints, size_t n_clobbers, ident** clobbers, ir_cons_flags flags);
179 
193 FIRM_API ir_node *new_ASM(ir_node * irn_mem, int arity, ir_node *const * in, ident* text, size_t n_constraints, ir_asm_constraint* constraints, size_t n_clobbers, ident** clobbers, ir_cons_flags flags);
194 
199 FIRM_API int is_ASM(const ir_node *node);
200 
202 FIRM_API ir_node *get_ASM_mem(const ir_node *node);
204 FIRM_API void set_ASM_mem(ir_node *node, ir_node *mem);
206 FIRM_API int get_ASM_n_inputs(ir_node const *node);
208 FIRM_API ir_node *get_ASM_input(ir_node const *node, int pos);
210 FIRM_API void set_ASM_input(ir_node *node, int pos, ir_node *input);
213 
215 FIRM_API ir_asm_constraint* get_ASM_constraints(const ir_node *node);
217 FIRM_API void set_ASM_constraints(ir_node *node, ir_asm_constraint* constraints);
218 
220 FIRM_API ident** get_ASM_clobbers(const ir_node *node);
222 FIRM_API void set_ASM_clobbers(ir_node *node, ident** clobbers);
223 
225 FIRM_API ident* get_ASM_text(const ir_node *node);
227 FIRM_API void set_ASM_text(ir_node *node, ident* text);
229 FIRM_API ir_op *op_ASM;
230 
232 FIRM_API ir_op *get_op_ASM(void);
233 
246 typedef enum {
250 } n_Add;
251 
260 FIRM_API ir_node *new_rd_Add(dbg_info *dbgi, ir_node *block, ir_node * irn_left, ir_node * irn_right);
261 
269 FIRM_API ir_node *new_r_Add(ir_node *block, ir_node * irn_left, ir_node * irn_right);
270 
278 FIRM_API ir_node *new_d_Add(dbg_info *dbgi, ir_node * irn_left, ir_node * irn_right);
279 
286 FIRM_API ir_node *new_Add(ir_node * irn_left, ir_node * irn_right);
287 
292 FIRM_API int is_Add(const ir_node *node);
293 
295 FIRM_API ir_node *get_Add_left(const ir_node *node);
297 FIRM_API void set_Add_left(ir_node *node, ir_node *left);
299 FIRM_API ir_node *get_Add_right(const ir_node *node);
301 FIRM_API void set_Add_right(ir_node *node, ir_node *right);
303 FIRM_API ir_op *op_Add;
304 
306 FIRM_API ir_op *get_op_Add(void);
307 
325 FIRM_API ir_node *new_rd_Address(dbg_info *dbgi, ir_graph *irg, ir_entity* entity);
326 
333 FIRM_API ir_node *new_r_Address(ir_graph *irg, ir_entity* entity);
334 
341 FIRM_API ir_node *new_d_Address(dbg_info *dbgi, ir_entity* entity);
342 
348 FIRM_API ir_node *new_Address(ir_entity* entity);
349 
354 FIRM_API int is_Address(const ir_node *node);
355 
356 
358 FIRM_API ir_entity* get_Address_entity(const ir_node *node);
360 FIRM_API void set_Address_entity(ir_node *node, ir_entity* entity);
362 FIRM_API ir_op *op_Address;
363 
365 FIRM_API ir_op *get_op_Address(void);
366 
384 FIRM_API ir_node *new_rd_Align(dbg_info *dbgi, ir_graph *irg, ir_mode * mode, ir_type* type);
385 
393 FIRM_API ir_node *new_r_Align(ir_graph *irg, ir_mode * mode, ir_type* type);
394 
402 FIRM_API ir_node *new_d_Align(dbg_info *dbgi, ir_mode * mode, ir_type* type);
403 
410 FIRM_API ir_node *new_Align(ir_mode * mode, ir_type* type);
411 
416 FIRM_API int is_Align(const ir_node *node);
417 
418 
420 FIRM_API ir_type* get_Align_type(const ir_node *node);
422 FIRM_API void set_Align_type(ir_node *node, ir_type* type);
424 FIRM_API ir_op *op_Align;
425 
427 FIRM_API ir_op *get_op_Align(void);
428 
441 typedef enum {
445 } n_Alloc;
446 
450 typedef enum {
454 } pn_Alloc;
455 
465 FIRM_API ir_node *new_rd_Alloc(dbg_info *dbgi, ir_node *block, ir_node * irn_mem, ir_node * irn_size, unsigned alignment);
466 
475 FIRM_API ir_node *new_r_Alloc(ir_node *block, ir_node * irn_mem, ir_node * irn_size, unsigned alignment);
476 
485 FIRM_API ir_node *new_d_Alloc(dbg_info *dbgi, ir_node * irn_mem, ir_node * irn_size, unsigned alignment);
486 
494 FIRM_API ir_node *new_Alloc(ir_node * irn_mem, ir_node * irn_size, unsigned alignment);
495 
500 FIRM_API int is_Alloc(const ir_node *node);
501 
503 FIRM_API ir_node *get_Alloc_mem(const ir_node *node);
505 FIRM_API void set_Alloc_mem(ir_node *node, ir_node *mem);
507 FIRM_API ir_node *get_Alloc_size(const ir_node *node);
509 FIRM_API void set_Alloc_size(ir_node *node, ir_node *size);
510 
512 FIRM_API unsigned get_Alloc_alignment(const ir_node *node);
514 FIRM_API void set_Alloc_alignment(ir_node *node, unsigned alignment);
516 FIRM_API ir_op *op_Alloc;
517 
519 FIRM_API ir_op *get_op_Alloc(void);
520 
538 typedef enum {
548 } n_Anchor;
549 
550 
555 FIRM_API int is_Anchor(const ir_node *node);
556 
558 FIRM_API ir_node *get_Anchor_end_block(const ir_node *node);
560 FIRM_API void set_Anchor_end_block(ir_node *node, ir_node *end_block);
562 FIRM_API ir_node *get_Anchor_start_block(const ir_node *node);
564 FIRM_API void set_Anchor_start_block(ir_node *node, ir_node *start_block);
566 FIRM_API ir_node *get_Anchor_end(const ir_node *node);
568 FIRM_API void set_Anchor_end(ir_node *node, ir_node *end);
570 FIRM_API ir_node *get_Anchor_start(const ir_node *node);
572 FIRM_API void set_Anchor_start(ir_node *node, ir_node *start);
574 FIRM_API ir_node *get_Anchor_frame(const ir_node *node);
576 FIRM_API void set_Anchor_frame(ir_node *node, ir_node *frame);
578 FIRM_API ir_node *get_Anchor_initial_mem(const ir_node *node);
580 FIRM_API void set_Anchor_initial_mem(ir_node *node, ir_node *initial_mem);
582 FIRM_API ir_node *get_Anchor_args(const ir_node *node);
584 FIRM_API void set_Anchor_args(ir_node *node, ir_node *args);
586 FIRM_API ir_node *get_Anchor_no_mem(const ir_node *node);
588 FIRM_API void set_Anchor_no_mem(ir_node *node, ir_node *no_mem);
590 FIRM_API ir_op *op_Anchor;
591 
593 FIRM_API ir_op *get_op_Anchor(void);
594 
607 typedef enum {
611 } n_And;
612 
621 FIRM_API ir_node *new_rd_And(dbg_info *dbgi, ir_node *block, ir_node * irn_left, ir_node * irn_right);
622 
630 FIRM_API ir_node *new_r_And(ir_node *block, ir_node * irn_left, ir_node * irn_right);
631 
639 FIRM_API ir_node *new_d_And(dbg_info *dbgi, ir_node * irn_left, ir_node * irn_right);
640 
647 FIRM_API ir_node *new_And(ir_node * irn_left, ir_node * irn_right);
648 
653 FIRM_API int is_And(const ir_node *node);
654 
656 FIRM_API ir_node *get_And_left(const ir_node *node);
658 FIRM_API void set_And_left(ir_node *node, ir_node *left);
660 FIRM_API ir_node *get_And_right(const ir_node *node);
662 FIRM_API void set_And_right(ir_node *node, ir_node *right);
664 FIRM_API ir_op *op_And;
665 
667 FIRM_API ir_op *get_op_And(void);
668 
704 FIRM_API ir_node *new_rd_Bad(dbg_info *dbgi, ir_graph *irg, ir_mode * mode);
705 
712 FIRM_API ir_node *new_r_Bad(ir_graph *irg, ir_mode * mode);
713 
720 FIRM_API ir_node *new_d_Bad(dbg_info *dbgi, ir_mode * mode);
721 
727 FIRM_API ir_node *new_Bad(ir_mode * mode);
728 
733 FIRM_API int is_Bad(const ir_node *node);
734 
736 FIRM_API ir_op *op_Bad;
737 
739 FIRM_API ir_op *get_op_Bad(void);
740 
754 typedef enum {
757 } n_Bitcast;
758 
767 FIRM_API ir_node *new_rd_Bitcast(dbg_info *dbgi, ir_node *block, ir_node * irn_op, ir_mode * mode);
768 
776 FIRM_API ir_node *new_r_Bitcast(ir_node *block, ir_node * irn_op, ir_mode * mode);
777 
785 FIRM_API ir_node *new_d_Bitcast(dbg_info *dbgi, ir_node * irn_op, ir_mode * mode);
786 
793 FIRM_API ir_node *new_Bitcast(ir_node * irn_op, ir_mode * mode);
794 
799 FIRM_API int is_Bitcast(const ir_node *node);
800 
802 FIRM_API ir_node *get_Bitcast_op(const ir_node *node);
804 FIRM_API void set_Bitcast_op(ir_node *node, ir_node *op);
806 FIRM_API ir_op *op_Bitcast;
807 
809 FIRM_API ir_op *get_op_Bitcast(void);
810 
828 FIRM_API ir_node *new_rd_Block(dbg_info *dbgi, ir_graph *irg, int arity, ir_node *const * in);
829 
837 FIRM_API ir_node *new_r_Block(ir_graph *irg, int arity, ir_node *const * in);
838 
846 FIRM_API ir_node *new_d_Block(dbg_info *dbgi, int arity, ir_node *const * in);
847 
854 FIRM_API ir_node *new_Block(int arity, ir_node *const * in);
855 
860 FIRM_API int is_Block(const ir_node *node);
861 
863 FIRM_API int get_Block_n_cfgpreds(ir_node const *node);
865 FIRM_API ir_node *get_Block_cfgpred(ir_node const *node, int pos);
867 FIRM_API void set_Block_cfgpred(ir_node *node, int pos, ir_node *cfgpred);
870 
872 FIRM_API ir_entity* get_Block_entity(const ir_node *node);
874 FIRM_API void set_Block_entity(ir_node *node, ir_entity* entity);
876 FIRM_API ir_op *op_Block;
877 
879 FIRM_API ir_op *get_op_Block(void);
880 
893 typedef enum {
896 } n_Builtin;
897 
901 typedef enum {
904 } pn_Builtin;
905 
917 FIRM_API ir_node *new_rd_Builtin(dbg_info *dbgi, ir_node *block, ir_node * irn_mem, int arity, ir_node *const * in, ir_builtin_kind kind, ir_type* type);
918 
929 FIRM_API ir_node *new_r_Builtin(ir_node *block, ir_node * irn_mem, int arity, ir_node *const * in, ir_builtin_kind kind, ir_type* type);
930 
941 FIRM_API ir_node *new_d_Builtin(dbg_info *dbgi, ir_node * irn_mem, int arity, ir_node *const * in, ir_builtin_kind kind, ir_type* type);
942 
952 FIRM_API ir_node *new_Builtin(ir_node * irn_mem, int arity, ir_node *const * in, ir_builtin_kind kind, ir_type* type);
953 
958 FIRM_API int is_Builtin(const ir_node *node);
959 
961 FIRM_API ir_node *get_Builtin_mem(const ir_node *node);
963 FIRM_API void set_Builtin_mem(ir_node *node, ir_node *mem);
965 FIRM_API int get_Builtin_n_params(ir_node const *node);
967 FIRM_API ir_node *get_Builtin_param(ir_node const *node, int pos);
969 FIRM_API void set_Builtin_param(ir_node *node, int pos, ir_node *param);
972 
974 FIRM_API ir_builtin_kind get_Builtin_kind(const ir_node *node);
976 FIRM_API void set_Builtin_kind(ir_node *node, ir_builtin_kind kind);
977 
979 FIRM_API ir_type* get_Builtin_type(const ir_node *node);
981 FIRM_API void set_Builtin_type(ir_node *node, ir_type* type);
983 FIRM_API ir_op *op_Builtin;
984 
986 FIRM_API ir_op *get_op_Builtin(void);
987 
1003 typedef enum {
1007 } n_Call;
1008 
1012 typedef enum {
1018 } pn_Call;
1019 
1031 FIRM_API ir_node *new_rd_Call(dbg_info *dbgi, ir_node *block, ir_node * irn_mem, ir_node * irn_ptr, int arity, ir_node *const * in, ir_type* type);
1032 
1043 FIRM_API ir_node *new_r_Call(ir_node *block, ir_node * irn_mem, ir_node * irn_ptr, int arity, ir_node *const * in, ir_type* type);
1044 
1055 FIRM_API ir_node *new_d_Call(dbg_info *dbgi, ir_node * irn_mem, ir_node * irn_ptr, int arity, ir_node *const * in, ir_type* type);
1056 
1066 FIRM_API ir_node *new_Call(ir_node * irn_mem, ir_node * irn_ptr, int arity, ir_node *const * in, ir_type* type);
1067 
1072 FIRM_API int is_Call(const ir_node *node);
1073 
1075 FIRM_API ir_node *get_Call_mem(const ir_node *node);
1077 FIRM_API void set_Call_mem(ir_node *node, ir_node *mem);
1079 FIRM_API ir_node *get_Call_ptr(const ir_node *node);
1081 FIRM_API void set_Call_ptr(ir_node *node, ir_node *ptr);
1083 FIRM_API int get_Call_n_params(ir_node const *node);
1085 FIRM_API ir_node *get_Call_param(ir_node const *node, int pos);
1087 FIRM_API void set_Call_param(ir_node *node, int pos, ir_node *param);
1090 
1092 FIRM_API ir_type* get_Call_type(const ir_node *node);
1094 FIRM_API void set_Call_type(ir_node *node, ir_type* type);
1096 FIRM_API ir_op *op_Call;
1097 
1099 FIRM_API ir_op *get_op_Call(void);
1100 
1114 typedef enum {
1118 } n_Cmp;
1119 
1129 FIRM_API ir_node *new_rd_Cmp(dbg_info *dbgi, ir_node *block, ir_node * irn_left, ir_node * irn_right, ir_relation relation);
1130 
1139 FIRM_API ir_node *new_r_Cmp(ir_node *block, ir_node * irn_left, ir_node * irn_right, ir_relation relation);
1140 
1149 FIRM_API ir_node *new_d_Cmp(dbg_info *dbgi, ir_node * irn_left, ir_node * irn_right, ir_relation relation);
1150 
1158 FIRM_API ir_node *new_Cmp(ir_node * irn_left, ir_node * irn_right, ir_relation relation);
1159 
1164 FIRM_API int is_Cmp(const ir_node *node);
1165 
1167 FIRM_API ir_node *get_Cmp_left(const ir_node *node);
1169 FIRM_API void set_Cmp_left(ir_node *node, ir_node *left);
1171 FIRM_API ir_node *get_Cmp_right(const ir_node *node);
1173 FIRM_API void set_Cmp_right(ir_node *node, ir_node *right);
1174 
1176 FIRM_API ir_relation get_Cmp_relation(const ir_node *node);
1178 FIRM_API void set_Cmp_relation(ir_node *node, ir_relation relation);
1180 FIRM_API ir_op *op_Cmp;
1181 
1183 FIRM_API ir_op *get_op_Cmp(void);
1184 
1197 typedef enum {
1200 } n_Cond;
1201 
1205 typedef enum {
1209 } pn_Cond;
1210 
1218 FIRM_API ir_node *new_rd_Cond(dbg_info *dbgi, ir_node *block, ir_node * irn_selector);
1219 
1226 FIRM_API ir_node *new_r_Cond(ir_node *block, ir_node * irn_selector);
1227 
1234 FIRM_API ir_node *new_d_Cond(dbg_info *dbgi, ir_node * irn_selector);
1235 
1241 FIRM_API ir_node *new_Cond(ir_node * irn_selector);
1242 
1247 FIRM_API int is_Cond(const ir_node *node);
1248 
1250 FIRM_API ir_node *get_Cond_selector(const ir_node *node);
1252 FIRM_API void set_Cond_selector(ir_node *node, ir_node *selector);
1253 
1255 FIRM_API cond_jmp_predicate get_Cond_jmp_pred(const ir_node *node);
1257 FIRM_API void set_Cond_jmp_pred(ir_node *node, cond_jmp_predicate jmp_pred);
1259 FIRM_API ir_op *op_Cond;
1260 
1262 FIRM_API ir_op *get_op_Cond(void);
1263 
1284 typedef enum {
1288 } n_Confirm;
1289 
1299 FIRM_API ir_node *new_rd_Confirm(dbg_info *dbgi, ir_node *block, ir_node * irn_value, ir_node * irn_bound, ir_relation relation);
1300 
1309 FIRM_API ir_node *new_r_Confirm(ir_node *block, ir_node * irn_value, ir_node * irn_bound, ir_relation relation);
1310 
1319 FIRM_API ir_node *new_d_Confirm(dbg_info *dbgi, ir_node * irn_value, ir_node * irn_bound, ir_relation relation);
1320 
1328 FIRM_API ir_node *new_Confirm(ir_node * irn_value, ir_node * irn_bound, ir_relation relation);
1329 
1334 FIRM_API int is_Confirm(const ir_node *node);
1335 
1337 FIRM_API ir_node *get_Confirm_value(const ir_node *node);
1339 FIRM_API void set_Confirm_value(ir_node *node, ir_node *value);
1341 FIRM_API ir_node *get_Confirm_bound(const ir_node *node);
1343 FIRM_API void set_Confirm_bound(ir_node *node, ir_node *bound);
1344 
1346 FIRM_API ir_relation get_Confirm_relation(const ir_node *node);
1348 FIRM_API void set_Confirm_relation(ir_node *node, ir_relation relation);
1350 FIRM_API ir_op *op_Confirm;
1351 
1353 FIRM_API ir_op *get_op_Confirm(void);
1354 
1371 FIRM_API ir_node *new_rd_Const(dbg_info *dbgi, ir_graph *irg, ir_tarval* tarval);
1372 
1379 FIRM_API ir_node *new_r_Const(ir_graph *irg, ir_tarval* tarval);
1380 
1387 FIRM_API ir_node *new_d_Const(dbg_info *dbgi, ir_tarval* tarval);
1388 
1394 FIRM_API ir_node *new_Const(ir_tarval* tarval);
1395 
1400 FIRM_API int is_Const(const ir_node *node);
1401 
1402 
1404 FIRM_API ir_tarval* get_Const_tarval(const ir_node *node);
1406 FIRM_API void set_Const_tarval(ir_node *node, ir_tarval* tarval);
1408 FIRM_API ir_op *op_Const;
1409 
1411 FIRM_API ir_op *get_op_Const(void);
1412 
1425 typedef enum {
1428 } n_Conv;
1429 
1438 FIRM_API ir_node *new_rd_Conv(dbg_info *dbgi, ir_node *block, ir_node * irn_op, ir_mode * mode);
1439 
1447 FIRM_API ir_node *new_r_Conv(ir_node *block, ir_node * irn_op, ir_mode * mode);
1448 
1456 FIRM_API ir_node *new_d_Conv(dbg_info *dbgi, ir_node * irn_op, ir_mode * mode);
1457 
1464 FIRM_API ir_node *new_Conv(ir_node * irn_op, ir_mode * mode);
1465 
1470 FIRM_API int is_Conv(const ir_node *node);
1471 
1473 FIRM_API ir_node *get_Conv_op(const ir_node *node);
1475 FIRM_API void set_Conv_op(ir_node *node, ir_node *op);
1477 FIRM_API ir_op *op_Conv;
1478 
1480 FIRM_API ir_op *get_op_Conv(void);
1481 
1494 typedef enum {
1499 } n_CopyB;
1500 
1512 FIRM_API ir_node *new_rd_CopyB(dbg_info *dbgi, ir_node *block, ir_node * irn_mem, ir_node * irn_dst, ir_node * irn_src, ir_type* type, ir_cons_flags flags);
1513 
1524 FIRM_API ir_node *new_r_CopyB(ir_node *block, ir_node * irn_mem, ir_node * irn_dst, ir_node * irn_src, ir_type* type, ir_cons_flags flags);
1525 
1536 FIRM_API ir_node *new_d_CopyB(dbg_info *dbgi, ir_node * irn_mem, ir_node * irn_dst, ir_node * irn_src, ir_type* type, ir_cons_flags flags);
1537 
1547 FIRM_API ir_node *new_CopyB(ir_node * irn_mem, ir_node * irn_dst, ir_node * irn_src, ir_type* type, ir_cons_flags flags);
1548 
1553 FIRM_API int is_CopyB(const ir_node *node);
1554 
1556 FIRM_API ir_node *get_CopyB_mem(const ir_node *node);
1558 FIRM_API void set_CopyB_mem(ir_node *node, ir_node *mem);
1560 FIRM_API ir_node *get_CopyB_dst(const ir_node *node);
1562 FIRM_API void set_CopyB_dst(ir_node *node, ir_node *dst);
1564 FIRM_API ir_node *get_CopyB_src(const ir_node *node);
1566 FIRM_API void set_CopyB_src(ir_node *node, ir_node *src);
1567 
1569 FIRM_API ir_type* get_CopyB_type(const ir_node *node);
1571 FIRM_API void set_CopyB_type(ir_node *node, ir_type* type);
1572 
1574 FIRM_API ir_volatility get_CopyB_volatility(const ir_node *node);
1576 FIRM_API void set_CopyB_volatility(ir_node *node, ir_volatility volatility);
1578 FIRM_API ir_op *op_CopyB;
1579 
1581 FIRM_API ir_op *get_op_CopyB(void);
1582 
1598 FIRM_API int is_Deleted(const ir_node *node);
1599 
1601 FIRM_API ir_op *op_Deleted;
1602 
1604 FIRM_API ir_op *get_op_Deleted(void);
1605 
1618 typedef enum {
1623 } n_Div;
1624 
1628 typedef enum {
1634 } pn_Div;
1635 
1646 FIRM_API ir_node *new_rd_Div(dbg_info *dbgi, ir_node *block, ir_node * irn_mem, ir_node * irn_left, ir_node * irn_right, int pinned);
1647 
1657 FIRM_API ir_node *new_r_Div(ir_node *block, ir_node * irn_mem, ir_node * irn_left, ir_node * irn_right, int pinned);
1658 
1668 FIRM_API ir_node *new_d_Div(dbg_info *dbgi, ir_node * irn_mem, ir_node * irn_left, ir_node * irn_right, int pinned);
1669 
1678 FIRM_API ir_node *new_Div(ir_node * irn_mem, ir_node * irn_left, ir_node * irn_right, int pinned);
1679 
1684 FIRM_API int is_Div(const ir_node *node);
1685 
1687 FIRM_API ir_node *get_Div_mem(const ir_node *node);
1689 FIRM_API void set_Div_mem(ir_node *node, ir_node *mem);
1691 FIRM_API ir_node *get_Div_left(const ir_node *node);
1693 FIRM_API void set_Div_left(ir_node *node, ir_node *left);
1695 FIRM_API ir_node *get_Div_right(const ir_node *node);
1697 FIRM_API void set_Div_right(ir_node *node, ir_node *right);
1698 
1700 FIRM_API ir_mode* get_Div_resmode(const ir_node *node);
1702 FIRM_API void set_Div_resmode(ir_node *node, ir_mode* resmode);
1703 
1705 FIRM_API int get_Div_no_remainder(const ir_node *node);
1707 FIRM_API void set_Div_no_remainder(ir_node *node, int no_remainder);
1709 FIRM_API ir_op *op_Div;
1710 
1712 FIRM_API ir_op *get_op_Div(void);
1713 
1732 FIRM_API ir_node *new_rd_Dummy(dbg_info *dbgi, ir_graph *irg, ir_mode * mode);
1733 
1740 FIRM_API ir_node *new_r_Dummy(ir_graph *irg, ir_mode * mode);
1741 
1748 FIRM_API ir_node *new_d_Dummy(dbg_info *dbgi, ir_mode * mode);
1749 
1755 FIRM_API ir_node *new_Dummy(ir_mode * mode);
1756 
1761 FIRM_API int is_Dummy(const ir_node *node);
1762 
1764 FIRM_API ir_op *op_Dummy;
1765 
1767 FIRM_API ir_op *get_op_Dummy(void);
1768 
1787 FIRM_API ir_node *new_rd_End(dbg_info *dbgi, ir_graph *irg, int arity, ir_node *const * in);
1788 
1796 FIRM_API ir_node *new_r_End(ir_graph *irg, int arity, ir_node *const * in);
1797 
1805 FIRM_API ir_node *new_d_End(dbg_info *dbgi, int arity, ir_node *const * in);
1806 
1813 FIRM_API ir_node *new_End(int arity, ir_node *const * in);
1814 
1819 FIRM_API int is_End(const ir_node *node);
1820 
1822 FIRM_API int get_End_n_keepalives(ir_node const *node);
1824 FIRM_API ir_node *get_End_keepalive(ir_node const *node, int pos);
1826 FIRM_API void set_End_keepalive(ir_node *node, int pos, ir_node *keepalive);
1830 FIRM_API ir_op *op_End;
1831 
1833 FIRM_API ir_op *get_op_End(void);
1834 
1849 typedef enum {
1853 } n_Eor;
1854 
1863 FIRM_API ir_node *new_rd_Eor(dbg_info *dbgi, ir_node *block, ir_node * irn_left, ir_node * irn_right);
1864 
1872 FIRM_API ir_node *new_r_Eor(ir_node *block, ir_node * irn_left, ir_node * irn_right);
1873 
1881 FIRM_API ir_node *new_d_Eor(dbg_info *dbgi, ir_node * irn_left, ir_node * irn_right);
1882 
1889 FIRM_API ir_node *new_Eor(ir_node * irn_left, ir_node * irn_right);
1890 
1895 FIRM_API int is_Eor(const ir_node *node);
1896 
1898 FIRM_API ir_node *get_Eor_left(const ir_node *node);
1900 FIRM_API void set_Eor_left(ir_node *node, ir_node *left);
1902 FIRM_API ir_node *get_Eor_right(const ir_node *node);
1904 FIRM_API void set_Eor_right(ir_node *node, ir_node *right);
1906 FIRM_API ir_op *op_Eor;
1907 
1909 FIRM_API ir_op *get_op_Eor(void);
1910 
1923 typedef enum {
1927 } n_Free;
1928 
1937 FIRM_API ir_node *new_rd_Free(dbg_info *dbgi, ir_node *block, ir_node * irn_mem, ir_node * irn_ptr);
1938 
1946 FIRM_API ir_node *new_r_Free(ir_node *block, ir_node * irn_mem, ir_node * irn_ptr);
1947 
1955 FIRM_API ir_node *new_d_Free(dbg_info *dbgi, ir_node * irn_mem, ir_node * irn_ptr);
1956 
1963 FIRM_API ir_node *new_Free(ir_node * irn_mem, ir_node * irn_ptr);
1964 
1969 FIRM_API int is_Free(const ir_node *node);
1970 
1972 FIRM_API ir_node *get_Free_mem(const ir_node *node);
1974 FIRM_API void set_Free_mem(ir_node *node, ir_node *mem);
1976 FIRM_API ir_node *get_Free_ptr(const ir_node *node);
1978 FIRM_API void set_Free_ptr(ir_node *node, ir_node *ptr);
1980 FIRM_API ir_op *op_Free;
1981 
1983 FIRM_API ir_op *get_op_Free(void);
1984 
1999 typedef enum {
2002 } n_IJmp;
2003 
2011 FIRM_API ir_node *new_rd_IJmp(dbg_info *dbgi, ir_node *block, ir_node * irn_target);
2012 
2019 FIRM_API ir_node *new_r_IJmp(ir_node *block, ir_node * irn_target);
2020 
2027 FIRM_API ir_node *new_d_IJmp(dbg_info *dbgi, ir_node * irn_target);
2028 
2034 FIRM_API ir_node *new_IJmp(ir_node * irn_target);
2035 
2040 FIRM_API int is_IJmp(const ir_node *node);
2041 
2043 FIRM_API ir_node *get_IJmp_target(const ir_node *node);
2045 FIRM_API void set_IJmp_target(ir_node *node, ir_node *target);
2047 FIRM_API ir_op *op_IJmp;
2048 
2050 FIRM_API ir_op *get_op_IJmp(void);
2051 
2067 typedef enum {
2070 } n_Id;
2071 
2072 
2077 FIRM_API int is_Id(const ir_node *node);
2078 
2080 FIRM_API ir_node *get_Id_pred(const ir_node *node);
2082 FIRM_API void set_Id_pred(ir_node *node, ir_node *pred);
2084 FIRM_API ir_op *op_Id;
2085 
2087 FIRM_API ir_op *get_op_Id(void);
2088 
2104 FIRM_API ir_node *new_rd_Jmp(dbg_info *dbgi, ir_node *block);
2105 
2111 FIRM_API ir_node *new_r_Jmp(ir_node *block);
2112 
2118 FIRM_API ir_node *new_d_Jmp(dbg_info *dbgi);
2119 
2124 FIRM_API ir_node *new_Jmp(void);
2125 
2130 FIRM_API int is_Jmp(const ir_node *node);
2131 
2133 FIRM_API ir_op *op_Jmp;
2134 
2136 FIRM_API ir_op *get_op_Jmp(void);
2137 
2150 typedef enum {
2154 } n_Load;
2155 
2159 typedef enum {
2165 } pn_Load;
2166 
2178 FIRM_API ir_node *new_rd_Load(dbg_info *dbgi, ir_node *block, ir_node * irn_mem, ir_node * irn_ptr, ir_mode* mode, ir_type* type, ir_cons_flags flags);
2179 
2190 FIRM_API ir_node *new_r_Load(ir_node *block, ir_node * irn_mem, ir_node * irn_ptr, ir_mode* mode, ir_type* type, ir_cons_flags flags);
2191 
2202 FIRM_API ir_node *new_d_Load(dbg_info *dbgi, ir_node * irn_mem, ir_node * irn_ptr, ir_mode* mode, ir_type* type, ir_cons_flags flags);
2203 
2213 FIRM_API ir_node *new_Load(ir_node * irn_mem, ir_node * irn_ptr, ir_mode* mode, ir_type* type, ir_cons_flags flags);
2214 
2219 FIRM_API int is_Load(const ir_node *node);
2220 
2222 FIRM_API ir_node *get_Load_mem(const ir_node *node);
2224 FIRM_API void set_Load_mem(ir_node *node, ir_node *mem);
2226 FIRM_API ir_node *get_Load_ptr(const ir_node *node);
2228 FIRM_API void set_Load_ptr(ir_node *node, ir_node *ptr);
2229 
2231 FIRM_API ir_mode* get_Load_mode(const ir_node *node);
2233 FIRM_API void set_Load_mode(ir_node *node, ir_mode* mode);
2234 
2236 FIRM_API ir_type* get_Load_type(const ir_node *node);
2238 FIRM_API void set_Load_type(ir_node *node, ir_type* type);
2239 
2241 FIRM_API ir_volatility get_Load_volatility(const ir_node *node);
2243 FIRM_API void set_Load_volatility(ir_node *node, ir_volatility volatility);
2244 
2246 FIRM_API ir_align get_Load_unaligned(const ir_node *node);
2248 FIRM_API void set_Load_unaligned(ir_node *node, ir_align unaligned);
2250 FIRM_API ir_op *op_Load;
2251 
2253 FIRM_API ir_op *get_op_Load(void);
2254 
2270 typedef enum {
2273 } n_Member;
2274 
2283 FIRM_API ir_node *new_rd_Member(dbg_info *dbgi, ir_node *block, ir_node * irn_ptr, ir_entity* entity);
2284 
2292 FIRM_API ir_node *new_r_Member(ir_node *block, ir_node * irn_ptr, ir_entity* entity);
2293 
2301 FIRM_API ir_node *new_d_Member(dbg_info *dbgi, ir_node * irn_ptr, ir_entity* entity);
2302 
2309 FIRM_API ir_node *new_Member(ir_node * irn_ptr, ir_entity* entity);
2310 
2315 FIRM_API int is_Member(const ir_node *node);
2316 
2318 FIRM_API ir_node *get_Member_ptr(const ir_node *node);
2320 FIRM_API void set_Member_ptr(ir_node *node, ir_node *ptr);
2321 
2323 FIRM_API ir_entity* get_Member_entity(const ir_node *node);
2325 FIRM_API void set_Member_entity(ir_node *node, ir_entity* entity);
2327 FIRM_API ir_op *op_Member;
2328 
2330 FIRM_API ir_op *get_op_Member(void);
2331 
2344 typedef enum {
2347 } n_Minus;
2348 
2356 FIRM_API ir_node *new_rd_Minus(dbg_info *dbgi, ir_node *block, ir_node * irn_op);
2357 
2364 FIRM_API ir_node *new_r_Minus(ir_node *block, ir_node * irn_op);
2365 
2372 FIRM_API ir_node *new_d_Minus(dbg_info *dbgi, ir_node * irn_op);
2373 
2379 FIRM_API ir_node *new_Minus(ir_node * irn_op);
2380 
2385 FIRM_API int is_Minus(const ir_node *node);
2386 
2388 FIRM_API ir_node *get_Minus_op(const ir_node *node);
2390 FIRM_API void set_Minus_op(ir_node *node, ir_node *op);
2392 FIRM_API ir_op *op_Minus;
2393 
2395 FIRM_API ir_op *get_op_Minus(void);
2396 
2416 typedef enum {
2421 } n_Mod;
2422 
2426 typedef enum {
2432 } pn_Mod;
2433 
2444 FIRM_API ir_node *new_rd_Mod(dbg_info *dbgi, ir_node *block, ir_node * irn_mem, ir_node * irn_left, ir_node * irn_right, int pinned);
2445 
2455 FIRM_API ir_node *new_r_Mod(ir_node *block, ir_node * irn_mem, ir_node * irn_left, ir_node * irn_right, int pinned);
2456 
2466 FIRM_API ir_node *new_d_Mod(dbg_info *dbgi, ir_node * irn_mem, ir_node * irn_left, ir_node * irn_right, int pinned);
2467 
2476 FIRM_API ir_node *new_Mod(ir_node * irn_mem, ir_node * irn_left, ir_node * irn_right, int pinned);
2477 
2482 FIRM_API int is_Mod(const ir_node *node);
2483 
2485 FIRM_API ir_node *get_Mod_mem(const ir_node *node);
2487 FIRM_API void set_Mod_mem(ir_node *node, ir_node *mem);
2489 FIRM_API ir_node *get_Mod_left(const ir_node *node);
2491 FIRM_API void set_Mod_left(ir_node *node, ir_node *left);
2493 FIRM_API ir_node *get_Mod_right(const ir_node *node);
2495 FIRM_API void set_Mod_right(ir_node *node, ir_node *right);
2496 
2498 FIRM_API ir_mode* get_Mod_resmode(const ir_node *node);
2500 FIRM_API void set_Mod_resmode(ir_node *node, ir_mode* resmode);
2502 FIRM_API ir_op *op_Mod;
2503 
2505 FIRM_API ir_op *get_op_Mod(void);
2506 
2519 typedef enum {
2523 } n_Mul;
2524 
2533 FIRM_API ir_node *new_rd_Mul(dbg_info *dbgi, ir_node *block, ir_node * irn_left, ir_node * irn_right);
2534 
2542 FIRM_API ir_node *new_r_Mul(ir_node *block, ir_node * irn_left, ir_node * irn_right);
2543 
2551 FIRM_API ir_node *new_d_Mul(dbg_info *dbgi, ir_node * irn_left, ir_node * irn_right);
2552 
2559 FIRM_API ir_node *new_Mul(ir_node * irn_left, ir_node * irn_right);
2560 
2565 FIRM_API int is_Mul(const ir_node *node);
2566 
2568 FIRM_API ir_node *get_Mul_left(const ir_node *node);
2570 FIRM_API void set_Mul_left(ir_node *node, ir_node *left);
2572 FIRM_API ir_node *get_Mul_right(const ir_node *node);
2574 FIRM_API void set_Mul_right(ir_node *node, ir_node *right);
2576 FIRM_API ir_op *op_Mul;
2577 
2579 FIRM_API ir_op *get_op_Mul(void);
2580 
2594 typedef enum {
2598 } n_Mulh;
2599 
2608 FIRM_API ir_node *new_rd_Mulh(dbg_info *dbgi, ir_node *block, ir_node * irn_left, ir_node * irn_right);
2609 
2617 FIRM_API ir_node *new_r_Mulh(ir_node *block, ir_node * irn_left, ir_node * irn_right);
2618 
2626 FIRM_API ir_node *new_d_Mulh(dbg_info *dbgi, ir_node * irn_left, ir_node * irn_right);
2627 
2634 FIRM_API ir_node *new_Mulh(ir_node * irn_left, ir_node * irn_right);
2635 
2640 FIRM_API int is_Mulh(const ir_node *node);
2641 
2643 FIRM_API ir_node *get_Mulh_left(const ir_node *node);
2645 FIRM_API void set_Mulh_left(ir_node *node, ir_node *left);
2647 FIRM_API ir_node *get_Mulh_right(const ir_node *node);
2649 FIRM_API void set_Mulh_right(ir_node *node, ir_node *right);
2651 FIRM_API ir_op *op_Mulh;
2652 
2654 FIRM_API ir_op *get_op_Mulh(void);
2655 
2669 typedef enum {
2674 } n_Mux;
2675 
2685 FIRM_API ir_node *new_rd_Mux(dbg_info *dbgi, ir_node *block, ir_node * irn_sel, ir_node * irn_false, ir_node * irn_true);
2686 
2695 FIRM_API ir_node *new_r_Mux(ir_node *block, ir_node * irn_sel, ir_node * irn_false, ir_node * irn_true);
2696 
2705 FIRM_API ir_node *new_d_Mux(dbg_info *dbgi, ir_node * irn_sel, ir_node * irn_false, ir_node * irn_true);
2706 
2714 FIRM_API ir_node *new_Mux(ir_node * irn_sel, ir_node * irn_false, ir_node * irn_true);
2715 
2720 FIRM_API int is_Mux(const ir_node *node);
2721 
2723 FIRM_API ir_node *get_Mux_sel(const ir_node *node);
2725 FIRM_API void set_Mux_sel(ir_node *node, ir_node *sel);
2727 FIRM_API ir_node *get_Mux_false(const ir_node *node);
2729 FIRM_API void set_Mux_false(ir_node *node, ir_node *false_);
2731 FIRM_API ir_node *get_Mux_true(const ir_node *node);
2733 FIRM_API void set_Mux_true(ir_node *node, ir_node *true_);
2735 FIRM_API ir_op *op_Mux;
2736 
2738 FIRM_API ir_op *get_op_Mux(void);
2739 
2755 FIRM_API ir_node *new_rd_NoMem(dbg_info *dbgi, ir_graph *irg);
2756 
2762 FIRM_API ir_node *new_r_NoMem(ir_graph *irg);
2763 
2769 FIRM_API ir_node *new_d_NoMem(dbg_info *dbgi);
2770 
2775 FIRM_API ir_node *new_NoMem(void);
2776 
2781 FIRM_API int is_NoMem(const ir_node *node);
2782 
2784 FIRM_API ir_op *op_NoMem;
2785 
2787 FIRM_API ir_op *get_op_NoMem(void);
2788 
2801 typedef enum {
2804 } n_Not;
2805 
2813 FIRM_API ir_node *new_rd_Not(dbg_info *dbgi, ir_node *block, ir_node * irn_op);
2814 
2821 FIRM_API ir_node *new_r_Not(ir_node *block, ir_node * irn_op);
2822 
2829 FIRM_API ir_node *new_d_Not(dbg_info *dbgi, ir_node * irn_op);
2830 
2836 FIRM_API ir_node *new_Not(ir_node * irn_op);
2837 
2842 FIRM_API int is_Not(const ir_node *node);
2843 
2845 FIRM_API ir_node *get_Not_op(const ir_node *node);
2847 FIRM_API void set_Not_op(ir_node *node, ir_node *op);
2849 FIRM_API ir_op *op_Not;
2850 
2852 FIRM_API ir_op *get_op_Not(void);
2853 
2871 FIRM_API ir_node *new_rd_Offset(dbg_info *dbgi, ir_graph *irg, ir_mode * mode, ir_entity* entity);
2872 
2880 FIRM_API ir_node *new_r_Offset(ir_graph *irg, ir_mode * mode, ir_entity* entity);
2881 
2889 FIRM_API ir_node *new_d_Offset(dbg_info *dbgi, ir_mode * mode, ir_entity* entity);
2890 
2897 FIRM_API ir_node *new_Offset(ir_mode * mode, ir_entity* entity);
2898 
2903 FIRM_API int is_Offset(const ir_node *node);
2904 
2905 
2907 FIRM_API ir_entity* get_Offset_entity(const ir_node *node);
2909 FIRM_API void set_Offset_entity(ir_node *node, ir_entity* entity);
2911 FIRM_API ir_op *op_Offset;
2912 
2914 FIRM_API ir_op *get_op_Offset(void);
2915 
2928 typedef enum {
2932 } n_Or;
2933 
2942 FIRM_API ir_node *new_rd_Or(dbg_info *dbgi, ir_node *block, ir_node * irn_left, ir_node * irn_right);
2943 
2951 FIRM_API ir_node *new_r_Or(ir_node *block, ir_node * irn_left, ir_node * irn_right);
2952 
2960 FIRM_API ir_node *new_d_Or(dbg_info *dbgi, ir_node * irn_left, ir_node * irn_right);
2961 
2968 FIRM_API ir_node *new_Or(ir_node * irn_left, ir_node * irn_right);
2969 
2974 FIRM_API int is_Or(const ir_node *node);
2975 
2977 FIRM_API ir_node *get_Or_left(const ir_node *node);
2979 FIRM_API void set_Or_left(ir_node *node, ir_node *left);
2981 FIRM_API ir_node *get_Or_right(const ir_node *node);
2983 FIRM_API void set_Or_right(ir_node *node, ir_node *right);
2985 FIRM_API ir_op *op_Or;
2986 
2988 FIRM_API ir_op *get_op_Or(void);
2989 
3010 FIRM_API ir_node *new_rd_Phi(dbg_info *dbgi, ir_node *block, int arity, ir_node *const * in, ir_mode * mode);
3011 
3020 FIRM_API ir_node *new_r_Phi(ir_node *block, int arity, ir_node *const * in, ir_mode * mode);
3021 
3030 FIRM_API ir_node *new_d_Phi(dbg_info *dbgi, int arity, ir_node *const * in, ir_mode * mode);
3031 
3039 FIRM_API ir_node *new_Phi(int arity, ir_node *const * in, ir_mode * mode);
3040 
3045 FIRM_API int is_Phi(const ir_node *node);
3046 
3048 FIRM_API int get_Phi_n_preds(ir_node const *node);
3050 FIRM_API ir_node *get_Phi_pred(ir_node const *node, int pos);
3052 FIRM_API void set_Phi_pred(ir_node *node, int pos, ir_node *pred);
3055 
3057 FIRM_API int get_Phi_loop(const ir_node *node);
3059 FIRM_API void set_Phi_loop(ir_node *node, int loop);
3061 FIRM_API ir_op *op_Phi;
3062 
3064 FIRM_API ir_op *get_op_Phi(void);
3065 
3080 typedef enum {
3083 } n_Pin;
3084 
3092 FIRM_API ir_node *new_rd_Pin(dbg_info *dbgi, ir_node *block, ir_node * irn_op);
3093 
3100 FIRM_API ir_node *new_r_Pin(ir_node *block, ir_node * irn_op);
3101 
3108 FIRM_API ir_node *new_d_Pin(dbg_info *dbgi, ir_node * irn_op);
3109 
3115 FIRM_API ir_node *new_Pin(ir_node * irn_op);
3116 
3121 FIRM_API int is_Pin(const ir_node *node);
3122 
3124 FIRM_API ir_node *get_Pin_op(const ir_node *node);
3126 FIRM_API void set_Pin_op(ir_node *node, ir_node *op);
3128 FIRM_API ir_op *op_Pin;
3129 
3131 FIRM_API ir_op *get_op_Pin(void);
3132 
3145 typedef enum {
3148 } n_Proj;
3149 
3158 FIRM_API ir_node *new_rd_Proj(dbg_info *dbgi, ir_node * irn_pred, ir_mode * mode, unsigned num);
3159 
3167 FIRM_API ir_node *new_r_Proj(ir_node * irn_pred, ir_mode * mode, unsigned num);
3168 
3177 FIRM_API ir_node *new_d_Proj(dbg_info *dbgi, ir_node * irn_pred, ir_mode * mode, unsigned num);
3178 
3186 FIRM_API ir_node *new_Proj(ir_node * irn_pred, ir_mode * mode, unsigned num);
3187 
3192 FIRM_API int is_Proj(const ir_node *node);
3193 
3195 FIRM_API ir_node *get_Proj_pred(const ir_node *node);
3197 FIRM_API void set_Proj_pred(ir_node *node, ir_node *pred);
3198 
3200 FIRM_API unsigned get_Proj_num(const ir_node *node);
3202 FIRM_API void set_Proj_num(ir_node *node, unsigned num);
3204 FIRM_API ir_op *op_Proj;
3205 
3207 FIRM_API ir_op *get_op_Proj(void);
3208 
3223 typedef enum {
3227 } n_Raise;
3228 
3232 typedef enum {
3236 } pn_Raise;
3237 
3246 FIRM_API ir_node *new_rd_Raise(dbg_info *dbgi, ir_node *block, ir_node * irn_mem, ir_node * irn_exo_ptr);
3247 
3255 FIRM_API ir_node *new_r_Raise(ir_node *block, ir_node * irn_mem, ir_node * irn_exo_ptr);
3256 
3264 FIRM_API ir_node *new_d_Raise(dbg_info *dbgi, ir_node * irn_mem, ir_node * irn_exo_ptr);
3265 
3272 FIRM_API ir_node *new_Raise(ir_node * irn_mem, ir_node * irn_exo_ptr);
3273 
3278 FIRM_API int is_Raise(const ir_node *node);
3279 
3281 FIRM_API ir_node *get_Raise_mem(const ir_node *node);
3283 FIRM_API void set_Raise_mem(ir_node *node, ir_node *mem);
3285 FIRM_API ir_node *get_Raise_exo_ptr(const ir_node *node);
3287 FIRM_API void set_Raise_exo_ptr(ir_node *node, ir_node *exo_ptr);
3289 FIRM_API ir_op *op_Raise;
3290 
3292 FIRM_API ir_op *get_op_Raise(void);
3293 
3307 typedef enum {
3310 } n_Return;
3311 
3321 FIRM_API ir_node *new_rd_Return(dbg_info *dbgi, ir_node *block, ir_node * irn_mem, int arity, ir_node *const * in);
3322 
3331 FIRM_API ir_node *new_r_Return(ir_node *block, ir_node * irn_mem, int arity, ir_node *const * in);
3332 
3341 FIRM_API ir_node *new_d_Return(dbg_info *dbgi, ir_node * irn_mem, int arity, ir_node *const * in);
3342 
3350 FIRM_API ir_node *new_Return(ir_node * irn_mem, int arity, ir_node *const * in);
3351 
3356 FIRM_API int is_Return(const ir_node *node);
3357 
3359 FIRM_API ir_node *get_Return_mem(const ir_node *node);
3361 FIRM_API void set_Return_mem(ir_node *node, ir_node *mem);
3363 FIRM_API int get_Return_n_ress(ir_node const *node);
3365 FIRM_API ir_node *get_Return_res(ir_node const *node, int pos);
3367 FIRM_API void set_Return_res(ir_node *node, int pos, ir_node *res);
3371 FIRM_API ir_op *op_Return;
3372 
3374 FIRM_API ir_op *get_op_Return(void);
3375 
3391 typedef enum {
3395 } n_Sel;
3396 
3406 FIRM_API ir_node *new_rd_Sel(dbg_info *dbgi, ir_node *block, ir_node * irn_ptr, ir_node * irn_index, ir_type* type);
3407 
3416 FIRM_API ir_node *new_r_Sel(ir_node *block, ir_node * irn_ptr, ir_node * irn_index, ir_type* type);
3417 
3426 FIRM_API ir_node *new_d_Sel(dbg_info *dbgi, ir_node * irn_ptr, ir_node * irn_index, ir_type* type);
3427 
3435 FIRM_API ir_node *new_Sel(ir_node * irn_ptr, ir_node * irn_index, ir_type* type);
3436 
3441 FIRM_API int is_Sel(const ir_node *node);
3442 
3444 FIRM_API ir_node *get_Sel_ptr(const ir_node *node);
3446 FIRM_API void set_Sel_ptr(ir_node *node, ir_node *ptr);
3448 FIRM_API ir_node *get_Sel_index(const ir_node *node);
3450 FIRM_API void set_Sel_index(ir_node *node, ir_node *index);
3451 
3453 FIRM_API ir_type* get_Sel_type(const ir_node *node);
3455 FIRM_API void set_Sel_type(ir_node *node, ir_type* type);
3457 FIRM_API ir_op *op_Sel;
3458 
3460 FIRM_API ir_op *get_op_Sel(void);
3461 
3478 typedef enum {
3482 } n_Shl;
3483 
3492 FIRM_API ir_node *new_rd_Shl(dbg_info *dbgi, ir_node *block, ir_node * irn_left, ir_node * irn_right);
3493 
3501 FIRM_API ir_node *new_r_Shl(ir_node *block, ir_node * irn_left, ir_node * irn_right);
3502 
3510 FIRM_API ir_node *new_d_Shl(dbg_info *dbgi, ir_node * irn_left, ir_node * irn_right);
3511 
3518 FIRM_API ir_node *new_Shl(ir_node * irn_left, ir_node * irn_right);
3519 
3524 FIRM_API int is_Shl(const ir_node *node);
3525 
3527 FIRM_API ir_node *get_Shl_left(const ir_node *node);
3529 FIRM_API void set_Shl_left(ir_node *node, ir_node *left);
3531 FIRM_API ir_node *get_Shl_right(const ir_node *node);
3533 FIRM_API void set_Shl_right(ir_node *node, ir_node *right);
3535 FIRM_API ir_op *op_Shl;
3536 
3538 FIRM_API ir_op *get_op_Shl(void);
3539 
3556 typedef enum {
3560 } n_Shr;
3561 
3570 FIRM_API ir_node *new_rd_Shr(dbg_info *dbgi, ir_node *block, ir_node * irn_left, ir_node * irn_right);
3571 
3579 FIRM_API ir_node *new_r_Shr(ir_node *block, ir_node * irn_left, ir_node * irn_right);
3580 
3588 FIRM_API ir_node *new_d_Shr(dbg_info *dbgi, ir_node * irn_left, ir_node * irn_right);
3589 
3596 FIRM_API ir_node *new_Shr(ir_node * irn_left, ir_node * irn_right);
3597 
3602 FIRM_API int is_Shr(const ir_node *node);
3603 
3605 FIRM_API ir_node *get_Shr_left(const ir_node *node);
3607 FIRM_API void set_Shr_left(ir_node *node, ir_node *left);
3609 FIRM_API ir_node *get_Shr_right(const ir_node *node);
3611 FIRM_API void set_Shr_right(ir_node *node, ir_node *right);
3613 FIRM_API ir_op *op_Shr;
3614 
3616 FIRM_API ir_op *get_op_Shr(void);
3617 
3635 typedef enum {
3639 } n_Shrs;
3640 
3649 FIRM_API ir_node *new_rd_Shrs(dbg_info *dbgi, ir_node *block, ir_node * irn_left, ir_node * irn_right);
3650 
3658 FIRM_API ir_node *new_r_Shrs(ir_node *block, ir_node * irn_left, ir_node * irn_right);
3659 
3667 FIRM_API ir_node *new_d_Shrs(dbg_info *dbgi, ir_node * irn_left, ir_node * irn_right);
3668 
3675 FIRM_API ir_node *new_Shrs(ir_node * irn_left, ir_node * irn_right);
3676 
3681 FIRM_API int is_Shrs(const ir_node *node);
3682 
3684 FIRM_API ir_node *get_Shrs_left(const ir_node *node);
3686 FIRM_API void set_Shrs_left(ir_node *node, ir_node *left);
3688 FIRM_API ir_node *get_Shrs_right(const ir_node *node);
3690 FIRM_API void set_Shrs_right(ir_node *node, ir_node *right);
3692 FIRM_API ir_op *op_Shrs;
3693 
3695 FIRM_API ir_op *get_op_Shrs(void);
3696 
3714 FIRM_API ir_node *new_rd_Size(dbg_info *dbgi, ir_graph *irg, ir_mode * mode, ir_type* type);
3715 
3723 FIRM_API ir_node *new_r_Size(ir_graph *irg, ir_mode * mode, ir_type* type);
3724 
3732 FIRM_API ir_node *new_d_Size(dbg_info *dbgi, ir_mode * mode, ir_type* type);
3733 
3740 FIRM_API ir_node *new_Size(ir_mode * mode, ir_type* type);
3741 
3746 FIRM_API int is_Size(const ir_node *node);
3747 
3748 
3750 FIRM_API ir_type* get_Size_type(const ir_node *node);
3752 FIRM_API void set_Size_type(ir_node *node, ir_type* type);
3754 FIRM_API ir_op *op_Size;
3755 
3757 FIRM_API ir_op *get_op_Size(void);
3758 
3771 typedef enum {
3776 } pn_Start;
3777 
3784 FIRM_API ir_node *new_rd_Start(dbg_info *dbgi, ir_graph *irg);
3785 
3791 FIRM_API ir_node *new_r_Start(ir_graph *irg);
3792 
3798 FIRM_API ir_node *new_d_Start(dbg_info *dbgi);
3799 
3804 FIRM_API ir_node *new_Start(void);
3805 
3810 FIRM_API int is_Start(const ir_node *node);
3811 
3813 FIRM_API ir_op *op_Start;
3814 
3816 FIRM_API ir_op *get_op_Start(void);
3817 
3830 typedef enum {
3835 } n_Store;
3836 
3840 typedef enum {
3845 } pn_Store;
3846 
3858 FIRM_API ir_node *new_rd_Store(dbg_info *dbgi, ir_node *block, ir_node * irn_mem, ir_node * irn_ptr, ir_node * irn_value, ir_type* type, ir_cons_flags flags);
3859 
3870 FIRM_API ir_node *new_r_Store(ir_node *block, ir_node * irn_mem, ir_node * irn_ptr, ir_node * irn_value, ir_type* type, ir_cons_flags flags);
3871 
3882 FIRM_API ir_node *new_d_Store(dbg_info *dbgi, ir_node * irn_mem, ir_node * irn_ptr, ir_node * irn_value, ir_type* type, ir_cons_flags flags);
3883 
3893 FIRM_API ir_node *new_Store(ir_node * irn_mem, ir_node * irn_ptr, ir_node * irn_value, ir_type* type, ir_cons_flags flags);
3894 
3899 FIRM_API int is_Store(const ir_node *node);
3900 
3902 FIRM_API ir_node *get_Store_mem(const ir_node *node);
3904 FIRM_API void set_Store_mem(ir_node *node, ir_node *mem);
3906 FIRM_API ir_node *get_Store_ptr(const ir_node *node);
3908 FIRM_API void set_Store_ptr(ir_node *node, ir_node *ptr);
3910 FIRM_API ir_node *get_Store_value(const ir_node *node);
3912 FIRM_API void set_Store_value(ir_node *node, ir_node *value);
3913 
3915 FIRM_API ir_type* get_Store_type(const ir_node *node);
3917 FIRM_API void set_Store_type(ir_node *node, ir_type* type);
3918 
3920 FIRM_API ir_volatility get_Store_volatility(const ir_node *node);
3922 FIRM_API void set_Store_volatility(ir_node *node, ir_volatility volatility);
3923 
3925 FIRM_API ir_align get_Store_unaligned(const ir_node *node);
3927 FIRM_API void set_Store_unaligned(ir_node *node, ir_align unaligned);
3929 FIRM_API ir_op *op_Store;
3930 
3932 FIRM_API ir_op *get_op_Store(void);
3933 
3946 typedef enum {
3950 } n_Sub;
3951 
3960 FIRM_API ir_node *new_rd_Sub(dbg_info *dbgi, ir_node *block, ir_node * irn_left, ir_node * irn_right);
3961 
3969 FIRM_API ir_node *new_r_Sub(ir_node *block, ir_node * irn_left, ir_node * irn_right);
3970 
3978 FIRM_API ir_node *new_d_Sub(dbg_info *dbgi, ir_node * irn_left, ir_node * irn_right);
3979 
3986 FIRM_API ir_node *new_Sub(ir_node * irn_left, ir_node * irn_right);
3987 
3992 FIRM_API int is_Sub(const ir_node *node);
3993 
3995 FIRM_API ir_node *get_Sub_left(const ir_node *node);
3997 FIRM_API void set_Sub_left(ir_node *node, ir_node *left);
3999 FIRM_API ir_node *get_Sub_right(const ir_node *node);
4001 FIRM_API void set_Sub_right(ir_node *node, ir_node *right);
4003 FIRM_API ir_op *op_Sub;
4004 
4006 FIRM_API ir_op *get_op_Sub(void);
4007 
4023 typedef enum {
4026 } n_Switch;
4027 
4031 typedef enum {
4034 } pn_Switch;
4035 
4045 FIRM_API ir_node *new_rd_Switch(dbg_info *dbgi, ir_node *block, ir_node * irn_selector, unsigned n_outs, ir_switch_table* table);
4046 
4055 FIRM_API ir_node *new_r_Switch(ir_node *block, ir_node * irn_selector, unsigned n_outs, ir_switch_table* table);
4056 
4065 FIRM_API ir_node *new_d_Switch(dbg_info *dbgi, ir_node * irn_selector, unsigned n_outs, ir_switch_table* table);
4066 
4074 FIRM_API ir_node *new_Switch(ir_node * irn_selector, unsigned n_outs, ir_switch_table* table);
4075 
4080 FIRM_API int is_Switch(const ir_node *node);
4081 
4083 FIRM_API ir_node *get_Switch_selector(const ir_node *node);
4085 FIRM_API void set_Switch_selector(ir_node *node, ir_node *selector);
4086 
4088 FIRM_API unsigned get_Switch_n_outs(const ir_node *node);
4090 FIRM_API void set_Switch_n_outs(ir_node *node, unsigned n_outs);
4091 
4093 FIRM_API ir_switch_table* get_Switch_table(const ir_node *node);
4095 FIRM_API void set_Switch_table(ir_node *node, ir_switch_table* table);
4097 FIRM_API ir_op *op_Switch;
4098 
4100 FIRM_API ir_op *get_op_Switch(void);
4101 
4123 FIRM_API ir_node *new_rd_Sync(dbg_info *dbgi, ir_node *block, int arity, ir_node *const * in);
4124 
4132 FIRM_API ir_node *new_r_Sync(ir_node *block, int arity, ir_node *const * in);
4133 
4141 FIRM_API ir_node *new_d_Sync(dbg_info *dbgi, int arity, ir_node *const * in);
4142 
4149 FIRM_API ir_node *new_Sync(int arity, ir_node *const * in);
4150 
4155 FIRM_API int is_Sync(const ir_node *node);
4156 
4158 FIRM_API int get_Sync_n_preds(ir_node const *node);
4160 FIRM_API ir_node *get_Sync_pred(ir_node const *node, int pos);
4162 FIRM_API void set_Sync_pred(ir_node *node, int pos, ir_node *pred);
4166 FIRM_API ir_op *op_Sync;
4167 
4169 FIRM_API ir_op *get_op_Sync(void);
4170 
4195 FIRM_API ir_node *new_rd_Tuple(dbg_info *dbgi, ir_node *block, int arity, ir_node *const * in);
4196 
4204 FIRM_API ir_node *new_r_Tuple(ir_node *block, int arity, ir_node *const * in);
4205 
4213 FIRM_API ir_node *new_d_Tuple(dbg_info *dbgi, int arity, ir_node *const * in);
4214 
4221 FIRM_API ir_node *new_Tuple(int arity, ir_node *const * in);
4222 
4227 FIRM_API int is_Tuple(const ir_node *node);
4228 
4230 FIRM_API int get_Tuple_n_preds(ir_node const *node);
4232 FIRM_API ir_node *get_Tuple_pred(ir_node const *node, int pos);
4234 FIRM_API void set_Tuple_pred(ir_node *node, int pos, ir_node *pred);
4238 FIRM_API ir_op *op_Tuple;
4239 
4241 FIRM_API ir_op *get_op_Tuple(void);
4242 
4264 FIRM_API ir_node *new_rd_Unknown(dbg_info *dbgi, ir_graph *irg, ir_mode * mode);
4265 
4272 FIRM_API ir_node *new_r_Unknown(ir_graph *irg, ir_mode * mode);
4273 
4280 FIRM_API ir_node *new_d_Unknown(dbg_info *dbgi, ir_mode * mode);
4281 
4287 FIRM_API ir_node *new_Unknown(ir_mode * mode);
4288 
4293 FIRM_API int is_Unknown(const ir_node *node);
4294 
4296 FIRM_API ir_op *op_Unknown;
4297 
4299 FIRM_API ir_op *get_op_Unknown(void);
4300 
4307 FIRM_API int is_binop(const ir_node *node);
4311 FIRM_API int is_entconst(const ir_node *node);
4313 FIRM_API ir_entity* get_entconst_entity(const ir_node *node);
4315 FIRM_API void set_entconst_entity(ir_node *node, ir_entity* entity);
4320 FIRM_API int is_typeconst(const ir_node *node);
4322 FIRM_API ir_type* get_typeconst_type(const ir_node *node);
4324 FIRM_API void set_typeconst_type(ir_node *node, ir_type* type);
4325 
4326 
4329 #endif
int is_Div(const ir_node *node)
Test if node is a Div.
ir_node * new_r_Load(ir_node *block, ir_node *irn_mem, ir_node *irn_ptr, ir_mode *mode, ir_type *type, ir_cons_flags flags)
Construct a Load node.
operand
Definition: nodes.h:2802
pn_Load
Projection numbers for result of Load node (use for Proj nodes)
Definition: nodes.h:2159
int is_Shr(const ir_node *node)
Test if node is a Shr.
ir_type * get_Align_type(const ir_node *node)
Returns type attribute of an Align node.
void set_Sel_ptr(ir_node *node, ir_node *ptr)
Sets ptr input of a Sel node.
ir_node * get_Id_pred(const ir_node *node)
Returns pred input of an Id node.
n_Id
Input numbers for Id node.
Definition: nodes.h:2067
input selector
Definition: nodes.h:4024
const char ident
Identifier.
Definition: firm_types.h:50
ir_node * new_NoMem(void)
Construct a NoMem node.
ir_node * new_r_Start(ir_graph *irg)
Construct a Start node.
n_Bitcast
Input numbers for Bitcast node.
Definition: nodes.h:754
ir_node * get_Store_ptr(const ir_node *node)
Returns ptr input of a Store node.
void set_Mod_mem(ir_node *node, ir_node *mem)
Sets mem input of a Mod node.
ir_op * op_Shr
Shr opcode.
Definition: nodes.h:3613
void set_Switch_table(ir_node *node, ir_switch_table *table)
Sets table attribute of a Switch node.
function arguments
Definition: nodes.h:3774
ir_op * op_CopyB
CopyB opcode.
Definition: nodes.h:1578
void set_Member_ptr(ir_node *node, ir_node *ptr)
Sets ptr input of a Member node.
ir_op * get_op_Sel(void)
Returns opcode for Sel nodes.
ir_node * get_Cmp_right(const ir_node *node)
Returns right input of a Cmp node.
memory result
Definition: nodes.h:3233
Definition: nodes.h:16
void set_Load_type(ir_node *node, ir_type *type)
Sets type attribute of a Load node.
pn_Call
Projection numbers for result of Call node (use for Proj nodes)
Definition: nodes.h:1012
int is_Builtin(const ir_node *node)
Test if node is a Builtin.
ir_node * get_Anchor_args(const ir_node *node)
Returns args input of an Anchor node.
first operand
Definition: nodes.h:608
ir_op * get_op_Tuple(void)
Returns opcode for Tuple nodes.
the value which is returned unchanged
Definition: nodes.h:2068
control flow when no exception occurs
Definition: nodes.h:1015
ir_node * new_rd_Jmp(dbg_info *dbgi, ir_node *block)
Construct a Jmp node.
second operand
Definition: nodes.h:3558
ir_op * op_Mulh
Mulh opcode.
Definition: nodes.h:2651
ir_node * new_Dummy(ir_mode *mode)
Construct a Dummy node.
void set_Load_ptr(ir_node *node, ir_node *ptr)
Sets ptr input of a Load node.
ir_node * get_IJmp_target(const ir_node *node)
Returns target input of an IJmp node.
ir_op * get_op_Not(void)
Returns opcode for Not nodes.
pointer to array to select from
Definition: nodes.h:3392
ir_node * new_Sync(int arity, ir_node *const *in)
Construct a Sync node.
void set_Store_volatility(ir_node *node, ir_volatility volatility)
Sets volatility attribute of a Store node.
ir_builtin_kind
Supported libFirm builtins.
Definition: firm_types.h:282
n_Shl
Input numbers for Shl node.
Definition: nodes.h:3478
ir_node * new_Div(ir_node *irn_mem, ir_node *irn_left, ir_node *irn_right, int pinned)
Construct a Div node.
ir_node * new_Pin(ir_node *irn_op)
Construct a Pin node.
ir_relation
Relations for comparing numbers.
Definition: firm_types.h:162
ir_asm_constraint * get_ASM_constraints(const ir_node *node)
Returns constraints attribute of an ASM node.
memory dependency
Definition: nodes.h:2151
struct ir_tarval ir_tarval
Target Machine Value.
Definition: firm_types.h:68
control flow when exception occurred
Definition: nodes.h:1016
ir_node * new_d_Align(dbg_info *dbgi, ir_mode *mode, ir_type *type)
Construct an Align node.
ir_node * new_rd_Not(dbg_info *dbgi, ir_node *block, ir_node *irn_op)
Construct a Not node.
ir_op * op_Load
Load opcode.
Definition: nodes.h:2250
Definition: nodes.h:38
ir_op * op_Phi
Phi opcode.
Definition: nodes.h:3061
int is_Or(const ir_node *node)
Test if node is a Or.
void set_Sub_right(ir_node *node, ir_node *right)
Sets right input of a Sub node.
A input/output constraint attribute.
Definition: firm_types.h:272
ir_op * op_Offset
Offset opcode.
Definition: nodes.h:2911
Definition: nodes.h:68
ir_node * new_d_Add(dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right)
Construct an Add node.
ir_node * new_d_Call(dbg_info *dbgi, ir_node *irn_mem, ir_node *irn_ptr, int arity, ir_node *const *in, ir_type *type)
Construct a Call node.
frame base pointer
Definition: nodes.h:3773
ir_entity * get_Member_entity(const ir_node *node)
Returns entity attribute of a Member node.
block the start node belongs to
Definition: nodes.h:540
ir_op * op_Start
Start opcode.
Definition: nodes.h:3813
ir_op * get_op_Member(void)
Returns opcode for Member nodes.
ir_node * get_Free_ptr(const ir_node *node)
Returns ptr input of a Free node.
ir_op * op_Store
Store opcode.
Definition: nodes.h:3929
ir_mode * get_Div_resmode(const ir_node *node)
Returns resmode attribute of a Div node.
pn_ASM
Projection numbers for result of ASM node (use for Proj nodes)
Definition: nodes.h:124
result of computation
Definition: nodes.h:1630
ir_op * get_op_IJmp(void)
Returns opcode for IJmp nodes.
ir_node * new_Mul(ir_node *irn_left, ir_node *irn_right)
Construct a Mul node.
ir_node * get_CopyB_dst(const ir_node *node)
Returns dst input of a CopyB node.
ir_node * new_rd_Or(dbg_info *dbgi, ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct an Or node.
ir_node * new_r_Tuple(ir_node *block, int arity, ir_node *const *in)
Construct a Tuple node.
ir_op * get_op_Mulh(void)
Returns opcode for Mulh nodes.
ir_node ** get_Block_cfgpred_arr(ir_node *node)
Get an array of all Block cfgpreds.
ir_node * new_r_Return(ir_node *block, ir_node *irn_mem, int arity, ir_node *const *in)
Construct a Return node.
int is_ASM(const ir_node *node)
Test if node is a ASM.
int get_Call_n_params(ir_node const *node)
Get the number of Call params.
ir_node * get_Mux_true(const ir_node *node)
Returns true input of a Mux node.
ir_type * get_Size_type(const ir_node *node)
Returns type attribute of a Size node.
ir_node * new_r_Cmp(ir_node *block, ir_node *irn_left, ir_node *irn_right, ir_relation relation)
Construct a Cmp node.
ir_node * new_Cond(ir_node *irn_selector)
Construct a Cond node.
ir_node ** get_ASM_input_arr(ir_node *node)
Get an array of all ASM inputs.
ir_node * new_Sel(ir_node *irn_ptr, ir_node *irn_index, ir_type *type)
Construct a Sel node.
control flow when exception occurred
Definition: nodes.h:2430
int is_typeconst(const ir_node *node)
Test if node is a typeconst.
void set_Proj_num(ir_node *node, unsigned num)
Sets num attribute of a Proj node.
ir_op * get_op_Sub(void)
Returns opcode for Sub nodes.
Definition: nodes.h:23
ir_type * get_Store_type(const ir_node *node)
Returns type attribute of a Store node.
ir_node * new_Cmp(ir_node *irn_left, ir_node *irn_right, ir_relation relation)
Construct a Cmp node.
ir_op * op_Mux
Mux opcode.
Definition: nodes.h:2735
ir_node * new_rd_Free(dbg_info *dbgi, ir_node *block, ir_node *irn_mem, ir_node *irn_ptr)
Construct a Free node.
ir_node * get_Alloc_mem(const ir_node *node)
Returns mem input of an Alloc node.
ir_node * new_Start(void)
Construct a Start node.
ir_node * new_d_Not(dbg_info *dbgi, ir_node *irn_op)
Construct a Not node.
ir_node * new_r_Bitcast(ir_node *block, ir_node *irn_op, ir_mode *mode)
Construct a Bitcast node.
int is_Bad(const ir_node *node)
Test if node is a Bad.
ir_op * get_op_Proj(void)
Returns opcode for Proj nodes.
int get_Phi_loop(const ir_node *node)
Returns loop attribute of a Phi node.
n_Raise
Input numbers for Raise node.
Definition: nodes.h:3223
int is_binop(const ir_node *node)
Test if node is a binop.
Definition: nodes.h:29
ir_op * get_op_Start(void)
Returns opcode for Start nodes.
ir_node * new_r_Eor(ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct an Eor node.
ir_type * get_Builtin_type(const ir_node *node)
Returns type attribute of a Builtin node.
ir_node * new_Sub(ir_node *irn_left, ir_node *irn_right)
Construct a Sub node.
unsigned get_Proj_num(const ir_node *node)
Returns num attribute of a Proj node.
int is_CopyB(const ir_node *node)
Test if node is a CopyB.
value making the output selection
Definition: nodes.h:2670
int is_Mux(const ir_node *node)
Test if node is a Mux.
ir_node * new_d_Conv(dbg_info *dbgi, ir_node *irn_op, ir_mode *mode)
Construct a Conv node.
ir_node * new_Shl(ir_node *irn_left, ir_node *irn_right)
Construct a Shl node.
memory result
Definition: nodes.h:1629
ir_op * op_Sub
Sub opcode.
Definition: nodes.h:4003
ir_op * get_op_End(void)
Returns opcode for End nodes.
second operand
Definition: nodes.h:1621
Definition: nodes.h:53
n_Store
Input numbers for Store node.
Definition: nodes.h:3830
ir_node * get_Mul_left(const ir_node *node)
Returns left input of a Mul node.
n_Or
Input numbers for Or node.
Definition: nodes.h:2928
ir_node * new_Free(ir_node *irn_mem, ir_node *irn_ptr)
Construct a Free node.
void set_Anchor_start_block(ir_node *node, ir_node *start_block)
Sets start_block input of an Anchor node.
ir_node * new_d_Address(dbg_info *dbgi, ir_entity *entity)
Construct an Address node.
Definition: nodes.h:55
ir_node * get_Anchor_no_mem(const ir_node *node)
Returns no_mem input of an Anchor node.
ir_node * new_d_Switch(dbg_info *dbgi, ir_node *irn_selector, unsigned n_outs, ir_switch_table *table)
Construct a Switch node.
ir_op * op_Size
Size opcode.
Definition: nodes.h:3754
ir_node * new_Builtin(ir_node *irn_mem, int arity, ir_node *const *in, ir_builtin_kind kind, ir_type *type)
Construct a Builtin node.
ir_node * get_Eor_left(const ir_node *node)
Returns left input of an Eor node.
ir_node * new_r_Not(ir_node *block, ir_node *irn_op)
Construct a Not node.
ir_node * get_Mux_sel(const ir_node *node)
Returns sel input of a Mux node.
ir_node * get_Sel_index(const ir_node *node)
Returns index input of a Sel node.
memory result
Definition: nodes.h:2160
ir_node * new_Tuple(int arity, ir_node *const *in)
Construct a Tuple node.
ir_node * new_Shrs(ir_node *irn_left, ir_node *irn_right)
Construct a Shrs node.
void set_Builtin_type(ir_node *node, ir_type *type)
Sets type attribute of a Builtin node.
ir_node * new_r_Shrs(ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct a Shrs node.
ir_node * new_d_Sync(dbg_info *dbgi, int arity, ir_node *const *in)
Construct a Sync node.
ir_node * new_r_Address(ir_graph *irg, ir_entity *entity)
Construct an Address node.
int is_Call(const ir_node *node)
Test if node is a Call.
value to compare against
Definition: nodes.h:1286
memory result
Definition: nodes.h:902
ir_op * op_Sync
Sync opcode.
Definition: nodes.h:4166
n_Pin
Input numbers for Pin node.
Definition: nodes.h:3080
size of the block in bytes
Definition: nodes.h:443
first operand
Definition: nodes.h:3636
frame of this ir_graph
Definition: nodes.h:543
second operand
Definition: nodes.h:609
void set_Store_value(ir_node *node, ir_node *value)
Sets value input of a Store node.
ir_node * new_d_Cond(dbg_info *dbgi, ir_node *irn_selector)
Construct a Cond node.
control flow when no jump occurs
Definition: nodes.h:126
argument proj of the start node
Definition: nodes.h:545
ir_node ** get_Call_param_arr(ir_node *node)
Get an array of all Call params.
ir_op * op_Mod
Mod opcode.
Definition: nodes.h:2502
Definition: nodes.h:22
ir_op * get_op_Deleted(void)
Returns opcode for Deleted nodes.
ir_node * new_Add(ir_node *irn_left, ir_node *irn_right)
Construct an Add node.
ir_node * new_Align(ir_mode *mode, ir_type *type)
Construct an Align node.
void set_Anchor_no_mem(ir_node *node, ir_node *no_mem)
Sets no_mem input of an Anchor node.
ir_op * get_op_Load(void)
Returns opcode for Load nodes.
int get_Phi_n_preds(ir_node const *node)
Get the number of Phi preds.
result of load operation
Definition: nodes.h:2161
ir_node * get_CopyB_src(const ir_node *node)
Returns src input of a CopyB node.
void set_Block_cfgpred(ir_node *node, int pos, ir_node *cfgpred)
Set the Block cfgpred with index pos.
int is_Size(const ir_node *node)
Test if node is a Size.
int is_Cmp(const ir_node *node)
Test if node is a Cmp.
void set_CopyB_volatility(ir_node *node, ir_volatility volatility)
Sets volatility attribute of a CopyB node.
void set_Member_entity(ir_node *node, ir_entity *entity)
Sets entity attribute of a Member node.
int is_Shl(const ir_node *node)
Test if node is a Shl.
void set_Mux_false(ir_node *node, ir_node *false_)
Sets false input of a Mux node.
ir_node * new_r_Minus(ir_node *block, ir_node *irn_op)
Construct a Minus node.
operand
Definition: nodes.h:1426
ir_op * op_Align
Align opcode.
Definition: nodes.h:424
void set_Load_unaligned(ir_node *node, ir_align unaligned)
Sets unaligned attribute of a Load node.
ir_entity * get_entconst_entity(const ir_node *node)
Returns entity attribute of an entconst node.
ir_align get_Load_unaligned(const ir_node *node)
Returns unaligned attribute of a Load node.
ir_node * get_Conv_op(const ir_node *node)
Returns op input of a Conv node.
ir_node * get_Tuple_pred(ir_node const *node, int pos)
Get the Tuple pred with index pos.
void set_Tuple_pred(ir_node *node, int pos, ir_node *pred)
Set the Tuple pred with index pos.
ir_node * new_Or(ir_node *irn_left, ir_node *irn_right)
Construct an Or node.
ir_node * get_Bitcast_op(const ir_node *node)
Returns op input of a Bitcast node.
ir_node * new_r_Switch(ir_node *block, ir_node *irn_selector, unsigned n_outs, ir_switch_table *table)
Construct a Switch node.
void set_Raise_mem(ir_node *node, ir_node *mem)
Sets mem input of a Raise node.
ir_op * get_op_ASM(void)
Returns opcode for ASM nodes.
n_Minus
Input numbers for Minus node.
Definition: nodes.h:2344
void set_ASM_input(ir_node *node, int pos, ir_node *input)
Set the ASM input with index pos.
ir_op * get_op_Confirm(void)
Returns opcode for Confirm nodes.
cond_jmp_predicate
A type to express conditional jump predictions.
Definition: firm_types.h:212
int is_Conv(const ir_node *node)
Test if node is a Conv.
void set_Id_pred(ir_node *node, ir_node *pred)
Sets pred input of an Id node.
memory result
Definition: nodes.h:3841
ir_op * op_Eor
Eor opcode.
Definition: nodes.h:1906
ir_op * op_Dummy
Dummy opcode.
Definition: nodes.h:1764
void set_Add_right(ir_node *node, ir_node *right)
Sets right input of an Add node.
void set_CopyB_src(ir_node *node, ir_node *src)
Sets src input of a CopyB node.
ir_node * get_Raise_exo_ptr(const ir_node *node)
Returns exo_ptr input of a Raise node.
ir_node * new_rd_Confirm(dbg_info *dbgi, ir_node *block, ir_node *irn_value, ir_node *irn_bound, ir_relation relation)
Construct a Confirm node.
second operand
Definition: nodes.h:3480
void set_Alloc_alignment(ir_node *node, unsigned alignment)
Sets alignment attribute of an Alloc node.
ir_node * get_Call_ptr(const ir_node *node)
Returns ptr input of a Call node.
ir_node * new_r_Mod(ir_node *block, ir_node *irn_mem, ir_node *irn_left, ir_node *irn_right, int pinned)
Construct a Mod node.
int is_Tuple(const ir_node *node)
Test if node is a Tuple.
control flow when no exception occurs
Definition: nodes.h:1631
Definition: nodes.h:54
ir_node * new_d_Mod(dbg_info *dbgi, ir_node *irn_mem, ir_node *irn_left, ir_node *irn_right, int pinned)
Construct a Mod node.
ir_node * get_Anchor_start_block(const ir_node *node)
Returns start_block input of an Anchor node.
ir_node * get_Member_ptr(const ir_node *node)
Returns ptr input of a Member node.
void set_End_keepalive(ir_node *node, int pos, ir_node *keepalive)
Set the End keepalive with index pos.
ir_node * new_d_Tuple(dbg_info *dbgi, int arity, ir_node *const *in)
Construct a Tuple node.
memory dependency
Definition: nodes.h:442
void set_Sel_index(ir_node *node, ir_node *index)
Sets index input of a Sel node.
cond_jmp_predicate get_Cond_jmp_pred(const ir_node *node)
Returns jmp_pred attribute of a Cond node.
ir_node * get_Mod_mem(const ir_node *node)
Returns mem input of a Mod node.
int is_Deleted(const ir_node *node)
Test if node is a Deleted.
ir_op * op_Tuple
Tuple opcode.
Definition: nodes.h:4238
ir_node * new_r_Const(ir_graph *irg, ir_tarval *tarval)
Construct a Const node.
end node of this ir_graph
Definition: nodes.h:541
int is_Store(const ir_node *node)
Test if node is a Store.
void set_Conv_op(ir_node *node, ir_node *op)
Sets op input of a Conv node.
selected if sel input is false
Definition: nodes.h:2671
void set_Div_mem(ir_node *node, ir_node *mem)
Sets mem input of a Div node.
ir_node * new_d_CopyB(dbg_info *dbgi, ir_node *irn_mem, ir_node *irn_dst, ir_node *irn_src, ir_type *type, ir_cons_flags flags)
Construct a CopyB node.
ir_node * new_d_Shl(dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right)
Construct a Shl node.
ir_op * op_IJmp
IJmp opcode.
Definition: nodes.h:2047
ir_node * new_rd_CopyB(dbg_info *dbgi, ir_node *block, ir_node *irn_mem, ir_node *irn_dst, ir_node *irn_src, ir_type *type, ir_cons_flags flags)
Construct a CopyB node.
ir_op * op_Address
Address opcode.
Definition: nodes.h:362
ir_node * new_r_CopyB(ir_node *block, ir_node *irn_mem, ir_node *irn_dst, ir_node *irn_src, ir_type *type, ir_cons_flags flags)
Construct a CopyB node.
ir_node * new_d_Store(dbg_info *dbgi, ir_node *irn_mem, ir_node *irn_ptr, ir_node *irn_value, ir_type *type, ir_cons_flags flags)
Construct a Store node.
ir_node * new_r_And(ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct an And node.
ir_op * get_op_Alloc(void)
Returns opcode for Alloc nodes.
pointer to exception object to be thrown
Definition: nodes.h:3225
ir_node * get_Sel_ptr(const ir_node *node)
Returns ptr input of a Sel node.
pointer to newly allocated memory
Definition: nodes.h:452
void set_Not_op(ir_node *node, ir_node *op)
Sets op input of a Not node.
ir_op * get_op_Align(void)
Returns opcode for Align nodes.
Definition: nodes.h:66
ir_node * get_Mod_left(const ir_node *node)
Returns left input of a Mod node.
ir_op * get_op_Builtin(void)
Returns opcode for Builtin nodes.
ir_node * new_Phi(int arity, ir_node *const *in, ir_mode *mode)
Construct a Phi node.
ir_op * op_Const
Const opcode.
Definition: nodes.h:1408
ir_node * new_d_Div(dbg_info *dbgi, ir_node *irn_mem, ir_node *irn_left, ir_node *irn_right, int pinned)
Construct a Div node.
int is_Switch(const ir_node *node)
Test if node is a Switch.
ir_op * get_op_Size(void)
Returns opcode for Size nodes.
ir_type * get_typeconst_type(const ir_node *node)
Returns type attribute of a typeconst node.
ir_node * get_Minus_op(const ir_node *node)
Returns op input of a Minus node.
target address of the jump
Definition: nodes.h:2000
void set_Call_param(ir_node *node, int pos, ir_node *param)
Set the Call param with index pos.
ir_node * new_Bitcast(ir_node *irn_op, ir_mode *mode)
Construct a Bitcast node.
ir_node * get_Anchor_end(const ir_node *node)
Returns end input of an Anchor node.
n_Load
Input numbers for Load node.
Definition: nodes.h:2150
void set_Mux_true(ir_node *node, ir_node *true_)
Sets true input of a Mux node.
ir_opcode
The opcodes of the libFirm predefined operations.
Definition: nodes.h:15
ir_node * new_Mulh(ir_node *irn_left, ir_node *irn_right)
Construct a Mulh node.
ir_node * new_rd_Unknown(dbg_info *dbgi, ir_graph *irg, ir_mode *mode)
Construct an Unknown node.
Definition: nodes.h:17
void set_Cmp_right(ir_node *node, ir_node *right)
Sets right input of a Cmp node.
pn_Div
Projection numbers for result of Div node (use for Proj nodes)
Definition: nodes.h:1628
Definition: nodes.h:51
ir_node * new_d_ASM(dbg_info *dbgi, ir_node *irn_mem, int arity, ir_node *const *in, ident *text, size_t n_constraints, ir_asm_constraint *constraints, size_t n_clobbers, ident **clobbers, ir_cons_flags flags)
Construct an ASM node.
selected if sel input is true
Definition: nodes.h:2672
ir_node * new_d_Sub(dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right)
Construct a Sub node.
int is_Free(const ir_node *node)
Test if node is a Free.
second operand
Definition: nodes.h:2596
ir_node * get_Or_right(const ir_node *node)
Returns right input of an Or node.
void set_Mul_right(ir_node *node, ir_node *right)
Sets right input of a Mul node.
ir_node * get_Eor_right(const ir_node *node)
Returns right input of an Eor node.
ir_node * new_rd_End(dbg_info *dbgi, ir_graph *irg, int arity, ir_node *const *in)
Construct an End node.
ir_node * new_r_Raise(ir_node *block, ir_node *irn_mem, ir_node *irn_exo_ptr)
Construct a Raise node.
ir_node * get_End_keepalive(ir_node const *node, int pos)
Get the End keepalive with index pos.
Definition: nodes.h:41
ir_op * get_op_Cmp(void)
Returns opcode for Cmp nodes.
ir_node * get_Div_right(const ir_node *node)
Returns right input of a Div node.
int is_Mod(const ir_node *node)
Test if node is a Mod.
ir_entity * get_Address_entity(const ir_node *node)
Returns entity attribute of an Address node.
the tuple value from which a part is extracted
Definition: nodes.h:3146
int is_Alloc(const ir_node *node)
Test if node is a Alloc.
memory result
Definition: nodes.h:1013
ir_node * new_rd_Raise(dbg_info *dbgi, ir_node *block, ir_node *irn_mem, ir_node *irn_exo_ptr)
Construct a Raise node.
void set_Minus_op(ir_node *node, ir_node *op)
Sets op input of a Minus node.
ir_node * new_r_NoMem(ir_graph *irg)
Construct a NoMem node.
ir_node * new_rd_Minus(dbg_info *dbgi, ir_node *block, ir_node *irn_op)
Construct a Minus node.
ir_node * new_r_Dummy(ir_graph *irg, ir_mode *mode)
Construct a Dummy node.
ir_node * new_Alloc(ir_node *irn_mem, ir_node *irn_size, unsigned alignment)
Construct an Alloc node.
ir_node * get_Shr_right(const ir_node *node)
Returns right input of a Shr node.
int get_Return_n_ress(ir_node const *node)
Get the number of Return ress.
ir_node * new_rd_Sync(dbg_info *dbgi, ir_node *block, int arity, ir_node *const *in)
Construct a Sync node.
n_Switch
Input numbers for Switch node.
Definition: nodes.h:4023
ir_node * new_rd_Sel(dbg_info *dbgi, ir_node *block, ir_node *irn_ptr, ir_node *irn_index, ir_type *type)
Construct a Sel node.
ir_node * new_Bad(ir_mode *mode)
Construct a Bad node.
operand
Definition: nodes.h:755
int get_Sync_n_preds(ir_node const *node)
Get the number of Sync preds.
void set_Shl_right(ir_node *node, ir_node *right)
Sets right input of a Shl node.
ir_node * new_Mod(ir_node *irn_mem, ir_node *irn_left, ir_node *irn_right, int pinned)
Construct a Mod node.
ir_node * new_rd_Cmp(dbg_info *dbgi, ir_node *block, ir_node *irn_left, ir_node *irn_right, ir_relation relation)
Construct a Cmp node.
ir_op * get_op_Shrs(void)
Returns opcode for Shrs nodes.
ir_builtin_kind get_Builtin_kind(const ir_node *node)
Returns kind attribute of a Builtin node.
n_CopyB
Input numbers for CopyB node.
Definition: nodes.h:1494
ir_op * get_op_Minus(void)
Returns opcode for Minus nodes.
pointer to object to select from
Definition: nodes.h:2271
void set_Shl_left(ir_node *node, ir_node *left)
Sets left input of a Shl node.
void set_CopyB_type(ir_node *node, ir_type *type)
Sets type attribute of a CopyB node.
int is_End(const ir_node *node)
Test if node is a End.
void set_entconst_entity(ir_node *node, ir_entity *entity)
Sets entity attribute of an entconst node.
ir_node * new_Store(ir_node *irn_mem, ir_node *irn_ptr, ir_node *irn_value, ir_type *type, ir_cons_flags flags)
Construct a Store node.
void set_Cmp_relation(ir_node *node, ir_relation relation)
Sets relation attribute of a Cmp node.
second operand
Definition: nodes.h:2930
ir_node * new_r_Cond(ir_node *block, ir_node *irn_selector)
Construct a Cond node.
control flow when exception occurred
Definition: nodes.h:1632
void set_Shr_right(ir_node *node, ir_node *right)
Sets right input of a Shr node.
first operand
Definition: nodes.h:1115
memory dependency
Definition: nodes.h:894
ir_node * new_r_IJmp(ir_node *block, ir_node *irn_target)
Construct an IJmp node.
ir_node * new_Shr(ir_node *irn_left, ir_node *irn_right)
Construct a Shr node.
ir_op * get_op_Sync(void)
Returns opcode for Sync nodes.
Definition: nodes.h:72
ir_node * new_rd_Cond(dbg_info *dbgi, ir_node *block, ir_node *irn_selector)
Construct a Cond node.
ir_volatility get_CopyB_volatility(const ir_node *node)
Returns volatility attribute of a CopyB node.
Definition: nodes.h:32
ir_node * get_Switch_selector(const ir_node *node)
Returns selector input of a Switch node.
ir_op * get_op_Mod(void)
Returns opcode for Mod nodes.
pn_Cond
Projection numbers for result of Cond node (use for Proj nodes)
Definition: nodes.h:1205
ir_node * new_Load(ir_node *irn_mem, ir_node *irn_ptr, ir_mode *mode, ir_type *type, ir_cons_flags flags)
Construct a Load node.
void set_Div_no_remainder(ir_node *node, int no_remainder)
Sets no_remainder attribute of a Div node.
first operand
Definition: nodes.h:3947
ir_node * get_Mulh_right(const ir_node *node)
Returns right input of a Mulh node.
ir_node * get_Block_cfgpred(ir_node const *node, int pos)
Get the Block cfgpred with index pos.
ir_op * get_op_Or(void)
Returns opcode for Or nodes.
void set_IJmp_target(ir_node *node, ir_node *target)
Sets target input of an IJmp node.
ir_node * get_Div_mem(const ir_node *node)
Returns mem input of a Div node.
ir_node * new_r_Sel(ir_node *block, ir_node *irn_ptr, ir_node *irn_index, ir_type *type)
Construct a Sel node.
ir_node * new_r_Mul(ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct a Mul node.
start node of this ir_graph
Definition: nodes.h:542
void set_typeconst_type(ir_node *node, ir_type *type)
Sets type attribute of a typeconst node.
Definition: nodes.h:39
int is_Mul(const ir_node *node)
Test if node is a Mul.
int is_Eor(const ir_node *node)
Test if node is a Eor.
ir_node * get_Add_right(const ir_node *node)
Returns right input of an Add node.
ir_node * new_rd_Div(dbg_info *dbgi, ir_node *block, ir_node *irn_mem, ir_node *irn_left, ir_node *irn_right, int pinned)
Construct a Div node.
n_Alloc
Input numbers for Alloc node.
Definition: nodes.h:441
ir_op * op_Shl
Shl opcode.
Definition: nodes.h:3535
ir_node * get_Store_value(const ir_node *node)
Returns value input of a Store node.
ir_node * new_Const(ir_tarval *tarval)
Construct a Const node.
ir_switch_table * get_Switch_table(const ir_node *node)
Returns table attribute of a Switch node.
ir_node * get_Div_left(const ir_node *node)
Returns left input of a Div node.
memory dependency
Definition: nodes.h:1924
int is_Mulh(const ir_node *node)
Test if node is a Mulh.
n_Cond
Input numbers for Cond node.
Definition: nodes.h:1197
ir_node * new_rd_Dummy(dbg_info *dbgi, ir_graph *irg, ir_mode *mode)
Construct a Dummy node.
void set_Builtin_kind(ir_node *node, ir_builtin_kind kind)
Sets kind attribute of a Builtin node.
ir_node * new_rd_ASM(dbg_info *dbgi, ir_node *block, ir_node *irn_mem, int arity, ir_node *const *in, ident *text, size_t n_constraints, ir_asm_constraint *constraints, size_t n_clobbers, ident **clobbers, ir_cons_flags flags)
Construct an ASM node.
ir_node * new_d_Offset(dbg_info *dbgi, ir_mode *mode, ir_entity *entity)
Construct an Offset node.
void set_Eor_right(ir_node *node, ir_node *right)
Sets right input of an Eor node.
second operand
Definition: nodes.h:1851
n_IJmp
Input numbers for IJmp node.
Definition: nodes.h:1999
ir_node * new_rd_Align(dbg_info *dbgi, ir_graph *irg, ir_mode *mode, ir_type *type)
Construct an Align node.
memory dependency
Definition: nodes.h:1619
ir_node * new_rd_Tuple(dbg_info *dbgi, ir_node *block, int arity, ir_node *const *in)
Construct a Tuple node.
struct ir_type ir_type
Type.
Definition: firm_types.h:71
ir_node * new_r_Proj(ir_node *irn_pred, ir_mode *mode, unsigned num)
Construct a Proj node.
ir_op * op_Add
Add opcode.
Definition: nodes.h:303
pn_Start
Projection numbers for result of Start node (use for Proj nodes)
Definition: nodes.h:3771
void set_Align_type(ir_node *node, ir_type *type)
Sets type attribute of an Align node.
ir_op * op_Cond
Cond opcode.
Definition: nodes.h:1259
Definition: nodes.h:49
ir_node * new_d_Mulh(dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right)
Construct a Mulh node.
ir_op * op_Switch
Switch opcode.
Definition: nodes.h:4097
n_Member
Input numbers for Member node.
Definition: nodes.h:2270
ir_node * new_d_Sel(dbg_info *dbgi, ir_node *irn_ptr, ir_node *irn_index, ir_type *type)
Construct a Sel node.
ir_node * get_Load_ptr(const ir_node *node)
Returns ptr input of a Load node.
ir_node * new_rd_Const(dbg_info *dbgi, ir_graph *irg, ir_tarval *tarval)
Construct a Const node.
memory result
Definition: nodes.h:451
n_And
Input numbers for And node.
Definition: nodes.h:607
int is_Proj(const ir_node *node)
Test if node is a Proj.
ir_op * get_op_Call(void)
Returns opcode for Call nodes.
pn_Store
Projection numbers for result of Store node (use for Proj nodes)
Definition: nodes.h:3840
ir_node * new_d_Minus(dbg_info *dbgi, ir_node *irn_op)
Construct a Minus node.
ir_node * new_rd_Shl(dbg_info *dbgi, ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct a Shl node.
void set_Eor_left(ir_node *node, ir_node *left)
Sets left input of an Eor node.
ir_node * new_rd_Phi(dbg_info *dbgi, ir_node *block, int arity, ir_node *const *in, ir_mode *mode)
Construct a Phi node.
ir_node * get_Alloc_size(const ir_node *node)
Returns size input of an Alloc node.
block the end node belongs to
Definition: nodes.h:539
void set_Switch_n_outs(ir_node *node, unsigned n_outs)
Sets n_outs attribute of a Switch node.
ir_node * new_r_Sync(ir_node *block, int arity, ir_node *const *in)
Construct a Sync node.
ir_op * get_op_Address(void)
Returns opcode for Address nodes.
ir_op * get_op_Mux(void)
Returns opcode for Mux nodes.
int is_Sel(const ir_node *node)
Test if node is a Sel.
void set_Mod_left(ir_node *node, ir_node *left)
Sets left input of a Mod node.
ir_node * get_Or_left(const ir_node *node)
Returns left input of an Or node.
ir_cons_flags
constrained flags for memory operations.
Definition: firm_types.h:186
ir_node * get_Mux_false(const ir_node *node)
Returns false input of a Mux node.
ir_entity * get_Offset_entity(const ir_node *node)
Returns entity attribute of an Offset node.
ir_node * get_Mod_right(const ir_node *node)
Returns right input of a Mod node.
ir_node * new_rd_IJmp(dbg_info *dbgi, ir_node *block, ir_node *irn_target)
Construct an IJmp node.
void set_Sub_left(ir_node *node, ir_node *left)
Sets left input of a Sub node.
ir_op * op_Or
Or opcode.
Definition: nodes.h:2985
int is_Align(const ir_node *node)
Test if node is a Align.
ir_node * new_d_Shrs(dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right)
Construct a Shrs node.
pn_Builtin
Projection numbers for result of Builtin node (use for Proj nodes)
Definition: nodes.h:901
n_Sub
Input numbers for Sub node.
Definition: nodes.h:3946
ir_op * get_op_Offset(void)
Returns opcode for Offset nodes.
ir_op * get_op_Const(void)
Returns opcode for Const nodes.
ir_op * get_op_Phi(void)
Returns opcode for Phi nodes.
ir_op * get_op_Return(void)
Returns opcode for Return nodes.
Definition: nodes.h:47
void set_Load_mem(ir_node *node, ir_node *mem)
Sets mem input of a Load node.
int is_Add(const ir_node *node)
Test if node is a Add.
Definition: nodes.h:42
pn_Alloc
Projection numbers for result of Alloc node (use for Proj nodes)
Definition: nodes.h:450
ir_op * op_Minus
Minus opcode.
Definition: nodes.h:2392
ir_op * op_Proj
Proj opcode.
Definition: nodes.h:3204
ir_volatility get_Load_volatility(const ir_node *node)
Returns volatility attribute of a Load node.
void set_Alloc_mem(ir_node *node, ir_node *mem)
Sets mem input of an Alloc node.
n_Proj
Input numbers for Proj node.
Definition: nodes.h:3145
int is_Offset(const ir_node *node)
Test if node is a Offset.
n_Confirm
Input numbers for Confirm node.
Definition: nodes.h:1284
control flow when no exception occurs
Definition: nodes.h:3842
ir_op * get_op_Block(void)
Returns opcode for Block nodes.
pn_Switch
Projection numbers for result of Switch node (use for Proj nodes)
Definition: nodes.h:4031
ir_node * new_d_Raise(dbg_info *dbgi, ir_node *irn_mem, ir_node *irn_exo_ptr)
Construct a Raise node.
int is_Jmp(const ir_node *node)
Test if node is a Jmp.
n_Cmp
Input numbers for Cmp node.
Definition: nodes.h:1114
source address
Definition: nodes.h:1497
control flow if operand is "true"
Definition: nodes.h:1207
void set_Size_type(ir_node *node, ir_type *type)
Sets type attribute of a Size node.
ir_node * new_d_Dummy(dbg_info *dbgi, ir_mode *mode)
Construct a Dummy node.
ir_node * new_r_Shl(ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct a Shl node.
void set_Div_right(ir_node *node, ir_node *right)
Sets right input of a Div node.
ir_node * get_Shr_left(const ir_node *node)
Returns left input of a Shr node.
void set_Confirm_relation(ir_node *node, ir_relation relation)
Sets relation attribute of a Confirm node.
void set_Free_ptr(ir_node *node, ir_node *ptr)
Sets ptr input of a Free node.
n_Call
Input numbers for Call node.
Definition: nodes.h:1003
int get_Div_no_remainder(const ir_node *node)
Returns no_remainder attribute of a Div node.
ir_node * new_r_Offset(ir_graph *irg, ir_mode *mode, ir_entity *entity)
Construct an Offset node.
control flow when no exception occurs
Definition: nodes.h:2162
ir_node * get_Cond_selector(const ir_node *node)
Returns selector input of a Cond node.
tuple containing all results
Definition: nodes.h:1014
n_ASM
Input numbers for ASM node.
Definition: nodes.h:116
n_Eor
Input numbers for Eor node.
Definition: nodes.h:1849
ir_op * op_Unknown
Unknown opcode.
Definition: nodes.h:4296
ir_node * new_d_Jmp(dbg_info *dbgi)
Construct a Jmp node.
ir_node * new_r_Phi(ir_node *block, int arity, ir_node *const *in, ir_mode *mode)
Construct a Phi node.
int is_Dummy(const ir_node *node)
Test if node is a Dummy.
void set_ASM_text(ir_node *node, ident *text)
Sets text attribute of an ASM node.
ir_node * new_rd_Mux(dbg_info *dbgi, ir_node *block, ir_node *irn_sel, ir_node *irn_false, ir_node *irn_true)
Construct a Mux node.
ir_node * new_r_Confirm(ir_node *block, ir_node *irn_value, ir_node *irn_bound, ir_relation relation)
Construct a Confirm node.
int is_Const(const ir_node *node)
Test if node is a Const.
ir_op * op_Builtin
Builtin opcode.
Definition: nodes.h:983
second operand
Definition: nodes.h:248
void set_Pin_op(ir_node *node, ir_node *op)
Sets op input of a Pin node.
void set_Load_volatility(ir_node *node, ir_volatility volatility)
Sets volatility attribute of a Load node.
second operand
Definition: nodes.h:2419
ir_op * op_Bad
Bad opcode.
Definition: nodes.h:736
ir_node * new_d_End(dbg_info *dbgi, int arity, ir_node *const *in)
Construct an End node.
ir_node * new_Call(ir_node *irn_mem, ir_node *irn_ptr, int arity, ir_node *const *in, ir_type *type)
Construct a Call node.
ir_node * new_rd_Address(dbg_info *dbgi, ir_graph *irg, ir_entity *entity)
Construct an Address node.
int is_Anchor(const ir_node *node)
Test if node is a Anchor.
ir_op * op_Bitcast
Bitcast opcode.
Definition: nodes.h:806
ir_entity * get_Block_entity(const ir_node *node)
Returns entity attribute of a Block node.
ir_op * op_And
And opcode.
Definition: nodes.h:664
n_Mulh
Input numbers for Mulh node.
Definition: nodes.h:2594
void set_Anchor_start(ir_node *node, ir_node *start)
Sets start input of an Anchor node.
int get_Block_n_cfgpreds(ir_node const *node)
Get the number of Block cfgpreds.
void set_Div_left(ir_node *node, ir_node *left)
Sets left input of a Div node.
void set_Load_mode(ir_node *node, ir_mode *mode)
Sets mode attribute of a Load node.
int is_Address(const ir_node *node)
Test if node is a Address.
ir_node * get_Call_param(ir_node const *node, int pos)
Get the Call param with index pos.
ir_node * new_r_End(ir_graph *irg, int arity, ir_node *const *in)
Construct an End node.
ir_node * new_d_Mul(dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right)
Construct a Mul node.
int get_Tuple_n_preds(ir_node const *node)
Get the number of Tuple preds.
ir_op * get_op_Shl(void)
Returns opcode for Shl nodes.
ir_node * get_Shl_left(const ir_node *node)
Returns left input of a Shl node.
void set_Phi_loop(ir_node *node, int loop)
Sets loop attribute of a Phi node.
control flow when exception occurred
Definition: nodes.h:3843
value which is pinned
Definition: nodes.h:3081
memory dependency
Definition: nodes.h:1495
ir_op * get_op_Bad(void)
Returns opcode for Bad nodes.
int is_Bitcast(const ir_node *node)
Test if node is a Bitcast.
control flow when no exception occurs
Definition: nodes.h:2429
ir_node * get_Load_mem(const ir_node *node)
Returns mem input of a Load node.
ir_node * get_Anchor_frame(const ir_node *node)
Returns frame input of an Anchor node.
struct ir_node ir_node
Procedure Graph Node.
Definition: firm_types.h:53
ir_node * get_And_left(const ir_node *node)
Returns left input of an And node.
ir_node * new_Raise(ir_node *irn_mem, ir_node *irn_exo_ptr)
Construct a Raise node.
int is_Start(const ir_node *node)
Test if node is a Start.
ir_node * new_d_Const(dbg_info *dbgi, ir_tarval *tarval)
Construct a Const node.
ir_op * get_op_NoMem(void)
Returns opcode for NoMem nodes.
ir_node * new_r_Unknown(ir_graph *irg, ir_mode *mode)
Construct an Unknown node.
void set_Bitcast_op(ir_node *node, ir_node *op)
Sets op input of a Bitcast node.
ir_node * get_Phi_pred(ir_node const *node, int pos)
Get the Phi pred with index pos.
ir_node ** get_Sync_pred_arr(ir_node *node)
Get an array of all Sync preds.
ir_op * op_Raise
Raise opcode.
Definition: nodes.h:3289
ir_node * new_d_And(dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right)
Construct an And node.
ir_node * new_CopyB(ir_node *irn_mem, ir_node *irn_dst, ir_node *irn_src, ir_type *type, ir_cons_flags flags)
Construct a CopyB node.
void set_Store_type(ir_node *node, ir_type *type)
Sets type attribute of a Store node.
ir_node ** get_Tuple_pred_arr(ir_node *node)
Get an array of all Tuple preds.
int is_Raise(const ir_node *node)
Test if node is a Raise.
n_Shrs
Input numbers for Shrs node.
Definition: nodes.h:3635
int is_Load(const ir_node *node)
Test if node is a Load.
ir_node * new_Conv(ir_node *irn_op, ir_mode *mode)
Construct a Conv node.
ir_node * get_CopyB_mem(const ir_node *node)
Returns mem input of a CopyB node.
pn_Raise
Projection numbers for result of Raise node (use for Proj nodes)
Definition: nodes.h:3232
int is_Confirm(const ir_node *node)
Test if node is a Confirm.
ir_op * get_op_Dummy(void)
Returns opcode for Dummy nodes.
ir_op * get_op_Free(void)
Returns opcode for Free nodes.
ir_node * get_Shl_right(const ir_node *node)
Returns right input of a Shl node.
void set_Confirm_value(ir_node *node, ir_node *value)
Sets value input of a Confirm node.
void set_ASM_clobbers(ir_node *node, ident **clobbers)
Sets clobbers attribute of an ASM node.
void set_Shrs_left(ir_node *node, ir_node *left)
Sets left input of a Shrs node.
ir_node * new_rd_Bitcast(dbg_info *dbgi, ir_node *block, ir_node *irn_op, ir_mode *mode)
Construct a Bitcast node.
ir_node * get_Builtin_mem(const ir_node *node)
Returns mem input of a Builtin node.
ir_op * get_op_Raise(void)
Returns opcode for Raise nodes.
control flow if operand is "false"
Definition: nodes.h:1206
ir_node * new_r_Align(ir_graph *irg, ir_mode *mode, ir_type *type)
Construct an Align node.
int is_Sync(const ir_node *node)
Test if node is a Sync.
n_Return
Input numbers for Return node.
Definition: nodes.h:3307
ir_node * get_ASM_input(ir_node const *node, int pos)
Get the ASM input with index pos.
int get_Builtin_n_params(ir_node const *node)
Get the number of Builtin params.
first operand
Definition: nodes.h:3557
ir_node * new_d_Mux(dbg_info *dbgi, ir_node *irn_sel, ir_node *irn_false, ir_node *irn_true)
Construct a Mux node.
ir_node * new_rd_Size(dbg_info *dbgi, ir_graph *irg, ir_mode *mode, ir_type *type)
Construct a Size node.
ir_node * get_Shrs_left(const ir_node *node)
Returns left input of a Shrs node.
ir_node * new_rd_Shr(dbg_info *dbgi, ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct a Shr node.
ir_node * new_rd_Sub(dbg_info *dbgi, ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct a Sub node.
ir_op * op_Member
Member opcode.
Definition: nodes.h:2327
ir_node * get_Anchor_end_block(const ir_node *node)
Returns end_block input of an Anchor node.
ir_op * get_op_Unknown(void)
Returns opcode for Unknown nodes.
ir_node * new_r_Size(ir_graph *irg, ir_mode *mode, ir_type *type)
Construct a Size node.
second operand
Definition: nodes.h:2521
void set_Return_mem(ir_node *node, ir_node *mem)
Sets mem input of a Return node.
ir_node * new_d_Size(dbg_info *dbgi, ir_mode *mode, ir_type *type)
Construct a Size node.
ir_node * new_r_Store(ir_node *block, ir_node *irn_mem, ir_node *irn_ptr, ir_node *irn_value, ir_type *type, ir_cons_flags flags)
Construct a Store node.
ir_node * new_rd_Mulh(dbg_info *dbgi, ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct a Mulh node.
ir_node * new_rd_Block(dbg_info *dbgi, ir_graph *irg, int arity, ir_node *const *in)
Construct a Block node.
first operand
Definition: nodes.h:1620
Definition: nodes.h:60
n_Mul
Input numbers for Mul node.
Definition: nodes.h:2519
ir_node * new_rd_Call(dbg_info *dbgi, ir_node *block, ir_node *irn_mem, ir_node *irn_ptr, int arity, ir_node *const *in, ir_type *type)
Construct a Call node.
first operand
Definition: nodes.h:247
ir_node * get_Anchor_start(const ir_node *node)
Returns start input of an Anchor node.
ident * get_ASM_text(const ir_node *node)
Returns text attribute of an ASM node.
ir_node * get_Anchor_initial_mem(const ir_node *node)
Returns initial_mem input of an Anchor node.
ir_op * get_op_Div(void)
Returns opcode for Div nodes.
ir_op * op_Confirm
Confirm opcode.
Definition: nodes.h:1350
void set_Or_left(ir_node *node, ir_node *left)
Sets left input of an Or node.
ir_node * new_r_Shr(ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct a Shr node.
ir_node * get_Pin_op(const ir_node *node)
Returns op input of a Pin node.
ir_mode * get_Load_mode(const ir_node *node)
Returns mode attribute of a Load node.
ir_volatility get_Store_volatility(const ir_node *node)
Returns volatility attribute of a Store node.
void set_Store_unaligned(ir_node *node, ir_align unaligned)
Sets unaligned attribute of a Store node.
ir_op * op_End
End opcode.
Definition: nodes.h:1830
ir_op * op_Conv
Conv opcode.
Definition: nodes.h:1477
void set_Mulh_right(ir_node *node, ir_node *right)
Sets right input of a Mulh node.
ir_op * get_op_Anchor(void)
Returns opcode for Anchor nodes.
void set_Mulh_left(ir_node *node, ir_node *left)
Sets left input of a Mulh node.
ir_op * op_Anchor
Anchor opcode.
Definition: nodes.h:590
ir_op * get_op_Jmp(void)
Returns opcode for Jmp nodes.
ir_node * new_Return(ir_node *irn_mem, int arity, ir_node *const *in)
Construct a Return node.
ir_op * get_op_Conv(void)
Returns opcode for Conv nodes.
ir_node * new_d_Shr(dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right)
Construct a Shr node.
ir_op * op_NoMem
NoMem opcode.
Definition: nodes.h:2784
pointer to the object to free
Definition: nodes.h:1925
int is_Return(const ir_node *node)
Test if node is a Return.
ir_node * new_Size(ir_mode *mode, ir_type *type)
Construct a Size node.
void set_And_right(ir_node *node, ir_node *right)
Sets right input of an And node.
ir_node * new_r_Sub(ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct a Sub node.
ir_node * get_Sync_pred(ir_node const *node, int pos)
Get the Sync pred with index pos.
void set_Builtin_mem(ir_node *node, ir_node *mem)
Sets mem input of a Builtin node.
int is_Pin(const ir_node *node)
Test if node is a Pin.
ir_node * get_Call_mem(const ir_node *node)
Returns mem input of a Call node.
second operand
Definition: nodes.h:1116
int is_Member(const ir_node *node)
Test if node is a Member.
ir_op * op_Cmp
Cmp opcode.
Definition: nodes.h:1180
void set_Cond_selector(ir_node *node, ir_node *selector)
Sets selector input of a Cond node.
ir_node * get_Sub_right(const ir_node *node)
Returns right input of a Sub node.
ident ** get_ASM_clobbers(const ir_node *node)
Returns clobbers attribute of an ASM node.
ir_node * new_rd_Bad(dbg_info *dbgi, ir_graph *irg, ir_mode *mode)
Construct a Bad node.
memory dependency
Definition: nodes.h:2417
memory dependency
Definition: nodes.h:3308
ir_type * get_Load_type(const ir_node *node)
Returns type attribute of a Load node.
ir_op * op_Not
Not opcode.
Definition: nodes.h:2849
value to store
Definition: nodes.h:3833
ir_node * get_Shrs_right(const ir_node *node)
Returns right input of a Shrs node.
ir_node * new_d_Load(dbg_info *dbgi, ir_node *irn_mem, ir_node *irn_ptr, ir_mode *mode, ir_type *type, ir_cons_flags flags)
Construct a Load node.
void set_Call_mem(ir_node *node, ir_node *mem)
Sets mem input of a Call node.
ir_node * new_r_Block(ir_graph *irg, int arity, ir_node *const *in)
Construct a Block node.
ir_node * new_r_Free(ir_node *block, ir_node *irn_mem, ir_node *irn_ptr)
Construct a Free node.
ir_op * op_Div
Div opcode.
Definition: nodes.h:1709
n_Conv
Input numbers for Conv node.
Definition: nodes.h:1425
unsigned get_Switch_n_outs(const ir_node *node)
Returns n_outs attribute of a Switch node.
void set_Phi_pred(ir_node *node, int pos, ir_node *pred)
Set the Phi pred with index pos.
ir_relation get_Confirm_relation(const ir_node *node)
Returns relation attribute of a Confirm node.
ir_node * get_Add_left(const ir_node *node)
Returns left input of an Add node.
n_Not
Input numbers for Not node.
Definition: nodes.h:2801
ir_node ** get_Phi_pred_arr(ir_node *node)
Get an array of all Phi preds.
ir_node * new_d_Builtin(dbg_info *dbgi, ir_node *irn_mem, int arity, ir_node *const *in, ir_builtin_kind kind, ir_type *type)
Construct a Builtin node.
memory dependency
Definition: nodes.h:3224
value to express a constraint for
Definition: nodes.h:1285
void set_Div_resmode(ir_node *node, ir_mode *resmode)
Sets resmode attribute of a Div node.
int is_NoMem(const ir_node *node)
Test if node is a NoMem.
Definition: nodes.h:28
ir_node * new_Proj(ir_node *irn_pred, ir_mode *mode, unsigned num)
Construct a Proj node.
ir_node * new_End(int arity, ir_node *const *in)
Construct an End node.
ir_op * op_Return
Return opcode.
Definition: nodes.h:3371
void set_Switch_selector(ir_node *node, ir_node *selector)
Sets selector input of a Switch node.
ir_node * new_Mux(ir_node *irn_sel, ir_node *irn_false, ir_node *irn_true)
Construct a Mux node.
ir_op * op_Call
Call opcode.
Definition: nodes.h:1096
control flow to exception handler
Definition: nodes.h:3234
ir_node * new_rd_NoMem(dbg_info *dbgi, ir_graph *irg)
Construct a NoMem node.
ir_node * new_rd_Start(dbg_info *dbgi, ir_graph *irg)
Construct a Start node.
memory result
Definition: nodes.h:125
ir_mode * get_Mod_resmode(const ir_node *node)
Returns resmode attribute of a Mod node.
ir_node * new_rd_Alloc(dbg_info *dbgi, ir_node *block, ir_node *irn_mem, ir_node *irn_size, unsigned alignment)
Construct an Alloc node.
ir_node * new_Confirm(ir_node *irn_value, ir_node *irn_bound, ir_relation relation)
Construct a Confirm node.
Definition: nodes.h:37
n_Anchor
Input numbers for Anchor node.
Definition: nodes.h:538
void set_Store_mem(ir_node *node, ir_node *mem)
Sets mem input of a Store node.
n_Add
Input numbers for Add node.
Definition: nodes.h:246
void set_Anchor_end_block(ir_node *node, ir_node *end_block)
Sets end_block input of an Anchor node.
void set_Offset_entity(ir_node *node, ir_entity *entity)
Sets entity attribute of an Offset node.
ir_node * new_rd_Pin(dbg_info *dbgi, ir_node *block, ir_node *irn_op)
Construct a Pin node.
void set_Cond_jmp_pred(ir_node *node, cond_jmp_predicate jmp_pred)
Sets jmp_pred attribute of a Cond node.
Definition: nodes.h:61
index to select
Definition: nodes.h:3393
ir_op * op_Alloc
Alloc opcode.
Definition: nodes.h:516
void set_Builtin_param(ir_node *node, int pos, ir_node *param)
Set the Builtin param with index pos.
ir_node * new_r_Call(ir_node *block, ir_node *irn_mem, ir_node *irn_ptr, int arity, ir_node *const *in, ir_type *type)
Construct a Call node.
ir_node * new_Minus(ir_node *irn_op)
Construct a Minus node.
void set_Free_mem(ir_node *node, ir_node *mem)
Sets mem input of a Free node.
the only NoMem node of this ir_graph
Definition: nodes.h:546
ir_op * op_Free
Free opcode.
Definition: nodes.h:1980
ir_op * get_op_Eor(void)
Returns opcode for Eor nodes.
address to store to
Definition: nodes.h:3832
ir_node ** get_Return_res_arr(ir_node *node)
Get an array of all Return ress.
first operand
Definition: nodes.h:2418
ir_node * new_d_Pin(dbg_info *dbgi, ir_node *irn_op)
Construct a Pin node.
void set_Mod_right(ir_node *node, ir_node *right)
Sets right input of a Mod node.
ir_relation get_Cmp_relation(const ir_node *node)
Returns relation attribute of a Cmp node.
ir_tarval * get_Const_tarval(const ir_node *node)
Returns tarval attribute of a Const node.
initial memory of this ir_graph
Definition: nodes.h:544
ir_node * new_rd_Return(dbg_info *dbgi, ir_node *block, ir_node *irn_mem, int arity, ir_node *const *in)
Construct a Return node.
ir_node * new_r_Builtin(ir_node *block, ir_node *irn_mem, int arity, ir_node *const *in, ir_builtin_kind kind, ir_type *type)
Construct a Builtin node.
first operand
Definition: nodes.h:2595
ir_node * new_r_Add(ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct an Add node.
Definition: nodes.h:59
first operand
Definition: nodes.h:1850
ir_node * get_And_right(const ir_node *node)
Returns right input of an And node.
int is_IJmp(const ir_node *node)
Test if node is a IJmp.
destination address
Definition: nodes.h:1496
struct ir_entity ir_entity
Entity.
Definition: firm_types.h:83
ir_node * new_r_Div(ir_node *block, ir_node *irn_mem, ir_node *irn_left, ir_node *irn_right, int pinned)
Construct a Div node.
initial memory
Definition: nodes.h:3772
ir_node * new_d_Free(dbg_info *dbgi, ir_node *irn_mem, ir_node *irn_ptr)
Construct a Free node.
condition parameter
Definition: nodes.h:1198
ir_node * new_d_Start(dbg_info *dbgi)
Construct a Start node.
ir_op * get_op_Cond(void)
Returns opcode for Cond nodes.
Definition: nodes.h:48
ir_op * op_Jmp
Jmp opcode.
Definition: nodes.h:2133
void set_Sync_pred(ir_node *node, int pos, ir_node *pred)
Set the Sync pred with index pos.
ir_node * new_r_Member(ir_node *block, ir_node *irn_ptr, ir_entity *entity)
Construct a Member node.
ir_node * new_r_Jmp(ir_node *block)
Construct a Jmp node.
ir_op * op_ASM
ASM opcode.
Definition: nodes.h:229
n_Sel
Input numbers for Sel node.
Definition: nodes.h:3391
ir_node * new_rd_Member(dbg_info *dbgi, ir_node *block, ir_node *irn_ptr, ir_entity *entity)
Construct a Member node.
Definition: nodes.h:35
ir_node * new_rd_Load(dbg_info *dbgi, ir_node *block, ir_node *irn_mem, ir_node *irn_ptr, ir_mode *mode, ir_type *type, ir_cons_flags flags)
Construct a Load node.
ir_node * new_d_Proj(dbg_info *dbgi, ir_node *irn_pred, ir_mode *mode, unsigned num)
Construct a Proj node.
void set_Alloc_size(ir_node *node, ir_node *size)
Sets size input of an Alloc node.
ir_node * new_Switch(ir_node *irn_selector, unsigned n_outs, ir_switch_table *table)
Construct a Switch node.
ir_op * get_op_And(void)
Returns opcode for And nodes.
ir_op * op_Block
Block opcode.
Definition: nodes.h:876
Definition: nodes.h:63
struct ir_op ir_op
Node Opcode.
Definition: firm_types.h:56
int get_End_n_keepalives(ir_node const *node)
Get the number of End keepalives.
ir_node * new_r_Mulh(ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct a Mulh node.
int is_Block(const ir_node *node)
Test if node is a Block.
ir_node * new_d_Bitcast(dbg_info *dbgi, ir_node *irn_op, ir_mode *mode)
Construct a Bitcast node.
Definition: nodes.h:27
Definition: nodes.h:56
ir_node * new_r_Bad(ir_graph *irg, ir_mode *mode)
Construct a Bad node.
ir_node * new_r_Alloc(ir_node *block, ir_node *irn_mem, ir_node *irn_size, unsigned alignment)
Construct an Alloc node.
ir_node * get_Mulh_left(const ir_node *node)
Returns left input of a Mulh node.
second operand
Definition: nodes.h:3637
ir_node * new_Block(int arity, ir_node *const *in)
Construct a Block node.
void set_Call_ptr(ir_node *node, ir_node *ptr)
Sets ptr input of a Call node.
ir_node * new_d_Unknown(dbg_info *dbgi, ir_mode *mode)
Construct an Unknown node.
ir_node * new_d_IJmp(dbg_info *dbgi, ir_node *irn_target)
Construct an IJmp node.
ir_op * op_Sel
Sel opcode.
Definition: nodes.h:3457
ir_node * new_d_Phi(dbg_info *dbgi, int arity, ir_node *const *in, ir_mode *mode)
Construct a Phi node.
ir_node * new_ASM(ir_node *irn_mem, int arity, ir_node *const *in, ident *text, size_t n_constraints, ir_asm_constraint *constraints, size_t n_clobbers, ident **clobbers, ir_cons_flags flags)
Construct an ASM node.
ir_node * new_rd_Add(dbg_info *dbgi, ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct an Add node.
void set_Sel_type(ir_node *node, ir_type *type)
Sets type attribute of a Sel node.
ir_type * get_CopyB_type(const ir_node *node)
Returns type attribute of a CopyB node.
memory dependency
Definition: nodes.h:117
int get_ASM_n_inputs(ir_node const *node)
Get the number of ASM inputs.
first operand
Definition: nodes.h:3479
ir_node * get_Confirm_bound(const ir_node *node)
Returns bound input of a Confirm node.
void set_ASM_mem(ir_node *node, ir_node *mem)
Sets mem input of an ASM node.
int is_Not(const ir_node *node)
Test if node is a Not.
ir_node * get_Confirm_value(const ir_node *node)
Returns value input of a Confirm node.
ir_node * new_d_Cmp(dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right, ir_relation relation)
Construct a Cmp node.
void set_ASM_constraints(ir_node *node, ir_asm_constraint *constraints)
Sets constraints attribute of an ASM node.
ir_node * new_d_Block(dbg_info *dbgi, int arity, ir_node *const *in)
Construct a Block node.
void set_And_left(ir_node *node, ir_node *left)
Sets left input of an And node.
int is_entconst(const ir_node *node)
Test if node is a entconst.
ir_node * new_rd_Shrs(dbg_info *dbgi, ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct a Shrs node.
n_Div
Input numbers for Div node.
Definition: nodes.h:1618
ir_node * new_rd_Store(dbg_info *dbgi, ir_node *block, ir_node *irn_mem, ir_node *irn_ptr, ir_node *irn_value, ir_type *type, ir_cons_flags flags)
Construct a Store node.
ir_node * new_d_Eor(dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right)
Construct an Eor node.
int is_And(const ir_node *node)
Test if node is a And.
first operand
Definition: nodes.h:2520
ir_node * get_Builtin_param(ir_node const *node, int pos)
Get the Builtin param with index pos.
ir_node * get_Not_op(const ir_node *node)
Returns op input of a Not node.
ir_node ** get_Builtin_param_arr(ir_node *node)
Get an array of all Builtin params.
ir_node * new_rd_Mul(dbg_info *dbgi, ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct a Mul node.
void set_Mux_sel(ir_node *node, ir_node *sel)
Sets sel input of a Mux node.
ir_node * new_Offset(ir_mode *mode, ir_entity *entity)
Construct an Offset node.
int is_Cond(const ir_node *node)
Test if node is a Cond.
ir_node * new_d_Return(dbg_info *dbgi, ir_node *irn_mem, int arity, ir_node *const *in)
Construct a Return node.
n_Free
Input numbers for Free node.
Definition: nodes.h:1923
ir_node * get_Free_mem(const ir_node *node)
Returns mem input of a Free node.
ir_node * new_d_Or(dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right)
Construct an Or node.
ir_node * get_Store_mem(const ir_node *node)
Returns mem input of a Store node.
ir_node * new_d_Confirm(dbg_info *dbgi, ir_node *irn_value, ir_node *irn_bound, ir_relation relation)
Construct a Confirm node.
ir_op * op_Id
Id opcode.
Definition: nodes.h:2084
pn_Mod
Projection numbers for result of Mod node (use for Proj nodes)
Definition: nodes.h:2426
ir_node * new_r_ASM(ir_node *block, ir_node *irn_mem, int arity, ir_node *const *in, ident *text, size_t n_constraints, ir_asm_constraint *constraints, size_t n_clobbers, ident **clobbers, ir_cons_flags flags)
Construct an ASM node.
ir_op * get_op_Store(void)
Returns opcode for Store nodes.
ir_node * new_rd_Conv(dbg_info *dbgi, ir_node *block, ir_node *irn_op, ir_mode *mode)
Construct a Conv node.
Definition: nodes.h:62
ir_node * new_Address(ir_entity *entity)
Construct an Address node.
void set_Shr_left(ir_node *node, ir_node *left)
Sets left input of a Shr node.
pointer to called code
Definition: nodes.h:1005
int is_Phi(const ir_node *node)
Test if node is a Phi.
ir_op * get_op_Add(void)
Returns opcode for Add nodes.
ir_op * get_op_Id(void)
Returns opcode for Id nodes.
ir_node * get_Proj_pred(const ir_node *node)
Returns pred input of a Proj node.
ir_op * get_op_Pin(void)
Returns opcode for Pin nodes.
void set_Address_entity(ir_node *node, ir_entity *entity)
Sets entity attribute of an Address node.
void set_Shrs_right(ir_node *node, ir_node *right)
Sets right input of a Shrs node.
ir_op * get_op_CopyB(void)
Returns opcode for CopyB nodes.
Definition: nodes.h:40
ir_node * new_Unknown(ir_mode *mode)
Construct an Unknown node.
ir_node * get_Raise_mem(const ir_node *node)
Returns mem input of a Raise node.
operand
Definition: nodes.h:2345
ir_op * get_op_Shr(void)
Returns opcode for Shr nodes.
ir_node * get_Mul_right(const ir_node *node)
Returns right input of a Mul node.
ir_node * get_Sub_left(const ir_node *node)
Returns left input of a Sub node.
void set_Anchor_args(ir_node *node, ir_node *args)
Sets args input of an Anchor node.
struct ir_mode ir_mode
SSA Value mode.
Definition: firm_types.h:59
n_Mux
Input numbers for Mux node.
Definition: nodes.h:2669
void set_Cmp_left(ir_node *node, ir_node *left)
Sets left input of a Cmp node.
ir_node * new_Jmp(void)
Construct a Jmp node.
void set_Block_entity(ir_node *node, ir_entity *entity)
Sets entity attribute of a Block node.
struct ir_graph ir_graph
Procedure Graph.
Definition: firm_types.h:74
ir_node * new_Member(ir_node *irn_ptr, ir_entity *entity)
Construct a Member node.
void set_Anchor_frame(ir_node *node, ir_node *frame)
Sets frame input of an Anchor node.
ir_op * get_op_Bitcast(void)
Returns opcode for Bitcast nodes.
int is_Id(const ir_node *node)
Test if node is a Id.
ir_node * get_ASM_mem(const ir_node *node)
Returns mem input of an ASM node.
n_Shr
Input numbers for Shr node.
Definition: nodes.h:3556
void set_Raise_exo_ptr(ir_node *node, ir_node *exo_ptr)
Sets exo_ptr input of a Raise node.
first operand
Definition: nodes.h:2929
ir_node * new_r_Or(ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct an Or node.
int is_Minus(const ir_node *node)
Test if node is a Minus.
ir_node * new_IJmp(ir_node *irn_target)
Construct an IJmp node.
ir_node * get_Return_mem(const ir_node *node)
Returns mem input of a Return node.
n_Builtin
Input numbers for Builtin node.
Definition: nodes.h:893
address to load from
Definition: nodes.h:2152
void set_Mod_resmode(ir_node *node, ir_mode *resmode)
Sets resmode attribute of a Mod node.
void set_CopyB_dst(ir_node *node, ir_node *dst)
Sets dst input of a CopyB node.
ir_op * op_Pin
Pin opcode.
Definition: nodes.h:3128
ir_node * get_Return_res(ir_node const *node, int pos)
Get the Return res with index pos.
ir_node * new_rd_Builtin(dbg_info *dbgi, ir_node *block, ir_node *irn_mem, int arity, ir_node *const *in, ir_builtin_kind kind, ir_type *type)
Construct a Builtin node.
int is_Sub(const ir_node *node)
Test if node is a Sub.
ir_type * get_Sel_type(const ir_node *node)
Returns type attribute of a Sel node.
ir_node * get_Cmp_left(const ir_node *node)
Returns left input of a Cmp node.
memory result
Definition: nodes.h:2427
ir_op * op_Shrs
Shrs opcode.
Definition: nodes.h:3692
void set_Anchor_end(ir_node *node, ir_node *end)
Sets end input of an Anchor node.
control flow when exception occurred
Definition: nodes.h:2163
void set_Call_type(ir_node *node, ir_type *type)
Sets type attribute of a Call node.
void set_Mul_left(ir_node *node, ir_node *left)
Sets left input of a Mul node.
ir_node * new_rd_Proj(dbg_info *dbgi, ir_node *irn_pred, ir_mode *mode, unsigned num)
Construct a Proj node.
Definition: nodes.h:43
ir_node * new_d_NoMem(dbg_info *dbgi)
Construct a NoMem node.
ir_type * get_Call_type(const ir_node *node)
Returns type attribute of a Call node.
ir_node * new_And(ir_node *irn_left, ir_node *irn_right)
Construct an And node.
first output
Definition: nodes.h:127
void set_Const_tarval(ir_node *node, ir_tarval *tarval)
Sets tarval attribute of a Const node.
ir_node * new_r_Conv(ir_node *block, ir_node *irn_op, ir_mode *mode)
Construct a Conv node.
struct dbg_info dbg_info
Source Reference.
Definition: firm_types.h:40
void set_Or_right(ir_node *node, ir_node *right)
Sets right input of an Or node.
ir_node * new_d_Bad(dbg_info *dbgi, ir_mode *mode)
Construct a Bad node.
unsigned get_Alloc_alignment(const ir_node *node)
Returns alignment attribute of an Alloc node.
ir_node * new_Eor(ir_node *irn_left, ir_node *irn_right)
Construct an Eor node.
second operand
Definition: nodes.h:3948
ir_node * new_rd_Offset(dbg_info *dbgi, ir_graph *irg, ir_mode *mode, ir_entity *entity)
Construct an Offset node.
void set_Store_ptr(ir_node *node, ir_node *ptr)
Sets ptr input of a Store node.
ir_node * new_Not(ir_node *irn_op)
Construct a Not node.
control flow if no other case matches
Definition: nodes.h:4032
result of computation
Definition: nodes.h:2428
int is_Shrs(const ir_node *node)
Test if node is a Shrs.
Definition: nodes.h:46
ir_node * new_d_Alloc(dbg_info *dbgi, ir_node *irn_mem, ir_node *irn_size, unsigned alignment)
Construct an Alloc node.
int is_Unknown(const ir_node *node)
Test if node is a Unknown.
void set_Proj_pred(ir_node *node, ir_node *pred)
Sets pred input of a Proj node.
ir_node * new_d_Member(dbg_info *dbgi, ir_node *irn_ptr, ir_entity *entity)
Construct a Member node.
ir_op * op_Mul
Mul opcode.
Definition: nodes.h:2576
n_Mod
Input numbers for Mod node.
Definition: nodes.h:2416
struct ir_switch_table ir_switch_table
A switch table mapping integer numbers to proj-numbers of a Switch-node.
Definition: firm_types.h:105
void set_Add_left(ir_node *node, ir_node *left)
Sets left input of an Add node.
ir_align get_Store_unaligned(const ir_node *node)
Returns unaligned attribute of a Store node.
memory dependency
Definition: nodes.h:1004
ir_node * new_r_Pin(ir_node *block, ir_node *irn_op)
Construct a Pin node.
ir_op * get_op_Mul(void)
Returns opcode for Mul nodes.
ir_node * new_rd_Eor(dbg_info *dbgi, ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct an Eor node.
ir_op * get_op_Switch(void)
Returns opcode for Switch nodes.
ir_node * new_rd_Switch(dbg_info *dbgi, ir_node *block, ir_node *irn_selector, unsigned n_outs, ir_switch_table *table)
Construct a Switch node.
memory dependency
Definition: nodes.h:3831
ir_op * op_Deleted
Deleted opcode.
Definition: nodes.h:1601
ir_node ** get_End_keepalive_arr(ir_node *node)
Get an array of all End keepalives.
void set_CopyB_mem(ir_node *node, ir_node *mem)
Sets mem input of a CopyB node.
ir_node * new_rd_And(dbg_info *dbgi, ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct an And node.
ir_node * new_rd_Mod(dbg_info *dbgi, ir_node *block, ir_node *irn_mem, ir_node *irn_left, ir_node *irn_right, int pinned)
Construct a Mod node.
void set_Confirm_bound(ir_node *node, ir_node *bound)
Sets bound input of a Confirm node.
void set_Return_res(ir_node *node, int pos, ir_node *res)
Set the Return res with index pos.
ir_node * new_r_Mux(ir_node *block, ir_node *irn_sel, ir_node *irn_false, ir_node *irn_true)
Construct a Mux node.
void set_Anchor_initial_mem(ir_node *node, ir_node *initial_mem)
Sets initial_mem input of an Anchor node.