Commit 70877dc5 authored by Florian Liekweg's avatar Florian Liekweg
Browse files

Factor out call_info_t ctor; fix mallocs; fix initialisation

[r4910]
parent 7fd33197
......@@ -82,7 +82,7 @@ void set_main_ctx (ctx_info_t*);
==================== */
static void append_alloc (graph_info_t *ginfo, ir_node *alloc, type *tp)
{
alloc_info_t *ainfo = (alloc_info_t*) xmalloc (sizeof (alloc_info_t));
alloc_info_t *ainfo = xmalloc (sizeof (alloc_info_t));
ainfo->graph = ginfo->graph;
ainfo->alloc = alloc;
......@@ -96,12 +96,29 @@ static void append_alloc (graph_info_t *ginfo, ir_node *alloc, type *tp)
/* ====================
CallEd stuff
==================== */
/**
Create a new call info struct from the given values.
*/
static call_info_t *new_call_info (ir_node *call,
callEd_info_t *callEds,
call_info_t *prev)
{
call_info_t *cinfo = xmalloc (sizeof (call_info_t));
cinfo->call = call;
cinfo->callEds = callEds;
cinfo->prev = prev;
return (cinfo);
}
/**
Append the given callEd to the given callEd info.
*/
static callEd_info_t *append_callEd_info (callEd_info_t *ced, ir_graph *callEd)
{
callEd_info_t *nced = (callEd_info_t*) xmalloc (sizeof (callEd_info_t));
callEd_info_t *nced = xmalloc (sizeof (callEd_info_t));
assert (NULL != callEd);
nced->callEd = callEd;
nced->prev = ced;
......@@ -114,14 +131,10 @@ static callEd_info_t *append_callEd_info (callEd_info_t *ced, ir_graph *callEd)
*/
static void append_calls (graph_info_t *info, ir_node *call, lset_t *callEds)
{
call_info_t *cinfo = (call_info_t*) xmalloc (sizeof (call_info_t));
ir_graph *callEd;
ir_graph *callEd = NULL;
call_info_t *cinfo = new_call_info (call, NULL, info->calls);
/* setup */
cinfo->call = call;
cinfo->prev = info->calls;
info->calls = cinfo;
cinfo->callEds = NULL;
/* enter */
callEd = lset_first (callEds);
......@@ -138,10 +151,8 @@ static void append_calls (graph_info_t *info, ir_node *call, lset_t *callEds)
*/
static void append_call (graph_info_t *info, ir_node *call, ir_graph *callEd)
{
call_info_t *cinfo = (call_info_t*) xmalloc (sizeof (call_info_t));
call_info_t *cinfo = new_call_info (call, NULL, info->calls);
cinfo->call = call;
cinfo->prev = info->calls;
info->calls = cinfo;
cinfo->callEds = append_callEd_info (cinfo->callEds, callEd);
......@@ -352,17 +363,19 @@ static void ecg_calls_act (ir_node *node, void *env)
*/
static void ecg_fill_graph_calls (ir_graph *graph)
{
graph_info_t *ginfo = (graph_info_t*) xmalloc (sizeof (graph_info_t));
graph_info_t *ginfo = xmalloc (sizeof (graph_info_t));
/* memset (ginfo, 0x00, sizeof (graph_info_t)); */
assert (ginfo != graph_infos_list);
ginfo->graph = graph;
ginfo->calls = NULL;
ginfo->ecg_seen = 0;
ginfo->ctxs = NULL;
ginfo->n_ctxs = 0;
ginfo->prev = NULL;
ginfo->graph = graph;
ginfo->calls = NULL;
ginfo->allocs = NULL;
ginfo->ctxs = NULL;
ginfo->n_ctxs = 0;
ginfo->ecg_seen = 0;
ginfo->allocs_seen = 0;
ginfo->prev = NULL;
/* link up into global list */
ginfo->prev = graph_infos_list;
......@@ -394,7 +407,7 @@ static void ecg_fill_calls (void)
*/
static ctx_info_t *new_ctx (ir_graph *graph, ir_node *call, ctx_info_t *enc)
{
ctx_info_t *res = (ctx_info_t *) xmalloc (sizeof (ctx_info_t));
ctx_info_t *res = xmalloc (sizeof (ctx_info_t));
res->graph = graph;
res->call = call;
......@@ -447,7 +460,7 @@ static void ecg_fill_ctxs_alloc (void)
graph_info_t *ginfo = graph_infos_list;
while (NULL != ginfo) {
ginfo->ctxs = (ctx_info_t **) xcalloc (ginfo->n_ctxs, sizeof (ctx_info_t *));
ginfo->ctxs = xcalloc (ginfo->n_ctxs, sizeof (ctx_info_t *));
/*
fprintf (stdout, "graph of \"%s\": n_ctxs = %i\n",
......@@ -519,7 +532,7 @@ static void ecg_fill_ctxs (void)
/* Grrr, have to add this ctx manually to main.ginfo ... */
ginfo = ecg_get_info (main_irg);
ginfo->n_ctxs = 1;
ginfo->ctxs = (ctx_info_t **) xcalloc (1, sizeof (ctx_info_t *));
ginfo->ctxs = xcalloc (1, sizeof (ctx_info_t *));
ginfo->ctxs [0] = main_ctx;
ecg_fill_ctxs_write (main_irg, main_ctx);
......@@ -1180,6 +1193,9 @@ void ecg_ecg (void)
/*
$Log$
Revision 1.17 2005/01/14 13:34:25 liekweg
Factor out call_info_t ctor; fix mallocs; fix initialisation
Revision 1.16 2005/01/10 17:26:34 liekweg
fixup printfs, don't put environments on the stack
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment