FreeBASIC  0.91.0
ir.bi File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  IRTACVREG
 
class  IRTACVREG_GRP
 
class  IRTAC
 
class  IRVREG
 
class  IR_VTBL
 
class  IRCTX
 

Macros

#define __IR_BI__
 
#define irGetOption(op)   /* ((ir.options and op) <> 0) */
 
#define irSetOption(op)   /* ir.options or= op */
 
#define irGetOptionValue(opt)   /* ir.vtbl.getOptionValue( opt ) */
 
#define irAllocVreg(dtype, stype)   /* ir.vtbl.allocVreg( dtype, stype ) */
 
#define irSetVregDataType(v, dtype, stype)   /* ir.vtbl.setVregDataType( v, dtype, stype ) */
 
#define irAllocVrImm(dtype, stype, value)   /* ir.vtbl.allocVrImm( dtype, stype, value ) */
 
#define irAllocVrImmF(dtype, stype, value)   /* ir.vtbl.allocVrImmF( dtype, stype, value ) */
 
#define irAllocVrVar(dtype, stype, sym, ofs)   /* ir.vtbl.allocVrVar( dtype, stype, sym, ofs ) */
 
#define irAllocVrIdx(dtype, stype, sym, ofs, mult, vidx)   /* ir.vtbl.allocVrIdx( dtype, stype, sym, ofs, mult, vidx ) */
 
#define irAllocVrPtr(dtype, stype, ofs, vidx)   /* ir.vtbl.allocVrPtr( dtype, stype, ofs, vidx ) */
 
#define irAllocVrOfs(dtype, stype, sym, ofs)   /* ir.vtbl.allocVrOfs( dtype, stype, sym, ofs ) */
 
#define irProcBegin(proc)   /* ir.vtbl.procBegin( proc ) */
 
#define irProcEnd(proc)   /* ir.vtbl.procEnd( proc ) */
 
#define irScopeBegin(s)   /* ir.vtbl.scopeBegin( s ) */
 
#define irScopeEnd(s)   /* ir.vtbl.scopeEnd( s ) */
 
#define irProcAllocArg(proc, s)   /* ir.vtbl.procAllocArg( proc, s ) */
 
#define irProcAllocLocal(proc, s)   /* ir.vtbl.procAllocLocal( proc, s ) */
 
#define irProcAllocStaticVars(head_sym)   /* ir.vtbl.procAllocStaticVars( head_sym ) */
 
#define irProcGetFrameRegName()   /* ir.vtbl.procGetFrameRegName( ) */
 
#define irEmitBegin()   /* ir.vtbl.emitBegin( ) */
 
#define irEmitEnd(tottime)   /* ir.vtbl.emitEnd( tottime ) */
 
#define irEmitPROCBEGIN(proc, initlabel)   /* ir.vtbl.emitProcBegin( proc, initlabel ) */
 
#define irEmitPROCEND(proc, initlabel, exitlabel)   /* ir.vtbl.emitProcEnd( proc, initlabel, exitlabel ) */
 
#define irEmitVARINIBEGIN(sym)   /* ir.vtbl.emitVarIniBegin( sym ) */
 
#define irEmitVARINIEND(sym)   /* ir.vtbl.emitVarIniEnd( sym ) */
 
#define irEmitVARINIi(sym, value)   /* ir.vtbl.emitVarIniI( sym, value ) */
 
#define irEmitVARINIf(sym, value)   /* ir.vtbl.emitVarIniF( sym, value ) */
 
#define irEmitVARINIOFS(sym, ofs)   /* ir.vtbl.emitVarIniOfs( sym, ofs ) */
 
#define irEmitVARINISTR(totlgt, litstr, litlgt)   /* ir.vtbl.emitVarIniStr( totlgt, litstr, litlgt ) */
 
#define irEmitVARINIWSTR(totlgt, litstr, litlgt)   /* ir.vtbl.emitVarIniWstr( totlgt, litstr, litlgt ) */
 
#define irEmitVARINIPAD(bytes)   /* ir.vtbl.emitVarIniPad( bytes ) */
 
