PIPS
reductions_private.h File Reference
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  _newgen_struct_pstatement_reductions_
 
struct  _newgen_struct_reduction_operator_
 
struct  _newgen_struct_reduction_
 
struct  _newgen_struct_reductions_
 

Macros

#define _gen_reductions_private_start   100
 
#define _newgen_reference_domain_defined_
 
#define REFERENCE_NEWGEN_DOMAIN   (reference_domain)
 
#define reference_NEWGEN_DOMAIN   (reference_domain)
 
#define _newgen_preference_domain_defined_
 newgen_reference_domain_defined More...
 
#define PREFERENCE_NEWGEN_DOMAIN   (preference_domain)
 
#define preference_NEWGEN_DOMAIN   (preference_domain)
 
#define _newgen_entity_domain_defined_
 newgen_preference_domain_defined More...
 
#define ENTITY_NEWGEN_DOMAIN   (entity_domain)
 
#define entity_NEWGEN_DOMAIN   (entity_domain)
 
#define _newgen_statement_domain_defined_
 newgen_entity_domain_defined More...
 
#define STATEMENT_NEWGEN_DOMAIN   (statement_domain)
 
#define statement_NEWGEN_DOMAIN   (statement_domain)
 
#define pstatement_reductions_domain   (_gen_reductions_private_start+0)
 newgen_statement_domain_defined More...
 
#define _newgen_pstatement_reductions_domain_defined_
 
#define PSTATEMENT_REDUCTIONS_NEWGEN_DOMAIN   (pstatement_reductions_domain)
 
#define pstatement_reductions_NEWGEN_DOMAIN   (pstatement_reductions_domain)
 
#define reduction_operator_domain   (_gen_reductions_private_start+1)
 newgen_pstatement_reductions_domain_defined More...
 
#define _newgen_reduction_operator_domain_defined_
 
#define REDUCTION_OPERATOR_NEWGEN_DOMAIN   (reduction_operator_domain)
 
#define reduction_operator_NEWGEN_DOMAIN   (reduction_operator_domain)
 
#define reduction_domain   (_gen_reductions_private_start+2)
 newgen_reduction_operator_domain_defined More...
 
#define _newgen_reduction_domain_defined_
 
#define REDUCTION_NEWGEN_DOMAIN   (reduction_domain)
 
#define reduction_NEWGEN_DOMAIN   (reduction_domain)
 
#define reductions_domain   (_gen_reductions_private_start+3)
 newgen_reduction_domain_defined More...
 
#define _newgen_reductions_domain_defined_
 
#define REDUCTIONS_NEWGEN_DOMAIN   (reductions_domain)
 
#define reductions_NEWGEN_DOMAIN   (reductions_domain)
 
#define PSTATEMENT_REDUCTIONS(x)   ((pstatement_reductions)((x).p))
 newgen_reductions_domain_defined More...
 
#define pstatement_reductions_CAST(x)   PSTATEMENT_REDUCTIONS(x)
 
#define PSTATEMENT_REDUCTIONS_CAST(x)   PSTATEMENT_REDUCTIONS(x)
 
#define PSTATEMENT_REDUCTIONS_(x)   ((x).e)
 
#define PSTATEMENT_REDUCTIONS_TYPE   pstatement_reductions
 
#define pstatement_reductions_TYPE   pstatement_reductions
 
#define pstatement_reductions_undefined   ((pstatement_reductions)gen_chunk_undefined)
 
#define pstatement_reductions_undefined_p(x)   ((x)==pstatement_reductions_undefined)
 
#define gen_PSTATEMENT_REDUCTIONS_cons   gen_pstatement_reductions_cons
 
#define pstatement_reductions_domain_number(x)   ((x)->_type_)
 
#define pstatement_reductions_hash_table(x)   ((x)->_pstatement_reductions_holder_)
 
#define pstatement_reductions_key_type   statement
 
#define pstatement_reductions_value_type   reductions
 
#define PSTATEMENT_REDUCTIONS_MAP(k, v, c, f)   FUNCTION_MAP(pstatement_reductions,p,p,k,v,c,f)
 
#define PSTATEMENT_REDUCTIONS_FOREACH(k, v, f)   FUNCTION_FOREACH(pstatement_reductions,p,p,k,v,f)
 
#define REDUCTION_OPERATOR(x)   ((reduction_operator)((x).p))
 REDUCTION_OPERATOR. More...
 
#define reduction_operator_CAST(x)   REDUCTION_OPERATOR(x)
 
#define REDUCTION_OPERATOR_CAST(x)   REDUCTION_OPERATOR(x)
 
#define REDUCTION_OPERATOR_(x)   ((x).e)
 
#define REDUCTION_OPERATOR_TYPE   reduction_operator
 
#define reduction_operator_TYPE   reduction_operator
 
#define reduction_operator_undefined   ((reduction_operator)gen_chunk_undefined)
 
#define reduction_operator_undefined_p(x)   ((x)==reduction_operator_undefined)
 
#define gen_REDUCTION_OPERATOR_cons   gen_reduction_operator_cons
 
#define reduction_operator_domain_number(x)   ((x)->_type_)
 
#define reduction_operator_tag(x)   ((x)->_reduction_operator_tag__)
 
#define reduction_operator_none_p(x)   (reduction_operator_tag(x)==is_reduction_operator_none)
 
#define reduction_operator_none_(x)   reduction_operator_none(x) /**old hack compatible */
 
#define reduction_operator_none(x)   ((x)->_reduction_operator_union_._reduction_operator_none_.u)
 
#define reduction_operator_min_p(x)   (reduction_operator_tag(x)==is_reduction_operator_min)
 
#define reduction_operator_min_(x)   reduction_operator_min(x) /**old hack compatible */
 
#define reduction_operator_min(x)   ((x)->_reduction_operator_union_._reduction_operator_min_.u)
 
#define reduction_operator_max_p(x)   (reduction_operator_tag(x)==is_reduction_operator_max)
 
#define reduction_operator_max_(x)   reduction_operator_max(x) /**old hack compatible */
 
#define reduction_operator_max(x)   ((x)->_reduction_operator_union_._reduction_operator_max_.u)
 
#define reduction_operator_sum_p(x)   (reduction_operator_tag(x)==is_reduction_operator_sum)
 
#define reduction_operator_sum_(x)   reduction_operator_sum(x) /**old hack compatible */
 
#define reduction_operator_sum(x)   ((x)->_reduction_operator_union_._reduction_operator_sum_.u)
 
#define reduction_operator_csum_p(x)   (reduction_operator_tag(x)==is_reduction_operator_csum)
 
#define reduction_operator_csum_(x)   reduction_operator_csum(x) /**old hack compatible */
 
#define reduction_operator_csum(x)   ((x)->_reduction_operator_union_._reduction_operator_csum_.u)
 
#define reduction_operator_prod_p(x)   (reduction_operator_tag(x)==is_reduction_operator_prod)
 
#define reduction_operator_prod_(x)   reduction_operator_prod(x) /**old hack compatible */
 
#define reduction_operator_prod(x)   ((x)->_reduction_operator_union_._reduction_operator_prod_.u)
 
#define reduction_operator_and_p(x)   (reduction_operator_tag(x)==is_reduction_operator_and)
 
#define reduction_operator_and_(x)   reduction_operator_and(x) /**old hack compatible */
 
#define reduction_operator_and(x)   ((x)->_reduction_operator_union_._reduction_operator_and_.u)
 
#define reduction_operator_or_p(x)   (reduction_operator_tag(x)==is_reduction_operator_or)
 
#define reduction_operator_or_(x)   reduction_operator_or(x) /**old hack compatible */
 
#define reduction_operator_or(x)   ((x)->_reduction_operator_union_._reduction_operator_or_.u)
 
#define reduction_operator_bitwise_and_p(x)   (reduction_operator_tag(x)==is_reduction_operator_bitwise_and)
 
#define reduction_operator_bitwise_and_(x)   reduction_operator_bitwise_and(x) /**old hack compatible */
 
#define reduction_operator_bitwise_and(x)   ((x)->_reduction_operator_union_._reduction_operator_bitwise_and_.u)
 
