libFirm 1.20
|
00001 /* Warning: automatically generated code */ 00002 #ifndef FIRM_IR_NODEOPS_H 00003 #define FIRM_IR_NODEOPS_H 00004 00005 #include "firm_types.h" 00006 00007 #include "begin.h" 00008 00024 typedef enum { 00025 n_ASM_mem, 00026 n_ASM_max = n_ASM_mem 00027 } n_ASM; 00028 00029 00034 FIRM_API int is_ASM(const ir_node *node); 00035 00037 FIRM_API ir_node *get_ASM_mem(const ir_node *node); 00039 FIRM_API void set_ASM_mem(ir_node *node, ir_node *mem); 00041 FIRM_API ir_asm_constraint* get_ASM_input_constraints(const ir_node *node); 00043 FIRM_API void set_ASM_input_constraints(ir_node *node, ir_asm_constraint* input_constraints); 00045 FIRM_API ir_asm_constraint* get_ASM_output_constraints(const ir_node *node); 00047 FIRM_API void set_ASM_output_constraints(ir_node *node, ir_asm_constraint* output_constraints); 00049 FIRM_API ident** get_ASM_clobbers(const ir_node *node); 00051 FIRM_API void set_ASM_clobbers(ir_node *node, ident** clobbers); 00053 FIRM_API ident* get_ASM_text(const ir_node *node); 00055 FIRM_API void set_ASM_text(ir_node *node, ident* text); 00068 typedef enum { 00069 n_Add_left, 00070 n_Add_right, 00071 n_Add_max = n_Add_right 00072 } n_Add; 00073 00074 00084 FIRM_API ir_node *new_rd_Add(dbg_info *dbgi, ir_node *block, ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 00085 00094 FIRM_API ir_node *new_r_Add(ir_node *block, ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 00095 00104 FIRM_API ir_node *new_d_Add(dbg_info *dbgi, ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 00105 00113 FIRM_API ir_node *new_Add(ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 00118 FIRM_API int is_Add(const ir_node *node); 00119 00121 FIRM_API ir_node *get_Add_left(const ir_node *node); 00123 FIRM_API void set_Add_left(ir_node *node, ir_node *left); 00125 FIRM_API ir_node *get_Add_right(const ir_node *node); 00127 FIRM_API void set_Add_right(ir_node *node, ir_node *right); 00143 typedef enum { 00144 n_Alloc_mem, 00145 n_Alloc_count, 00146 n_Alloc_max = n_Alloc_count 00147 } n_Alloc; 00148 00149 00153 typedef enum { 00154 pn_Alloc_M, 00155 pn_Alloc_res, 00156 pn_Alloc_X_regular, 00157 pn_Alloc_X_except, 00158 pn_Alloc_max = pn_Alloc_X_except 00159 } pn_Alloc; 00160 00171 FIRM_API ir_node *new_rd_Alloc(dbg_info *dbgi, ir_node *block, ir_node * irn_mem, ir_node * irn_count, ir_type* type, ir_where_alloc where); 00172 00182 FIRM_API ir_node *new_r_Alloc(ir_node *block, ir_node * irn_mem, ir_node * irn_count, ir_type* type, ir_where_alloc where); 00183 00193 FIRM_API ir_node *new_d_Alloc(dbg_info *dbgi, ir_node * irn_mem, ir_node * irn_count, ir_type* type, ir_where_alloc where); 00194 00203 FIRM_API ir_node *new_Alloc(ir_node * irn_mem, ir_node * irn_count, ir_type* type, ir_where_alloc where); 00208 FIRM_API int is_Alloc(const ir_node *node); 00209 00211 FIRM_API ir_node *get_Alloc_mem(const ir_node *node); 00213 FIRM_API void set_Alloc_mem(ir_node *node, ir_node *mem); 00215 FIRM_API ir_node *get_Alloc_count(const ir_node *node); 00217 FIRM_API void set_Alloc_count(ir_node *node, ir_node *count); 00219 FIRM_API ir_type* get_Alloc_type(const ir_node *node); 00221 FIRM_API void set_Alloc_type(ir_node *node, ir_type* type); 00223 FIRM_API ir_where_alloc get_Alloc_where(const ir_node *node); 00225 FIRM_API void set_Alloc_where(ir_node *node, ir_where_alloc where); 00245 FIRM_API int is_Anchor(const ir_node *node); 00246 00259 typedef enum { 00260 n_And_left, 00261 n_And_right, 00262 n_And_max = n_And_right 00263 } n_And; 00264 00265 00275 FIRM_API ir_node *new_rd_And(dbg_info *dbgi, ir_node *block, ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 00276 00285 FIRM_API ir_node *new_r_And(ir_node *block, ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 00286 00295 FIRM_API ir_node *new_d_And(dbg_info *dbgi, ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 00296 00304 FIRM_API ir_node *new_And(ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 00309 FIRM_API int is_And(const ir_node *node); 00310 00312 FIRM_API ir_node *get_And_left(const ir_node *node); 00314 FIRM_API void set_And_left(ir_node *node, ir_node *left); 00316 FIRM_API ir_node *get_And_right(const ir_node *node); 00318 FIRM_API void set_And_right(ir_node *node, ir_node *right); 00352 FIRM_API ir_node *new_rd_Bad(dbg_info *dbgi, ir_graph *irg, ir_mode * mode); 00353 00360 FIRM_API ir_node *new_r_Bad(ir_graph *irg, ir_mode * mode); 00361 00368 FIRM_API ir_node *new_d_Bad(dbg_info *dbgi, ir_mode * mode); 00369 00375 FIRM_API ir_node *new_Bad(ir_mode * mode); 00380 FIRM_API int is_Bad(const ir_node *node); 00381 00400 FIRM_API ir_node *new_rd_Block(dbg_info *dbgi, ir_graph *irg, int arity, ir_node *const * in); 00401 00409 FIRM_API ir_node *new_r_Block(ir_graph *irg, int arity, ir_node *const * in); 00410 00418 FIRM_API ir_node *new_d_Block(dbg_info *dbgi, int arity, ir_node *const * in); 00419 00426 FIRM_API ir_node *new_Block(int arity, ir_node *const * in); 00431 FIRM_API int is_Block(const ir_node *node); 00432 00434 FIRM_API ir_entity* get_Block_entity(const ir_node *node); 00436 FIRM_API void set_Block_entity(ir_node *node, ir_entity* entity); 00449 typedef enum { 00450 n_Borrow_left, 00451 n_Borrow_right, 00452 n_Borrow_max = n_Borrow_right 00453 } n_Borrow; 00454 00455 00465 FIRM_API ir_node *new_rd_Borrow(dbg_info *dbgi, ir_node *block, ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 00466 00475 FIRM_API ir_node *new_r_Borrow(ir_node *block, ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 00476 00485 FIRM_API ir_node *new_d_Borrow(dbg_info *dbgi, ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 00486 00494 FIRM_API ir_node *new_Borrow(ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 00499 FIRM_API int is_Borrow(const ir_node *node); 00500 00502 FIRM_API ir_node *get_Borrow_left(const ir_node *node); 00504 FIRM_API void set_Borrow_left(ir_node *node, ir_node *left); 00506 FIRM_API ir_node *get_Borrow_right(const ir_node *node); 00508 FIRM_API void set_Borrow_right(ir_node *node, ir_node *right); 00522 typedef enum { 00523 n_Bound_mem, 00524 n_Bound_index, 00525 n_Bound_lower, 00526 n_Bound_upper, 00527 n_Bound_max = n_Bound_upper 00528 } n_Bound; 00529 00530 00534 typedef enum { 00535 pn_Bound_M, 00536 pn_Bound_res, 00537 pn_Bound_X_regular, 00538 pn_Bound_X_except, 00539 pn_Bound_max = pn_Bound_X_except 00540 } pn_Bound; 00541 00552 FIRM_API ir_node *new_rd_Bound(dbg_info *dbgi, ir_node *block, ir_node * irn_mem, ir_node * irn_index, ir_node * irn_lower, ir_node * irn_upper); 00553 00563 FIRM_API ir_node *new_r_Bound(ir_node *block, ir_node * irn_mem, ir_node * irn_index, ir_node * irn_lower, ir_node * irn_upper); 00564 00574 FIRM_API ir_node *new_d_Bound(dbg_info *dbgi, ir_node * irn_mem, ir_node * irn_index, ir_node * irn_lower, ir_node * irn_upper); 00575 00584 FIRM_API ir_node *new_Bound(ir_node * irn_mem, ir_node * irn_index, ir_node * irn_lower, ir_node * irn_upper); 00589 FIRM_API int is_Bound(const ir_node *node); 00590 00592 FIRM_API ir_node *get_Bound_mem(const ir_node *node); 00594 FIRM_API void set_Bound_mem(ir_node *node, ir_node *mem); 00596 FIRM_API ir_node *get_Bound_index(const ir_node *node); 00598 FIRM_API void set_Bound_index(ir_node *node, ir_node *index); 00600 FIRM_API ir_node *get_Bound_lower(const ir_node *node); 00602 FIRM_API void set_Bound_lower(ir_node *node, ir_node *lower); 00604 FIRM_API ir_node *get_Bound_upper(const ir_node *node); 00606 FIRM_API void set_Bound_upper(ir_node *node, ir_node *upper); 00619 typedef enum { 00620 n_Builtin_mem, 00621 n_Builtin_max = n_Builtin_mem 00622 } n_Builtin; 00623 00624 00628 typedef enum { 00629 pn_Builtin_M, 00630 pn_Builtin_max = pn_Builtin_M 00631 } pn_Builtin; 00632 00644 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); 00645 00656 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); 00657 00668 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); 00669 00679 FIRM_API ir_node *new_Builtin(ir_node * irn_mem, int arity, ir_node *const * in, ir_builtin_kind kind, ir_type* type); 00684 FIRM_API int is_Builtin(const ir_node *node); 00685 00687 FIRM_API ir_node *get_Builtin_mem(const ir_node *node); 00689 FIRM_API void set_Builtin_mem(ir_node *node, ir_node *mem); 00691 FIRM_API ir_builtin_kind get_Builtin_kind(const ir_node *node); 00693 FIRM_API void set_Builtin_kind(ir_node *node, ir_builtin_kind kind); 00695 FIRM_API ir_type* get_Builtin_type(const ir_node *node); 00697 FIRM_API void set_Builtin_type(ir_node *node, ir_type* type); 00713 typedef enum { 00714 n_Call_mem, 00715 n_Call_ptr, 00716 n_Call_max = n_Call_ptr 00717 } n_Call; 00718 00719 00723 typedef enum { 00724 pn_Call_M, 00725 pn_Call_T_result, 00726 pn_Call_X_regular, 00727 pn_Call_X_except, 00728 pn_Call_max = pn_Call_X_except 00729 } pn_Call; 00730 00742 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); 00743 00754 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); 00755 00766 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); 00767 00777 FIRM_API ir_node *new_Call(ir_node * irn_mem, ir_node * irn_ptr, int arity, ir_node *const * in, ir_type* type); 00782 FIRM_API int is_Call(const ir_node *node); 00783 00785 FIRM_API ir_node *get_Call_mem(const ir_node *node); 00787 FIRM_API void set_Call_mem(ir_node *node, ir_node *mem); 00789 FIRM_API ir_node *get_Call_ptr(const ir_node *node); 00791 FIRM_API void set_Call_ptr(ir_node *node, ir_node *ptr); 00793 FIRM_API ir_type* get_Call_type(const ir_node *node); 00795 FIRM_API void set_Call_type(ir_node *node, ir_type* type); 00809 typedef enum { 00810 n_Carry_left, 00811 n_Carry_right, 00812 n_Carry_max = n_Carry_right 00813 } n_Carry; 00814 00815 00825 FIRM_API ir_node *new_rd_Carry(dbg_info *dbgi, ir_node *block, ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 00826 00835 FIRM_API ir_node *new_r_Carry(ir_node *block, ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 00836 00845 FIRM_API ir_node *new_d_Carry(dbg_info *dbgi, ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 00846 00854 FIRM_API ir_node *new_Carry(ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 00859 FIRM_API int is_Carry(const ir_node *node); 00860 00862 FIRM_API ir_node *get_Carry_left(const ir_node *node); 00864 FIRM_API void set_Carry_left(ir_node *node, ir_node *left); 00866 FIRM_API ir_node *get_Carry_right(const ir_node *node); 00868 FIRM_API void set_Carry_right(ir_node *node, ir_node *right); 00881 typedef enum { 00882 n_Cast_op, 00883 n_Cast_max = n_Cast_op 00884 } n_Cast; 00885 00886 00895 FIRM_API ir_node *new_rd_Cast(dbg_info *dbgi, ir_node *block, ir_node * irn_op, ir_type* type); 00896 00904 FIRM_API ir_node *new_r_Cast(ir_node *block, ir_node * irn_op, ir_type* type); 00905 00913 FIRM_API ir_node *new_d_Cast(dbg_info *dbgi, ir_node * irn_op, ir_type* type); 00914 00921 FIRM_API ir_node *new_Cast(ir_node * irn_op, ir_type* type); 00926 FIRM_API int is_Cast(const ir_node *node); 00927 00929 FIRM_API ir_node *get_Cast_op(const ir_node *node); 00931 FIRM_API void set_Cast_op(ir_node *node, ir_node *op); 00933 FIRM_API ir_type* get_Cast_type(const ir_node *node); 00935 FIRM_API void set_Cast_type(ir_node *node, ir_type* type); 00949 typedef enum { 00950 n_Cmp_left, 00951 n_Cmp_right, 00952 n_Cmp_max = n_Cmp_right 00953 } n_Cmp; 00954 00955 00965 FIRM_API ir_node *new_rd_Cmp(dbg_info *dbgi, ir_node *block, ir_node * irn_left, ir_node * irn_right, ir_relation relation); 00966 00975 FIRM_API ir_node *new_r_Cmp(ir_node *block, ir_node * irn_left, ir_node * irn_right, ir_relation relation); 00976 00985 FIRM_API ir_node *new_d_Cmp(dbg_info *dbgi, ir_node * irn_left, ir_node * irn_right, ir_relation relation); 00986 00994 FIRM_API ir_node *new_Cmp(ir_node * irn_left, ir_node * irn_right, ir_relation relation); 00999 FIRM_API int is_Cmp(const ir_node *node); 01000 01002 FIRM_API ir_node *get_Cmp_left(const ir_node *node); 01004 FIRM_API void set_Cmp_left(ir_node *node, ir_node *left); 01006 FIRM_API ir_node *get_Cmp_right(const ir_node *node); 01008 FIRM_API void set_Cmp_right(ir_node *node, ir_node *right); 01010 FIRM_API ir_relation get_Cmp_relation(const ir_node *node); 01012 FIRM_API void set_Cmp_relation(ir_node *node, ir_relation relation); 01025 typedef enum { 01026 n_Cond_selector, 01027 n_Cond_max = n_Cond_selector 01028 } n_Cond; 01029 01030 01034 typedef enum { 01035 pn_Cond_false, 01036 pn_Cond_true, 01037 pn_Cond_max = pn_Cond_true 01038 } pn_Cond; 01039 01047 FIRM_API ir_node *new_rd_Cond(dbg_info *dbgi, ir_node *block, ir_node * irn_selector); 01048 01055 FIRM_API ir_node *new_r_Cond(ir_node *block, ir_node * irn_selector); 01056 01063 FIRM_API ir_node *new_d_Cond(dbg_info *dbgi, ir_node * irn_selector); 01064 01070 FIRM_API ir_node *new_Cond(ir_node * irn_selector); 01075 FIRM_API int is_Cond(const ir_node *node); 01076 01078 FIRM_API ir_node *get_Cond_selector(const ir_node *node); 01080 FIRM_API void set_Cond_selector(ir_node *node, ir_node *selector); 01082 FIRM_API cond_jmp_predicate get_Cond_jmp_pred(const ir_node *node); 01084 FIRM_API void set_Cond_jmp_pred(ir_node *node, cond_jmp_predicate jmp_pred); 01105 typedef enum { 01106 n_Confirm_value, 01107 n_Confirm_bound, 01108 n_Confirm_max = n_Confirm_bound 01109 } n_Confirm; 01110 01111 01121 FIRM_API ir_node *new_rd_Confirm(dbg_info *dbgi, ir_node *block, ir_node * irn_value, ir_node * irn_bound, ir_relation relation); 01122 01131 FIRM_API ir_node *new_r_Confirm(ir_node *block, ir_node * irn_value, ir_node * irn_bound, ir_relation relation); 01132 01141 FIRM_API ir_node *new_d_Confirm(dbg_info *dbgi, ir_node * irn_value, ir_node * irn_bound, ir_relation relation); 01142 01150 FIRM_API ir_node *new_Confirm(ir_node * irn_value, ir_node * irn_bound, ir_relation relation); 01155 FIRM_API int is_Confirm(const ir_node *node); 01156 01158 FIRM_API ir_node *get_Confirm_value(const ir_node *node); 01160 FIRM_API void set_Confirm_value(ir_node *node, ir_node *value); 01162 FIRM_API ir_node *get_Confirm_bound(const ir_node *node); 01164 FIRM_API void set_Confirm_bound(ir_node *node, ir_node *bound); 01166 FIRM_API ir_relation get_Confirm_relation(const ir_node *node); 01168 FIRM_API void set_Confirm_relation(ir_node *node, ir_relation relation); 01186 FIRM_API ir_node *new_rd_Const(dbg_info *dbgi, ir_graph *irg, ir_tarval* tarval); 01187 01194 FIRM_API ir_node *new_r_Const(ir_graph *irg, ir_tarval* tarval); 01195 01202 FIRM_API ir_node *new_d_Const(dbg_info *dbgi, ir_tarval* tarval); 01203 01209 FIRM_API ir_node *new_Const(ir_tarval* tarval); 01214 FIRM_API int is_Const(const ir_node *node); 01215 01217 FIRM_API ir_tarval* get_Const_tarval(const ir_node *node); 01219 FIRM_API void set_Const_tarval(ir_node *node, ir_tarval* tarval); 01232 typedef enum { 01233 n_Conv_op, 01234 n_Conv_max = n_Conv_op 01235 } n_Conv; 01236 01237 01246 FIRM_API ir_node *new_rd_Conv(dbg_info *dbgi, ir_node *block, ir_node * irn_op, ir_mode * mode); 01247 01255 FIRM_API ir_node *new_r_Conv(ir_node *block, ir_node * irn_op, ir_mode * mode); 01256 01264 FIRM_API ir_node *new_d_Conv(dbg_info *dbgi, ir_node * irn_op, ir_mode * mode); 01265 01272 FIRM_API ir_node *new_Conv(ir_node * irn_op, ir_mode * mode); 01277 FIRM_API int is_Conv(const ir_node *node); 01278 01280 FIRM_API ir_node *get_Conv_op(const ir_node *node); 01282 FIRM_API void set_Conv_op(ir_node *node, ir_node *op); 01284 FIRM_API int get_Conv_strict(const ir_node *node); 01286 FIRM_API void set_Conv_strict(ir_node *node, int strict); 01299 typedef enum { 01300 n_CopyB_mem, 01301 n_CopyB_dst, 01302 n_CopyB_src, 01303 n_CopyB_max = n_CopyB_src 01304 } n_CopyB; 01305 01306 01310 typedef enum { 01311 pn_CopyB_M, 01312 pn_CopyB_X_regular, 01313 pn_CopyB_X_except, 01314 pn_CopyB_max = pn_CopyB_X_except 01315 } pn_CopyB; 01316 01327 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); 01328 01338 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); 01339 01349 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); 01350 01359 FIRM_API ir_node *new_CopyB(ir_node * irn_mem, ir_node * irn_dst, ir_node * irn_src, ir_type* type); 01364 FIRM_API int is_CopyB(const ir_node *node); 01365 01367 FIRM_API ir_node *get_CopyB_mem(const ir_node *node); 01369 FIRM_API void set_CopyB_mem(ir_node *node, ir_node *mem); 01371 FIRM_API ir_node *get_CopyB_dst(const ir_node *node); 01373 FIRM_API void set_CopyB_dst(ir_node *node, ir_node *dst); 01375 FIRM_API ir_node *get_CopyB_src(const ir_node *node); 01377 FIRM_API void set_CopyB_src(ir_node *node, ir_node *src); 01379 FIRM_API ir_type* get_CopyB_type(const ir_node *node); 01381 FIRM_API void set_CopyB_type(ir_node *node, ir_type* type); 01397 FIRM_API int is_Deleted(const ir_node *node); 01398 01411 typedef enum { 01412 n_Div_mem, 01413 n_Div_left, 01414 n_Div_right, 01415 n_Div_max = n_Div_right 01416 } n_Div; 01417 01418 01422 typedef enum { 01423 pn_Div_M, 01424 pn_Div_res, 01425 pn_Div_X_regular, 01426 pn_Div_X_except, 01427 pn_Div_max = pn_Div_X_except 01428 } pn_Div; 01429 01441 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, ir_mode* resmode, op_pin_state pin_state); 01442 01453 FIRM_API ir_node *new_r_Div(ir_node *block, ir_node * irn_mem, ir_node * irn_left, ir_node * irn_right, ir_mode* resmode, op_pin_state pin_state); 01454 01465 FIRM_API ir_node *new_d_Div(dbg_info *dbgi, ir_node * irn_mem, ir_node * irn_left, ir_node * irn_right, ir_mode* resmode, op_pin_state pin_state); 01466 01476 FIRM_API ir_node *new_Div(ir_node * irn_mem, ir_node * irn_left, ir_node * irn_right, ir_mode* resmode, op_pin_state pin_state); 01481 FIRM_API int is_Div(const ir_node *node); 01482 01484 FIRM_API ir_node *get_Div_mem(const ir_node *node); 01486 FIRM_API void set_Div_mem(ir_node *node, ir_node *mem); 01488 FIRM_API ir_node *get_Div_left(const ir_node *node); 01490 FIRM_API void set_Div_left(ir_node *node, ir_node *left); 01492 FIRM_API ir_node *get_Div_right(const ir_node *node); 01494 FIRM_API void set_Div_right(ir_node *node, ir_node *right); 01496 FIRM_API ir_mode* get_Div_resmode(const ir_node *node); 01498 FIRM_API void set_Div_resmode(ir_node *node, ir_mode* resmode); 01500 FIRM_API int get_Div_no_remainder(const ir_node *node); 01502 FIRM_API void set_Div_no_remainder(ir_node *node, int no_remainder); 01522 FIRM_API ir_node *new_rd_Dummy(dbg_info *dbgi, ir_graph *irg, ir_mode * mode); 01523 01530 FIRM_API ir_node *new_r_Dummy(ir_graph *irg, ir_mode * mode); 01531 01538 FIRM_API ir_node *new_d_Dummy(dbg_info *dbgi, ir_mode * mode); 01539 01545 FIRM_API ir_node *new_Dummy(ir_mode * mode); 01550 FIRM_API int is_Dummy(const ir_node *node); 01551 01571 FIRM_API ir_node *new_rd_End(dbg_info *dbgi, ir_graph *irg, int arity, ir_node *const * in); 01572 01580 FIRM_API ir_node *new_r_End(ir_graph *irg, int arity, ir_node *const * in); 01581 01589 FIRM_API ir_node *new_d_End(dbg_info *dbgi, int arity, ir_node *const * in); 01590 01597 FIRM_API ir_node *new_End(int arity, ir_node *const * in); 01602 FIRM_API int is_End(const ir_node *node); 01603 01618 typedef enum { 01619 n_Eor_left, 01620 n_Eor_right, 01621 n_Eor_max = n_Eor_right 01622 } n_Eor; 01623 01624 01634 FIRM_API ir_node *new_rd_Eor(dbg_info *dbgi, ir_node *block, ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 01635 01644 FIRM_API ir_node *new_r_Eor(ir_node *block, ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 01645 01654 FIRM_API ir_node *new_d_Eor(dbg_info *dbgi, ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 01655 01663 FIRM_API ir_node *new_Eor(ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 01668 FIRM_API int is_Eor(const ir_node *node); 01669 01671 FIRM_API ir_node *get_Eor_left(const ir_node *node); 01673 FIRM_API void set_Eor_left(ir_node *node, ir_node *left); 01675 FIRM_API ir_node *get_Eor_right(const ir_node *node); 01677 FIRM_API void set_Eor_right(ir_node *node, ir_node *right); 01690 typedef enum { 01691 n_Free_mem, 01692 n_Free_ptr, 01693 n_Free_count, 01694 n_Free_max = n_Free_count 01695 } n_Free; 01696 01697 01709 FIRM_API ir_node *new_rd_Free(dbg_info *dbgi, ir_node *block, ir_node * irn_mem, ir_node * irn_ptr, ir_node * irn_count, ir_type* type, ir_where_alloc where); 01710 01721 FIRM_API ir_node *new_r_Free(ir_node *block, ir_node * irn_mem, ir_node * irn_ptr, ir_node * irn_count, ir_type* type, ir_where_alloc where); 01722 01733 FIRM_API ir_node *new_d_Free(dbg_info *dbgi, ir_node * irn_mem, ir_node * irn_ptr, ir_node * irn_count, ir_type* type, ir_where_alloc where); 01734 01744 FIRM_API ir_node *new_Free(ir_node * irn_mem, ir_node * irn_ptr, ir_node * irn_count, ir_type* type, ir_where_alloc where); 01749 FIRM_API int is_Free(const ir_node *node); 01750 01752 FIRM_API ir_node *get_Free_mem(const ir_node *node); 01754 FIRM_API void set_Free_mem(ir_node *node, ir_node *mem); 01756 FIRM_API ir_node *get_Free_ptr(const ir_node *node); 01758 FIRM_API void set_Free_ptr(ir_node *node, ir_node *ptr); 01760 FIRM_API ir_node *get_Free_count(const ir_node *node); 01762 FIRM_API void set_Free_count(ir_node *node, ir_node *count); 01764 FIRM_API ir_type* get_Free_type(const ir_node *node); 01766 FIRM_API void set_Free_type(ir_node *node, ir_type* type); 01768 FIRM_API ir_where_alloc get_Free_where(const ir_node *node); 01770 FIRM_API void set_Free_where(ir_node *node, ir_where_alloc where); 01785 typedef enum { 01786 n_IJmp_target, 01787 n_IJmp_max = n_IJmp_target 01788 } n_IJmp; 01789 01790 01798 FIRM_API ir_node *new_rd_IJmp(dbg_info *dbgi, ir_node *block, ir_node * irn_target); 01799 01806 FIRM_API ir_node *new_r_IJmp(ir_node *block, ir_node * irn_target); 01807 01814 FIRM_API ir_node *new_d_IJmp(dbg_info *dbgi, ir_node * irn_target); 01815 01821 FIRM_API ir_node *new_IJmp(ir_node * irn_target); 01826 FIRM_API int is_IJmp(const ir_node *node); 01827 01829 FIRM_API ir_node *get_IJmp_target(const ir_node *node); 01831 FIRM_API void set_IJmp_target(ir_node *node, ir_node *target); 01847 typedef enum { 01848 n_Id_pred, 01849 n_Id_max = n_Id_pred 01850 } n_Id; 01851 01852 01861 FIRM_API ir_node *new_rd_Id(dbg_info *dbgi, ir_node *block, ir_node * irn_pred, ir_mode * mode); 01862 01870 FIRM_API ir_node *new_r_Id(ir_node *block, ir_node * irn_pred, ir_mode * mode); 01871 01879 FIRM_API ir_node *new_d_Id(dbg_info *dbgi, ir_node * irn_pred, ir_mode * mode); 01880 01887 FIRM_API ir_node *new_Id(ir_node * irn_pred, ir_mode * mode); 01892 FIRM_API int is_Id(const ir_node *node); 01893 01895 FIRM_API ir_node *get_Id_pred(const ir_node *node); 01897 FIRM_API void set_Id_pred(ir_node *node, ir_node *pred); 01910 typedef enum { 01911 n_InstOf_store, 01912 n_InstOf_obj, 01913 n_InstOf_max = n_InstOf_obj 01914 } n_InstOf; 01915 01916 01920 typedef enum { 01921 pn_InstOf_M, 01922 pn_InstOf_res, 01923 pn_InstOf_X_regular, 01924 pn_InstOf_X_except, 01925 pn_InstOf_max = pn_InstOf_X_except 01926 } pn_InstOf; 01927 01937 FIRM_API ir_node *new_rd_InstOf(dbg_info *dbgi, ir_node *block, ir_node * irn_store, ir_node * irn_obj, ir_type* type); 01938 01947 FIRM_API ir_node *new_r_InstOf(ir_node *block, ir_node * irn_store, ir_node * irn_obj, ir_type* type); 01948 01957 FIRM_API ir_node *new_d_InstOf(dbg_info *dbgi, ir_node * irn_store, ir_node * irn_obj, ir_type* type); 01958 01966 FIRM_API ir_node *new_InstOf(ir_node * irn_store, ir_node * irn_obj, ir_type* type); 01971 FIRM_API int is_InstOf(const ir_node *node); 01972 01974 FIRM_API ir_node *get_InstOf_store(const ir_node *node); 01976 FIRM_API void set_InstOf_store(ir_node *node, ir_node *store); 01978 FIRM_API ir_node *get_InstOf_obj(const ir_node *node); 01980 FIRM_API void set_InstOf_obj(ir_node *node, ir_node *obj); 01982 FIRM_API ir_type* get_InstOf_type(const ir_node *node); 01984 FIRM_API void set_InstOf_type(ir_node *node, ir_type* type); 02001 FIRM_API ir_node *new_rd_Jmp(dbg_info *dbgi, ir_node *block); 02002 02008 FIRM_API ir_node *new_r_Jmp(ir_node *block); 02009 02015 FIRM_API ir_node *new_d_Jmp(dbg_info *dbgi); 02016 02021 FIRM_API ir_node *new_Jmp(void); 02026 FIRM_API int is_Jmp(const ir_node *node); 02027 02040 typedef enum { 02041 n_Load_mem, 02042 n_Load_ptr, 02043 n_Load_max = n_Load_ptr 02044 } n_Load; 02045 02046 02050 typedef enum { 02051 pn_Load_M, 02052 pn_Load_res, 02053 pn_Load_X_regular, 02054 pn_Load_X_except, 02055 pn_Load_max = pn_Load_X_except 02056 } pn_Load; 02057 02068 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_cons_flags flags); 02069 02079 FIRM_API ir_node *new_r_Load(ir_node *block, ir_node * irn_mem, ir_node * irn_ptr, ir_mode* mode, ir_cons_flags flags); 02080 02090 FIRM_API ir_node *new_d_Load(dbg_info *dbgi, ir_node * irn_mem, ir_node * irn_ptr, ir_mode* mode, ir_cons_flags flags); 02091 02100 FIRM_API ir_node *new_Load(ir_node * irn_mem, ir_node * irn_ptr, ir_mode* mode, ir_cons_flags flags); 02105 FIRM_API int is_Load(const ir_node *node); 02106 02108 FIRM_API ir_node *get_Load_mem(const ir_node *node); 02110 FIRM_API void set_Load_mem(ir_node *node, ir_node *mem); 02112 FIRM_API ir_node *get_Load_ptr(const ir_node *node); 02114 FIRM_API void set_Load_ptr(ir_node *node, ir_node *ptr); 02116 FIRM_API ir_mode* get_Load_mode(const ir_node *node); 02118 FIRM_API void set_Load_mode(ir_node *node, ir_mode* mode); 02120 FIRM_API ir_volatility get_Load_volatility(const ir_node *node); 02122 FIRM_API void set_Load_volatility(ir_node *node, ir_volatility volatility); 02124 FIRM_API ir_align get_Load_unaligned(const ir_node *node); 02126 FIRM_API void set_Load_unaligned(ir_node *node, ir_align unaligned); 02139 typedef enum { 02140 n_Minus_op, 02141 n_Minus_max = n_Minus_op 02142 } n_Minus; 02143 02144 02153 FIRM_API ir_node *new_rd_Minus(dbg_info *dbgi, ir_node *block, ir_node * irn_op, ir_mode * mode); 02154 02162 FIRM_API ir_node *new_r_Minus(ir_node *block, ir_node * irn_op, ir_mode * mode); 02163 02171 FIRM_API ir_node *new_d_Minus(dbg_info *dbgi, ir_node * irn_op, ir_mode * mode); 02172 02179 FIRM_API ir_node *new_Minus(ir_node * irn_op, ir_mode * mode); 02184 FIRM_API int is_Minus(const ir_node *node); 02185 02187 FIRM_API ir_node *get_Minus_op(const ir_node *node); 02189 FIRM_API void set_Minus_op(ir_node *node, ir_node *op); 02209 typedef enum { 02210 n_Mod_mem, 02211 n_Mod_left, 02212 n_Mod_right, 02213 n_Mod_max = n_Mod_right 02214 } n_Mod; 02215 02216 02220 typedef enum { 02221 pn_Mod_M, 02222 pn_Mod_res, 02223 pn_Mod_X_regular, 02224 pn_Mod_X_except, 02225 pn_Mod_max = pn_Mod_X_except 02226 } pn_Mod; 02227 02239 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, ir_mode* resmode, op_pin_state pin_state); 02240 02251 FIRM_API ir_node *new_r_Mod(ir_node *block, ir_node * irn_mem, ir_node * irn_left, ir_node * irn_right, ir_mode* resmode, op_pin_state pin_state); 02252 02263 FIRM_API ir_node *new_d_Mod(dbg_info *dbgi, ir_node * irn_mem, ir_node * irn_left, ir_node * irn_right, ir_mode* resmode, op_pin_state pin_state); 02264 02274 FIRM_API ir_node *new_Mod(ir_node * irn_mem, ir_node * irn_left, ir_node * irn_right, ir_mode* resmode, op_pin_state pin_state); 02279 FIRM_API int is_Mod(const ir_node *node); 02280 02282 FIRM_API ir_node *get_Mod_mem(const ir_node *node); 02284 FIRM_API void set_Mod_mem(ir_node *node, ir_node *mem); 02286 FIRM_API ir_node *get_Mod_left(const ir_node *node); 02288 FIRM_API void set_Mod_left(ir_node *node, ir_node *left); 02290 FIRM_API ir_node *get_Mod_right(const ir_node *node); 02292 FIRM_API void set_Mod_right(ir_node *node, ir_node *right); 02294 FIRM_API ir_mode* get_Mod_resmode(const ir_node *node); 02296 FIRM_API void set_Mod_resmode(ir_node *node, ir_mode* resmode); 02309 typedef enum { 02310 n_Mul_left, 02311 n_Mul_right, 02312 n_Mul_max = n_Mul_right 02313 } n_Mul; 02314 02315 02325 FIRM_API ir_node *new_rd_Mul(dbg_info *dbgi, ir_node *block, ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 02326 02335 FIRM_API ir_node *new_r_Mul(ir_node *block, ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 02336 02345 FIRM_API ir_node *new_d_Mul(dbg_info *dbgi, ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 02346 02354 FIRM_API ir_node *new_Mul(ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 02359 FIRM_API int is_Mul(const ir_node *node); 02360 02362 FIRM_API ir_node *get_Mul_left(const ir_node *node); 02364 FIRM_API void set_Mul_left(ir_node *node, ir_node *left); 02366 FIRM_API ir_node *get_Mul_right(const ir_node *node); 02368 FIRM_API void set_Mul_right(ir_node *node, ir_node *right); 02382 typedef enum { 02383 n_Mulh_left, 02384 n_Mulh_right, 02385 n_Mulh_max = n_Mulh_right 02386 } n_Mulh; 02387 02388 02398 FIRM_API ir_node *new_rd_Mulh(dbg_info *dbgi, ir_node *block, ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 02399 02408 FIRM_API ir_node *new_r_Mulh(ir_node *block, ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 02409 02418 FIRM_API ir_node *new_d_Mulh(dbg_info *dbgi, ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 02419 02427 FIRM_API ir_node *new_Mulh(ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 02432 FIRM_API int is_Mulh(const ir_node *node); 02433 02435 FIRM_API ir_node *get_Mulh_left(const ir_node *node); 02437 FIRM_API void set_Mulh_left(ir_node *node, ir_node *left); 02439 FIRM_API ir_node *get_Mulh_right(const ir_node *node); 02441 FIRM_API void set_Mulh_right(ir_node *node, ir_node *right); 02455 typedef enum { 02456 n_Mux_sel, 02457 n_Mux_false, 02458 n_Mux_true, 02459 n_Mux_max = n_Mux_true 02460 } n_Mux; 02461 02462 02473 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, ir_mode * mode); 02474 02484 FIRM_API ir_node *new_r_Mux(ir_node *block, ir_node * irn_sel, ir_node * irn_false, ir_node * irn_true, ir_mode * mode); 02485 02495 FIRM_API ir_node *new_d_Mux(dbg_info *dbgi, ir_node * irn_sel, ir_node * irn_false, ir_node * irn_true, ir_mode * mode); 02496 02505 FIRM_API ir_node *new_Mux(ir_node * irn_sel, ir_node * irn_false, ir_node * irn_true, ir_mode * mode); 02510 FIRM_API int is_Mux(const ir_node *node); 02511 02513 FIRM_API ir_node *get_Mux_sel(const ir_node *node); 02515 FIRM_API void set_Mux_sel(ir_node *node, ir_node *sel); 02517 FIRM_API ir_node *get_Mux_false(const ir_node *node); 02519 FIRM_API void set_Mux_false(ir_node *node, ir_node *false_); 02521 FIRM_API ir_node *get_Mux_true(const ir_node *node); 02523 FIRM_API void set_Mux_true(ir_node *node, ir_node *true_); 02540 FIRM_API ir_node *new_rd_NoMem(dbg_info *dbgi, ir_graph *irg); 02541 02547 FIRM_API ir_node *new_r_NoMem(ir_graph *irg); 02548 02554 FIRM_API ir_node *new_d_NoMem(dbg_info *dbgi); 02555 02560 FIRM_API ir_node *new_NoMem(void); 02565 FIRM_API int is_NoMem(const ir_node *node); 02566 02579 typedef enum { 02580 n_Not_op, 02581 n_Not_max = n_Not_op 02582 } n_Not; 02583 02584 02593 FIRM_API ir_node *new_rd_Not(dbg_info *dbgi, ir_node *block, ir_node * irn_op, ir_mode * mode); 02594 02602 FIRM_API ir_node *new_r_Not(ir_node *block, ir_node * irn_op, ir_mode * mode); 02603 02611 FIRM_API ir_node *new_d_Not(dbg_info *dbgi, ir_node * irn_op, ir_mode * mode); 02612 02619 FIRM_API ir_node *new_Not(ir_node * irn_op, ir_mode * mode); 02624 FIRM_API int is_Not(const ir_node *node); 02625 02627 FIRM_API ir_node *get_Not_op(const ir_node *node); 02629 FIRM_API void set_Not_op(ir_node *node, ir_node *op); 02642 typedef enum { 02643 n_Or_left, 02644 n_Or_right, 02645 n_Or_max = n_Or_right 02646 } n_Or; 02647 02648 02658 FIRM_API ir_node *new_rd_Or(dbg_info *dbgi, ir_node *block, ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 02659 02668 FIRM_API ir_node *new_r_Or(ir_node *block, ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 02669 02678 FIRM_API ir_node *new_d_Or(dbg_info *dbgi, ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 02679 02687 FIRM_API ir_node *new_Or(ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 02692 FIRM_API int is_Or(const ir_node *node); 02693 02695 FIRM_API ir_node *get_Or_left(const ir_node *node); 02697 FIRM_API void set_Or_left(ir_node *node, ir_node *left); 02699 FIRM_API ir_node *get_Or_right(const ir_node *node); 02701 FIRM_API void set_Or_right(ir_node *node, ir_node *right); 02723 FIRM_API ir_node *new_rd_Phi(dbg_info *dbgi, ir_node *block, int arity, ir_node *const * in, ir_mode * mode); 02724 02733 FIRM_API ir_node *new_r_Phi(ir_node *block, int arity, ir_node *const * in, ir_mode * mode); 02734 02743 FIRM_API ir_node *new_d_Phi(dbg_info *dbgi, int arity, ir_node *const * in, ir_mode * mode); 02744 02752 FIRM_API ir_node *new_Phi(int arity, ir_node *const * in, ir_mode * mode); 02757 FIRM_API int is_Phi(const ir_node *node); 02758 02773 typedef enum { 02774 n_Pin_op, 02775 n_Pin_max = n_Pin_op 02776 } n_Pin; 02777 02778 02786 FIRM_API ir_node *new_rd_Pin(dbg_info *dbgi, ir_node *block, ir_node * irn_op); 02787 02794 FIRM_API ir_node *new_r_Pin(ir_node *block, ir_node * irn_op); 02795 02802 FIRM_API ir_node *new_d_Pin(dbg_info *dbgi, ir_node * irn_op); 02803 02809 FIRM_API ir_node *new_Pin(ir_node * irn_op); 02814 FIRM_API int is_Pin(const ir_node *node); 02815 02817 FIRM_API ir_node *get_Pin_op(const ir_node *node); 02819 FIRM_API void set_Pin_op(ir_node *node, ir_node *op); 02832 typedef enum { 02833 n_Proj_pred, 02834 n_Proj_max = n_Proj_pred 02835 } n_Proj; 02836 02837 02846 FIRM_API ir_node *new_rd_Proj(dbg_info *dbgi, ir_node * irn_pred, ir_mode * mode, long proj); 02847 02855 FIRM_API ir_node *new_r_Proj(ir_node * irn_pred, ir_mode * mode, long proj); 02856 02865 FIRM_API ir_node *new_d_Proj(dbg_info *dbgi, ir_node * irn_pred, ir_mode * mode, long proj); 02866 02874 FIRM_API ir_node *new_Proj(ir_node * irn_pred, ir_mode * mode, long proj); 02879 FIRM_API int is_Proj(const ir_node *node); 02880 02882 FIRM_API ir_node *get_Proj_pred(const ir_node *node); 02884 FIRM_API void set_Proj_pred(ir_node *node, ir_node *pred); 02886 FIRM_API long get_Proj_proj(const ir_node *node); 02888 FIRM_API void set_Proj_proj(ir_node *node, long proj); 02903 typedef enum { 02904 n_Raise_mem, 02905 n_Raise_exo_ptr, 02906 n_Raise_max = n_Raise_exo_ptr 02907 } n_Raise; 02908 02909 02913 typedef enum { 02914 pn_Raise_M, 02915 pn_Raise_X, 02916 pn_Raise_max = pn_Raise_X 02917 } pn_Raise; 02918 02927 FIRM_API ir_node *new_rd_Raise(dbg_info *dbgi, ir_node *block, ir_node * irn_mem, ir_node * irn_exo_ptr); 02928 02936 FIRM_API ir_node *new_r_Raise(ir_node *block, ir_node * irn_mem, ir_node * irn_exo_ptr); 02937 02945 FIRM_API ir_node *new_d_Raise(dbg_info *dbgi, ir_node * irn_mem, ir_node * irn_exo_ptr); 02946 02953 FIRM_API ir_node *new_Raise(ir_node * irn_mem, ir_node * irn_exo_ptr); 02958 FIRM_API int is_Raise(const ir_node *node); 02959 02961 FIRM_API ir_node *get_Raise_mem(const ir_node *node); 02963 FIRM_API void set_Raise_mem(ir_node *node, ir_node *mem); 02965 FIRM_API ir_node *get_Raise_exo_ptr(const ir_node *node); 02967 FIRM_API void set_Raise_exo_ptr(ir_node *node, ir_node *exo_ptr); 02981 typedef enum { 02982 n_Return_mem, 02983 n_Return_max = n_Return_mem 02984 } n_Return; 02985 02986 02996 FIRM_API ir_node *new_rd_Return(dbg_info *dbgi, ir_node *block, ir_node * irn_mem, int arity, ir_node *const * in); 02997 03006 FIRM_API ir_node *new_r_Return(ir_node *block, ir_node * irn_mem, int arity, ir_node *const * in); 03007 03016 FIRM_API ir_node *new_d_Return(dbg_info *dbgi, ir_node * irn_mem, int arity, ir_node *const * in); 03017 03025 FIRM_API ir_node *new_Return(ir_node * irn_mem, int arity, ir_node *const * in); 03030 FIRM_API int is_Return(const ir_node *node); 03031 03033 FIRM_API ir_node *get_Return_mem(const ir_node *node); 03035 FIRM_API void set_Return_mem(ir_node *node, ir_node *mem); 03049 typedef enum { 03050 n_Rotl_left, 03051 n_Rotl_right, 03052 n_Rotl_max = n_Rotl_right 03053 } n_Rotl; 03054 03055 03065 FIRM_API ir_node *new_rd_Rotl(dbg_info *dbgi, ir_node *block, ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 03066 03075 FIRM_API ir_node *new_r_Rotl(ir_node *block, ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 03076 03085 FIRM_API ir_node *new_d_Rotl(dbg_info *dbgi, ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 03086 03094 FIRM_API ir_node *new_Rotl(ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 03099 FIRM_API int is_Rotl(const ir_node *node); 03100 03102 FIRM_API ir_node *get_Rotl_left(const ir_node *node); 03104 FIRM_API void set_Rotl_left(ir_node *node, ir_node *left); 03106 FIRM_API ir_node *get_Rotl_right(const ir_node *node); 03108 FIRM_API void set_Rotl_right(ir_node *node, ir_node *right); 03125 typedef enum { 03126 n_Sel_mem, 03127 n_Sel_ptr, 03128 n_Sel_max = n_Sel_ptr 03129 } n_Sel; 03130 03131 03143 FIRM_API ir_node *new_rd_Sel(dbg_info *dbgi, ir_node *block, ir_node * irn_mem, ir_node * irn_ptr, int arity, ir_node *const * in, ir_entity* entity); 03144 03155 FIRM_API ir_node *new_r_Sel(ir_node *block, ir_node * irn_mem, ir_node * irn_ptr, int arity, ir_node *const * in, ir_entity* entity); 03156 03167 FIRM_API ir_node *new_d_Sel(dbg_info *dbgi, ir_node * irn_mem, ir_node * irn_ptr, int arity, ir_node *const * in, ir_entity* entity); 03168 03178 FIRM_API ir_node *new_Sel(ir_node * irn_mem, ir_node * irn_ptr, int arity, ir_node *const * in, ir_entity* entity); 03183 FIRM_API int is_Sel(const ir_node *node); 03184 03186 FIRM_API ir_node *get_Sel_mem(const ir_node *node); 03188 FIRM_API void set_Sel_mem(ir_node *node, ir_node *mem); 03190 FIRM_API ir_node *get_Sel_ptr(const ir_node *node); 03192 FIRM_API void set_Sel_ptr(ir_node *node, ir_node *ptr); 03194 FIRM_API ir_entity* get_Sel_entity(const ir_node *node); 03196 FIRM_API void set_Sel_entity(ir_node *node, ir_entity* entity); 03210 typedef enum { 03211 n_Shl_left, 03212 n_Shl_right, 03213 n_Shl_max = n_Shl_right 03214 } n_Shl; 03215 03216 03226 FIRM_API ir_node *new_rd_Shl(dbg_info *dbgi, ir_node *block, ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 03227 03236 FIRM_API ir_node *new_r_Shl(ir_node *block, ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 03237 03246 FIRM_API ir_node *new_d_Shl(dbg_info *dbgi, ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 03247 03255 FIRM_API ir_node *new_Shl(ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 03260 FIRM_API int is_Shl(const ir_node *node); 03261 03263 FIRM_API ir_node *get_Shl_left(const ir_node *node); 03265 FIRM_API void set_Shl_left(ir_node *node, ir_node *left); 03267 FIRM_API ir_node *get_Shl_right(const ir_node *node); 03269 FIRM_API void set_Shl_right(ir_node *node, ir_node *right); 03283 typedef enum { 03284 n_Shr_left, 03285 n_Shr_right, 03286 n_Shr_max = n_Shr_right 03287 } n_Shr; 03288 03289 03299 FIRM_API ir_node *new_rd_Shr(dbg_info *dbgi, ir_node *block, ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 03300 03309 FIRM_API ir_node *new_r_Shr(ir_node *block, ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 03310 03319 FIRM_API ir_node *new_d_Shr(dbg_info *dbgi, ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 03320 03328 FIRM_API ir_node *new_Shr(ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 03333 FIRM_API int is_Shr(const ir_node *node); 03334 03336 FIRM_API ir_node *get_Shr_left(const ir_node *node); 03338 FIRM_API void set_Shr_left(ir_node *node, ir_node *left); 03340 FIRM_API ir_node *get_Shr_right(const ir_node *node); 03342 FIRM_API void set_Shr_right(ir_node *node, ir_node *right); 03357 typedef enum { 03358 n_Shrs_left, 03359 n_Shrs_right, 03360 n_Shrs_max = n_Shrs_right 03361 } n_Shrs; 03362 03363 03373 FIRM_API ir_node *new_rd_Shrs(dbg_info *dbgi, ir_node *block, ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 03374 03383 FIRM_API ir_node *new_r_Shrs(ir_node *block, ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 03384 03393 FIRM_API ir_node *new_d_Shrs(dbg_info *dbgi, ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 03394 03402 FIRM_API ir_node *new_Shrs(ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 03407 FIRM_API int is_Shrs(const ir_node *node); 03408 03410 FIRM_API ir_node *get_Shrs_left(const ir_node *node); 03412 FIRM_API void set_Shrs_left(ir_node *node, ir_node *left); 03414 FIRM_API ir_node *get_Shrs_right(const ir_node *node); 03416 FIRM_API void set_Shrs_right(ir_node *node, ir_node *right); 03430 typedef enum { 03431 pn_Start_X_initial_exec, 03432 pn_Start_M, 03433 pn_Start_P_frame_base, 03434 pn_Start_T_args, 03435 pn_Start_max = pn_Start_T_args 03436 } pn_Start; 03437 03444 FIRM_API ir_node *new_rd_Start(dbg_info *dbgi, ir_graph *irg); 03445 03451 FIRM_API ir_node *new_r_Start(ir_graph *irg); 03452 03458 FIRM_API ir_node *new_d_Start(dbg_info *dbgi); 03459 03464 FIRM_API ir_node *new_Start(void); 03469 FIRM_API int is_Start(const ir_node *node); 03470 03483 typedef enum { 03484 n_Store_mem, 03485 n_Store_ptr, 03486 n_Store_value, 03487 n_Store_max = n_Store_value 03488 } n_Store; 03489 03490 03494 typedef enum { 03495 pn_Store_M, 03496 pn_Store_X_regular, 03497 pn_Store_X_except, 03498 pn_Store_max = pn_Store_X_except 03499 } pn_Store; 03500 03511 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_cons_flags flags); 03512 03522 FIRM_API ir_node *new_r_Store(ir_node *block, ir_node * irn_mem, ir_node * irn_ptr, ir_node * irn_value, ir_cons_flags flags); 03523 03533 FIRM_API ir_node *new_d_Store(dbg_info *dbgi, ir_node * irn_mem, ir_node * irn_ptr, ir_node * irn_value, ir_cons_flags flags); 03534 03543 FIRM_API ir_node *new_Store(ir_node * irn_mem, ir_node * irn_ptr, ir_node * irn_value, ir_cons_flags flags); 03548 FIRM_API int is_Store(const ir_node *node); 03549 03551 FIRM_API ir_node *get_Store_mem(const ir_node *node); 03553 FIRM_API void set_Store_mem(ir_node *node, ir_node *mem); 03555 FIRM_API ir_node *get_Store_ptr(const ir_node *node); 03557 FIRM_API void set_Store_ptr(ir_node *node, ir_node *ptr); 03559 FIRM_API ir_node *get_Store_value(const ir_node *node); 03561 FIRM_API void set_Store_value(ir_node *node, ir_node *value); 03563 FIRM_API ir_volatility get_Store_volatility(const ir_node *node); 03565 FIRM_API void set_Store_volatility(ir_node *node, ir_volatility volatility); 03567 FIRM_API ir_align get_Store_unaligned(const ir_node *node); 03569 FIRM_API void set_Store_unaligned(ir_node *node, ir_align unaligned); 03582 typedef enum { 03583 n_Sub_left, 03584 n_Sub_right, 03585 n_Sub_max = n_Sub_right 03586 } n_Sub; 03587 03588 03598 FIRM_API ir_node *new_rd_Sub(dbg_info *dbgi, ir_node *block, ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 03599 03608 FIRM_API ir_node *new_r_Sub(ir_node *block, ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 03609 03618 FIRM_API ir_node *new_d_Sub(dbg_info *dbgi, ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 03619 03627 FIRM_API ir_node *new_Sub(ir_node * irn_left, ir_node * irn_right, ir_mode * mode); 03632 FIRM_API int is_Sub(const ir_node *node); 03633 03635 FIRM_API ir_node *get_Sub_left(const ir_node *node); 03637 FIRM_API void set_Sub_left(ir_node *node, ir_node *left); 03639 FIRM_API ir_node *get_Sub_right(const ir_node *node); 03641 FIRM_API void set_Sub_right(ir_node *node, ir_node *right); 03656 typedef enum { 03657 n_Switch_selector, 03658 n_Switch_max = n_Switch_selector 03659 } n_Switch; 03660 03661 03665 typedef enum { 03666 pn_Switch_default, 03667 pn_Switch_max = pn_Switch_default 03668 } pn_Switch; 03669 03679 FIRM_API ir_node *new_rd_Switch(dbg_info *dbgi, ir_node *block, ir_node * irn_selector, unsigned n_outs, ir_switch_table* table); 03680 03689 FIRM_API ir_node *new_r_Switch(ir_node *block, ir_node * irn_selector, unsigned n_outs, ir_switch_table* table); 03690 03699 FIRM_API ir_node *new_d_Switch(dbg_info *dbgi, ir_node * irn_selector, unsigned n_outs, ir_switch_table* table); 03700 03708 FIRM_API ir_node *new_Switch(ir_node * irn_selector, unsigned n_outs, ir_switch_table* table); 03713 FIRM_API int is_Switch(const ir_node *node); 03714 03716 FIRM_API ir_node *get_Switch_selector(const ir_node *node); 03718 FIRM_API void set_Switch_selector(ir_node *node, ir_node *selector); 03720 FIRM_API unsigned get_Switch_n_outs(const ir_node *node); 03722 FIRM_API void set_Switch_n_outs(ir_node *node, unsigned n_outs); 03724 FIRM_API ir_switch_table* get_Switch_table(const ir_node *node); 03726 FIRM_API void set_Switch_table(ir_node *node, ir_switch_table* table); 03755 FIRM_API int is_SymConst(const ir_node *node); 03756 03779 FIRM_API ir_node *new_rd_Sync(dbg_info *dbgi, ir_node *block, int arity, ir_node *const * in); 03780 03788 FIRM_API ir_node *new_r_Sync(ir_node *block, int arity, ir_node *const * in); 03789 03797 FIRM_API ir_node *new_d_Sync(dbg_info *dbgi, int arity, ir_node *const * in); 03798 03805 FIRM_API ir_node *new_Sync(int arity, ir_node *const * in); 03810 FIRM_API int is_Sync(const ir_node *node); 03811 03837 FIRM_API ir_node *new_rd_Tuple(dbg_info *dbgi, ir_node *block, int arity, ir_node *const * in); 03838 03846 FIRM_API ir_node *new_r_Tuple(ir_node *block, int arity, ir_node *const * in); 03847 03855 FIRM_API ir_node *new_d_Tuple(dbg_info *dbgi, int arity, ir_node *const * in); 03856 03863 FIRM_API ir_node *new_Tuple(int arity, ir_node *const * in); 03868 FIRM_API int is_Tuple(const ir_node *node); 03869 03888 FIRM_API ir_node *new_rd_Unknown(dbg_info *dbgi, ir_graph *irg, ir_mode * mode); 03889 03896 FIRM_API ir_node *new_r_Unknown(ir_graph *irg, ir_mode * mode); 03897 03904 FIRM_API ir_node *new_d_Unknown(dbg_info *dbgi, ir_mode * mode); 03905 03911 FIRM_API ir_node *new_Unknown(ir_mode * mode); 03916 FIRM_API int is_Unknown(const ir_node *node); 03917 03922 #include "end.h" 03923 03924 #endif