1 #ifndef _newgen_sac_private_included
2 #define _newgen_sac_private_included
3 #define _gen_sac_private_start 177
10 #if !defined(_newgen_entity_domain_defined_)
11 #define _newgen_entity_domain_defined_
12 #define ENTITY_NEWGEN_DOMAIN (entity_domain)
13 #define entity_NEWGEN_DOMAIN (entity_domain)
17 #if !defined(_newgen_expression_domain_defined_)
18 #define _newgen_expression_domain_defined_
19 #define EXPRESSION_NEWGEN_DOMAIN (expression_domain)
20 #define expression_NEWGEN_DOMAIN (expression_domain)
24 #if !defined(_newgen_statement_domain_defined_)
25 #define _newgen_statement_domain_defined_
26 #define STATEMENT_NEWGEN_DOMAIN (statement_domain)
27 #define statement_NEWGEN_DOMAIN (statement_domain)
31 #if !defined(_newgen_reference_domain_defined_)
32 #define _newgen_reference_domain_defined_
33 #define REFERENCE_NEWGEN_DOMAIN (reference_domain)
34 #define reference_NEWGEN_DOMAIN (reference_domain)
38 #if !defined(_newgen_reduction_domain_defined_)
39 #define _newgen_reduction_domain_defined_
40 #define REDUCTION_NEWGEN_DOMAIN (reduction_domain)
41 #define reduction_NEWGEN_DOMAIN (reduction_domain)
45 #if !defined(_newgen_operator_id_sons_domain_defined_)
46 #define _newgen_operator_id_sons_domain_defined_
47 #define newgen_operator_id_sons(p) (p)
48 #define OPERATOR_ID_SONS_NEWGEN_EXTERNAL (_gen_sac_private_start+0)
49 #define OPERATOR_ID_SONS_NEWGEN_DOMAIN (OPERATOR_ID_SONS_NEWGEN_EXTERNAL)
50 #define operator_id_sons_NEWGEN_DOMAIN (OPERATOR_ID_SONS_NEWGEN_EXTERNAL)
53 #define matchTree_domain (_gen_sac_private_start+1)
54 #if !defined(_newgen_matchTree_domain_defined_)
55 #define _newgen_matchTree_domain_defined_
56 #define MATCHTREE_NEWGEN_DOMAIN (matchTree_domain)
57 #define matchTree_NEWGEN_DOMAIN (matchTree_domain)
61 #define matchTreeSons_domain (_gen_sac_private_start+2)
62 #if !defined(_newgen_matchTreeSons_domain_defined_)
63 #define _newgen_matchTreeSons_domain_defined_
64 #define MATCHTREESONS_NEWGEN_DOMAIN (matchTreeSons_domain)
65 #define matchTreeSons_NEWGEN_DOMAIN (matchTreeSons_domain)
69 #define match_domain (_gen_sac_private_start+3)
70 #if !defined(_newgen_match_domain_defined_)
71 #define _newgen_match_domain_defined_
72 #define MATCH_NEWGEN_DOMAIN (match_domain)
73 #define match_NEWGEN_DOMAIN (match_domain)
77 #define opcode_domain (_gen_sac_private_start+4)
78 #if !defined(_newgen_opcode_domain_defined_)
79 #define _newgen_opcode_domain_defined_
80 #define OPCODE_NEWGEN_DOMAIN (opcode_domain)
81 #define opcode_NEWGEN_DOMAIN (opcode_domain)
85 #define operator_id_tree_domain (_gen_sac_private_start+5)
86 #if !defined(_newgen_operator_id_tree_domain_defined_)
87 #define _newgen_operator_id_tree_domain_defined_
88 #define OPERATOR_ID_TREE_NEWGEN_DOMAIN (operator_id_tree_domain)
89 #define operator_id_tree_NEWGEN_DOMAIN (operator_id_tree_domain)
93 #define patternArg_domain (_gen_sac_private_start+6)
94 #if !defined(_newgen_patternArg_domain_defined_)
95 #define _newgen_patternArg_domain_defined_
96 #define PATTERNARG_NEWGEN_DOMAIN (patternArg_domain)
97 #define patternArg_NEWGEN_DOMAIN (patternArg_domain)
101 #define patternx_domain (_gen_sac_private_start+7)
102 #if !defined(_newgen_patternx_domain_defined_)
103 #define _newgen_patternx_domain_defined_
104 #define PATTERNX_NEWGEN_DOMAIN (patternx_domain)
105 #define patternx_NEWGEN_DOMAIN (patternx_domain)
109 #define reductionInfo_domain (_gen_sac_private_start+8)
110 #if !defined(_newgen_reductionInfo_domain_defined_)
111 #define _newgen_reductionInfo_domain_defined_
112 #define REDUCTIONINFO_NEWGEN_DOMAIN (reductionInfo_domain)
113 #define reductionInfo_NEWGEN_DOMAIN (reductionInfo_domain)
117 #define simdstatement_domain (_gen_sac_private_start+9)
118 #if !defined(_newgen_simdstatement_domain_defined_)
119 #define _newgen_simdstatement_domain_defined_
120 #define SIMDSTATEMENT_NEWGEN_DOMAIN (simdstatement_domain)
121 #define simdstatement_NEWGEN_DOMAIN (simdstatement_domain)
125 #define opcodeClass_domain (_gen_sac_private_start+10)
126 #if !defined(_newgen_opcodeClass_domain_defined_)
127 #define _newgen_opcodeClass_domain_defined_
128 #define OPCODECLASS_NEWGEN_DOMAIN (opcodeClass_domain)
129 #define opcodeClass_NEWGEN_DOMAIN (opcodeClass_domain)
133 #define transformation_domain (_gen_sac_private_start+11)
134 #if !defined(_newgen_transformation_domain_defined_)
135 #define _newgen_transformation_domain_defined_
136 #define TRANSFORMATION_NEWGEN_DOMAIN (transformation_domain)
137 #define transformation_NEWGEN_DOMAIN (transformation_domain)
144 #define MATCHTREE(x) ((matchTree)((x).p))
145 #define matchTree_CAST(x) MATCHTREE(x)
146 #define MATCHTREE_CAST(x) MATCHTREE(x)
147 #define MATCHTREE_(x) ((x).e)
148 #define MATCHTREE_TYPE matchTree
149 #define matchTree_TYPE matchTree
150 #define matchTree_undefined ((matchTree)gen_chunk_undefined)
151 #define matchTree_undefined_p(x) ((x)==matchTree_undefined)
158 #define gen_MATCHTREE_cons gen_matchTree_cons
172 #define matchTree_domain_number(x) ((x)->_type_)
173 #define matchTree_patterns_(x) matchTree_patterns(x)
174 #define matchTree_patterns(x) ((x)->_matchTree_patterns_)
175 #define matchTree_sons_(x) matchTree_sons(x)
176 #define matchTree_sons(x) ((x)->_matchTree_sons_)
180 #define MATCHTREESONS(x) ((matchTreeSons)((x).p))
181 #define matchTreeSons_CAST(x) MATCHTREESONS(x)
182 #define MATCHTREESONS_CAST(x) MATCHTREESONS(x)
183 #define MATCHTREESONS_(x) ((x).e)
184 #define MATCHTREESONS_TYPE matchTreeSons
185 #define matchTreeSons_TYPE matchTreeSons
186 #define matchTreeSons_undefined ((matchTreeSons)gen_chunk_undefined)
187 #define matchTreeSons_undefined_p(x) ((x)==matchTreeSons_undefined)
194 #define gen_MATCHTREESONS_cons gen_matchTreeSons_cons
207 #define matchTreeSons_domain_number(x) ((x)->_type_)
208 #define matchTreeSons_hash_table(x) ((x)->_matchTreeSons_holder_)
209 #define matchTreeSons_key_type intptr_t
210 #define matchTreeSons_value_type matchTree
211 #define MATCHTREESONS_MAP(k,v,c,f) FUNCTION_MAP(matchTreeSons,i,p,k,v,c,f)
212 #define MATCHTREESONS_FOREACH(k,v,f) FUNCTION_FOREACH(matchTreeSons,i,p,k,v,f)
221 #define MATCH(x) ((match)((x).p))
222 #define match_CAST(x) MATCH(x)
223 #define MATCH_CAST(x) MATCH(x)
224 #define MATCH_(x) ((x).e)
225 #define MATCH_TYPE match
226 #define match_TYPE match
227 #define match_undefined ((match)gen_chunk_undefined)
228 #define match_undefined_p(x) ((x)==match_undefined)
235 #define gen_MATCH_cons gen_match_cons
249 #define match_domain_number(x) ((x)->_type_)
250 #define match_type_(x) match_type(x)
251 #define match_type(x) ((x)->_match_type_)
252 #define match_args_(x) match_args(x)
253 #define match_args(x) ((x)->_match_args_)
257 #define OPCODE(x) ((opcode)((x).p))
258 #define opcode_CAST(x) OPCODE(x)
259 #define OPCODE_CAST(x) OPCODE(x)
260 #define OPCODE_(x) ((x).e)
261 #define OPCODE_TYPE opcode
262 #define opcode_TYPE opcode
263 #define opcode_undefined ((opcode)gen_chunk_undefined)
264 #define opcode_undefined_p(x) ((x)==opcode_undefined)
271 #define gen_OPCODE_cons gen_opcode_cons
287 #define opcode_domain_number(x) ((x)->_type_)
288 #define opcode_name_(x) opcode_name(x)
289 #define opcode_name(x) ((x)->_opcode_name_)
290 #define opcode_vectorSize_(x) opcode_vectorSize(x)
291 #define opcode_vectorSize(x) ((x)->_opcode_vectorSize_)
292 #define opcode_argType_(x) opcode_argType(x)
293 #define opcode_argType(x) ((x)->_opcode_argType_)
294 #define opcode_cost_(x) opcode_cost(x)
295 #define opcode_cost(x) ((x)->_opcode_cost_.f)
299 #define OPERATOR_ID_TREE(x) ((operator_id_tree)((x).p))
300 #define operator_id_tree_CAST(x) OPERATOR_ID_TREE(x)
301 #define OPERATOR_ID_TREE_CAST(x) OPERATOR_ID_TREE(x)
302 #define OPERATOR_ID_TREE_(x) ((x).e)
303 #define OPERATOR_ID_TREE_TYPE operator_id_tree
304 #define operator_id_tree_TYPE operator_id_tree
305 #define operator_id_tree_undefined ((operator_id_tree)gen_chunk_undefined)
306 #define operator_id_tree_undefined_p(x) ((x)==operator_id_tree_undefined)
313 #define gen_OPERATOR_ID_TREE_cons gen_operator_id_tree_cons
327 #define operator_id_tree_domain_number(x) ((x)->_type_)
328 #define operator_id_tree_id_(x) operator_id_tree_id(x)
329 #define operator_id_tree_id(x) ((x)->_operator_id_tree_id_)
330 #define operator_id_tree_sons_(x) operator_id_tree_sons(x)
331 #define operator_id_tree_sons(x) ((x)->_operator_id_tree_sons_)
335 #define PATTERNARG(x) ((patternArg)((x).p))
336 #define patternArg_CAST(x) PATTERNARG(x)
337 #define PATTERNARG_CAST(x) PATTERNARG(x)
338 #define PATTERNARG_(x) ((x).e)
339 #define PATTERNARG_TYPE patternArg
340 #define patternArg_TYPE patternArg
341 #define patternArg_undefined ((patternArg)gen_chunk_undefined)
342 #define patternArg_undefined_p(x) ((x)==patternArg_undefined)
349 #define gen_PATTERNARG_cons gen_patternArg_cons
373 #define patternArg_domain_number(x) ((x)->_type_)
374 #define patternArg_tag(x) ((x)->_patternArg_tag__)
375 #define patternArg_static_p(x) (patternArg_tag(x)==is_patternArg_static)
376 #define patternArg_static_(x) patternArg_static(x)
377 #define patternArg_static(x) ((x)->_patternArg_union_._patternArg_static_)
378 #define patternArg_dynamic_p(x) (patternArg_tag(x)==is_patternArg_dynamic)
379 #define patternArg_dynamic_(x) patternArg_dynamic(x)
380 #define patternArg_dynamic(x) ((x)->_patternArg_union_._patternArg_dynamic_.u)
384 #define PATTERNX(x) ((patternx)((x).p))
385 #define patternx_CAST(x) PATTERNX(x)
386 #define PATTERNX_CAST(x) PATTERNX(x)
387 #define PATTERNX_(x) ((x).e)
388 #define PATTERNX_TYPE patternx
389 #define patternx_TYPE patternx
390 #define patternx_undefined ((patternx)gen_chunk_undefined)
391 #define patternx_undefined_p(x) ((x)==patternx_undefined)
398 #define gen_PATTERNX_cons gen_patternx_cons
412 #define patternx_domain_number(x) ((x)->_type_)
413 #define patternx_class_(x) patternx_class(x)
414 #define patternx_class(x) ((x)->_patternx_class_)
415 #define patternx_args_(x) patternx_args(x)
416 #define patternx_args(x) ((x)->_patternx_args_)
420 #define REDUCTIONINFO(x) ((reductionInfo)((x).p))
421 #define reductionInfo_CAST(x) REDUCTIONINFO(x)
422 #define REDUCTIONINFO_CAST(x) REDUCTIONINFO(x)
423 #define REDUCTIONINFO_(x) ((x).e)
424 #define REDUCTIONINFO_TYPE reductionInfo
425 #define reductionInfo_TYPE reductionInfo
426 #define reductionInfo_undefined ((reductionInfo)gen_chunk_undefined)
427 #define reductionInfo_undefined_p(x) ((x)==reductionInfo_undefined)
434 #define gen_REDUCTIONINFO_cons gen_reductionInfo_cons
449 #define reductionInfo_domain_number(x) ((x)->_type_)
450 #define reductionInfo_reduction_(x) reductionInfo_reduction(x)
451 #define reductionInfo_reduction(x) ((x)->_reductionInfo_reduction_)
452 #define reductionInfo_count_(x) reductionInfo_count(x)
453 #define reductionInfo_count(x) ((x)->_reductionInfo_count_)
454 #define reductionInfo_vector_(x) reductionInfo_vector(x)
455 #define reductionInfo_vector(x) ((x)->_reductionInfo_vector_)
459 #define SIMDSTATEMENT(x) ((simdstatement)((x).p))
460 #define simdstatement_CAST(x) SIMDSTATEMENT(x)
461 #define SIMDSTATEMENT_CAST(x) SIMDSTATEMENT(x)
462 #define SIMDSTATEMENT_(x) ((x).e)
463 #define SIMDSTATEMENT_TYPE simdstatement
464 #define simdstatement_TYPE simdstatement
465 #define simdstatement_undefined ((simdstatement)gen_chunk_undefined)
466 #define simdstatement_undefined_p(x) ((x)==simdstatement_undefined)
473 #define gen_SIMDSTATEMENT_cons gen_simdstatement_cons
489 #define simdstatement_domain_number(x) ((x)->_type_)
490 #define simdstatement_opcode_(x) simdstatement_opcode(x)
491 #define simdstatement_opcode(x) ((x)->_simdstatement_opcode_)
492 #define simdstatement_nbArgs_(x) simdstatement_nbArgs(x)
493 #define simdstatement_nbArgs(x) ((x)->_simdstatement_nbArgs_)
494 #define simdstatement_vectors_(x) simdstatement_vectors(x)
495 #define simdstatement_vectors(x) ((x)->_simdstatement_vectors_)
496 #define simdstatement_arguments_(x) simdstatement_arguments(x)
497 #define simdstatement_arguments(x) ((x)->_simdstatement_arguments_)
501 #define OPCODECLASS(x) ((opcodeClass)((x).p))
502 #define opcodeClass_CAST(x) OPCODECLASS(x)
503 #define OPCODECLASS_CAST(x) OPCODECLASS(x)
504 #define OPCODECLASS_(x) ((x).e)
505 #define OPCODECLASS_TYPE opcodeClass
506 #define opcodeClass_TYPE opcodeClass
507 #define opcodeClass_undefined ((opcodeClass)gen_chunk_undefined)
508 #define opcodeClass_undefined_p(x) ((x)==opcodeClass_undefined)
515 #define gen_OPCODECLASS_cons gen_opcodeClass_cons
532 #define opcodeClass_domain_number(x) ((x)->_type_)
533 #define opcodeClass_name_(x) opcodeClass_name(x)
534 #define opcodeClass_name(x) ((x)->_opcodeClass_name_)
535 #define opcodeClass_nbArgs_(x) opcodeClass_nbArgs(x)
536 #define opcodeClass_nbArgs(x) ((x)->_opcodeClass_nbArgs_)
537 #define opcodeClass_opcodes_(x) opcodeClass_opcodes(x)
538 #define opcodeClass_opcodes(x) ((x)->_opcodeClass_opcodes_)
542 #define TRANSFORMATION(x) ((transformation)((x).p))
543 #define transformation_CAST(x) TRANSFORMATION(x)
544 #define TRANSFORMATION_CAST(x) TRANSFORMATION(x)
545 #define TRANSFORMATION_(x) ((x).e)
546 #define TRANSFORMATION_TYPE transformation
547 #define transformation_TYPE transformation
548 #define transformation_undefined ((transformation)gen_chunk_undefined)
549 #define transformation_undefined_p(x) ((x)==transformation_undefined)
556 #define gen_TRANSFORMATION_cons gen_transformation_cons
575 #define transformation_domain_number(x) ((x)->_type_)
576 #define transformation_name_(x) transformation_name(x)
577 #define transformation_name(x) ((x)->_transformation_name_)
578 #define transformation_vectorLengthOut_(x) transformation_vectorLengthOut(x)
579 #define transformation_vectorLengthOut(x) ((x)->_transformation_vectorLengthOut_)
580 #define transformation_subwordSizeOut_(x) transformation_subwordSizeOut(x)
581 #define transformation_subwordSizeOut(x) ((x)->_transformation_subwordSizeOut_)
582 #define transformation_vectorLengthIn_(x) transformation_vectorLengthIn(x)
583 #define transformation_vectorLengthIn(x) ((x)->_transformation_vectorLengthIn_)
584 #define transformation_subwordSizeIn_(x) transformation_subwordSizeIn(x)
585 #define transformation_subwordSizeIn(x) ((x)->_transformation_subwordSizeIn_)
586 #define transformation_nbArgs_(x) transformation_nbArgs(x)
587 #define transformation_nbArgs(x) ((x)->_transformation_nbArgs_)
588 #define transformation_mapping_(x) transformation_mapping(x)
589 #define transformation_mapping(x) ((x)->_transformation_mapping_)
591 #define sac_private_spec "\
592 --NEWGEN-START 177\n\
593 import entity from \"ri.newgen\";\n\
594 import expression from \"ri.newgen\";\n\
595 import statement from \"ri.newgen\";\n\
596 import reference from \"ri.newgen\";\n\
597 import reduction from \"reductions_private.newgen\";\n\
598 external operator_id_sons;\n\
599 matchTree = patterns:patternx* x sons:matchTreeSons;\n\
600 matchTreeSons = int:int -> matchTree:matchTree;\n\
601 match = type:opcodeClass x args:expression*;\n\
602 opcode = name:string x vectorSize:int x argType:int* x cost:float;\n\
603 operator_id_tree = id:int x sons:operator_id_sons;\n\
604 patternArg = static:int + dynamic:unit;\n\
605 patternx = class:opcodeClass x args:patternArg*;\n\
606 reductionInfo = persistant reduction:reduction x count:int x persistant vector:entity;\n\
607 simdstatement = opcode:opcode x nbArgs:int x vectors:entity[16] x arguments:expression[48];\n\
608 tabulated opcodeClass = name:string x nbArgs:int x opcodes:opcode*;\n\
609 transformation = name:string x vectorLengthOut:int x subwordSizeOut:int x vectorLengthIn:int x subwordSizeIn:int x nbArgs:int x mapping:int[16];\n\
void transformation_assign_contents(transformation, transformation)
bool matchTreeSons_consistent_p(matchTreeSons)
void matchTreeSons_non_recursive_free(matchTreeSons)
void reductionInfo_non_recursive_free(reductionInfo)
bool reductionInfo_defined_p(reductionInfo)
list gen_simdstatement_cons(simdstatement, list)
simdstatement read_simdstatement(FILE *)
void free_patternArg(patternArg)
void patternx_assign_contents(patternx, patternx)
bool matchTree_consistent_p(matchTree)
struct _newgen_struct_reductionInfo_ * reductionInfo
struct _newgen_struct_reference_ * reference
struct _newgen_struct_patternArg_ * patternArg
void simdstatement_non_recursive_free(simdstatement)
bool matchTreeSons_defined_p(matchTreeSons)
opcode copy_opcode(opcode)
OPCODE.
bool simdstatement_defined_p(simdstatement)
struct _newgen_struct_statement_ * statement
void matchTreeSons_assign_contents(matchTreeSons, matchTreeSons)
transformation check_transformation(transformation)
void opcodeClass_assign_contents(opcodeClass, opcodeClass)
bool match_defined_p(match)
bool patternArg_defined_p(patternArg)
void read_tabulated_opcodeClass(FILE *)
matchTree check_matchTree(matchTree)
struct _newgen_struct_matchTree_ * matchTree
list gen_opcodeClass_cons(opcodeClass, list)
opcode check_opcode(opcode)
void write_patternArg(FILE *, patternArg)
simdstatement check_simdstatement(simdstatement)
patternArg make_patternArg_dynamic(void)
matchTree apply_matchTreeSons(matchTreeSons, intptr_t)
operator_id_tree make_operator_id_tree(intptr_t, operator_id_sons)
reductionInfo read_reductionInfo(FILE *)
bool match_consistent_p(match)
list gen_matchTreeSons_cons(matchTreeSons, list)
matchTreeSons check_matchTreeSons(matchTreeSons)
list gen_opcode_cons(opcode, list)
bool operator_id_tree_defined_p(operator_id_tree)
void patternArg_non_recursive_free(patternArg)
void operator_id_tree_non_recursive_free(operator_id_tree)
void patternArg_assign_contents(patternArg, patternArg)
list gen_match_cons(match, list)
struct _newgen_struct_operator_id_tree_ * operator_id_tree
void operator_id_tree_assign_contents(operator_id_tree, operator_id_tree)
void write_simdstatement(FILE *, simdstatement)
void patternx_non_recursive_free(patternx)
opcodeClass make_opcodeClass(string, intptr_t, list)
list gen_patternx_cons(patternx, list)
reductionInfo make_reductionInfo(reduction, intptr_t, entity)
void write_tabulated_opcodeClass(FILE *)
void match_assign_contents(match, match)
struct _newgen_struct_reduction_ * reduction
void write_transformation(FILE *, transformation)
void free_reductionInfo(reductionInfo)
bool matchTree_defined_p(matchTree)
bool opcodeClass_defined_p(opcodeClass)
transformation read_transformation(FILE *)
void free_operator_id_tree(operator_id_tree)
matchTree delete_matchTreeSons(matchTreeSons, intptr_t)
opcodeClass check_opcodeClass(opcodeClass)
matchTreeSons read_matchTreeSons(FILE *)
void matchTree_non_recursive_free(matchTree)
bool opcode_consistent_p(opcode)
bool simdstatement_consistent_p(simdstatement)
patternArg copy_patternArg(patternArg)
PATTERNARG.
bool patternx_defined_p(patternx)
bool operator_id_tree_consistent_p(operator_id_tree)
void write_opcode(FILE *, opcode)
bool patternx_consistent_p(patternx)
transformation copy_transformation(transformation)
TRANSFORMATION.
void write_patternx(FILE *, patternx)
void opcode_assign_contents(opcode, opcode)
patternArg check_patternArg(patternArg)
matchTree copy_matchTree(matchTree)
MATCHTREE.
matchTree make_matchTree(list, matchTreeSons)
void transformation_non_recursive_free(transformation)
patternx copy_patternx(patternx)
PATTERNX.
struct _newgen_struct_patternx_ * patternx
matchTree read_matchTree(FILE *)
bool transformation_defined_p(transformation)
opcode read_opcode(FILE *)
void free_matchTree(matchTree)
simdstatement make_simdstatement(opcode, intptr_t, entity *, expression *)
matchTreeSons copy_matchTreeSons(matchTreeSons)
MATCHTREESONS.
patternx make_patternx(opcodeClass, list)
void free_simdstatement(simdstatement)
patternArg read_patternArg(FILE *)
struct _newgen_struct_opcodeClass_ * opcodeClass
simdstatement copy_simdstatement(simdstatement)
SIMDSTATEMENT.
matchTreeSons make_matchTreeSons(void)
struct _newgen_struct_opcode_ * opcode
void match_non_recursive_free(match)
string patternArg_tag_as_string(enum patternArg_utype)
void extend_matchTreeSons(matchTreeSons, intptr_t, matchTree)
list gen_matchTree_cons(matchTree, list)
void reductionInfo_assign_contents(reductionInfo, reductionInfo)
void write_matchTree(FILE *, matchTree)
match make_match(opcodeClass, list)
void matchTree_assign_contents(matchTree, matchTree)
void update_matchTreeSons(matchTreeSons, intptr_t, matchTree)
patternx check_patternx(patternx)
void free_opcodeClass(opcodeClass)
void free_patternx(patternx)
bool patternArg_consistent_p(patternArg)
list gen_patternArg_cons(patternArg, list)
void write_reductionInfo(FILE *, reductionInfo)
void free_matchTreeSons(matchTreeSons)
struct _newgen_struct_match_ * match
void simdstatement_assign_contents(simdstatement, simdstatement)
patternArg make_patternArg_static(intptr_t)
bool opcode_defined_p(opcode)
struct _newgen_struct_expression_ * expression
list gen_transformation_cons(transformation, list)
void write_operator_id_tree(FILE *, operator_id_tree)
bool bound_matchTreeSons_p(matchTreeSons, intptr_t)
opcodeClass gen_find_opcodeClass(char *)
operator_id_tree read_operator_id_tree(FILE *)
void write_match(FILE *, match)
transformation make_transformation(string, intptr_t, intptr_t, intptr_t, intptr_t, intptr_t, int *)
list gen_reductionInfo_cons(reductionInfo, list)
struct _newgen_struct_entity_ * entity
bool reductionInfo_consistent_p(reductionInfo)
void free_transformation(transformation)
opcode make_opcode(string, intptr_t, list, float)
list gen_operator_id_tree_cons(operator_id_tree, list)
reductionInfo copy_reductionInfo(reductionInfo)
REDUCTIONINFO.
match copy_match(match)
MATCH.
struct _newgen_struct_matchTreeSons_ * matchTreeSons
struct _newgen_struct_simdstatement_ * simdstatement
void opcodeClass_non_recursive_free(opcodeClass)
patternx read_patternx(FILE *)
bool transformation_consistent_p(transformation)
void write_matchTreeSons(FILE *, matchTreeSons)
bool opcodeClass_consistent_p(opcodeClass)
struct _newgen_struct_transformation_ * transformation
reductionInfo check_reductionInfo(reductionInfo)
operator_id_tree copy_operator_id_tree(operator_id_tree)
OPERATOR_ID_TREE.
opcodeClass copy_opcodeClass(opcodeClass)
OPCODECLASS.
operator_id_tree check_operator_id_tree(operator_id_tree)
patternArg make_patternArg(enum patternArg_utype, void *)
void opcode_non_recursive_free(opcode)
hash_table _matchTreeSons_holder_
list _matchTree_patterns_
matchTreeSons _matchTree_sons_
patterns:patternx*
list _match_args_
type:opcodeClass
list _opcodeClass_opcodes_
nbArgs:int
string _opcodeClass_name_
intptr_t _opcodeClass_nbArgs_
name:string
intptr_t _opcodeClass_index__
intptr_t _opcode_vectorSize_
name:string
list _opcode_argType_
vectorSize:int
gen_chunk _opcode_cost_
argType:int*
intptr_t _operator_id_tree_id_
operator_id_sons _operator_id_tree_sons_
id:int
enum patternArg_utype _patternArg_tag__
gen_chunk _patternArg_dynamic_
static:int
union _newgen_struct_patternArg_::@79 _patternArg_union_
intptr_t _patternArg_static_
opcodeClass _patternx_class_
list _patternx_args_
class:opcodeClass
reduction _reductionInfo_reduction_
entity _reductionInfo_vector_
count:int
intptr_t _reductionInfo_count_
reduction:reduction
expression * _simdstatement_arguments_
vectors:entity[]
opcode _simdstatement_opcode_
intptr_t _simdstatement_nbArgs_
opcode:opcode
entity * _simdstatement_vectors_
nbArgs:int
The structure used to build lists in NewGen.
A gen_chunk is used to store every object.