#define reduction_operator_bitwise_or_p(x)   (reduction_operator_tag(x)==is_reduction_operator_bitwise_or)
 
#define reduction_operator_bitwise_or_(x)   reduction_operator_bitwise_or(x) /**old hack compatible */
 
#define reduction_operator_bitwise_or(x)   ((x)->_reduction_operator_union_._reduction_operator_bitwise_or_.u)
 
#define reduction_operator_bitwise_xor_p(x)   (reduction_operator_tag(x)==is_reduction_operator_bitwise_xor)
 
#define reduction_operator_bitwise_xor_(x)   reduction_operator_bitwise_xor(x) /**old hack compatible */
 
#define reduction_operator_bitwise_xor(x)   ((x)->_reduction_operator_union_._reduction_operator_bitwise_xor_.u)
 
#define reduction_operator_eqv_p(x)   (reduction_operator_tag(x)==is_reduction_operator_eqv)
 
#define reduction_operator_eqv_(x)   reduction_operator_eqv(x) /**old hack compatible */
 
#define reduction_operator_eqv(x)   ((x)->_reduction_operator_union_._reduction_operator_eqv_.u)
 
#define reduction_operator_neqv_p(x)   (reduction_operator_tag(x)==is_reduction_operator_neqv)
 
#define reduction_operator_neqv_(x)   reduction_operator_neqv(x) /**old hack compatible */
 
#define reduction_operator_neqv(x)   ((x)->_reduction_operator_union_._reduction_operator_neqv_.u)
 
#define REDUCTION(x)   ((reduction)((x).p))
 REDUCTION. More...
 
#define reduction_CAST(x)   REDUCTION(x)
 
#define REDUCTION_CAST(x)   REDUCTION(x)
 
#define REDUCTION_(x)   ((x).e)
 
#define REDUCTION_TYPE   reduction
 
#define reduction_TYPE   reduction
 
#define reduction_undefined   ((reduction)gen_chunk_undefined)
 
#define reduction_undefined_p(x)   ((x)==reduction_undefined)
 
#define gen_REDUCTION_cons   gen_reduction_cons
 
#define reduction_domain_number(x)   ((x)->_type_)
 
#define reduction_reference_(x)   reduction_reference(x) /**old hack compatible */
 
#define reduction_reference(x)   ((x)->_reduction_reference_)
 
#define reduction_op_(x)   reduction_op(x) /**old hack compatible */
 
#define reduction_op(x)   ((x)->_reduction_op_)
 
#define reduction_dependences_(x)   reduction_dependences(x) /**old hack compatible */
 
#define reduction_dependences(x)   ((x)->_reduction_dependences_)
 
#define reduction_trusted_(x)   reduction_trusted(x) /**old hack compatible */
 
#define reduction_trusted(x)   ((x)->_reduction_trusted_)
 
#define REDUCTIONS(x)   ((reductions)((x).p))
 REDUCTIONS. More...
 
#define reductions_CAST(x)   REDUCTIONS(x)
 
#define REDUCTIONS_CAST(x)   REDUCTIONS(x)
 
#define REDUCTIONS_(x)   ((x).e)
 
#define REDUCTIONS_TYPE   reductions
 
#define reductions_TYPE   reductions
 
#define reductions_undefined   ((reductions)gen_chunk_undefined)
 
#define reductions_undefined_p(x)   ((x)==reductions_undefined)
 
#define gen_REDUCTIONS_cons   gen_reductions_cons
 
#define reductions_domain_number(x)   ((x)->_type_)
 
#define reductions_list(x)   ((x)->_reductions_holder_)
 
#define reductions_private_spec   "\--NEWGEN-START 100\n\import reference from \"ri.newgen\";\n\import preference from \"ri.newgen\";\n\import entity from \"ri.newgen\";\n\import statement from \"ri.newgen\";\n\pstatement_reductions = persistant statement:statement -> reductions:reductions;\n\reduction_operator = none:unit + min:unit + max:unit + sum:unit + csum:unit + prod:unit + and:unit + or:unit + bitwise_and:unit + bitwise_or:unit + bitwise_xor:unit + eqv:unit + neqv:unit;\n\reduction = reference:reference x op:reduction_operator x dependences:entity* x trusted:preference*;\n\reductions = list:reduction*;\n\"
 

Typedefs

typedef struct _newgen_struct_reference_reference
 
typedef struct _newgen_struct_preference_preference
 
typedef struct _newgen_struct_entity_entity
 
typedef struct _newgen_struct_statement_statement
 
typedef struct _newgen_struct_pstatement_reductions_pstatement_reductions
 
typedef struct _newgen_struct_reduction_operator_reduction_operator
 
typedef struct _newgen_struct_reduction_reduction
 
typedef struct _newgen_struct_reductions_reductions
 

Enumerations

enum  reduction_operator_utype {
  is_reduction_operator_none , is_reduction_operator_min , is_reduction_operator_max , is_reduction_operator_sum ,
  is_reduction_operator_csum , is_reduction_operator_prod , is_reduction_operator_and , is_reduction_operator_or ,
  is_reduction_operator_bitwise_and , is_reduction_operator_bitwise_or , is_reduction_operator_bitwise_xor , is_reduction_operator_eqv ,
  is_reduction_operator_neqv
}
 

Functions

pstatement_reductions copy_pstatement_reductions (pstatement_reductions)
 PSTATEMENT_REDUCTIONS. More...
 
void free_pstatement_reductions (pstatement_reductions)
 
pstatement_reductions check_pstatement_reductions (pstatement_reductions)
 
bool pstatement_reductions_consistent_p (pstatement_reductions)
 
bool pstatement_reductions_defined_p (pstatement_reductions)
 
list gen_pstatement_reductions_cons (pstatement_reductions, list)
 
void pstatement_reductions_assign_contents (pstatement_reductions, pstatement_reductions)
 
void pstatement_reductions_non_recursive_free (pstatement_reductions)
 
void write_pstatement_reductions (FILE *, pstatement_reductions)
 
pstatement_reductions read_pstatement_reductions (FILE *)
 
pstatement_reductions make_pstatement_reductions (void)
 
reductions apply_pstatement_reductions (pstatement_reductions, statement)
 
void update_pstatement_reductions (pstatement_reductions, statement, reductions)
 
void extend_pstatement_reductions (pstatement_reductions, statement, reductions)
 
reductions delete_pstatement_reductions (pstatement_reductions, statement)
 
bool bound_pstatement_reductions_p (pstatement_reductions, statement)
 
reduction_operator copy_reduction_operator (reduction_operator)
 REDUCTION_OPERATOR. More...
 
void free_reduction_operator (reduction_operator)
 
reduction_operator check_reduction_operator (reduction_operator)
 
bool reduction_operator_consistent_p (reduction_operator)
 
bool reduction_operator_defined_p (reduction_operator)
 
list gen_reduction_operator_cons (reduction_operator, list)
 
void reduction_operator_assign_contents (reduction_operator, reduction_operator)
 
void reduction_operator_non_recursive_free (reduction_operator)
 
void write_reduction_operator (FILE *, reduction_operator)
 
reduction_operator read_reduction_operator (FILE *)
 
string reduction_operator_tag_as_string (enum reduction_operator_utype)
 
reduction_operator make_reduction_operator (enum reduction_operator_utype, void *)
 
reduction_operator make_reduction_operator_none (void)
 
reduction_operator make_reduction_operator_min (void)
 
reduction_operator make_reduction_operator_max (void)
 
reduction_operator make_reduction_operator_sum (void)
 
reduction_operator make_reduction_operator_csum (void)
 
reduction_operator make_reduction_operator_prod (void)
 
reduction_operator make_reduction_operator_and (void)
 
reduction_operator make_reduction_operator_or (void)
 
reduction_operator make_reduction_operator_bitwise_and (void)
 
reduction_operator make_reduction_operator_bitwise_or (void)
 
reduction_operator make_reduction_operator_bitwise_xor (void)
 
reduction_operator make_reduction_operator_eqv (void)
 
