1 #ifndef _newgen_paf_ri_included
2 #define _newgen_paf_ri_included
3 #define _gen_paf_ri_start 232
10 #if !defined(_newgen_reference_domain_defined_)
11 #define _newgen_reference_domain_defined_
12 #define REFERENCE_NEWGEN_DOMAIN (reference_domain)
13 #define reference_NEWGEN_DOMAIN (reference_domain)
17 #if !defined(_newgen_predicate_domain_defined_)
18 #define _newgen_predicate_domain_defined_
19 #define PREDICATE_NEWGEN_DOMAIN (predicate_domain)
20 #define predicate_NEWGEN_DOMAIN (predicate_domain)
24 #if !defined(_newgen_expression_domain_defined_)
25 #define _newgen_expression_domain_defined_
26 #define EXPRESSION_NEWGEN_DOMAIN (expression_domain)
27 #define expression_NEWGEN_DOMAIN (expression_domain)
31 #if !defined(_newgen_loop_domain_defined_)
32 #define _newgen_loop_domain_defined_
33 #define LOOP_NEWGEN_DOMAIN (loop_domain)
34 #define loop_NEWGEN_DOMAIN (loop_domain)
38 #if !defined(_newgen_statement_domain_defined_)
39 #define _newgen_statement_domain_defined_
40 #define STATEMENT_NEWGEN_DOMAIN (statement_domain)
41 #define statement_NEWGEN_DOMAIN (statement_domain)
45 #if !defined(_newgen_entity_domain_defined_)
46 #define _newgen_entity_domain_defined_
47 #define ENTITY_NEWGEN_DOMAIN (entity_domain)
48 #define entity_NEWGEN_DOMAIN (entity_domain)
52 #if !defined(_newgen_sccflags_domain_defined_)
53 #define _newgen_sccflags_domain_defined_
54 #define SCCFLAGS_NEWGEN_DOMAIN (sccflags_domain)
55 #define sccflags_NEWGEN_DOMAIN (sccflags_domain)
59 #if !defined(_newgen_Pvecteur_domain_defined_)
60 #define _newgen_Pvecteur_domain_defined_
61 #define newgen_Pvecteur(p) (p)
62 #define PVECTEUR_NEWGEN_EXTERNAL (_gen_paf_ri_start+0)
63 #define PVECTEUR_NEWGEN_DOMAIN (PVECTEUR_NEWGEN_EXTERNAL)
64 #define Pvecteur_NEWGEN_DOMAIN (PVECTEUR_NEWGEN_EXTERNAL)
67 #define bdt_domain (_gen_paf_ri_start+1)
68 #if !defined(_newgen_bdt_domain_defined_)
69 #define _newgen_bdt_domain_defined_
70 #define BDT_NEWGEN_DOMAIN (bdt_domain)
71 #define bdt_NEWGEN_DOMAIN (bdt_domain)
75 #define communication_domain (_gen_paf_ri_start+2)
76 #if !defined(_newgen_communication_domain_defined_)
77 #define _newgen_communication_domain_defined_
78 #define COMMUNICATION_NEWGEN_DOMAIN (communication_domain)
79 #define communication_NEWGEN_DOMAIN (communication_domain)
83 #define conditional_domain (_gen_paf_ri_start+3)
84 #if !defined(_newgen_conditional_domain_defined_)
85 #define _newgen_conditional_domain_defined_
86 #define CONDITIONAL_NEWGEN_DOMAIN (conditional_domain)
87 #define conditional_NEWGEN_DOMAIN (conditional_domain)
91 #define dataflow_domain (_gen_paf_ri_start+4)
92 #if !defined(_newgen_dataflow_domain_defined_)
93 #define _newgen_dataflow_domain_defined_
94 #define DATAFLOW_NEWGEN_DOMAIN (dataflow_domain)
95 #define dataflow_NEWGEN_DOMAIN (dataflow_domain)
99 #define dfg_arc_label_domain (_gen_paf_ri_start+5)
100 #if !defined(_newgen_dfg_arc_label_domain_defined_)
101 #define _newgen_dfg_arc_label_domain_defined_
102 #define DFG_ARC_LABEL_NEWGEN_DOMAIN (dfg_arc_label_domain)
103 #define dfg_arc_label_NEWGEN_DOMAIN (dfg_arc_label_domain)
107 #define dfg_vertex_label_domain (_gen_paf_ri_start+6)
108 #if !defined(_newgen_dfg_vertex_label_domain_defined_)
109 #define _newgen_dfg_vertex_label_domain_defined_
110 #define DFG_VERTEX_LABEL_NEWGEN_DOMAIN (dfg_vertex_label_domain)
111 #define dfg_vertex_label_NEWGEN_DOMAIN (dfg_vertex_label_domain)
115 #define leaf_label_domain (_gen_paf_ri_start+7)
116 #if !defined(_newgen_leaf_label_domain_defined_)
117 #define _newgen_leaf_label_domain_defined_
118 #define LEAF_LABEL_NEWGEN_DOMAIN (leaf_label_domain)
119 #define leaf_label_NEWGEN_DOMAIN (leaf_label_domain)
123 #define lisp_expression_domain (_gen_paf_ri_start+8)
124 #if !defined(_newgen_lisp_expression_domain_defined_)
125 #define _newgen_lisp_expression_domain_defined_
126 #define LISP_EXPRESSION_NEWGEN_DOMAIN (lisp_expression_domain)
127 #define lisp_expression_NEWGEN_DOMAIN (lisp_expression_domain)
131 #define placement_domain (_gen_paf_ri_start+9)
132 #if !defined(_newgen_placement_domain_defined_)
133 #define _newgen_placement_domain_defined_
134 #define PLACEMENT_NEWGEN_DOMAIN (placement_domain)
135 #define placement_NEWGEN_DOMAIN (placement_domain)
139 #define plc_domain (_gen_paf_ri_start+10)
140 #if !defined(_newgen_plc_domain_defined_)
141 #define _newgen_plc_domain_defined_
142 #define PLC_NEWGEN_DOMAIN (plc_domain)
143 #define plc_NEWGEN_DOMAIN (plc_domain)
147 #define quast_leaf_domain (_gen_paf_ri_start+11)
148 #if !defined(_newgen_quast_leaf_domain_defined_)
149 #define _newgen_quast_leaf_domain_defined_
150 #define QUAST_LEAF_NEWGEN_DOMAIN (quast_leaf_domain)
151 #define quast_leaf_NEWGEN_DOMAIN (quast_leaf_domain)
155 #define quast_domain (_gen_paf_ri_start+12)
156 #if !defined(_newgen_quast_domain_defined_)
157 #define _newgen_quast_domain_defined_
158 #define QUAST_NEWGEN_DOMAIN (quast_domain)
159 #define quast_NEWGEN_DOMAIN (quast_domain)
163 #define quast_value_domain (_gen_paf_ri_start+13)
164 #if !defined(_newgen_quast_value_domain_defined_)
165 #define _newgen_quast_value_domain_defined_
166 #define QUAST_VALUE_NEWGEN_DOMAIN (quast_value_domain)
167 #define quast_value_NEWGEN_DOMAIN (quast_value_domain)
171 #define schedule_domain (_gen_paf_ri_start+14)
172 #if !defined(_newgen_schedule_domain_defined_)
173 #define _newgen_schedule_domain_defined_
174 #define SCHEDULE_NEWGEN_DOMAIN (schedule_domain)
175 #define schedule_NEWGEN_DOMAIN (schedule_domain)
179 #define static_control_domain (_gen_paf_ri_start+15)
180 #if !defined(_newgen_static_control_domain_defined_)
181 #define _newgen_static_control_domain_defined_
182 #define STATIC_CONTROL_NEWGEN_DOMAIN (static_control_domain)
183 #define static_control_NEWGEN_DOMAIN (static_control_domain)
187 #define var_val_domain (_gen_paf_ri_start+16)
188 #if !defined(_newgen_var_val_domain_defined_)
189 #define _newgen_var_val_domain_defined_
190 #define VAR_VAL_NEWGEN_DOMAIN (var_val_domain)
191 #define var_val_NEWGEN_DOMAIN (var_val_domain)
198 #define BDT(x) ((bdt)((x).p))
199 #define bdt_CAST(x) BDT(x)
200 #define BDT_CAST(x) BDT(x)
201 #define BDT_(x) ((x).e)
204 #define bdt_undefined ((bdt)gen_chunk_undefined)
205 #define bdt_undefined_p(x) ((x)==bdt_undefined)
212 #define gen_BDT_cons gen_bdt_cons
225 #define bdt_domain_number(x) ((x)->_type_)
226 #define bdt_schedules(x) ((x)->_bdt_holder_)
230 #define COMMUNICATION(x) ((communication)((x).p))
231 #define communication_CAST(x) COMMUNICATION(x)
232 #define COMMUNICATION_CAST(x) COMMUNICATION(x)
233 #define COMMUNICATION_(x) ((x).e)
234 #define COMMUNICATION_TYPE communication
235 #define communication_TYPE communication
236 #define communication_undefined ((communication)gen_chunk_undefined)
237 #define communication_undefined_p(x) ((x)==communication_undefined)
244 #define gen_COMMUNICATION_cons gen_communication_cons
259 #define communication_domain_number(x) ((x)->_type_)
260 #define communication_broadcast_(x) communication_broadcast(x)
261 #define communication_broadcast(x) ((x)->_communication_broadcast_)
262 #define communication_reduction_(x) communication_reduction(x)
263 #define communication_reduction(x) ((x)->_communication_reduction_)
264 #define communication_shift_(x) communication_shift(x)
265 #define communication_shift(x) ((x)->_communication_shift_)
269 #define CONDITIONAL(x) ((conditional)((x).p))
270 #define conditional_CAST(x) CONDITIONAL(x)
271 #define CONDITIONAL_CAST(x) CONDITIONAL(x)
272 #define CONDITIONAL_(x) ((x).e)
273 #define CONDITIONAL_TYPE conditional
274 #define conditional_TYPE conditional
275 #define conditional_undefined ((conditional)gen_chunk_undefined)
276 #define conditional_undefined_p(x) ((x)==conditional_undefined)
283 #define gen_CONDITIONAL_cons gen_conditional_cons
298 #define conditional_domain_number(x) ((x)->_type_)
299 #define conditional_predicate_(x) conditional_predicate(x)
300 #define conditional_predicate(x) ((x)->_conditional_predicate_)
301 #define conditional_true_quast_(x) conditional_true_quast(x)
302 #define conditional_true_quast(x) ((x)->_conditional_true_quast_)
303 #define conditional_false_quast_(x) conditional_false_quast(x)
304 #define conditional_false_quast(x) ((x)->_conditional_false_quast_)
308 #define DATAFLOW(x) ((dataflow)((x).p))
309 #define dataflow_CAST(x) DATAFLOW(x)
310 #define DATAFLOW_CAST(x) DATAFLOW(x)
311 #define DATAFLOW_(x) ((x).e)
312 #define DATAFLOW_TYPE dataflow
313 #define dataflow_TYPE dataflow
314 #define dataflow_undefined ((dataflow)gen_chunk_undefined)
315 #define dataflow_undefined_p(x) ((x)==dataflow_undefined)
322 #define gen_DATAFLOW_cons gen_dataflow_cons
338 #define dataflow_domain_number(x) ((x)->_type_)
339 #define dataflow_reference_(x) dataflow_reference(x)
340 #define dataflow_reference(x) ((x)->_dataflow_reference_)
341 #define dataflow_transformation_(x) dataflow_transformation(x)
342 #define dataflow_transformation(x) ((x)->_dataflow_transformation_)
343 #define dataflow_governing_pred_(x) dataflow_governing_pred(x)
344 #define dataflow_governing_pred(x) ((x)->_dataflow_governing_pred_)
345 #define dataflow_communication_(x) dataflow_communication(x)
346 #define dataflow_communication(x) ((x)->_dataflow_communication_)
350 #define DFG_ARC_LABEL(x) ((dfg_arc_label)((x).p))
351 #define dfg_arc_label_CAST(x) DFG_ARC_LABEL(x)
352 #define DFG_ARC_LABEL_CAST(x) DFG_ARC_LABEL(x)
353 #define DFG_ARC_LABEL_(x) ((x).e)
354 #define DFG_ARC_LABEL_TYPE dfg_arc_label
355 #define dfg_arc_label_TYPE dfg_arc_label
356 #define dfg_arc_label_undefined ((dfg_arc_label)gen_chunk_undefined)
357 #define dfg_arc_label_undefined_p(x) ((x)==dfg_arc_label_undefined)
364 #define gen_DFG_ARC_LABEL_cons gen_dfg_arc_label_cons
377 #define dfg_arc_label_domain_number(x) ((x)->_type_)
378 #define dfg_arc_label_dataflows(x) ((x)->_dfg_arc_label_holder_)
382 #define DFG_VERTEX_LABEL(x) ((dfg_vertex_label)((x).p))
383 #define dfg_vertex_label_CAST(x) DFG_VERTEX_LABEL(x)
384 #define DFG_VERTEX_LABEL_CAST(x) DFG_VERTEX_LABEL(x)
385 #define DFG_VERTEX_LABEL_(x) ((x).e)
386 #define DFG_VERTEX_LABEL_TYPE dfg_vertex_label
387 #define dfg_vertex_label_TYPE dfg_vertex_label
388 #define dfg_vertex_label_undefined ((dfg_vertex_label)gen_chunk_undefined)
389 #define dfg_vertex_label_undefined_p(x) ((x)==dfg_vertex_label_undefined)
396 #define gen_DFG_VERTEX_LABEL_cons gen_dfg_vertex_label_cons
411 #define dfg_vertex_label_domain_number(x) ((x)->_type_)
412 #define dfg_vertex_label_statement_(x) dfg_vertex_label_statement(x)
413 #define dfg_vertex_label_statement(x) ((x)->_dfg_vertex_label_statement_)
414 #define dfg_vertex_label_exec_domain_(x) dfg_vertex_label_exec_domain(x)
415 #define dfg_vertex_label_exec_domain(x) ((x)->_dfg_vertex_label_exec_domain_)
416 #define dfg_vertex_label_sccflags_(x) dfg_vertex_label_sccflags(x)
417 #define dfg_vertex_label_sccflags(x) ((x)->_dfg_vertex_label_sccflags_)
421 #define LEAF_LABEL(x) ((leaf_label)((x).p))
422 #define leaf_label_CAST(x) LEAF_LABEL(x)
423 #define LEAF_LABEL_CAST(x) LEAF_LABEL(x)
424 #define LEAF_LABEL_(x) ((x).e)
425 #define LEAF_LABEL_TYPE leaf_label
426 #define leaf_label_TYPE leaf_label
427 #define leaf_label_undefined ((leaf_label)gen_chunk_undefined)
428 #define leaf_label_undefined_p(x) ((x)==leaf_label_undefined)
435 #define gen_LEAF_LABEL_cons gen_leaf_label_cons
449 #define leaf_label_domain_number(x) ((x)->_type_)
450 #define leaf_label_statement_(x) leaf_label_statement(x)
451 #define leaf_label_statement(x) ((x)->_leaf_label_statement_)
452 #define leaf_label_depth_(x) leaf_label_depth(x)
453 #define leaf_label_depth(x) ((x)->_leaf_label_depth_)
457 #define LISP_EXPRESSION(x) ((lisp_expression)((x).p))
458 #define lisp_expression_CAST(x) LISP_EXPRESSION(x)
459 #define LISP_EXPRESSION_CAST(x) LISP_EXPRESSION(x)
460 #define LISP_EXPRESSION_(x) ((x).e)
461 #define LISP_EXPRESSION_TYPE lisp_expression
462 #define lisp_expression_TYPE lisp_expression
463 #define lisp_expression_undefined ((lisp_expression)gen_chunk_undefined)
464 #define lisp_expression_undefined_p(x) ((x)==lisp_expression_undefined)
471 #define gen_LISP_EXPRESSION_cons gen_lisp_expression_cons
485 #define lisp_expression_domain_number(x) ((x)->_type_)
486 #define lisp_expression_operation_(x) lisp_expression_operation(x)
487 #define lisp_expression_operation(x) ((x)->_lisp_expression_operation_)
488 #define lisp_expression_args_(x) lisp_expression_args(x)
489 #define lisp_expression_args(x) ((x)->_lisp_expression_args_)
493 #define PLACEMENT(x) ((placement)((x).p))
494 #define placement_CAST(x) PLACEMENT(x)
495 #define PLACEMENT_CAST(x) PLACEMENT(x)
496 #define PLACEMENT_(x) ((x).e)
497 #define PLACEMENT_TYPE placement
498 #define placement_TYPE placement
499 #define placement_undefined ((placement)gen_chunk_undefined)
500 #define placement_undefined_p(x) ((x)==placement_undefined)
507 #define gen_PLACEMENT_cons gen_placement_cons
521 #define placement_domain_number(x) ((x)->_type_)
522 #define placement_statement_(x) placement_statement(x)
523 #define placement_statement(x) ((x)->_placement_statement_)
524 #define placement_dims_(x) placement_dims(x)
525 #define placement_dims(x) ((x)->_placement_dims_)
529 #define PLC(x) ((plc)((x).p))
530 #define plc_CAST(x) PLC(x)
531 #define PLC_CAST(x) PLC(x)
532 #define PLC_(x) ((x).e)
535 #define plc_undefined ((plc)gen_chunk_undefined)
536 #define plc_undefined_p(x) ((x)==plc_undefined)
543 #define gen_PLC_cons gen_plc_cons
556 #define plc_domain_number(x) ((x)->_type_)
557 #define plc_placements(x) ((x)->_plc_holder_)
561 #define QUAST_LEAF(x) ((quast_leaf)((x).p))
562 #define quast_leaf_CAST(x) QUAST_LEAF(x)
563 #define QUAST_LEAF_CAST(x) QUAST_LEAF(x)
564 #define QUAST_LEAF_(x) ((x).e)
565 #define QUAST_LEAF_TYPE quast_leaf
566 #define quast_leaf_TYPE quast_leaf
567 #define quast_leaf_undefined ((quast_leaf)gen_chunk_undefined)
568 #define quast_leaf_undefined_p(x) ((x)==quast_leaf_undefined)
575 #define gen_QUAST_LEAF_cons gen_quast_leaf_cons
589 #define quast_leaf_domain_number(x) ((x)->_type_)
590 #define quast_leaf_solution_(x) quast_leaf_solution(x)
591 #define quast_leaf_solution(x) ((x)->_quast_leaf_solution_)
592 #define quast_leaf_leaf_label_(x) quast_leaf_leaf_label(x)
593 #define quast_leaf_leaf_label(x) ((x)->_quast_leaf_leaf_label_)
597 #define QUAST(x) ((quast)((x).p))
598 #define quast_CAST(x) QUAST(x)
599 #define QUAST_CAST(x) QUAST(x)
600 #define QUAST_(x) ((x).e)
601 #define QUAST_TYPE quast
602 #define quast_TYPE quast
603 #define quast_undefined ((quast)gen_chunk_undefined)
604 #define quast_undefined_p(x) ((x)==quast_undefined)
611 #define gen_QUAST_cons gen_quast_cons
625 #define quast_domain_number(x) ((x)->_type_)
626 #define quast_quast_value_(x) quast_quast_value(x)
627 #define quast_quast_value(x) ((x)->_quast_quast_value_)
628 #define quast_newparms_(x) quast_newparms(x)
629 #define quast_newparms(x) ((x)->_quast_newparms_)
633 #define QUAST_VALUE(x) ((quast_value)((x).p))
634 #define quast_value_CAST(x) QUAST_VALUE(x)
635 #define QUAST_VALUE_CAST(x) QUAST_VALUE(x)
636 #define QUAST_VALUE_(x) ((x).e)
637 #define QUAST_VALUE_TYPE quast_value
638 #define quast_value_TYPE quast_value
639 #define quast_value_undefined ((quast_value)gen_chunk_undefined)
640 #define quast_value_undefined_p(x) ((x)==quast_value_undefined)
647 #define gen_QUAST_VALUE_cons gen_quast_value_cons
671 #define quast_value_domain_number(x) ((x)->_type_)
672 #define quast_value_tag(x) ((x)->_quast_value_tag__)
673 #define quast_value_quast_leaf_p(x) (quast_value_tag(x)==is_quast_value_quast_leaf)
674 #define quast_value_quast_leaf_(x) quast_value_quast_leaf(x)
675 #define quast_value_quast_leaf(x) ((x)->_quast_value_union_._quast_value_quast_leaf_)
676 #define quast_value_conditional_p(x) (quast_value_tag(x)==is_quast_value_conditional)
677 #define quast_value_conditional_(x) quast_value_conditional(x)
678 #define quast_value_conditional(x) ((x)->_quast_value_union_._quast_value_conditional_)
682 #define SCHEDULE(x) ((schedule)((x).p))
683 #define schedule_CAST(x) SCHEDULE(x)
684 #define SCHEDULE_CAST(x) SCHEDULE(x)
685 #define SCHEDULE_(x) ((x).e)
686 #define SCHEDULE_TYPE schedule
687 #define schedule_TYPE schedule
688 #define schedule_undefined ((schedule)gen_chunk_undefined)
689 #define schedule_undefined_p(x) ((x)==schedule_undefined)
696 #define gen_SCHEDULE_cons gen_schedule_cons
711 #define schedule_domain_number(x) ((x)->_type_)
712 #define schedule_statement_(x) schedule_statement(x)
713 #define schedule_statement(x) ((x)->_schedule_statement_)
714 #define schedule_predicate_(x) schedule_predicate(x)
715 #define schedule_predicate(x) ((x)->_schedule_predicate_)
716 #define schedule_dims_(x) schedule_dims(x)
717 #define schedule_dims(x) ((x)->_schedule_dims_)
721 #define STATIC_CONTROL(x) ((static_control)((x).p))
722 #define static_control_CAST(x) STATIC_CONTROL(x)
723 #define STATIC_CONTROL_CAST(x) STATIC_CONTROL(x)
724 #define STATIC_CONTROL_(x) ((x).e)
725 #define STATIC_CONTROL_TYPE static_control
726 #define static_control_TYPE static_control
727 #define static_control_undefined ((static_control)gen_chunk_undefined)
728 #define static_control_undefined_p(x) ((x)==static_control_undefined)
735 #define gen_STATIC_CONTROL_cons gen_static_control_cons
751 #define static_control_domain_number(x) ((x)->_type_)
752 #define static_control_yes_(x) static_control_yes(x)
753 #define static_control_yes(x) ((x)->_static_control_yes_.b)
754 #define static_control_params_(x) static_control_params(x)
755 #define static_control_params(x) ((x)->_static_control_params_)
756 #define static_control_loops_(x) static_control_loops(x)
757 #define static_control_loops(x) ((x)->_static_control_loops_)
758 #define static_control_tests_(x) static_control_tests(x)
759 #define static_control_tests(x) ((x)->_static_control_tests_)
763 #define VAR_VAL(x) ((var_val)((x).p))
764 #define var_val_CAST(x) VAR_VAL(x)
765 #define VAR_VAL_CAST(x) VAR_VAL(x)
766 #define VAR_VAL_(x) ((x).e)
767 #define VAR_VAL_TYPE var_val
768 #define var_val_TYPE var_val
769 #define var_val_undefined ((var_val)gen_chunk_undefined)
770 #define var_val_undefined_p(x) ((x)==var_val_undefined)
777 #define gen_VAR_VAL_cons gen_var_val_cons
791 #define var_val_domain_number(x) ((x)->_type_)
792 #define var_val_variable_(x) var_val_variable(x)
793 #define var_val_variable(x) ((x)->_var_val_variable_)
794 #define var_val_value_(x) var_val_value(x)
795 #define var_val_value(x) ((x)->_var_val_value_)
797 #define paf_ri_spec "\
798 --NEWGEN-START 232\n\
799 import reference from \"ri.newgen\";\n\
800 import predicate from \"ri.newgen\";\n\
801 import expression from \"ri.newgen\";\n\
802 import loop from \"ri.newgen\";\n\
803 import statement from \"ri.newgen\";\n\
804 import entity from \"ri.newgen\";\n\
805 import sccflags from \"dg.newgen\";\n\
806 external Pvecteur;\n\
807 bdt = schedules:schedule*;\n\
808 communication = broadcast:predicate x reduction:predicate x shift:predicate;\n\
809 conditional = predicate:predicate x true_quast:quast x false_quast:quast;\n\
810 dataflow = reference:reference x transformation:expression* x governing_pred:predicate x communication:communication;\n\
811 dfg_arc_label = dataflows:dataflow*;\n\
812 dfg_vertex_label = statement:int x exec_domain:predicate x sccflags:sccflags;\n\
813 leaf_label = statement:int x depth:int;\n\
814 lisp_expression = operation:string x args:expression*;\n\
815 placement = statement:int x dims:expression*;\n\
816 plc = placements:placement*;\n\
817 quast_leaf = solution:expression* x leaf_label:leaf_label;\n\
818 quast = quast_value:quast_value x newparms:var_val*;\n\
819 quast_value = quast_leaf:quast_leaf + conditional:conditional;\n\
820 schedule = statement:int x predicate:predicate x dims:expression*;\n\
821 static_control = yes:bool x params:entity* x loops:loop* x tests:expression*;\n\
822 var_val = variable:entity x value:expression;\n\
struct _newgen_struct_dataflow_ * dataflow
conditional check_conditional(conditional)
bool conditional_defined_p(conditional)
leaf_label copy_leaf_label(leaf_label)
LEAF_LABEL.
struct _newgen_struct_quast_value_ * quast_value
void free_lisp_expression(lisp_expression)
bool var_val_defined_p(var_val)
bool leaf_label_defined_p(leaf_label)
quast_value read_quast_value(FILE *)
conditional copy_conditional(conditional)
CONDITIONAL.
list gen_quast_leaf_cons(quast_leaf, list)
list gen_dfg_arc_label_cons(dfg_arc_label, list)
bool var_val_consistent_p(var_val)
void quast_value_assign_contents(quast_value, quast_value)
schedule read_schedule(FILE *)
communication copy_communication(communication)
COMMUNICATION.
struct _newgen_struct_reference_ * reference
bool leaf_label_consistent_p(leaf_label)
quast_value make_quast_value(enum quast_value_utype, void *)
void free_schedule(schedule)
list gen_static_control_cons(static_control, list)
list gen_var_val_cons(var_val, list)
struct _newgen_struct_var_val_ * var_val
struct _newgen_struct_statement_ * statement
void bdt_assign_contents(bdt, bdt)
dfg_vertex_label make_dfg_vertex_label(intptr_t, predicate, sccflags)
void write_plc(FILE *, plc)
struct _newgen_struct_lisp_expression_ * lisp_expression
void leaf_label_assign_contents(leaf_label, leaf_label)
struct _newgen_struct_conditional_ * conditional
list gen_bdt_cons(bdt, list)
void free_static_control(static_control)
static_control read_static_control(FILE *)
bool placement_consistent_p(placement)
void write_quast_leaf(FILE *, quast_leaf)
void dfg_vertex_label_assign_contents(dfg_vertex_label, dfg_vertex_label)
void dataflow_non_recursive_free(dataflow)
struct _newgen_struct_static_control_ * static_control
void free_quast_value(quast_value)
list gen_plc_cons(plc, list)
struct _newgen_struct_bdt_ * bdt
void dfg_arc_label_assign_contents(dfg_arc_label, dfg_arc_label)
lisp_expression make_lisp_expression(string, list)
void write_leaf_label(FILE *, leaf_label)
void placement_non_recursive_free(placement)
communication check_communication(communication)
void write_dfg_vertex_label(FILE *, dfg_vertex_label)
bool conditional_consistent_p(conditional)
void plc_non_recursive_free(plc)
var_val read_var_val(FILE *)
bool schedule_defined_p(schedule)
struct _newgen_struct_sccflags_ * sccflags
void free_communication(communication)
static_control copy_static_control(static_control)
STATIC_CONTROL.
string quast_value_tag_as_string(enum quast_value_utype)
bool communication_consistent_p(communication)
quast copy_quast(quast)
QUAST.
@ is_quast_value_quast_leaf
@ is_quast_value_conditional
void quast_leaf_non_recursive_free(quast_leaf)
list gen_conditional_cons(conditional, list)
void quast_leaf_assign_contents(quast_leaf, quast_leaf)
lisp_expression check_lisp_expression(lisp_expression)
void plc_assign_contents(plc, plc)
schedule make_schedule(intptr_t, predicate, list)
void lisp_expression_non_recursive_free(lisp_expression)
bool lisp_expression_consistent_p(lisp_expression)
dfg_arc_label check_dfg_arc_label(dfg_arc_label)
void write_quast_value(FILE *, quast_value)
bool quast_leaf_defined_p(quast_leaf)
void conditional_assign_contents(conditional, conditional)
conditional make_conditional(predicate, quast, quast)
void communication_non_recursive_free(communication)
void write_communication(FILE *, communication)
void lisp_expression_assign_contents(lisp_expression, lisp_expression)
bool quast_consistent_p(quast)
bool dataflow_consistent_p(dataflow)
dfg_vertex_label copy_dfg_vertex_label(dfg_vertex_label)
DFG_VERTEX_LABEL.
quast_leaf check_quast_leaf(quast_leaf)
communication read_communication(FILE *)
void free_leaf_label(leaf_label)
bool communication_defined_p(communication)
void write_conditional(FILE *, conditional)
lisp_expression read_lisp_expression(FILE *)
quast_leaf make_quast_leaf(list, leaf_label)
bool quast_value_consistent_p(quast_value)
conditional read_conditional(FILE *)
list gen_quast_cons(quast, list)
struct _newgen_struct_quast_leaf_ * quast_leaf
void schedule_assign_contents(schedule, schedule)
struct _newgen_struct_dfg_arc_label_ * dfg_arc_label
bool dfg_arc_label_consistent_p(dfg_arc_label)
struct _newgen_struct_loop_ * loop
struct _newgen_struct_communication_ * communication
leaf_label read_leaf_label(FILE *)
var_val make_var_val(entity, expression)
void write_var_val(FILE *, var_val)
bool dfg_arc_label_defined_p(dfg_arc_label)
quast_leaf copy_quast_leaf(quast_leaf)
QUAST_LEAF.
void schedule_non_recursive_free(schedule)
dfg_vertex_label read_dfg_vertex_label(FILE *)
bool dataflow_defined_p(dataflow)
void leaf_label_non_recursive_free(leaf_label)
schedule check_schedule(schedule)
void free_quast_leaf(quast_leaf)
void free_dfg_arc_label(dfg_arc_label)
void static_control_non_recursive_free(static_control)
var_val copy_var_val(var_val)
VAR_VAL.
bool quast_value_defined_p(quast_value)
void var_val_non_recursive_free(var_val)
void placement_assign_contents(placement, placement)
communication make_communication(predicate, predicate, predicate)
void write_schedule(FILE *, schedule)
static_control check_static_control(static_control)
void write_dataflow(FILE *, dataflow)
void write_placement(FILE *, placement)
void var_val_assign_contents(var_val, var_val)
struct _newgen_struct_dfg_vertex_label_ * dfg_vertex_label
lisp_expression copy_lisp_expression(lisp_expression)
LISP_EXPRESSION.
dfg_vertex_label check_dfg_vertex_label(dfg_vertex_label)
void write_lisp_expression(FILE *, lisp_expression)
void quast_value_non_recursive_free(quast_value)
placement check_placement(placement)
placement copy_placement(placement)
PLACEMENT.
void free_dfg_vertex_label(dfg_vertex_label)
list gen_dataflow_cons(dataflow, list)
struct _newgen_struct_plc_ * plc
struct _newgen_struct_predicate_ * predicate
void static_control_assign_contents(static_control, static_control)
dfg_arc_label make_dfg_arc_label(list)
list gen_quast_value_cons(quast_value, list)
void free_conditional(conditional)
placement read_placement(FILE *)
void communication_assign_contents(communication, communication)
void dataflow_assign_contents(dataflow, dataflow)
struct _newgen_struct_schedule_ * schedule
quast_value make_quast_value_conditional(conditional)
list gen_lisp_expression_cons(lisp_expression, list)
bool lisp_expression_defined_p(lisp_expression)
schedule copy_schedule(schedule)
SCHEDULE.
leaf_label make_leaf_label(intptr_t, intptr_t)
bool static_control_defined_p(static_control)
void bdt_non_recursive_free(bdt)
leaf_label check_leaf_label(leaf_label)
bool placement_defined_p(placement)
struct _newgen_struct_placement_ * placement
bool dfg_vertex_label_defined_p(dfg_vertex_label)
dataflow make_dataflow(reference, list, predicate, communication)
list gen_leaf_label_cons(leaf_label, list)
void conditional_non_recursive_free(conditional)
quast_value make_quast_value_quast_leaf(quast_leaf)
quast_value copy_quast_value(quast_value)
QUAST_VALUE.
bool plc_consistent_p(plc)
struct _newgen_struct_expression_ * expression
dataflow read_dataflow(FILE *)
void dfg_arc_label_non_recursive_free(dfg_arc_label)
list gen_schedule_cons(schedule, list)
static_control make_static_control(bool, list, list, list)
void write_dfg_arc_label(FILE *, dfg_arc_label)
dataflow copy_dataflow(dataflow)
DATAFLOW.
dfg_arc_label copy_dfg_arc_label(dfg_arc_label)
DFG_ARC_LABEL.
bool static_control_consistent_p(static_control)
void free_placement(placement)
dfg_arc_label read_dfg_arc_label(FILE *)
struct _newgen_struct_entity_ * entity
struct _newgen_struct_quast_ * quast
bool dfg_vertex_label_consistent_p(dfg_vertex_label)
list gen_placement_cons(placement, list)
void free_dataflow(dataflow)
bool quast_defined_p(quast)
void write_quast(FILE *, quast)
bool schedule_consistent_p(schedule)
void quast_assign_contents(quast, quast)
quast make_quast(quast_value, list)
void free_var_val(var_val)
list gen_dfg_vertex_label_cons(dfg_vertex_label, list)
void write_bdt(FILE *, bdt)
quast_leaf read_quast_leaf(FILE *)
void quast_non_recursive_free(quast)
dataflow check_dataflow(dataflow)
placement make_placement(intptr_t, list)
list gen_communication_cons(communication, list)
bool quast_leaf_consistent_p(quast_leaf)
struct _newgen_struct_leaf_label_ * leaf_label
var_val check_var_val(var_val)
quast_value check_quast_value(quast_value)
void dfg_vertex_label_non_recursive_free(dfg_vertex_label)
void write_static_control(FILE *, static_control)
bool bdt_consistent_p(bdt)
predicate _communication_reduction_
broadcast:predicate
predicate _communication_shift_
reduction:predicate
predicate _communication_broadcast_
quast _conditional_false_quast_
true_quast:quast
predicate _conditional_predicate_
quast _conditional_true_quast_
predicate:predicate
communication _dataflow_communication_
governing_pred:predicate
predicate _dataflow_governing_pred_
transformation:expression*
reference _dataflow_reference_
list _dataflow_transformation_
reference:reference
list _dfg_arc_label_holder_
predicate _dfg_vertex_label_exec_domain_
statement:int
sccflags _dfg_vertex_label_sccflags_
exec_domain:predicate
intptr_t _dfg_vertex_label_statement_
intptr_t _leaf_label_depth_
statement:int
intptr_t _leaf_label_statement_
list _lisp_expression_args_
operation:string
string _lisp_expression_operation_
intptr_t _placement_statement_
list _placement_dims_
statement:int
list _quast_newparms_
quast_value:quast_value
quast_value _quast_quast_value_
leaf_label _quast_leaf_leaf_label_
solution:expression*
list _quast_leaf_solution_
quast_leaf _quast_value_quast_leaf_
union _newgen_struct_quast_value_::@57 _quast_value_union_
conditional _quast_value_conditional_
quast_leaf:quast_leaf
enum quast_value_utype _quast_value_tag__
list _schedule_dims_
predicate:predicate
intptr_t _schedule_statement_
predicate _schedule_predicate_
statement:int
list _static_control_loops_
params:entity*
list _static_control_params_
yes:bool
list _static_control_tests_
loops:loop*
gen_chunk _static_control_yes_
expression _var_val_value_
variable:entity
entity _var_val_variable_
The structure used to build lists in NewGen.
A gen_chunk is used to store every object.