6 #include "irverify_t.h" 
   10 #include "irbackedge_t.h" 
   24     set_ASM_mem_(node, mem);
 
   29     return get_ASM_n_inputs_(node);
 
   34     return get_ASM_input_(node, pos);
 
   39     set_ASM_input_(node, pos, input);
 
   44     return get_ASM_input_arr_(node);
 
   70     return new_rd_Add(NULL, block, irn_left, irn_right, mode);
 
   82     return new_d_Add(NULL, irn_left, irn_right, mode);
 
   92     set_Add_left_(node, left);
 
  102     set_Add_right_(node, right);
 
  117     entconst_attr *attr = &res->attr.entc;
 
  118     attr->entity = entity;
 
  153     typeconst_attr *attr = &res->attr.typec;
 
  192     alloc_attr *attr = &res->attr.alloc;
 
  193     attr->alignment = alignment;
 
  201     return new_rd_Alloc(NULL, block, irn_mem, irn_size, alignment);
 
  213     return new_d_Alloc(NULL, irn_mem, irn_size, alignment);
 
  223     set_Alloc_mem_(node, mem);
 
  233     set_Alloc_size_(node, size);
 
  248     set_Anchor_end_block_(node, end_block);
 
  258     set_Anchor_start_block_(node, start_block);
 
  268     set_Anchor_end_(node, end);
 
  278     set_Anchor_start_(node, start);
 
  288     set_Anchor_frame_(node, frame);
 
  298     set_Anchor_initial_mem_(node, initial_mem);
 
  308     set_Anchor_args_(node, args);
 
  318     set_Anchor_no_mem_(node, no_mem);
 
  344     return new_rd_And(NULL, block, irn_left, irn_right, mode);
 
  356     return new_d_And(NULL, irn_left, irn_right, mode);
 
  366     set_And_left_(node, left);
 
  376     set_And_right_(node, right);
 
  458     set_Bitcast_op_(node, op);
 
  473     block_attr *attr = &res->attr.block;
 
  475     res->attr.block.backedge    = new_backedge_arr(get_irg_obstack(irg), arity);
 
  480         res->attr.block.graph_arr = 
NEW_ARR_DZ(
ir_node*, get_irg_obstack(irg), irg->n_loc);
 
  507     return get_Block_n_cfgpreds_(node);
 
  512     return get_Block_cfgpred_(node, pos);
 
  517     set_Block_cfgpred_(node, pos, cfgpred);
 
  522     return get_Block_cfgpred_arr_(node);
 
  535     int r_arity = arity + 1;
 
  538     memcpy(&r_in[1], in, 
sizeof(
ir_node *) * arity);
 
  542     builtin_attr *attr = &res->attr.builtin;
 
  555     return new_rd_Builtin(NULL, block, irn_mem, arity, in, kind, type);
 
  577     set_Builtin_mem_(node, mem);
 
  582     return get_Builtin_n_params_(node);
 
  587     return get_Builtin_param_(node, pos);
 
  592     set_Builtin_param_(node, pos, param);
 
  597     return get_Builtin_param_arr_(node);
 
  610     int r_arity = arity + 2;
 
  614     memcpy(&r_in[2], in, 
sizeof(
ir_node *) * arity);
 
  618     call_attr *attr = &res->attr.call;
 
  621     attr->exc.throws_exception = 
false;
 
  631     return new_rd_Call(NULL, block, irn_mem, irn_ptr, arity, in, type);
 
  643     return new_d_Call(NULL, irn_mem, irn_ptr, arity, in, type);
 
  653     set_Call_mem_(node, mem);
 
  663     set_Call_ptr_(node, ptr);
 
  668     return get_Call_n_params_(node);
 
  673     return get_Call_param_(node, pos);
 
  678     set_Call_param_(node, pos, param);
 
  683     return get_Call_param_arr_(node);
 
  701     cmp_attr *attr = &res->attr.cmp;
 
  702     attr->relation = relation;
 
  710     return new_rd_Cmp(NULL, block, irn_left, irn_right, relation);
 
  722     return new_d_Cmp(NULL, irn_left, irn_right, relation);
 
  732     set_Cmp_left_(node, left);
 
  742     set_Cmp_right_(node, right);
 
  756     in[0] = irn_selector;
 
  759     cond_attr *attr = &res->attr.cond;
 
  790     set_Cond_selector_(node, selector);
 
  808     confirm_attr *attr = &res->attr.confirm;
 
  809     attr->relation = relation;
 
  817     return new_rd_Confirm(NULL, block, irn_value, irn_bound, relation);
 
  839     set_Confirm_value_(node, value);
 
  849     set_Confirm_bound_(node, bound);
 
  864     const_attr *attr = &res->attr.con;
 
  865     attr->tarval = tarval;
 
  932     set_Conv_op_(node, op);
 
  951     copyb_attr *attr = &res->attr.copyb;
 
  953     attr->volatility = flags & 
cons_volatile ? volatility_is_volatile : volatility_non_volatile;
 
  961     return new_rd_CopyB(NULL, block, irn_mem, irn_dst, irn_src, type, flags);
 
  973     return new_d_CopyB(NULL, irn_mem, irn_dst, irn_src, type, flags);
 
  983     set_CopyB_mem_(node, mem);
 
  993     set_CopyB_dst_(node, dst);
 
 1003     set_CopyB_src_(node, src);
 
 1027     div_attr *attr = &res->attr.div;
 
 1028     attr->resmode = resmode;
 
 1029     attr->no_remainder = 0;
 
 1030     attr->exc.pinned = pinned;
 
 1031     attr->exc.throws_exception = 
false;
 
 1039     return new_rd_Div(NULL, block, irn_mem, irn_left, irn_right, resmode, pinned);
 
 1051     return new_d_Div(NULL, irn_mem, irn_left, irn_right, resmode, pinned);
 
 1061     set_Div_mem_(node, mem);
 
 1071     set_Div_left_(node, left);
 
 1081     set_Div_right_(node, right);
 
 1156     return get_End_n_keepalives_(node);
 
 1161     return get_End_keepalive_(node, pos);
 
 1166     set_End_keepalive_(node, pos, keepalive);
 
 1171     return get_End_keepalive_arr_(node);
 
 1197     return new_rd_Eor(NULL, block, irn_left, irn_right, mode);
 
 1209     return new_d_Eor(NULL, irn_left, irn_right, mode);
 
 1219     set_Eor_left_(node, left);
 
 1229     set_Eor_right_(node, right);
 
 1255     return new_rd_Free(NULL, block, irn_mem, irn_ptr);
 
 1277     set_Free_mem_(node, mem);
 
 1287     set_Free_ptr_(node, ptr);
 
 1334     set_IJmp_target_(node, target);
 
 1349     set_Id_pred_(node, pred);
 
 1403     load_attr *attr = &res->attr.load;
 
 1406     attr->volatility = flags & 
cons_volatile ? volatility_is_volatile : volatility_non_volatile;
 
 1407     attr->unaligned = flags & 
cons_unaligned ? align_non_aligned : align_is_aligned;
 
 1417     return new_rd_Load(NULL, block, irn_mem, irn_ptr, mode, type, flags);
 
 1429     return new_d_Load(NULL, irn_mem, irn_ptr, mode, type, flags);
 
 1439     set_Load_mem_(node, mem);
 
 1449     set_Load_ptr_(node, ptr);
 
 1466     member_attr *attr = &res->attr.member;
 
 1467     attr->entity = entity;
 
 1497     set_Member_ptr_(node, ptr);
 
 1544     set_Minus_op_(node, op);
 
 1563     mod_attr *attr = &res->attr.mod;
 
 1564     attr->resmode = resmode;
 
 1565     attr->exc.pinned = pinned;
 
 1566     attr->exc.throws_exception = 
false;
 
 1574     return new_rd_Mod(NULL, block, irn_mem, irn_left, irn_right, resmode, pinned);
 
 1586     return new_d_Mod(NULL, irn_mem, irn_left, irn_right, resmode, pinned);
 
 1596     set_Mod_mem_(node, mem);
 
 1606     set_Mod_left_(node, left);
 
 1616     set_Mod_right_(node, right);
 
 1642     return new_rd_Mul(NULL, block, irn_left, irn_right, mode);
 
 1654     return new_d_Mul(NULL, irn_left, irn_right, mode);
 
 1664     set_Mul_left_(node, left);
 
 1674     set_Mul_right_(node, right);
 
 1700     return new_rd_Mulh(NULL, block, irn_left, irn_right, mode);
 
 1712     return new_d_Mulh(NULL, irn_left, irn_right, mode);
 
 1722     set_Mulh_left_(node, left);
 
 1732     set_Mulh_right_(node, right);
 
 1759     return new_rd_Mux(NULL, block, irn_sel, irn_false, irn_true, mode);
 
 1771     return new_d_Mux(NULL, irn_sel, irn_false, irn_true, mode);
 
 1781     set_Mux_sel_(node, sel);
 
 1791     set_Mux_false_(node, false_);
 
 1801     set_Mux_true_(node, true_);
 
 1861     return new_rd_Not(NULL, block, irn_op, mode);
 
 1883     set_Not_op_(node, op);
 
 1898     entconst_attr *attr = &res->attr.entc;
 
 1899     attr->entity = entity;
 
 1945     return new_rd_Or(NULL, block, irn_left, irn_right, mode);
 
 1957     return new_d_Or(NULL, irn_left, irn_right, mode);
 
 1967     set_Or_left_(node, left);
 
 1977     set_Or_right_(node, right);
 
 1993     phi_attr *attr = &res->attr.phi;
 
 1995     res->attr.phi.u.backedge = new_backedge_arr(get_irg_obstack(irg), arity);
 
 2003     return new_rd_Phi(NULL, block, arity, in, mode);
 
 2015     return new_d_Phi(NULL, arity, in, mode);
 
 2020     return get_Phi_n_preds_(node);
 
 2025     return get_Phi_pred_(node, pos);
 
 2030     set_Phi_pred_(node, pos, pred);
 
 2035     return get_Phi_pred_arr_(node);
 
 2082     set_Pin_op_(node, op);
 
 2099     proj_attr *attr = &res->attr.proj;
 
 2120     return new_d_Proj(NULL, irn_pred, mode, num);
 
 2130     set_Proj_pred_(node, pred);
 
 2145     in[1] = irn_exo_ptr;
 
 2156     return new_rd_Raise(NULL, block, irn_mem, irn_exo_ptr);
 
 2178     set_Raise_mem_(node, mem);
 
 2188     set_Raise_exo_ptr_(node, exo_ptr);
 
 2201     int r_arity = arity + 1;
 
 2204     memcpy(&r_in[1], in, 
sizeof(
ir_node *) * arity);
 
 2238     set_Return_mem_(node, mem);
 
 2243     return get_Return_n_ress_(node);
 
 2248     return get_Return_res_(node, pos);
 
 2253     set_Return_res_(node, pos, res);
 
 2258     return get_Return_res_arr_(node);
 
 2276     sel_attr *attr = &res->attr.sel;
 
 2285     return new_rd_Sel(NULL, block, irn_ptr, irn_index, type);
 
 2297     return new_d_Sel(NULL, irn_ptr, irn_index, type);
 
 2307     set_Sel_ptr_(node, ptr);
 
 2317     set_Sel_index_(node, index);
 
 2343     return new_rd_Shl(NULL, block, irn_left, irn_right, mode);
 
 2355     return new_d_Shl(NULL, irn_left, irn_right, mode);
 
 2365     set_Shl_left_(node, left);
 
 2375     set_Shl_right_(node, right);
 
 2401     return new_rd_Shr(NULL, block, irn_left, irn_right, mode);
 
 2413     return new_d_Shr(NULL, irn_left, irn_right, mode);
 
 2423     set_Shr_left_(node, left);
 
 2433     set_Shr_right_(node, right);
 
 2459     return new_rd_Shrs(NULL, block, irn_left, irn_right, mode);
 
 2471     return new_d_Shrs(NULL, irn_left, irn_right, mode);
 
 2481     set_Shrs_left_(node, left);
 
 2491     set_Shrs_right_(node, right);
 
 2506     typeconst_attr *attr = &res->attr.typec;
 
 2581     store_attr *attr = &res->attr.store;
 
 2583     attr->volatility = flags & 