#define irEmitVARINISCOPEBEGIN()   /* ir.vtbl.emitVarIniScopeBegin( ) */
 
#define irEmitVARINISCOPEEND()   /* ir.vtbl.emitVarIniScopeEnd( ) */
 
#define irEmitFBCTINFBEGIN()   /* ir.vtbl.emitFbctinfBegin( ) */
 
#define irEmitFBCTINFSTRING(s)   /* ir.vtbl.emitFbctinfString( s ) */
 
#define irEmitFBCTINFEND()   /* ir.vtbl.emitFbctinfEnd( ) */
 
#define irEmitCONVERT(v1, v2)   /* ir.vtbl.emitConvert( v1, v2 ) */
 
#define irEmitLABEL(label)   /* ir.vtbl.emitLabel( label ) */
 
#define irEmitRETURN(bytestopop)   /* ir.vtbl.emitReturn( bytestopop ) */
 
#define irEmitPUSHARG(param, vr, plen, level)   /* ir.vtbl.emitPushArg( param, vr, plen, level ) */
 
#define irEmitAsmBegin()   /* ir.vtbl.emitAsmBegin( ) */
 
#define irEmitAsmText(text)   /* ir.vtbl.emitAsmText( text ) */
 
#define irEmitAsmSymb(sym)   /* ir.vtbl.emitAsmSymb( sym ) */
 
#define irEmitAsmEnd()   /* ir.vtbl.emitAsmEnd( ) */
 
#define irEmitCOMMENT(text)   /* ir.vtbl.emitComment( text ) */
 
#define irEmitJMPTB(v1, tbsym, values, labels, labelcount, deflabel, minval, maxval)   /* ir.vtbl.emitJmpTb( v1, tbsym, values, labels, labelcount, deflabel, minval, maxval ) */
 
#define irGetDistance(vreg)   /* ir.vtbl.getDistance( vreg ) */
 
#define irLoadVR(reg, vreg, vauxparent)   /* ir.vtbl.loadVR( reg, vreg, vauxparent ) */
 
#define irStoreVR(vreg, vauxparent)   /* ir.vtbl.storeVR( vreg, vauxparent ) */
 
#define irXchgTOS(reg)   /* ir.vtbl.xchgTOS( reg ) */
 
#define irEmitBOP(op, v1, v2, vr, ex)   /* ir.vtbl.emitBop( op, v1, v2, vr, ex ) */
 
#define irEmitUOP(op, v1, vr)   /* ir.vtbl.emitUop( op, v1, vr ) */
 
#define irEmitSTORE(v1, v2)   /* ir.vtbl.emitStore( v1, v2 ) */
 
#define irEmitSPILLREGS()   /* ir.vtbl.emitSpillRegs( ) */
 
#define irEmitLOAD(v1)   /* ir.vtbl.emitLoad( v1 ) */
 
#define irEmitLOADRES(v1, vr)   /* ir.vtbl.emitLoadRes( v1, vr ) */
 
#define irEmitSTACK(op, v1)   /* ir.vtbl.emitStack( op, v1 ) */
 
#define irEmitPUSH(v1)   /* ir.vtbl.emitStack( AST_OP_PUSH, v1 ) */
 
#define irEmitPOP(v1)   /* ir.vtbl.emitStack( AST_OP_POP, v1 ) */
 
#define irEmitADDR(op, v1, vr)   /* ir.vtbl.emitAddr( op, v1, vr ) */
 
#define irEmitLABELNF(s)   /* ir.vtbl.emitLabelNF( s ) */
 
#define irEmitCALLFUNCT(proc, bytestopop, vr, level)   /* ir.vtbl.emitCall( proc, bytestopop, vr, level ) */
 
#define irEmitCALLPTR(v1, vr, bytestopop, level)   /* ir.vtbl.emitCallPtr( v1, vr, bytestopop, level ) */
 
#define irEmitSTACKALIGN(bytes)   /* ir.vtbl.emitStackAlign( bytes ) */
 
