Mercurial > hg > CbC > old > device
annotate mc-codegen.h @ 320:183726ccd83d
asm minor fix. ia32 table jmp fix.
author | kono |
---|---|
date | Sat, 19 Jun 2004 00:13:36 +0900 |
parents | 117baacd1ed0 |
children | da2e3f2d127d |
rev | line source |
---|---|
144 | 1 /* for mc-codegen.c */ |
61 | 2 |
221 | 3 extern int use; /* generated value will be used in gexpr */ |
83 | 4 |
221 | 5 #define USE_CREG (-1) |
320 | 6 #define ASM_INPUT 1 |
7 #define ASM_OUTPUT 2 | |
8 #define ASM_USED 3 | |
9 #define MAX_ASM_REG 30 | |
61 | 10 |
104 | 11 /* function provided by mc-code-*.c */ |
12 | |
105 | 13 extern int get_register_var(NMTBL *); |
138 | 14 extern int get_dregister_var(NMTBL *,int); |
195 | 15 extern int get_lregister_var(NMTBL *); |
137 | 16 |
17 extern void arg_register(NMTBL *fnptr); | |
104 | 18 |
61 | 19 /* function provided by mc-codegen.c */ |
20 | |
102 | 21 extern void codegen_init(); |
22 | |
61 | 23 extern void def_label(int cslabel, int dlabel); |
24 extern int backdef(void); | |
137 | 25 extern int free_register_count(int); |
61 | 26 extern int fwdlabel(void); |
27 extern void b_expr(int e1, char cond, int l1,int err); | |
28 extern void bexpr(int e1, char cond, int l1); | |
29 extern void emit_init(void); | |
30 extern void fwddef(int l); | |
31 | |
98 | 32 extern int is_code(NMTBL *fnptr); |
33 extern int is_function(NMTBL *fnptr); | |
305
117baacd1ed0
stdarg powerpc passed except long long (macro problem)
kono
parents:
297
diff
changeset
|
34 extern int function_type(int e1,int *dots); |
277 | 35 extern void parallel_rassign(int list); |
98 | 36 |
61 | 37 extern int csvalue(); |
287 | 38 extern void cmpdimm(int e, int csreg,int label,int cond); |
61 | 39 extern void code_enter(char *name) ; |
40 extern void code_enter1(int args); | |
41 extern void code_init(void); | |
42 extern void code_leave(char *name) ; | |
43 extern void emit_data(int e, int t, NMTBL *n); | |
44 extern void emit_data_closing(NMTBL *n); | |
45 extern void emit_init(void); | |
46 extern void enter(char *name); | |
47 extern void enter1(); | |
94 | 48 extern int g_expr(int e1); |
99 | 49 extern int g_expr_u(int e1); |
61 | 50 extern void gen_comment(char *s); |
51 extern void gen_gdecl(char *n, int gpc); | |
52 extern void gen_source(char *s); | |
94 | 53 extern int gexpr(int e1,int use); |
61 | 54 extern void gexpr_init(void); |
55 extern void jmp(int l); | |
56 extern void jmp_eq_label(int l); | |
57 extern void jmp_label(int l); | |
58 extern void leave(int control, char *name); | |
59 extern void opening(char *filename); | |
66 | 60 extern void closing(); |
61 | 61 extern void ret(void); |
78 | 62 extern void creg_destroy(); |
61 | 63 |
99 | 64 extern int contains(int e,int type); |
104 | 65 extern int contains_in_list(int e,int type); |
223 | 66 extern int contains_p(int e,int (*p)(int)); |
67 extern int contains_in_list_p(int e,int (*p)(int)); | |
99 | 68 |
61 | 69 |
70 /* end */ |