File: SideEffects.d

package info (click to toggle)
oo2c32 1.5.4-1
  • links: PTS
  • area: main
  • in suites: woody
  • size: 8,888 kB
  • ctags: 5,436
  • sloc: ansic: 95,310; sh: 473; makefile: 345; perl: 57; lisp: 20
file content (201 lines) | stat: -rw-r--r-- 6,777 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
/* file generated by oo2c -- do not edit */
#include "SideEffects.h"
#include "Attributes.h"
#include "Opcode.h"
#include "SymbolTable.h"

/* local definitions */
typedef struct SideEffects__InfoListDesc {
  struct SideEffects__InfoListDesc* next;
  struct SideEffects__ProcInfoDesc* info;
} SideEffects__InfoListDesc;
typedef struct SideEffects__InfoListDesc* SideEffects__InfoList;
typedef struct SideEffects__ProcInfoDesc {
  struct SideEffects__ProcInfoDesc* next;
  struct SideEffects__ProcInfoDesc* nextWorklist;
  Data__GlobalRegion greg;
  Data__Instruction enter;
  Data__Instruction exit;
  unsigned int flags;
  SideEffects__InfoList callerList;
  Data__Result enterPtr;
  Data__Opnd exitPtr;
  Data__Info oldInfo;
} SideEffects__ProcInfoDesc;
typedef struct SideEffects__ProcInfoDesc* SideEffects__ProcInfo;
typedef struct SideEffects__CallInfoDesc {
  Data__Object caller;
  Data__Object callee;
  Data__Opnd memIn;
  Data__Result memOut;
  Data__Opnd storeIn;
  Data__Result storeOut;
  unsigned int flags;
  Data__Result savedResults;
  Data__Opnd savedOpnds;
} SideEffects__CallInfoDesc;
typedef struct SideEffects__CallInfoDesc* SideEffects__CallInfo;
static SideEffects__ProcInfo SideEffects__gregList;

/* function prototypes */
void SideEffects__Append(SideEffects__InfoList *list, SideEffects__ProcInfo info);
unsigned char SideEffects__Adjust_RegisteredCall(Data__Instruction instr);
SideEffects__CallInfo SideEffects__Adjust_ExamineInstructions_GetCallInfo(Data__Instruction call);
void SideEffects__Adjust_ExamineInstructions(SideEffects__ProcInfo i, Data__Region r);
void SideEffects__Adjust_PropagateSideEffects_AddToWorklist(SideEffects__ProcInfo caller, Data__Result enterPtr, Data__Opnd exitPtr, SideEffects__ProcInfo *SideEffects__Adjust_PropagateSideEffects_worklist);
void SideEffects__Adjust_PropagateSideEffects_AddSideEffect(SideEffects__ProcInfo caller, Data__Addressable var, short int attrib, Data__Opnd *SideEffects__Adjust_PropagateSideEffects_newOpnd, SideEffects__ProcInfo *SideEffects__Adjust_PropagateSideEffects_worklist);
Data__Addressable SideEffects__Adjust_PropagateSideEffects_GetDesignatorBase(Data__Usable u);
void SideEffects__Adjust_PropagateSideEffects(Data__Opnd *SideEffects__Adjust_use);
void SideEffects__Adjust_PropagateMem(void);
unsigned char SideEffects__Adjust_AdjustGSA_SameLocation(Data__Location a, Data__Location b);
Data__Result SideEffects__Adjust_AdjustGSA_Address(Data__Region region, Data__Addressable var, int pos);
void SideEffects__Adjust_AdjustGSA_AdjustResults_UpdateVar(Data__Object var, Data__Usable value, SideEffects__CallInfo *SideEffects__Adjust_AdjustGSA_AdjustResults_cinfo, Data__Instruction *SideEffects__Adjust_AdjustGSA_AdjustResults_call);
Data__Object SideEffects__Adjust_AdjustGSA_AdjustResults_LocalVarAdr(Data__Usable u);
void SideEffects__Adjust_AdjustGSA_AdjustResults_UpdateDesignator(Data__Instruction access, Data__Usable value, Data__Instruction *SideEffects__Adjust_AdjustGSA_AdjustResults_call, SideEffects__CallInfo *SideEffects__Adjust_AdjustGSA_AdjustResults_cinfo);
unsigned char SideEffects__Adjust_AdjustGSA_AdjustResults_LocalVar(Data__SymLocation l, Data__Object proc);
Data__SymLocation SideEffects__Adjust_AdjustGSA_AdjustResults_GetSymLoc(Data__Addressable var, Data__GlobalRegion greg);
unsigned char SideEffects__Adjust_AdjustGSA_AdjustResults_IsResult(Data__Opnd opnd);
unsigned char SideEffects__Adjust_AdjustGSA_AdjustResults_IsFormalParam(Data__Object callee, Data__SymLocation loc);
void SideEffects__Adjust_AdjustGSA_AdjustResults(Data__Instruction call, SideEffects__CallInfo cinfo, SideEffects__ProcInfo *SideEffects__Adjust_AdjustGSA_i);
Data__Result SideEffects__Adjust_AdjustGSA_GetFinalStore(Data__Region r, Data__Result *SideEffects__Adjust_AdjustGSA_store);
void SideEffects__Adjust_AdjustGSA_SetExitOpnd(Data__Instruction exit, Data__Opnd opnd, Data__Result store);
void SideEffects__Adjust_AdjustGSA_AdjustOperands(Data__Instruction call, SideEffects__CallInfo cinfo, SideEffects__ProcInfo *SideEffects__Adjust_AdjustGSA_i, Data__Opnd *SideEffects__Adjust_AdjustGSA_opnd, Data__Result *SideEffects__Adjust_AdjustGSA_res);
void SideEffects__Adjust_AdjustGSA(SideEffects__ProcInfo i);
void SideEffects__Adjust_RestoreLists(SideEffects__ProcInfo callee, Data__Instruction call);

