61
|
1 /* function required by mc-codegen.c
|
|
2 mc-code-*.c have to provied these
|
|
3 */
|
|
4
|
|
5 extern char *register_name(int i,int byte);
|
|
6 extern void gexpr_code_init(void);
|
|
7 extern int register_var(int r);
|
|
8 extern int get_register_var(void);
|
|
9 extern void use_data_reg(int virt, int move);
|
|
10 extern void emit_push(void);
|
|
11 extern void emit_push_x(int xreg);
|
|
12 extern int emit_pop(int type);
|
|
13 extern void gexpr_code_init();
|
|
14 extern void code_gvar(int e1);
|
|
15 extern void code_rgvar(int e1);
|
|
16 extern void code_crgvar(int e1);
|
|
17 extern void code_lvar(int e2);
|
|
18 extern void code_register(int e2);
|
|
19 extern void code_rlvar(int e2);
|
|
20 extern void code_crlvar(int e2);
|
|
21 extern void code_fname(char *e2);
|
|
22 extern void code_const(int e2);
|
|
23 extern void code_neg();
|
|
24 extern void code_not();
|
|
25 extern void code_lnot();
|
|
26 extern void code_preinc(int e1,int e2);
|
|
27 extern void code_postinc(int e1,int e2);
|
|
28 extern void code_cpostinc(int e1,int e2);
|
|
29 extern void code_cpreinc(int e1,int e2);
|
|
30 extern void code_cpostdec(int e1,int e2);
|
|
31 extern void code_cpredec(int e1,int e2);
|
|
32 extern void code_return();
|
|
33 extern void code_environment();
|
|
34 extern void code_bool(int e1);
|
|
35 extern char *code_gt(int cond);
|
|
36 extern char *code_ugt(int cond);
|
|
37 extern char *code_ge(int cond);
|
|
38 extern char *code_uge(int cond);
|
|
39 extern char *code_eq(int cond);
|
|
40 extern void code_cmp_crgvar(int e1);
|
|
41 extern void code_cmp_crlvar(int e1);
|
|
42 extern void code_cmp_rgvar(int e1);
|
|
43 extern void code_cmp_rlvar(int e1);
|
|
44 extern void code_cmp_register(int e2);
|
|
45 extern void string(int e1);
|
|
46 extern void emit_copy(int from,int to,int length,int offset,int value,int det);
|
|
47 extern void function(int e1);
|
|
48 extern void code_frame_pointer(int e3);
|
|
49 extern void code_fix_frame_pointer(int disp_offset);
|
|
50 extern void code_jmp(char *s);
|
|
51 extern void code_indirect_jmp(int e2);
|
|
52 extern void rindirect(int e1);
|
|
53 extern void code_assign_gvar(int e2,int byte);
|
|
54 extern void code_assign_lvar(int e2,int byte);
|
|
55 extern void code_assign_register(int e2,int byte);
|
|
56 extern void code_assign(int e2,int byte);
|
|
57 extern void code_register_assop(int e2,int op,int byte);
|
|
58 extern void code_assop(int op,int byte);
|
|
59 extern void tosop(int op,int oreg);
|
66
|
60 extern void code_opening(char *filename);
|
|
61 extern void code_closing();
|
61
|
62 extern void rexpr(int e1, int l1, char *s);
|
82
|
63 extern void drexpr(int e1, int e2,int l1, int op);
|
61
|
64 extern void jcond(int l, char cond);
|
|
65 extern void jmp(int l);
|
|
66 extern void code_set_fixed_creg(int mode);
|
|
67 extern void text_mode(void);
|
66
|
68 extern void global_table(void);
|
61
|
69 extern int lvar(int l);
|
|
70
|
81
|
71 /* floating point part */
|
|
72
|
|
73 extern int dpop_register();
|
|
74 extern int emit_dpop(int);
|
|
75 extern void code_cmp_drgvar(int);
|
|
76 extern void code_cmp_drlvar(int);
|
|
77 extern void code_dassign(int,int);
|
|
78 extern void code_dassign_gvar(int,int);
|
|
79 extern void code_dassign_lvar(int,int);
|
|
80 extern void code_dconst(int);
|
|
81 extern void code_dneg();
|
82
|
82 extern void code_drgvar(int,int);
|
|
83 extern void code_drlvar(int,int);
|
81
|
84 extern void dtosop(int,int);
|
|
85 extern void emit_dpop_free(int);
|
|
86 extern void emit_dpush();
|
82
|
87 extern void code_i2d();
|
|
88 extern void code_d2i();
|
81
|
89
|