#define irEmitJUMPPTR(v1)   /* ir.vtbl.emitJumpPtr( v1 ) */
 
#define irEmitBRANCH(op, label)   /* ir.vtbl.emitBranch( op, label ) */
 
#define irEmitMEM(op, v1, v2, bytes)   /* ir.vtbl.emitMem( op, v1, v2, bytes ) */
 
#define irEmitSCOPEBEGIN(s)   /* ir.vtbl.emitScopeBegin( s ) */
 
#define irEmitSCOPEEND(s)   /* ir.vtbl.emitScopeEnd( s ) */
 
#define irEmitDBG(op, proc, ex)   /* ir.vtbl.emitDBG( op, proc, ex ) */
 
#define irEmitDECL(sym)   /* ir.vtbl.emitDECL( sym ) */
 
#define irIsREG(v)   /* (v->typ = IR_VREGTYPE_REG) */
 
#define irIsIMM(v)   /* (v->typ = IR_VREGTYPE_IMM) */
 
#define irIsVAR(v)   /* (v->typ = IR_VREGTYPE_VAR) */
 
#define irIsIDX(v)   /* (v->typ = IR_VREGTYPE_IDX) */
 
#define irIsPTR(v)   /* (v->typ = IR_VREGTYPE_PTR) */
 
#define irGetVRType(v)   /* v->typ */
 
#define irGetVRDataType(v)   /* v->dtype */
 
#define irGetVRSubType(v)   /* v->subtype */
 
#define irGetVROfs(v)   /* v->ofs */
 
#define irGetVRValueI(v)   /* v->value.int */
 
#define ISLONGINT(t)   /* ((t = FB_DATATYPE_LONGINT) or (t = FB_DATATYPE_ULONGINT)) */
 

Typedefs

typedef struct IRVREG IRVREG_
 
typedef struct IRTAC IRTAC_
 

Enumerations

enum  IRVREGTYPE_ENUM {
  IR_VREGTYPE_IMM, IR_VREGTYPE_VAR, IR_VREGTYPE_IDX, IR_VREGTYPE_PTR,
  IR_VREGTYPE_REG, IR_VREGTYPE_OFS
}
 
enum  IR_SECTION {
  IR_SECTION_CONST, IR_SECTION_DATA, IR_SECTION_BSS, IR_SECTION_CODE,
  IR_SECTION_DIRECTIVE, IR_SECTION_CONSTRUCTOR, IR_SECTION_DESTRUCTOR, IR_SECTION_INFO
}
 
enum  IR_REGFAMILY { IR_REG_FPU_STACK, IR_REG_SSE }
 
enum  IR_OPTIONVALUE { IR_OPTIONVALUE_MAXMEMBLOCKLEN = 1 }
 
enum  IR_OPT {
  IR_OPT_FPUCONV = &h00000001, IR_OPT_FPUIMMEDIATES = &h00000002, IR_OPT_FPUBOPFLAGS = &h00000004, IR_OPT_FPUSELFBOPS = &h00000008,
  IR_OPT_CPUBOPFLAGS = &h00000100, IR_OPT_CPUSELFBOPS = &h00000200, IR_OPT_64BITCPUREGS = &h00000400, IR_OPT_ADDRCISC = &h00010000,
  IR_OPT_NOINLINEOPS = &h00020000
}
 

Functions

sub irInit ()
 
sub irEnd ()
 
function_as_string vregDump (byval_as_IRVREG_ptr v)
 

Variables

const VAR IR_INITADDRNODES = 2048
 
const VAR IR_INITVREGNODES = IR_INITADDRNODES*3
 
const VAR IR_MAXDIST = 2147483647
 
IR_VTBL irtac_vtbl
 
IR_VTBL irhlc_vtbl
 
IR_VTBL irllvm_vtbl
 
IRCTX ir
 

Macro Definition Documentation

#define __IR_BI__

Definition at line 2 of file ir.bi.

#define irAllocVreg (   dtype,
  stype 
)    /* ir.vtbl.allocVreg( dtype, stype ) */

