#include "parm.h"
#include <stdio.h>
#include "stree/ststructs.mh"
#include "codeutil.h"
#include "pass3/is_local.h"
Go to the source code of this file.
Data Structures | |
struct | cf |
struct | fcs |
Defines | |
#define | DEBUG |
#define | VERBOSE |
#define | RELEVANT (NO_SL | NO_PUT | NO_CALLCC | NO_CONSTR) |
#define | IFVERBOSE(x) |
#define | setup(p) get_complexity(p, TRUE) |
#define | IS_PRIMITIVE 1 |
#define | IS_PUT 2 |
#define | IS_CALLCC 4 |
#define | SIMPLE (NO_SL | NO_PUT | NO_CALLCC | NO_CONSTR) |
Functions | |
boolean | is_selected_id (NODE *p) |
void | solve () |
void | print_fcs () |
void | free_fcs () |
analyze (NODE *p) | |
boolean | calls_put (NODE *p) |
boolean | calls_callcc (NODE *p) |
struct fcs * | new_fc (NODE *p) |
void | add_call (struct fcs *p, NODE *q) |
boolean | reeval (struct fcs *p) |
boolean | wl_has_comp (NODE *wl, NODE *id) |
NODE * | get_type_def (NODE *t, NODE *id) |
int | is_primitive (NODE *p) |
long | get_complexity (NODE *p, boolean initial) |
Variables | |
FILE * | unparse_file |
boolean | Gflag |
boolean | Vflag |
boolean | Oflag |
boolean | hflag |
boolean | Fflag |
boolean | Nflag |
boolean | finished_accessible |
struct fcs * | all_fcs |
struct fcs * | all_fcs_tail |
NODE * | whole_program |
NODE * | outer_fc = NIL |
struct fcs * | current_fcs |
#define IS_CALLCC 4 |
#define IS_PRIMITIVE 1 |
#define IS_PUT 2 |
#define RELEVANT (NO_SL | NO_PUT | NO_CALLCC | NO_CONSTR) |
#define setup | ( | p | ) | get_complexity(p, TRUE) |
#define SIMPLE (NO_SL | NO_PUT | NO_CALLCC | NO_CONSTR) |
Referenced by get_complexity().
Definition at line 157 of file analyze.c.
References cf::cf_fc, cf::cf_next, and malloc.
Referenced by get_complexity().
analyze | ( | NODE * | p | ) |
Definition at line 93 of file analyze.c.
References all_fcs, all_fcs_tail, free_fcs(), NIL, print_fcs(), setup, solve(), Vflag, and whole_program.
Referenced by Ggeneratecode(), Ggeneratepcode(), GgenerateXcode(), Vgeneratecode(), and Vgeneratepcode().
Definition at line 126 of file analyze.c.
References FALSE, get_complexity(), and Nflag.
Referenced by bld_analyze().
Definition at line 119 of file analyze.c.
References FALSE, and get_complexity().
Referenced by accessible(), eval_decl(), Gappl(), Garg_expression(), Gexpression(), Gheap_expression(), Vappl(), and Vexpression().
void free_fcs | ( | ) |
Definition at line 245 of file analyze.c.
References all_fcs, cf::cf_next, fcs::fcs_called, free, and NIL.
Referenced by analyze().
Definition at line 522 of file analyze.c.
References add_call(), ASSERT, fcs::fcs_fc, Fflag, finished_accessible, getname(), Gflag, IS_CALLCC, is_descendant, is_id(), is_int_const(), is_local, IS_PRIMITIVE, is_primitive(), IS_PUT, is_selected_id(), NIL, Oflag, outer_fc, SIMPLE, TRUE, unparse(), unparse_file, and v.
Referenced by calls_callcc(), and calls_put().
Definition at line 295 of file analyze.c.
References NIL, unparse(), unparse_file, and wl_has_comp().
Referenced by is_primitive().
int is_primitive | ( | NODE * | p | ) |
Definition at line 397 of file analyze.c.
References dbgmsg, get_type_def(), indx_put, IS_CALLCC, IS_PRIMITIVE, IS_PUT, NIL, and whole_program.
Referenced by get_complexity().
Definition at line 138 of file analyze.c.
References all_fcs, all_fcs_tail, fcs::fcs_called, fcs::fcs_fc, fcs::fcs_next, malloc, and NIL.
void print_fcs | ( | ) |
Definition at line 170 of file analyze.c.
References cf::cf_fc, cf::cf_next, finished_accessible, Gflag, NIL, and RELEVANT.
Referenced by solve().
void solve | ( | ) |
Referenced by analyze(), free_fcs(), new_fc(), print_fcs(), and solve().
struct fcs * all_fcs_tail |
struct fcs* current_fcs |
Definition at line 131 of file codegen.c.
Referenced by get_complexity(), Ggeneratecode(), Ggeneratepcode(), GgenerateXcode(), and reeval().
Definition at line 7 of file extract_sig.c.
FILE* unparse_file |
Definition at line 6 of file extract_sig.c.