libFirm
gen_irnode.c
1 /* Warning: Automatically generated file */
2 #include <assert.h>
3 
4 #include "irnode_t.h"
5 #include "irop_t.h"
6 #include "irverify_t.h"
7 #include "iropt_t.h"
8 #include "ircons_t.h"
9 #include "irgraph_t.h"
10 #include "irbackedge_t.h"
11 #include "irgopt.h"
12 #include "util.h"
13 
14 
15 
16 
17 
18 ir_node *(get_ASM_mem)(const ir_node *node)
19 {
20  return get_ASM_mem(node);
21 }
22 
23 void (set_ASM_mem)(ir_node *node, ir_node *mem)
24 {
25  set_ASM_mem_(node, mem);
26 }
27 
28 int (get_ASM_n_inputs)(ir_node const *node)
29 {
30  return get_ASM_n_inputs_(node);
31 }
32 
33 ir_node *(get_ASM_input)(ir_node const *node, int pos)
34 {
35  return get_ASM_input_(node, pos);
36 }
37 
38 void (set_ASM_input)(ir_node *node, int pos, ir_node *input)
39 {
40  set_ASM_input_(node, pos, input);
41 }
42 
44 {
45  return get_ASM_input_arr_(node);
46 }
47 ir_op *op_ASM;
49 {
50  return op_ASM;
51 }
52 
53 ir_node *new_rd_Add(dbg_info *dbgi, ir_node *block, ir_node * irn_left, ir_node * irn_right)
54 {
55 
56  ir_graph *irg = get_irn_irg(block);
57 
58  ir_node *in[2];
59  in[0] = irn_left;
60  in[1] = irn_right;
61 
62  ir_node *res = new_ir_node(dbgi, irg, block, op_Add, get_irn_mode(mode_is_reference(get_irn_mode(irn_right)) ? irn_right : irn_left), 2, in);
63 
64  verify_new_node(res);
65  res = optimize_node(res);
66  return res;
67 }
68 
69 ir_node *new_r_Add(ir_node *block, ir_node * irn_left, ir_node * irn_right)
70 {
71  return new_rd_Add(NULL, block, irn_left, irn_right);
72 }
73 
74 ir_node *new_d_Add(dbg_info *dbgi, ir_node * irn_left, ir_node * irn_right)
75 {
77  ir_node *res = new_rd_Add(dbgi, get_cur_block(), irn_left, irn_right);
78  return res;
79 }
80 
81 ir_node *new_Add(ir_node * irn_left, ir_node * irn_right)
82 {
83  return new_d_Add(NULL, irn_left, irn_right);
84 }
85 
86 ir_node *(get_Add_left)(const ir_node *node)
87 {
88  return get_Add_left(node);
89 }
90 
91 void (set_Add_left)(ir_node *node, ir_node *left)
92 {
93  set_Add_left_(node, left);
94 }
95 
96 ir_node *(get_Add_right)(const ir_node *node)
97 {
98  return get_Add_right(node);
99 }
100 
101 void (set_Add_right)(ir_node *node, ir_node *right)
102 {
103  set_Add_right_(node, right);
104 }
105 ir_op *op_Add;
107 {
108  return op_Add;
109 }
110 
112 {
113  ir_node *block = get_irg_start_block(irg);
114 
115 
116 
117  ir_node *res = new_ir_node(dbgi, irg, block, op_Address, mode_P, 0, NULL);
118  entconst_attr *attr = &res->attr.entc;
119  attr->entity = entity;
120  verify_new_node(res);
121  res = optimize_node(res);
122  return res;
123 }
124 
126 {
127  return new_rd_Address(NULL, irg, entity);
128 }
129 
131 {
133  ir_node *res = new_rd_Address(dbgi, current_ir_graph, entity);
134  return res;
135 }
136 
138 {
139  return new_d_Address(NULL, entity);
140 }
143 {
144  return op_Address;
145 }
146 
147 ir_node *new_rd_Align(dbg_info *dbgi, ir_graph *irg, ir_mode * mode, ir_type* type)
148 {
149  ir_node *block = get_irg_start_block(irg);
150 
151 
152 
153  ir_node *res = new_ir_node(dbgi, irg, block, op_Align, mode, 0, NULL);
154  typeconst_attr *attr = &res->attr.typec;
155  attr->type = type;
156  verify_new_node(res);
157  res = optimize_node(res);
158  return res;
159 }
160 
162 {
163  return new_rd_Align(NULL, irg, mode, type);
164 }
165 
167 {
169  ir_node *res = new_rd_Align(dbgi, current_ir_graph, mode, type);
170  return res;
171 }
172 
174 {
175  return new_d_Align(NULL, mode, type);
176 }
177 ir_op *op_Align;
179 {
180  return op_Align;
181 }
182 
183 ir_node *new_rd_Alloc(dbg_info *dbgi, ir_node *block, ir_node * irn_mem, ir_node * irn_size, unsigned alignment)
184 {
185 
186  ir_graph *irg = get_irn_irg(block);
187 
188  ir_node *in[2];
189  in[0] = irn_mem;
190  in[1] = irn_size;
191 
192  ir_node *res = new_ir_node(dbgi, irg, block, op_Alloc, mode_T, 2, in);
193  alloc_attr *attr = &res->attr.alloc;
194  attr->alignment = alignment;
195  verify_new_node(res);
196  res = optimize_node(res);
197  return res;
198 }
199 
200 ir_node *new_r_Alloc(ir_node *block, ir_node * irn_mem, ir_node * irn_size, unsigned alignment)
201 {
202  return new_rd_Alloc(NULL, block, irn_mem, irn_size, alignment);
203 }
204 
205 ir_node *new_d_Alloc(dbg_info *dbgi, ir_node * irn_mem, ir_node * irn_size, unsigned alignment)
206 {
208  ir_node *res = new_rd_Alloc(dbgi, get_cur_block(), irn_mem, irn_size, alignment);
209  return res;
210 }
211 
212 ir_node *new_Alloc(ir_node * irn_mem, ir_node * irn_size, unsigned alignment)
213 {
214  return new_d_Alloc(NULL, irn_mem, irn_size, alignment);
215 }
216 
218 {
219  return get_Alloc_mem(node);
220 }
221 
222 void (set_Alloc_mem)(ir_node *node, ir_node *mem)
223 {
224  set_Alloc_mem_(node, mem);
225 }
226 
228 {
229  return get_Alloc_size(node);
230 }
231 
232 void (set_Alloc_size)(ir_node *node, ir_node *size)
233 {
234  set_Alloc_size_(node, size);
235 }
236 ir_op *op_Alloc;
238 {
239  return op_Alloc;
240 }
241 
243 {
244  return get_Anchor_end_block(node);
245 }
246 
247 void (set_Anchor_end_block)(ir_node *node, ir_node *end_block)
248 {
249  set_Anchor_end_block_(node, end_block);
250 }
251 
253 {
254  return get_Anchor_start_block(node);
255 }
256 
257 void (set_Anchor_start_block)(ir_node *node, ir_node *start_block)
258 {
259  set_Anchor_start_block_(node, start_block);
260 }
261 
263 {
264  return get_Anchor_end(node);
265 }
266 
267 void (set_Anchor_end)(ir_node *node, ir_node *end)
268 {
269  set_Anchor_end_(node, end);
270 }
271 
273 {
274  return get_Anchor_start(node);
275 }
276 
277 void (set_Anchor_start)(ir_node *node, ir_node *start)
278 {
279  set_Anchor_start_(node, start);
280 }
281 
283 {
284  return get_Anchor_frame(node);
285 }
286 
287 void (set_Anchor_frame)(ir_node *node, ir_node *frame)
288 {
289  set_Anchor_frame_(node, frame);
290 }
291 
293 {
294  return get_Anchor_initial_mem(node);
295 }
296 
297 void (set_Anchor_initial_mem)(ir_node *node, ir_node *initial_mem)
298 {
299  set_Anchor_initial_mem_(node, initial_mem);
300 }
301 
303 {
304  return get_Anchor_args(node);
305 }
306 
307 void (set_Anchor_args)(ir_node *node, ir_node *args)
308 {
309  set_Anchor_args_(node, args);
310 }
311 
313 {
314  return get_Anchor_no_mem(node);
315 }
316 
317 void (set_Anchor_no_mem)(ir_node *node, ir_node *no_mem)
318 {
319  set_Anchor_no_mem_(node, no_mem);
320 }
323 {
324  return op_Anchor;
325 }
326 
327 ir_node *new_rd_And(dbg_info *dbgi, ir_node *block, ir_node * irn_left, ir_node * irn_right)
328 {
329 
330  ir_graph *irg = get_irn_irg(block);
331 
332  ir_node *in[2];
333  in[0] = irn_left;
334  in[1] = irn_right;
335 
336  ir_node *res = new_ir_node(dbgi, irg, block, op_And, get_irn_mode(irn_left), 2, in);
337 
338  verify_new_node(res);
339  res = optimize_node(res);
340  return res;
341 }
342 
343 ir_node *new_r_And(ir_node *block, ir_node * irn_left, ir_node * irn_right)
344 {
345  return new_rd_And(NULL, block, irn_left, irn_right);
346 }
347 
348 ir_node *new_d_And(dbg_info *dbgi, ir_node * irn_left, ir_node * irn_right)
349 {
351  ir_node *res = new_rd_And(dbgi, get_cur_block(), irn_left, irn_right);
352  return res;
353 }
354 
355 ir_node *new_And(ir_node * irn_left, ir_node * irn_right)
356 {
357  return new_d_And(NULL, irn_left, irn_right);
358 }
359 
360 ir_node *(get_And_left)(const ir_node *node)
361 {
362  return get_And_left(node);
363 }
364 
365 void (set_And_left)(ir_node *node, ir_node *left)
366 {
367  set_And_left_(node, left);
368 }
369 
371 {
372  return get_And_right(node);
373 }
374 
375 void (set_And_right)(ir_node *node, ir_node *right)
376 {
377  set_And_right_(node, right);
378 }
379 ir_op *op_And;
381 {
382  return op_And;
383 }
384 
386 {
387  ir_node *block = get_irg_start_block(irg);
388 
389 
390 
391  ir_node *res = new_ir_node(dbgi, irg, block, op_Bad, mode, 0, NULL);
392 
393  verify_new_node(res);
394  res = optimize_node(res);
395  return res;
396 }
397 
399 {
400  return new_rd_Bad(NULL, irg, mode);
401 }
402 
404 {
406  ir_node *res = new_rd_Bad(dbgi, current_ir_graph, mode);
407  return res;
408 }
409 
411 {
412  return new_d_Bad(NULL, mode);
413 }
414 ir_op *op_Bad;
416 {
417  return op_Bad;
418 }
419 
420 ir_node *new_rd_Bitcast(dbg_info *dbgi, ir_node *block, ir_node * irn_op, ir_mode * mode)
421 {
422 
423  ir_graph *irg = get_irn_irg(block);
424 
425  ir_node *in[1];
426  in[0] = irn_op;
427 
428  ir_node *res = new_ir_node(dbgi, irg, block, op_Bitcast, mode, 1, in);
429 
430  verify_new_node(res);
431  res = optimize_node(res);
432  return res;
433 }
434 
435 ir_node *new_r_Bitcast(ir_node *block, ir_node * irn_op, ir_mode * mode)
436 {
437  return new_rd_Bitcast(NULL, block, irn_op, mode);
438 }
439 
440 ir_node *new_d_Bitcast(dbg_info *dbgi, ir_node * irn_op, ir_mode * mode)
441 {
443  ir_node *res = new_rd_Bitcast(dbgi, get_cur_block(), irn_op, mode);
444  return res;
445 }
446 
447 ir_node *new_Bitcast(ir_node * irn_op, ir_mode * mode)
448 {
449  return new_d_Bitcast(NULL, irn_op, mode);
450 }
451 
453 {
454  return get_Bitcast_op(node);
455 }
456 
457 void (set_Bitcast_op)(ir_node *node, ir_node *op)
458 {
459  set_Bitcast_op_(node, op);
460 }
463 {
464  return op_Bitcast;
465 }
466 
467 ir_node *new_rd_Block(dbg_info *dbgi, ir_graph *irg, int arity, ir_node *const * in)
468 {
469  ir_node *block = NULL;
470 
471 
472 
473  ir_node *res = new_ir_node(dbgi, irg, block, op_Block, mode_BB, arity, in);
474  block_attr *attr = &res->attr.block;
475  attr->entity = NULL;
476  res->attr.block.backedge = new_backedge_arr(get_irg_obstack(irg), arity);
477  set_Block_matured(res, 1);
478 
479  /* Create and initialize array for Phi-node construction. */
481  res->attr.block.graph_arr = NEW_ARR_DZ(ir_node*, get_irg_obstack(irg), irg->n_loc);
482  }
483 
484  verify_new_node(res);
485  res = optimize_node(res);
486  return res;
487 }
488 
489 ir_node *new_r_Block(ir_graph *irg, int arity, ir_node *const * in)
490 {
491  return new_rd_Block(NULL, irg, arity, in);
492 }
493 
494 ir_node *new_d_Block(dbg_info *dbgi, int arity, ir_node *const * in)
495 {
497  ir_node *res = new_rd_Block(dbgi, current_ir_graph, arity, in);
498  return res;
499 }
500 
501 ir_node *new_Block(int arity, ir_node *const * in)
502 {
503  return new_d_Block(NULL, arity, in);
504 }
505 
506 int (get_Block_n_cfgpreds)(ir_node const *node)
507 {
508  return get_Block_n_cfgpreds_(node);
509 }
510 
511 ir_node *(get_Block_cfgpred)(ir_node const *node, int pos)
512 {
513  return get_Block_cfgpred_(node, pos);
514 }
515 
516 void (set_Block_cfgpred)(ir_node *node, int pos, ir_node *cfgpred)
517 {
518  set_Block_cfgpred_(node, pos, cfgpred);
519 }
520 
522 {
523  return get_Block_cfgpred_arr_(node);
524 }
525 ir_op *op_Block;
527 {
528  return op_Block;
529 }
530 
531 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)
532 {
533 
534  ir_graph *irg = get_irn_irg(block);
535 
536  int r_arity = arity + 1;
537  ir_node **r_in= ALLOCAN(ir_node*, r_arity);
538  r_in[0] = irn_mem;
539  MEMCPY(&r_in[1], in, arity);
540 
541 
542  ir_node *res = new_ir_node(dbgi, irg, block, op_Builtin, mode_T, r_arity, r_in);
543  builtin_attr *attr = &res->attr.builtin;
544  attr->kind = kind;
545  attr->type = type;
546  attr->exc.pinned = op_pin_state_pinned;
547  assert((get_unknown_type() == type) || is_Method_type(type));
548 
549  verify_new_node(res);
550  res = optimize_node(res);
551  return res;
552 }
553 
554 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)
555 {
556  return new_rd_Builtin(NULL, block, irn_mem, arity, in, kind, type);
557 }
558 
559 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)
560 {
562  ir_node *res = new_rd_Builtin(dbgi, get_cur_block(), irn_mem, arity, in, kind, type);
563  return res;
564 }
565 
566 ir_node *new_Builtin(ir_node * irn_mem, int arity, ir_node *const * in, ir_builtin_kind kind, ir_type* type)
567 {
568  return new_d_Builtin(NULL, irn_mem, arity, in, kind, type);
569 }
570 
572 {
573  return get_Builtin_mem(node);
574 }
575 
576 void (set_Builtin_mem)(ir_node *node, ir_node *mem)
577 {
578  set_Builtin_mem_(node, mem);
579 }
580 
581 int (get_Builtin_n_params)(ir_node const *node)
582 {
583  return get_Builtin_n_params_(node);
584 }
585 
586 ir_node *(get_Builtin_param)(ir_node const *node, int pos)
587 {
588  return get_Builtin_param_(node, pos);
589 }
590 
591 void (set_Builtin_param)(ir_node *node, int pos, ir_node *param)
592 {
593  set_Builtin_param_(node, pos, param);
594 }
595 
597 {
598  return get_Builtin_param_arr_(node);
599 }
602 {
603  return op_Builtin;
604 }
605 
606 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)
607 {
608 
609  ir_graph *irg = get_irn_irg(block);
610 
611  int r_arity = arity + 2;
612  ir_node **r_in= ALLOCAN(ir_node*, r_arity);
613  r_in[0] = irn_mem;
614  r_in[1] = irn_ptr;
615  MEMCPY(&r_in[2], in, arity);
616 
617 
618  ir_node *res = new_ir_node(dbgi, irg, block, op_Call, mode_T, r_arity, r_in);
619  call_attr *attr = &res->attr.call;
620  attr->type = type;
621  attr->exc.pinned = op_pin_state_pinned;
622  attr->exc.throws_exception = false;
623  assert((get_unknown_type() == type) || is_Method_type(type));
624 
625  verify_new_node(res);
626  res = optimize_node(res);
627  return res;
628 }
629 
630 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)
631 {
632  return new_rd_Call(NULL, block, irn_mem, irn_ptr, arity, in, type);
633 }
634 
635 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)
636 {
638  ir_node *res = new_rd_Call(dbgi, get_cur_block(), irn_mem, irn_ptr, arity, in, type);
639  return res;
640 }
641 
642 ir_node *new_Call(ir_node * irn_mem, ir_node * irn_ptr, int arity, ir_node *const * in, ir_type* type)
643 {
644  return new_d_Call(NULL, irn_mem, irn_ptr, arity, in, type);
645 }
646 
647 ir_node *(get_Call_mem)(const ir_node *node)
648 {
649  return get_Call_mem(node);
650 }
651 
652 void (set_Call_mem)(ir_node *node, ir_node *mem)
653 {
654  set_Call_mem_(node, mem);
655 }
656 
657 ir_node *(get_Call_ptr)(const ir_node *node)
658 {
659  return get_Call_ptr(node);
660 }
661 
662 void (set_Call_ptr)(ir_node *node, ir_node *ptr)
663 {
664  set_Call_ptr_(node, ptr);
665 }
666 
667 int (get_Call_n_params)(ir_node const *node)
668 {
669  return get_Call_n_params_(node);
670 }
671 
672 ir_node *(get_Call_param)(ir_node const *node, int pos)
673 {
674  return get_Call_param_(node, pos);
675 }
676 
677 void (set_Call_param)(ir_node *node, int pos, ir_node *param)
678 {
679  set_Call_param_(node, pos, param);
680 }
681 
683 {
684  return get_Call_param_arr_(node);
685 }
686 ir_op *op_Call;
688 {
689  return op_Call;
690 }
691 
692 ir_node *new_rd_Cmp(dbg_info *dbgi, ir_node *block, ir_node * irn_left, ir_node * irn_right, ir_relation relation)
693 {
694 
695  ir_graph *irg = get_irn_irg(block);
696 
697  ir_node *in[2];
698  in[0] = irn_left;
699  in[1] = irn_right;
700 
701  ir_node *res = new_ir_node(dbgi, irg, block, op_Cmp, mode_b, 2, in);
702  cmp_attr *attr = &res->attr.cmp;
703  attr->relation = relation;
704  verify_new_node(res);
705  res = optimize_node(res);
706  return res;
707 }
708 
709 ir_node *new_r_Cmp(ir_node *block, ir_node * irn_left, ir_node * irn_right, ir_relation relation)
710 {
711  return new_rd_Cmp(NULL, block, irn_left, irn_right, relation);
712 }
713 
714 ir_node *new_d_Cmp(dbg_info *dbgi, ir_node * irn_left, ir_node * irn_right, ir_relation relation)
715 {
717  ir_node *res = new_rd_Cmp(dbgi, get_cur_block(), irn_left, irn_right, relation);
718  return res;
719 }
720 
721 ir_node *new_Cmp(ir_node * irn_left, ir_node * irn_right, ir_relation relation)
722 {
723  return new_d_Cmp(NULL, irn_left, irn_right, relation);
724 }
725 
726 ir_node *(get_Cmp_left)(const ir_node *node)
727 {
728  return get_Cmp_left(node);
729 }
730 
731 void (set_Cmp_left)(ir_node *node, ir_node *left)
732 {
733  set_Cmp_left_(node, left);
734 }
735 
737 {
738  return get_Cmp_right(node);
739 }
740 
741 void (set_Cmp_right)(ir_node *node, ir_node *right)
742 {
743  set_Cmp_right_(node, right);
744 }
745 ir_op *op_Cmp;
747 {
748  return op_Cmp;
749 }
750 
751 ir_node *new_rd_Cond(dbg_info *dbgi, ir_node *block, ir_node * irn_selector)
752 {
753 
754  ir_graph *irg = get_irn_irg(block);
755 
756  ir_node *in[1];
757  in[0] = irn_selector;
758 
759  ir_node *res = new_ir_node(dbgi, irg, block, op_Cond, mode_T, 1, in);
760  cond_attr *attr = &res->attr.cond;
761  attr->jmp_pred = COND_JMP_PRED_NONE;
762  verify_new_node(res);
763  res = optimize_node(res);
764  return res;
765 }
766 
767 ir_node *new_r_Cond(ir_node *block, ir_node * irn_selector)
768 {
769  return new_rd_Cond(NULL, block, irn_selector);
770 }
771 
772 ir_node *new_d_Cond(dbg_info *dbgi, ir_node * irn_selector)
773 {
775  ir_node *res = new_rd_Cond(dbgi, get_cur_block(), irn_selector);
776  return res;
777 }
778 
779 ir_node *new_Cond(ir_node * irn_selector)
780 {
781  return new_d_Cond(NULL, irn_selector);
782 }
783 
785 {
786  return get_Cond_selector(node);
787 }
788 
789 void (set_Cond_selector)(ir_node *node, ir_node *selector)
790 {
791  set_Cond_selector_(node, selector);
792 }
793 ir_op *op_Cond;
795 {
796  return op_Cond;
797 }
798 
799 ir_node *new_rd_Confirm(dbg_info *dbgi, ir_node *block, ir_node * irn_value, ir_node * irn_bound, ir_relation relation)
800 {
801 
802  ir_graph *irg = get_irn_irg(block);
803 
804  ir_node *in[2];
805  in[0] = irn_value;
806  in[1] = irn_bound;
807 
808  ir_node *res = new_ir_node(dbgi, irg, block, op_Confirm, get_irn_mode(irn_value), 2, in);
809  confirm_attr *attr = &res->attr.confirm;
810  attr->relation = relation;
811  verify_new_node(res);
812  res = optimize_node(res);
813  return res;
814 }
815 
816 ir_node *new_r_Confirm(ir_node *block, ir_node * irn_value, ir_node * irn_bound, ir_relation relation)
817 {
818  return new_rd_Confirm(NULL, block, irn_value, irn_bound, relation);
819 }
820 
821 ir_node *new_d_Confirm(dbg_info *dbgi, ir_node * irn_value, ir_node * irn_bound, ir_relation relation)
822 {
824  ir_node *res = new_rd_Confirm(dbgi, get_cur_block(), irn_value, irn_bound, relation);
825  return res;
826 }
827 
828 ir_node *new_Confirm(ir_node * irn_value, ir_node * irn_bound, ir_relation relation)
829 {
830  return new_d_Confirm(NULL, irn_value, irn_bound, relation);
831 }
832 
834 {
835  return get_Confirm_value(node);
836 }
837 
838 void (set_Confirm_value)(ir_node *node, ir_node *value)
839 {
840  set_Confirm_value_(node, value);
841 }
842 
844 {
845  return get_Confirm_bound(node);
846 }
847 
848 void (set_Confirm_bound)(ir_node *node, ir_node *bound)
849 {
850  set_Confirm_bound_(node, bound);
851 }
854 {
855  return op_Confirm;
856 }
857 
859 {
860  ir_node *block = get_irg_start_block(irg);
861 
862 
863 
864  ir_node *res = new_ir_node(dbgi, irg, block, op_Const, get_tarval_mode(tarval), 0, NULL);
865  const_attr *attr = &res->attr.con;
866  attr->tarval = tarval;
867  verify_new_node(res);
868  res = optimize_node(res);
869  return res;
870 }
871 
873 {
874  return new_rd_Const(NULL, irg, tarval);
875 }
876 
878 {
880  ir_node *res = new_rd_Const(dbgi, current_ir_graph, tarval);
881  return res;
882 }
883 
885 {
886  return new_d_Const(NULL, tarval);
887 }
888 ir_op *op_Const;
890 {
891  return op_Const;
892 }
893 
894 ir_node *new_rd_Conv(dbg_info *dbgi, ir_node *block, ir_node * irn_op, ir_mode * mode)
895 {
896 
897  ir_graph *irg = get_irn_irg(block);
898 
899  ir_node *in[1];
900  in[0] = irn_op;
901 
902  ir_node *res = new_ir_node(dbgi, irg, block, op_Conv, mode, 1, in);
903 
904  verify_new_node(res);
905  res = optimize_node(res);
906  return res;
907 }
908 
909 ir_node *new_r_Conv(ir_node *block, ir_node * irn_op, ir_mode * mode)
910 {
911  return new_rd_Conv(NULL, block, irn_op, mode);
912 }
913 
914 ir_node *new_d_Conv(dbg_info *dbgi, ir_node * irn_op, ir_mode * mode)
915 {
917  ir_node *res = new_rd_Conv(dbgi, get_cur_block(), irn_op, mode);
918  return res;
919 }
920 
921 ir_node *new_Conv(ir_node * irn_op, ir_mode * mode)
922 {
923  return new_d_Conv(NULL, irn_op, mode);
924 }
925 
926 ir_node *(get_Conv_op)(const ir_node *node)
927 {
928  return get_Conv_op(node);
929 }
930 
931 void (set_Conv_op)(ir_node *node, ir_node *op)
932 {
933  set_Conv_op_(node, op);
934 }
935 ir_op *op_Conv;
937 {
938  return op_Conv;
939 }
940 
941 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)
942 {
943 
944  ir_graph *irg = get_irn_irg(block);
945 
946  ir_node *in[3];
947  in[0] = irn_mem;
948  in[1] = irn_dst;
949  in[2] = irn_src;
950 
951  ir_node *res = new_ir_node(dbgi, irg, block, op_CopyB, mode_M, 3, in);
952  copyb_attr *attr = &res->attr.copyb;
953  attr->type = type;
954  attr->volatility = flags & cons_volatile ? volatility_is_volatile : volatility_non_volatile;
955  verify_new_node(res);
956  res = optimize_node(res);
957  return res;
958 }
959 
960 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)
961 {
962  return new_rd_CopyB(NULL, block, irn_mem, irn_dst, irn_src, type, flags);
963 }
964 
965 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)
966 {
968  ir_node *res = new_rd_CopyB(dbgi, get_cur_block(), irn_mem, irn_dst, irn_src, type, flags);
969  return res;
970 }
971 
972 ir_node *new_CopyB(ir_node * irn_mem, ir_node * irn_dst, ir_node * irn_src, ir_type* type, ir_cons_flags flags)
973 {
974  return new_d_CopyB(NULL, irn_mem, irn_dst, irn_src, type, flags);
975 }
976 
978 {
979  return get_CopyB_mem(node);
980 }
981 
982 void (set_CopyB_mem)(ir_node *node, ir_node *mem)
983 {
984  set_CopyB_mem_(node, mem);
985 }
986 
988 {
989  return get_CopyB_dst(node);
990 }
991 
992 void (set_CopyB_dst)(ir_node *node, ir_node *dst)
993 {
994  set_CopyB_dst_(node, dst);
995 }
996 
998 {
999  return get_CopyB_src(node);
1000 }
1001 
1002 void (set_CopyB_src)(ir_node *node, ir_node *src)
1003 {
1004  set_CopyB_src_(node, src);
1005 }
1006 ir_op *op_CopyB;
1008 {
1009  return op_CopyB;
1010 }
1011 ir_op *op_Deleted;
1013 {
1014  return op_Deleted;
1015 }
1016 
1017 ir_node *new_rd_Div(dbg_info *dbgi, ir_node *block, ir_node * irn_mem, ir_node * irn_left, ir_node * irn_right, int pinned)
1018 {
1019 
1020  ir_graph *irg = get_irn_irg(block);
1021 
1022  ir_node *in[3];
1023  in[0] = irn_mem;
1024  in[1] = irn_left;
1025  in[2] = irn_right;
1026 
1027  ir_node *res = new_ir_node(dbgi, irg, block, op_Div, mode_T, 3, in);
1028  div_attr *attr = &res->attr.div;
1029  attr->resmode = get_irn_mode(irn_left);
1030  attr->no_remainder = 0;
1031  attr->exc.pinned = pinned;
1032  attr->exc.throws_exception = false;
1033  verify_new_node(res);
1034  res = optimize_node(res);
1035  return res;
1036 }
1037 
1038 ir_node *new_r_Div(ir_node *block, ir_node * irn_mem, ir_node * irn_left, ir_node * irn_right, int pinned)
1039 {
1040  return new_rd_Div(NULL, block, irn_mem, irn_left, irn_right, pinned);
1041 }
1042 
1043 ir_node *new_d_Div(dbg_info *dbgi, ir_node * irn_mem, ir_node * irn_left, ir_node * irn_right, int pinned)
1044 {
1046  ir_node *res = new_rd_Div(dbgi, get_cur_block(), irn_mem, irn_left, irn_right, pinned);
1047  return res;
1048 }
1049 
1050 ir_node *new_Div(ir_node * irn_mem, ir_node * irn_left, ir_node * irn_right, int pinned)
1051 {
1052  return new_d_Div(NULL, irn_mem, irn_left, irn_right, pinned);
1053 }
1054 
1055 ir_node *(get_Div_mem)(const ir_node *node)
1056 {
1057  return get_Div_mem(node);
1058 }
1059 
1060 void (set_Div_mem)(ir_node *node, ir_node *mem)
1061 {
1062  set_Div_mem_(node, mem);
1063 }
1064 
1066 {
1067  return get_Div_left(node);
1068 }
1069 
1070 void (set_Div_left)(ir_node *node, ir_node *left)
1071 {
1072  set_Div_left_(node, left);
1073 }
1074 
1076 {
1077  return get_Div_right(node);
1078 }
1079 
1080 void (set_Div_right)(ir_node *node, ir_node *right)
1081 {
1082  set_Div_right_(node, right);
1083 }
1084 ir_op *op_Div;
1086 {
1087  return op_Div;
1088 }
1089 
1091 {
1092  ir_node *block = get_irg_start_block(irg);
1093 
1094 
1095 
1096  ir_node *res = new_ir_node(dbgi, irg, block, op_Dummy, mode, 0, NULL);
1097 
1098  verify_new_node(res);
1099  res = optimize_node(res);
1100  return res;
1101 }
1102 
1104 {
1105  return new_rd_Dummy(NULL, irg, mode);
1106 }
1107 
1109 {
1111  ir_node *res = new_rd_Dummy(dbgi, current_ir_graph, mode);
1112  return res;
1113 }
1114 
1116 {
1117  return new_d_Dummy(NULL, mode);
1118 }
1119 ir_op *op_Dummy;
1121 {
1122  return op_Dummy;
1123 }
1124 
1125 ir_node *new_rd_End(dbg_info *dbgi, ir_graph *irg, int arity, ir_node *const * in)
1126 {
1127  ir_node *block = get_irg_end_block(irg);
1128 
1129 
1130 
1131  ir_node *res = new_ir_node(dbgi, irg, block, op_End, mode_X, arity, in);
1132 
1133  verify_new_node(res);
1134  res = optimize_node(res);
1135  return res;
1136 }
1137 
1138 ir_node *new_r_End(ir_graph *irg, int arity, ir_node *const * in)
1139 {
1140  return new_rd_End(NULL, irg, arity, in);
1141 }
1142 
1143 ir_node *new_d_End(dbg_info *dbgi, int arity, ir_node *const * in)
1144 {
1146  ir_node *res = new_rd_End(dbgi, current_ir_graph, arity, in);
1147  return res;
1148 }
1149 
1150 ir_node *new_End(int arity, ir_node *const * in)
1151 {
1152  return new_d_End(NULL, arity, in);
1153 }
1154 
1155 int (get_End_n_keepalives)(ir_node const *node)
1156 {
1157  return get_End_n_keepalives_(node);
1158 }
1159 
1160 ir_node *(get_End_keepalive)(ir_node const *node, int pos)
1161 {
1162  return get_End_keepalive_(node, pos);
1163 }
1164 
1165 void (set_End_keepalive)(ir_node *node, int pos, ir_node *keepalive)
1166 {
1167  set_End_keepalive_(node, pos, keepalive);
1168 }
1169 
1171 {
1172  return get_End_keepalive_arr_(node);
1173 }
1174 ir_op *op_End;
1176 {
1177  return op_End;
1178 }
1179 
1180 ir_node *new_rd_Eor(dbg_info *dbgi, ir_node *block, ir_node * irn_left, ir_node * irn_right)
1181 {
1182 
1183  ir_graph *irg = get_irn_irg(block);
1184 
1185  ir_node *in[2];
1186  in[0] = irn_left;
1187  in[1] = irn_right;
1188 
1189  ir_node *res = new_ir_node(dbgi, irg, block, op_Eor, get_irn_mode(irn_left), 2, in);
1190 
1191  verify_new_node(res);
1192  res = optimize_node(res);
1193  return res;
1194 }
1195 
1196 ir_node *new_r_Eor(ir_node *block, ir_node * irn_left, ir_node * irn_right)
1197 {
1198  return new_rd_Eor(NULL, block, irn_left, irn_right);
1199 }
1200 
1201 ir_node *new_d_Eor(dbg_info *dbgi, ir_node * irn_left, ir_node * irn_right)
1202 {
1204  ir_node *res = new_rd_Eor(dbgi, get_cur_block(), irn_left, irn_right);
1205  return res;
1206 }
1207 
1208 ir_node *new_Eor(ir_node * irn_left, ir_node * irn_right)
1209 {
1210  return new_d_Eor(NULL, irn_left, irn_right);
1211 }
1212 
1214 {
1215  return get_Eor_left(node);
1216 }
1217 
1218 void (set_Eor_left)(ir_node *node, ir_node *left)
1219 {
1220  set_Eor_left_(node, left);
1221 }
1222 
1224 {
1225  return get_Eor_right(node);
1226 }
1227 
1228 void (set_Eor_right)(ir_node *node, ir_node *right)
1229 {
1230  set_Eor_right_(node, right);
1231 }
1232 ir_op *op_Eor;
1234 {
1235  return op_Eor;
1236 }
1237 
1238 ir_node *new_rd_Free(dbg_info *dbgi, ir_node *block, ir_node * irn_mem, ir_node * irn_ptr)
1239 {
1240 
1241  ir_graph *irg = get_irn_irg(block);
1242 
1243  ir_node *in[2];
1244  in[0] = irn_mem;
1245  in[1] = irn_ptr;
1246 
1247  ir_node *res = new_ir_node(dbgi, irg, block, op_Free, mode_M, 2, in);
1248 
1249  verify_new_node(res);
1250  res = optimize_node(res);
1251  return res;
1252 }
1253 
1254 ir_node *new_r_Free(ir_node *block, ir_node * irn_mem, ir_node * irn_ptr)
1255 {
1256  return new_rd_Free(NULL, block, irn_mem, irn_ptr);
1257 }
1258 
1259 ir_node *new_d_Free(dbg_info *dbgi, ir_node * irn_mem, ir_node * irn_ptr)
1260 {
1262  ir_node *res = new_rd_Free(dbgi, get_cur_block(), irn_mem, irn_ptr);
1263  return res;
1264 }
1265 
1266 ir_node *new_Free(ir_node * irn_mem, ir_node * irn_ptr)
1267 {
1268  return new_d_Free(NULL, irn_mem, irn_ptr);
1269 }
1270 
1272 {
1273  return get_Free_mem(node);
1274 }
1275 
1276 void (set_Free_mem)(ir_node *node, ir_node *mem)
1277 {
1278  set_Free_mem_(node, mem);
1279 }
1280 
1282 {
1283  return get_Free_ptr(node);
1284 }
1285 
1286 void (set_Free_ptr)(ir_node *node, ir_node *ptr)
1287 {
1288  set_Free_ptr_(node, ptr);
1289 }
1290 ir_op *op_Free;
1292 {
1293  return op_Free;
1294 }
1295 
1296 ir_node *new_rd_IJmp(dbg_info *dbgi, ir_node *block, ir_node * irn_target)
1297 {
1298 
1299  ir_graph *irg = get_irn_irg(block);
1300 
1301  ir_node *in[1];
1302  in[0] = irn_target;
1303 
1304  ir_node *res = new_ir_node(dbgi, irg, block, op_IJmp, mode_X, 1, in);
1305 
1306  verify_new_node(res);
1307  res = optimize_node(res);
1308  return res;
1309 }
1310 
1311 ir_node *new_r_IJmp(ir_node *block, ir_node * irn_target)
1312 {
1313  return new_rd_IJmp(NULL, block, irn_target);
1314 }
1315 
1316 ir_node *new_d_IJmp(dbg_info *dbgi, ir_node * irn_target)
1317 {
1319  ir_node *res = new_rd_IJmp(dbgi, get_cur_block(), irn_target);
1320  return res;
1321 }
1322 
1323 ir_node *new_IJmp(ir_node * irn_target)
1324 {
1325  return new_d_IJmp(NULL, irn_target);
1326 }
1327 
1329 {
1330  return get_IJmp_target(node);
1331 }
1332 
1333 void (set_IJmp_target)(ir_node *node, ir_node *target)
1334 {
1335  set_IJmp_target_(node, target);
1336 }
1337 ir_op *op_IJmp;
1339 {
1340  return op_IJmp;
1341 }
1342 
1343 ir_node *(get_Id_pred)(const ir_node *node)
1344 {
1345  return get_Id_pred(node);
1346 }
1347 
1348 void (set_Id_pred)(ir_node *node, ir_node *pred)
1349 {
1350  set_Id_pred_(node, pred);
1351 }
1352 ir_op *op_Id;
1354 {
1355  return op_Id;
1356 }
1357 
1359 {
1360 
1361  ir_graph *irg = get_irn_irg(block);
1362 
1363 
1364 
1365  ir_node *res = new_ir_node(dbgi, irg, block, op_Jmp, mode_X, 0, NULL);
1366 
1367  verify_new_node(res);
1368  res = optimize_node(res);
1369  return res;
1370 }
1371 
1373 {
1374  return new_rd_Jmp(NULL, block);
1375 }
1376 
1378 {
1380  ir_node *res = new_rd_Jmp(dbgi, get_cur_block());
1381  return res;
1382 }
1383 
1385 {
1386  return new_d_Jmp(NULL);
1387 }
1388 ir_op *op_Jmp;
1390 {
1391  return op_Jmp;
1392 }
1393 
1394 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)
1395 {
1396 
1397  ir_graph *irg = get_irn_irg(block);
1398 
1399  ir_node *in[2];
1400  in[0] = irn_mem;
1401  in[1] = irn_ptr;
1402 
1403  ir_node *res = new_ir_node(dbgi, irg, block, op_Load, mode_T, 2, in);
1404  load_attr *attr = &res->attr.load;
1405  attr->mode = mode;
1406  attr->type = type;
1407  attr->volatility = flags & cons_volatile ? volatility_is_volatile : volatility_non_volatile;
1408  attr->unaligned = flags & cons_unaligned ? align_non_aligned : align_is_aligned;
1409  attr->exc.pinned = flags & cons_floats ? op_pin_state_floats : op_pin_state_pinned;
1410  attr->exc.throws_exception = (flags & cons_throws_exception) != 0;
1411  verify_new_node(res);
1412  res = optimize_node(res);
1413  return res;
1414 }
1415 
1416 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)
1417 {
1418  return new_rd_Load(NULL, block, irn_mem, irn_ptr, mode, type, flags);
1419 }
1420 
1421 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)
1422 {
1424  ir_node *res = new_rd_Load(dbgi, get_cur_block(), irn_mem, irn_ptr, mode, type, flags);
1425  return res;
1426 }
1427 
1428 ir_node *new_Load(ir_node * irn_mem, ir_node * irn_ptr, ir_mode* mode, ir_type* type, ir_cons_flags flags)
1429 {
1430  return new_d_Load(NULL, irn_mem, irn_ptr, mode, type, flags);
1431 }
1432 
1434 {
1435  return get_Load_mem(node);
1436 }
1437 
1438 void (set_Load_mem)(ir_node *node, ir_node *mem)
1439 {
1440  set_Load_mem_(node, mem);
1441 }
1442 
1444 {
1445  return get_Load_ptr(node);
1446 }
1447 
1448 void (set_Load_ptr)(ir_node *node, ir_node *ptr)
1449 {
1450  set_Load_ptr_(node, ptr);
1451 }
1452 ir_op *op_Load;
1454 {
1455  return op_Load;
1456 }
1457 
1458 ir_node *new_rd_Member(dbg_info *dbgi, ir_node *block, ir_node * irn_ptr, ir_entity* entity)
1459 {
1460 
1461  ir_graph *irg = get_irn_irg(block);
1462 
1463  ir_node *in[1];
1464  in[0] = irn_ptr;
1465 
1466  ir_node *res = new_ir_node(dbgi, irg, block, op_Member, mode_P, 1, in);
1467  member_attr *attr = &res->attr.member;
1468  attr->entity = entity;
1469  verify_new_node(res);
1470  res = optimize_node(res);
1471  return res;
1472 }
1473 
1474 ir_node *new_r_Member(ir_node *block, ir_node * irn_ptr, ir_entity* entity)
1475 {
1476  return new_rd_Member(NULL, block, irn_ptr, entity);
1477 }
1478 
1479 ir_node *new_d_Member(dbg_info *dbgi, ir_node * irn_ptr, ir_entity* entity)
1480 {
1482  ir_node *res = new_rd_Member(dbgi, get_cur_block(), irn_ptr, entity);
1483  return res;
1484 }
1485 
1486 ir_node *new_Member(ir_node * irn_ptr, ir_entity* entity)
1487 {
1488  return new_d_Member(NULL, irn_ptr, entity);
1489 }
1490 
1492 {
1493  return get_Member_ptr(node);
1494 }
1495 
1496 void (set_Member_ptr)(ir_node *node, ir_node *ptr)
1497 {
1498  set_Member_ptr_(node, ptr);
1499 }
1500 ir_op *op_Member;
1502 {
1503  return op_Member;
1504 }
1505 
1506 ir_node *new_rd_Minus(dbg_info *dbgi, ir_node *block, ir_node * irn_op)
1507 {
1508 
1509  ir_graph *irg = get_irn_irg(block);
1510 
1511  ir_node *in[1];
1512  in[0] = irn_op;
1513 
1514  ir_node *res = new_ir_node(dbgi, irg, block, op_Minus, get_irn_mode(irn_op), 1, in);
1515 
1516  verify_new_node(res);
1517  res = optimize_node(res);
1518  return res;
1519 }
1520 
1522 {
1523  return new_rd_Minus(NULL, block, irn_op);
1524 }
1525 
1527 {
1529  ir_node *res = new_rd_Minus(dbgi, get_cur_block(), irn_op);
1530  return res;
1531 }
1532 
1534 {
1535  return new_d_Minus(NULL, irn_op);
1536 }
1537 
1539 {
1540  return get_Minus_op(node);
1541 }
1542 
1543 void (set_Minus_op)(ir_node *node, ir_node *op)
1544 {
1545  set_Minus_op_(node, op);
1546 }
1547 ir_op *op_Minus;
1549 {
1550  return op_Minus;
1551 }
1552 
1553 ir_node *new_rd_Mod(dbg_info *dbgi, ir_node *block, ir_node * irn_mem, ir_node * irn_left, ir_node * irn_right, int pinned)
1554 {
1555 
1556  ir_graph *irg = get_irn_irg(block);
1557 
1558  ir_node *in[3];
1559  in[0] = irn_mem;
1560  in[1] = irn_left;
1561  in[2] = irn_right;
1562 
1563  ir_node *res = new_ir_node(dbgi, irg, block, op_Mod, mode_T, 3, in);
1564  mod_attr *attr = &res->attr.mod;
1565  attr->resmode = get_irn_mode(irn_left);
1566  attr->exc.pinned = pinned;
1567  attr->exc.throws_exception = false;
1568  verify_new_node(res);
1569  res = optimize_node(res);
1570  return res;
1571 }
1572 
1573 ir_node *new_r_Mod(ir_node *block, ir_node * irn_mem, ir_node * irn_left, ir_node * irn_right, int pinned)
1574 {
1575  return new_rd_Mod(NULL, block, irn_mem, irn_left, irn_right, pinned);
1576 }
1577 
1578 ir_node *new_d_Mod(dbg_info *dbgi, ir_node * irn_mem, ir_node * irn_left, ir_node * irn_right, int pinned)
1579 {
1581  ir_node *res = new_rd_Mod(dbgi, get_cur_block(), irn_mem, irn_left, irn_right, pinned);
1582  return res;
1583 }
1584 
1585 ir_node *new_Mod(ir_node * irn_mem, ir_node * irn_left, ir_node * irn_right, int pinned)
1586 {
1587  return new_d_Mod(NULL, irn_mem, irn_left, irn_right, pinned);
1588 }
1589 
1590 ir_node *(get_Mod_mem)(const ir_node *node)
1591 {
1592  return get_Mod_mem(node);
1593 }
1594 
1595 void (set_Mod_mem)(ir_node *node, ir_node *mem)
1596 {
1597  set_Mod_mem_(node, mem);
1598 }
1599 
1601 {
1602  return get_Mod_left(node);
1603 }
1604 
1605 void (set_Mod_left)(ir_node *node, ir_node *left)
1606 {
1607  set_Mod_left_(node, left);
1608 }
1609 
1611 {
1612  return get_Mod_right(node);
1613 }
1614 
1615 void (set_Mod_right)(ir_node *node, ir_node *right)
1616 {
1617  set_Mod_right_(node, right);
1618 }
1619 ir_op *op_Mod;
1621 {
1622  return op_Mod;
1623 }
1624 
1625 ir_node *new_rd_Mul(dbg_info *dbgi, ir_node *block, ir_node * irn_left, ir_node * irn_right)
1626 {
1627 
1628  ir_graph *irg = get_irn_irg(block);
1629 
1630  ir_node *in[2];
1631  in[0] = irn_left;
1632  in[1] = irn_right;
1633 
1634  ir_node *res = new_ir_node(dbgi, irg, block, op_Mul, get_irn_mode(irn_left), 2, in);
1635 
1636  verify_new_node(res);
1637  res = optimize_node(res);
1638  return res;
1639 }
1640 
1641 ir_node *new_r_Mul(ir_node *block, ir_node * irn_left, ir_node * irn_right)
1642 {
1643  return new_rd_Mul(NULL, block, irn_left, irn_right);
1644 }
1645 
1646 ir_node *new_d_Mul(dbg_info *dbgi, ir_node * irn_left, ir_node * irn_right)
1647 {
1649  ir_node *res = new_rd_Mul(dbgi, get_cur_block(), irn_left, irn_right);
1650  return res;
1651 }
1652 
1653 ir_node *new_Mul(ir_node * irn_left, ir_node * irn_right)
1654 {
1655  return new_d_Mul(NULL, irn_left, irn_right);
1656 }
1657 
1659 {
1660  return get_Mul_left(node);
1661 }
1662 
1663 void (set_Mul_left)(ir_node *node, ir_node *left)
1664 {
1665  set_Mul_left_(node, left);
1666 }
1667 
1669 {
1670  return get_Mul_right(node);
1671 }
1672 
1673 void (set_Mul_right)(ir_node *node, ir_node *right)
1674 {
1675  set_Mul_right_(node, right);
1676 }
1677 ir_op *op_Mul;
1679 {
1680  return op_Mul;
1681 }
1682 
1683 ir_node *new_rd_Mulh(dbg_info *dbgi, ir_node *block, ir_node * irn_left, ir_node * irn_right)
1684 {
1685 
1686  ir_graph *irg = get_irn_irg(block);
1687 
1688  ir_node *in[2];
1689  in[0] = irn_left;
1690  in[1] = irn_right;
1691 
1692  ir_node *res = new_ir_node(dbgi, irg, block, op_Mulh, get_irn_mode(irn_left), 2, in);
1693 
1694  verify_new_node(res);
1695  res = optimize_node(res);
1696  return res;
1697 }
1698 
1699 ir_node *new_r_Mulh(ir_node *block, ir_node * irn_left, ir_node * irn_right)
1700 {
1701  return new_rd_Mulh(NULL, block, irn_left, irn_right);
1702 }
1703 
1704 ir_node *new_d_Mulh(dbg_info *dbgi, ir_node * irn_left, ir_node * irn_right)
1705 {
1707  ir_node *res = new_rd_Mulh(dbgi, get_cur_block(), irn_left, irn_right);
1708  return res;
1709 }
1710 
1711 ir_node *new_Mulh(ir_node * irn_left, ir_node * irn_right)
1712 {
1713  return new_d_Mulh(NULL, irn_left, irn_right);
1714 }
1715 
1717 {
1718  return get_Mulh_left(node);
1719 }
1720 
1721 void (set_Mulh_left)(ir_node *node, ir_node *left)
1722 {
1723  set_Mulh_left_(node, left);
1724 }
1725 
1727 {
1728  return get_Mulh_right(node);
1729 }
1730 
1731 void (set_Mulh_right)(ir_node *node, ir_node *right)
1732 {
1733  set_Mulh_right_(node, right);
1734 }
1735 ir_op *op_Mulh;
1737 {
1738  return op_Mulh;
1739 }
1740 
1741 ir_node *new_rd_Mux(dbg_info *dbgi, ir_node *block, ir_node * irn_sel, ir_node * irn_false, ir_node * irn_true)
1742 {
1743 
1744  ir_graph *irg = get_irn_irg(block);
1745 
1746  ir_node *in[3];
1747  in[0] = irn_sel;
1748  in[1] = irn_false;
1749  in[2] = irn_true;
1750 
1751  ir_node *res = new_ir_node(dbgi, irg, block, op_Mux, get_irn_mode(irn_false), 3, in);
1752 
1753  verify_new_node(res);
1754  res = optimize_node(res);
1755  return res;
1756 }
1757 
1758 ir_node *new_r_Mux(ir_node *block, ir_node * irn_sel, ir_node * irn_false, ir_node * irn_true)
1759 {
1760  return new_rd_Mux(NULL, block, irn_sel, irn_false, irn_true);
1761 }
1762 
1763 ir_node *new_d_Mux(dbg_info *dbgi, ir_node * irn_sel, ir_node * irn_false, ir_node * irn_true)
1764 {
1766  ir_node *res = new_rd_Mux(dbgi, get_cur_block(), irn_sel, irn_false, irn_true);
1767  return res;
1768 }
1769 
1770 ir_node *new_Mux(ir_node * irn_sel, ir_node * irn_false, ir_node * irn_true)
1771 {
1772  return new_d_Mux(NULL, irn_sel, irn_false, irn_true);
1773 }
1774 
1775 ir_node *(get_Mux_sel)(const ir_node *node)
1776 {
1777  return get_Mux_sel(node);
1778 }
1779 
1780 void (set_Mux_sel)(ir_node *node, ir_node *sel)
1781 {
1782  set_Mux_sel_(node, sel);
1783 }
1784 
1786 {
1787  return get_Mux_false(node);
1788 }
1789 
1790 void (set_Mux_false)(ir_node *node, ir_node *false_)
1791 {
1792  set_Mux_false_(node, false_);
1793 }
1794 
1796 {
1797  return get_Mux_true(node);
1798 }
1799 
1800 void (set_Mux_true)(ir_node *node, ir_node *true_)
1801 {
1802  set_Mux_true_(node, true_);
1803 }
1804 ir_op *op_Mux;
1806 {
1807  return op_Mux;
1808 }
1809 
1811 {
1812  ir_node *block = get_irg_start_block(irg);
1813 
1814 
1815 
1816  ir_node *res = new_ir_node(dbgi, irg, block, op_NoMem, mode_M, 0, NULL);
1817 
1818  verify_new_node(res);
1819  res = optimize_node(res);
1820  return res;
1821 }
1822 
1824 {
1825  return new_rd_NoMem(NULL, irg);
1826 }
1827 
1829 {
1831  ir_node *res = new_rd_NoMem(dbgi, current_ir_graph);
1832  return res;
1833 }
1834 
1836 {
1837  return new_d_NoMem(NULL);
1838 }
1839 ir_op *op_NoMem;
1841 {
1842  return op_NoMem;
1843 }
1844 
1845 ir_node *new_rd_Not(dbg_info *dbgi, ir_node *block, ir_node * irn_op)
1846 {
1847 
1848  ir_graph *irg = get_irn_irg(block);
1849 
1850  ir_node *in[1];
1851  in[0] = irn_op;
1852 
1853  ir_node *res = new_ir_node(dbgi, irg, block, op_Not, get_irn_mode(irn_op), 1, in);
1854 
1855  verify_new_node(res);
1856  res = optimize_node(res);
1857  return res;
1858 }
1859 
1860 ir_node *new_r_Not(ir_node *block, ir_node * irn_op)
1861 {
1862  return new_rd_Not(NULL, block, irn_op);
1863 }
1864 
1866 {
1868  ir_node *res = new_rd_Not(dbgi, get_cur_block(), irn_op);
1869  return res;
1870 }
1871 
1873 {
1874  return new_d_Not(NULL, irn_op);
1875 }
1876 
1877 ir_node *(get_Not_op)(const ir_node *node)
1878 {
1879  return get_Not_op(node);
1880 }
1881 
1882 void (set_Not_op)(ir_node *node, ir_node *op)
1883 {
1884  set_Not_op_(node, op);
1885 }
1886 ir_op *op_Not;
1888 {
1889  return op_Not;
1890 }
1891 
1892 ir_node *new_rd_Offset(dbg_info *dbgi, ir_graph *irg, ir_mode * mode, ir_entity* entity)
1893 {
1894  ir_node *block = get_irg_start_block(irg);
1895 
1896 
1897 
1898  ir_node *res = new_ir_node(dbgi, irg, block, op_Offset, mode, 0, NULL);
1899  entconst_attr *attr = &res->attr.entc;
1900  attr->entity = entity;
1901  verify_new_node(res);
1902  res = optimize_node(res);
1903  return res;
1904 }
1905 
1907 {
1908  return new_rd_Offset(NULL, irg, mode, entity);
1909 }
1910 
1912 {
1914  ir_node *res = new_rd_Offset(dbgi, current_ir_graph, mode, entity);
1915  return res;
1916 }
1917 
1919 {
1920  return new_d_Offset(NULL, mode, entity);
1921 }
1922 ir_op *op_Offset;
1924 {
1925  return op_Offset;
1926 }
1927 
1928 ir_node *new_rd_Or(dbg_info *dbgi, ir_node *block, ir_node * irn_left, ir_node * irn_right)
1929 {
1930 
1931  ir_graph *irg = get_irn_irg(block);
1932 
1933  ir_node *in[2];
1934  in[0] = irn_left;
1935  in[1] = irn_right;
1936 
1937  ir_node *res = new_ir_node(dbgi, irg, block, op_Or, get_irn_mode(irn_left), 2, in);
1938 
1939  verify_new_node(res);
1940  res = optimize_node(res);
1941  return res;
1942 }
1943 
1944 ir_node *new_r_Or(ir_node *block, ir_node * irn_left, ir_node * irn_right)
1945 {
1946  return new_rd_Or(NULL, block, irn_left, irn_right);
1947 }
1948 
1949 ir_node *new_d_Or(dbg_info *dbgi, ir_node * irn_left, ir_node * irn_right)
1950 {
1952  ir_node *res = new_rd_Or(dbgi, get_cur_block(), irn_left, irn_right);
1953  return res;
1954 }
1955 
1956 ir_node *new_Or(ir_node * irn_left, ir_node * irn_right)
1957 {
1958  return new_d_Or(NULL, irn_left, irn_right);
1959 }
1960 
1961 ir_node *(get_Or_left)(const ir_node *node)
1962 {
1963  return get_Or_left(node);
1964 }
1965 
1966 void (set_Or_left)(ir_node *node, ir_node *left)
1967 {
1968  set_Or_left_(node, left);
1969 }
1970 
1972 {
1973  return get_Or_right(node);
1974 }
1975 
1976 void (set_Or_right)(ir_node *node, ir_node *right)
1977 {
1978  set_Or_right_(node, right);
1979 }
1980 ir_op *op_Or;
1982 {
1983  return op_Or;
1984 }
1985 
1986 ir_node *new_rd_Phi(dbg_info *dbgi, ir_node *block, int arity, ir_node *const * in, ir_mode * mode)
1987 {
1988 
1989  ir_graph *irg = get_irn_irg(block);
1990 
1991 
1992 
1993  ir_node *res = new_ir_node(dbgi, irg, block, op_Phi, mode, arity, in);
1994  phi_attr *attr = &res->attr.phi;
1995  attr->loop = 0;
1996  res->attr.phi.u.backedge = new_backedge_arr(get_irg_obstack(irg), arity);
1997  verify_new_node(res);
1998  res = optimize_node(res);
1999  return res;
2000 }
2001 
2002 ir_node *new_r_Phi(ir_node *block, int arity, ir_node *const * in, ir_mode * mode)
2003 {
2004  return new_rd_Phi(NULL, block, arity, in, mode);
2005 }
2006 
2007 ir_node *new_d_Phi(dbg_info *dbgi, int arity, ir_node *const * in, ir_mode * mode)
2008 {
2010  ir_node *res = new_rd_Phi(dbgi, get_cur_block(), arity, in, mode);
2011  return res;
2012 }
2013 
2014 ir_node *new_Phi(int arity, ir_node *const * in, ir_mode * mode)
2015 {
2016  return new_d_Phi(NULL, arity, in, mode);
2017 }
2018 
2019 int (get_Phi_n_preds)(ir_node const *node)
2020 {
2021  return get_Phi_n_preds_(node);
2022 }
2023 
2024 ir_node *(get_Phi_pred)(ir_node const *node, int pos)
2025 {
2026  return get_Phi_pred_(node, pos);
2027 }
2028 
2029 void (set_Phi_pred)(ir_node *node, int pos, ir_node *pred)
2030 {
2031  set_Phi_pred_(node, pos, pred);
2032 }
2033 
2035 {
2036  return get_Phi_pred_arr_(node);
2037 }
2038 ir_op *op_Phi;
2040 {
2041  return op_Phi;
2042 }
2043 
2044 ir_node *new_rd_Pin(dbg_info *dbgi, ir_node *block, ir_node * irn_op)
2045 {
2046 
2047  ir_graph *irg = get_irn_irg(block);
2048 
2049  ir_node *in[1];
2050  in[0] = irn_op;
2051 
2052  ir_node *res = new_ir_node(dbgi, irg, block, op_Pin, get_irn_mode(irn_op), 1, in);
2053 
2054  verify_new_node(res);
2055  res = optimize_node(res);
2056  return res;
2057 }
2058 
2059 ir_node *new_r_Pin(ir_node *block, ir_node * irn_op)
2060 {
2061  return new_rd_Pin(NULL, block, irn_op);
2062 }
2063 
2065 {
2067  ir_node *res = new_rd_Pin(dbgi, get_cur_block(), irn_op);
2068  return res;
2069 }
2070 
2072 {
2073  return new_d_Pin(NULL, irn_op);
2074 }
2075 
2076 ir_node *(get_Pin_op)(const ir_node *node)
2077 {
2078  return get_Pin_op(node);
2079 }
2080 
2081 void (set_Pin_op)(ir_node *node, ir_node *op)
2082 {
2083  set_Pin_op_(node, op);
2084 }
2085 ir_op *op_Pin;
2087 {
2088  return op_Pin;
2089 }
2090 
2091 ir_node *new_rd_Proj(dbg_info *dbgi, ir_node * irn_pred, ir_mode * mode, unsigned num)
2092 {
2093  ir_node *block = get_nodes_block(irn_pred);
2094  ir_graph *irg = get_irn_irg(block);
2095 
2096  ir_node *in[1];
2097  in[0] = irn_pred;
2098 
2099  ir_node *res = new_ir_node(dbgi, irg, block, op_Proj, mode, 1, in);
2100  proj_attr *attr = &res->attr.proj;
2101  attr->num = num;
2102  verify_new_node(res);
2103  res = optimize_node(res);
2104  return res;
2105 }
2106 
2107 ir_node *new_r_Proj(ir_node * irn_pred, ir_mode * mode, unsigned num)
2108 {
2109  return new_rd_Proj(NULL, irn_pred, mode, num);
2110 }
2111 
2112 ir_node *new_d_Proj(dbg_info *dbgi, ir_node * irn_pred, ir_mode * mode, unsigned num)
2113 {
2115  ir_node *res = new_rd_Proj(dbgi, irn_pred, mode, num);
2116  return res;
2117 }
2118 
2119 ir_node *new_Proj(ir_node * irn_pred, ir_mode * mode, unsigned num)
2120 {
2121  return new_d_Proj(NULL, irn_pred, mode, num);
2122 }
2123 
2125 {
2126  return get_Proj_pred(node);
2127 }
2128 
2129 void (set_Proj_pred)(ir_node *node, ir_node *pred)
2130 {
2131  set_Proj_pred_(node, pred);
2132 }
2133 ir_op *op_Proj;
2135 {
2136  return op_Proj;
2137 }
2138 
2139 ir_node *new_rd_Raise(dbg_info *dbgi, ir_node *block, ir_node * irn_mem, ir_node * irn_exo_ptr)
2140 {
2141 
2142  ir_graph *irg = get_irn_irg(block);
2143 
2144  ir_node *in[2];
2145  in[0] = irn_mem;
2146  in[1] = irn_exo_ptr;
2147 
2148  ir_node *res = new_ir_node(dbgi, irg, block, op_Raise, mode_T, 2, in);
2149 
2150  verify_new_node(res);
2151  res = optimize_node(res);
2152  return res;
2153 }
2154 
2155 ir_node *new_r_Raise(ir_node *block, ir_node * irn_mem, ir_node * irn_exo_ptr)
2156 {
2157  return new_rd_Raise(NULL, block, irn_mem, irn_exo_ptr);
2158 }
2159 
2160 ir_node *new_d_Raise(dbg_info *dbgi, ir_node * irn_mem, ir_node * irn_exo_ptr)
2161 {
2163  ir_node *res = new_rd_Raise(dbgi, get_cur_block(), irn_mem, irn_exo_ptr);
2164  return res;
2165 }
2166 
2167 ir_node *new_Raise(ir_node * irn_mem, ir_node * irn_exo_ptr)
2168 {
2169  return new_d_Raise(NULL, irn_mem, irn_exo_ptr);
2170 }
2171 
2173 {
2174  return get_Raise_mem(node);
2175 }
2176 
2177 void (set_Raise_mem)(ir_node *node, ir_node *mem)
2178 {
2179  set_Raise_mem_(node, mem);
2180 }
2181 
2183 {
2184  return get_Raise_exo_ptr(node);
2185 }
2186 
2187 void (set_Raise_exo_ptr)(ir_node *node, ir_node *exo_ptr)
2188 {
2189  set_Raise_exo_ptr_(node, exo_ptr);
2190 }
2191 ir_op *op_Raise;
2193 {
2194  return op_Raise;
2195 }
2196 
2197 ir_node *new_rd_Return(dbg_info *dbgi, ir_node *block, ir_node * irn_mem, int arity, ir_node *const * in)
2198 {
2199 
2200  ir_graph *irg = get_irn_irg(block);
2201 
2202  int r_arity = arity + 1;
2203  ir_node **r_in= ALLOCAN(ir_node*, r_arity);
2204  r_in[0] = irn_mem;
2205  MEMCPY(&r_in[1], in, arity);
2206 
2207 
2208  ir_node *res = new_ir_node(dbgi, irg, block, op_Return, mode_X, r_arity, r_in);
2209 
2210  verify_new_node(res);
2211  res = optimize_node(res);
2212  return res;
2213 }
2214 
2215 ir_node *new_r_Return(ir_node *block, ir_node * irn_mem, int arity, ir_node *const * in)
2216 {
2217  return new_rd_Return(NULL, block, irn_mem, arity, in);
2218 }
2219 
2220 ir_node *new_d_Return(dbg_info *dbgi, ir_node * irn_mem, int arity, ir_node *const * in)
2221 {
2223  ir_node *res = new_rd_Return(dbgi, get_cur_block(), irn_mem, arity, in);
2224  return res;
2225 }
2226 
2227 ir_node *new_Return(ir_node * irn_mem, int arity, ir_node *const * in)
2228 {
2229  return new_d_Return(NULL, irn_mem, arity, in);
2230 }
2231 
2233 {
2234  return get_Return_mem(node);
2235 }
2236 
2237 void (set_Return_mem)(ir_node *node, ir_node *mem)
2238 {
2239  set_Return_mem_(node, mem);
2240 }
2241 
2242 int (get_Return_n_ress)(ir_node const *node)
2243 {
2244  return get_Return_n_ress_(node);
2245 }
2246 
2247 ir_node *(get_Return_res)(ir_node const *node, int pos)
2248 {
2249  return get_Return_res_(node, pos);
2250 }
2251 
2252 void (set_Return_res)(ir_node *node, int pos, ir_node *res)
2253 {
2254  set_Return_res_(node, pos, res);
2255 }
2256 
2258 {
2259  return get_Return_res_arr_(node);
2260 }
2261 ir_op *op_Return;
2263 {
2264  return op_Return;
2265 }
2266 
2267 ir_node *new_rd_Sel(dbg_info *dbgi, ir_node *block, ir_node * irn_ptr, ir_node * irn_index, ir_type* type)
2268 {
2269 
2270  ir_graph *irg = get_irn_irg(block);
2271 
2272  ir_node *in[2];
2273  in[0] = irn_ptr;
2274  in[1] = irn_index;
2275 
2276  ir_node *res = new_ir_node(dbgi, irg, block, op_Sel, mode_P, 2, in);
2277  sel_attr *attr = &res->attr.sel;
2278  attr->type = type;
2279  verify_new_node(res);
2280  res = optimize_node(res);
2281  return res;
2282 }
2283 
2284 ir_node *new_r_Sel(ir_node *block, ir_node * irn_ptr, ir_node * irn_index, ir_type* type)
2285 {
2286  return new_rd_Sel(NULL, block, irn_ptr, irn_index, type);
2287 }
2288 
2289 ir_node *new_d_Sel(dbg_info *dbgi, ir_node * irn_ptr, ir_node * irn_index, ir_type* type)
2290 {
2292  ir_node *res = new_rd_Sel(dbgi, get_cur_block(), irn_ptr, irn_index, type);
2293  return res;
2294 }
2295 
2296 ir_node *new_Sel(ir_node * irn_ptr, ir_node * irn_index, ir_type* type)
2297 {
2298  return new_d_Sel(NULL, irn_ptr, irn_index, type);
2299 }
2300 
2301 ir_node *(get_Sel_ptr)(const ir_node *node)
2302 {
2303  return get_Sel_ptr(node);
2304 }
2305 
2306 void (set_Sel_ptr)(ir_node *node, ir_node *ptr)
2307 {
2308  set_Sel_ptr_(node, ptr);
2309 }
2310 
2312 {
2313  return get_Sel_index(node);
2314 }
2315 
2316 void (set_Sel_index)(ir_node *node, ir_node *index)
2317 {
2318  set_Sel_index_(node, index);
2319 }
2320 ir_op *op_Sel;
2322 {
2323  return op_Sel;
2324 }
2325 
2326 ir_node *new_rd_Shl(dbg_info *dbgi, ir_node *block, ir_node * irn_left, ir_node * irn_right)
2327 {
2328 
2329  ir_graph *irg = get_irn_irg(block);
2330 
2331  ir_node *in[2];
2332  in[0] = irn_left;
2333  in[1] = irn_right;
2334 
2335  ir_node *res = new_ir_node(dbgi, irg, block, op_Shl, get_irn_mode(irn_left), 2, in);
2336 
2337  verify_new_node(res);
2338  res = optimize_node(res);
2339  return res;
2340 }
2341 
2342 ir_node *new_r_Shl(ir_node *block, ir_node * irn_left, ir_node * irn_right)
2343 {
2344  return new_rd_Shl(NULL, block, irn_left, irn_right);
2345 }
2346 
2347 ir_node *new_d_Shl(dbg_info *dbgi, ir_node * irn_left, ir_node * irn_right)
2348 {
2350  ir_node *res = new_rd_Shl(dbgi, get_cur_block(), irn_left, irn_right);
2351  return res;
2352 }
2353 
2354 ir_node *new_Shl(ir_node * irn_left, ir_node * irn_right)
2355 {
2356  return new_d_Shl(NULL, irn_left, irn_right);
2357 }
2358 
2360 {
2361  return get_Shl_left(node);
2362 }
2363 
2364 void (set_Shl_left)(ir_node *node, ir_node *left)
2365 {
2366  set_Shl_left_(node, left);
2367 }
2368 
2370 {
2371  return get_Shl_right(node);
2372 }
2373 
2374 void (set_Shl_right)(ir_node *node, ir_node *right)
2375 {
2376  set_Shl_right_(node, right);
2377 }
2378 ir_op *op_Shl;
2380 {
2381  return op_Shl;
2382 }
2383 
2384 ir_node *new_rd_Shr(dbg_info *dbgi, ir_node *block, ir_node * irn_left, ir_node * irn_right)
2385 {
2386 
2387  ir_graph *irg = get_irn_irg(block);
2388 
2389  ir_node *in[2];
2390  in[0] = irn_left;
2391  in[1] = irn_right;
2392 
2393  ir_node *res = new_ir_node(dbgi, irg, block, op_Shr, get_irn_mode(irn_left), 2, in);
2394 
2395  verify_new_node(res);
2396  res = optimize_node(res);
2397  return res;
2398 }
2399 
2400 ir_node *new_r_Shr(ir_node *block, ir_node * irn_left, ir_node * irn_right)
2401 {
2402  return new_rd_Shr(NULL, block, irn_left, irn_right);
2403 }
2404 
2405 ir_node *new_d_Shr(dbg_info *dbgi, ir_node * irn_left, ir_node * irn_right)
2406 {
2408  ir_node *res = new_rd_Shr(dbgi, get_cur_block(), irn_left, irn_right);
2409  return res;
2410 }
2411 
2412 ir_node *new_Shr(ir_node * irn_left, ir_node * irn_right)
2413 {
2414  return new_d_Shr(NULL, irn_left, irn_right);
2415 }
2416 
2418 {
2419  return get_Shr_left(node);
2420 }
2421 
2422 void (set_Shr_left)(ir_node *node, ir_node *left)
2423 {
2424  set_Shr_left_(node, left);
2425 }
2426 
2428 {
2429  return get_Shr_right(node);
2430 }
2431 
2432 void (set_Shr_right)(ir_node *node, ir_node *right)
2433 {
2434  set_Shr_right_(node, right);
2435 }
2436 ir_op *op_Shr;
2438 {
2439  return op_Shr;
2440 }
2441 
2442 ir_node *new_rd_Shrs(dbg_info *dbgi, ir_node *block, ir_node * irn_left, ir_node * irn_right)
2443 {
2444 
2445  ir_graph *irg = get_irn_irg(block);
2446 
2447  ir_node *in[2];
2448  in[0] = irn_left;
2449  in[1] = irn_right;
2450 
2451  ir_node *res = new_ir_node(dbgi, irg, block, op_Shrs, get_irn_mode(irn_left), 2, in);
2452 
2453  verify_new_node(res);
2454  res = optimize_node(res);
2455  return res;
2456 }
2457 
2458 ir_node *new_r_Shrs(ir_node *block, ir_node * irn_left, ir_node * irn_right)
2459 {
2460  return new_rd_Shrs(NULL, block, irn_left, irn_right);
2461 }
2462 
2463 ir_node *new_d_Shrs(dbg_info *dbgi, ir_node * irn_left, ir_node * irn_right)
2464 {
2466  ir_node *res = new_rd_Shrs(dbgi, get_cur_block(), irn_left, irn_right);
2467  return res;
2468 }
2469 
2470 ir_node *new_Shrs(ir_node * irn_left, ir_node * irn_right)
2471 {
2472  return new_d_Shrs(NULL, irn_left, irn_right);
2473 }
2474 
2476 {
2477  return get_Shrs_left(node);
2478 }
2479 
2480 void (set_Shrs_left)(ir_node *node, ir_node *left)
2481 {
2482  set_Shrs_left_(node, left);
2483 }
2484 
2486 {
2487  return get_Shrs_right(node);
2488 }
2489 
2490 void (set_Shrs_right)(ir_node *node, ir_node *right)
2491 {
2492  set_Shrs_right_(node, right);
2493 }
2494 ir_op *op_Shrs;
2496 {
2497  return op_Shrs;
2498 }
2499 
2500 ir_node *new_rd_Size(dbg_info *dbgi, ir_graph *irg, ir_mode * mode, ir_type* type)
2501 {
2502  ir_node *block = get_irg_start_block(irg);
2503 
2504 
2505 
2506  ir_node *res = new_ir_node(dbgi, irg, block, op_Size, mode, 0, NULL);
2507  typeconst_attr *attr = &res->attr.typec;
2508  attr->type = type;
2509  verify_new_node(res);
2510  res = optimize_node(res);
2511  return res;
2512 }
2513 
2515 {
2516  return new_rd_Size(NULL, irg, mode, type);
2517 }
2518 
2520 {
2522  ir_node *res = new_rd_Size(dbgi, current_ir_graph, mode, type);
2523  return res;
2524 }
2525 
2527 {
2528  return new_d_Size(NULL, mode, type);
2529 }
2530 ir_op *op_Size;
2532 {
2533  return op_Size;
2534 }
2535 
2537 {
2538  ir_node *block = get_irg_start_block(irg);
2539 
2540 
2541 
2542  ir_node *res = new_ir_node(dbgi, irg, block, op_Start, mode_T, 0, NULL);
2543 
2544  verify_new_node(res);
2545  res = optimize_node(res);
2546  return res;
2547 }
2548 
2550 {
2551  return new_rd_Start(NULL, irg);
2552 }
2553 
2555 {
2557  ir_node *res = new_rd_Start(dbgi, current_ir_graph);
2558  return res;
2559 }
2560 
2562 {
2563  return new_d_Start(NULL);
2564 }
2565 ir_op *op_Start;
2567 {
2568  return op_Start;
2569 }
2570 
2571 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)
2572 {
2573 
2574  ir_graph *irg = get_irn_irg(block);
2575 
2576  ir_node *in[3];
2577  in[0] = irn_mem;
2578  in[1] = irn_ptr;
2579  in[2] = irn_value;
2580 
2581  ir_node *res = new_ir_node(dbgi, irg, block, op_Store, mode_T, 3, in);
2582  store_attr *attr = &res->attr.store;
2583  attr->type = type;
2584  attr->volatility = flags & cons_volatile ? volatility_is_volatile : volatility_non_volatile;
2585  attr->unaligned = flags & cons_unaligned ? align_non_aligned : align_is_aligned;
2586  attr->exc.pinned = flags & cons_floats ? op_pin_state_floats : op_pin_state_pinned;
2587  attr->exc.throws_exception = (flags & cons_throws_exception) != 0;
2588  verify_new_node(res);
2589  res = optimize_node(res);
2590  return res;
2591 }
2592 
2593 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)
2594 {
2595  return new_rd_Store(NULL, block, irn_mem, irn_ptr, irn_value, type, flags);
2596 }
2597 
2598 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)
2599 {
2601  ir_node *res = new_rd_Store(dbgi, get_cur_block(), irn_mem, irn_ptr, irn_value, type, flags);
2602  return res;
2603 }
2604 
2605 ir_node *new_Store(ir_node * irn_mem, ir_node * irn_ptr, ir_node * irn_value, ir_type* type, ir_cons_flags flags)
2606 {
2607  return new_d_Store(NULL, irn_mem, irn_ptr, irn_value, type, flags);
2608 }
2609 
2611 {
2612  return get_Store_mem(node);
2613 }
2614 
2615 void (set_Store_mem)(ir_node *node, ir_node *mem)
2616 {
2617  set_Store_mem_(node, mem);
2618 }
2619 
2621 {
2622  return get_Store_ptr(node);
2623 }
2624 
2625 void (set_Store_ptr)(ir_node *node, ir_node *ptr)
2626 {
2627  set_Store_ptr_(node, ptr);
2628 }
2629 
2631 {
2632  return get_Store_value(node);
2633 }
2634 
2635 void (set_Store_value)(ir_node *node, ir_node *value)
2636 {
2637  set_Store_value_(node, value);
2638 }
2639 ir_op *op_Store;
2641 {
2642  return op_Store;
2643 }
2644 
2645 ir_node *new_rd_Sub(dbg_info *dbgi, ir_node *block, ir_node * irn_left, ir_node * irn_right)
2646 {
2647 
2648  ir_graph *irg = get_irn_irg(block);
2649 
2650  ir_node *in[2];
2651  in[0] = irn_left;
2652  in[1] = irn_right;
2653 
2654  ir_node *res = new_ir_node(dbgi, irg, block, op_Sub, mode_is_reference(get_irn_mode(irn_right)) ? get_reference_offset_mode(get_irn_mode(irn_left)) : get_irn_mode(irn_left), 2, in);
2655 
2656  verify_new_node(res);
2657  res = optimize_node(res);
2658  return res;
2659 }
2660 
2661 ir_node *new_r_Sub(ir_node *block, ir_node * irn_left, ir_node * irn_right)
2662 {
2663  return new_rd_Sub(NULL, block, irn_left, irn_right);
2664 }
2665 
2666 ir_node *new_d_Sub(dbg_info *dbgi, ir_node * irn_left, ir_node * irn_right)
2667 {
2669  ir_node *res = new_rd_Sub(dbgi, get_cur_block(), irn_left, irn_right);
2670  return res;
2671 }
2672 
2673 ir_node *new_Sub(ir_node * irn_left, ir_node * irn_right)
2674 {
2675  return new_d_Sub(NULL, irn_left, irn_right);
2676 }
2677 
2679 {
2680  return get_Sub_left(node);
2681 }
2682 
2683 void (set_Sub_left)(ir_node *node, ir_node *left)
2684 {
2685  set_Sub_left_(node, left);
2686 }
2687 
2689 {
2690  return get_Sub_right(node);
2691 }
2692 
2693 void (set_Sub_right)(ir_node *node, ir_node *right)
2694 {
2695  set_Sub_right_(node, right);
2696 }
2697 ir_op *op_Sub;
2699 {
2700  return op_Sub;
2701 }
2702 
2703 ir_node *new_rd_Switch(dbg_info *dbgi, ir_node *block, ir_node * irn_selector, unsigned n_outs, ir_switch_table* table)
2704 {
2705 
2706  ir_graph *irg = get_irn_irg(block);
2707 
2708  ir_node *in[1];
2709  in[0] = irn_selector;
2710 
2711  ir_node *res = new_ir_node(dbgi, irg, block, op_Switch, mode_T, 1, in);
2712  switch_attr *attr = &res->attr.switcha;
2713  attr->n_outs = n_outs;
2714  attr->table = table;
2715  verify_new_node(res);
2716  res = optimize_node(res);
2717  return res;
2718 }
2719 
2720 ir_node *new_r_Switch(ir_node *block, ir_node * irn_selector, unsigned n_outs, ir_switch_table* table)
2721 {
2722  return new_rd_Switch(NULL, block, irn_selector, n_outs, table);
2723 }
2724 
2725 ir_node *new_d_Switch(dbg_info *dbgi, ir_node * irn_selector, unsigned n_outs, ir_switch_table* table)
2726 {
2728  ir_node *res = new_rd_Switch(dbgi, get_cur_block(), irn_selector, n_outs, table);
2729  return res;
2730 }
2731 
2732 ir_node *new_Switch(ir_node * irn_selector, unsigned n_outs, ir_switch_table* table)
2733 {
2734  return new_d_Switch(NULL, irn_selector, n_outs, table);
2735 }
2736 
2738 {
2739  return get_Switch_selector(node);
2740 }
2741 
2742 void (set_Switch_selector)(ir_node *node, ir_node *selector)
2743 {
2744  set_Switch_selector_(node, selector);
2745 }
2746 ir_op *op_Switch;
2748 {
2749  return op_Switch;
2750 }
2751 
2752 ir_node *new_rd_Sync(dbg_info *dbgi, ir_node *block, int arity, ir_node *const * in)
2753 {
2754 
2755  ir_graph *irg = get_irn_irg(block);
2756 
2757 
2758 
2759  ir_node *res = new_ir_node(dbgi, irg, block, op_Sync, mode_M, arity, in);
2760 
2761  verify_new_node(res);
2762  res = optimize_node(res);
2763  return res;
2764 }
2765 
2766 ir_node *new_r_Sync(ir_node *block, int arity, ir_node *const * in)
2767 {
2768  return new_rd_Sync(NULL, block, arity, in);
2769 }
2770 
2771 ir_node *new_d_Sync(dbg_info *dbgi, int arity, ir_node *const * in)
2772 {
2774  ir_node *res = new_rd_Sync(dbgi, get_cur_block(), arity, in);
2775  return res;
2776 }
2777 
2778 ir_node *new_Sync(int arity, ir_node *const * in)
2779 {
2780  return new_d_Sync(NULL, arity, in);
2781 }
2782 
2783 int (get_Sync_n_preds)(ir_node const *node)
2784 {
2785  return get_Sync_n_preds_(node);
2786 }
2787 
2788 ir_node *(get_Sync_pred)(ir_node const *node, int pos)
2789 {
2790  return get_Sync_pred_(node, pos);
2791 }
2792 
2793 void (set_Sync_pred)(ir_node *node, int pos, ir_node *pred)
2794 {
2795  set_Sync_pred_(node, pos, pred);
2796 }
2797 
2799 {
2800  return get_Sync_pred_arr_(node);
2801 }
2802 ir_op *op_Sync;
2804 {
2805  return op_Sync;
2806 }
2807 
2808 ir_node *new_rd_Tuple(dbg_info *dbgi, ir_node *block, int arity, ir_node *const * in)
2809 {
2810 
2811  ir_graph *irg = get_irn_irg(block);
2812 
2813 
2814 
2815  ir_node *res = new_ir_node(dbgi, irg, block, op_Tuple, mode_T, arity, in);
2816 
2817  verify_new_node(res);
2818  res = optimize_node(res);
2819  return res;
2820 }
2821 
2822 ir_node *new_r_Tuple(ir_node *block, int arity, ir_node *const * in)
2823 {
2824  return new_rd_Tuple(NULL, block, arity, in);
2825 }
2826 
2827 ir_node *new_d_Tuple(dbg_info *dbgi, int arity, ir_node *const * in)
2828 {
2830  ir_node *res = new_rd_Tuple(dbgi, get_cur_block(), arity, in);
2831  return res;
2832 }
2833 
2834 ir_node *new_Tuple(int arity, ir_node *const * in)
2835 {
2836  return new_d_Tuple(NULL, arity, in);
2837 }
2838 
2839 int (get_Tuple_n_preds)(ir_node const *node)
2840 {
2841  return get_Tuple_n_preds_(node);
2842 }
2843 
2844 ir_node *(get_Tuple_pred)(ir_node const *node, int pos)
2845 {
2846  return get_Tuple_pred_(node, pos);
2847 }
2848 
2849 void (set_Tuple_pred)(ir_node *node, int pos, ir_node *pred)
2850 {
2851  set_Tuple_pred_(node, pos, pred);
2852 }
2853 
2855 {
2856  return get_Tuple_pred_arr_(node);
2857 }
2858 ir_op *op_Tuple;
2860 {
2861  return op_Tuple;
2862 }
2863 
2865 {
2866  ir_node *block = get_irg_start_block(irg);
2867 
2868 
2869 
2870  ir_node *res = new_ir_node(dbgi, irg, block, op_Unknown, mode, 0, NULL);
2871 
2872  verify_new_node(res);
2873  res = optimize_node(res);
2874  return res;
2875 }
2876 
2878 {
2879  return new_rd_Unknown(NULL, irg, mode);
2880 }
2881 
2883 {
2885  ir_node *res = new_rd_Unknown(dbgi, current_ir_graph, mode);
2886  return res;
2887 }
2888 
2890 {
2891  return new_d_Unknown(NULL, mode);
2892 }
2893 ir_op *op_Unknown;
2895 {
2896  return op_Unknown;
2897 }
2898 
2899 
2900 int (is_ASM)(const ir_node *node)
2901 {
2902  return is_ASM_(node);
2903 }
2904 
2906 {
2907  return get_ASM_input_constraints_(node);
2908 }
2909 
2910 void (set_ASM_input_constraints)(ir_node *node, ir_asm_constraint* input_constraints)
2911 {
2912  set_ASM_input_constraints_(node, input_constraints);
2913 }
2914 
2916 {
2917  return get_ASM_output_constraints_(node);
2918 }
2919 
2920 void (set_ASM_output_constraints)(ir_node *node, ir_asm_constraint* output_constraints)
2921 {
2922  set_ASM_output_constraints_(node, output_constraints);
2923 }
2924 
2926 {
2927  return get_ASM_clobbers_(node);
2928 }
2929 
2930 void (set_ASM_clobbers)(ir_node *node, ident** clobbers)
2931 {
2932  set_ASM_clobbers_(node, clobbers);
2933 }
2934 
2935 ident* (get_ASM_text)(const ir_node *node)
2936 {
2937  return get_ASM_text_(node);
2938 }
2939 
2940 void (set_ASM_text)(ir_node *node, ident* text)
2941 {
2942  set_ASM_text_(node, text);
2943 }
2944 
2945 int (is_Add)(const ir_node *node)
2946 {
2947  return is_Add_(node);
2948 }
2949 
2950 int (is_Address)(const ir_node *node)
2951 {
2952  return is_Address_(node);
2953 }
2954 
2956 {
2957  return get_Address_entity_(node);
2958 }
2959 
2960 void (set_Address_entity)(ir_node *node, ir_entity* entity)
2961 {
2962  set_Address_entity_(node, entity);
2963 }
2964 
2965 int (is_Align)(const ir_node *node)
2966 {
2967  return is_Align_(node);
2968 }
2969 
2971 {
2972  return get_Align_type_(node);
2973 }
2974 
2975 void (set_Align_type)(ir_node *node, ir_type* type)
2976 {
2977  set_Align_type_(node, type);
2978 }
2979 
2980 int (is_Alloc)(const ir_node *node)
2981 {
2982  return is_Alloc_(node);
2983 }
2984 
2985 unsigned (get_Alloc_alignment)(const ir_node *node)
2986 {
2987  return get_Alloc_alignment_(node);
2988 }
2989 
2990 void (set_Alloc_alignment)(ir_node *node, unsigned alignment)
2991 {
2992  set_Alloc_alignment_(node, alignment);
2993 }
2994 
2995 int (is_Anchor)(const ir_node *node)
2996 {
2997  return is_Anchor_(node);
2998 }
2999 
3000 int (is_And)(const ir_node *node)
3001 {
3002  return is_And_(node);
3003 }
3004 
3005 int (is_Bad)(const ir_node *node)
3006 {
3007  return is_Bad_(node);
3008 }
3009 
3010 int (is_Bitcast)(const ir_node *node)
3011 {
3012  return is_Bitcast_(node);
3013 }
3014 
3015 int (is_Block)(const ir_node *node)
3016 {
3017  return is_Block_(node);
3018 }
3019 
3021 {
3022  return get_Block_entity_(node);
3023 }
3024 
3025 void (set_Block_entity)(ir_node *node, ir_entity* entity)
3026 {
3027  set_Block_entity_(node, entity);
3028 }
3029 
3030 int (is_Builtin)(const ir_node *node)
3031 {
3032  return is_Builtin_(node);
3033 }
3034 
3036 {
3037  return get_Builtin_kind_(node);
3038 }
3039 
3041 {
3042  set_Builtin_kind_(node, kind);
3043 }
3044 
3046 {
3047  return get_Builtin_type_(node);
3048 }
3049 
3050 void (set_Builtin_type)(ir_node *node, ir_type* type)
3051 {
3052  set_Builtin_type_(node, type);
3053 }
3054 
3055 int (is_Call)(const ir_node *node)
3056 {
3057  return is_Call_(node);
3058 }
3059 
3061 {
3062  return get_Call_type_(node);
3063 }
3064 
3065 void (set_Call_type)(ir_node *node, ir_type* type)
3066 {
3067  set_Call_type_(node, type);
3068 }
3069 
3070 int (is_Cmp)(const ir_node *node)
3071 {
3072  return is_Cmp_(node);
3073 }
3074 
3076 {
3077  return get_Cmp_relation_(node);
3078 }
3079 
3080 void (set_Cmp_relation)(ir_node *node, ir_relation relation)
3081 {
3082  set_Cmp_relation_(node, relation);
3083 }
3084 
3085 int (is_Cond)(const ir_node *node)
3086 {
3087  return is_Cond_(node);
3088 }
3089 
3091 {
3092  return get_Cond_jmp_pred_(node);
3093 }
3094 
3096 {
3097  set_Cond_jmp_pred_(node, jmp_pred);
3098 }
3099 
3100 int (is_Confirm)(const ir_node *node)
3101 {
3102  return is_Confirm_(node);
3103 }
3104 
3106 {
3107  return get_Confirm_relation_(node);
3108 }
3109 
3111 {
3112  set_Confirm_relation_(node, relation);
3113 }
3114 
3115 int (is_Const)(const ir_node *node)
3116 {
3117  return is_Const_(node);
3118 }
3119 
3121 {
3122  return get_Const_tarval_(node);
3123 }
3124 
3125 void (set_Const_tarval)(ir_node *node, ir_tarval* tarval)
3126 {
3127  set_Const_tarval_(node, tarval);
3128 }
3129 
3130 int (is_Conv)(const ir_node *node)
3131 {
3132  return is_Conv_(node);
3133 }
3134 
3135 int (is_CopyB)(const ir_node *node)
3136 {
3137  return is_CopyB_(node);
3138 }
3139 
3141 {
3142  return get_CopyB_type_(node);
3143 }
3144 
3145 void (set_CopyB_type)(ir_node *node, ir_type* type)
3146 {
3147  set_CopyB_type_(node, type);
3148 }
3149 
3150 ir_volatility (get_CopyB_volatility)(const ir_node *node)
3151 {
3152  return get_CopyB_volatility_(node);
3153 }
3154 
3155 void (set_CopyB_volatility)(ir_node *node, ir_volatility volatility)
3156 {
3157  set_CopyB_volatility_(node, volatility);
3158 }
3159 
3160 int (is_Deleted)(const ir_node *node)
3161 {
3162  return is_Deleted_(node);
3163 }
3164 
3165 int (is_Div)(const ir_node *node)
3166 {
3167  return is_Div_(node);
3168 }
3169 
3171 {
3172  return get_Div_resmode_(node);
3173 }
3174 
3175 void (set_Div_resmode)(ir_node *node, ir_mode* resmode)
3176 {
3177  set_Div_resmode_(node, resmode);
3178 }
3179 
3180 int (get_Div_no_remainder)(const ir_node *node)
3181 {
3182  return get_Div_no_remainder_(node);
3183 }
3184 
3185 void (set_Div_no_remainder)(ir_node *node, int no_remainder)
3186 {
3187  set_Div_no_remainder_(node, no_remainder);
3188 }
3189 
3190 int (is_Dummy)(const ir_node *node)
3191 {
3192  return is_Dummy_(node);
3193 }
3194 
3195 int (is_End)(const ir_node *node)
3196 {
3197  return is_End_(node);
3198 }
3199 
3200 int (is_Eor)(const ir_node *node)
3201 {
3202  return is_Eor_(node);
3203 }
3204 
3205 int (is_Free)(const ir_node *node)
3206 {
3207  return is_Free_(node);
3208 }
3209 
3210 int (is_IJmp)(const ir_node *node)
3211 {
3212  return is_IJmp_(node);
3213 }
3214 
3215 int (is_Id)(const ir_node *node)
3216 {
3217  return is_Id_(node);
3218 }
3219 
3220 int (is_Jmp)(const ir_node *node)
3221 {
3222  return is_Jmp_(node);
3223 }
3224 
3225 int (is_Load)(const ir_node *node)
3226 {
3227  return is_Load_(node);
3228 }
3229 
3231 {
3232  return get_Load_mode_(node);
3233 }
3234 
3235 void (set_Load_mode)(ir_node *node, ir_mode* mode)
3236 {
3237  set_Load_mode_(node, mode);
3238 }
3239 
3241 {
3242  return get_Load_type_(node);
3243 }
3244 
3245 void (set_Load_type)(ir_node *node, ir_type* type)
3246 {
3247  set_Load_type_(node, type);
3248 }
3249 
3250 ir_volatility (get_Load_volatility)(const ir_node *node)
3251 {
3252  return get_Load_volatility_(node);
3253 }
3254 
3255 void (set_Load_volatility)(ir_node *node, ir_volatility volatility)
3256 {
3257  set_Load_volatility_(node, volatility);
3258 }
3259 
3260 ir_align (get_Load_unaligned)(const ir_node *node)
3261 {
3262  return get_Load_unaligned_(node);
3263 }
3264 
3265 void (set_Load_unaligned)(ir_node *node, ir_align unaligned)
3266 {
3267  set_Load_unaligned_(node, unaligned);
3268 }
3269 
3270 int (is_Member)(const ir_node *node)
3271 {
3272  return is_Member_(node);
3273 }
3274 
3276 {
3277  return get_Member_entity_(node);
3278 }
3279 
3280 void (set_Member_entity)(ir_node *node, ir_entity* entity)
3281 {
3282  set_Member_entity_(node, entity);
3283 }
3284 
3285 int (is_Minus)(const ir_node *node)
3286 {
3287  return is_Minus_(node);
3288 }
3289 
3290 int (is_Mod)(const ir_node *node)
3291 {
3292  return is_Mod_(node);
3293 }
3294 
3296 {
3297  return get_Mod_resmode_(node);
3298 }
3299 
3300 void (set_Mod_resmode)(ir_node *node, ir_mode* resmode)
3301 {
3302  set_Mod_resmode_(node, resmode);
3303 }
3304 
3305 int (is_Mul)(const ir_node *node)
3306 {
3307  return is_Mul_(node);
3308 }
3309 
3310 int (is_Mulh)(const ir_node *node)
3311 {
3312  return is_Mulh_(node);
3313 }
3314 
3315 int (is_Mux)(const ir_node *node)
3316 {
3317  return is_Mux_(node);
3318 }
3319 
3320 int (is_NoMem)(const ir_node *node)
3321 {
3322  return is_NoMem_(node);
3323 }
3324 
3325 int (is_Not)(const ir_node *node)
3326 {
3327  return is_Not_(node);
3328 }
3329 
3330 int (is_Offset)(const ir_node *node)
3331 {
3332  return is_Offset_(node);
3333 }
3334 
3336 {
3337  return get_Offset_entity_(node);
3338 }
3339 
3340 void (set_Offset_entity)(ir_node *node, ir_entity* entity)
3341 {
3342  set_Offset_entity_(node, entity);
3343 }
3344 
3345 int (is_Or)(const ir_node *node)
3346 {
3347  return is_Or_(node);
3348 }
3349 
3350 int (is_Phi)(const ir_node *node)
3351 {
3352  return is_Phi_(node);
3353 }
3354 
3355 int (get_Phi_loop)(const ir_node *node)
3356 {
3357  return get_Phi_loop_(node);
3358 }
3359 
3360 void (set_Phi_loop)(ir_node *node, int loop)
3361 {
3362  set_Phi_loop_(node, loop);
3363 }
3364 
3365 int (is_Pin)(const ir_node *node)
3366 {
3367  return is_Pin_(node);
3368 }
3369 
3370 int (is_Proj)(const ir_node *node)
3371 {
3372  return is_Proj_(node);
3373 }
3374 
3375 unsigned (get_Proj_num)(const ir_node *node)
3376 {
3377  return get_Proj_num_(node);
3378 }
3379 
3380 void (set_Proj_num)(ir_node *node, unsigned num)
3381 {
3382  set_Proj_num_(node, num);
3383 }
3384 
3385 int (is_Raise)(const ir_node *node)
3386 {
3387  return is_Raise_(node);
3388 }
3389 
3390 int (is_Return)(const ir_node *node)
3391 {
3392  return is_Return_(node);
3393 }
3394 
3395 int (is_Sel)(const ir_node *node)
3396 {
3397  return is_Sel_(node);
3398 }
3399 
3401 {
3402  return get_Sel_type_(node);
3403 }
3404 
3405 void (set_Sel_type)(ir_node *node, ir_type* type)
3406 {
3407  set_Sel_type_(node, type);
3408 }
3409 
3410 int (is_Shl)(const ir_node *node)
3411 {
3412  return is_Shl_(node);
3413 }
3414 
3415 int (is_Shr)(const ir_node *node)
3416 {
3417  return is_Shr_(node);
3418 }
3419 
3420 int (is_Shrs)(const ir_node *node)
3421 {
3422  return is_Shrs_(node);
3423 }
3424 
3425 int (is_Size)(const ir_node *node)
3426 {
3427  return is_Size_(node);
3428 }
3429 
3431 {
3432  return get_Size_type_(node);
3433 }
3434 
3435 void (set_Size_type)(ir_node *node, ir_type* type)
3436 {
3437  set_Size_type_(node, type);
3438 }
3439 
3440 int (is_Start)(const ir_node *node)
3441 {
3442  return is_Start_(node);
3443 }
3444 
3445 int (is_Store)(const ir_node *node)
3446 {
3447  return is_Store_(node);
3448 }
3449 
3451 {
3452  return get_Store_type_(node);
3453 }
3454 
3455 void (set_Store_type)(ir_node *node, ir_type* type)
3456 {
3457  set_Store_type_(node, type);
3458 }
3459 
3460 ir_volatility (get_Store_volatility)(const ir_node *node)
3461 {
3462  return get_Store_volatility_(node);
3463 }
3464 
3465 void (set_Store_volatility)(ir_node *node, ir_volatility volatility)
3466 {
3467  set_Store_volatility_(node, volatility);
3468 }
3469 
3470 ir_align (get_Store_unaligned)(const ir_node *node)
3471 {
3472  return get_Store_unaligned_(node);
3473 }
3474 
3475 void (set_Store_unaligned)(ir_node *node, ir_align unaligned)
3476 {
3477  set_Store_unaligned_(node, unaligned);
3478 }
3479 
3480 int (is_Sub)(const ir_node *node)
3481 {
3482  return is_Sub_(node);
3483 }
3484 
3485 int (is_Switch)(const ir_node *node)
3486 {
3487  return is_Switch_(node);
3488 }
3489 
3490 unsigned (get_Switch_n_outs)(const ir_node *node)
3491 {
3492  return get_Switch_n_outs_(node);
3493 }
3494 
3495 void (set_Switch_n_outs)(ir_node *node, unsigned n_outs)
3496 {
3497  set_Switch_n_outs_(node, n_outs);
3498 }
3499 
3501 {
3502  return get_Switch_table_(node);
3503 }
3504 
3506 {
3507  set_Switch_table_(node, table);
3508 }
3509 
3510 int (is_Sync)(const ir_node *node)
3511 {
3512  return is_Sync_(node);
3513 }
3514 
3515 int (is_Tuple)(const ir_node *node)
3516 {
3517  return is_Tuple_(node);
3518 }
3519 
3520 int (is_Unknown)(const ir_node *node)
3521 {
3522  return is_Unknown_(node);
3523 }
3524 
3525 int (is_binop)(const ir_node *node)
3526 {
3527  return is_binop_(node);
3528 }
3529 
3530 int (is_entconst)(const ir_node *node)
3531 {
3532  return is_entconst_(node);
3533 }
3534 
3536 {
3537  return get_entconst_entity_(node);
3538 }
3539 
3540 void (set_entconst_entity)(ir_node *node, ir_entity* entity)
3541 {
3542  set_entconst_entity_(node, entity);
3543 }
3544 
3545 int (is_typeconst)(const ir_node *node)
3546 {
3547  return is_typeconst_(node);
3548 }
3549 
3551 {
3552  return get_typeconst_type_(node);
3553 }
3554 
3555 void (set_typeconst_type)(ir_node *node, ir_type* type)
3556 {
3557  set_typeconst_type_(node, type);
3558 }
3559 
3560 void ir_init_opcodes(void)
3561 {
3573  op_Block = new_ir_op(iro_Block, "Block", op_pin_state_pinned, irop_flag_none, oparity_variable, -1, sizeof(block_attr));
3579  op_Cmp = new_ir_op(iro_Cmp, "Cmp", op_pin_state_floats, irop_flag_none, oparity_binary, 0, sizeof(cmp_attr));
3581  op_Confirm = new_ir_op(iro_Confirm, "Confirm", op_pin_state_pinned, irop_flag_none, oparity_any, -1, sizeof(confirm_attr));
3584  op_CopyB = new_ir_op(iro_CopyB, "CopyB", op_pin_state_floats, irop_flag_uses_memory, oparity_any, -1, sizeof(copyb_attr));
3601  op_Member = new_ir_op(iro_Member, "Member", op_pin_state_floats, irop_flag_none, oparity_any, -1, sizeof(member_attr));
3613  op_Phi = new_ir_op(iro_Phi, "Phi", op_pin_state_pinned, irop_flag_none, oparity_variable, -1, sizeof(phi_attr));
3615  op_Proj = new_ir_op(iro_Proj, "Proj", op_pin_state_floats, irop_flag_none, oparity_any, -1, sizeof(proj_attr));
3618  op_Sel = new_ir_op(iro_Sel, "Sel", op_pin_state_floats, irop_flag_none, oparity_any, -1, sizeof(sel_attr));
3632 }
3633 
3634 void ir_finish_opcodes(void)
3635 {
3636  free_ir_op(op_ASM); op_ASM = NULL;
3637  free_ir_op(op_Add); op_Add = NULL;
3638  free_ir_op(op_Address); op_Address = NULL;
3639  free_ir_op(op_Align); op_Align = NULL;
3640  free_ir_op(op_Alloc); op_Alloc = NULL;
3641  free_ir_op(op_Anchor); op_Anchor = NULL;
3642  free_ir_op(op_And); op_And = NULL;
3643  free_ir_op(op_Bad); op_Bad = NULL;
3644  free_ir_op(op_Bitcast); op_Bitcast = NULL;
3645  free_ir_op(op_Block); op_Block = NULL;
3646  free_ir_op(op_Builtin); op_Builtin = NULL;
3647  free_ir_op(op_Call); op_Call = NULL;
3648  free_ir_op(op_Cmp); op_Cmp = NULL;
3649  free_ir_op(op_Cond); op_Cond = NULL;
3650  free_ir_op(op_Confirm); op_Confirm = NULL;
3651  free_ir_op(op_Const); op_Const = NULL;
3652  free_ir_op(op_Conv); op_Conv = NULL;
3653  free_ir_op(op_CopyB); op_CopyB = NULL;
3654  free_ir_op(op_Deleted); op_Deleted = NULL;
3655  free_ir_op(op_Div); op_Div = NULL;
3656  free_ir_op(op_Dummy); op_Dummy = NULL;
3657  free_ir_op(op_End); op_End = NULL;
3658  free_ir_op(op_Eor); op_Eor = NULL;
3659  free_ir_op(op_Free); op_Free = NULL;
3660  free_ir_op(op_IJmp); op_IJmp = NULL;
3661  free_ir_op(op_Id); op_Id = NULL;
3662  free_ir_op(op_Jmp); op_Jmp = NULL;
3663  free_ir_op(op_Load); op_Load = NULL;
3664  free_ir_op(op_Member); op_Member = NULL;
3665  free_ir_op(op_Minus); op_Minus = NULL;
3666  free_ir_op(op_Mod); op_Mod = NULL;
3667  free_ir_op(op_Mul); op_Mul = NULL;
3668  free_ir_op(op_Mulh); op_Mulh = NULL;
3669  free_ir_op(op_Mux); op_Mux = NULL;
3670  free_ir_op(op_NoMem); op_NoMem = NULL;
3671  free_ir_op(op_Not); op_Not = NULL;
3672  free_ir_op(op_Offset); op_Offset = NULL;
3673  free_ir_op(op_Or); op_Or = NULL;
3674  free_ir_op(op_Phi); op_Phi = NULL;
3675  free_ir_op(op_Pin); op_Pin = NULL;
3676  free_ir_op(op_Proj); op_Proj = NULL;
3677  free_ir_op(op_Raise); op_Raise = NULL;
3678  free_ir_op(op_Return); op_Return = NULL;
3679  free_ir_op(op_Sel); op_Sel = NULL;
3680  free_ir_op(op_Shl); op_Shl = NULL;
3681  free_ir_op(op_Shr); op_Shr = NULL;
3682  free_ir_op(op_Shrs); op_Shrs = NULL;
3683  free_ir_op(op_Size); op_Size = NULL;
3684  free_ir_op(op_Start); op_Start = NULL;
3685  free_ir_op(op_Store); op_Store = NULL;
3686  free_ir_op(op_Sub); op_Sub = NULL;
3687  free_ir_op(op_Switch); op_Switch = NULL;
3688  free_ir_op(op_Sync); op_Sync = NULL;
3689  free_ir_op(op_Tuple); op_Tuple = NULL;
3690  free_ir_op(op_Unknown); op_Unknown = NULL;
3691 }
int() is_Align(const ir_node *node)
Test if node is a Align.
Definition: gen_irnode.c:2965
void() set_ASM_mem(ir_node *node, ir_node *mem)
Sets mem input of an ASM node.
Definition: gen_irnode.c:23
ir_node * new_rd_Raise(dbg_info *dbgi, ir_node *block, ir_node *irn_mem, ir_node *irn_exo_ptr)
Construct a Raise node.
Definition: gen_irnode.c:2139
ir_type *() get_Size_type(const ir_node *node)
Returns type attribute of a Size node.
Definition: gen_irnode.c:3430
ir_node * new_Tuple(int arity, ir_node *const *in)
Construct a Tuple node.
Definition: gen_irnode.c:2834
int() is_Add(const ir_node *node)
Test if node is a Add.
Definition: gen_irnode.c:2945
ir_volatility() get_Load_volatility(const ir_node *node)
Returns volatility attribute of a Load node.
Definition: gen_irnode.c:3250
ir_node **() get_End_keepalive_arr(ir_node *node)
Get an array of all End keepalives.
Definition: gen_irnode.c:1170
memory dependency
Definition: nodes.h:1853
int() is_Minus(const ir_node *node)
Test if node is a Minus.
Definition: gen_irnode.c:3285
Nothing.
Definition: irop.h:43
void() set_Mod_mem(ir_node *node, ir_node *mem)
Sets mem input of a Mod node.
Definition: gen_irnode.c:1595
cond_jmp_predicate() get_Cond_jmp_pred(const ir_node *node)
Returns jmp_pred attribute of a Cond node.
Definition: gen_irnode.c:3090
void() set_Mod_resmode(ir_node *node, ir_mode *resmode)
Sets resmode attribute of a Mod node.
Definition: gen_irnode.c:3300
ir_node * new_rd_Start(dbg_info *dbgi, ir_graph *irg)
Construct a Start node.
Definition: gen_irnode.c:2536
Definition: nodes.h:55
void() set_CopyB_dst(ir_node *node, ir_node *dst)
Sets dst input of a CopyB node.
Definition: gen_irnode.c:992
ir_mode * mode_P
pointer
Definition: irmode.h:202
void ir_op_set_memory_index(ir_op *op, int memory_index)
Sets memory input of operation using memory.
Set if the operation can change the control flow because of an exception.
Definition: irop.h:46
Definition: nodes.h:64
ir_node * new_rd_Tuple(dbg_info *dbgi, ir_node *block, int arity, ir_node *const *in)
Construct a Tuple node.
Definition: gen_irnode.c:2808
void() set_Block_entity(ir_node *node, ir_entity *entity)
Sets entity attribute of a Block node.
Definition: gen_irnode.c:3025
memory dependency
Definition: nodes.h:1424
int() is_Builtin(const ir_node *node)
Test if node is a Builtin.
Definition: gen_irnode.c:3030
ir_node **() get_Return_res_arr(ir_node *node)
Get an array of all Return ress.
Definition: gen_irnode.c:2257
void() set_Anchor_end_block(ir_node *node, ir_node *end_block)
Sets end_block input of an Anchor node.
Definition: gen_irnode.c:247
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.
Definition: gen_irnode.c:559
ir_node * new_d_Mux(dbg_info *dbgi, ir_node *irn_sel, ir_node *irn_false, ir_node *irn_true)
Construct a Mux node.
Definition: gen_irnode.c:1763
ir_node *() get_Anchor_args(const ir_node *node)
Returns args input of an Anchor node.
Definition: gen_irnode.c:302
ir_node *() get_Mux_true(const ir_node *node)
Returns true input of a Mux node.
Definition: gen_irnode.c:1795
ir_node * get_irg_end_block(const ir_graph *irg)
Returns the end block of an IR graph.
ir_node **() get_Phi_pred_arr(ir_node *node)
Get an array of all Phi preds.
Definition: gen_irnode.c:2034
void() set_Or_right(ir_node *node, ir_node *right)
Sets right input of an Or node.
Definition: gen_irnode.c:1976
ir_node *() get_Return_res(ir_node const *node, int pos)
Get the Return res with index pos.
Definition: gen_irnode.c:2247
ir_op * get_op_Minus(void)
Returns opcode for Minus nodes.
Definition: gen_irnode.c:1548
unsigned() get_Alloc_alignment(const ir_node *node)
Returns alignment attribute of an Alloc node.
Definition: gen_irnode.c:2985
const char ident
Identifier.
Definition: firm_types.h:50
void() set_Add_right(ir_node *node, ir_node *right)
Sets right input of an Add node.
Definition: gen_irnode.c:101
ir_node * new_rd_Offset(dbg_info *dbgi, ir_graph *irg, ir_mode *mode, ir_entity *entity)
Construct an Offset node.
Definition: gen_irnode.c:1892
void() set_Store_ptr(ir_node *node, ir_node *ptr)
Sets ptr input of a Store node.
Definition: gen_irnode.c:2625
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.
Definition: gen_irnode.c:554
void() set_Shr_right(ir_node *node, ir_node *right)
Sets right input of a Shr node.
Definition: gen_irnode.c:2432
ir_node *() get_Not_op(const ir_node *node)
Returns op input of a Not node.
Definition: gen_irnode.c:1877
Forking control flow at this operation.
Definition: irop.h:49
int() is_Shrs(const ir_node *node)
Test if node is a Shrs.
Definition: gen_irnode.c:3420
ir_graph * get_irn_irg(const ir_node *node)
Returns the ir_graph this node belongs to.
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.
Definition: gen_irnode.c:2197
void() set_Anchor_end(ir_node *node, ir_node *end)
Sets end input of an Anchor node.
Definition: gen_irnode.c:267
ir_node * new_d_Or(dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right)
Construct an Or node.
Definition: gen_irnode.c:1949
int() is_IJmp(const ir_node *node)
Test if node is a IJmp.
Definition: gen_irnode.c:3210
void() set_Shr_left(ir_node *node, ir_node *left)
Sets left input of a Shr node.
Definition: gen_irnode.c:2422
ir_op * op_Div
Div opcode.
Definition: nodes.h:1638
ir_node * new_Start(void)
Construct a Start node.
Definition: gen_irnode.c:2561
ir_node * new_Unknown(ir_mode *mode)
Construct an Unknown node.
Definition: gen_irnode.c:2889
Definition: nodes.h:19
ir_node *() get_Mod_left(const ir_node *node)
Returns left input of a Mod node.
Definition: gen_irnode.c:1600
ir_node *() get_Div_right(const ir_node *node)
Returns right input of a Div node.
Definition: gen_irnode.c:1075
ir_op * get_op_Shr(void)
Returns opcode for Shr nodes.
Definition: gen_irnode.c:2437
ir_op * get_op_Or(void)
Returns opcode for Or nodes.
Definition: gen_irnode.c:1981
ir_op * get_op_Size(void)
Returns opcode for Size nodes.
Definition: gen_irnode.c:2531
int() is_Call(const ir_node *node)
Test if node is a Call.
Definition: gen_irnode.c:3055
void() set_Confirm_relation(ir_node *node, ir_relation relation)
Sets relation attribute of a Confirm node.
Definition: gen_irnode.c:3110
ir_node *() get_Minus_op(const ir_node *node)
Returns op input of a Minus node.
Definition: gen_irnode.c:1538
ir_node * new_Cond(ir_node *irn_selector)
Construct a Cond node.
Definition: gen_irnode.c:779
ir_relation() get_Confirm_relation(const ir_node *node)
Returns relation attribute of a Confirm node.
Definition: gen_irnode.c:3105
ir_node *() get_Builtin_mem(const ir_node *node)
Returns mem input of a Builtin node.
Definition: gen_irnode.c:571
ir_node * new_rd_Align(dbg_info *dbgi, ir_graph *irg, ir_mode *mode, ir_type *type)
Construct an Align node.
Definition: gen_irnode.c:147
control flow when no exception occurs
Definition: nodes.h:2358
Definition: nodes.h:34
ir_node **() get_Call_param_arr(ir_node *node)
Get an array of all Call params.
Definition: gen_irnode.c:682
int() is_Dummy(const ir_node *node)
Test if node is a Dummy.
Definition: gen_irnode.c:3190
ir_op * get_op_Tuple(void)
Returns opcode for Tuple nodes.
Definition: gen_irnode.c:2859
Definition: nodes.h:33
ir_node * new_d_Sub(dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right)
Construct a Sub node.
Definition: gen_irnode.c:2666
Definition: nodes.h:42
ir_node * new_r_Raise(ir_node *block, ir_node *irn_mem, ir_node *irn_exo_ptr)
Construct a Raise node.
Definition: gen_irnode.c:2155
ir_node *() get_Store_ptr(const ir_node *node)
Returns ptr input of a Store node.
Definition: gen_irnode.c:2620
ir_op * op_Shr
Shr opcode.
Definition: nodes.h:3542
int() is_Load(const ir_node *node)
Test if node is a Load.
Definition: gen_irnode.c:3225
void() set_Minus_op(ir_node *node, ir_node *op)
Sets op input of a Minus node.
Definition: gen_irnode.c:1543
int() is_Sub(const ir_node *node)
Test if node is a Sub.
Definition: gen_irnode.c:3480
memory dependency
Definition: nodes.h:823
ir_node * new_r_NoMem(ir_graph *irg)
Construct a NoMem node.
Definition: gen_irnode.c:1823
ident **() get_ASM_clobbers(const ir_node *node)
Returns clobbers attribute of an ASM node.
Definition: gen_irnode.c:2925
ir_mode * mode_BB
block
Definition: irmode.h:218
ir_node * new_Sel(ir_node *irn_ptr, ir_node *irn_index, ir_type *type)
Construct a Sel node.
Definition: gen_irnode.c:2296
ir_node * new_Sub(ir_node *irn_left, ir_node *irn_right)
Construct a Sub node.
Definition: gen_irnode.c:2673
void() set_Load_type(ir_node *node, ir_type *type)
Sets type attribute of a Load node.
Definition: gen_irnode.c:3245
ir_node * new_d_Mulh(dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right)
Construct a Mulh node.
Definition: gen_irnode.c:1704
ir_node *() get_Shr_right(const ir_node *node)
Returns right input of a Shr node.
Definition: gen_irnode.c:2427
unsigned() get_Proj_num(const ir_node *node)
Returns num attribute of a Proj node.
Definition: gen_irnode.c:3375
ir_op * get_op_Free(void)
Returns opcode for Free nodes.
Definition: gen_irnode.c:1291
ir_op * op_Sub
Sub opcode.
Definition: nodes.h:3932
ir_node * new_Align(ir_mode *mode, ir_type *type)
Construct an Align node.
Definition: gen_irnode.c:173
ir_op * get_op_Call(void)
Returns opcode for Call nodes.
Definition: gen_irnode.c:687
ir_mode * get_tarval_mode(ir_tarval const *tv)
Returns the mode of the tarval.
Definition: nodes.h:38
ir_node * new_d_Jmp(dbg_info *dbgi)
Construct a Jmp node.
Definition: gen_irnode.c:1377
ir_op * op_Cmp
Cmp opcode.
Definition: nodes.h:1109
ir_op * op_Bad
Bad opcode.
Definition: nodes.h:665
ir_node *() get_ASM_input(ir_node const *node, int pos)
Get the ASM input with index pos.
Definition: gen_irnode.c:33
ir_node * new_r_Free(ir_node *block, ir_node *irn_mem, ir_node *irn_ptr)
Construct a Free node.
Definition: gen_irnode.c:1254
void() set_Shl_left(ir_node *node, ir_node *left)
Sets left input of a Shl node.
Definition: gen_irnode.c:2364
Definition: nodes.h:13
ir_node *() get_Raise_exo_ptr(const ir_node *node)
Returns exo_ptr input of a Raise node.
Definition: gen_irnode.c:2182
ir_op * get_op_Cmp(void)
Returns opcode for Cmp nodes.
Definition: gen_irnode.c:746
ir_node * new_d_Minus(dbg_info *dbgi, ir_node *irn_op)
Construct a Minus node.
Definition: gen_irnode.c:1526
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.
Definition: gen_irnode.c:2605
ir_node *() get_Builtin_param(ir_node const *node, int pos)
Get the Builtin param with index pos.
Definition: gen_irnode.c:586
int() is_Conv(const ir_node *node)
Test if node is a Conv.
Definition: gen_irnode.c:3130
memory dependency
Definition: nodes.h:1548
ir_node *() get_Block_cfgpred(ir_node const *node, int pos)
Get the Block cfgpred with index pos.
Definition: gen_irnode.c:511
ir_node **() get_Sync_pred_arr(ir_node *node)
Get an array of all Sync preds.
Definition: gen_irnode.c:2798
ir_node * new_Pin(ir_node *irn_op)
Construct a Pin node.
Definition: gen_irnode.c:2071
ir_node *() get_Member_ptr(const ir_node *node)
Returns ptr input of a Member node.
Definition: gen_irnode.c:1491
ir_asm_constraint *() get_ASM_output_constraints(const ir_node *node)
Returns output_constraints attribute of an ASM node.
Definition: gen_irnode.c:2915
ir_node * new_rd_Block(dbg_info *dbgi, ir_graph *irg, int arity, ir_node *const *in)
Construct a Block node.
Definition: gen_irnode.c:467
int() is_Cmp(const ir_node *node)
Test if node is a Cmp.
Definition: gen_irnode.c:3070
ir_node * new_d_Return(dbg_info *dbgi, ir_node *irn_mem, int arity, ir_node *const *in)
Construct a Return node.
Definition: gen_irnode.c:2220
ir_node * new_d_Confirm(dbg_info *dbgi, ir_node *irn_value, ir_node *irn_bound, ir_relation relation)
Construct a Confirm node.
Definition: gen_irnode.c:821
void() set_Builtin_type(ir_node *node, ir_type *type)
Sets type attribute of a Builtin node.
Definition: gen_irnode.c:3050
The graph is being constructed: We have a current_block set, and blocks contain mapping of variable n...
Definition: irgraph.h:336
ir_op * get_op_Store(void)
Returns opcode for Store nodes.
Definition: gen_irnode.c:2640
ir_node *() get_Alloc_size(const ir_node *node)
Returns size input of an Alloc node.
Definition: gen_irnode.c:227
void() set_Tuple_pred(ir_node *node, int pos, ir_node *pred)
Set the Tuple pred with index pos.
Definition: gen_irnode.c:2849
ir_op * op_Alloc
Alloc opcode.
Definition: nodes.h:445
void() set_Address_entity(ir_node *node, ir_entity *entity)
Sets entity attribute of an Address node.
Definition: gen_irnode.c:2960
void() set_Cmp_right(ir_node *node, ir_node *right)
Sets right input of a Cmp node.
Definition: gen_irnode.c:741
void() set_Load_ptr(ir_node *node, ir_node *ptr)
Sets ptr input of a Load node.
Definition: gen_irnode.c:1448
int() is_Raise(const ir_node *node)
Test if node is a Raise.
Definition: gen_irnode.c:3385
ir_node * new_r_Return(ir_node *block, ir_node *irn_mem, int arity, ir_node *const *in)
Construct a Return node.
Definition: gen_irnode.c:2215
ir_node * new_d_Dummy(dbg_info *dbgi, ir_mode *mode)
Construct a Dummy node.
Definition: gen_irnode.c:1108
ir_op * get_op_Switch(void)
Returns opcode for Switch nodes.
Definition: gen_irnode.c:2747
ir_node *() get_Cmp_right(const ir_node *node)
Returns right input of a Cmp node.
Definition: gen_irnode.c:736
ir_op * get_op_Offset(void)
Returns opcode for Offset nodes.
Definition: gen_irnode.c:1923
void() set_Div_no_remainder(ir_node *node, int no_remainder)
Sets no_remainder attribute of a Div node.
Definition: gen_irnode.c:3185
ir_node * new_d_Align(dbg_info *dbgi, ir_mode *mode, ir_type *type)
Construct an Align node.
Definition: gen_irnode.c:166
ir_op * get_op_Deleted(void)
Returns opcode for Deleted nodes.
Definition: gen_irnode.c:1012
ir_op * op_Block
Block opcode.
Definition: nodes.h:805
ir_node *() get_Mul_right(const ir_node *node)
Returns right input of a Mul node.
Definition: gen_irnode.c:1668
control flow when exception occured
Definition: nodes.h:3772
void() set_IJmp_target(ir_node *node, ir_node *target)
Sets target input of an IJmp node.
Definition: gen_irnode.c:1333
ir_node * new_rd_Or(dbg_info *dbgi, ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct an Or node.
Definition: gen_irnode.c:1928
ir_op * get_op_Load(void)
Returns opcode for Load nodes.
Definition: gen_irnode.c:1453
struct ir_op ir_op
Node Opcode.
Definition: firm_types.h:56
ir_node * new_d_Address(dbg_info *dbgi, ir_entity *entity)
Construct an Address node.
Definition: gen_irnode.c:130
ir_node * new_d_Bitcast(dbg_info *dbgi, ir_node *irn_op, ir_mode *mode)
Construct a Bitcast node.
Definition: gen_irnode.c:440
ir_node *() get_Cond_selector(const ir_node *node)
Returns selector input of a Cond node.
Definition: gen_irnode.c:784
void() set_Load_mem(ir_node *node, ir_node *mem)
Sets mem input of a Load node.
Definition: gen_irnode.c:1438
ir_entity *() get_Address_entity(const ir_node *node)
Returns entity attribute of an Address node.
Definition: gen_irnode.c:2955
void set_Block_matured(ir_node *block, int matured)
set the matured flag of a block.
void() set_Proj_num(ir_node *node, unsigned num)
Sets num attribute of a Proj node.
Definition: gen_irnode.c:3380
ir_op * get_op_Sub(void)
Returns opcode for Sub nodes.
Definition: gen_irnode.c:2698
ir_node *() get_Or_right(const ir_node *node)
Returns right input of an Or node.
Definition: gen_irnode.c:1971
void() set_CopyB_src(ir_node *node, ir_node *src)
Sets src input of a CopyB node.
Definition: gen_irnode.c:1002
int() is_binop(const ir_node *node)
Test if node is a binop.
Definition: gen_irnode.c:3525
ir_op * op_And
And opcode.
Definition: nodes.h:593
memory dependency
Definition: nodes.h:2346
ir_node * new_d_Not(dbg_info *dbgi, ir_node *irn_op)
Construct a Not node.
Definition: gen_irnode.c:1865
ir_op * op_Tuple
Tuple opcode.
Definition: nodes.h:4167
ir_op * get_op_Proj(void)
Returns opcode for Proj nodes.
Definition: gen_irnode.c:2134
int() is_Alloc(const ir_node *node)
Test if node is a Alloc.
Definition: gen_irnode.c:2980
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.
Definition: gen_irnode.c:606
void() set_Conv_op(ir_node *node, ir_node *op)
Sets op input of a Conv node.
Definition: gen_irnode.c:931
void() set_Cond_jmp_pred(ir_node *node, cond_jmp_predicate jmp_pred)
Sets jmp_pred attribute of a Cond node.
Definition: gen_irnode.c:3095
ir_node * new_Mux(ir_node *irn_sel, ir_node *irn_false, ir_node *irn_true)
Construct a Mux node.
Definition: gen_irnode.c:1770
ir_node * new_rd_Shrs(dbg_info *dbgi, ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct a Shrs node.
Definition: gen_irnode.c:2442
ir_node * new_Dummy(ir_mode *mode)
Construct a Dummy node.
Definition: gen_irnode.c:1115
ir_node *() get_Mulh_right(const ir_node *node)
Returns right input of a Mulh node.
Definition: gen_irnode.c:1726
ir_op * get_op_Phi(void)
Returns opcode for Phi nodes.
Definition: gen_irnode.c:2039
ir_node * new_r_Mod(ir_node *block, ir_node *irn_mem, ir_node *irn_left, ir_node *irn_right, int pinned)
Construct a Mod node.
Definition: gen_irnode.c:1573
ir_node * new_d_IJmp(dbg_info *dbgi, ir_node *irn_target)
Construct an IJmp node.
Definition: gen_irnode.c:1316
ident *() get_ASM_text(const ir_node *node)
Returns text attribute of an ASM node.
Definition: gen_irnode.c:2935
ir_node *() get_Mod_mem(const ir_node *node)
Returns mem input of a Mod node.
Definition: gen_irnode.c:1590
int() is_End(const ir_node *node)
Test if node is a End.
Definition: gen_irnode.c:3195
ir_node * new_Shr(ir_node *irn_left, ir_node *irn_right)
Construct a Shr node.
Definition: gen_irnode.c:2412
void() set_Sel_ptr(ir_node *node, ir_node *ptr)
Sets ptr input of a Sel node.
Definition: gen_irnode.c:2306
ir_node * new_Raise(ir_node *irn_mem, ir_node *irn_exo_ptr)
Construct a Raise node.
Definition: gen_irnode.c:2167
void() set_Add_left(ir_node *node, ir_node *left)
Sets left input of an Add node.
Definition: gen_irnode.c:91
ir_graph * current_ir_graph
Global variable holding the graph which is currently constructed.
Definition: ircons.h:521
ir_node * new_rd_Conv(dbg_info *dbgi, ir_node *block, ir_node *irn_op, ir_mode *mode)
Construct a Conv node.
Definition: gen_irnode.c:894
ir_op * op_Jmp
Jmp opcode.
Definition: nodes.h:2062
ir_node * new_d_Shl(dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right)
Construct a Shl node.
Definition: gen_irnode.c:2347
void() set_And_right(ir_node *node, ir_node *right)
Sets right input of an And node.
Definition: gen_irnode.c:375
ir_op * get_op_Bitcast(void)
Returns opcode for Bitcast nodes.
Definition: gen_irnode.c:462
ir_op * get_op_Id(void)
Returns opcode for Id nodes.
Definition: gen_irnode.c:1353
int() is_Or(const ir_node *node)
Test if node is a Or.
Definition: gen_irnode.c:3345
memory dependency
Definition: nodes.h:114
ir_node * new_And(ir_node *irn_left, ir_node *irn_right)
Construct an And node.
Definition: gen_irnode.c:355
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.
Definition: gen_irnode.c:2267
ir_node *() get_Anchor_start(const ir_node *node)
Returns start input of an Anchor node.
Definition: gen_irnode.c:272
ir_op * op_Raise
Raise opcode.
Definition: nodes.h:3218
Definition: nodes.h:25
ir_op * op_Mux
Mux opcode.
Definition: nodes.h:2664
ir_op * op_Or
Or opcode.
Definition: nodes.h:2914
ir_node *() get_Free_mem(const ir_node *node)
Returns mem input of a Free node.
Definition: gen_irnode.c:1271
ir_node * new_Eor(ir_node *irn_left, ir_node *irn_right)
Construct an Eor node.
Definition: gen_irnode.c:1208
void() set_Anchor_frame(ir_node *node, ir_node *frame)
Sets frame input of an Anchor node.
Definition: gen_irnode.c:287
ir_node * new_r_Cond(ir_node *block, ir_node *irn_selector)
Construct a Cond node.
Definition: gen_irnode.c:767
ir_op * op_Sel
Sel opcode.
Definition: nodes.h:3386
ir_node * new_rd_Div(dbg_info *dbgi, ir_node *block, ir_node *irn_mem, ir_node *irn_left, ir_node *irn_right, int pinned)
Construct a Div node.
Definition: gen_irnode.c:1017
int() is_Phi(const ir_node *node)
Test if node is a Phi.
Definition: gen_irnode.c:3350
ir_op * op_Shl
Shl opcode.
Definition: nodes.h:3464
ir_op * get_op_Member(void)
Returns opcode for Member nodes.
Definition: gen_irnode.c:1501
ir_op * op_Id
Id opcode.
Definition: nodes.h:2013
control flow when no exception occurs
Definition: nodes.h:2091
ir_node * new_rd_Const(dbg_info *dbgi, ir_graph *irg, ir_tarval *tarval)
Construct a Const node.
Definition: gen_irnode.c:858
ir_type *() get_Store_type(const ir_node *node)
Returns type attribute of a Store node.
Definition: gen_irnode.c:3450
ir_op * op_Sync
Sync opcode.
Definition: nodes.h:4095
void() set_CopyB_mem(ir_node *node, ir_node *mem)
Sets mem input of a CopyB node.
Definition: gen_irnode.c:982
ir_node * new_r_Tuple(ir_node *block, int arity, ir_node *const *in)
Construct a Tuple node.
Definition: gen_irnode.c:2822
int() is_Shl(const ir_node *node)
Test if node is a Shl.
Definition: gen_irnode.c:3410
void() set_Cmp_left(ir_node *node, ir_node *left)
Sets left input of a Cmp node.
Definition: gen_irnode.c:731
ir_node *() get_CopyB_dst(const ir_node *node)
Returns dst input of a CopyB node.
Definition: gen_irnode.c:987
void() set_Mux_sel(ir_node *node, ir_node *sel)
Sets sel input of a Mux node.
Definition: gen_irnode.c:1780
ir_op * op_Cond
Cond opcode.
Definition: nodes.h:1188
Definition: nodes.h:58
ir_op * op_Address
Address opcode.
Definition: nodes.h:291
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.
Definition: gen_irnode.c:1416
void() set_Confirm_value(ir_node *node, ir_node *value)
Sets value input of a Confirm node.
Definition: gen_irnode.c:838
ir_node * new_r_Proj(ir_node *irn_pred, ir_mode *mode, unsigned num)
Construct a Proj node.
Definition: gen_irnode.c:2107
ir_op * get_op_Return(void)
Returns opcode for Return nodes.
Definition: gen_irnode.c:2262
void() set_Load_mode(ir_node *node, ir_mode *mode)
Sets mode attribute of a Load node.
Definition: gen_irnode.c:3235
Memory operation is unaligned.
Definition: firm_types.h:186
ir_node * new_rd_Jmp(dbg_info *dbgi, ir_node *block)
Construct a Jmp node.
Definition: gen_irnode.c:1358
ir_type * get_unknown_type(void)
Returns the unknown type.
ir_node *() get_Call_mem(const ir_node *node)
Returns mem input of a Call node.
Definition: gen_irnode.c:647
void verify_new_node(ir_node *node)
If firm is built in debug mode, verify that a newly created node is fine.
struct ir_type ir_type
Type.
Definition: firm_types.h:71
void() set_Pin_op(ir_node *node, ir_node *op)
Sets op input of a Pin node.
Definition: gen_irnode.c:2081
ir_node *() get_Id_pred(const ir_node *node)
Returns pred input of an Id node.
Definition: gen_irnode.c:1343
void() set_Switch_table(ir_node *node, ir_switch_table *table)
Sets table attribute of a Switch node.
Definition: gen_irnode.c:3505
struct dbg_info dbg_info
Source Reference.
Definition: firm_types.h:40
ir_op * op_Dummy
Dummy opcode.
Definition: nodes.h:1693
ir_op * get_op_Shrs(void)
Returns opcode for Shrs nodes.
Definition: gen_irnode.c:2495
ir_node * new_r_Alloc(ir_node *block, ir_node *irn_mem, ir_node *irn_size, unsigned alignment)
Construct an Alloc node.
Definition: gen_irnode.c:200
ir_node * new_d_Cmp(dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right, ir_relation relation)
Construct a Cmp node.
Definition: gen_irnode.c:714
int() is_Proj(const ir_node *node)
Test if node is a Proj.
Definition: gen_irnode.c:3370
ir_op * get_op_Jmp(void)
Returns opcode for Jmp nodes.
Definition: gen_irnode.c:1389
ir_node * new_IJmp(ir_node *irn_target)
Construct an IJmp node.
Definition: gen_irnode.c:1323
Definition: nodes.h:37
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.
Definition: gen_irnode.c:2593
ir_node * new_d_Mod(dbg_info *dbgi, ir_node *irn_mem, ir_node *irn_left, ir_node *irn_right, int pinned)
Construct a Mod node.
Definition: gen_irnode.c:1578
ir_node * new_r_Const(ir_graph *irg, ir_tarval *tarval)
Construct a Const node.
Definition: gen_irnode.c:872
Definition: nodes.h:47
ir_node *() get_Sync_pred(ir_node const *node, int pos)
Get the Sync pred with index pos.
Definition: gen_irnode.c:2788
int() is_Anchor(const ir_node *node)
Test if node is a Anchor.
Definition: gen_irnode.c:2995
Definition: nodes.h:31
ir_node * new_rd_Not(dbg_info *dbgi, ir_node *block, ir_node *irn_op)
Construct a Not node.
Definition: gen_irnode.c:1845
ir_node * new_rd_Address(dbg_info *dbgi, ir_graph *irg, ir_entity *entity)
Construct an Address node.
Definition: gen_irnode.c:111
ir_op * get_op_Start(void)
Returns opcode for Start nodes.
Definition: gen_irnode.c:2566
ir_node **() get_ASM_input_arr(ir_node *node)
Get an array of all ASM inputs.
Definition: gen_irnode.c:43
memory dependency
Definition: nodes.h:3760
ir_node * new_Const(ir_tarval *tarval)
Construct a Const node.
Definition: gen_irnode.c:884
void() set_Mod_left(ir_node *node, ir_node *left)
Sets left input of a Mod node.
Definition: gen_irnode.c:1605
The opcode has a memory input/output but does not actually change the contents of any memory block kn...
Definition: irop.h:63
ir_node * new_Free(ir_node *irn_mem, ir_node *irn_ptr)
Construct a Free node.
Definition: gen_irnode.c:1266
ir_op * get_op_Shl(void)
Returns opcode for Shl nodes.
Definition: gen_irnode.c:2379
ir_mode * mode_M
memory
Definition: irmode.h:190
ir_node * new_rd_And(dbg_info *dbgi, ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct an And node.
Definition: gen_irnode.c:327
ir_node *() get_Add_right(const ir_node *node)
Returns right input of an Add node.
Definition: gen_irnode.c:96
memory dependency
Definition: nodes.h:371
ir_node * new_d_Block(dbg_info *dbgi, int arity, ir_node *const *in)
Construct a Block node.
Definition: gen_irnode.c:494
void() set_Anchor_args(ir_node *node, ir_node *args)
Sets args input of an Anchor node.
Definition: gen_irnode.c:307
int() get_Sync_n_preds(ir_node const *node)
Get the number of Sync preds.
Definition: gen_irnode.c:2783
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.
Definition: gen_irnode.c:1394
This operation jumps to an unknown destination.
Definition: irop.h:59
ir_op * get_op_Mod(void)
Returns opcode for Mod nodes.
Definition: gen_irnode.c:1620
ir_node * new_Conv(ir_node *irn_op, ir_mode *mode)
Construct a Conv node.
Definition: gen_irnode.c:921
void() set_Sub_left(ir_node *node, ir_node *left)
Sets left input of a Sub node.
Definition: gen_irnode.c:2683
void() set_Phi_pred(ir_node *node, int pos, ir_node *pred)
Set the Phi pred with index pos.
Definition: gen_irnode.c:2029
ir_node * new_d_Phi(dbg_info *dbgi, int arity, ir_node *const *in, ir_mode *mode)
Construct a Phi node.
Definition: gen_irnode.c:2007
ir_mode *() get_Div_resmode(const ir_node *node)
Returns resmode attribute of a Div node.
Definition: gen_irnode.c:3170
struct ir_tarval ir_tarval
Target Machine Value.
Definition: firm_types.h:68
int() is_And(const ir_node *node)
Test if node is a And.
Definition: gen_irnode.c:3000
ir_node *() get_Bitcast_op(const ir_node *node)
Returns op input of a Bitcast node.
Definition: gen_irnode.c:452
void() set_Anchor_initial_mem(ir_node *node, ir_node *initial_mem)
Sets initial_mem input of an Anchor node.
Definition: gen_irnode.c:297
int() get_End_n_keepalives(ir_node const *node)
Get the number of End keepalives.
Definition: gen_irnode.c:1155
void() set_Store_value(ir_node *node, ir_node *value)
Sets value input of a Store node.
Definition: gen_irnode.c:2635
ir_op * op_Minus
Minus opcode.
Definition: nodes.h:2321
ir_node *() get_Call_param(ir_node const *node, int pos)
Get the Call param with index pos.
Definition: gen_irnode.c:672
Memory operation is volatile.
Definition: firm_types.h:185
ir_node * new_Switch(ir_node *irn_selector, unsigned n_outs, ir_switch_table *table)
Construct a Switch node.
Definition: gen_irnode.c:2732
void() set_ASM_input_constraints(ir_node *node, ir_asm_constraint *input_constraints)
Sets input_constraints attribute of an ASM node.
Definition: gen_irnode.c:2910
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.
Definition: gen_irnode.c:2703
ir_node * new_d_Raise(dbg_info *dbgi, ir_node *irn_mem, ir_node *irn_exo_ptr)
Construct a Raise node.
Definition: gen_irnode.c:2160
int() is_Size(const ir_node *node)
Test if node is a Size.
Definition: gen_irnode.c:3425
ir_node *() get_Shrs_right(const ir_node *node)
Returns right input of a Shrs node.
Definition: gen_irnode.c:2485
ir_type *() get_Load_type(const ir_node *node)
Returns type attribute of a Load node.
Definition: gen_irnode.c:3240
int() is_Cond(const ir_node *node)
Test if node is a Cond.
Definition: gen_irnode.c:3085
ir_node * new_r_And(ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct an And node.
Definition: gen_irnode.c:343
ir_op * get_op_Sel(void)
Returns opcode for Sel nodes.
Definition: gen_irnode.c:2321
ir_node * new_d_Offset(dbg_info *dbgi, ir_mode *mode, ir_entity *entity)
Construct an Offset node.
Definition: gen_irnode.c:1911
void() set_CopyB_volatility(ir_node *node, ir_volatility volatility)
Sets volatility attribute of a CopyB node.
Definition: gen_irnode.c:3155
ir_node * new_Add(ir_node *irn_left, ir_node *irn_right)
Construct an Add node.
Definition: gen_irnode.c:81
void() set_Sel_index(ir_node *node, ir_node *index)
Sets index input of a Sel node.
Definition: gen_irnode.c:2316
ir_op * op_CopyB
CopyB opcode.
Definition: nodes.h:1507
ir_node *() get_Confirm_bound(const ir_node *node)
Returns bound input of a Confirm node.
Definition: gen_irnode.c:843
int() is_Mod(const ir_node *node)
Test if node is a Mod.
Definition: gen_irnode.c:3290
ir_node * optimize_node(ir_node *n)
Applies local optimizations to a single node.
int() get_Phi_n_preds(ir_node const *node)
Get the number of Phi preds.
Definition: gen_irnode.c:2019
ir_op * op_Free
Free opcode.
Definition: nodes.h:1909
int() is_typeconst(const ir_node *node)
Test if node is a typeconst.
Definition: gen_irnode.c:3545
void() set_Sync_pred(ir_node *node, int pos, ir_node *pred)
Set the Sync pred with index pos.
Definition: gen_irnode.c:2793
int() is_Block(const ir_node *node)
Test if node is a Block.
Definition: gen_irnode.c:3015
int() is_Tuple(const ir_node *node)
Test if node is a Tuple.
Definition: gen_irnode.c:3515
ir_node * new_r_Switch(ir_node *block, ir_node *irn_selector, unsigned n_outs, ir_switch_table *table)
Construct a Switch node.
Definition: gen_irnode.c:2720
#define NEW_ARR_DZ(type, obstack, nelts)
Create a dynamic array on an obstack and null its contents.
Definition: array.h:185
ir_builtin_kind() get_Builtin_kind(const ir_node *node)
Returns kind attribute of a Builtin node.
Definition: gen_irnode.c:3035
void() set_Id_pred(ir_node *node, ir_node *pred)
Sets pred input of an Id node.
Definition: gen_irnode.c:1348
Definition: nodes.h:43
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.
ir_node * new_Mod(ir_node *irn_mem, ir_node *irn_left, ir_node *irn_right, int pinned)
Construct a Mod node.
Definition: gen_irnode.c:1585
void() set_Shl_right(ir_node *node, ir_node *right)
Sets right input of a Shl node.
Definition: gen_irnode.c:2374
void() set_Member_entity(ir_node *node, ir_entity *entity)
Sets entity attribute of a Member node.
Definition: gen_irnode.c:3280
ir_node * new_rd_Shr(dbg_info *dbgi, ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct a Shr node.
Definition: gen_irnode.c:2384
ir_node * new_Div(ir_node *irn_mem, ir_node *irn_left, ir_node *irn_right, int pinned)
Construct a Div node.
Definition: gen_irnode.c:1050
ir_mode * get_reference_offset_mode(const ir_mode *mode)
Returns the integer equivalent mode for an reference mode.
int() get_Builtin_n_params(ir_node const *node)
Get the number of Builtin params.
Definition: gen_irnode.c:581
Memory operation can float.
Definition: firm_types.h:187
ir_node * new_r_Size(ir_graph *irg, ir_mode *mode, ir_type *type)
Construct a Size node.
Definition: gen_irnode.c:2514
node should be dumped outside any blocks
Definition: irop.h:55
Definition: nodes.h:35
This operation is a control flow operation.
Definition: irop.h:45
ir_node * new_rd_Sync(dbg_info *dbgi, ir_node *block, int arity, ir_node *const *in)
Construct a Sync node.
Definition: gen_irnode.c:2752
ir_op * op_Deleted
Deleted opcode.
Definition: nodes.h:1530
A binary operator – considering &#39;numeric&#39; arguments.
Definition: irop.h:31
int irg_is_constrained(const ir_graph *irg, ir_graph_constraints_t constraints)
queries whether irg is at least as constrained as constraints.
void() set_Offset_entity(ir_node *node, ir_entity *entity)
Sets entity attribute of an Offset node.
Definition: gen_irnode.c:3340
void() set_Call_param(ir_node *node, int pos, ir_node *param)
Set the Call param with index pos.
Definition: gen_irnode.c:677
int() is_Store(const ir_node *node)
Test if node is a Store.
Definition: gen_irnode.c:3445
int() is_CopyB(const ir_node *node)
Test if node is a CopyB.
Definition: gen_irnode.c:3135
ir_op * get_op_Sync(void)
Returns opcode for Sync nodes.
Definition: gen_irnode.c:2803
ir_node *() get_And_right(const ir_node *node)
Returns right input of an And node.
Definition: gen_irnode.c:370
void() set_Return_mem(ir_node *node, ir_node *mem)
Sets mem input of a Return node.
Definition: gen_irnode.c:2237
ir_node *() get_Shl_left(const ir_node *node)
Returns left input of a Shl node.
Definition: gen_irnode.c:2359
ir_node * get_irg_start_block(const ir_graph *irg)
Returns the start block of an IR graph.
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.
Definition: gen_irnode.c:2598
ir_node *() get_Anchor_initial_mem(const ir_node *node)
Returns initial_mem input of an Anchor node.
Definition: gen_irnode.c:292
ir_node * new_d_Conv(dbg_info *dbgi, ir_node *irn_op, ir_mode *mode)
Construct a Conv node.
Definition: gen_irnode.c:914
ir_op * get_op_Add(void)
Returns opcode for Add nodes.
Definition: gen_irnode.c:106
struct ir_switch_table ir_switch_table
A switch table mapping integer numbers to proj-numbers of a Switch-node.
Definition: firm_types.h:102
ir_mode * mode_T
tuple (none)
Definition: irmode.h:220
ir_node * new_r_Jmp(ir_node *block)
Construct a Jmp node.
Definition: gen_irnode.c:1372
void() set_Call_mem(ir_node *node, ir_node *mem)
Sets mem input of a Call node.
Definition: gen_irnode.c:652
ir_node * new_r_Block(ir_graph *irg, int arity, ir_node *const *in)
Construct a Block node.
Definition: gen_irnode.c:489
ir_node *() get_Return_mem(const ir_node *node)
Returns mem input of a Return node.
Definition: gen_irnode.c:2232
ir_node *() get_Anchor_frame(const ir_node *node)
Returns frame input of an Anchor node.
Definition: gen_irnode.c:282
void() set_Alloc_size(ir_node *node, ir_node *size)
Sets size input of an Alloc node.
Definition: gen_irnode.c:232
void() set_Not_op(ir_node *node, ir_node *op)
Sets op input of a Not node.
Definition: gen_irnode.c:1882
Nodes must remain in this basic block.
Definition: firm_types.h:200
void() set_Free_ptr(ir_node *node, ir_node *ptr)
Sets ptr input of a Free node.
Definition: gen_irnode.c:1286
ir_op * get_op_Builtin(void)
Returns opcode for Builtin nodes.
Definition: gen_irnode.c:601
memory dependency
Definition: nodes.h:2080
ir_node * new_d_Member(dbg_info *dbgi, ir_node *irn_ptr, ir_entity *entity)
Construct a Member node.
Definition: gen_irnode.c:1479
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.
Definition: gen_irnode.c:692
ir_op * op_Align
Align opcode.
Definition: nodes.h:353
ir_node *() get_Anchor_start_block(const ir_node *node)
Returns start_block input of an Anchor node.
Definition: gen_irnode.c:252
control flow when exception occured
Definition: nodes.h:2359
ir_node *() get_Add_left(const ir_node *node)
Returns left input of an Add node.
Definition: gen_irnode.c:86
int() is_Sync(const ir_node *node)
Test if node is a Sync.
Definition: gen_irnode.c:3510
This operation is always placed in the Start block.
Definition: irop.h:53
ir_node * new_Size(ir_mode *mode, ir_type *type)
Construct a Size node.
Definition: gen_irnode.c:2526
ir_node * new_rd_Unknown(dbg_info *dbgi, ir_graph *irg, ir_mode *mode)
Construct an Unknown node.
Definition: gen_irnode.c:2864
ir_op * get_op_Block(void)
Returns opcode for Block nodes.
Definition: gen_irnode.c:526
int() is_Pin(const ir_node *node)
Test if node is a Pin.
Definition: gen_irnode.c:3365
ir_op * get_op_Mul(void)
Returns opcode for Mul nodes.
Definition: gen_irnode.c:1678
void() set_Free_mem(ir_node *node, ir_node *mem)
Sets mem input of a Free node.
Definition: gen_irnode.c:1276
ir_node * new_rd_End(dbg_info *dbgi, ir_graph *irg, int arity, ir_node *const *in)
Construct an End node.
Definition: gen_irnode.c:1125
ir_node * new_d_Add(dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right)
Construct an Add node.
Definition: gen_irnode.c:74
ir_node *() get_Store_value(const ir_node *node)
Returns value input of a Store node.
Definition: gen_irnode.c:2630
void() set_Raise_exo_ptr(ir_node *node, ir_node *exo_ptr)
Sets exo_ptr input of a Raise node.
Definition: gen_irnode.c:2187
void() set_Phi_loop(ir_node *node, int loop)
Sets loop attribute of a Phi node.
Definition: gen_irnode.c:3360
ir_node * new_r_Div(ir_node *block, ir_node *irn_mem, ir_node *irn_left, ir_node *irn_right, int pinned)
Construct a Div node.
Definition: gen_irnode.c:1038
This operation is commutative.
Definition: irop.h:44
This operation can be kept in End&#39;s keep-alive list.
Definition: irop.h:52
int() is_Free(const ir_node *node)
Test if node is a Free.
Definition: gen_irnode.c:3205
ir_node * new_d_Start(dbg_info *dbgi)
Construct a Start node.
Definition: gen_irnode.c:2554
void() set_Confirm_bound(ir_node *node, ir_node *bound)
Sets bound input of a Confirm node.
Definition: gen_irnode.c:848
ir_type *() get_Builtin_type(const ir_node *node)
Returns type attribute of a Builtin node.
Definition: gen_irnode.c:3045
ir_node * new_r_Add(ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct an Add node.
Definition: gen_irnode.c:69
void() set_Div_right(ir_node *node, ir_node *right)
Sets right input of a Div node.
Definition: gen_irnode.c:1080
void() set_Align_type(ir_node *node, ir_type *type)
Sets type attribute of an Align node.
Definition: gen_irnode.c:2975
ir_node * new_rd_Minus(dbg_info *dbgi, ir_node *block, ir_node *irn_op)
Construct a Minus node.
Definition: gen_irnode.c:1506
ir_op * get_op_Raise(void)
Returns opcode for Raise nodes.
Definition: gen_irnode.c:2192
int() is_Div(const ir_node *node)
Test if node is a Div.
Definition: gen_irnode.c:3165
ir_node * new_rd_Eor(dbg_info *dbgi, ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct an Eor node.
Definition: gen_irnode.c:1180
ir_node *() get_Mux_false(const ir_node *node)
Returns false input of a Mux node.
Definition: gen_irnode.c:1785
A input/output constraint attribute.
Definition: firm_types.h:267
control flow when no exception occurs
Definition: nodes.h:1560
void() set_Mux_true(ir_node *node, ir_node *true_)
Sets true input of a Mux node.
Definition: gen_irnode.c:1800
void() set_Block_cfgpred(ir_node *node, int pos, ir_node *cfgpred)
Set the Block cfgpred with index pos.
Definition: gen_irnode.c:516
ir_op * op_Conv
Conv opcode.
Definition: nodes.h:1406
ir_node * new_r_Bad(ir_graph *irg, ir_mode *mode)
Construct a Bad node.
Definition: gen_irnode.c:398
ir_node * new_rd_Sub(dbg_info *dbgi, ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct a Sub node.
Definition: gen_irnode.c:2645
void() set_Bitcast_op(ir_node *node, ir_node *op)
Sets op input of a Bitcast node.
Definition: gen_irnode.c:457
ir_node * new_d_Size(dbg_info *dbgi, ir_mode *mode, ir_type *type)
Construct a Size node.
Definition: gen_irnode.c:2519
ir_op * op_Shrs
Shrs opcode.
Definition: nodes.h:3621
Definition: nodes.h:44
Definition: nodes.h:59
ir_node * new_r_Mux(ir_node *block, ir_node *irn_sel, ir_node *irn_false, ir_node *irn_true)
Construct a Mux node.
Definition: gen_irnode.c:1758
ir_node * new_rd_Shl(dbg_info *dbgi, ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct a Shl node.
Definition: gen_irnode.c:2326
This operation has a memory input and may change the memory state.
Definition: irop.h:54
ir_entity *() get_Block_entity(const ir_node *node)
Returns entity attribute of a Block node.
Definition: gen_irnode.c:3020
ir_relation() get_Cmp_relation(const ir_node *node)
Returns relation attribute of a Cmp node.
Definition: gen_irnode.c:3075
void() set_Store_mem(ir_node *node, ir_node *mem)
Sets mem input of a Store node.
Definition: gen_irnode.c:2615
ir_op * get_op_Div(void)
Returns opcode for Div nodes.
Definition: gen_irnode.c:1085
Node must remain in this basic block if it can throw an exception, else can float.
Definition: firm_types.h:201
ir_node *() get_Free_ptr(const ir_node *node)
Returns ptr input of a Free node.
Definition: gen_irnode.c:1281
ir_node * new_r_Member(ir_node *block, ir_node *irn_ptr, ir_entity *entity)
Construct a Member node.
Definition: gen_irnode.c:1474
ir_node *() get_Eor_right(const ir_node *node)
Returns right input of an Eor node.
Definition: gen_irnode.c:1223
ir_node * new_End(int arity, ir_node *const *in)
Construct an End node.
Definition: gen_irnode.c:1150
ir_volatility() get_Store_volatility(const ir_node *node)
Returns volatility attribute of a Store node.
Definition: gen_irnode.c:3460
int is_Method_type(const ir_type *method)
Returns true if a type is a method type.
void() set_Const_tarval(ir_node *node, ir_tarval *tarval)
Sets tarval attribute of a Const node.
Definition: gen_irnode.c:3125
ir_op * get_op_ASM(void)
Returns opcode for ASM nodes.
Definition: gen_irnode.c:48
ir_volatility() get_CopyB_volatility(const ir_node *node)
Returns volatility attribute of a CopyB node.
Definition: gen_irnode.c:3150
ir_entity *() get_Offset_entity(const ir_node *node)
Returns entity attribute of an Offset node.
Definition: gen_irnode.c:3335
ir_node *() get_Mod_right(const ir_node *node)
Returns right input of a Mod node.
Definition: gen_irnode.c:1610
ir_node **() get_Tuple_pred_arr(ir_node *node)
Get an array of all Tuple preds.
Definition: gen_irnode.c:2854
ir_op * op_NoMem
NoMem opcode.
Definition: nodes.h:2713
ir_op * op_Anchor
Anchor opcode.
Definition: nodes.h:519
Definition: nodes.h:39
ir_builtin_kind
Supported libFirm builtins.
Definition: firm_types.h:276
ir_node *() get_Div_mem(const ir_node *node)
Returns mem input of a Div node.
Definition: gen_irnode.c:1055
ir_node **() get_Block_cfgpred_arr(ir_node *node)
Get an array of all Block cfgpreds.
Definition: gen_irnode.c:521
ir_node *() get_Div_left(const ir_node *node)
Returns left input of a Div node.
Definition: gen_irnode.c:1065
ir_op * op_Proj
Proj opcode.
Definition: nodes.h:3133
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.
Definition: gen_irnode.c:941
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.
Definition: gen_irnode.c:960
Definition: nodes.h:50
ir_switch_table *() get_Switch_table(const ir_node *node)
Returns table attribute of a Switch node.
Definition: gen_irnode.c:3500
ir_op * get_op_Alloc(void)
Returns opcode for Alloc nodes.
Definition: gen_irnode.c:237
Definition: nodes.h:56
ir_type *() get_Align_type(const ir_node *node)
Returns type attribute of an Align node.
Definition: gen_irnode.c:2970
void() set_Member_ptr(ir_node *node, ir_node *ptr)
Sets ptr input of a Member node.
Definition: gen_irnode.c:1496
Definition: nodes.h:57
ir_op * get_op_Dummy(void)
Returns opcode for Dummy nodes.
Definition: gen_irnode.c:1120
ir_node * new_rd_Free(dbg_info *dbgi, ir_node *block, ir_node *irn_mem, ir_node *irn_ptr)
Construct a Free node.
Definition: gen_irnode.c:1238
ir_node * new_Mulh(ir_node *irn_left, ir_node *irn_right)
Construct a Mulh node.
Definition: gen_irnode.c:1711
ir_op * get_op_CopyB(void)
Returns opcode for CopyB nodes.
Definition: gen_irnode.c:1007
ir_node * new_r_Shl(ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct a Shl node.
Definition: gen_irnode.c:2342
ir_node * new_rd_Cond(dbg_info *dbgi, ir_node *block, ir_node *irn_selector)
Construct a Cond node.
Definition: gen_irnode.c:751
ir_node * new_Phi(int arity, ir_node *const *in, ir_mode *mode)
Construct a Phi node.
Definition: gen_irnode.c:2014
ir_node *() get_Confirm_value(const ir_node *node)
Returns value input of a Confirm node.
Definition: gen_irnode.c:833
ir_node * new_r_Cmp(ir_node *block, ir_node *irn_left, ir_node *irn_right, ir_relation relation)
Construct a Cmp node.
Definition: gen_irnode.c:709
ir_node * new_Address(ir_entity *entity)
Construct an Address node.
Definition: gen_irnode.c:137
void() set_Call_ptr(ir_node *node, ir_node *ptr)
Sets ptr input of a Call node.
Definition: gen_irnode.c:662
ir_node *() get_Load_ptr(const ir_node *node)
Returns ptr input of a Load node.
Definition: gen_irnode.c:1443
ir_node * new_d_Cond(dbg_info *dbgi, ir_node *irn_selector)
Construct a Cond node.
Definition: gen_irnode.c:772
control flow when no exception occurs
Definition: nodes.h:944
void() set_Mul_right(ir_node *node, ir_node *right)
Sets right input of a Mul node.
Definition: gen_irnode.c:1673
ir_node *() get_IJmp_target(const ir_node *node)
Returns target input of an IJmp node.
Definition: gen_irnode.c:1328
int() is_Member(const ir_node *node)
Test if node is a Member.
Definition: gen_irnode.c:3270
void() set_Eor_right(ir_node *node, ir_node *right)
Sets right input of an Eor node.
Definition: gen_irnode.c:1228
void() set_ASM_output_constraints(ir_node *node, ir_asm_constraint *output_constraints)
Sets output_constraints attribute of an ASM node.
Definition: gen_irnode.c:2920
void() set_Eor_left(ir_node *node, ir_node *left)
Sets left input of an Eor node.
Definition: gen_irnode.c:1218
ir_node * get_nodes_block(const ir_node *node)
Returns the block the node belongs to.
The arity is not fixed by opcode, but statically known.
Definition: irop.h:32
ir_node *() get_Anchor_end_block(const ir_node *node)
Returns end_block input of an Anchor node.
Definition: gen_irnode.c:242
ir_node * new_Member(ir_node *irn_ptr, ir_entity *entity)
Construct a Member node.
Definition: gen_irnode.c:1486
ir_node * new_r_Align(ir_graph *irg, ir_mode *mode, ir_type *type)
Construct an Align node.
Definition: gen_irnode.c:161
ir_op * get_op_Unknown(void)
Returns opcode for Unknown nodes.
Definition: gen_irnode.c:2894
ir_node *() get_Alloc_mem(const ir_node *node)
Returns mem input of an Alloc node.
Definition: gen_irnode.c:217
ir_node * new_rd_Bitcast(dbg_info *dbgi, ir_node *block, ir_node *irn_op, ir_mode *mode)
Construct a Bitcast node.
Definition: gen_irnode.c:420
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.
Definition: gen_irnode.c:183
int() is_Not(const ir_node *node)
Test if node is a Not.
Definition: gen_irnode.c:3325
ir_node * new_r_Conv(ir_node *block, ir_node *irn_op, ir_mode *mode)
Construct a Conv node.
Definition: gen_irnode.c:909
ir_node * new_rd_Pin(dbg_info *dbgi, ir_node *block, ir_node *irn_op)
Construct a Pin node.
Definition: gen_irnode.c:2044
ir_op * get_op_Cond(void)
Returns opcode for Cond nodes.
Definition: gen_irnode.c:794
ir_op * op_Call
Call opcode.
Definition: nodes.h:1025
ir_op * get_op_Confirm(void)
Returns opcode for Confirm nodes.
Definition: gen_irnode.c:853
ir_node *() get_Or_left(const ir_node *node)
Returns left input of an Or node.
Definition: gen_irnode.c:1961
ir_node * new_r_Sel(ir_node *block, ir_node *irn_ptr, ir_node *irn_index, ir_type *type)
Construct a Sel node.
Definition: gen_irnode.c:2284
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.
void() set_Anchor_start_block(ir_node *node, ir_node *start_block)
Sets start_block input of an Anchor node.
Definition: gen_irnode.c:257
ir_relation
Relations for comparing numbers.
Definition: firm_types.h:159
ir_op * get_op_Const(void)
Returns opcode for Const nodes.
Definition: gen_irnode.c:889
ir_node *() get_ASM_mem(const ir_node *node)
Returns mem input of an ASM node.
Definition: gen_irnode.c:18
ir_node * new_d_Shrs(dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right)
Construct a Shrs node.
Definition: gen_irnode.c:2463
ir_node * new_d_Sel(dbg_info *dbgi, ir_node *irn_ptr, ir_node *irn_index, ir_type *type)
Construct a Sel node.
Definition: gen_irnode.c:2289
ir_node * new_rd_Mul(dbg_info *dbgi, ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct a Mul node.
Definition: gen_irnode.c:1625
Definition: nodes.h:52
ir_op * get_op_And(void)
Returns opcode for And nodes.
Definition: gen_irnode.c:380
ir_op * get_op_Address(void)
Returns opcode for Address nodes.
Definition: gen_irnode.c:142
void() set_Call_type(ir_node *node, ir_type *type)
Sets type attribute of a Call node.
Definition: gen_irnode.c:3065
int() get_Call_n_params(ir_node const *node)
Get the number of Call params.
Definition: gen_irnode.c:667
ir_node * new_Jmp(void)
Construct a Jmp node.
Definition: gen_irnode.c:1384
ir_node *() get_Store_mem(const ir_node *node)
Returns mem input of a Store node.
Definition: gen_irnode.c:2610
ir_op * get_op_NoMem(void)
Returns opcode for NoMem nodes.
Definition: gen_irnode.c:1840
void() set_Return_res(ir_node *node, int pos, ir_node *res)
Set the Return res with index pos.
Definition: gen_irnode.c:2252
int() get_Return_n_ress(ir_node const *node)
Get the number of Return ress.
Definition: gen_irnode.c:2242
void() set_Mulh_right(ir_node *node, ir_node *right)
Sets right input of a Mulh node.
Definition: gen_irnode.c:1731
ir_node * new_r_Unknown(ir_graph *irg, ir_mode *mode)
Construct an Unknown node.
Definition: gen_irnode.c:2877
ir_node * new_r_Sub(ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct a Sub node.
Definition: gen_irnode.c:2661
ir_node *() get_Switch_selector(const ir_node *node)
Returns selector input of a Switch node.
Definition: gen_irnode.c:2737
ir_align() get_Store_unaligned(const ir_node *node)
Returns unaligned attribute of a Store node.
Definition: gen_irnode.c:3470
ir_op * op_Load
Load opcode.
Definition: nodes.h:2179
int() is_Offset(const ir_node *node)
Test if node is a Offset.
Definition: gen_irnode.c:3330
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.
Definition: gen_irnode.c:965
void() set_Sel_type(ir_node *node, ir_type *type)
Sets type attribute of a Sel node.
Definition: gen_irnode.c:3405
ir_node *() get_Raise_mem(const ir_node *node)
Returns mem input of a Raise node.
Definition: gen_irnode.c:2172
ir_op * op_End
End opcode.
Definition: nodes.h:1759
ir_node * new_r_Phi(ir_node *block, int arity, ir_node *const *in, ir_mode *mode)
Construct a Phi node.
Definition: gen_irnode.c:2002
ir_node *() get_Conv_op(const ir_node *node)
Returns op input of a Conv node.
Definition: gen_irnode.c:926
ir_type *() get_CopyB_type(const ir_node *node)
Returns type attribute of a CopyB node.
Definition: gen_irnode.c:3140
int() is_entconst(const ir_node *node)
Test if node is a entconst.
Definition: gen_irnode.c:3530
void() set_Size_type(ir_node *node, ir_type *type)
Sets type attribute of a Size node.
Definition: gen_irnode.c:3435
ir_op * op_Add
Add opcode.
Definition: nodes.h:232
void() set_Mulh_left(ir_node *node, ir_node *left)
Sets left input of a Mulh node.
Definition: gen_irnode.c:1721
ir_node *() get_Shl_right(const ir_node *node)
Returns right input of a Shl node.
Definition: gen_irnode.c:2369
ir_node *() get_And_left(const ir_node *node)
Returns left input of an And node.
Definition: gen_irnode.c:360
ir_node *() get_Sel_index(const ir_node *node)
Returns index input of a Sel node.
Definition: gen_irnode.c:2311
void() set_Load_unaligned(ir_node *node, ir_align unaligned)
Sets unaligned attribute of a Load node.
Definition: gen_irnode.c:3265
cond_jmp_predicate
A type to express conditional jump predictions.
Definition: firm_types.h:209
ir_node * new_rd_Phi(dbg_info *dbgi, ir_node *block, int arity, ir_node *const *in, ir_mode *mode)
Construct a Phi node.
Definition: gen_irnode.c:1986
ir_node *() get_Shr_left(const ir_node *node)
Returns left input of a Shr node.
Definition: gen_irnode.c:2417
ir_node *() get_Anchor_end(const ir_node *node)
Returns end input of an Anchor node.
Definition: gen_irnode.c:262
Definition: nodes.h:28
ir_node * new_r_Offset(ir_graph *irg, ir_mode *mode, ir_entity *entity)
Construct an Offset node.
Definition: gen_irnode.c:1906
ir_op * op_Unknown
Unknown opcode.
Definition: nodes.h:4225
ir_node * new_r_Confirm(ir_node *block, ir_node *irn_value, ir_node *irn_bound, ir_relation relation)
Construct a Confirm node.
Definition: gen_irnode.c:816
int() is_NoMem(const ir_node *node)
Test if node is a NoMem.
Definition: gen_irnode.c:3320
ir_node *() get_Tuple_pred(ir_node const *node, int pos)
Get the Tuple pred with index pos.
Definition: gen_irnode.c:2844
ir_op * get_op_End(void)
Returns opcode for End nodes.
Definition: gen_irnode.c:1175
void() set_Alloc_mem(ir_node *node, ir_node *mem)
Sets mem input of an Alloc node.
Definition: gen_irnode.c:222
ir_node * new_Proj(ir_node *irn_pred, ir_mode *mode, unsigned num)
Construct a Proj node.
Definition: gen_irnode.c:2119
void() set_Builtin_kind(ir_node *node, ir_builtin_kind kind)
Sets kind attribute of a Builtin node.
Definition: gen_irnode.c:3040
ir_node * new_d_Unknown(dbg_info *dbgi, ir_mode *mode)
Construct an Unknown node.
Definition: gen_irnode.c:2882
ir_node *() get_CopyB_src(const ir_node *node)
Returns src input of a CopyB node.
Definition: gen_irnode.c:997
int() get_Phi_loop(const ir_node *node)
Returns loop attribute of a Phi node.
Definition: gen_irnode.c:3355
ir_node * new_rd_NoMem(dbg_info *dbgi, ir_graph *irg)
Construct a NoMem node.
Definition: gen_irnode.c:1810
void() set_Mux_false(ir_node *node, ir_node *false_)
Sets false input of a Mux node.
Definition: gen_irnode.c:1790
ir_op * op_Mulh
Mulh opcode.
Definition: nodes.h:2580
void() set_ASM_clobbers(ir_node *node, ident **clobbers)
Sets clobbers attribute of an ASM node.
Definition: gen_irnode.c:2930
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.
Definition: gen_irnode.c:566
ir_mode *() get_Mod_resmode(const ir_node *node)
Returns resmode attribute of a Mod node.
Definition: gen_irnode.c:3295
ir_node * new_rd_Mux(dbg_info *dbgi, ir_node *block, ir_node *irn_sel, ir_node *irn_false, ir_node *irn_true)
Construct a Mux node.
Definition: gen_irnode.c:1741
void() set_Mul_left(ir_node *node, ir_node *left)
Sets left input of a Mul node.
Definition: gen_irnode.c:1663
void() set_Raise_mem(ir_node *node, ir_node *mem)
Sets mem input of a Raise node.
Definition: gen_irnode.c:2177
int() is_Bad(const ir_node *node)
Test if node is a Bad.
Definition: gen_irnode.c:3005
ir_node * new_d_Alloc(dbg_info *dbgi, ir_node *irn_mem, ir_node *irn_size, unsigned alignment)
Construct an Alloc node.
Definition: gen_irnode.c:205
ir_op * op_Switch
Switch opcode.
Definition: nodes.h:4026
Definition: nodes.h:36
void() set_Cond_selector(ir_node *node, ir_node *selector)
Sets selector input of a Cond node.
Definition: gen_irnode.c:789
ir_node * new_r_End(ir_graph *irg, int arity, ir_node *const *in)
Construct an End node.
Definition: gen_irnode.c:1138
ir_node * new_d_NoMem(dbg_info *dbgi)
Construct a NoMem node.
Definition: gen_irnode.c:1828
void() set_Div_left(ir_node *node, ir_node *left)
Sets left input of a Div node.
Definition: gen_irnode.c:1070
ir_node * new_Alloc(ir_node *irn_mem, ir_node *irn_size, unsigned alignment)
Construct an Alloc node.
Definition: gen_irnode.c:212
This operation has no arguments and is some kind of a constant.
Definition: irop.h:50
ir_node *() get_Cmp_left(const ir_node *node)
Returns left input of a Cmp node.
Definition: gen_irnode.c:726
void() set_Switch_n_outs(ir_node *node, unsigned n_outs)
Sets n_outs attribute of a Switch node.
Definition: gen_irnode.c:3495
ir_node * new_d_Mul(dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right)
Construct a Mul node.
Definition: gen_irnode.c:1646
ir_cons_flags
constrained flags for memory operations.
Definition: firm_types.h:183
void() set_Or_left(ir_node *node, ir_node *left)
Sets left input of an Or node.
Definition: gen_irnode.c:1966
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.
Definition: gen_irnode.c:2571
ir_node * new_r_Shr(ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct a Shr node.
Definition: gen_irnode.c:2400
ir_node *() get_Pin_op(const ir_node *node)
Returns op input of a Pin node.
Definition: gen_irnode.c:2076
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.
Definition: gen_irnode.c:642
#define ALLOCAN(type, n)
Allocate n objects of a certain type on the stack.
Definition: xmalloc.h:97
void() set_Load_volatility(ir_node *node, ir_volatility volatility)
Sets volatility attribute of a Load node.
Definition: gen_irnode.c:3255
ir_op * op_Builtin
Builtin opcode.
Definition: nodes.h:912
int() get_ASM_n_inputs(ir_node const *node)
Get the number of ASM inputs.
Definition: gen_irnode.c:28
ir_op * op_Return
Return opcode.
Definition: nodes.h:3300
ir_op * get_op_IJmp(void)
Returns opcode for IJmp nodes.
Definition: gen_irnode.c:1338
ir_node **() get_Builtin_param_arr(ir_node *node)
Get an array of all Builtin params.
Definition: gen_irnode.c:596
Definition: nodes.h:23
struct ir_mode ir_mode
SSA Value mode.
Definition: firm_types.h:59
void() set_ASM_input(ir_node *node, int pos, ir_node *input)
Set the ASM input with index pos.
Definition: gen_irnode.c:38
void() set_Mod_right(ir_node *node, ir_node *right)
Sets right input of a Mod node.
Definition: gen_irnode.c:1615
ir_node * new_r_Sync(ir_node *block, int arity, ir_node *const *in)
Construct a Sync node.
Definition: gen_irnode.c:2766
ir_op * op_Mul
Mul opcode.
Definition: nodes.h:2505
int() is_Address(const ir_node *node)
Test if node is a Address.
Definition: gen_irnode.c:2950
ir_node *() get_Eor_left(const ir_node *node)
Returns left input of an Eor node.
Definition: gen_irnode.c:1213
Definition: nodes.h:49
ir_node * new_rd_Dummy(dbg_info *dbgi, ir_graph *irg, ir_mode *mode)
Construct a Dummy node.
Definition: gen_irnode.c:1090
int() is_Deleted(const ir_node *node)
Test if node is a Deleted.
Definition: gen_irnode.c:3160
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.
Definition: gen_irnode.c:972
ir_node * new_r_Pin(ir_node *block, ir_node *irn_op)
Construct a Pin node.
Definition: gen_irnode.c:2059
ir_node *() get_CopyB_mem(const ir_node *node)
Returns mem input of a CopyB node.
Definition: gen_irnode.c:977
void() set_Builtin_mem(ir_node *node, ir_node *mem)
Sets mem input of a Builtin node.
Definition: gen_irnode.c:576
ir_node *() get_Proj_pred(const ir_node *node)
Returns pred input of a Proj node.
Definition: gen_irnode.c:2124
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.
Definition: gen_irnode.c:635
ir_op * get_op_Pin(void)
Returns opcode for Pin nodes.
Definition: gen_irnode.c:2086
void() set_Store_type(ir_node *node, ir_type *type)
Sets type attribute of a Store node.
Definition: gen_irnode.c:3455
void() set_Shrs_right(ir_node *node, ir_node *right)
Sets right input of a Shrs node.
Definition: gen_irnode.c:2490
ir_node * get_cur_block(void)
Returns the current block of the current graph.
ir_op * op_Member
Member opcode.
Definition: nodes.h:2256
ir_node * new_rd_Bad(dbg_info *dbgi, ir_graph *irg, ir_mode *mode)
Construct a Bad node.
Definition: gen_irnode.c:385
int() is_Bitcast(const ir_node *node)
Test if node is a Bitcast.
Definition: gen_irnode.c:3010
int() is_Switch(const ir_node *node)
Test if node is a Switch.
Definition: gen_irnode.c:3485
ir_op * get_op_Bad(void)
Returns opcode for Bad nodes.
Definition: gen_irnode.c:415
ir_op * get_op_Anchor(void)
Returns opcode for Anchor nodes.
Definition: gen_irnode.c:322
ir_node * new_rd_Member(dbg_info *dbgi, ir_node *block, ir_node *irn_ptr, ir_entity *entity)
Construct a Member node.
Definition: gen_irnode.c:1458
ir_node * new_d_Proj(dbg_info *dbgi, ir_node *irn_pred, ir_mode *mode, unsigned num)
Construct a Proj node.
Definition: gen_irnode.c:2112
unsigned() get_Switch_n_outs(const ir_node *node)
Returns n_outs attribute of a Switch node.
Definition: gen_irnode.c:3490
ir_node *() get_Mux_sel(const ir_node *node)
Returns sel input of a Mux node.
Definition: gen_irnode.c:1775
ir_node * new_r_Eor(ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct an Eor node.
Definition: gen_irnode.c:1196
int() get_Div_no_remainder(const ir_node *node)
Returns no_remainder attribute of a Div node.
Definition: gen_irnode.c:3180
Definition: nodes.h:51
ir_node *() get_Sel_ptr(const ir_node *node)
Returns ptr input of a Sel node.
Definition: gen_irnode.c:2301
ir_node * new_r_Or(ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct an Or node.
Definition: gen_irnode.c:1944
ir_node * new_d_Bad(dbg_info *dbgi, ir_mode *mode)
Construct a Bad node.
Definition: gen_irnode.c:403
memory dependency
Definition: nodes.h:933
ir_node * new_Sync(int arity, ir_node *const *in)
Construct a Sync node.
Definition: gen_irnode.c:2778
control flow when exception occurred
Definition: nodes.h:2092
ir_node * new_NoMem(void)
Construct a NoMem node.
Definition: gen_irnode.c:1835
void() set_Alloc_alignment(ir_node *node, unsigned alignment)
Sets alignment attribute of an Alloc node.
Definition: gen_irnode.c:2990
void() set_typeconst_type(ir_node *node, ir_type *type)
Sets type attribute of a typeconst node.
Definition: gen_irnode.c:3555
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.
Definition: gen_irnode.c:630
int() is_Jmp(const ir_node *node)
Test if node is a Jmp.
Definition: gen_irnode.c:3220
ir_node * new_rd_Size(dbg_info *dbgi, ir_graph *irg, ir_mode *mode, ir_type *type)
Construct a Size node.
Definition: gen_irnode.c:2500
control flow when exception occured
Definition: nodes.h:1561
ir_op * op_Pin
Pin opcode.
Definition: nodes.h:3057
int() is_Mulh(const ir_node *node)
Test if node is a Mulh.
Definition: gen_irnode.c:3310
ir_op * op_Start
Start opcode.
Definition: nodes.h:3742
ir_node *() get_Anchor_no_mem(const ir_node *node)
Returns no_mem input of an Anchor node.
Definition: gen_irnode.c:312
ir_type *() get_Sel_type(const ir_node *node)
Returns type attribute of a Sel node.
Definition: gen_irnode.c:3400
ir_mode * mode_b
This mode represents (parts of) the processor status flag queried in conditional jumps or predicated ...
Definition: irmode.h:215
int() is_Confirm(const ir_node *node)
Test if node is a Confirm.
Definition: gen_irnode.c:3100
int() get_Block_n_cfgpreds(ir_node const *node)
Get the number of Block cfgpreds.
Definition: gen_irnode.c:506
ir_mode * get_irn_mode(const ir_node *node)
Returns the mode struct of a 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.
Definition: gen_irnode.c:531
void() set_Anchor_start(ir_node *node, ir_node *start)
Sets start input of an Anchor node.
Definition: gen_irnode.c:277
int() is_Return(const ir_node *node)
Test if node is a Return.
Definition: gen_irnode.c:3390
ir_op * get_op_Mulh(void)
Returns opcode for Mulh nodes.
Definition: gen_irnode.c:1736
ir_node *() get_Mulh_left(const ir_node *node)
Returns left input of a Mulh node.
Definition: gen_irnode.c:1716
ir_node * new_r_Dummy(ir_graph *irg, ir_mode *mode)
Construct a Dummy node.
Definition: gen_irnode.c:1103
ir_op * op_Eor
Eor opcode.
Definition: nodes.h:1835
void() set_Div_mem(ir_node *node, ir_node *mem)
Sets mem input of a Div node.
Definition: gen_irnode.c:1060
ir_op * op_IJmp
IJmp opcode.
Definition: nodes.h:1976
ir_entity *() get_entconst_entity(const ir_node *node)
Returns entity attribute of an entconst node.
Definition: gen_irnode.c:3535
ir_type *() get_Call_type(const ir_node *node)
Returns type attribute of a Call node.
Definition: gen_irnode.c:3060
Definition: nodes.h:18
ir_entity *() get_Member_entity(const ir_node *node)
Returns entity attribute of a Member node.
Definition: gen_irnode.c:3275
ir_node *() get_Mul_left(const ir_node *node)
Returns left input of a Mul node.
Definition: gen_irnode.c:1658
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.
Definition: gen_irnode.c:1428
void() set_Store_unaligned(ir_node *node, ir_align unaligned)
Sets unaligned attribute of a Store node.
Definition: gen_irnode.c:3475
void() set_CopyB_type(ir_node *node, ir_type *type)
Sets type attribute of a CopyB node.
Definition: gen_irnode.c:3145
ir_op * get_op_Conv(void)
Returns opcode for Conv nodes.
Definition: gen_irnode.c:936
ir_node * new_d_Sync(dbg_info *dbgi, int arity, ir_node *const *in)
Construct a Sync node.
Definition: gen_irnode.c:2771
ir_node * new_r_Start(ir_graph *irg)
Construct a Start node.
Definition: gen_irnode.c:2549
ir_node * new_Not(ir_node *irn_op)
Construct a Not node.
Definition: gen_irnode.c:1872
int() is_ASM(const ir_node *node)
Test if node is a ASM.
Definition: gen_irnode.c:2900
ir_node * new_d_Tuple(dbg_info *dbgi, int arity, ir_node *const *in)
Construct a Tuple node.
Definition: gen_irnode.c:2827
ir_node * new_d_Div(dbg_info *dbgi, ir_node *irn_mem, ir_node *irn_left, ir_node *irn_right, int pinned)
Construct a Div node.
Definition: gen_irnode.c:1043
ir_node *() get_Load_mem(const ir_node *node)
Returns mem input of a Load node.
Definition: gen_irnode.c:1433
void() set_End_keepalive(ir_node *node, int pos, ir_node *keepalive)
Set the End keepalive with index pos.
Definition: gen_irnode.c:1165
control flow when no exception occurs
Definition: nodes.h:3771
ir_node * new_d_Pin(dbg_info *dbgi, ir_node *irn_op)
Construct a Pin node.
Definition: gen_irnode.c:2064
The arity depends on state of Firm representation.
Definition: irop.h:34
ir_op * get_op_Eor(void)
Returns opcode for Eor nodes.
Definition: gen_irnode.c:1233
void() set_Cmp_relation(ir_node *node, ir_relation relation)
Sets relation attribute of a Cmp node.
Definition: gen_irnode.c:3080
int() get_Tuple_n_preds(ir_node const *node)
Get the number of Tuple preds.
Definition: gen_irnode.c:2839
void() set_Proj_pred(ir_node *node, ir_node *pred)
Sets pred input of a Proj node.
Definition: gen_irnode.c:2129
ir_node * new_Shrs(ir_node *irn_left, ir_node *irn_right)
Construct a Shrs node.
Definition: gen_irnode.c:2470
int() is_Sel(const ir_node *node)
Test if node is a Sel.
Definition: gen_irnode.c:3395
ir_node * new_r_Shrs(ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct a Shrs node.
Definition: gen_irnode.c:2458
void() set_Sub_right(ir_node *node, ir_node *right)
Sets right input of a Sub node.
Definition: gen_irnode.c:2693
ir_node * new_r_IJmp(ir_node *block, ir_node *irn_target)
Construct an IJmp node.
Definition: gen_irnode.c:1311
ir_node * new_rd_Mulh(dbg_info *dbgi, ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct a Mulh node.
Definition: gen_irnode.c:1683
void() set_entconst_entity(ir_node *node, ir_entity *entity)
Sets entity attribute of an entconst node.
Definition: gen_irnode.c:3540
ir_op * op_Bitcast
Bitcast opcode.
Definition: nodes.h:735
Definition: nodes.h:45
struct ir_entity ir_entity
Entity.
Definition: firm_types.h:83
ir_node *() get_Sub_right(const ir_node *node)
Returns right input of a Sub node.
Definition: gen_irnode.c:2688
int mode_is_reference(const ir_mode *mode)
Returns 1 if mode is for references/pointers, 0 otherwise.
struct ir_node ir_node
Procedure Graph Node.
Definition: firm_types.h:53
int() is_Start(const ir_node *node)
Test if node is a Start.
Definition: gen_irnode.c:3440
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.
Definition: gen_irnode.c:1421
ir_op * op_Not
Not opcode.
Definition: nodes.h:2778
ir_node *() get_Sub_left(const ir_node *node)
Returns left input of a Sub node.
Definition: gen_irnode.c:2678
ir_op * op_Const
Const opcode.
Definition: nodes.h:1337
No jump prediction.
Definition: firm_types.h:210
void() set_Shrs_left(ir_node *node, ir_node *left)
Sets left input of a Shrs node.
Definition: gen_irnode.c:2480
ir_node * new_Bitcast(ir_node *irn_op, ir_mode *mode)
Construct a Bitcast node.
Definition: gen_irnode.c:447
int() is_Shr(const ir_node *node)
Test if node is a Shr.
Definition: gen_irnode.c:3415
int() is_Id(const ir_node *node)
Test if node is a Id.
Definition: gen_irnode.c:3215
ir_op * get_op_Mux(void)
Returns opcode for Mux nodes.
Definition: gen_irnode.c:1805
ir_node * new_d_Free(dbg_info *dbgi, ir_node *irn_mem, ir_node *irn_ptr)
Construct a Free node.
Definition: gen_irnode.c:1259
ir_node * new_Cmp(ir_node *irn_left, ir_node *irn_right, ir_relation relation)
Construct a Cmp node.
Definition: gen_irnode.c:721
ir_node * new_Block(int arity, ir_node *const *in)
Construct a Block node.
Definition: gen_irnode.c:501
ir_asm_constraint *() get_ASM_input_constraints(const ir_node *node)
Returns input_constraints attribute of an ASM node.
Definition: gen_irnode.c:2905
void() set_Switch_selector(ir_node *node, ir_node *selector)
Sets selector input of a Switch node.
Definition: gen_irnode.c:2742
ir_node * new_rd_Add(dbg_info *dbgi, ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct an Add node.
Definition: gen_irnode.c:53
void() set_ASM_text(ir_node *node, ident *text)
Sets text attribute of an ASM node.
Definition: gen_irnode.c:2940
ir_node *() get_Call_ptr(const ir_node *node)
Returns ptr input of a Call node.
Definition: gen_irnode.c:657
ir_node *() get_Shrs_left(const ir_node *node)
Returns left input of a Shrs node.
Definition: gen_irnode.c:2475
void free_ir_op(ir_op *code)
Frees an ir operation.
ir_node * new_r_Minus(ir_node *block, ir_node *irn_op)
Construct a Minus node.
Definition: gen_irnode.c:1521
ir_op * op_ASM
ASM opcode.
Definition: nodes.h:158
ir_node * new_d_Eor(dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right)
Construct an Eor node.
Definition: gen_irnode.c:1201
ir_node * new_Confirm(ir_node *irn_value, ir_node *irn_bound, ir_relation relation)
Construct a Confirm node.
Definition: gen_irnode.c:828
ir_op * op_Phi
Phi opcode.
Definition: nodes.h:2990
ir_node * new_d_End(dbg_info *dbgi, int arity, ir_node *const *in)
Construct an End node.
Definition: gen_irnode.c:1143
struct ir_graph ir_graph
Procedure Graph.
Definition: firm_types.h:74
ir_op * get_op_Align(void)
Returns opcode for Align nodes.
Definition: gen_irnode.c:178
ir_mode * mode_X
execution
Definition: irmode.h:217
void() set_And_left(ir_node *node, ir_node *left)
Sets left input of an And node.
Definition: gen_irnode.c:365
Definition: nodes.h:62
ir_node * new_Or(ir_node *irn_left, ir_node *irn_right)
Construct an Or node.
Definition: gen_irnode.c:1956
ir_node * new_rd_Proj(dbg_info *dbgi, ir_node *irn_pred, ir_mode *mode, unsigned num)
Construct a Proj node.
Definition: gen_irnode.c:2091
ir_node *() get_Phi_pred(ir_node const *node, int pos)
Get the Phi pred with index pos.
Definition: gen_irnode.c:2024
ir_node * new_r_Address(ir_graph *irg, ir_entity *entity)
Construct an Address node.
Definition: gen_irnode.c:125
ir_node * new_Return(ir_node *irn_mem, int arity, ir_node *const *in)
Construct a Return node.
Definition: gen_irnode.c:2227
ir_align() get_Load_unaligned(const ir_node *node)
Returns unaligned attribute of a Load node.
Definition: gen_irnode.c:3260
ir_node * new_Shl(ir_node *irn_left, ir_node *irn_right)
Construct a Shl node.
Definition: gen_irnode.c:2354
Nodes of this opcode can be placed in any basic block.
Definition: firm_types.h:199
control flow when exception occured
Definition: nodes.h:945
void() set_Div_resmode(ir_node *node, ir_mode *resmode)
Sets resmode attribute of a Div node.
Definition: gen_irnode.c:3175
ir_node * new_Bad(ir_mode *mode)
Construct a Bad node.
Definition: gen_irnode.c:410
void() set_Builtin_param(ir_node *node, int pos, ir_node *param)
Set the Builtin param with index pos.
Definition: gen_irnode.c:591
ir_op * get_op_Not(void)
Returns opcode for Not nodes.
Definition: gen_irnode.c:1887
int() is_Const(const ir_node *node)
Test if node is a Const.
Definition: gen_irnode.c:3115
ir_node * new_Minus(ir_node *irn_op)
Construct a Minus node.
Definition: gen_irnode.c:1533
void() set_Store_volatility(ir_node *node, ir_volatility volatility)
Sets volatility attribute of a Store node.
Definition: gen_irnode.c:3465
ir_node *() get_End_keepalive(ir_node const *node, int pos)
Get the End keepalive with index pos.
Definition: gen_irnode.c:1160
ir_node * new_d_Switch(dbg_info *dbgi, ir_node *irn_selector, unsigned n_outs, ir_switch_table *table)
Construct a Switch node.
Definition: gen_irnode.c:2725
ir_node * new_r_Not(ir_node *block, ir_node *irn_op)
Construct a Not node.
Definition: gen_irnode.c:1860
ir_tarval *() get_Const_tarval(const ir_node *node)
Returns tarval attribute of a Const node.
Definition: gen_irnode.c:3120
ir_op * op_Size
Size opcode.
Definition: nodes.h:3683
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.
Definition: gen_irnode.c:799
Definition: nodes.h:24
ir_node * new_d_Shr(dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right)
Construct a Shr node.
Definition: gen_irnode.c:2405
ir_node * new_r_Mulh(ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct a Mulh node.
Definition: gen_irnode.c:1699
ir_node * new_Offset(ir_mode *mode, ir_entity *entity)
Construct an Offset node.
Definition: gen_irnode.c:1918
ir_node * new_d_And(dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right)
Construct an And node.
Definition: gen_irnode.c:348
ir_node * new_r_Bitcast(ir_node *block, ir_node *irn_op, ir_mode *mode)
Construct a Bitcast node.
Definition: gen_irnode.c:435
int() is_Unknown(const ir_node *node)
Test if node is a Unknown.
Definition: gen_irnode.c:3520
Any other arity.
Definition: irop.h:37
ir_node * new_d_Const(dbg_info *dbgi, ir_tarval *tarval)
Construct a Const node.
Definition: gen_irnode.c:877
void() set_Anchor_no_mem(ir_node *node, ir_node *no_mem)
Sets no_mem input of an Anchor node.
Definition: gen_irnode.c:317
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_type *() get_typeconst_type(const ir_node *node)
Returns type attribute of a typeconst node.
Definition: gen_irnode.c:3550
fragile op throws exception (and produces X_regular and X_except values)
Definition: firm_types.h:188
ir_op * op_Offset
Offset opcode.
Definition: nodes.h:2840
ir_node * new_r_Mul(ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct a Mul node.
Definition: gen_irnode.c:1641
int() is_Eor(const ir_node *node)
Test if node is a Eor.
Definition: gen_irnode.c:3200
ir_op * op_Confirm
Confirm opcode.
Definition: nodes.h:1279
int() is_Mux(const ir_node *node)
Test if node is a Mux.
Definition: gen_irnode.c:3315
ir_mode *() get_Load_mode(const ir_node *node)
Returns mode attribute of a Load node.
Definition: gen_irnode.c:3230
int() is_Mul(const ir_node *node)
Test if node is a Mul.
Definition: gen_irnode.c:3305
ir_op * op_Store
Store opcode.
Definition: nodes.h:3858
Definition: nodes.h:12
ir_node * new_rd_IJmp(dbg_info *dbgi, ir_node *block, ir_node *irn_target)
Construct an IJmp node.
Definition: gen_irnode.c:1296
ir_node * new_Mul(ir_node *irn_left, ir_node *irn_right)
Construct a Mul node.
Definition: gen_irnode.c:1653
ir_node * new_rd_Mod(dbg_info *dbgi, ir_node *block, ir_node *irn_mem, ir_node *irn_left, ir_node *irn_right, int pinned)
Construct a Mod node.
Definition: gen_irnode.c:1553
ir_op * op_Mod
Mod opcode.
Definition: nodes.h:2431