2 #ifndef IR_GEN_IRNODE_H 3 #define IR_GEN_IRNODE_H 9 #define is_ASM(node) is_ASM_(node) 10 #define get_ASM_input_constraints(node) get_ASM_input_constraints_(node) 11 #define set_ASM_input_constraints(node, input_constraints) set_ASM_input_constraints_(node, input_constraints) 12 #define get_ASM_output_constraints(node) get_ASM_output_constraints_(node) 13 #define set_ASM_output_constraints(node, output_constraints) set_ASM_output_constraints_(node, output_constraints) 14 #define get_ASM_clobbers(node) get_ASM_clobbers_(node) 15 #define set_ASM_clobbers(node, clobbers) set_ASM_clobbers_(node, clobbers) 16 #define get_ASM_text(node) get_ASM_text_(node) 17 #define set_ASM_text(node, text) set_ASM_text_(node, text) 18 #define get_ASM_mem(node) get_ASM_mem_(node) 19 #define set_ASM_mem(node, mem) set_ASM_mem_(node, mem) 20 #define get_ASM_n_inputs(node) get_ASM_n_inputs_(node) 21 #define get_ASM_input(node, pos) get_ASM_input_(node, pos) 22 #define set_ASM_input(node, pos, input) set_ASM_input_(node, pos, input) 23 #define get_ASM_input_arr(node) get_ASM_input_arr_(node) 25 #define is_Add(node) is_Add_(node) 26 #define get_Add_left(node) get_Add_left_(node) 27 #define set_Add_left(node, left) set_Add_left_(node, left) 28 #define get_Add_right(node) get_Add_right_(node) 29 #define set_Add_right(node, right) set_Add_right_(node, right) 31 #define is_Address(node) is_Address_(node) 32 #define get_Address_entity(node) get_Address_entity_(node) 33 #define set_Address_entity(node, entity) set_Address_entity_(node, entity) 35 #define is_Align(node) is_Align_(node) 36 #define get_Align_type(node) get_Align_type_(node) 37 #define set_Align_type(node, type) set_Align_type_(node, type) 39 #define is_Alloc(node) is_Alloc_(node) 40 #define get_Alloc_alignment(node) get_Alloc_alignment_(node) 41 #define set_Alloc_alignment(node, alignment) set_Alloc_alignment_(node, alignment) 42 #define get_Alloc_mem(node) get_Alloc_mem_(node) 43 #define set_Alloc_mem(node, mem) set_Alloc_mem_(node, mem) 44 #define get_Alloc_size(node) get_Alloc_size_(node) 45 #define set_Alloc_size(node, size) set_Alloc_size_(node, size) 47 #define is_Anchor(node) is_Anchor_(node) 48 #define get_Anchor_end_block(node) get_Anchor_end_block_(node) 49 #define set_Anchor_end_block(node, end_block) set_Anchor_end_block_(node, end_block) 50 #define get_Anchor_start_block(node) get_Anchor_start_block_(node) 51 #define set_Anchor_start_block(node, start_block) set_Anchor_start_block_(node, start_block) 52 #define get_Anchor_end(node) get_Anchor_end_(node) 53 #define set_Anchor_end(node, end) set_Anchor_end_(node, end) 54 #define get_Anchor_start(node) get_Anchor_start_(node) 55 #define set_Anchor_start(node, start) set_Anchor_start_(node, start) 56 #define get_Anchor_frame(node) get_Anchor_frame_(node) 57 #define set_Anchor_frame(node, frame) set_Anchor_frame_(node, frame) 58 #define get_Anchor_initial_mem(node) get_Anchor_initial_mem_(node) 59 #define set_Anchor_initial_mem(node, initial_mem) set_Anchor_initial_mem_(node, initial_mem) 60 #define get_Anchor_args(node) get_Anchor_args_(node) 61 #define set_Anchor_args(node, args) set_Anchor_args_(node, args) 62 #define get_Anchor_no_mem(node) get_Anchor_no_mem_(node) 63 #define set_Anchor_no_mem(node, no_mem) set_Anchor_no_mem_(node, no_mem) 65 #define is_And(node) is_And_(node) 66 #define get_And_left(node) get_And_left_(node) 67 #define set_And_left(node, left) set_And_left_(node, left) 68 #define get_And_right(node) get_And_right_(node) 69 #define set_And_right(node, right) set_And_right_(node, right) 71 #define is_Bad(node) is_Bad_(node) 73 #define is_Bitcast(node) is_Bitcast_(node) 74 #define get_Bitcast_op(node) get_Bitcast_op_(node) 75 #define set_Bitcast_op(node, op) set_Bitcast_op_(node, op) 77 #define is_Block(node) is_Block_(node) 78 #define get_Block_entity(node) get_Block_entity_(node) 79 #define set_Block_entity(node, entity) set_Block_entity_(node, entity) 80 #define get_Block_n_cfgpreds(node) get_Block_n_cfgpreds_(node) 81 #define get_Block_cfgpred(node, pos) get_Block_cfgpred_(node, pos) 82 #define set_Block_cfgpred(node, pos, cfgpred) set_Block_cfgpred_(node, pos, cfgpred) 83 #define get_Block_cfgpred_arr(node) get_Block_cfgpred_arr_(node) 85 #define is_Builtin(node) is_Builtin_(node) 86 #define get_Builtin_kind(node) get_Builtin_kind_(node) 87 #define set_Builtin_kind(node, kind) set_Builtin_kind_(node, kind) 88 #define get_Builtin_type(node) get_Builtin_type_(node) 89 #define set_Builtin_type(node, type) set_Builtin_type_(node, type) 90 #define get_Builtin_mem(node) get_Builtin_mem_(node) 91 #define set_Builtin_mem(node, mem) set_Builtin_mem_(node, mem) 92 #define get_Builtin_n_params(node) get_Builtin_n_params_(node) 93 #define get_Builtin_param(node, pos) get_Builtin_param_(node, pos) 94 #define set_Builtin_param(node, pos, param) set_Builtin_param_(node, pos, param) 95 #define get_Builtin_param_arr(node) get_Builtin_param_arr_(node) 97 #define is_Call(node) is_Call_(node) 98 #define get_Call_type(node) get_Call_type_(node) 99 #define set_Call_type(node, type) set_Call_type_(node, type) 100 #define get_Call_mem(node) get_Call_mem_(node) 101 #define set_Call_mem(node, mem) set_Call_mem_(node, mem) 102 #define get_Call_ptr(node) get_Call_ptr_(node) 103 #define set_Call_ptr(node, ptr) set_Call_ptr_(node, ptr) 104 #define get_Call_n_params(node) get_Call_n_params_(node) 105 #define get_Call_param(node, pos) get_Call_param_(node, pos) 106 #define set_Call_param(node, pos, param) set_Call_param_(node, pos, param) 107 #define get_Call_param_arr(node) get_Call_param_arr_(node) 109 #define is_Cmp(node) is_Cmp_(node) 110 #define get_Cmp_relation(node) get_Cmp_relation_(node) 111 #define set_Cmp_relation(node, relation) set_Cmp_relation_(node, relation) 112 #define get_Cmp_left(node) get_Cmp_left_(node) 113 #define set_Cmp_left(node, left) set_Cmp_left_(node, left) 114 #define get_Cmp_right(node) get_Cmp_right_(node) 115 #define set_Cmp_right(node, right) set_Cmp_right_(node, right) 117 #define is_Cond(node) is_Cond_(node) 118 #define get_Cond_jmp_pred(node) get_Cond_jmp_pred_(node) 119 #define set_Cond_jmp_pred(node, jmp_pred) set_Cond_jmp_pred_(node, jmp_pred) 120 #define get_Cond_selector(node) get_Cond_selector_(node) 121 #define set_Cond_selector(node, selector) set_Cond_selector_(node, selector) 123 #define is_Confirm(node) is_Confirm_(node) 124 #define get_Confirm_relation(node) get_Confirm_relation_(node) 125 #define set_Confirm_relation(node, relation) set_Confirm_relation_(node, relation) 126 #define get_Confirm_value(node) get_Confirm_value_(node) 127 #define set_Confirm_value(node, value) set_Confirm_value_(node, value) 128 #define get_Confirm_bound(node) get_Confirm_bound_(node) 129 #define set_Confirm_bound(node, bound) set_Confirm_bound_(node, bound) 131 #define is_Const(node) is_Const_(node) 132 #define get_Const_tarval(node) get_Const_tarval_(node) 133 #define set_Const_tarval(node, tarval) set_Const_tarval_(node, tarval) 135 #define is_Conv(node) is_Conv_(node) 136 #define get_Conv_op(node) get_Conv_op_(node) 137 #define set_Conv_op(node, op) set_Conv_op_(node, op) 139 #define is_CopyB(node) is_CopyB_(node) 140 #define get_CopyB_type(node) get_CopyB_type_(node) 141 #define set_CopyB_type(node, type) set_CopyB_type_(node, type) 142 #define get_CopyB_volatility(node) get_CopyB_volatility_(node) 143 #define set_CopyB_volatility(node, volatility) set_CopyB_volatility_(node, volatility) 144 #define get_CopyB_mem(node) get_CopyB_mem_(node) 145 #define set_CopyB_mem(node, mem) set_CopyB_mem_(node, mem) 146 #define get_CopyB_dst(node) get_CopyB_dst_(node) 147 #define set_CopyB_dst(node, dst) set_CopyB_dst_(node, dst) 148 #define get_CopyB_src(node) get_CopyB_src_(node) 149 #define set_CopyB_src(node, src) set_CopyB_src_(node, src) 151 #define is_Deleted(node) is_Deleted_(node) 153 #define is_Div(node) is_Div_(node) 154 #define get_Div_resmode(node) get_Div_resmode_(node) 155 #define set_Div_resmode(node, resmode) set_Div_resmode_(node, resmode) 156 #define get_Div_no_remainder(node) get_Div_no_remainder_(node) 157 #define set_Div_no_remainder(node, no_remainder) set_Div_no_remainder_(node, no_remainder) 158 #define get_Div_mem(node) get_Div_mem_(node) 159 #define set_Div_mem(node, mem) set_Div_mem_(node, mem) 160 #define get_Div_left(node) get_Div_left_(node) 161 #define set_Div_left(node, left) set_Div_left_(node, left) 162 #define get_Div_right(node) get_Div_right_(node) 163 #define set_Div_right(node, right) set_Div_right_(node, right) 165 #define is_Dummy(node) is_Dummy_(node) 167 #define is_End(node) is_End_(node) 168 #define get_End_n_keepalives(node) get_End_n_keepalives_(node) 169 #define get_End_keepalive(node, pos) get_End_keepalive_(node, pos) 170 #define set_End_keepalive(node, pos, keepalive) set_End_keepalive_(node, pos, keepalive) 171 #define get_End_keepalive_arr(node) get_End_keepalive_arr_(node) 173 #define is_Eor(node) is_Eor_(node) 174 #define get_Eor_left(node) get_Eor_left_(node) 175 #define set_Eor_left(node, left) set_Eor_left_(node, left) 176 #define get_Eor_right(node) get_Eor_right_(node) 177 #define set_Eor_right(node, right) set_Eor_right_(node, right) 179 #define is_Free(node) is_Free_(node) 180 #define get_Free_mem(node) get_Free_mem_(node) 181 #define set_Free_mem(node, mem) set_Free_mem_(node, mem) 182 #define get_Free_ptr(node) get_Free_ptr_(node) 183 #define set_Free_ptr(node, ptr) set_Free_ptr_(node, ptr) 185 #define is_IJmp(node) is_IJmp_(node) 186 #define get_IJmp_target(node) get_IJmp_target_(node) 187 #define set_IJmp_target(node, target) set_IJmp_target_(node, target) 189 #define is_Id(node) is_Id_(node) 190 #define get_Id_pred(node) get_Id_pred_(node) 191 #define set_Id_pred(node, pred) set_Id_pred_(node, pred) 193 #define is_Jmp(node) is_Jmp_(node) 195 #define is_Load(node) is_Load_(node) 196 #define get_Load_mode(node) get_Load_mode_(node) 197 #define set_Load_mode(node, mode) set_Load_mode_(node, mode) 198 #define get_Load_type(node) get_Load_type_(node) 199 #define set_Load_type(node, type) set_Load_type_(node, type) 200 #define get_Load_volatility(node) get_Load_volatility_(node) 201 #define set_Load_volatility(node, volatility) set_Load_volatility_(node, volatility) 202 #define get_Load_unaligned(node) get_Load_unaligned_(node) 203 #define set_Load_unaligned(node, unaligned) set_Load_unaligned_(node, unaligned) 204 #define get_Load_mem(node) get_Load_mem_(node) 205 #define set_Load_mem(node, mem) set_Load_mem_(node, mem) 206 #define get_Load_ptr(node) get_Load_ptr_(node) 207 #define set_Load_ptr(node, ptr) set_Load_ptr_(node, ptr) 209 #define is_Member(node) is_Member_(node) 210 #define get_Member_entity(node) get_Member_entity_(node) 211 #define set_Member_entity(node, entity) set_Member_entity_(node, entity) 212 #define get_Member_ptr(node) get_Member_ptr_(node) 213 #define set_Member_ptr(node, ptr) set_Member_ptr_(node, ptr) 215 #define is_Minus(node) is_Minus_(node) 216 #define get_Minus_op(node) get_Minus_op_(node) 217 #define set_Minus_op(node, op) set_Minus_op_(node, op) 219 #define is_Mod(node) is_Mod_(node) 220 #define get_Mod_resmode(node) get_Mod_resmode_(node) 221 #define set_Mod_resmode(node, resmode) set_Mod_resmode_(node, resmode) 222 #define get_Mod_mem(node) get_Mod_mem_(node) 223 #define set_Mod_mem(node, mem) set_Mod_mem_(node, mem) 224 #define get_Mod_left(node) get_Mod_left_(node) 225 #define set_Mod_left(node, left) set_Mod_left_(node, left) 226 #define get_Mod_right(node) get_Mod_right_(node) 227 #define set_Mod_right(node, right) set_Mod_right_(node, right) 229 #define is_Mul(node) is_Mul_(node) 230 #define get_Mul_left(node) get_Mul_left_(node) 231 #define set_Mul_left(node, left) set_Mul_left_(node, left) 232 #define get_Mul_right(node) get_Mul_right_(node) 233 #define set_Mul_right(node, right) set_Mul_right_(node, right) 235 #define is_Mulh(node) is_Mulh_(node) 236 #define get_Mulh_left(node) get_Mulh_left_(node) 237 #define set_Mulh_left(node, left) set_Mulh_left_(node, left) 238 #define get_Mulh_right(node) get_Mulh_right_(node) 239 #define set_Mulh_right(node, right) set_Mulh_right_(node, right) 241 #define is_Mux(node) is_Mux_(node) 242 #define get_Mux_sel(node) get_Mux_sel_(node) 243 #define set_Mux_sel(node, sel) set_Mux_sel_(node, sel) 244 #define get_Mux_false(node) get_Mux_false_(node) 245 #define set_Mux_false(node, false_) set_Mux_false_(node, false_) 246 #define get_Mux_true(node) get_Mux_true_(node) 247 #define set_Mux_true(node, true_) set_Mux_true_(node, true_) 249 #define is_NoMem(node) is_NoMem_(node) 251 #define is_Not(node) is_Not_(node) 252 #define get_Not_op(node) get_Not_op_(node) 253 #define set_Not_op(node, op) set_Not_op_(node, op) 255 #define is_Offset(node) is_Offset_(node) 256 #define get_Offset_entity(node) get_Offset_entity_(node) 257 #define set_Offset_entity(node, entity) set_Offset_entity_(node, entity) 259 #define is_Or(node) is_Or_(node) 260 #define get_Or_left(node) get_Or_left_(node) 261 #define set_Or_left(node, left) set_Or_left_(node, left) 262 #define get_Or_right(node) get_Or_right_(node) 263 #define set_Or_right(node, right) set_Or_right_(node, right) 265 #define is_Phi(node) is_Phi_(node) 266 #define get_Phi_loop(node) get_Phi_loop_(node) 267 #define set_Phi_loop(node, loop) set_Phi_loop_(node, loop) 268 #define get_Phi_n_preds(node) get_Phi_n_preds_(node) 269 #define get_Phi_pred(node, pos) get_Phi_pred_(node, pos) 270 #define set_Phi_pred(node, pos, pred) set_Phi_pred_(node, pos, pred) 271 #define get_Phi_pred_arr(node) get_Phi_pred_arr_(node) 273 #define is_Pin(node) is_Pin_(node) 274 #define get_Pin_op(node) get_Pin_op_(node) 275 #define set_Pin_op(node, op) set_Pin_op_(node, op) 277 #define is_Proj(node) is_Proj_(node) 278 #define get_Proj_num(node) get_Proj_num_(node) 279 #define set_Proj_num(node, num) set_Proj_num_(node, num) 280 #define get_Proj_pred(node) get_Proj_pred_(node) 281 #define set_Proj_pred(node, pred) set_Proj_pred_(node, pred) 283 #define is_Raise(node) is_Raise_(node) 284 #define get_Raise_mem(node) get_Raise_mem_(node) 285 #define set_Raise_mem(node, mem) set_Raise_mem_(node, mem) 286 #define get_Raise_exo_ptr(node) get_Raise_exo_ptr_(node) 287 #define set_Raise_exo_ptr(node, exo_ptr) set_Raise_exo_ptr_(node, exo_ptr) 289 #define is_Return(node) is_Return_(node) 290 #define get_Return_mem(node) get_Return_mem_(node) 291 #define set_Return_mem(node, mem) set_Return_mem_(node, mem) 292 #define get_Return_n_ress(node) get_Return_n_ress_(node) 293 #define get_Return_res(node, pos) get_Return_res_(node, pos) 294 #define set_Return_res(node, pos, res) set_Return_res_(node, pos, res) 295 #define get_Return_res_arr(node) get_Return_res_arr_(node) 297 #define is_Sel(node) is_Sel_(node) 298 #define get_Sel_type(node) get_Sel_type_(node) 299 #define set_Sel_type(node, type) set_Sel_type_(node, type) 300 #define get_Sel_ptr(node) get_Sel_ptr_(node) 301 #define set_Sel_ptr(node, ptr) set_Sel_ptr_(node, ptr) 302 #define get_Sel_index(node) get_Sel_index_(node) 303 #define set_Sel_index(node, index) set_Sel_index_(node, index) 305 #define is_Shl(node) is_Shl_(node) 306 #define get_Shl_left(node) get_Shl_left_(node) 307 #define set_Shl_left(node, left) set_Shl_left_(node, left) 308 #define get_Shl_right(node) get_Shl_right_(node) 309 #define set_Shl_right(node, right) set_Shl_right_(node, right) 311 #define is_Shr(node) is_Shr_(node) 312 #define get_Shr_left(node) get_Shr_left_(node) 313 #define set_Shr_left(node, left) set_Shr_left_(node, left) 314 #define get_Shr_right(node) get_Shr_right_(node) 315 #define set_Shr_right(node, right) set_Shr_right_(node, right) 317 #define is_Shrs(node) is_Shrs_(node) 318 #define get_Shrs_left(node) get_Shrs_left_(node) 319 #define set_Shrs_left(node, left) set_Shrs_left_(node, left) 320 #define get_Shrs_right(node) get_Shrs_right_(node) 321 #define set_Shrs_right(node, right) set_Shrs_right_(node, right) 323 #define is_Size(node) is_Size_(node) 324 #define get_Size_type(node) get_Size_type_(node) 325 #define set_Size_type(node, type) set_Size_type_(node, type) 327 #define is_Start(node) is_Start_(node) 329 #define is_Store(node) is_Store_(node) 330 #define get_Store_type(node) get_Store_type_(node) 331 #define set_Store_type(node, type) set_Store_type_(node, type) 332 #define get_Store_volatility(node) get_Store_volatility_(node) 333 #define set_Store_volatility(node, volatility) set_Store_volatility_(node, volatility) 334 #define get_Store_unaligned(node) get_Store_unaligned_(node) 335 #define set_Store_unaligned(node, unaligned) set_Store_unaligned_(node, unaligned) 336 #define get_Store_mem(node) get_Store_mem_(node) 337 #define set_Store_mem(node, mem) set_Store_mem_(node, mem) 338 #define get_Store_ptr(node) get_Store_ptr_(node) 339 #define set_Store_ptr(node, ptr) set_Store_ptr_(node, ptr) 340 #define get_Store_value(node) get_Store_value_(node) 341 #define set_Store_value(node, value) set_Store_value_(node, value) 343 #define is_Sub(node) is_Sub_(node) 344 #define get_Sub_left(node) get_Sub_left_(node) 345 #define set_Sub_left(node, left) set_Sub_left_(node, left) 346 #define get_Sub_right(node) get_Sub_right_(node) 347 #define set_Sub_right(node, right) set_Sub_right_(node, right) 349 #define is_Switch(node) is_Switch_(node) 350 #define get_Switch_n_outs(node) get_Switch_n_outs_(node) 351 #define set_Switch_n_outs(node, n_outs) set_Switch_n_outs_(node, n_outs) 352 #define get_Switch_table(node) get_Switch_table_(node) 353 #define set_Switch_table(node, table) set_Switch_table_(node, table) 354 #define get_Switch_selector(node) get_Switch_selector_(node) 355 #define set_Switch_selector(node, selector) set_Switch_selector_(node, selector) 357 #define is_Sync(node) is_Sync_(node) 358 #define get_Sync_n_preds(node) get_Sync_n_preds_(node) 359 #define get_Sync_pred(node, pos) get_Sync_pred_(node, pos) 360 #define set_Sync_pred(node, pos, pred) set_Sync_pred_(node, pos, pred) 361 #define get_Sync_pred_arr(node) get_Sync_pred_arr_(node) 363 #define is_Tuple(node) is_Tuple_(node) 364 #define get_Tuple_n_preds(node) get_Tuple_n_preds_(node) 365 #define get_Tuple_pred(node, pos) get_Tuple_pred_(node, pos) 366 #define set_Tuple_pred(node, pos, pred) set_Tuple_pred_(node, pos, pred) 367 #define get_Tuple_pred_arr(node) get_Tuple_pred_arr_(node) 369 #define is_Unknown(node) is_Unknown_(node) 372 #define is_entconst(node) is_entconst_(node) 373 #define get_entconst_entity(node) get_entconst_entity_(node) 374 #define set_entconst_entity(node, entity) set_entconst_entity_(node, entity) 375 #define is_typeconst(node) is_typeconst_(node) 376 #define get_typeconst_type(node) get_typeconst_type_(node) 377 #define set_typeconst_type(node, type) set_typeconst_type_(node, type) 378 static inline int is_ASM_(
const ir_node *node)
394 static inline int get_ASM_n_inputs_(
ir_node const *node)
400 static inline ir_node *get_ASM_input_(
ir_node const *node,
int pos)
406 static inline void set_ASM_input_(
ir_node *node,
int pos,
ir_node *input)
415 return get_irn_in(node) + (
n_ASM_max + 1);
418 static inline int is_Add_(
const ir_node *node)
446 static inline int is_Address_(
const ir_node *node)
450 static inline int is_Align_(
const ir_node *node)
454 static inline int is_Alloc_(
const ir_node *node)
482 static inline int is_Anchor_(
const ir_node *node)
492 static inline void set_Anchor_end_block_(
ir_node *node,
ir_node *end_block)
498 static inline ir_node *get_Anchor_start_block_(
const ir_node *node)
504 static inline void set_Anchor_start_block_(
ir_node *node,
ir_node *start_block)
528 static inline void set_Anchor_start_(
ir_node *node,
ir_node *start)
540 static inline void set_Anchor_frame_(
ir_node *node,
ir_node *frame)
546 static inline ir_node *get_Anchor_initial_mem_(
const ir_node *node)
552 static inline void set_Anchor_initial_mem_(
ir_node *node,
ir_node *initial_mem)
576 static inline void set_Anchor_no_mem_(
ir_node *node,
ir_node *no_mem)
582 static inline int is_And_(
const ir_node *node)
610 static inline int is_Bad_(
const ir_node *node)
614 static inline int is_Bitcast_(
const ir_node *node)
630 static inline int is_Block_(
const ir_node *node)
634 static inline int get_Block_n_cfgpreds_(
ir_node const *node)
640 static inline ir_node *get_Block_cfgpred_(
ir_node const *node,
int pos)
646 static inline void set_Block_cfgpred_(
ir_node *node,
int pos,
ir_node *cfgpred)
655 return get_irn_in(node);
658 static inline int is_Builtin_(
const ir_node *node)
674 static inline int get_Builtin_n_params_(
ir_node const *node)
680 static inline ir_node *get_Builtin_param_(
ir_node const *node,
int pos)
686 static inline void set_Builtin_param_(
ir_node *node,
int pos,
ir_node *param)
698 static inline int is_Call_(
const ir_node *node)
726 static inline int get_Call_n_params_(
ir_node const *node)
732 static inline ir_node *get_Call_param_(
ir_node const *node,
int pos)
738 static inline void set_Call_param_(
ir_node *node,
int pos,
ir_node *param)
750 static inline int is_Cmp_(
const ir_node *node)
778 static inline int is_Cond_(
const ir_node *node)
788 static inline void set_Cond_selector_(
ir_node *node,
ir_node *selector)
794 static inline int is_Confirm_(
const ir_node *node)
804 static inline void set_Confirm_value_(
ir_node *node,
ir_node *value)
816 static inline void set_Confirm_bound_(
ir_node *node,
ir_node *bound)
822 static inline int is_Const_(
const ir_node *node)
826 static inline int is_Conv_(
const ir_node *node)
842 static inline int is_CopyB_(
const ir_node *node)
882 static inline int is_Deleted_(
const ir_node *node)
886 static inline int is_Div_(
const ir_node *node)
926 static inline int is_Dummy_(
const ir_node *node)
930 static inline int is_End_(
const ir_node *node)
934 static inline int get_End_n_keepalives_(
ir_node const *node)
940 static inline ir_node *get_End_keepalive_(
ir_node const *node,
int pos)
946 static inline void set_End_keepalive_(
ir_node *node,
int pos,
ir_node *keepalive)
955 return get_irn_in(node);
958 static inline int is_Eor_(
const ir_node *node)
986 static inline int is_Free_(
const ir_node *node)
1014 static inline int is_IJmp_(
const ir_node *node)
1024 static inline void set_IJmp_target_(
ir_node *node,
ir_node *target)
1030 static inline int is_Id_(
const ir_node *node)
1036 assert(
is_Id(node));
1042 assert(
is_Id(node));
1046 static inline int is_Jmp_(
const ir_node *node)
1050 static inline int is_Load_(
const ir_node *node)
1078 static inline int is_Member_(
const ir_node *node)
1094 static inline int is_Minus_(
const ir_node *node)
1110 static inline int is_Mod_(
const ir_node *node)
1150 static inline int is_Mul_(
const ir_node *node)
1178 static inline int is_Mulh_(
const ir_node *node)
1200 static inline void set_Mulh_right_(
ir_node *node,
ir_node *right)
1206 static inline int is_Mux_(
const ir_node *node)
1228 static inline void set_Mux_false_(
ir_node *node,
ir_node *false_)
1246 static inline int is_NoMem_(
const ir_node *node)
1250 static inline int is_Not_(
const ir_node *node)
1266 static inline int is_Offset_(
const ir_node *node)
1270 static inline int is_Or_(
const ir_node *node)
1276 assert(
is_Or(node));
1282 assert(
is_Or(node));
1288 assert(
is_Or(node));
1294 assert(
is_Or(node));
1298 static inline int is_Phi_(
const ir_node *node)
1302 static inline int get_Phi_n_preds_(
ir_node const *node)
1308 static inline ir_node *get_Phi_pred_(
ir_node const *node,
int pos)
1314 static inline void set_Phi_pred_(
ir_node *node,
int pos,
ir_node *pred)
1323 return get_irn_in(node);
1326 static inline int is_Pin_(
const ir_node *node)
1342 static inline int is_Proj_(
const ir_node *node)
1358 static inline int is_Raise_(
const ir_node *node)
1380 static inline void set_Raise_exo_ptr_(
ir_node *node,
ir_node *exo_ptr)
1386 static inline int is_Return_(
const ir_node *node)
1402 static inline int get_Return_n_ress_(
ir_node const *node)
1408 static inline ir_node *get_Return_res_(
ir_node const *node,
int pos)
1414 static inline void set_Return_res_(
ir_node *node,
int pos,
ir_node *res)
1426 static inline int is_Sel_(
const ir_node *node)
1454 static inline int is_Shl_(
const ir_node *node)
1482 static inline int is_Shr_(
const ir_node *node)
1510 static inline int is_Shrs_(
const ir_node *node)
1532 static inline void set_Shrs_right_(
ir_node *node,
ir_node *right)
1538 static inline int is_Size_(
const ir_node *node)
1542 static inline int is_Start_(
const ir_node *node)
1546 static inline int is_Store_(
const ir_node *node)
1580 static inline void set_Store_value_(
ir_node *node,
ir_node *value)
1586 static inline int is_Sub_(
const ir_node *node)
1614 static inline int is_Switch_(
const ir_node *node)
1624 static inline void set_Switch_selector_(
ir_node *node,
ir_node *selector)
1630 static inline int is_Sync_(
const ir_node *node)
1634 static inline int get_Sync_n_preds_(
ir_node const *node)
1640 static inline ir_node *get_Sync_pred_(
ir_node const *node,
int pos)
1646 static inline void set_Sync_pred_(
ir_node *node,
int pos,
ir_node *pred)
1655 return get_irn_in(node);
1658 static inline int is_Tuple_(
const ir_node *node)
1662 static inline int get_Tuple_n_preds_(
ir_node const *node)
1668 static inline ir_node *get_Tuple_pred_(
ir_node const *node,
int pos)
1674 static inline void set_Tuple_pred_(
ir_node *node,
int pos,
ir_node *pred)
1683 return get_irn_in(node);
1686 static inline int is_Unknown_(
const ir_node *node)
1690 static inline int is_entconst_(
const ir_node *node)
1696 static inline int is_typeconst_(
const ir_node *node)
1705 return node->attr.assem.input_constraints;
1711 node->attr.assem.input_constraints = input_constraints;
1717 return node->attr.assem.output_constraints;
1723 node->attr.assem.output_constraints = output_constraints;
1726 static inline ident** get_ASM_clobbers_(
const ir_node *node)
1729 return node->attr.assem.clobbers;
1732 static inline void set_ASM_clobbers_(
ir_node *node,
ident** clobbers)
1735 node->attr.assem.clobbers = clobbers;
1738 static inline ident* get_ASM_text_(
const ir_node *node)
1741 return node->attr.assem.text;
1744 static inline void set_ASM_text_(
ir_node *node,
ident* text)
1747 node->attr.assem.text = text;
1753 return node->attr.entc.entity;
1759 node->attr.entc.entity = entity;
1765 return node->attr.typec.type;
1771 node->attr.typec.type = type;
1774 static inline unsigned get_Alloc_alignment_(
const ir_node *node)
1777 return node->attr.alloc.alignment;
1780 static inline void set_Alloc_alignment_(
ir_node *node,
unsigned alignment)
1783 node->attr.alloc.alignment = alignment;
1789 return node->attr.block.entity;
1795 node->attr.block.entity = entity;
1801 return node->attr.builtin.kind;
1807 node->attr.builtin.kind = kind;
1813 return node->attr.builtin.type;
1816 static inline void set_Builtin_type_(
ir_node *node,
ir_type* type)
1819 node->attr.builtin.type = type;
1825 return node->attr.call.type;
1831 node->attr.call.type = type;
1837 return node->attr.cmp.relation;
1843 node->attr.cmp.relation = relation;
1849 return node->attr.cond.jmp_pred;
1855 node->attr.cond.jmp_pred = jmp_pred;
1861 return node->attr.confirm.relation;
1867 node->attr.confirm.relation = relation;
1873 return node->attr.con.tarval;
1879 node->attr.con.tarval = tarval;
1885 return node->attr.copyb.type;
1891 node->attr.copyb.type = type;
1894 static inline ir_volatility get_CopyB_volatility_(
const ir_node *node)
1897 return node->attr.copyb.volatility;
1900 static inline void set_CopyB_volatility_(
ir_node *node, ir_volatility volatility)
1903 node->attr.copyb.volatility = volatility;
1909 return node->attr.div.resmode;
1912 static inline void set_Div_resmode_(
ir_node *node,
ir_mode* resmode)
1915 node->attr.div.resmode = resmode;
1918 static inline int get_Div_no_remainder_(
const ir_node *node)
1921 return node->attr.div.no_remainder;
1924 static inline void set_Div_no_remainder_(
ir_node *node,
int no_remainder)
1927 node->attr.div.no_remainder = no_remainder;
1933 return node->attr.load.mode;
1939 node->attr.load.mode = mode;
1945 return node->attr.load.type;
1951 node->attr.load.type = type;
1954 static inline ir_volatility get_Load_volatility_(
const ir_node *node)
1957 return node->attr.load.volatility;
1960 static inline void set_Load_volatility_(
ir_node *node, ir_volatility volatility)
1963 node->attr.load.volatility = volatility;
1966 static inline ir_align get_Load_unaligned_(
const ir_node *node)
1969 return node->attr.load.unaligned;
1972 static inline void set_Load_unaligned_(
ir_node *node, ir_align unaligned)
1975 node->attr.load.unaligned = unaligned;
1981 return node->attr.member.entity;
1987 node->attr.member.entity = entity;
1993 return node->attr.mod.resmode;
1996 static inline void set_Mod_resmode_(
ir_node *node,
ir_mode* resmode)
1999 node->attr.mod.resmode = resmode;
2005 return node->attr.entc.entity;
2011 node->attr.entc.entity = entity;
2014 static inline int get_Phi_loop_(
const ir_node *node)
2017 return node->attr.phi.loop;
2020 static inline void set_Phi_loop_(
ir_node *node,
int loop)
2023 node->attr.phi.loop = loop;
2026 static inline unsigned get_Proj_num_(
const ir_node *node)
2029 return node->attr.proj.num;
2032 static inline void set_Proj_num_(
ir_node *node,
unsigned num)
2035 node->attr.proj.num = num;
2041 return node->attr.sel.type;
2047 node->attr.sel.type = type;
2053 return node->attr.typec.type;
2059 node->attr.typec.type = type;
2065 return node->attr.store.type;
2071 node->attr.store.type = type;
2074 static inline ir_volatility get_Store_volatility_(
const ir_node *node)
2077 return node->attr.store.volatility;
2080 static inline void set_Store_volatility_(
ir_node *node, ir_volatility volatility)
2083 node->attr.store.volatility = volatility;
2086 static inline ir_align get_Store_unaligned_(
const ir_node *node)
2089 return node->attr.store.unaligned;
2092 static inline void set_Store_unaligned_(
ir_node *node, ir_align unaligned)
2095 node->attr.store.unaligned = unaligned;
2098 static inline unsigned get_Switch_n_outs_(
const ir_node *node)
2101 return node->attr.switcha.n_outs;
2104 static inline void set_Switch_n_outs_(
ir_node *node,
unsigned n_outs)
2107 node->attr.switcha.n_outs = n_outs;
2113 return node->attr.switcha.table;
2119 node->attr.switcha.table = table;
2125 return node->attr.entc.entity;
2131 node->attr.entc.entity = entity;
2137 return node->attr.typec.type;
2140 static inline void set_typeconst_type_(
ir_node *node,
ir_type* type)
2143 node->attr.typec.type = type;
2145 void ir_init_opcodes(
void);
2146 void ir_finish_opcodes(
void);
value to express a constraint for
int is_Align(const ir_node *node)
Test if node is a Align.
the value which is returned unchanged
int is_Add(const ir_node *node)
Test if node is a Add.
start node of this ir_graph
void set_irn_n(ir_node *node, int n, ir_node *in)
Replaces the n-th predecessor of a node with a new one.
int is_Minus(const ir_node *node)
Test if node is a Minus.
int is_Builtin(const ir_node *node)
Test if node is a Builtin.
const char ident
Identifier.
int is_Shrs(const ir_node *node)
Test if node is a Shrs.
ir_node * get_irn_n(const ir_node *node, int n)
Returns the n-th predecessor of a node.
int is_IJmp(const ir_node *node)
Test if node is a IJmp.
ir_op * op_Div
Div opcode.
selected if sel input is true
int is_Call(const ir_node *node)
Test if node is a Call.
ir_op * op_Shr
Shr opcode.
int is_Load(const ir_node *node)
Test if node is a Load.
int is_Sub(const ir_node *node)
Test if node is a Sub.
ir_op * op_Sub
Sub opcode.
ir_op * op_Cmp
Cmp opcode.
ir_op * op_Bad
Bad opcode.
int is_Conv(const ir_node *node)
Test if node is a Conv.
int is_Cmp(const ir_node *node)
Test if node is a Cmp.
end node of this ir_graph
ir_op * op_Alloc
Alloc opcode.
int is_Raise(const ir_node *node)
Test if node is a Raise.
ir_op * op_Block
Block opcode.
int get_irn_arity(const ir_node *node)
Returns the number of predecessors without the block predecessor.
ir_op * op_And
And opcode.
argument proj of the start node
ir_op * op_Tuple
Tuple opcode.
int is_Alloc(const ir_node *node)
Test if node is a Alloc.
int is_End(const ir_node *node)
Test if node is a End.
ir_op * op_Jmp
Jmp opcode.
int is_Or(const ir_node *node)
Test if node is a Or.
ir_op * op_Raise
Raise opcode.
ir_op * op_Mux
Mux opcode.
ir_op * op_Sel
Sel opcode.
int is_Phi(const ir_node *node)
Test if node is a Phi.
ir_op * op_Shl
Shl opcode.
ir_op * op_Sync
Sync opcode.
int is_Shl(const ir_node *node)
Test if node is a Shl.
ir_op * op_Cond
Cond opcode.
ir_op * op_Address
Address opcode.
struct ir_type ir_type
Type.
ir_op * op_Dummy
Dummy opcode.
int is_Proj(const ir_node *node)
Test if node is a Proj.
int is_Anchor(const ir_node *node)
Test if node is a Anchor.
int get_Sync_n_preds(ir_node const *node)
Get the number of Sync preds.
struct ir_tarval ir_tarval
Target Machine Value.
int is_And(const ir_node *node)
Test if node is a And.
int get_End_n_keepalives(ir_node const *node)
Get the number of End keepalives.
ir_op * op_Minus
Minus opcode.
ir_op * get_irn_op(const ir_node *node)
Returns the opcode struct of the node.
int is_Size(const ir_node *node)
Test if node is a Size.
int is_Cond(const ir_node *node)
Test if node is a Cond.
initial memory of this ir_graph
ir_op * op_CopyB
CopyB opcode.
int is_Mod(const ir_node *node)
Test if node is a Mod.
int get_Phi_n_preds(ir_node const *node)
Get the number of Phi preds.
ir_op * op_Free
Free opcode.
int is_typeconst(const ir_node *node)
Test if node is a typeconst.
int is_Block(const ir_node *node)
Test if node is a Block.
int is_Tuple(const ir_node *node)
Test if node is a Tuple.
int get_Builtin_n_params(ir_node const *node)
Get the number of Builtin params.
ir_op * op_Deleted
Deleted opcode.
int is_Store(const ir_node *node)
Test if node is a Store.
int is_CopyB(const ir_node *node)
Test if node is a CopyB.
struct ir_switch_table ir_switch_table
A switch table mapping integer numbers to proj-numbers of a Switch-node.
ir_op * op_Align
Align opcode.
int is_Sync(const ir_node *node)
Test if node is a Sync.
int is_Pin(const ir_node *node)
Test if node is a Pin.
int is_Free(const ir_node *node)
Test if node is a Free.
int is_Div(const ir_node *node)
Test if node is a Div.
A input/output constraint attribute.
ir_op * op_Conv
Conv opcode.
ir_op * op_Shrs
Shrs opcode.
target address of the jump
ir_op * op_NoMem
NoMem opcode.
ir_op * op_Anchor
Anchor opcode.
ir_builtin_kind
Supported libFirm builtins.
ir_op * op_Proj
Proj opcode.
int is_Member(const ir_node *node)
Test if node is a Member.
int is_Not(const ir_node *node)
Test if node is a Not.
ir_op * op_Call
Call opcode.
ir_relation
Relations for comparing numbers.
int get_Call_n_params(ir_node const *node)
Get the number of Call params.
int get_Return_n_ress(ir_node const *node)
Get the number of Return ress.
selected if sel input is false
ir_op * op_Load
Load opcode.
int is_Offset(const ir_node *node)
Test if node is a Offset.
the tuple value from which a part is extracted
ir_op * op_End
End opcode.
int is_entconst(const ir_node *node)
Test if node is a entconst.
ir_op * op_Add
Add opcode.
cond_jmp_predicate
A type to express conditional jump predictions.
ir_op * op_Unknown
Unknown opcode.
ir_op * op_Mulh
Mulh opcode.
block the end node belongs to
ir_op * op_Switch
Switch opcode.
ir_op * op_Builtin
Builtin opcode.
int get_ASM_n_inputs(ir_node const *node)
Get the number of ASM inputs.
ir_op * op_Return
Return opcode.
pointer to object to select from
struct ir_mode ir_mode
SSA Value mode.
ir_op * op_Mul
Mul opcode.
int is_Address(const ir_node *node)
Test if node is a Address.
ir_op * op_Member
Member opcode.
int is_Bitcast(const ir_node *node)
Test if node is a Bitcast.
int is_Switch(const ir_node *node)
Test if node is a Switch.
pointer to the object to free
ir_op * op_Pin
Pin opcode.
int is_Mulh(const ir_node *node)
Test if node is a Mulh.
ir_op * op_Start
Start opcode.
int is_Confirm(const ir_node *node)
Test if node is a Confirm.
int get_Block_n_cfgpreds(ir_node const *node)
Get the number of Block cfgpreds.
int is_Return(const ir_node *node)
Test if node is a Return.
ir_op * op_Eor
Eor opcode.
ir_op * op_IJmp
IJmp opcode.
pointer to exception object to be thrown
int is_ASM(const ir_node *node)
Test if node is a ASM.
value making the output selection
int get_Tuple_n_preds(ir_node const *node)
Get the number of Tuple preds.
int is_Sel(const ir_node *node)
Test if node is a Sel.
ir_op * op_Bitcast
Bitcast opcode.
struct ir_entity ir_entity
Entity.
struct ir_node ir_node
Procedure Graph Node.
ir_op * op_Not
Not opcode.
ir_op * op_Const
Const opcode.
int is_Shr(const ir_node *node)
Test if node is a Shr.
int is_Id(const ir_node *node)
Test if node is a Id.
the only NoMem node of this ir_graph
block the start node belongs to
ir_op * op_ASM
ASM opcode.
ir_op * op_Phi
Phi opcode.
pointer to array to select from
size of the block in bytes
int is_Const(const ir_node *node)
Test if node is a Const.
ir_op * op_Size
Size opcode.
ir_op * op_Offset
Offset opcode.
int is_Eor(const ir_node *node)
Test if node is a Eor.
ir_op * op_Confirm
Confirm opcode.
int is_Mux(const ir_node *node)
Test if node is a Mux.
int is_Mul(const ir_node *node)
Test if node is a Mul.
ir_op * op_Store
Store opcode.
ir_op * op_Mod
Mod opcode.