reduction_operator make_reduction_operator_neqv (void)
 
reduction copy_reduction (reduction)
 REDUCTION. More...
 
void free_reduction (reduction)
 
reduction check_reduction (reduction)
 
bool reduction_consistent_p (reduction)
 
bool reduction_defined_p (reduction)
 
list gen_reduction_cons (reduction, list)
 
void reduction_assign_contents (reduction, reduction)
 
void reduction_non_recursive_free (reduction)
 
void write_reduction (FILE *, reduction)
 
reduction read_reduction (FILE *)
 
reduction make_reduction (reference, reduction_operator, list, list)
 
reductions copy_reductions (reductions)
 REDUCTIONS. More...
 
void free_reductions (reductions)
 
reductions check_reductions (reductions)
 
bool reductions_consistent_p (reductions)
 
bool reductions_defined_p (reductions)
 
list gen_reductions_cons (reductions, list)
 
void reductions_assign_contents (reductions, reductions)
 
void reductions_non_recursive_free (reductions)
 
void write_reductions (FILE *, reductions)
 
reductions read_reductions (FILE *)
 
reductions make_reductions (list)
 

Macro Definition Documentation

◆ _gen_reductions_private_start

#define _gen_reductions_private_start   100

Definition at line 3 of file reductions_private.h.

◆ _newgen_entity_domain_defined_

#define _newgen_entity_domain_defined_

newgen_preference_domain_defined

Definition at line 25 of file reductions_private.h.

◆ _newgen_preference_domain_defined_

#define _newgen_preference_domain_defined_

newgen_reference_domain_defined

Definition at line 18 of file reductions_private.h.

◆ _newgen_pstatement_reductions_domain_defined_

#define _newgen_pstatement_reductions_domain_defined_

Definition at line 40 of file reductions_private.h.

◆ _newgen_reduction_domain_defined_

#define _newgen_reduction_domain_defined_

Definition at line 56 of file reductions_private.h.

◆ _newgen_reduction_operator_domain_defined_

#define _newgen_reduction_operator_domain_defined_

Definition at line 48 of file reductions_private.h.

◆ _newgen_reductions_domain_defined_

#define _newgen_reductions_domain_defined_

Definition at line 64 of file reductions_private.h.

◆ _newgen_reference_domain_defined_

#define _newgen_reference_domain_defined_

Definition at line 11 of file reductions_private.h.

◆ _newgen_statement_domain_defined_

#define _newgen_statement_domain_defined_

newgen_entity_domain_defined

Definition at line 32 of file reductions_private.h.

◆ ENTITY_NEWGEN_DOMAIN

#define ENTITY_NEWGEN_DOMAIN   (entity_domain)

Definition at line 26 of file reductions_private.h.

◆ entity_NEWGEN_DOMAIN

#define entity_NEWGEN_DOMAIN   (entity_domain)

Definition at line 27 of file reductions_private.h.

◆ gen_PSTATEMENT_REDUCTIONS_cons

#define gen_PSTATEMENT_REDUCTIONS_cons   gen_pstatement_reductions_cons

Definition at line 86 of file reductions_private.h.

◆ gen_REDUCTION_cons

#define gen_REDUCTION_cons   gen_reduction_cons

Definition at line 242 of file reductions_private.h.

◆ gen_REDUCTION_OPERATOR_cons

#define gen_REDUCTION_OPERATOR_cons   gen_reduction_operator_cons

Definition at line 127 of file reductions_private.h.

◆ gen_REDUCTIONS_cons

#define gen_REDUCTIONS_cons   gen_reductions_cons

Definition at line 284 of file reductions_private.h.

◆ PREFERENCE_NEWGEN_DOMAIN

#define PREFERENCE_NEWGEN_DOMAIN   (preference_domain)

Definition at line 19 of file reductions_private.h.

◆ preference_NEWGEN_DOMAIN

#define preference_NEWGEN_DOMAIN   (preference_domain)

Definition at line 20 of file reductions_private.h.

◆ PSTATEMENT_REDUCTIONS

#define PSTATEMENT_REDUCTIONS (   x)    ((pstatement_reductions)((x).p))

newgen_reductions_domain_defined

PSTATEMENT_REDUCTIONS

Definition at line 72 of file reductions_private.h.

◆ PSTATEMENT_REDUCTIONS_

#define PSTATEMENT_REDUCTIONS_ (   x)    ((x).e)

Definition at line 75 of file reductions_private.h.

◆ pstatement_reductions_CAST

#define pstatement_reductions_CAST (   x)    PSTATEMENT_REDUCTIONS(x)

Definition at line 73 of file reductions_private.h.

◆ PSTATEMENT_REDUCTIONS_CAST

#define PSTATEMENT_REDUCTIONS_CAST (   x)    PSTATEMENT_REDUCTIONS(x)

Definition at line 74 of file reductions_private.h.

◆ pstatement_reductions_domain

#define pstatement_reductions_domain   (_gen_reductions_private_start+0)

newgen_statement_domain_defined

Definition at line 38 of file reductions_private.h.

◆ pstatement_reductions_domain_number

#define pstatement_reductions_domain_number (   x)    ((x)->_type_)

Definition at line 99 of file reductions_private.h.

◆ PSTATEMENT_REDUCTIONS_FOREACH

#define PSTATEMENT_REDUCTIONS_FOREACH (   k,
  v,
  f 
)    FUNCTION_FOREACH(pstatement_reductions,p,p,k,v,f)

Definition at line 104 of file reductions_private.h.

◆ pstatement_reductions_hash_table

#define pstatement_reductions_hash_table (   x)    ((x)->_pstatement_reductions_holder_)

Definition at line 100 of file reductions_private.h.

◆ pstatement_reductions_key_type

#define pstatement_reductions_key_type   statement

Definition at line 101 of file reductions_private.h.

◆ PSTATEMENT_REDUCTIONS_MAP

#define PSTATEMENT_REDUCTIONS_MAP (   k,
  v,
  c,
  f 
)    FUNCTION_MAP(pstatement_reductions,p,p,k,v,c,f)

Definition at line 103 of file reductions_private.h.

◆ PSTATEMENT_REDUCTIONS_NEWGEN_DOMAIN

#define PSTATEMENT_REDUCTIONS_NEWGEN_DOMAIN   (pstatement_reductions_domain)

Definition at line 41 of file reductions_private.h.

◆ pstatement_reductions_NEWGEN_DOMAIN

#define pstatement_reductions_NEWGEN_DOMAIN   (pstatement_reductions_domain)

Definition at line 42 of file reductions_private.h.

◆ PSTATEMENT_REDUCTIONS_TYPE

#define PSTATEMENT_REDUCTIONS_TYPE   pstatement_reductions

Definition at line 76 of file reductions_private.h.

◆ pstatement_reductions_TYPE

#define pstatement_reductions_TYPE   pstatement_reductions

Definition at line 77 of file reductions_private.h.

◆ pstatement_reductions_undefined

#define pstatement_reductions_undefined   ((pstatement_reductions)gen_chunk_undefined)

Definition at line 78 of file reductions_private.h.

◆ pstatement_reductions_undefined_p

#define pstatement_reductions_undefined_p (   x)    ((x)==pstatement_reductions_undefined)

Definition at line 79 of file reductions_private.h.

◆ pstatement_reductions_value_type

#define pstatement_reductions_value_type   reductions

Definition at line 102 of file reductions_private.h.

◆ REDUCTION

#define REDUCTION (   x)    ((reduction)((x).p))

REDUCTION.

Definition at line 228 of file reductions_private.h.

◆ REDUCTION_

#define REDUCTION_ (   x)    ((x).e)

Definition at line 231 of file reductions_private.h.

◆ reduction_CAST

#define reduction_CAST (   x)    REDUCTION(x)

Definition at line 229 of file reductions_private.h.

◆ REDUCTION_CAST

#define REDUCTION_CAST (   x)    REDUCTION(x)

Definition at line 230 of file reductions_private.h.

◆ reduction_dependences

#define reduction_dependences (   x)    ((x)->_reduction_dependences_)

Definition at line 264 of file reductions_private.h.