Definition at line 1075 of file ir.bi.

#define irAllocVrIdx (   dtype,
  stype,
  sym,
  ofs,
  mult,
  vidx 
)    /* ir.vtbl.allocVrIdx( dtype, stype, sym, ofs, mult, vidx ) */

Definition at line 1085 of file ir.bi.

#define irAllocVrImm (   dtype,
  stype,
  value 
)    /* ir.vtbl.allocVrImm( dtype, stype, value ) */

Definition at line 1079 of file ir.bi.

#define irAllocVrImmF (   dtype,
  stype,
  value 
)    /* ir.vtbl.allocVrImmF( dtype, stype, value ) */

Definition at line 1081 of file ir.bi.

#define irAllocVrOfs (   dtype,
  stype,
  sym,
  ofs 
)    /* ir.vtbl.allocVrOfs( dtype, stype, sym, ofs ) */

Definition at line 1089 of file ir.bi.

#define irAllocVrPtr (   dtype,
  stype,
  ofs,
  vidx 
)    /* ir.vtbl.allocVrPtr( dtype, stype, ofs, vidx ) */

Definition at line 1087 of file ir.bi.

#define irAllocVrVar (   dtype,
  stype,
  sym,
  ofs 
)    /* ir.vtbl.allocVrVar( dtype, stype, sym, ofs ) */

Definition at line 1083 of file ir.bi.

#define irEmitADDR (   op,
  v1,
  vr 
)    /* ir.vtbl.emitAddr( op, v1, vr ) */

Definition at line 1173 of file ir.bi.

#define irEmitAsmBegin ( )    /* ir.vtbl.emitAsmBegin( ) */

Definition at line 1138 of file ir.bi.

#define irEmitAsmEnd ( )    /* ir.vtbl.emitAsmEnd( ) */

Definition at line 1141 of file ir.bi.

#define irEmitAsmSymb (   sym)    /* ir.vtbl.emitAsmSymb( sym ) */

Definition at line 1140 of file ir.bi.

#define irEmitAsmText (   text)    /* ir.vtbl.emitAsmText( text ) */

Definition at line 1139 of file ir.bi.

#define irEmitBegin ( )    /* ir.vtbl.emitBegin( ) */

Definition at line 1107 of file ir.bi.

#define irEmitBOP (   op,
  v1,
  v2,
  vr,
  ex 
)    /* ir.vtbl.emitBop( op, v1, v2, vr, ex ) */

Definition at line 1155 of file ir.bi.

#define irEmitBRANCH (   op,
  label 
)    /* ir.vtbl.emitBranch( op, label ) */

Definition at line 1185 of file ir.bi.

#define irEmitCALLFUNCT (   proc,
  bytestopop,
  vr,
  level 
)    /* ir.vtbl.emitCall( proc, bytestopop, vr, level ) */

Definition at line 1177 of file ir.bi.

#define irEmitCALLPTR (   v1,
  vr,
  bytestopop,
  level 
)    /* ir.vtbl.emitCallPtr( v1, vr, bytestopop, level ) */

Definition at line 1179 of file ir.bi.

#define irEmitCOMMENT (   text)    /* ir.vtbl.emitComment( text ) */

Definition at line 1143 of file ir.bi.

#define irEmitCONVERT (   v1,
  v2 
)    /* ir.vtbl.emitConvert( v1, v2 ) */

Definition at line 1130 of file ir.bi.

#define irEmitDBG (   op,
  proc,
  ex 
)    /* ir.vtbl.emitDBG( op, proc, ex ) */

Definition at line 1193 of file ir.bi.

#define irEmitDECL (   sym)    /* ir.vtbl.emitDECL( sym ) */

Definition at line 1195 of file ir.bi.

#define irEmitEnd (   tottime)    /* ir.vtbl.emitEnd( tottime ) */

Definition at line 1109 of file ir.bi.

#define irEmitFBCTINFBEGIN ( )    /* ir.vtbl.emitFbctinfBegin( ) */

Definition at line 1126 of file ir.bi.