cons_volatile ? volatility_is_volatile : volatility_non_volatile;
 
 2584     attr->unaligned = flags & 
cons_unaligned ? align_non_aligned : align_is_aligned;
 
 2594     return new_rd_Store(NULL, block, irn_mem, irn_ptr, irn_value, type, flags);
 
 2606     return new_d_Store(NULL, irn_mem, irn_ptr, irn_value, type, flags);
 
 2616     set_Store_mem_(node, mem);
 
 2626     set_Store_ptr_(node, ptr);
 
 2636     set_Store_value_(node, value);
 
 2662     return new_rd_Sub(NULL, block, irn_left, irn_right, mode);
 
 2674     return new_d_Sub(NULL, irn_left, irn_right, mode);
 
 2684     set_Sub_left_(node, left);
 
 2694     set_Sub_right_(node, right);
 
 2708     in[0] = irn_selector;
 
 2711     switch_attr *attr = &res->attr.switcha;
 
 2712     attr->n_outs = n_outs;
 
 2713     attr->table = table;
 
 2721     return new_rd_Switch(NULL, block, irn_selector, n_outs, table);
 
 2733     return new_d_Switch(NULL, irn_selector, n_outs, table);
 
 2743     set_Switch_selector_(node, selector);
 
 2784     return get_Sync_n_preds_(node);
 
 2789     return get_Sync_pred_(node, pos);
 
 2794     set_Sync_pred_(node, pos, pred);
 
 2799     return get_Sync_pred_arr_(node);
 
 2840     return get_Tuple_n_preds_(node);
 
 2845     return get_Tuple_pred_(node, pos);
 
 2850     set_Tuple_pred_(node, pos, pred);
 
 2855     return get_Tuple_pred_arr_(node);
 
 2901     return is_ASM_(node);
 
 2906     return get_ASM_input_constraints_(node);
 
 2911     set_ASM_input_constraints_(node, input_constraints);
 
 2916     return get_ASM_output_constraints_(node);
 
 2921     set_ASM_output_constraints_(node, output_constraints);
 
 2926     return get_ASM_clobbers_(node);
 
 2931     set_ASM_clobbers_(node, clobbers);
 
 2936     return get_ASM_text_(node);
 
 2941     set_ASM_text_(node, text);
 
 2946     return is_Add_(node);
 
 2951     return is_Address_(node);
 
 2956     return get_Address_entity_(node);
 
 2961     set_Address_entity_(node, entity);
 
 2966     return is_Align_(node);
 
 2971     return get_Align_type_(node);
 
 2976     set_Align_type_(node, type);
 
 2981     return is_Alloc_(node);
 
 2986     return get_Alloc_alignment_(node);
 
 2991     set_Alloc_alignment_(node, alignment);
 
 2996     return is_Anchor_(node);
 
 3001     return is_And_(node);
 
 3006     return is_Bad_(node);
 
 3011     return is_Bitcast_(node);
 
 3016     return is_Block_(node);
 
 3021     return get_Block_entity_(node);
 
 3026     set_Block_entity_(node, entity);
 
 3031     return is_Builtin_(node);
 
 3036     return get_Builtin_kind_(node);
 
 3041     set_Builtin_kind_(node, kind);
 
 3046     return get_Builtin_type_(node);
 
 3051     set_Builtin_type_(node, type);
 
 3056     return is_Call_(node);
 
 3061     return get_Call_type_(node);
 
 3066     set_Call_type_(node, type);
 
 3071     return is_Cmp_(node);
 
 3076     return get_Cmp_relation_(node);
 
 3081     set_Cmp_relation_(node, relation);
 
 3086     return is_Cond_(node);
 
 3091     return get_Cond_jmp_pred_(node);
 
 3096     set_Cond_jmp_pred_(node, jmp_pred);
 
 3101     return is_Confirm_(node);
 
 3106     return get_Confirm_relation_(node);
 
 3111     set_Confirm_relation_(node, relation);
 
 3116     return is_Const_(node);
 
 3121     return get_Const_tarval_(node);
 
 3126     set_Const_tarval_(node, tarval);
 
 3131     return is_Conv_(node);
 
 3136     return is_CopyB_(node);
 
 3141     return get_CopyB_type_(node);
 
 3146     set_CopyB_type_(node, type);
 
 3151     return get_CopyB_volatility_(node);
 
 3156     set_CopyB_volatility_(node, volatility);
 
 3161     return is_Deleted_(node);
 
 3166     return is_Div_(node);
 
 3171     return get_Div_resmode_(node);
 
 3176     set_Div_resmode_(node, resmode);
 
 3181     return get_Div_no_remainder_(node);
 
 3186     set_Div_no_remainder_(node, no_remainder);
 
 3191     return is_Dummy_(node);
 
 3196     return is_End_(node);
 
 3201     return is_Eor_(node);
 
 3206     return is_Free_(node);
 
 3211     return is_IJmp_(node);
 
 3216     return is_Id_(node);
 
 3221     return is_Jmp_(node);
 
 3226     return is_Load_(node);
 
 3231     return get_Load_mode_(node);
 
 3236     set_Load_mode_(node, mode);
 
 3241     return get_Load_type_(node);
 
 3246     set_Load_type_(node, type);
 
 3251     return get_Load_volatility_(node);
 
 3256     set_Load_volatility_(node, volatility);
 
 3261     return get_Load_unaligned_(node);
 
 3266     set_Load_unaligned_(node, unaligned);
 
 3271     return is_Member_(node);
 
 3276     return get_Member_entity_(node);
 
 3281     set_Member_entity_(node, entity);
 
 3286     return is_Minus_(node);
 
 3291     return is_Mod_(node);
 
 3296     return get_Mod_resmode_(node);
 
 3301     set_Mod_resmode_(node, resmode);
 
 3306     return is_Mul_(node);
 
 3311     return is_Mulh_(node);
 
 3316     return is_Mux_(node);
 
 3321     return is_NoMem_(node);
 
 3326     return is_Not_(node);
 
 3331     return is_Offset_(node);
 
 3336     return get_Offset_entity_(node);
 
 3341     set_Offset_entity_(node, entity);
 
 3346     return is_Or_(node);
 
 3351     return is_Phi_(node);
 
 3356     return get_Phi_loop_(node);
 
 3361     set_Phi_loop_(node, loop);
 
 3366     return is_Pin_(node);
 
 3371     return is_Proj_(node);
 
 3376     return get_Proj_num_(node);
 
 3381     set_Proj_num_(node, num);
 
 3386     return is_Raise_(node);
 
 3391     return is_Return_(node);
 
 3396     return is_Sel_(node);
 
 3401     return get_Sel_type_(node);
 
 3406     set_Sel_type_(node, type);
 
 3411     return is_Shl_(node);
 
 3416     return is_Shr_(node);
 
 3421     return is_Shrs_(node);
 
 3426     return is_Size_(node);
 
 3431     return get_Size_type_(node);
 
 3436     set_Size_type_(node, type);
 
 3441     return is_Start_(node);
 
 3446     return is_Store_(node);
 
 3451     return get_Store_type_(node);
 
 3456     set_Store_type_(node, type);
 
 3461     return get_Store_volatility_(node);
 
 3466     set_Store_volatility_(node, volatility);
 
 3471     return get_Store_unaligned_(node);
 
 3476     set_Store_unaligned_(node, unaligned);
 
 3481     return is_Sub_(node);
 
 3486     return is_Switch_(node);
 
 3491     return get_Switch_n_outs_(node);
 
 3496     set_Switch_n_outs_(node, n_outs);
 
 3501     return get_Switch_table_(node);
 
 3506     set_Switch_table_(node, table);
 
 3511     return is_Sync_(node);
 
 3516     return is_Tuple_(node);
 
 3521     return is_Unknown_(node);
 
 3526     return is_binop_(node);
 
 3531     return is_entconst_(node);
 
 3536     return get_entconst_entity_(node);
 
 3541     set_entconst_entity_(node, entity);
 
 3546     return is_typeconst_(node);
 
 3551     return get_typeconst_type_(node);
 
 3556     set_typeconst_type_(node, type);
 
 3559 void ir_init_opcodes(
void)
 
 3633 void ir_finish_opcodes(
void)
 