◆ reduction_dependences_

#define reduction_dependences_ (   x)    reduction_dependences(x) /**old hack compatible */

Definition at line 263 of file reductions_private.h.

◆ reduction_domain

#define reduction_domain   (_gen_reductions_private_start+2)

newgen_reduction_operator_domain_defined

Definition at line 54 of file reductions_private.h.

◆ reduction_domain_number

#define reduction_domain_number (   x)    ((x)->_type_)

Definition at line 258 of file reductions_private.h.

◆ REDUCTION_NEWGEN_DOMAIN

#define REDUCTION_NEWGEN_DOMAIN   (reduction_domain)

Definition at line 57 of file reductions_private.h.

◆ reduction_NEWGEN_DOMAIN

#define reduction_NEWGEN_DOMAIN   (reduction_domain)

Definition at line 58 of file reductions_private.h.

◆ reduction_op

#define reduction_op (   x)    ((x)->_reduction_op_)

Definition at line 262 of file reductions_private.h.

◆ reduction_op_

#define reduction_op_ (   x)    reduction_op(x) /**old hack compatible */

Definition at line 261 of file reductions_private.h.

◆ REDUCTION_OPERATOR

#define REDUCTION_OPERATOR (   x)    ((reduction_operator)((x).p))

REDUCTION_OPERATOR.

Definition at line 113 of file reductions_private.h.

◆ REDUCTION_OPERATOR_

#define REDUCTION_OPERATOR_ (   x)    ((x).e)

Definition at line 116 of file reductions_private.h.

◆ reduction_operator_and

#define reduction_operator_and (   x)    ((x)->_reduction_operator_union_._reduction_operator_and_.u)

Definition at line 206 of file reductions_private.h.

◆ reduction_operator_and_

#define reduction_operator_and_ (   x)    reduction_operator_and(x) /**old hack compatible */

Definition at line 205 of file reductions_private.h.

◆ reduction_operator_and_p

#define reduction_operator_and_p (   x)    (reduction_operator_tag(x)==is_reduction_operator_and)

Definition at line 204 of file reductions_private.h.

◆ reduction_operator_bitwise_and

#define reduction_operator_bitwise_and (   x)    ((x)->_reduction_operator_union_._reduction_operator_bitwise_and_.u)

Definition at line 212 of file reductions_private.h.

◆ reduction_operator_bitwise_and_

#define reduction_operator_bitwise_and_ (   x)    reduction_operator_bitwise_and(x) /**old hack compatible */

Definition at line 211 of file reductions_private.h.

◆ reduction_operator_bitwise_and_p

#define reduction_operator_bitwise_and_p (   x)    (reduction_operator_tag(x)==is_reduction_operator_bitwise_and)

Definition at line 210 of file reductions_private.h.

◆ reduction_operator_bitwise_or

#define reduction_operator_bitwise_or (   x)    ((x)->_reduction_operator_union_._reduction_operator_bitwise_or_.u)

Definition at line 215 of file reductions_private.h.

◆ reduction_operator_bitwise_or_

#define reduction_operator_bitwise_or_ (   x)    reduction_operator_bitwise_or(x) /**old hack compatible */

Definition at line 214 of file reductions_private.h.

◆ reduction_operator_bitwise_or_p

#define reduction_operator_bitwise_or_p (   x)    (reduction_operator_tag(x)==is_reduction_operator_bitwise_or)

Definition at line 213 of file reductions_private.h.

◆ reduction_operator_bitwise_xor

#define reduction_operator_bitwise_xor (   x)    ((x)->_reduction_operator_union_._reduction_operator_bitwise_xor_.u)

Definition at line 218 of file reductions_private.h.

◆ reduction_operator_bitwise_xor_

#define reduction_operator_bitwise_xor_ (   x)    reduction_operator_bitwise_xor(x) /**old hack compatible */

Definition at line 217 of file reductions_private.h.

◆ reduction_operator_bitwise_xor_p

#define reduction_operator_bitwise_xor_p (   x)    (reduction_operator_tag(x)==is_reduction_operator_bitwise_xor)

Definition at line 216 of file reductions_private.h.

◆ reduction_operator_CAST

#define reduction_operator_CAST (   x)    REDUCTION_OPERATOR(x)

Definition at line 114 of file reductions_private.h.

◆ REDUCTION_OPERATOR_CAST

#define REDUCTION_OPERATOR_CAST (   x)    REDUCTION_OPERATOR(x)

Definition at line 115 of file reductions_private.h.

◆ reduction_operator_csum

#define reduction_operator_csum (   x)    ((x)->_reduction_operator_union_._reduction_operator_csum_.u)

Definition at line 200 of file reductions_private.h.

◆ reduction_operator_csum_

#define reduction_operator_csum_ (   x)    reduction_operator_csum(x) /**old hack compatible */

Definition at line 199 of file reductions_private.h.

◆ reduction_operator_csum_p

#define reduction_operator_csum_p (   x)    (reduction_operator_tag(x)==is_reduction_operator_csum)

Definition at line 198 of file reductions_private.h.

◆ reduction_operator_domain

#define reduction_operator_domain   (_gen_reductions_private_start+1)

newgen_pstatement_reductions_domain_defined

Definition at line 46 of file reductions_private.h.

◆ reduction_operator_domain_number

#define reduction_operator_domain_number (   x)    ((x)->_type_)

Definition at line 184 of file reductions_private.h.

◆ reduction_operator_eqv

#define reduction_operator_eqv (   x)    ((x)->_reduction_operator_union_._reduction_operator_eqv_.u)

Definition at line 221 of file reductions_private.h.

◆ reduction_operator_eqv_

#define reduction_operator_eqv_ (   x)    reduction_operator_eqv(x) /**old hack compatible */

Definition at line 220 of file reductions_private.h.

◆ reduction_operator_eqv_p

#define reduction_operator_eqv_p (   x)    (reduction_operator_tag(x)==is_reduction_operator_eqv)

Definition at line 219 of file reductions_private.h.

◆ reduction_operator_max

#define reduction_operator_max (   x)    ((x)->_reduction_operator_union_._reduction_operator_max_.u)

Definition at line 194 of file reductions_private.h.

◆ reduction_operator_max_

#define reduction_operator_max_ (   x)    reduction_operator_max(x) /**old hack compatible */

Definition at line 193 of file reductions_private.h.

◆ reduction_operator_max_p

#define reduction_operator_max_p (   x)    (reduction_operator_tag(x)==is_reduction_operator_max)

Definition at line 192 of file reductions_private.h.

◆ reduction_operator_min

#define reduction_operator_min (   x)    ((x)->_reduction_operator_union_._reduction_operator_min_.u)

Definition at line 191 of file reductions_private.h.

◆ reduction_operator_min_

#define reduction_operator_min_ (   x)    reduction_operator_min(x) /**old hack compatible */

Definition at line 190 of file reductions_private.h.

◆ reduction_operator_min_p

#define reduction_operator_min_p (   x)    (reduction_operator_tag(x)==is_reduction_operator_min)

Definition at line 189 of file reductions_private.h.

◆ reduction_operator_neqv

#define reduction_operator_neqv (   x)    ((x)->_reduction_operator_union_._reduction_operator_neqv_.u)

Definition at line 224 of file reductions_private.h.

◆ reduction_operator_neqv_

#define reduction_operator_neqv_ (   x)    reduction_operator_neqv(x) /**old hack compatible */

Definition at line 223 of file reductions_private.h.

◆ reduction_operator_neqv_p

#define reduction_operator_neqv_p (   x)    (reduction_operator_tag(x)==is_reduction_operator_neqv)

Definition at line 222 of file reductions_private.h.

◆ REDUCTION_OPERATOR_NEWGEN_DOMAIN

#define REDUCTION_OPERATOR_NEWGEN_DOMAIN   (reduction_operator_domain)

Definition at line 49 of file reductions_private.h.

◆ reduction_operator_NEWGEN_DOMAIN

#define reduction_operator_NEWGEN_DOMAIN   (reduction_operator_domain)

Definition at line 50 of file reductions_private.h.

