C:/Users/Dennis/src/lang/russell.orig/src/pass5d/sl_analyze.c File Reference

#include "parm.h"
#include <stdio.h>
#include "stree/ststructs.mh"
#include "pass3/is_local.h"
#include "codegen.h"

Go to the source code of this file.

Data Structures

struct  constr_list
struct  adj_list

Defines

#define DEBUG
#define TRACE
#define cl_nil   ((struct constr_list *)0)
#define adj_nil   ((struct adj_list *)0)
#define HSIZE   317
#define hash(p)   (((int)p) % HSIZE)

Functions

void adj_free (struct adj_list *p)
struct adj_listfind_adj (NODE *i)
void sl_dep_add (NODE *i, NODE *j)
 sl_mark_reachable (NODE *i)
void sl_solve ()
void process_global (int i)
void cond_process_global (int i, NODE *fc)
 sl_analyze (NODE *p)
 cond_sl_analyze1 (NODE *p, boolean needed)
 sl_analyze1 (NODE *p)

Variables

FILE * unparse_file
boolean Vflag
static int nestlevel
static NODEcurrent_blk
static NODEcurrent_fc
struct adj_listsl_deps [HSIZE]


Define Documentation

#define adj_nil   ((struct adj_list *)0)

Definition at line 46 of file sl_analyze.c.

Referenced by find_adj(), and sl_solve().

#define cl_nil   ((struct constr_list *)0)

Definition at line 37 of file sl_analyze.c.

Referenced by adj_free(), find_adj(), and sl_mark_reachable().

#define DEBUG

Definition at line 1 of file sl_analyze.c.

#define hash (  )     (((int)p) % HSIZE)

Definition at line 50 of file sl_analyze.c.

#define HSIZE   317

Definition at line 49 of file sl_analyze.c.

Referenced by sl_solve().

#define TRACE

Definition at line 3 of file sl_analyze.c.


Function Documentation

void adj_free ( struct adj_list p  ) 

Definition at line 55 of file sl_analyze.c.

References constr_list::cl_next, cl_nil, and free.

Referenced by sl_solve().

void cond_process_global ( int  i,
NODE fc 
)

Definition at line 188 of file sl_analyze.c.

References current_blk, current_fc, nestlevel, process_global(), and sl_dep_add().

cond_sl_analyze1 ( NODE p,
boolean  needed 
)

Definition at line 223 of file sl_analyze.c.

References is_id(), and sl_analyze1().

struct adj_list* find_adj ( NODE i  )  [read]

Definition at line 68 of file sl_analyze.c.

References adj_list::adj_dests, adj_list::adj_next, adj_nil, adj_list::adj_source, cl_nil, hash, and malloc.

Referenced by sl_dep_add(), and sl_mark_reachable().

void process_global ( int  i  ) 

Definition at line 159 of file sl_analyze.c.

References current_blk, dbgmsg, and nestlevel.

Referenced by cond_process_global(), and sl_analyze1().

sl_analyze ( NODE p  ) 

Definition at line 214 of file sl_analyze.c.

References sl_analyze1(), and sl_solve().

Referenced by Ggeneratecode(), Ggeneratepcode(), and GgenerateXcode().

sl_analyze1 ( NODE p  ) 

Definition at line 234 of file sl_analyze.c.

References ASSERT, current_blk, nestlevel, NIL, process_global(), unparse(), unparse_file, and v.

Referenced by cond_sl_analyze1(), and sl_analyze().

void sl_dep_add ( NODE i,
NODE j 
)

Definition at line 87 of file sl_analyze.c.

References constr_list::cl_constr, constr_list::cl_next, find_adj(), and malloc.

Referenced by cond_process_global().

sl_mark_reachable ( NODE i  ) 

Definition at line 99 of file sl_analyze.c.

References constr_list::cl_constr, constr_list::cl_next, cl_nil, dbgmsg, and find_adj().

Referenced by sl_solve().

void sl_solve (  ) 

Definition at line 131 of file sl_analyze.c.

References adj_free(), adj_nil, HSIZE, and sl_mark_reachable().

Referenced by sl_analyze().


Variable Documentation

NODE* current_blk [static]

Definition at line 22 of file sl_analyze.c.

Referenced by cond_process_global(), process_global(), and sl_analyze1().

NODE* current_fc [static]

Definition at line 26 of file sl_analyze.c.

int nestlevel [static]

Definition at line 20 of file sl_analyze.c.

struct adj_list* sl_deps[HSIZE]

Definition at line 52 of file sl_analyze.c.

FILE* unparse_file

Definition at line 6 of file unparse.c.

boolean Vflag

Definition at line 6 of file extract_sig.c.


Generated on Fri Jan 25 10:39:50 2008 for russell by  doxygen 1.5.4