void() set_Shrs_left(ir_node *node, ir_node *left)
Sets left input of a Shrs node. 
int() is_Offset(const ir_node *node)
Test if node is a Offset. 
ir_op * op_Shl
Shl opcode. 
ir_node *() get_Anchor_end(const ir_node *node)
Returns end input of an Anchor node. 
ir_node *() get_Free_ptr(const ir_node *node)
Returns ptr input of a Free node. 
void() set_Div_right(ir_node *node, ir_node *right)
Sets right input of a Div node. 
ir_op * op_Unknown
Unknown opcode. 
ir_node * new_Sel(ir_node *irn_ptr, ir_node *irn_index, ir_type *type)
Construct a Sel node. 
int() is_NoMem(const ir_node *node)
Test if node is a NoMem. 
int() is_Div(const ir_node *node)
Test if node is a Div. 
unsigned() get_Proj_num(const ir_node *node)
Returns num attribute of a Proj node. 
ir_node * new_d_Sync(dbg_info *dbgi, int arity, ir_node *const *in)
Construct a Sync node. 
ir_type * get_unknown_type(void)
Returns the unknown type. 
void() set_Cond_selector(ir_node *node, ir_node *selector)
Sets selector input of a Cond node. 
ir_node **() get_Return_res_arr(ir_node *node)
Get an array of all Return ress. 
ir_op * op_Sync
Sync opcode. 
ir_op * op_Sel
Sel opcode. 
void() set_Div_left(ir_node *node, ir_node *left)
Sets left input of a Div node. 
ir_node *() get_Proj_pred(const ir_node *node)
Returns pred input of a Proj node. 
void() set_ASM_output_constraints(ir_node *node, ir_asm_constraint *output_constraints)
Sets output_constraints attribute of an ASM node. 
void() set_End_keepalive(ir_node *node, int pos, ir_node *keepalive)
Set the End keepalive with index pos. 
ir_node * new_Align(ir_mode *mode, ir_type *type)
Construct an Align node. 
ir_node *() get_Shrs_left(const ir_node *node)
Returns left input of a Shrs node. 
void() set_Confirm_bound(ir_node *node, ir_node *bound)
Sets bound input of a Confirm node. 
ir_op * op_Start
Start opcode. 
ir_node * new_rd_Not(dbg_info *dbgi, ir_node *block, ir_node *irn_op, ir_mode *mode)
Construct a Not node. 
ir_node * new_Tuple(int arity, ir_node *const *in)
Construct a Tuple node. 
int() get_Tuple_n_preds(ir_node const *node)
Get the number of Tuple preds. 
void() set_Div_no_remainder(ir_node *node, int no_remainder)
Sets no_remainder attribute of a Div node. 
ir_op * get_op_Return(void)
Returns opcode for Return nodes. 
ir_type *() get_typeconst_type(const ir_node *node)
Returns type attribute of a typeconst node. 
void() set_Mod_right(ir_node *node, ir_node *right)
Sets right input of a Mod node. 
ir_node * new_d_Cond(dbg_info *dbgi, ir_node *irn_selector)
Construct a Cond node. 
struct ir_type ir_type
Type. 
ir_node * new_rd_End(dbg_info *dbgi, ir_graph *irg, int arity, ir_node *const *in)
Construct an End node. 
struct dbg_info dbg_info
Source Reference. 
void() set_Sync_pred(ir_node *node, int pos, ir_node *pred)
Set the Sync pred with index pos. 
ir_entity *() get_Address_entity(const ir_node *node)
Returns entity attribute of an Address 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 * new_rd_Shl(dbg_info *dbgi, ir_node *block, ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
Construct a Shl node. 
void() set_Const_tarval(ir_node *node, ir_tarval *tarval)
Sets tarval attribute of a Const node. 
void() set_Store_unaligned(ir_node *node, ir_align unaligned)
Sets unaligned attribute of a Store node. 
ir_op * get_op_Member(void)
Returns opcode for Member nodes. 
ir_node * new_r_Mul(ir_node *block, ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
Construct a Mul node. 
ir_node * new_d_Eor(dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
Construct an Eor node. 
Set if the operation can change the control flow because of an exception. 
void() set_Load_volatility(ir_node *node, ir_volatility volatility)
Sets volatility attribute of a Load node. 
ir_node *() get_Block_cfgpred(ir_node const *node, int pos)
Get the Block cfgpred with index pos. 
ir_node * new_r_Start(ir_graph *irg)
Construct a Start node. 
ir_node * new_r_Const(ir_graph *irg, ir_tarval *tarval)
Construct a Const node. 
ir_op * get_op_IJmp(void)
Returns opcode for IJmp nodes. 
ir_op * get_op_Mux(void)
Returns opcode for Mux nodes. 
ir_op * op_Size
Size opcode. 
void() set_Pin_op(ir_node *node, ir_node *op)
Sets op input of a Pin node. 
ir_node * new_Mod(ir_node *irn_mem, ir_node *irn_left, ir_node *irn_right, ir_mode *resmode, int pinned)
Construct a Mod node. 
ir_op * op_Tuple
Tuple opcode. 
ir_op * op_NoMem
NoMem opcode. 
void() set_Member_entity(ir_node *node, ir_entity *entity)
Sets entity attribute of a Member node. 
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. 
ir_op * get_op_Shl(void)
Returns opcode for Shl nodes. 
ir_mode *() get_Load_mode(const ir_node *node)
Returns mode attribute of a Load node. 
ir_op * op_Proj
Proj opcode. 
ir_op * op_Eor
Eor opcode. 
ir_op * op_Bitcast
Bitcast opcode. 
ir_node * new_r_Align(ir_graph *irg, ir_mode *mode, ir_type *type)
Construct an Align node. 
ir_builtin_kind
Supported libFirm builtins. 
ir_op * op_Anchor
Anchor opcode. 
ir_node * new_r_Proj(ir_node *irn_pred, ir_mode *mode, unsigned num)
Construct a Proj node. 
ir_op * get_op_Alloc(void)
Returns opcode for Alloc nodes. 
int() is_Start(const ir_node *node)
Test if node is a Start. 
ir_node * new_d_Not(dbg_info *dbgi, ir_node *irn_op, ir_mode *mode)
Construct a Not node. 
ir_node *() get_Return_mem(const ir_node *node)
Returns mem input of a Return node. 
ir_node * new_Bitcast(ir_node *irn_op, ir_mode *mode)
Construct a Bitcast node. 
int() is_Phi(const ir_node *node)
Test if node is a Phi. 
ir_node *() get_ASM_mem(const ir_node *node)
Returns mem input of an ASM node. 
ir_node * new_End(int arity, ir_node *const *in)
Construct an End node. 
control flow when exception occured 
int() get_End_n_keepalives(ir_node const *node)
Get the number of End keepalives. 
ir_node * new_d_Shr(dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
Construct a Shr node. 
ir_node * new_d_Switch(dbg_info *dbgi, ir_node *irn_selector, unsigned n_outs, ir_switch_table *table)
Construct a Switch node. 
void() set_CopyB_src(ir_node *node, ir_node *src)
Sets src input of a CopyB node. 
ir_node * new_rd_Add(dbg_info *dbgi, ir_node *block, ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
Construct an Add node. 
void() set_CopyB_volatility(ir_node *node, ir_volatility volatility)
Sets volatility attribute of a CopyB node. 
ir_op * op_Sub
Sub opcode. 
void() set_Div_mem(ir_node *node, ir_node *mem)
Sets mem input of a Div node. 
ir_node * new_Or(ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
Construct an Or node. 
ir_op * get_op_Tuple(void)
Returns opcode for Tuple nodes. 
ir_node * new_d_Div(dbg_info *dbgi, ir_node *irn_mem, ir_node *irn_left, ir_node *irn_right, ir_mode *resmode, int pinned)
Construct a Div node. 
void() set_Block_cfgpred(ir_node *node, int pos, ir_node *cfgpred)
Set the Block cfgpred with index pos. 
ir_node * new_d_Sel(dbg_info *dbgi, ir_node *irn_ptr, ir_node *irn_index, ir_type *type)
Construct a Sel node. 
Nodes of this opcode can be placed in any basic block. 
ir_node *() get_Anchor_no_mem(const ir_node *node)
Returns no_mem input of an Anchor node. 
ir_node * new_d_Raise(dbg_info *dbgi, ir_node *irn_mem, ir_node *irn_exo_ptr)
Construct a Raise node. 
void() set_ASM_clobbers(ir_node *node, ident **clobbers)
Sets clobbers attribute of an ASM node. 
ir_node * new_d_Mul(dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
Construct a Mul node. 
ir_node * new_Sub(ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
Construct a Sub node. 
ir_op * op_Phi
Phi opcode. 
int() get_Call_n_params(ir_node const *node)
Get the number of Call params. 
ir_node *() get_Tuple_pred(ir_node const *node, int pos)
Get the Tuple pred with index pos. 
void() set_Store_mem(ir_node *node, ir_node *mem)
Sets mem input of a Store node. 
control flow when no exception occurs 
void() set_Eor_right(ir_node *node, ir_node *right)
Sets right input of an Eor node. 
ir_op * op_IJmp
IJmp opcode. 
void() set_Offset_entity(ir_node *node, ir_entity *entity)
Sets entity attribute of an Offset node. 
void() set_Sel_ptr(ir_node *node, ir_node *ptr)
Sets ptr input of a Sel node. 
ir_mode *() get_Div_resmode(const ir_node *node)
Returns resmode attribute of a Div node. 
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_Add_left(ir_node *node, ir_node *left)
Sets left input of an Add node. 
ir_op * get_op_Unknown(void)
Returns opcode for Unknown nodes. 
ir_node * new_rd_Shrs(dbg_info *dbgi, ir_node *block, ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
Construct a Shrs node. 
Memory operation is unaligned. 
ir_op * get_op_Confirm(void)
Returns opcode for Confirm nodes. 
int() is_Address(const ir_node *node)
Test if node is a Address. 
ir_node *() get_Alloc_mem(const ir_node *node)
Returns mem input of an Alloc node. 
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. 
int() is_binop(const ir_node *node)
Test if node is a binop. 
int() is_Not(const ir_node *node)
Test if node is a Not. 
ir_op * op_Add
Add opcode. 
int() is_Pin(const ir_node *node)
Test if node is a Pin. 
Memory operation is volatile. 
ir_node * new_rd_Raise(dbg_info *dbgi, ir_node *block, ir_node *irn_mem, ir_node *irn_exo_ptr)
Construct a Raise node. 
ir_op * get_op_Switch(void)
Returns opcode for Switch nodes. 
ir_op * get_op_Start(void)
Returns opcode for Start nodes. 
ir_op * op_Jmp
Jmp opcode. 
ir_node *() get_Shl_left(const ir_node *node)
Returns left input of a Shl node. 
struct ir_graph ir_graph
Procedure Graph. 
void() set_Return_res(ir_node *node, int pos, ir_node *res)
Set the Return res with index pos. 
ir_node * new_r_Cond(ir_node *block, ir_node *irn_selector)
Construct a Cond node. 
cond_jmp_predicate() get_Cond_jmp_pred(const ir_node *node)
Returns jmp_pred attribute of a Cond node. 
ir_node *() get_Mul_left(const ir_node *node)
Returns left input of a Mul node. 
ir_node * new_d_Address(dbg_info *dbgi, ir_entity *entity)
Construct an Address node. 
void() set_Sub_left(ir_node *node, ir_node *left)
Sets left input of a Sub node. 
void() set_Phi_pred(ir_node *node, int pos, ir_node *pred)
Set the Phi pred with index pos. 
ir_mode * get_tarval_mode(const ir_tarval *tv)
Returns the mode of the tarval. 
ir_node * new_Div(ir_node *irn_mem, ir_node *irn_left, ir_node *irn_right, ir_mode *resmode, int pinned)
Construct a Div node. 
ir_node * new_rd_Block(dbg_info *dbgi, ir_graph *irg, int arity, ir_node *const *in)
Construct a Block node. 
ir_node *() get_Bitcast_op(const ir_node *node)
Returns op input of a Bitcast node. 
ir_node * new_rd_Tuple(dbg_info *dbgi, ir_node *block, int arity, ir_node *const *in)
Construct a Tuple node. 
ir_node *() get_Anchor_start_block(const ir_node *node)
Returns start_block input of an Anchor node. 
ir_node * new_r_Unknown(ir_graph *irg, ir_mode *mode)
Construct an Unknown node. 
ir_node *() get_Mux_true(const ir_node *node)
Returns true input of a Mux node. 
void() set_Address_entity(ir_node *node, ir_entity *entity)
Sets entity attribute of an Address node. 
ir_node * new_Add(ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
Construct an Add node. 
control flow when no exception occurs 
int() is_Id(const ir_node *node)
Test if node is a Id. 
ir_node * new_d_Pin(dbg_info *dbgi, ir_node *irn_op)
Construct a Pin node. 
ir_op * op_Call
Call opcode. 
ir_node *() get_Mulh_left(const ir_node *node)
Returns left input of a Mulh node. 
void() set_Alloc_mem(ir_node *node, ir_node *mem)
Sets mem input of an Alloc node. 
ir_mode * mode_T
tuple (none) 
ir_node * new_Sync(int arity, ir_node *const *in)
Construct a Sync node. 
ir_node **() get_Block_cfgpred_arr(ir_node *node)
Get an array of all Block cfgpreds. 
ir_op * new_ir_op(unsigned code, const char *name, op_pin_state p, irop_flags flags, op_arity opar, int op_index, size_t attr_size)
Creates a new IR operation. 
ir_node *() get_Shl_right(const ir_node *node)
Returns right input of a Shl node. 
int irg_is_constrained(const ir_graph *irg, ir_graph_constraints_t constraints)
queries whether irg is at least as constrained as constraints. 
ir_node * new_rd_Start(dbg_info *dbgi, ir_graph *irg)
Construct a Start node. 
void() set_Raise_exo_ptr(ir_node *node, ir_node *exo_ptr)
Sets exo_ptr input of a Raise node. 
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. 
void() set_Load_mode(ir_node *node, ir_mode *mode)
Sets mode attribute of a Load node. 
ir_op * op_Shrs
Shrs opcode. 
void() set_Load_type(ir_node *node, ir_type *type)
Sets type attribute of a Load node. 
ir_op * get_op_Store(void)
Returns opcode for Store nodes. 
ir_node * new_rd_Jmp(dbg_info *dbgi, ir_node *block)
Construct a Jmp node. 
ir_node *() get_End_keepalive(ir_node const *node, int pos)
Get the End keepalive with index pos. 
ir_node *() get_Switch_selector(const ir_node *node)
Returns selector input of a Switch node. 
ir_node * new_rd_Or(dbg_info *dbgi, ir_node *block, ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
Construct an Or node. 
ir_builtin_kind() get_Builtin_kind(const ir_node *node)
Returns kind attribute of a Builtin node. 
ir_node *() get_Minus_op(const ir_node *node)
Returns op input of a Minus node. 
int() is_Free(const ir_node *node)
Test if node is a Free. 
ir_node * new_r_Mux(ir_node *block, ir_node *irn_sel, ir_node *irn_false, ir_node *irn_true, ir_mode *mode)
Construct a Mux 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. 
ir_op * get_op_Sync(void)
Returns opcode for Sync nodes. 
ir_node **() get_Phi_pred_arr(ir_node *node)
Get an array of all Phi preds. 
ir_node * new_r_Bad(ir_graph *irg, ir_mode *mode)
Construct a Bad node. 
void() set_Sel_type(ir_node *node, ir_type *type)
Sets type attribute of a Sel node. 
ir_op * get_op_Not(void)
Returns opcode for Not nodes. 
ir_node * new_d_Alloc(dbg_info *dbgi, ir_node *irn_mem, ir_node *irn_size, unsigned alignment)
Construct an Alloc node. 
ir_tarval *() get_Const_tarval(const ir_node *node)
Returns tarval attribute of a Const node. 
ir_node *() get_Div_left(const ir_node *node)
Returns left input of a Div node. 
ir_node *() get_Sel_index(const ir_node *node)
Returns index input of a Sel node. 
int() is_Dummy(const ir_node *node)
Test if node is a Dummy. 
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. 
ir_node * new_d_Member(dbg_info *dbgi, ir_node *irn_ptr, ir_entity *entity)
Construct a Member node. 
ir_node * new_Alloc(ir_node *irn_mem, ir_node *irn_size, unsigned alignment)
Construct an Alloc node. 
int() is_typeconst(const ir_node *node)
Test if node is a typeconst. 
ir_node * new_Mul(ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
Construct a Mul node. 
ir_node * new_r_Free(ir_node *block, ir_node *irn_mem, ir_node *irn_ptr)
Construct a Free node. 
void() set_Builtin_type(ir_node *node, ir_type *type)
Sets type attribute of a Builtin node. 
#define ALLOCAN(type, n)
Allocate n objects of a certain type on the stack. 
ir_volatility() get_CopyB_volatility(const ir_node *node)
Returns volatility attribute of a CopyB node. 
ir_op * op_Return
Return opcode. 
ir_node * new_rd_Proj(dbg_info *dbgi, ir_node *irn_pred, ir_mode *mode, unsigned num)
Construct a Proj node. 
ir_node **() get_Sync_pred_arr(ir_node *node)
Get an array of all Sync preds. 
ir_node * new_Pin(ir_node *irn_op)
Construct a Pin node. 
int() is_Builtin(const ir_node *node)
Test if node is a Builtin. 
void free_ir_op(ir_op *code)
Frees an ir operation. 
ir_op * get_op_Div(void)
Returns opcode for Div nodes. 
ir_node * new_Start(void)
Construct a Start node. 
void() set_Shrs_right(ir_node *node, ir_node *right)
Sets right input of a Shrs node. 
ir_asm_constraint *() get_ASM_output_constraints(const ir_node *node)
Returns output_constraints attribute of an ASM node. 
ir_node * get_irg_start_block(const ir_graph *irg)
Returns the start block of an IR graph. 
int() is_Add(const ir_node *node)
Test if node is a Add. 
ir_op * op_Switch
Switch opcode. 
ir_node **() get_End_keepalive_arr(ir_node *node)
Get an array of all End keepalives. 
ir_op * get_op_Load(void)
Returns opcode for Load nodes. 
Nodes must remain in this basic block. 
ir_op * op_Free
Free opcode. 
int() is_Store(const ir_node *node)
Test if node is a Store. 
void() set_ASM_input_constraints(ir_node *node, ir_asm_constraint *input_constraints)
Sets input_constraints attribute of an ASM node. 
ir_type *() get_Size_type(const ir_node *node)
Returns type attribute of a Size node. 
ir_node * new_rd_Mul(dbg_info *dbgi, ir_node *block, ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
Construct a Mul node. 
ir_node **() get_ASM_input_arr(ir_node *node)
Get an array of all ASM inputs. 
ir_op * get_op_Mulh(void)
Returns opcode for Mulh nodes. 
ir_node *() get_Raise_exo_ptr(const ir_node *node)
Returns exo_ptr input of a Raise node. 
int() is_Size(const ir_node *node)
Test if node is a Size. 
ir_node *() get_Shrs_right(const ir_node *node)
Returns right input of a Shrs node. 
ir_op * get_op_Add(void)
Returns opcode for Add nodes. 
void() set_Phi_loop(ir_node *node, int loop)
Sets loop attribute of a Phi node. 
int() get_Return_n_ress(ir_node const *node)
Get the number of Return ress. 
ir_node *() get_Or_right(const ir_node *node)
Returns right input of an Or node. 
ir_node * new_NoMem(void)
Construct a NoMem node. 
ir_op * get_op_CopyB(void)
Returns opcode for CopyB nodes. 
void() set_Alloc_alignment(ir_node *node, unsigned alignment)
Sets alignment attribute of an Alloc node. 
ir_node * new_r_Block(ir_graph *irg, int arity, ir_node *const *in)
Construct a Block node. 
ir_node * new_Shl(ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
Construct a Shl node. 
ir_node *() get_Store_ptr(const ir_node *node)
Returns ptr input of a Store node. 
ir_op * op_CopyB
CopyB opcode. 
ir_node * new_rd_Pin(dbg_info *dbgi, ir_node *block, ir_node *irn_op)
Construct a Pin node. 
void() set_Switch_table(ir_node *node, ir_switch_table *table)
Sets table attribute of a Switch node. 
ir_op * op_Div
Div opcode. 
ir_type *() get_Builtin_type(const ir_node *node)
Returns type attribute of a Builtin node. 
void() set_Free_ptr(ir_node *node, ir_node *ptr)
Sets ptr input of a Free node. 
ir_node * new_d_Return(dbg_info *dbgi, ir_node *irn_mem, int arity, ir_node *const *in)
Construct a Return node. 
int() is_Confirm(const ir_node *node)
Test if node is a Confirm. 
void() set_Mulh_left(ir_node *node, ir_node *left)
Sets left input of a Mulh node. 
void() set_Proj_pred(ir_node *node, ir_node *pred)
Sets pred input of a Proj node. 
void ir_op_set_fragile_indices(ir_op *op, unsigned pn_x_regular, unsigned pn_x_except)
Sets proj-number for X_regular and X_except projs of fragile nodes. 
ir_node *() get_Add_left(const ir_node *node)
Returns left input of an Add node. 
void() set_Conv_op(ir_node *node, ir_node *op)
Sets op input of a Conv node. 
void() set_Call_ptr(ir_node *node, ir_node *ptr)
Sets ptr input of a Call node. 
ir_op * get_op_Dummy(void)
Returns opcode for Dummy nodes. 
ir_node *() get_Sync_pred(ir_node const *node, int pos)
Get the Sync pred with index pos. 
ir_node * new_r_Conv(ir_node *block, ir_node *irn_op, ir_mode *mode)
Construct a Conv node. 
void() set_Call_param(ir_node *node, int pos, ir_node *param)
Set the Call param with index pos. 
int() is_Raise(const ir_node *node)
Test if node is a Raise. 
ir_node *() get_Anchor_end_block(const ir_node *node)
Returns end_block input of an Anchor node. 
The opcode has a memory input/output but does not actually change the contents of any memory block kn...
ir_node *() get_Cmp_right(const ir_node *node)
Returns right input of a Cmp node. 
ir_node * get_irg_end_block(const ir_graph *irg)
Returns the end block of an IR graph. 
ir_node * new_r_Sync(ir_node *block, int arity, ir_node *const *in)
Construct a Sync node. 
unsigned() get_Alloc_alignment(const ir_node *node)
Returns alignment attribute of an Alloc node. 
int() is_Switch(const ir_node *node)
Test if node is a Switch. 
ir_op * op_Builtin
Builtin opcode. 
void() set_Cond_jmp_pred(ir_node *node, cond_jmp_predicate jmp_pred)
Sets jmp_pred attribute of a Cond node. 
int() get_Div_no_remainder(const ir_node *node)
Returns no_remainder attribute of a Div node. 
ir_node *() get_Sel_ptr(const ir_node *node)
Returns ptr input of a Sel node. 
void() set_Anchor_end(ir_node *node, ir_node *end)
Sets end input of an Anchor node. 
void() set_Mux_sel(ir_node *node, ir_node *sel)
Sets sel input of a Mux node. 
int() is_Sync(const ir_node *node)
Test if node is a Sync. 
void() set_Anchor_start_block(ir_node *node, ir_node *start_block)
Sets start_block input of an Anchor node. 
ir_op * get_op_Const(void)
Returns opcode for Const nodes. 
Node must remain in this basic block if it can throw an exception, else can float. 
ir_node *() get_Mod_mem(const ir_node *node)
Returns mem input of a Mod node. 
ir_op * op_Cmp
Cmp opcode. 
ir_op * get_op_Shr(void)
Returns opcode for Shr nodes. 
ir_op * get_op_Or(void)
Returns opcode for Or nodes. 
ir_op * get_op_Size(void)
Returns opcode for Size nodes. 
ir_op * op_Not
Not opcode. 
ir_node * new_Address(ir_entity *entity)
Construct an Address node. 
void() set_Confirm_relation(ir_node *node, ir_relation relation)
Sets relation attribute of a Confirm 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. 
ir_node * new_Shr(ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
Construct a Shr node. 
ir_node * new_r_IJmp(ir_node *block, ir_node *irn_target)
Construct an IJmp 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_op * op_Load
Load opcode. 
cond_jmp_predicate
A type to express conditional jump predictions. 
ir_node **() get_Builtin_param_arr(ir_node *node)
Get an array of all Builtin params. 
ir_node * new_d_Bitcast(dbg_info *dbgi, ir_node *irn_op, ir_mode *mode)
Construct a Bitcast node. 
int() is_Shr(const ir_node *node)
Test if node is a Shr. 
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_And(ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
Construct an And node. 
control flow when no exception occurs 
void() set_Mul_left(ir_node *node, ir_node *left)
Sets left input of a Mul node. 
ir_op * get_op_Raise(void)
Returns opcode for Raise nodes. 
ir_node * new_Member(ir_node *irn_ptr, ir_entity *entity)
Construct a Member node. 
ir_op * get_op_Sub(void)
Returns opcode for Sub nodes. 
ir_node * new_r_Eor(ir_node *block, ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
Construct an Eor node. 
ir_type *() get_CopyB_type(const ir_node *node)
Returns type attribute of a CopyB node. 
void() set_Size_type(ir_node *node, ir_type *type)
Sets type attribute of a Size node. 
ir_op * get_op_Free(void)
Returns opcode for Free nodes. 
ir_node * new_Mux(ir_node *irn_sel, ir_node *irn_false, ir_node *irn_true, ir_mode *mode)
Construct a Mux node. 
void() set_CopyB_mem(ir_node *node, ir_node *mem)
Sets mem input of a CopyB node. 
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, int pinned)
Construct a Mod node. 
ir_node *() get_Shr_left(const ir_node *node)
Returns left input of a Shr node. 
ir_node *() get_CopyB_dst(const ir_node *node)
Returns dst input of a CopyB node. 
void() set_Store_type(ir_node *node, ir_type *type)
Sets type attribute of a Store node. 
ir_node * new_Raise(ir_node *irn_mem, ir_node *irn_exo_ptr)
Construct a Raise node. 
ir_node * new_d_Dummy(dbg_info *dbgi, ir_mode *mode)
Construct a Dummy node. 
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. 
ir_node *() get_Div_right(const ir_node *node)
Returns right input of a Div node. 
ir_node * new_Confirm(ir_node *irn_value, ir_node *irn_bound, ir_relation relation)
Construct a Confirm node. 
ir_node * new_d_Shl(dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
Construct a Shl node. 
ir_op * op_End
End opcode. 
ir_op * op_Block
Block opcode. 
ir_node *() get_Div_mem(const ir_node *node)
Returns mem input of a Div node. 
int() is_Sel(const ir_node *node)
Test if node is a Sel. 
ir_node * new_r_Confirm(ir_node *block, ir_node *irn_value, ir_node *irn_bound, ir_relation relation)
Construct a Confirm node. 
ident *() get_ASM_text(const ir_node *node)
Returns text attribute of an ASM node. 
int() is_Mulh(const ir_node *node)
Test if node is a Mulh. 
ir_node * new_d_Unknown(dbg_info *dbgi, ir_mode *mode)
Construct an Unknown node. 
control flow when exception occured 
ir_node *() get_CopyB_src(const ir_node *node)
Returns src input of a CopyB node. 
ir_node * new_rd_NoMem(dbg_info *dbgi, ir_graph *irg)
Construct a NoMem node. 
int() is_Mul(const ir_node *node)
Test if node is a Mul. 
ir_node *() get_Sub_right(const ir_node *node)
Returns right input of a Sub node. 
void set_Block_matured(ir_node *block, int matured)
set the matured flag of a block. 
ir_op * op_Bad
Bad opcode. 
ir_op * get_op_Address(void)
Returns opcode for Address nodes. 
ir_op * get_op_Phi(void)
Returns opcode for Phi nodes. 
ir_node * new_rd_Bitcast(dbg_info *dbgi, 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. 
This operation jumps to an unknown destination. 
ir_node * new_rd_Dummy(dbg_info *dbgi, ir_graph *irg, ir_mode *mode)
Construct a Dummy node. 
ir_node * new_d_NoMem(dbg_info *dbgi)
Construct a NoMem node. 
ir_node * new_r_Sub(ir_node *block, ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
Construct a Sub node. 
ir_op * get_op_Pin(void)
Returns opcode for Pin nodes. 
control flow when no exception occurs 
ir_node * new_d_Jmp(dbg_info *dbgi)
Construct a Jmp node. 
int() is_Unknown(const ir_node *node)
Test if node is a Unknown. 
ir_node * new_d_Confirm(dbg_info *dbgi, ir_node *irn_value, ir_node *irn_bound, ir_relation relation)
Construct a Confirm node. 
ir_node * new_d_Const(dbg_info *dbgi, ir_tarval *tarval)
Construct a Const node. 
ir_node * new_d_Align(dbg_info *dbgi, ir_mode *mode, ir_type *type)
Construct an Align node. 
void() set_Or_left(ir_node *node, ir_node *left)
Sets left input of an Or 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_op * get_op_Bitcast(void)
Returns opcode for Bitcast nodes. 
ir_node * new_d_Free(dbg_info *dbgi, ir_node *irn_mem, ir_node *irn_ptr)
Construct a Free node. 
ir_op * get_op_ASM(void)
Returns opcode for ASM nodes. 
void() set_Mod_mem(ir_node *node, ir_node *mem)
Sets mem input of a Mod node. 
int() is_Conv(const ir_node *node)
Test if node is a Conv. 
void verify_new_node(ir_node *node)
If firm is built in debug mode, verify that a newly created node is fine. 
ir_node * new_d_Proj(dbg_info *dbgi, ir_node *irn_pred, ir_mode *mode, unsigned num)
Construct a Proj node. 
ir_node * new_r_End(ir_graph *irg, int arity, ir_node *const *in)
Construct an End node. 
void() set_Store_ptr(ir_node *node, ir_node *ptr)
Sets ptr input of a Store node. 
ir_op * op_Confirm
Confirm opcode. 
ir_node * new_Conv(ir_node *irn_op, ir_mode *mode)
Construct a Conv node. 
ir_node * new_r_Tuple(ir_node *block, int arity, ir_node *const *in)
Construct a Tuple node. 
void() set_Load_ptr(ir_node *node, ir_node *ptr)
Sets ptr input of a Load node. 
ir_node * get_nodes_block(const ir_node *node)
Returns the block the node belongs to. 
int() is_Mux(const ir_node *node)
Test if node is a Mux. 
A binary operator – considering 'numeric' arguments. 
ir_node *() get_Store_value(const ir_node *node)
Returns value input of a Store node. 
ir_node * new_Offset(ir_mode *mode, ir_entity *entity)
Construct an Offset node. 
ir_node * new_rd_IJmp(dbg_info *dbgi, ir_node *block, ir_node *irn_target)
Construct an IJmp node. 
void() set_Return_mem(ir_node *node, ir_node *mem)
Sets mem input of a Return node. 
void() set_Anchor_no_mem(ir_node *node, ir_node *no_mem)
Sets no_mem input of an Anchor node. 
This operation is commutative. 
struct ir_switch_table ir_switch_table
A switch table mapping integer numbers to proj-numbers of a Switch-node. 
void() set_Block_entity(ir_node *node, ir_entity *entity)
Sets entity attribute of a Block node. 
ir_mode * mode_X
execution 
ir_node * new_d_Block(dbg_info *dbgi, int arity, ir_node *const *in)
Construct a Block node. 
ir_node * new_ir_node(dbg_info *db, ir_graph *irg, ir_node *block, ir_op *op, ir_mode *mode, int arity, ir_node *const *in)
IR node constructor. 
A input/output constraint attribute. 
ir_op * op_ASM
ASM opcode. 
ir_node * new_rd_Eor(dbg_info *dbgi, ir_node *block, ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
Construct an Eor node. 
int() is_Block(const ir_node *node)
Test if node is a Block. 
ir_node * new_d_Mod(dbg_info *dbgi, ir_node *irn_mem, ir_node *irn_left, ir_node *irn_right, ir_mode *resmode, int pinned)
Construct a Mod node. 
ir_op * get_op_Anchor(void)
Returns opcode for Anchor nodes. 
ir_node *() get_Call_param(ir_node const *node, int pos)
Get the Call param with index pos. 
ir_type *() get_Store_type(const ir_node *node)
Returns type attribute of a Store node. 
ir_op * get_op_Block(void)
Returns opcode for Block nodes. 
This operation is always placed in the Start block. 
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 * new_rd_Address(dbg_info *dbgi, ir_graph *irg, ir_entity *entity)
Construct an Address node. 
ir_node *() get_Mod_right(const ir_node *node)
Returns right input of a Mod node. 
node should be dumped outside any blocks 
This operation is a control flow operation. 
ir_asm_constraint *() get_ASM_input_constraints(const ir_node *node)
Returns input_constraints attribute of an ASM node. 
void() set_Anchor_end_block(ir_node *node, ir_node *end_block)
Sets end_block input of an Anchor node. 
void() set_Mux_false(ir_node *node, ir_node *false_)
Sets false input of a Mux node. 
int() is_Jmp(const ir_node *node)
Test if node is a Jmp. 
int() get_Phi_loop(const ir_node *node)
Returns loop attribute of a Phi node. 
ir_node *() get_Mul_right(const ir_node *node)
Returns right input of a Mul node. 
void() set_Member_ptr(ir_node *node, ir_node *ptr)
Sets ptr input of a Member node. 
int() is_Call(const ir_node *node)
Test if node is a Call. 
void() set_Store_volatility(ir_node *node, ir_volatility volatility)
Sets volatility attribute of a Store node. 
ir_op * get_op_Conv(void)
Returns opcode for Conv nodes. 
void() set_Anchor_start(ir_node *node, ir_node *start)
Sets start input of an Anchor node. 
ir_node * new_rd_Sync(dbg_info *dbgi, ir_node *block, int arity, ir_node *const *in)
Construct a Sync node. 
ir_node * new_r_Member(ir_node *block, ir_node *irn_ptr, ir_entity *entity)
Construct a Member node. 
struct ir_op ir_op
Node Opcode. 
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_op * get_op_Call(void)
Returns opcode for Call nodes. 
ir_node * new_r_Return(ir_node *block, ir_node *irn_mem, int arity, ir_node *const *in)
Construct a Return node. 
ir_op * op_Pin
Pin opcode. 
ir_op * op_Mul
Mul opcode. 
int() is_CopyB(const ir_node *node)
Test if node is a CopyB. 
ir_op * get_op_Proj(void)
Returns opcode for Proj nodes. 
ir_node *() get_Or_left(const ir_node *node)
Returns left input of an Or node. 
ir_op * get_op_End(void)
Returns opcode for End nodes. 
ir_node * new_rd_Offset(dbg_info *dbgi, ir_graph *irg, ir_mode *mode, ir_entity *entity)
Construct an Offset node. 
void() set_Mulh_right(ir_node *node, ir_node *right)
Sets right input of a Mulh node. 
void() set_Shr_left(ir_node *node, ir_node *left)
Sets left input of a Shr node. 
ir_node * new_r_Raise(ir_node *block, ir_node *irn_mem, ir_node *irn_exo_ptr)
Construct a Raise node. 
void() set_Sel_index(ir_node *node, ir_node *index)
Sets index input of a Sel node. 
void() set_Shr_right(ir_node *node, ir_node *right)
Sets right input of a Shr node. 
ir_node *() get_Not_op(const ir_node *node)
Returns op input of a Not node. 
This operation has a memory input and may change the memory state. 
ir_node * new_d_Phi(dbg_info *dbgi, int arity, ir_node *const *in, ir_mode *mode)
Construct a Phi node. 
int() is_Shrs(const ir_node *node)
Test if node is a Shrs. 
ir_switch_table *() get_Switch_table(const ir_node *node)
Returns table attribute of a Switch node. 
ir_op * op_Mux
Mux opcode. 
ir_node *() get_Eor_right(const ir_node *node)
Returns right input of an Eor node. 
ir_node *() get_Raise_mem(const ir_node *node)
Returns mem input of a Raise node. 
ir_node * new_r_Shl(ir_node *block, ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
Construct a Shl node. 
void() set_And_right(ir_node *node, ir_node *right)
Sets right input of an And node. 
int is_Method_type(const ir_type *method)
Returns true if a type is a method type. 
void() set_Store_value(ir_node *node, ir_node *value)
Sets value input of a Store node. 
int() is_IJmp(const ir_node *node)
Test if node is a IJmp. 
void() set_Anchor_frame(ir_node *node, ir_node *frame)
Sets frame input of an Anchor node. 
void() set_Raise_mem(ir_node *node, ir_node *mem)
Sets mem input of a Raise 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_Size(ir_mode *mode, ir_type *type)
Construct a Size node. 
#define NEW_ARR_DZ(type, obstack, nelts)
Create a dynamic array on an obstack and null its contents. 
This operation can be kept in End's keep-alive list. 
int() is_Deleted(const ir_node *node)
Test if node is a Deleted. 
ir_node *() get_Builtin_mem(const ir_node *node)
Returns mem input of a Builtin node. 
struct ir_entity ir_entity
Entity. 
ir_node * new_Unknown(ir_mode *mode)
Construct an Unknown 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. 
ir_node *() get_Pin_op(const ir_node *node)
Returns op input of a Pin node. 
ir_node *() get_Conv_op(const ir_node *node)
Returns op input of a Conv node. 
ir_relation() get_Confirm_relation(const ir_node *node)
Returns relation attribute of a Confirm node. 
ir_op * op_Const
Const opcode. 
ir_node *() get_And_left(const ir_node *node)
Returns left input of an And node. 
void() set_Load_unaligned(ir_node *node, ir_align unaligned)
Sets unaligned attribute of a Load node. 
void() set_Eor_left(ir_node *node, ir_node *left)
Sets left input of an Eor node. 
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)
Construct a Mux node. 
ir_node * new_r_Mulh(ir_node *block, ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
Construct a Mulh node. 
int() get_Phi_n_preds(ir_node const *node)
Get the number of Phi preds. 
void() set_Mod_left(ir_node *node, ir_node *left)
Sets left input of a Mod node. 
ir_node *() get_Mod_left(const ir_node *node)
Returns left input of a Mod node. 
control flow when no exception occurs 
void() set_Confirm_value(ir_node *node, ir_node *value)
Sets value input of a Confirm node. 
void() set_Builtin_param(ir_node *node, int pos, ir_node *param)
Set the Builtin param with index pos. 
Memory operation can float. 
void() set_And_left(ir_node *node, ir_node *left)
Sets left input of an And node. 
ir_align() get_Store_unaligned(const ir_node *node)
Returns unaligned attribute of a Store node. 
ir_node *() get_Call_ptr(const ir_node *node)
Returns ptr input of a Call node. 
ir_op * get_op_Shrs(void)
Returns opcode for Shrs nodes. 
ir_op * op_Cond
Cond opcode. 
ir_node * new_r_Shr(ir_node *block, ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
Construct a Shr node. 
ir_op * get_op_Eor(void)
Returns opcode for Eor nodes. 
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_node * new_Free(ir_node *irn_mem, ir_node *irn_ptr)
Construct a Free node. 
void() set_Minus_op(ir_node *node, ir_node *op)
Sets op input of a Minus node. 
ir_op * op_Deleted
Deleted opcode. 
ir_node * new_Cond(ir_node *irn_selector)
Construct a Cond node. 
int() is_entconst(const ir_node *node)
Test if node is a entconst. 
unsigned() get_Switch_n_outs(const ir_node *node)
Returns n_outs attribute of a Switch node. 
ir_node * new_rd_Align(dbg_info *dbgi, ir_graph *irg, ir_mode *mode, ir_type *type)
Construct an Align node. 
ir_align() get_Load_unaligned(const ir_node *node)
Returns unaligned attribute of a Load node. 
void() set_Free_mem(ir_node *node, ir_node *mem)
Sets mem input of a Free node. 
ir_node * new_d_Mux(dbg_info *dbgi, ir_node *irn_sel, ir_node *irn_false, ir_node *irn_true, ir_mode *mode)
Construct a Mux node. 
void() set_ASM_input(ir_node *node, int pos, ir_node *input)
Set the ASM input with index pos. 
ir_node * new_d_Shrs(dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
Construct a Shrs node. 
ir_node * new_rd_And(dbg_info *dbgi, ir_node *block, ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
Construct an And node. 
ir_op * get_op_Mod(void)
Returns opcode for Mod nodes. 
ir_node * new_d_End(dbg_info *dbgi, int arity, ir_node *const *in)
Construct an End node. 
ir_node * new_Const(ir_tarval *tarval)
Construct a Const node. 
The arity is not fixed by opcode, but statically known. 
int() is_Minus(const ir_node *node)
Test if node is a Minus. 
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. 
int() is_Const(const ir_node *node)
Test if node is a Const. 
ir_entity *() get_Block_entity(const ir_node *node)
Returns entity attribute of a Block node. 
ir_node * new_d_Minus(dbg_info *dbgi, ir_node *irn_op, ir_mode *mode)
Construct a Minus node. 
void() set_Anchor_args(ir_node *node, ir_node *args)
Sets args input of an Anchor node. 
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_Sub(dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
Construct a Sub node. 
This operation has no arguments and is some kind of a constant. 
struct ir_tarval ir_tarval
Target Machine Value. 
ir_node *() get_Return_res(ir_node const *node, int pos)
Get the Return res with index pos. 
void ir_op_set_memory_index(ir_op *op, int memory_index)
Sets memory input of operation using memory. 
int() is_And(const ir_node *node)
Test if node is a And. 
ir_mode * mode_b
This mode represents (parts of) the processor status flag queried in conditional jumps or predicated ...
void() set_Anchor_initial_mem(ir_node *node, ir_node *initial_mem)
Sets initial_mem input of an Anchor node. 
void() set_IJmp_target(ir_node *node, ir_node *target)
Sets target input of an IJmp node. 
ir_mode * get_irn_mode(const ir_node *node)
Returns the mode struct of a node. 
ir_node *() get_Alloc_size(const ir_node *node)
Returns size input of an Alloc node. 
ir_node *() get_Mulh_right(const ir_node *node)
Returns right input of a Mulh node. 
void() set_Sub_right(ir_node *node, ir_node *right)
Sets right input of a Sub node. 
ir_node * new_Minus(ir_node *irn_op, ir_mode *mode)
Construct a Minus node. 
ir_op * op_Offset
Offset opcode. 
ir_node * new_r_Div(ir_node *block, ir_node *irn_mem, ir_node *irn_left, ir_node *irn_right, ir_mode *resmode, int pinned)
Construct a Div 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_ASM_mem(ir_node *node, ir_node *mem)
Sets mem input of an ASM 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. 
ir_entity *() get_entconst_entity(const ir_node *node)
Returns entity attribute of an entconst node. 
void() set_Cmp_left(ir_node *node, ir_node *left)
Sets left input of a Cmp node. 
ir_node * new_Dummy(ir_mode *mode)
Construct a Dummy node. 
ir_node *() get_Member_ptr(const ir_node *node)
Returns ptr input of a Member node. 
ir_node * new_rd_Bad(dbg_info *dbgi, ir_graph *irg, ir_mode *mode)
Construct a Bad node. 
ident **() get_ASM_clobbers(const ir_node *node)
Returns clobbers attribute of an ASM node. 
ir_type *() get_Load_type(const ir_node *node)
Returns type attribute of a Load node. 
ir_node * new_rd_Minus(dbg_info *dbgi, ir_node *block, ir_node *irn_op, ir_mode *mode)
Construct a Minus node. 
ir_op * op_And
And opcode. 
void() set_Mul_right(ir_node *node, ir_node *right)
Sets right input of a Mul node. 
int() is_End(const ir_node *node)
Test if node is a End. 
ir_node * new_d_Start(dbg_info *dbgi)
Construct a Start node. 
ir_graph * current_ir_graph
Global variable holding the graph which is currently constructed. 
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 * new_Shrs(ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
Construct a Shrs node. 
ir_type *() get_Align_type(const ir_node *node)
Returns type attribute of an Align node. 
ir_volatility() get_Store_volatility(const ir_node *node)
Returns volatility attribute of a Store node. 
ir_node * new_rd_Member(dbg_info *dbgi, ir_node *block, ir_node *irn_ptr, ir_entity *entity)
Construct a Member node. 
ir_node * new_d_Bad(dbg_info *dbgi, ir_mode *mode)
Construct a Bad node. 
void() set_Tuple_pred(ir_node *node, int pos, ir_node *pred)
Set the Tuple pred with index pos. 
ir_volatility() get_Load_volatility(const ir_node *node)
Returns volatility attribute of a Load node. 
ir_op * op_Raise
Raise opcode. 
ir_relation
Relations for comparing numbers. 
void() set_Id_pred(ir_node *node, ir_node *pred)
Sets pred input of an Id node. 
void() set_entconst_entity(ir_node *node, ir_entity *entity)
Sets entity attribute of an entconst node. 
ir_node * new_r_Pin(ir_node *block, ir_node *irn_op)
Construct a Pin node. 
void() set_Builtin_mem(ir_node *node, ir_node *mem)
Sets mem input of a Builtin node. 
ir_node * new_rd_Size(dbg_info *dbgi, ir_graph *irg, ir_mode *mode, ir_type *type)
Construct a Size node. 
ir_node * new_r_Not(ir_node *block, ir_node *irn_op, ir_mode *mode)
Construct a Not node. 
ir_node * new_rd_Cond(dbg_info *dbgi, ir_node *block, ir_node *irn_selector)
Construct a Cond node. 
ir_node **() get_Tuple_pred_arr(ir_node *node)
Get an array of all Tuple preds. 
void() set_Switch_n_outs(ir_node *node, unsigned n_outs)
Sets n_outs attribute of a Switch node. 
void() set_Bitcast_op(ir_node *node, ir_node *op)
Sets op input of a Bitcast node. 
ir_node * new_r_Size(ir_graph *irg, ir_mode *mode, ir_type *type)
Construct a Size node. 
ir_node *() get_Builtin_param(ir_node const *node, int pos)
Get the Builtin param with index pos. 
ir_node *() get_Call_mem(const ir_node *node)
Returns mem input of a Call node. 
ir_node *() get_Phi_pred(ir_node const *node, int pos)
Get the Phi pred with index pos. 
void() set_Call_mem(ir_node *node, ir_node *mem)
Sets mem input of a Call node. 
void() set_ASM_text(ir_node *node, ident *text)
Sets text attribute of an ASM node. 
fragile op throws exception (and produces X_regular and X_except values) 
ir_node *() get_Anchor_args(const ir_node *node)
Returns args input of an Anchor node. 
ir_node * new_rd_Conv(dbg_info *dbgi, ir_node *block, ir_node *irn_op, ir_mode *mode)
Construct a Conv node. 
ir_op * op_Align
Align opcode. 
ir_node *() get_Anchor_initial_mem(const ir_node *node)
Returns initial_mem input of an Anchor node. 
ir_node * new_Cmp(ir_node *irn_left, ir_node *irn_right, ir_relation relation)
Construct a Cmp node. 
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 * new_d_IJmp(dbg_info *dbgi, ir_node *irn_target)
Construct an IJmp node. 
ir_node *() get_Load_mem(const ir_node *node)
Returns mem input of a Load node. 
ir_op * op_Minus
Minus opcode. 
void() set_Not_op(ir_node *node, ir_node *op)
Sets op input of a Not node. 
ir_node *() get_Mux_false(const ir_node *node)
Returns false input of a Mux node. 
ir_op * get_op_Builtin(void)
Returns opcode for Builtin nodes. 
ir_node * new_r_Bitcast(ir_node *block, ir_node *irn_op, ir_mode *mode)
Construct a Bitcast node. 
ir_op * get_op_Mul(void)
Returns opcode for Mul nodes. 
ir_node *() get_And_right(const ir_node *node)
Returns right input of an And node. 
ir_node * new_Jmp(void)
Construct a Jmp node. 
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_rd_Unknown(dbg_info *dbgi, ir_graph *irg, ir_mode *mode)
Construct an Unknown node. 
ir_relation() get_Cmp_relation(const ir_node *node)
Returns relation attribute of a Cmp node. 
ir_node **() get_Call_param_arr(ir_node *node)
Get an array of all Call params. 
ir_op * op_Store
Store opcode. 
void() set_Align_type(ir_node *node, ir_type *type)
Sets type attribute of an Align node. 
ir_node * new_r_Or(ir_node *block, ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
Construct an Or node. 
void() set_Cmp_right(ir_node *node, ir_node *right)
Sets right input of a Cmp node. 
int() is_ASM(const ir_node *node)
Test if node is a ASM. 
ir_mode *() get_Mod_resmode(const ir_node *node)
Returns resmode attribute of a Mod node. 
int() is_Mod(const ir_node *node)
Test if node is a Mod. 
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. 
ir_node * new_r_Offset(ir_graph *irg, ir_mode *mode, ir_entity *entity)
Construct an Offset node. 
ir_node * new_Phi(int arity, ir_node *const *in, ir_mode *mode)
Construct a Phi node. 
ir_cons_flags
constrained flags for memory operations. 
ir_node * new_Not(ir_node *irn_op, ir_mode *mode)
Construct a Not node. 
void() set_Mod_resmode(ir_node *node, ir_mode *resmode)
Sets resmode attribute of a Mod node. 
ir_node * new_rd_Const(dbg_info *dbgi, ir_graph *irg, ir_tarval *tarval)
Construct a Const node. 
ir_op * get_op_Align(void)
Returns opcode for Align nodes. 
ir_node *() get_Add_right(const ir_node *node)
Returns right input of an Add node. 
int() is_Shl(const ir_node *node)
Test if node is a Shl. 
ir_op * op_Shr
Shr opcode. 
ir_node *() get_Id_pred(const ir_node *node)
Returns pred input of an Id node. 
int() is_Load(const ir_node *node)
Test if node is a Load. 
struct ir_mode ir_mode
SSA Value mode. 
void() set_Div_resmode(ir_node *node, ir_mode *resmode)
Sets resmode attribute of a Div node. 
struct ir_node ir_node
Procedure Graph Node. 
ir_node * new_r_NoMem(ir_graph *irg)
Construct a NoMem node. 
ir_node * new_IJmp(ir_node *irn_target)
Construct an IJmp node. 
ir_node *() get_Free_mem(const ir_node *node)
Returns mem input of a Free node. 
ir_node * new_d_Size(dbg_info *dbgi, ir_mode *mode, ir_type *type)
Construct a Size node. 
void() set_Mux_true(ir_node *node, ir_node *true_)
Sets true input of a Mux node. 
ir_op * op_Member
Member opcode. 
ir_node *() get_Sub_left(const ir_node *node)
Returns left input of a Sub node. 
ir_node * new_rd_Mulh(dbg_info *dbgi, ir_node *block, ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
Construct a Mulh node. 
ir_node *() get_Shr_right(const ir_node *node)
Returns right input of a Shr node. 
ir_node * new_r_Switch(ir_node *block, ir_node *irn_selector, unsigned n_outs, ir_switch_table *table)
Construct a Switch node. 
ir_node * new_d_Tuple(dbg_info *dbgi, int arity, ir_node *const *in)
Construct a Tuple node. 
int() is_Align(const ir_node *node)
Test if node is a Align. 
The arity depends on state of Firm representation. 
ir_node * new_r_Shrs(ir_node *block, ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
Construct a Shrs node. 
ir_op * get_op_Minus(void)
Returns opcode for Minus nodes. 
ir_node * new_rd_Sub(dbg_info *dbgi, ir_node *block, ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
Construct a Sub node. 
ir_op * op_Conv
Conv opcode. 
ir_op * op_Dummy
Dummy opcode. 
int() get_Builtin_n_params(ir_node const *node)
Get the number of Builtin params. 
ir_node * new_Bad(ir_mode *mode)
Construct a Bad node. 
ir_op * get_op_Jmp(void)
Returns opcode for Jmp nodes. 
void() set_Shl_left(ir_node *node, ir_node *left)
Sets left input of a Shl node. 
ir_node *() get_Mux_sel(const ir_node *node)
Returns sel input of a Mux node. 
int() is_Cond(const ir_node *node)
Test if node is a Cond. 
control flow when exception occured 
ir_op * get_op_Sel(void)
Returns opcode for Sel nodes. 
int() is_Return(const ir_node *node)
Test if node is a Return. 
ir_entity *() get_Offset_entity(const ir_node *node)
Returns entity attribute of an Offset node. 
int() is_Eor(const ir_node *node)
Test if node is a Eor. 
int() is_Anchor(const ir_node *node)
Test if node is a Anchor. 
ir_node * optimize_node(ir_node *n)
Applies local optimizations to a single node. 
ir_op * get_op_Offset(void)
Returns opcode for Offset nodes. 
control flow when exception occured 
ir_node *() get_ASM_input(ir_node const *node, int pos)
Get the ASM input with index pos. 
ir_node * new_r_Add(ir_node *block, ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
Construct an Add node. 
const char ident
Identifier. 
ir_node * new_r_And(ir_node *block, ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
Construct an And 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_Eor(ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
Construct an Eor node. 
int() is_Tuple(const ir_node *node)
Test if node is a Tuple. 
ir_node * new_r_Mod(ir_node *block, ir_node *irn_mem, ir_node *irn_left, ir_node *irn_right, ir_mode *resmode, int pinned)
Construct a Mod node. 
ir_op * op_Alloc
Alloc opcode. 
void() set_Builtin_kind(ir_node *node, ir_builtin_kind kind)
Sets kind attribute of a Builtin node. 
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_node *() get_CopyB_mem(const ir_node *node)
Returns mem input of a CopyB node. 
ir_node *() get_Cond_selector(const ir_node *node)
Returns selector input of a Cond node. 
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. 
int() is_Proj(const ir_node *node)
Test if node is a Proj. 
int() is_Sub(const ir_node *node)
Test if node is a Sub. 
void() set_Cmp_relation(ir_node *node, ir_relation relation)
Sets relation attribute of a Cmp node. 
ir_op * get_op_Bad(void)
Returns opcode for Bad nodes. 
ir_node * new_r_Phi(ir_node *block, int arity, ir_node *const *in, ir_mode *mode)
Construct a Phi node. 
void() set_Switch_selector(ir_node *node, ir_node *selector)
Sets selector input of a Switch node. 
ir_node *() get_Confirm_bound(const ir_node *node)
Returns bound input of a Confirm node. 
control flow when exception occured 
void() set_Load_mem(ir_node *node, ir_node *mem)
Sets mem input of a Load node. 
ir_node *() get_Cmp_left(const ir_node *node)
Returns left input of a Cmp node. 
ir_graph * get_irn_irg(const ir_node *node)
Returns the ir_graph this node belongs to. 
ir_node * new_d_And(dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
Construct an And node. 
ir_node *() get_Confirm_value(const ir_node *node)
Returns value input of a Confirm node. 
ir_node * new_Mulh(ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
Construct a Mulh node. 
ir_node *() get_Store_mem(const ir_node *node)
Returns mem input of a Store node. 
ir_node *() get_Load_ptr(const ir_node *node)
Returns ptr input of a Load node. 
ir_node * new_r_Address(ir_graph *irg, ir_entity *entity)
Construct an Address node. 
ir_node * new_rd_Shr(dbg_info *dbgi, ir_node *block, ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
Construct a Shr node. 
ir_node * new_d_Offset(dbg_info *dbgi, ir_mode *mode, ir_entity *entity)
Construct an Offset node. 
ir_node *() get_IJmp_target(const ir_node *node)
Returns target input of an IJmp node. 
ir_node * new_Return(ir_node *irn_mem, int arity, ir_node *const *in)
Construct a Return node. 
int() is_Alloc(const ir_node *node)
Test if node is a Alloc. 
void() set_CopyB_dst(ir_node *node, ir_node *dst)
Sets dst input of a CopyB node. 
int() is_Cmp(const ir_node *node)
Test if node is a Cmp. 
ir_node * get_cur_block(void)
Returns the current block of the current graph. 
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, int pinned)
Construct a Div node. 
ir_op * op_Mod
Mod opcode. 
void() set_Add_right(ir_node *node, ir_node *right)
Sets right input of an Add node. 
ir_node * new_d_Add(dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
Construct an Add node. 
ir_node *() get_Eor_left(const ir_node *node)
Returns left input of an Eor node. 
ir_node * new_d_Or(dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
Construct an Or node. 
ir_node * new_d_Mulh(dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
Construct a Mulh node. 
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. 
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. 
The graph is being constructed: We have a current_block set, and blocks contain mapping of variable n...
ir_op * get_op_Cond(void)
Returns opcode for Cond nodes. 
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. 
void() set_Shl_right(ir_node *node, ir_node *right)
Sets right input of a Shl node. 
void() set_Or_right(ir_node *node, ir_node *right)
Sets right input of an Or node. 
ir_op * op_Address
Address opcode. 
void() set_Call_type(ir_node *node, ir_type *type)
Sets type attribute of a Call node. 
ir_node * new_d_Conv(dbg_info *dbgi, ir_node *irn_op, ir_mode *mode)
Construct a Conv node. 
void() set_CopyB_type(ir_node *node, ir_type *type)
Sets type attribute of a CopyB node. 
ir_entity *() get_Member_entity(const ir_node *node)
Returns entity attribute of a Member node. 
ir_node * new_r_Jmp(ir_node *block)
Construct a Jmp node. 
ir_node * new_Proj(ir_node *irn_pred, ir_mode *mode, unsigned num)
Construct a Proj node. 
ir_node * new_r_Dummy(ir_graph *irg, ir_mode *mode)
Construct a Dummy node. 
ir_node *() get_Anchor_frame(const ir_node *node)
Returns frame input of an Anchor node. 
void() set_Alloc_size(ir_node *node, ir_node *size)
Sets size input of an Alloc node. 
ir_type *() get_Call_type(const ir_node *node)
Returns type attribute of a Call node. 
ir_op * get_op_And(void)
Returns opcode for And nodes. 
ir_node * new_d_Cmp(dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right, ir_relation relation)
Construct a Cmp node. 
int() is_Member(const ir_node *node)
Test if node is a Member. 
ir_op * get_op_Id(void)
Returns opcode for Id nodes. 
void() set_Proj_num(ir_node *node, unsigned num)
Sets num attribute of a Proj node. 
int() is_Or(const ir_node *node)
Test if node is a Or. 
ir_op * get_op_NoMem(void)
Returns opcode for NoMem nodes. 
ir_node *() get_Anchor_start(const ir_node *node)
Returns start input of an Anchor node. 
int() get_ASM_n_inputs(ir_node const *node)
Get the number of ASM inputs. 
ir_op * op_Mulh
Mulh opcode. 
int() get_Sync_n_preds(ir_node const *node)
Get the number of Sync preds. 
void() set_typeconst_type(ir_node *node, ir_type *type)
Sets type attribute of a typeconst node. 
ir_node * new_Switch(ir_node *irn_selector, unsigned n_outs, ir_switch_table *table)
Construct a Switch node. 
Forking control flow at this operation. 
ir_type *() get_Sel_type(const ir_node *node)
Returns type attribute of a Sel node. 
ir_node * new_r_Minus(ir_node *block, ir_node *irn_op, ir_mode *mode)
Construct a Minus node. 
int() is_Bitcast(const ir_node *node)
Test if node is a Bitcast. 
ir_op * get_op_Deleted(void)
Returns opcode for Deleted nodes. 
int() get_Block_n_cfgpreds(ir_node const *node)
Get the number of Block cfgpreds. 
ir_op * get_op_Cmp(void)
Returns opcode for Cmp nodes. 
ir_node * new_Block(int arity, ir_node *const *in)
Construct a Block node.