◆ reduction_operator_none

#define reduction_operator_none (   x)    ((x)->_reduction_operator_union_._reduction_operator_none_.u)

Definition at line 188 of file reductions_private.h.

◆ reduction_operator_none_

#define reduction_operator_none_ (   x)    reduction_operator_none(x) /**old hack compatible */

Definition at line 187 of file reductions_private.h.

◆ reduction_operator_none_p

#define reduction_operator_none_p (   x)    (reduction_operator_tag(x)==is_reduction_operator_none)

Definition at line 186 of file reductions_private.h.

◆ reduction_operator_or

#define reduction_operator_or (   x)    ((x)->_reduction_operator_union_._reduction_operator_or_.u)

Definition at line 209 of file reductions_private.h.

◆ reduction_operator_or_

#define reduction_operator_or_ (   x)    reduction_operator_or(x) /**old hack compatible */

Definition at line 208 of file reductions_private.h.

◆ reduction_operator_or_p

#define reduction_operator_or_p (   x)    (reduction_operator_tag(x)==is_reduction_operator_or)

Definition at line 207 of file reductions_private.h.

◆ reduction_operator_prod

#define reduction_operator_prod (   x)    ((x)->_reduction_operator_union_._reduction_operator_prod_.u)

Definition at line 203 of file reductions_private.h.

◆ reduction_operator_prod_

#define reduction_operator_prod_ (   x)    reduction_operator_prod(x) /**old hack compatible */

Definition at line 202 of file reductions_private.h.

◆ reduction_operator_prod_p

#define reduction_operator_prod_p (   x)    (reduction_operator_tag(x)==is_reduction_operator_prod)

Definition at line 201 of file reductions_private.h.

◆ reduction_operator_sum

#define reduction_operator_sum (   x)    ((x)->_reduction_operator_union_._reduction_operator_sum_.u)

Definition at line 197 of file reductions_private.h.

◆ reduction_operator_sum_

#define reduction_operator_sum_ (   x)    reduction_operator_sum(x) /**old hack compatible */

Definition at line 196 of file reductions_private.h.

◆ reduction_operator_sum_p

#define reduction_operator_sum_p (   x)    (reduction_operator_tag(x)==is_reduction_operator_sum)

Definition at line 195 of file reductions_private.h.

◆ reduction_operator_tag

#define reduction_operator_tag (   x)    ((x)->_reduction_operator_tag__)

Definition at line 185 of file reductions_private.h.

◆ REDUCTION_OPERATOR_TYPE

#define REDUCTION_OPERATOR_TYPE   reduction_operator

Definition at line 117 of file reductions_private.h.

◆ reduction_operator_TYPE

#define reduction_operator_TYPE   reduction_operator

Definition at line 118 of file reductions_private.h.

◆ reduction_operator_undefined

#define reduction_operator_undefined   ((reduction_operator)gen_chunk_undefined)

Definition at line 119 of file reductions_private.h.

◆ reduction_operator_undefined_p

#define reduction_operator_undefined_p (   x)    ((x)==reduction_operator_undefined)

Definition at line 120 of file reductions_private.h.

◆ reduction_reference

#define reduction_reference (   x)    ((x)->_reduction_reference_)

Definition at line 260 of file reductions_private.h.

◆ reduction_reference_

#define reduction_reference_ (   x)    reduction_reference(x) /**old hack compatible */

Definition at line 259 of file reductions_private.h.

◆ reduction_trusted

#define reduction_trusted (   x)    ((x)->_reduction_trusted_)

Definition at line 266 of file reductions_private.h.

◆ reduction_trusted_

#define reduction_trusted_ (   x)    reduction_trusted(x) /**old hack compatible */

Definition at line 265 of file reductions_private.h.

◆ REDUCTION_TYPE

#define REDUCTION_TYPE   reduction

Definition at line 232 of file reductions_private.h.

◆ reduction_TYPE

#define reduction_TYPE   reduction

Definition at line 233 of file reductions_private.h.

◆ reduction_undefined

#define reduction_undefined   ((reduction)gen_chunk_undefined)

Definition at line 234 of file reductions_private.h.

◆ reduction_undefined_p

#define reduction_undefined_p (   x)    ((x)==reduction_undefined)

Definition at line 235 of file reductions_private.h.

◆ REDUCTIONS

#define REDUCTIONS (   x)    ((reductions)((x).p))

REDUCTIONS.

Definition at line 270 of file reductions_private.h.

◆ REDUCTIONS_

#define REDUCTIONS_ (   x)    ((x).e)

Definition at line 273 of file reductions_private.h.

◆ reductions_CAST

#define reductions_CAST (   x)    REDUCTIONS(x)

Definition at line 271 of file reductions_private.h.

◆ REDUCTIONS_CAST

#define REDUCTIONS_CAST (   x)    REDUCTIONS(x)

Definition at line 272 of file reductions_private.h.

◆ reductions_domain

#define reductions_domain   (_gen_reductions_private_start+3)

newgen_reduction_domain_defined

Definition at line 62 of file reductions_private.h.

◆ reductions_domain_number

#define reductions_domain_number (   x)    ((x)->_type_)

Definition at line 297 of file reductions_private.h.

◆ reductions_list

#define reductions_list (   x)    ((x)->_reductions_holder_)

Definition at line 298 of file reductions_private.h.

◆ REDUCTIONS_NEWGEN_DOMAIN

#define REDUCTIONS_NEWGEN_DOMAIN   (reductions_domain)

Definition at line 65 of file reductions_private.h.

◆ reductions_NEWGEN_DOMAIN

#define reductions_NEWGEN_DOMAIN   (reductions_domain)

Definition at line 66 of file reductions_private.h.

◆ reductions_private_spec

#define reductions_private_spec   "\--NEWGEN-START 100\n\import reference from \"ri.newgen\";\n\import preference from \"ri.newgen\";\n\import entity from \"ri.newgen\";\n\import statement from \"ri.newgen\";\n\pstatement_reductions = persistant statement:statement -> reductions:reductions;\n\reduction_operator = none:unit + min:unit + max:unit + sum:unit + csum:unit + prod:unit + and:unit + or:unit + bitwise_and:unit + bitwise_or:unit + bitwise_xor:unit + eqv:unit + neqv:unit;\n\reduction = reference:reference x op:reduction_operator x dependences:entity* x trusted:preference*;\n\reductions = list:reduction*;\n\"

Definition at line 300 of file reductions_private.h.

◆ REDUCTIONS_TYPE

#define REDUCTIONS_TYPE   reductions

Definition at line 274 of file reductions_private.h.

◆ reductions_TYPE

#define reductions_TYPE   reductions

Definition at line 275 of file reductions_private.h.

◆ reductions_undefined

#define reductions_undefined   ((reductions)gen_chunk_undefined)

Definition at line 276 of file reductions_private.h.

◆ reductions_undefined_p

#define reductions_undefined_p (   x)    ((x)==reductions_undefined)

Definition at line 277 of file reductions_private.h.

◆ REFERENCE_NEWGEN_DOMAIN

#define REFERENCE_NEWGEN_DOMAIN   (reference_domain)

Definition at line 12 of file reductions_private.h.

◆ reference_NEWGEN_DOMAIN

#define reference_NEWGEN_DOMAIN   (reference_domain)

Definition at line 13 of file reductions_private.h.

◆ STATEMENT_NEWGEN_DOMAIN

#define STATEMENT_NEWGEN_DOMAIN   (statement_domain)

Definition at line 33 of file reductions_private.h.

◆ statement_NEWGEN_DOMAIN

#define statement_NEWGEN_DOMAIN   (statement_domain)

Definition at line 34 of file reductions_private.h.

Typedef Documentation

◆ entity

typedef struct _newgen_struct_entity_* entity

Definition at line 28 of file reductions_private.h.

◆ preference

Definition at line 21 of file reductions_private.h.

◆ pstatement_reductions

◆ reduction

Definition at line 59 of file reductions_private.h.

◆ reduction_operator

◆ reductions

Definition at line 67 of file reductions_private.h.

◆ reference

Definition at line 14 of file reductions_private.h.

