FreeBASIC  0.91.0
emit-private.bi
Go to the documentation of this file.
1 const COMMA = ", "
2 
4  rnametb as integer
5  mname as zstring * 11+1
6 end type
7 
8 extern dtypeTB(0 to FB_DATATYPES-1) as EMITDATATYPE
9 
10 const EMIT_MEMBLOCK_MAXLEN = 16 '' when to use memblk clear/move (needed by AST)
11 
13 const EMIT_MAXRTABLES = 4 '' 8-bit, 16-bit, 32-bit, fpoint
14 
15 const EMIT_LOCSTART = 0
16 const EMIT_ARGSTART = 4 + 4 '' skip return address + saved ebp
17 
27 
36 end enum
37 
38 declare sub hPrepOperand _
39  ( _
40  byval vreg as IRVREG ptr, _
41  byref operand as string, _
42  byval dtype as FB_DATATYPE = FB_DATATYPE_INVALID, _
43  byval ofs as integer = 0, _
44  byval isaux as integer = FALSE, _
45  byval addprefix as integer = TRUE _
46  )
47 
48 declare sub hPrepOperand64 _
49  ( _
50  byval vreg as IRVREG ptr, _
51  byref operand1 as string, _
52  byref operand2 as string _
53  )
54 
55 
56 declare sub hPUSH _
57  ( _
58  byval rname as zstring ptr _
59  )
60 
61 declare sub hPOP _
62  ( _
63  byval rname as zstring ptr _
64  )
65 
66 
67 declare function hFindRegNotInVreg _
68  ( _
69  byval vreg as IRVREG ptr, _
70  byval noSIDI as integer = FALSE _
71  ) as integer
72 
73 declare function hFindFreeReg( byval dclass as integer ) as integer
74 
75 declare function hIsRegFree _
76  ( _
77  byval dclass as integer, _
78  byval reg as integer _
79  ) as integer
80 
81 declare function hIsRegInVreg _
82  ( _
83  byval vreg as IRVREG ptr, _
84  byval reg as integer _
85  ) as integer
86 
87 declare function hGetRegName _
88  ( _
89  byval dtype as integer, _
90  byval reg as integer _
91  ) as zstring ptr
92 
93 declare sub outp _
94  ( _
95  byval s as zstring ptr _
96  )
97 
98 declare sub hLABEL _
99  ( _
100  byval label as zstring ptr _
101  )
102 
103 declare sub hBRANCH _
104  ( _
105  byval mnemonic as zstring ptr, _
106  byval label as zstring ptr _
107  )
108 
109 declare sub hMOV _
110  ( _
111  byval dname as zstring ptr, _
112  byval sname as zstring ptr _
113  )
114 
115 declare function _init_opFnTB_SSE _
116  ( _
117  byval _opFnTB_SSE as any ptr ptr _
118  ) as integer
119