#include "parm.h"
#include <stdio.h>
#include "stree/ststructs.mh"
#include "codeutil.h"
#include "pass4/sigs.h"
#include "pass3/is_local.h"
Go to the source code of this file.
Data Structures | |
struct | Fc_Entry |
Defines | |
#define | IFDEBUG(x) |
#define | UNDEF (0x87654321) |
#define | MAXOBJSZ 512 |
#define | MAX_PROD_EXP_LEN 5 |
Typedefs | |
typedef struct Fc_Entry | fc_entry |
Functions | |
boolean | mentions_r11 () |
void | type_expr () |
boolean | is_int_const () |
void | add_objfile (char *fn) |
void | fc_add (NODE *ptr, int lvl, int fast_only) |
void | fc_delete () |
Vgeneratecode (FILE *f, NODE *p) | |
Vgeneratepcode (FILE *f, NODE *q, NODE *p) | |
Vfuncconstructor (NODE *p) | |
Vfuncbody (NODE *p, int l) | |
Vexpression (NODE *p) | |
gen_special (unsigned spcl) | |
copy_r10_to_r0 (int copycnt) | |
copy_r3_to_r2 (int copycnt) | |
char * | Vspcl_to_inline (unsigned spcl) |
boolean | mentions_r11 (char *string) |
void | type_expr (NODE *re) |
Variables | |
int | yydebug |
int | yynerrs |
boolean | Pflag |
boolean | Tflag |
char * | entry_name |
char | str_code_buf [MAXSTRCODELEN] |
FILE * | objfilelist = NULL |
fc_entry * | fc_list = NIL |
int | Ventry_mask |
int | Vgc_mask |
int | Vlevel = -1 |
NODE * | Vcurrent |
FILE * | Voutfile |
#define MAX_PROD_EXP_LEN 5 |
Referenced by Gspcl_to_inline(), and Vspcl_to_inline().
void add_objfile | ( | char * | fn | ) |
void fc_add | ( | NODE * | ptr, | |
int | lvl, | |||
int | fast_only | |||
) |
Definition at line 84 of file codegen.c.
References Fc_Entry::fc_fast_only, Fc_Entry::fc_level, Fc_Entry::fc_next, Fc_Entry::fc_pointer, and malloc.
void fc_delete | ( | ) |
Definition at line 99 of file codegen.c.
References Fc_Entry::fc_next, and free.
Referenced by Vgeneratecode(), and Vgeneratepcode().
gen_special | ( | unsigned | spcl | ) |
Definition at line 912 of file codegen.c.
References dbgmsg, FALSE, FO_EP, FO_IP, FO_OBJ_SIZE, FO_SIZE, FXD_NEWOBJ, n_args, putcomment, TRUE, and Voutfile.
boolean is_int_const | ( | ) |
boolean mentions_r11 | ( | char * | string | ) |
boolean mentions_r11 | ( | ) |
void type_expr | ( | NODE * | re | ) |
void type_expr | ( | ) |
Vexpression | ( | NODE * | p | ) |
Definition at line 302 of file codegen.c.
References ASSERT, ASSERT2, calls_put(), CODE, DISPLAY, FXD_NEWOBJ, getname(), int_const_val, is_int_const(), MAXSTRLEN, NIL, ObjSize, POP, POP_DISP, PUSH, PUSH_DISP, putcomment, putcomment1, R10, sig, str_code_buf, UNDEF, v, Vappl(), Ventry_mask, Vexpression(), Vlevel, Vnewlabel(), Voutfile, and Vtraverse().
Vfuncbody | ( | NODE * | p, | |
int | l | |||
) |
Definition at line 243 of file codegen.c.
References CODE, FALSE, L0FP, L0fp, Pflag, POP, putcomment, Tflag, Vcall_mcount(), Vcurrent, Ventry_mask, Ventry_trace(), Vexit_trace(), Vexpression(), Vgc_mask, Vlevel, Vnewlabel(), and Voutfile.
Referenced by Vgeneratecode(), and Vgeneratepcode().
Vfuncconstructor | ( | NODE * | p | ) |
Definition at line 195 of file codegen.c.
References FALSE, fc_add(), FO_EP, FO_IP, FO_OBJ_SIZE, FO_SIZE, FXD_NEWOBJ, length(), n_args, PUSH, putcomment, Vlevel, and Voutfile.
Referenced by Vgeneratepcode().
Vgeneratecode | ( | FILE * | f, | |
NODE * | p | |||
) |
Definition at line 115 of file codegen.c.
References accessible(), analyze(), ASM_HEADER, bld_analyze(), FALSE, fc_add(), fc_delete(), Fc_Entry::fc_fast_only, Fc_Entry::fc_level, Fc_Entry::fc_pointer, Ffuncbody(), NIL, prtree(), TRUE, Vallocate(), Vfuncbody(), Voutfile, and yydebug.
Referenced by main().
Definition at line 148 of file codegen.c.
References accessible(), analyze(), bld_analyze(), dbgmsg, entry_name, errmsg0, fc_delete(), Fc_Entry::fc_fast_only, Fc_Entry::fc_level, Fc_Entry::fc_pointer, Ffuncbody(), NIL, ofname, prtree(), TRUE, Vallocate(), Vfuncbody(), Vfuncconstructor(), Vlevel, Voutfile, and yydebug.
Referenced by main().
char* Vspcl_to_inline | ( | unsigned | spcl | ) |
Definition at line 1097 of file codegen.c.
References malloc, MAX_PROD_EXP_LEN, NIL, str_code_buf, UNDEF, and val().
char* entry_name |
FILE* objfilelist = NULL |
char str_code_buf[MAXSTRCODELEN] |
int Ventry_mask |
Definition at line 107 of file codegen.c.
Referenced by Vappl(), Vexpression(), Vfuncbody(), and Vnewreg().
int Vgc_mask |
int Vlevel = -1 |
Definition at line 108 of file codegen.c.
Referenced by Vexpression(), Vfuncbody(), Vfuncconstructor(), Vgeneratepcode(), and Vtraverse().
int yynerrs |
Definition at line 31 of file testvertex.c.