◆ statement

Definition at line 35 of file reductions_private.h.

Enumeration Type Documentation

◆ reduction_operator_utype

Enumerator
is_reduction_operator_none 
is_reduction_operator_min 
is_reduction_operator_max 
is_reduction_operator_sum 
is_reduction_operator_csum 
is_reduction_operator_prod 
is_reduction_operator_and 
is_reduction_operator_or 
is_reduction_operator_bitwise_and 
is_reduction_operator_bitwise_or 
is_reduction_operator_bitwise_xor 
is_reduction_operator_eqv 
is_reduction_operator_neqv 

Definition at line 133 of file reductions_private.h.

133  {
147 };
@ is_reduction_operator_bitwise_xor
@ is_reduction_operator_none
@ is_reduction_operator_min
@ is_reduction_operator_bitwise_and
@ is_reduction_operator_neqv
@ is_reduction_operator_max
@ is_reduction_operator_bitwise_or
@ is_reduction_operator_csum
@ is_reduction_operator_eqv
@ is_reduction_operator_prod
@ is_reduction_operator_or
@ is_reduction_operator_and
@ is_reduction_operator_sum

Function Documentation

◆ apply_pstatement_reductions()

reductions apply_pstatement_reductions ( pstatement_reductions  f,
statement  k 
)

Definition at line 55 of file reductions_private.c.

55  {
57 }
#define HASH_GET(start, image, h, k)
Definition: newgen_map.h:30
int f(int off1, int off2, int n, float r[n], float a[n], float b[n])
Definition: offsets.c:15
#define pstatement_reductions_hash_table(x)
#define intptr_t
Definition: stdint.in.h:294

References f(), HASH_GET, intptr_t, and pstatement_reductions_hash_table.

+ Here is the call graph for this function:

◆ bound_pstatement_reductions_p()

bool bound_pstatement_reductions_p ( pstatement_reductions  f,
statement  k 
)

Definition at line 67 of file reductions_private.c.

67  {
69 }
#define HASH_BOUND_P(start, image, h, k)
Definition: newgen_map.h:32

References f(), HASH_BOUND_P, intptr_t, and pstatement_reductions_hash_table.

+ Here is the call graph for this function:

◆ check_pstatement_reductions()

pstatement_reductions check_pstatement_reductions ( pstatement_reductions  p)

Definition at line 22 of file reductions_private.c.

22  {
24 }
gen_chunk * gen_check(gen_chunk *obj, int t)
GEN_CHECK checks that the gen_chunk received OBJ is of the appropriate TYPE.
Definition: genClib.c:2356
#define pstatement_reductions_domain
newgen_statement_domain_defined
A gen_chunk is used to store every object.
Definition: genC.h:58

References gen_check(), and pstatement_reductions_domain.

Referenced by pstatement_reductions_assign_contents(), and pstatement_reductions_consistent_p().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ check_reduction()

reduction check_reduction ( reduction  p)

Definition at line 178 of file reductions_private.c.

178  {
180 }
#define reduction_domain
newgen_reduction_operator_domain_defined

References gen_check(), and reduction_domain.

Referenced by reduction_assign_contents(), and reduction_consistent_p().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ check_reduction_operator()

reduction_operator check_reduction_operator ( reduction_operator  p)

Definition at line 79 of file reductions_private.c.

79  {
81 }
#define reduction_operator_domain
newgen_pstatement_reductions_domain_defined

References gen_check(), and reduction_operator_domain.

Referenced by reduction_operator_assign_contents(), and reduction_operator_consistent_p().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ check_reductions()

reductions check_reductions ( reductions  p)

Definition at line 220 of file reductions_private.c.

220  {
222 }
#define reductions_domain
newgen_reduction_domain_defined

References gen_check(), and reductions_domain.

Referenced by reductions_assign_contents(), and reductions_consistent_p().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ copy_pstatement_reductions()

pstatement_reductions copy_pstatement_reductions ( pstatement_reductions  p)

PSTATEMENT_REDUCTIONS.

Definition at line 16 of file reductions_private.c.

16  {
18 }
gen_chunk * gen_copy_tree(gen_chunk *obj)
Definition: genClib.c:1429

References gen_copy_tree().

+ Here is the call graph for this function:

◆ copy_reduction()

reduction copy_reduction ( reduction  p)

REDUCTION.

Definition at line 172 of file reductions_private.c.

172  {
173  return (reduction) gen_copy_tree((gen_chunk*) p);
174 }

References gen_copy_tree().

Referenced by compute_one_summary_reduction(), find_reduction_of_var(), translate_reduction(), and update_compatible_reduction_with().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ copy_reduction_operator()

reduction_operator copy_reduction_operator ( reduction_operator  p)

REDUCTION_OPERATOR.

Definition at line 73 of file reductions_private.c.

73  {
75 }

References gen_copy_tree().

+ Here is the call graph for this function:

◆ copy_reductions()

reductions copy_reductions ( reductions  p)

REDUCTIONS.

Definition at line 214 of file reductions_private.c.

214  {
215  return (reductions) gen_copy_tree((gen_chunk*) p);
216 }

References gen_copy_tree().

Referenced by compute_cumulated_reductions(), and do_expression_reduction().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ delete_pstatement_reductions()

reductions delete_pstatement_reductions ( pstatement_reductions  f,
statement  k 
)

Definition at line 64 of file reductions_private.c.

64  {
66 }
#define HASH_DELETE(start, image, h, k)
Definition: newgen_map.h:38

References f(), HASH_DELETE, intptr_t, and pstatement_reductions_hash_table.

+ Here is the call graph for this function:

◆ extend_pstatement_reductions()

void extend_pstatement_reductions ( pstatement_reductions  f,
statement  k,
reductions  v 
)

Definition at line 61 of file reductions_private.c.

61  {
63 }
#define HASH_EXTEND(start, image, h, k, v)
Definition: newgen_map.h:36

References f(), HASH_EXTEND, intptr_t, and pstatement_reductions_hash_table.

+ Here is the call graph for this function:

◆ free_pstatement_reductions()

void free_pstatement_reductions ( pstatement_reductions  p)

Definition at line 19 of file reductions_private.c.

19  {
20  gen_free((gen_chunk*) p);
21 }
void gen_free(gen_chunk *obj)
version without shared_pointers.
Definition: genClib.c:992

References gen_free().

+ Here is the call graph for this function:

◆ free_reduction()

void free_reduction ( reduction  p)

Definition at line 175 of file reductions_private.c.

175  {
176  gen_free((gen_chunk*) p);
177 }

References gen_free().

Referenced by build_reduction_of_variable(), compatible_reduction_of_var(), merge_two_reductions(), update_compatible_reduction(), and update_compatible_reduction_with().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ free_reduction_operator()

void free_reduction_operator ( reduction_operator  p)

Definition at line 76 of file reductions_private.c.

76  {
77  gen_free((gen_chunk*) p);
78 }

References gen_free().

+ Here is the call graph for this function:

◆ free_reductions()

void free_reductions ( reductions  p)

Definition at line 217 of file reductions_private.c.

217  {
218  gen_free((gen_chunk*) p);
219 }

References gen_free().

+ Here is the call graph for this function:

◆ gen_pstatement_reductions_cons()

list gen_pstatement_reductions_cons ( pstatement_reductions  p,
list  l 
)

Definition at line 32 of file reductions_private.c.

32  {
34 }
list gen_typed_cons(_int type, const void *item, const list next)
CONS a list with minimal type checking this cannot be done within the CONS macro because possible fun...
Definition: list.c:900
#define PSTATEMENT_REDUCTIONS_NEWGEN_DOMAIN

References gen_typed_cons(), and PSTATEMENT_REDUCTIONS_NEWGEN_DOMAIN.

+ Here is the call graph for this function:

◆ gen_reduction_cons()

list gen_reduction_cons ( reduction  p,
list  l 
)

Definition at line 188 of file reductions_private.c.

188  {
190 }
#define REDUCTION_NEWGEN_DOMAIN

References gen_typed_cons(), and REDUCTION_NEWGEN_DOMAIN.

