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