#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.
1.5.4