#define irEmitFBCTINFEND ( )    /* ir.vtbl.emitFbctinfEnd( ) */

Definition at line 1128 of file ir.bi.

#define irEmitFBCTINFSTRING (   s)    /* ir.vtbl.emitFbctinfString( s ) */

Definition at line 1127 of file ir.bi.

#define irEmitJMPTB (   v1,
  tbsym,
  values,
  labels,
  labelcount,
  deflabel,
  minval,
  maxval 
)    /* ir.vtbl.emitJmpTb( v1, tbsym, values, labels, labelcount, deflabel, minval, maxval ) */

Definition at line 1145 of file ir.bi.

#define irEmitJUMPPTR (   v1)    /* ir.vtbl.emitJumpPtr( v1 ) */

Definition at line 1183 of file ir.bi.

#define irEmitLABEL (   label)    /* ir.vtbl.emitLabel( label ) */

Definition at line 1132 of file ir.bi.

#define irEmitLABELNF (   s)    /* ir.vtbl.emitLabelNF( s ) */

Definition at line 1175 of file ir.bi.

#define irEmitLOAD (   v1)    /* ir.vtbl.emitLoad( v1 ) */

Definition at line 1163 of file ir.bi.

#define irEmitLOADRES (   v1,
  vr 
)    /* ir.vtbl.emitLoadRes( v1, vr ) */

Definition at line 1165 of file ir.bi.

#define irEmitMEM (   op,
  v1,
  v2,
  bytes 
)    /* ir.vtbl.emitMem( op, v1, v2, bytes ) */

Definition at line 1187 of file ir.bi.

#define irEmitPOP (   v1)    /* ir.vtbl.emitStack( AST_OP_POP, v1 ) */

Definition at line 1171 of file ir.bi.

#define irEmitPROCBEGIN (   proc,
  initlabel 
)    /* ir.vtbl.emitProcBegin( proc, initlabel ) */

Definition at line 1111 of file ir.bi.

#define irEmitPROCEND (   proc,
  initlabel,
  exitlabel 
)    /* ir.vtbl.emitProcEnd( proc, initlabel, exitlabel ) */

Definition at line 1113 of file ir.bi.

#define irEmitPUSH (   v1)    /* ir.vtbl.emitStack( AST_OP_PUSH, v1 ) */

Definition at line 1169 of file ir.bi.

#define irEmitPUSHARG (   param,
  vr,
  plen,
  level 
)    /* ir.vtbl.emitPushArg( param, vr, plen, level ) */

Definition at line 1136 of file ir.bi.

#define irEmitRETURN (   bytestopop)    /* ir.vtbl.emitReturn( bytestopop ) */

Definition at line 1134 of file ir.bi.

#define irEmitSCOPEBEGIN (   s)    /* ir.vtbl.emitScopeBegin( s ) */

Definition at line 1189 of file ir.bi.

#define irEmitSCOPEEND (   s)    /* ir.vtbl.emitScopeEnd( s ) */

Definition at line 1191 of file ir.bi.

#define irEmitSPILLREGS ( )    /* ir.vtbl.emitSpillRegs( ) */

Definition at line 1161 of file ir.bi.

#define irEmitSTACK (   op,
  v1 
)    /* ir.vtbl.emitStack( op, v1 ) */

Definition at line 1167 of file ir.bi.

#define irEmitSTACKALIGN (   bytes)    /* ir.vtbl.emitStackAlign( bytes ) */

Definition at line 1181 of file ir.bi.

#define irEmitSTORE (   v1,
  v2 
)    /* ir.vtbl.emitStore( v1, v2 ) */

Definition at line 1159 of file ir.bi.

#define irEmitUOP (   op,
  v1,
  vr 
)    /* ir.vtbl.emitUop( op, v1, vr ) */

Definition at line 1157 of file ir.bi.

#define irEmitVARINIBEGIN (   sym)    /* ir.vtbl.emitVarIniBegin( sym ) */

Definition at line 1115 of file ir.bi.