+ Here is the call graph for this function:

◆ gen_reduction_operator_cons()

list gen_reduction_operator_cons ( reduction_operator  p,
list  l 
)

Definition at line 89 of file reductions_private.c.

89  {
91 }
#define REDUCTION_OPERATOR_NEWGEN_DOMAIN
Definition: hpf_private.h:47

References gen_typed_cons(), and REDUCTION_OPERATOR_NEWGEN_DOMAIN.

+ Here is the call graph for this function:

◆ gen_reductions_cons()

list gen_reductions_cons ( reductions  p,
list  l 
)

Definition at line 230 of file reductions_private.c.

230  {
232 }
#define REDUCTIONS_NEWGEN_DOMAIN

References gen_typed_cons(), and REDUCTIONS_NEWGEN_DOMAIN.

+ Here is the call graph for this function:

◆ make_pstatement_reductions()

pstatement_reductions make_pstatement_reductions ( void  )

Definition at line 52 of file reductions_private.c.

52  {
54 }
#define GEN_CHECK_ALLOC
Definition: genC.h:307
gen_chunk * gen_alloc(int size, int gen_check_p, int dom,...)
allocates something in newgen.
Definition: genClib.c:298

References gen_alloc(), GEN_CHECK_ALLOC, and pstatement_reductions_domain.

+ Here is the call graph for this function:

◆ make_reduction()

reduction make_reduction ( reference  a1,
reduction_operator  a2,
list  a3,
list  a4 
)

Definition at line 208 of file reductions_private.c.

208  {
209  return (reduction) gen_alloc(5*sizeof(gen_chunk), GEN_CHECK_ALLOC, reduction_domain, a1, a2, a3, a4);
210 }

References gen_alloc(), GEN_CHECK_ALLOC, and reduction_domain.

Referenced by build_reduction_of_variable(), and call_proper_reduction_p().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ make_reduction_operator()

◆ make_reduction_operator_and()

reduction_operator make_reduction_operator_and ( void  )

Definition at line 148 of file reductions_private.c.

148  {
150 }
reduction_operator make_reduction_operator(enum reduction_operator_utype tag, void *val)
#define UU
Definition: newgen_types.h:98

References is_reduction_operator_and, make_reduction_operator(), and UU.

+ Here is the call graph for this function:

◆ make_reduction_operator_bitwise_and()

reduction_operator make_reduction_operator_bitwise_and ( void  )

Definition at line 154 of file reductions_private.c.

References is_reduction_operator_bitwise_and, make_reduction_operator(), and UU.

+ Here is the call graph for this function:

◆ make_reduction_operator_bitwise_or()

reduction_operator make_reduction_operator_bitwise_or ( void  )

Definition at line 157 of file reductions_private.c.

References is_reduction_operator_bitwise_or, make_reduction_operator(), and UU.

+ Here is the call graph for this function:

◆ make_reduction_operator_bitwise_xor()

reduction_operator make_reduction_operator_bitwise_xor ( void  )

Definition at line 160 of file reductions_private.c.

References is_reduction_operator_bitwise_xor, make_reduction_operator(), and UU.

+ Here is the call graph for this function:

◆ make_reduction_operator_csum()

reduction_operator make_reduction_operator_csum ( void  )

Definition at line 142 of file reductions_private.c.

142  {
144 }

References is_reduction_operator_csum, make_reduction_operator(), and UU.

+ Here is the call graph for this function:

◆ make_reduction_operator_eqv()

reduction_operator make_reduction_operator_eqv ( void  )

Definition at line 163 of file reductions_private.c.

163  {
165 }

References is_reduction_operator_eqv, make_reduction_operator(), and UU.

+ Here is the call graph for this function:

◆ make_reduction_operator_max()

reduction_operator make_reduction_operator_max ( void  )

Definition at line 136 of file reductions_private.c.

136  {
138 }

References is_reduction_operator_max, make_reduction_operator(), and UU.

+ Here is the call graph for this function:

◆ make_reduction_operator_min()

reduction_operator make_reduction_operator_min ( void  )

Definition at line 133 of file reductions_private.c.

133  {
135 }

References is_reduction_operator_min, make_reduction_operator(), and UU.

+ Here is the call graph for this function:

◆ make_reduction_operator_neqv()

reduction_operator make_reduction_operator_neqv ( void  )

Definition at line 166 of file reductions_private.c.

166  {
168 }

References is_reduction_operator_neqv, make_reduction_operator(), and UU.

+ Here is the call graph for this function:

◆ make_reduction_operator_none()

reduction_operator make_reduction_operator_none ( void  )

Definition at line 130 of file reductions_private.c.

130  {
132 }

References is_reduction_operator_none, make_reduction_operator(), and UU.

Referenced by build_reduction_of_variable().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ make_reduction_operator_or()

reduction_operator make_reduction_operator_or ( void  )

Definition at line 151 of file reductions_private.c.

151  {
153 }

References is_reduction_operator_or, make_reduction_operator(), and UU.

+ Here is the call graph for this function:

◆ make_reduction_operator_prod()

reduction_operator make_reduction_operator_prod ( void  )

Definition at line 145 of file reductions_private.c.

145  {
147 }

References is_reduction_operator_prod, make_reduction_operator(), and UU.

+ Here is the call graph for this function:

◆ make_reduction_operator_sum()

reduction_operator make_reduction_operator_sum ( void  )

Definition at line 139 of file reductions_private.c.

139  {
141 }

References is_reduction_operator_sum, make_reduction_operator(), and UU.

+ Here is the call graph for this function:

◆ make_reductions()

reductions make_reductions ( list  a)

Definition at line 250 of file reductions_private.c.

250  {
252 }

References gen_alloc(), GEN_CHECK_ALLOC, and reductions_domain.

Referenced by build_creductions_of_statement(), compute_summary_reductions(), and pr_statement_flt().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ pstatement_reductions_assign_contents()

void pstatement_reductions_assign_contents ( pstatement_reductions  r,
pstatement_reductions  v 
)

Definition at line 35 of file reductions_private.c.