/* module and type descriptors */
static const struct {
  int length;
  void* pad;
  const char name[12];
} _n0 = {12, NULL, {"SideEffects"}};
static struct _MD SideEffects_md = {
  NULL, 
  &Kernel__ModuleDesc_td.td, 
  {
    NULL, 
    (const unsigned char*)_n0.name, 
    -1, 
    NULL
  }
};

static const struct {
  int length;
  void* pad;
  const char name[13];
} _n1 = {13, NULL, {"ProcInfoDesc"}};
static const struct {
  int length;
  void* pad;
  _Type btypes[2];
} SideEffects__ProcInfoDesc_tdb = {
  2, 
  NULL, 
  {
    &Data__InfoDesc_td.td, 
    &SideEffects__ProcInfoDesc_td.td
  }
};
static const struct {
  int length;
  void* pad;
  const void* tbprocs[1];
} _tb0 = {0, NULL, {
  NULL
}};
struct _TD SideEffects__ProcInfoDesc_td = {
  NULL,
  &Types__TypeDesc_td.td,
  {
    SideEffects__ProcInfoDesc_tdb.btypes,
    _tb0.tbprocs,
    (const unsigned char*)_n1.name,
    &SideEffects_md.md,
    1, 
    '0', '1',
    sizeof(SideEffects__ProcInfoDesc),
    NULL
  }
};

static const struct {
  int length;
  void* pad;
  const char name[13];
} _n2 = {13, NULL, {"InfoListDesc"}};
static const struct {
  int length;
  void* pad;
  _Type btypes[1];
} SideEffects__InfoListDesc_tdb = {
  1, 
  NULL, 
  {
    &SideEffects__InfoListDesc_td.td
  }
};
static const struct {
  int length;
  void* pad;
  const void* tbprocs[1];
} _tb1 = {0, NULL, {
  NULL
}};
struct _TD SideEffects__InfoListDesc_td = {
  NULL,
  &Types__TypeDesc_td.td,
  {
    SideEffects__InfoListDesc_tdb.btypes,
    _tb1.tbprocs,
    (const unsigned char*)_n2.name,
    &SideEffects_md.md,
    0, 
    '0', '1',
    sizeof(SideEffects__InfoListDesc),
    &SideEffects__ProcInfoDesc_td.td
  }
};

static const struct {
  int length;
  void* pad;
  const char name[13];
} _n3 = {13, NULL, {"CallInfoDesc"}};
static const struct {
  int length;
  void* pad;
  _Type btypes[2];
} SideEffects__CallInfoDesc_tdb = {
  2, 
  NULL, 
  {
    &Data__InfoDesc_td.td, 
    &SideEffects__CallInfoDesc_td.td
  }
};
static const struct {
  int length;
  void* pad;
  const void* tbprocs[1];
} _tb2 = {0, NULL, {
  NULL
}};
struct _TD SideEffects__CallInfoDesc_td = {
  NULL,
  &Types__TypeDesc_td.td,
  {
    SideEffects__CallInfoDesc_tdb.btypes,
    _tb2.tbprocs,
    (const unsigned char*)_n3.name,
    &SideEffects_md.md,
    1, 
    '0', '1',
    sizeof(SideEffects__CallInfoDesc),
    &SideEffects__InfoListDesc_td.td
  }
};

/* local strings */
static const unsigned char _c0[] = "$result";