#define irEmitVARINIEND (   sym)    /* ir.vtbl.emitVarIniEnd( sym ) */

Definition at line 1116 of file ir.bi.

#define irEmitVARINIf (   sym,
  value 
)    /* ir.vtbl.emitVarIniF( sym, value ) */

Definition at line 1118 of file ir.bi.

#define irEmitVARINIi (   sym,
  value 
)    /* ir.vtbl.emitVarIniI( sym, value ) */

Definition at line 1117 of file ir.bi.

#define irEmitVARINIOFS (   sym,
  ofs 
)    /* ir.vtbl.emitVarIniOfs( sym, ofs ) */

Definition at line 1119 of file ir.bi.

#define irEmitVARINIPAD (   bytes)    /* ir.vtbl.emitVarIniPad( bytes ) */

Definition at line 1122 of file ir.bi.

#define irEmitVARINISCOPEBEGIN ( )    /* ir.vtbl.emitVarIniScopeBegin( ) */

Definition at line 1123 of file ir.bi.

#define irEmitVARINISCOPEEND ( )    /* ir.vtbl.emitVarIniScopeEnd( ) */

Definition at line 1124 of file ir.bi.

#define irEmitVARINISTR (   totlgt,
  litstr,
  litlgt 
)    /* ir.vtbl.emitVarIniStr( totlgt, litstr, litlgt ) */

Definition at line 1120 of file ir.bi.

#define irEmitVARINIWSTR (   totlgt,
  litstr,
  litlgt 
)    /* ir.vtbl.emitVarIniWstr( totlgt, litstr, litlgt ) */

Definition at line 1121 of file ir.bi.

#define irGetDistance (   vreg)    /* ir.vtbl.getDistance( vreg ) */

Definition at line 1147 of file ir.bi.

#define irGetOption (   op)    /* ((ir.options and op) <> 0) */

Definition at line 1069 of file ir.bi.

#define irGetOptionValue (   opt)    /* ir.vtbl.getOptionValue( opt ) */

Definition at line 1073 of file ir.bi.

#define irGetVRDataType (   v)    /* v->dtype */

Definition at line 1210 of file ir.bi.

#define irGetVROfs (   v)    /* v->ofs */

Definition at line 1214 of file ir.bi.

#define irGetVRSubType (   v)    /* v->subtype */

Definition at line 1212 of file ir.bi.

#define irGetVRType (   v)    /* v->typ */

Definition at line 1208 of file ir.bi.

#define irGetVRValueI (   v)    /* v->value.int */

Definition at line 1216 of file ir.bi.

#define irIsIDX (   v)    /* (v->typ = IR_VREGTYPE_IDX) */

Definition at line 1204 of file ir.bi.

#define irIsIMM (   v)    /* (v->typ = IR_VREGTYPE_IMM) */

Definition at line 1200 of file ir.bi.

#define irIsPTR (   v)    /* (v->typ = IR_VREGTYPE_PTR) */

Definition at line 1206 of file ir.bi.

#define irIsREG (   v)    /* (v->typ = IR_VREGTYPE_REG) */

Definition at line 1198 of file ir.bi.

#define irIsVAR (   v)    /* (v->typ = IR_VREGTYPE_VAR) */

Definition at line 1202 of file ir.bi.

#define irLoadVR (   reg,
  vreg,
  vauxparent 
)    /* ir.vtbl.loadVR( reg, vreg, vauxparent ) */

Definition at line 1149 of file ir.bi.

#define irProcAllocArg (   proc,
 
)    /* ir.vtbl.procAllocArg( proc, s ) */

Definition at line 1099 of file ir.bi.

#define irProcAllocLocal (   proc,
 
)    /* ir.vtbl.procAllocLocal( proc, s ) */

Definition at line 1101 of file ir.bi.

#define irProcAllocStaticVars (   head_sym)    /* ir.vtbl.procAllocStaticVars( head_sym ) */

Definition at line 1103 of file ir.bi.

#define irProcBegin (   proc)    /* ir.vtbl.procBegin( proc ) */