35  {
38  message_assert("defined references to domain pstatement_reductions",
40  memcpy(r, v, sizeof(struct _newgen_struct_pstatement_reductions_));
41 }
bool pstatement_reductions_defined_p(pstatement_reductions p)
pstatement_reductions check_pstatement_reductions(pstatement_reductions p)
#define message_assert(msg, ex)
Definition: newgen_assert.h:47

References check_pstatement_reductions(), message_assert, and pstatement_reductions_defined_p().

+ Here is the call graph for this function:

◆ pstatement_reductions_consistent_p()

bool pstatement_reductions_consistent_p ( pstatement_reductions  p)

Definition at line 25 of file reductions_private.c.

25  {
27  return gen_consistent_p((gen_chunk*) p);
28 }
int gen_consistent_p(gen_chunk *obj)
GEN_CONSISTENT_P dynamically checks the type correctness of OBJ.
Definition: genClib.c:2398

References check_pstatement_reductions(), and gen_consistent_p().

+ Here is the call graph for this function:

◆ pstatement_reductions_defined_p()

bool pstatement_reductions_defined_p ( pstatement_reductions  p)

Definition at line 29 of file reductions_private.c.

29  {
30  return gen_defined_p((gen_chunk*) p);
31 }
int gen_defined_p(gen_chunk *obj)
Definition: genClib.c:2438

References gen_defined_p().

Referenced by pstatement_reductions_assign_contents().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ pstatement_reductions_non_recursive_free()

void pstatement_reductions_non_recursive_free ( pstatement_reductions  p)

Definition at line 42 of file reductions_private.c.

42  {
43  // should clear up contents...
44  free(p);
45 }
void free(void *)

References free().

+ Here is the call graph for this function:

◆ read_pstatement_reductions()

pstatement_reductions read_pstatement_reductions ( FILE *  f)

Definition at line 49 of file reductions_private.c.

49  {
51 }
gen_chunk * gen_read(FILE *file)
GEN_READ reads any object from the FILE stream.
Definition: genClib.c:2323

References f(), and gen_read().

+ Here is the call graph for this function:

◆ read_reduction()

reduction read_reduction ( FILE *  f)

Definition at line 205 of file reductions_private.c.

205  {
206  return (reduction) gen_read(f);
207 }

References f(), and gen_read().

+ Here is the call graph for this function:

◆ read_reduction_operator()

reduction_operator read_reduction_operator ( FILE *  f)

Definition at line 106 of file reductions_private.c.

106  {
107  return (reduction_operator) gen_read(f);
108 }

References f(), and gen_read().

+ Here is the call graph for this function:

◆ read_reductions()

reductions read_reductions ( FILE *  f)

Definition at line 247 of file reductions_private.c.

247  {
248  return (reductions) gen_read(f);
249 }

References f(), and gen_read().

+ Here is the call graph for this function:

◆ reduction_assign_contents()

void reduction_assign_contents ( reduction  r,
reduction  v 
)

Definition at line 191 of file reductions_private.c.

191  {
192  check_reduction(r);
193  check_reduction(v);
194  message_assert("defined references to domain reduction",
196  memcpy(r, v, sizeof(struct _newgen_struct_reduction_));
197 }
bool reduction_defined_p(reduction p)
reduction check_reduction(reduction p)

References check_reduction(), message_assert, and reduction_defined_p().

+ Here is the call graph for this function:

◆ reduction_consistent_p()

bool reduction_consistent_p ( reduction  p)

Definition at line 181 of file reductions_private.c.

181  {
182  check_reduction(p);
183  return gen_consistent_p((gen_chunk*) p);
184 }

References check_reduction(), and gen_consistent_p().

+ Here is the call graph for this function:

◆ reduction_defined_p()

bool reduction_defined_p ( reduction  p)

Definition at line 185 of file reductions_private.c.

185  {
186  return gen_defined_p((gen_chunk*) p);
187 }

References gen_defined_p().

Referenced by reduction_assign_contents().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ reduction_non_recursive_free()

void reduction_non_recursive_free ( reduction  p)

Definition at line 198 of file reductions_private.c.

198  {
199  // should clear up contents...
200  free(p);
201 }

References free().

+ Here is the call graph for this function:

◆ reduction_operator_assign_contents()

void reduction_operator_assign_contents ( reduction_operator  r,
reduction_operator  v 
)

Definition at line 92 of file reductions_private.c.

92  {
95  message_assert("defined references to domain reduction_operator",
97  memcpy(r, v, sizeof(struct _newgen_struct_reduction_operator_));
98 }
reduction_operator check_reduction_operator(reduction_operator p)
bool reduction_operator_defined_p(reduction_operator p)

References check_reduction_operator(), message_assert, and reduction_operator_defined_p().

+ Here is the call graph for this function:

◆ reduction_operator_consistent_p()

bool reduction_operator_consistent_p ( reduction_operator  p)

Definition at line 82 of file reductions_private.c.

82  {
84  return gen_consistent_p((gen_chunk*) p);
85 }

References check_reduction_operator(), and gen_consistent_p().

+ Here is the call graph for this function:

◆ reduction_operator_defined_p()

bool reduction_operator_defined_p ( reduction_operator  p)

Definition at line 86 of file reductions_private.c.

86  {
87  return gen_defined_p((gen_chunk*) p);
88 }

References gen_defined_p().

Referenced by reduction_operator_assign_contents().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ reduction_operator_non_recursive_free()

void reduction_operator_non_recursive_free ( reduction_operator  p)

Definition at line 99 of file reductions_private.c.

99  {
100  // should clear up contents...
101  free(p);
102 }

References free().

+ Here is the call graph for this function:

◆ reduction_operator_tag_as_string()

string reduction_operator_tag_as_string ( enum  reduction_operator_utype)

Definition at line 109 of file reductions_private.c.

109  {
110  switch (tag) {
111  case is_reduction_operator_none: return "none";
112  case is_reduction_operator_min: return "min";
113  case is_reduction_operator_max: return "max";
114  case is_reduction_operator_sum: return "sum";
115  case is_reduction_operator_csum: return "csum";
116  case is_reduction_operator_prod: return "prod";
117  case is_reduction_operator_and: return "and";
118  case is_reduction_operator_or: return "or";
119  case is_reduction_operator_bitwise_and: return "bitwise_and";
120  case is_reduction_operator_bitwise_or: return "bitwise_or";
121  case is_reduction_operator_bitwise_xor: return "bitwise_xor";
122  case is_reduction_operator_eqv: return "eqv";
123  case is_reduction_operator_neqv: return "neqv";
124  default: return string_undefined;
125  }
126 }
#define string_undefined
Definition: newgen_types.h:40

References is_reduction_operator_and, is_reduction_operator_bitwise_and, is_reduction_operator_bitwise_or, is_reduction_operator_bitwise_xor, is_reduction_operator_csum, is_reduction_operator_eqv, is_reduction_operator_max, is_reduction_operator_min, is_reduction_operator_neqv, is_reduction_operator_none, is_reduction_operator_or, is_reduction_operator_prod, is_reduction_operator_sum, and string_undefined.

◆ reductions_assign_contents()

void reductions_assign_contents ( reductions  r,
reductions  v 
)

Definition at line 233 of file reductions_private.c.

233  {
234  check_reductions(r);
235  check_reductions(v);
236  message_assert("defined references to domain reductions",
238  memcpy(r, v, sizeof(struct _newgen_struct_reductions_));
239 }
reductions check_reductions(reductions p)
bool reductions_defined_p(reductions p)

References check_reductions(), message_assert, and reductions_defined_p().

+ Here is the call graph for this function:

◆ reductions_consistent_p()

bool reductions_consistent_p ( reductions  p)

Definition at line 223 of file reductions_private.c.

223  {
224  check_reductions(p);
225  return gen_consistent_p((gen_chunk*) p);
226 }

References check_reductions(), and gen_consistent_p().

+ Here is the call graph for this function:

◆ reductions_defined_p()

bool reductions_defined_p ( reductions  p)

Definition at line 227 of file reductions_private.c.

227  {
228  return gen_defined_p((gen_chunk*) p);
229 }

References gen_defined_p().

Referenced by reductions_assign_contents().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ reductions_non_recursive_free()

void reductions_non_recursive_free ( reductions  p)

Definition at line 240 of file reductions_private.c.

240  {
241  // should clear up contents...
242  free(p);
243 }

References free().

+ Here is the call graph for this function:

◆ update_pstatement_reductions()

void update_pstatement_reductions ( pstatement_reductions  f,
statement  k,
reductions  v 
)

Definition at line 58 of file reductions_private.c.

58  {
60 }
#define HASH_UPDATE(start, image, h, k, v)
Definition: newgen_map.h:34

References f(), HASH_UPDATE, intptr_t, and pstatement_reductions_hash_table.

+ Here is the call graph for this function:

◆ write_pstatement_reductions()

void write_pstatement_reductions ( FILE *  f,
pstatement_reductions  p 
)

Definition at line 46 of file reductions_private.c.

46  {
47  gen_write(f, (gen_chunk*) p);
48 }
void gen_write(FILE *fd, gen_chunk *obj)
GEN_WRITE writes the OBJect on the stream FD.
Definition: genClib.c:1745

References f(), and gen_write().

+ Here is the call graph for this function:

◆ write_reduction()

void write_reduction ( FILE *  f,
reduction  p 
)

Definition at line 202 of file reductions_private.c.

202  {
203  gen_write(f, (gen_chunk*) p);
204 }

References f(), and gen_write().

+ Here is the call graph for this function:

◆ write_reduction_operator()

void write_reduction_operator ( FILE *  f,
reduction_operator  p 
)

Definition at line 103 of file reductions_private.c.

103  {
104  gen_write(f, (gen_chunk*) p);
105 }

References f(), and gen_write().

+ Here is the call graph for this function:

◆ write_reductions()

void write_reductions ( FILE *  f,
reductions  p 
)

Definition at line 244 of file reductions_private.c.

244  {
245  gen_write(f, (gen_chunk*) p);
246 }

References f(), and gen_write().

+ Here is the call graph for this function: