PIPS
operators.c File Reference
#include "all.h"
+ Include dependency graph for operators.c:

Go to the source code of this file.

Functions

comp_desc InitCompDesc (reference ref, tag ReadWrite)
 Only the Hull needs to be initialsed. More...
 
comp_sec CompUnion (comp_sec __attribute__((unused)) cs1, comp_sec __attribute__((unused)) cs2)
 The multidimensional union of two complementary sections performed on a 2-d basis. More...
 
bool CompIntersection (comp_sec __attribute__((unused)) cs1, comp_sec __attribute__((unused)) cs2)
 

Function Documentation

◆ CompIntersection()

bool CompIntersection ( comp_sec __attribute__((unused))  cs1,
comp_sec __attribute__((unused))  cs2 
)

Definition at line 92 of file operators.c.

94 {
95  return false;
96 }

◆ CompUnion()

comp_sec CompUnion ( comp_sec __attribute__((unused))  cs1,
comp_sec __attribute__((unused))  cs2 
)

The multidimensional union of two complementary sections performed on a 2-d basis.

insert a debug

Definition at line 76 of file operators.c.

78 {
80  unsigned int i;
81  unsigned int Rank = 0;
82  unsigned int NoOfImages = (Rank*Rank)/2;
83 
84  for (i = 0; i < NoOfImages; i++) {
85  }
86  /* insert a debug */
87 
88  return(result);
89 }
#define comp_sec_undefined
Definition: compsec.h:223

References comp_sec_undefined.

◆ InitCompDesc()

comp_desc InitCompDesc ( reference  ref,
tag  ReadWrite 
)

Only the Hull needs to be initialsed.

operators.c

precondition : this function should be called for array varaibles only

{{ code

{{ inits

}}

{{ code

}}

}}

Parameters
refef
ReadWriteeadWrite

Definition at line 30 of file operators.c.

31 {
32  /* precondition : this function should be called
33  for array varaibles only
34  */
35 
36  /*{{{ code*/
37  /*{{{ inits*/
38  comp_desc Descriptor;
39  simple_section Hull;
40  reference DupRef;
41  entity e;
42  action DupAct;
43  comp_sec DupSec;
44  /*}}}*/
45 
46  pips_debug(3, "begin\n");
47  DupRef = copy_reference(ref);
48 
49  e = reference_variable(DupRef);
50 
51  /*{{{ code*/
52  if (entity_scalar_p(e)) {
53  pips_debug(1, "InitCompDesc : scalar variable encountered \n ");
54  return NULL;
55  }
56 
57  pips_debug(3, "InitCompDesc : Array entity name %s \n ",func_entity_name(e) );
58 
59  Hull = AllocateSimpleSection(DupRef);
60  DupAct = make_action(ReadWrite, UU);
61  DupSec = make_comp_sec(Hull, NIL);
62  Descriptor = make_comp_desc (DupRef, DupAct, DupSec) ;
63  /*}}}*/
64  pips_debug(3, "end\n");
65 
66  return(Descriptor);
67  /*}}}*/
68 }
comp_desc make_comp_desc(reference a1, action a2, comp_sec a3)
Definition: compsec.c:96
comp_sec make_comp_sec(simple_section a1, list a2)
Definition: compsec.c:180
action make_action(enum action_utype tag, void *val)
Definition: effects.c:120
reference copy_reference(reference p)
REFERENCE.
Definition: ri.c:2047
static reference ref
Current stmt (an integer)
Definition: adg_read_paf.c:163
simple_section AllocateSimpleSection(reference)
Definition: ss.c:467
char * func_entity_name(entity)
#define NIL
The empty list (nil in Lisp)
Definition: newgen_list.h:47
#define pips_debug
these macros use the GNU extensions that allow variadic macros, including with an empty list.
Definition: misc-local.h:145
#define UU
Definition: newgen_types.h:98
bool entity_scalar_p(entity)
The concrete type of e is a scalar type.
Definition: variable.c:1113
#define reference_variable(x)
Definition: ri.h:2326

References AllocateSimpleSection(), copy_reference(), entity_scalar_p(), func_entity_name(), make_action(), make_comp_desc(), make_comp_sec(), NIL, pips_debug, ref, reference_variable, and UU.

Referenced by comp_regions_of_read(), and comp_regions_of_write().

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