Definition at line 1091 of file ir.bi.

#define irProcEnd (   proc)    /* ir.vtbl.procEnd( proc ) */

Definition at line 1093 of file ir.bi.

#define irProcGetFrameRegName ( )    /* ir.vtbl.procGetFrameRegName( ) */

Definition at line 1105 of file ir.bi.

#define irScopeBegin (   s)    /* ir.vtbl.scopeBegin( s ) */

Definition at line 1095 of file ir.bi.

#define irScopeEnd (   s)    /* ir.vtbl.scopeEnd( s ) */

Definition at line 1097 of file ir.bi.

#define irSetOption (   op)    /* ir.options or= op */

Definition at line 1071 of file ir.bi.

#define irSetVregDataType (   v,
  dtype,
  stype 
)    /* ir.vtbl.setVregDataType( v, dtype, stype ) */

Definition at line 1077 of file ir.bi.

#define irStoreVR (   vreg,
  vauxparent 
)    /* ir.vtbl.storeVR( vreg, vauxparent ) */

Definition at line 1151 of file ir.bi.

#define irXchgTOS (   reg)    /* ir.vtbl.xchgTOS( reg ) */

Definition at line 1153 of file ir.bi.

#define ISLONGINT (   t)    /* ((t = FB_DATATYPE_LONGINT) or (t = FB_DATATYPE_ULONGINT)) */

Definition at line 1218 of file ir.bi.

Typedef Documentation

typedef struct IRTAC IRTAC_

Definition at line 656 of file ir.bi.

typedef struct IRVREG IRVREG_

Definition at line 655 of file ir.bi.

Enumeration Type Documentation

enum IR_OPT
Enumerator
IR_OPT_FPUCONV 
IR_OPT_FPUIMMEDIATES 
IR_OPT_FPUBOPFLAGS 
IR_OPT_FPUSELFBOPS 
IR_OPT_CPUBOPFLAGS 
IR_OPT_CPUSELFBOPS 
IR_OPT_64BITCPUREGS 
IR_OPT_ADDRCISC 
IR_OPT_NOINLINEOPS 

Definition at line 1034 of file ir.bi.

Enumerator
IR_OPTIONVALUE_MAXMEMBLOCKLEN 

Definition at line 649 of file ir.bi.

Enumerator
IR_REG_FPU_STACK 
IR_REG_SSE 

Definition at line 644 of file ir.bi.

enum IR_SECTION
Enumerator
IR_SECTION_CONST 
IR_SECTION_DATA 
IR_SECTION_BSS 
IR_SECTION_CODE 
IR_SECTION_DIRECTIVE 
IR_SECTION_CONSTRUCTOR 
IR_SECTION_DESTRUCTOR 
IR_SECTION_INFO 

Definition at line 633 of file ir.bi.

Enumerator
IR_VREGTYPE_IMM 
IR_VREGTYPE_VAR 
IR_VREGTYPE_IDX 
IR_VREGTYPE_PTR 
IR_VREGTYPE_REG 
IR_VREGTYPE_OFS 

Definition at line 623 of file ir.bi.

Function Documentation

sub irEnd ( )

Definition at line 25 of file ir.bas.

Here is the caller graph for this function:

sub irInit ( )

Definition at line 12 of file ir.bas.

Here is the caller graph for this function:

function_as_string vregDump ( byval_as_IRVREG_ptr  v)

Definition at line 30 of file ir.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

Variable Documentation

IRCTX ir

Definition at line 10 of file ir.bas.

const VAR IR_INITADDRNODES = 2048

Definition at line 617 of file ir.bi.

const VAR IR_INITVREGNODES = IR_INITADDRNODES*3

Definition at line 618 of file ir.bi.

const VAR IR_MAXDIST = 2147483647

Definition at line 620 of file ir.bi.

IR_VTBL irhlc_vtbl

Definition at line 3542 of file ir-hlc.bas.

IR_VTBL irllvm_vtbl
IR_VTBL irtac_vtbl

Definition at line 2646 of file ir-tac.bas.