; Harbour LLVM IR - generated from tests/llvm/macro.prg
target triple = "x86_64-pc-linux-gnu"
%HB_SYMB = type { i8*, i64, i8*, i8* }
declare void @hb_vmExecute(i8*, %HB_SYMB*)
declare %HB_SYMB* @hb_vmProcessSymbols(%HB_SYMB*, i16, i8*, i32, i16)
declare i32 @hb_vmsh_pushnil()
declare i32 @hb_vmsh_pushlogical(i32)
declare i32 @hb_vmsh_pushint(i32)
declare i32 @hb_vmsh_pushlong(i64)
declare i32 @hb_vmsh_pushlonglong(i64)
declare i32 @hb_vmsh_pushdouble(double, i32, i32)
declare i32 @hb_vmsh_pushstring(i8*, i64)
declare i32 @hb_vmsh_pushlocal(i32)
declare i32 @hb_vmsh_poplocal(i32)
declare i32 @hb_vmsh_pushstatic(i32)
declare i32 @hb_vmsh_popstatic(i32)
declare i32 @hb_vmsh_pushsymbol(%HB_SYMB*)
declare i32 @hb_vmsh_plus()
declare i32 @hb_vmsh_minus()
declare i32 @hb_vmsh_mult()
declare i32 @hb_vmsh_divide()
declare i32 @hb_vmsh_modulus()
declare i32 @hb_vmsh_power()
declare i32 @hb_vmsh_negate()
declare i32 @hb_vmsh_equal()
declare i32 @hb_vmsh_exactlyequal()
declare i32 @hb_vmsh_notequal()
declare i32 @hb_vmsh_less()
declare i32 @hb_vmsh_lessequal()
declare i32 @hb_vmsh_greater()
declare i32 @hb_vmsh_greaterequal()
declare i32 @hb_vmsh_and()
declare i32 @hb_vmsh_or()
declare i32 @hb_vmsh_not()
declare i32 @hb_vmsh_pop()
declare i32 @hb_vmsh_duplicate()
declare i32 @hb_vmsh_frame(i32, i32)
declare i32 @hb_vmsh_function(i32)
declare i32 @hb_vmsh_do(i32)
declare i32 @hb_vmsh_retvalue()
declare i32 @hb_vmsh_poplogical(i32*)
declare i32 @hb_vmsh_fortest()
declare i32 @hb_vmsh_inc()
declare i32 @hb_vmsh_dec()
declare i32 @hb_vmsh_duplunref()
declare i32 @hb_vmsh_pushunref()
declare i32 @hb_vmsh_pluseqpop()
declare i32 @hb_vmsh_minuseqpop()
declare i32 @hb_vmsh_multeqpop()
declare i32 @hb_vmsh_diveqpop()
declare i32 @hb_vmsh_modeqpop()
declare i32 @hb_vmsh_expeqpop()
declare i32 @hb_vmsh_deceqpop()
declare i32 @hb_vmsh_inceqpop()
declare i32 @hb_vmsh_pluseq()
declare i32 @hb_vmsh_minuseq()
declare i32 @hb_vmsh_multeq()
declare i32 @hb_vmsh_diveq()
declare i32 @hb_vmsh_modeq()
declare i32 @hb_vmsh_expeq()
declare i32 @hb_vmsh_deceq()
declare i32 @hb_vmsh_inceq()
declare i32 @hb_vmsh_pushlocalref(i32)
declare i32 @hb_vmsh_pushstaticref(i32)
declare i32 @hb_vmsh_localinc(i32)
declare i32 @hb_vmsh_localdec(i32)
declare i32 @hb_vmsh_localincpush(i32)
declare i32 @hb_vmsh_localaddint(i32, i32)
declare i32 @hb_vmsh_localnearaddint(i32, i32)
declare i32 @hb_vmsh_arraypush()
declare i32 @hb_vmsh_arraypushref()
declare i32 @hb_vmsh_arraypop()
declare i32 @hb_vmsh_pushaparams()
declare i32 @hb_vmsh_arraydim(i32)
declare i32 @hb_vmsh_arraygen(i32)
declare i32 @hb_vmsh_hashgen(i32)
declare i32 @hb_vmsh_pushalias()
declare i32 @hb_vmsh_popalias()
declare i32 @hb_vmsh_swapalias()
declare i32 @hb_vmsh_pushfield(%HB_SYMB*)
declare i32 @hb_vmsh_popfield(%HB_SYMB*)
declare i32 @hb_vmsh_pushmemvar(%HB_SYMB*)
declare i32 @hb_vmsh_pushmemvarref(%HB_SYMB*)
declare i32 @hb_vmsh_popmemvar(%HB_SYMB*)
declare i32 @hb_vmsh_pushvariable(%HB_SYMB*)
declare i32 @hb_vmsh_popvariable(%HB_SYMB*)
declare i32 @hb_vmsh_pushaliasedfield(%HB_SYMB*)
declare i32 @hb_vmsh_popaliasedfield(%HB_SYMB*)
declare i32 @hb_vmsh_pushaliasedvar(%HB_SYMB*)
declare i32 @hb_vmsh_popaliasedvar(%HB_SYMB*)
declare i32 @hb_vmsh_pushself()
declare i32 @hb_vmsh_pushovarref()
declare i32 @hb_vmsh_withobjectstart()
declare i32 @hb_vmsh_withobjectend()
declare i32 @hb_vmsh_funcptr()
declare i32 @hb_vmsh_message(%HB_SYMB*)
declare i32 @hb_vmsh_withobjectmessage(%HB_SYMB*)
declare i32 @hb_vmsh_send(i32)
declare i32 @hb_vmsh_enumstart(i32, i32)
declare i32 @hb_vmsh_enumnext()
declare i32 @hb_vmsh_enumprev()
declare i32 @hb_vmsh_enumend()
declare i32 @hb_vmsh_switchidx(i8*, i32)
declare i32 @hb_vmsh_pushblock(i8*, %HB_SYMB*)
declare i32 @hb_vmsh_macropushindex()
declare i32 @hb_vmsh_macropushref()
declare i32 @hb_vmsh_macrosymbol()
declare i32 @hb_vmsh_macrotext()
declare i32 @hb_vmsh_macropop(i32)
declare i32 @hb_vmsh_macropopaliased(i32)
declare i32 @hb_vmsh_macropush(i32)
declare i32 @hb_vmsh_macropushlist(i32)
declare i32 @hb_vmsh_macropushpare(i32)
declare i32 @hb_vmsh_macropushaliased(i32)
declare i32 @hb_vmsh_macroarraygen(i32)
declare i32 @hb_vmsh_macrodo(i32)
declare i32 @hb_vmsh_macrofunc(i32)
declare i32 @hb_vmsh_macrosend(i32)
declare i32 @hb_vmsh_seqbegin(i8*)
declare i32 @hb_vmsh_seqend()
declare i32 @hb_vmsh_seqrecover()
declare i32 @hb_vmsh_seqalways(i8*)
declare i32 @hb_vmsh_alwaysbegin(i8*)
declare i32 @hb_vmsh_alwaysend()
declare i32 @hb_vmsh_seqblock()
declare void @hb_INITSTATICS()
declare void @hb_INITLINES()
declare void @HB_FUN___MVPRIVATE()
declare void @HB_FUN_QOUT()
declare void @HB_FUN_UPPER()
declare void @HB_FUN_ERRORNEW()
@symbols = internal global %HB_SYMB* null
@.pcode.HB_FUN_MACRO = internal constant [1 x i8] c"\07"
@.pcode.HB_FUN_MAIN = internal constant [160 x i8] c"\0D\01\00\24\1A\00\6A\06\6E\4D\61\69\6E\00\50\01\24\1B\00\6A\06\72\65\61\64\79\00\B0\03\00\6C\02\14\01\51\02\00\24\1F\00\B0\04\00\5F\01\2A\0B\7C\01\00\24\20\00\B0\05\00\14\00\24\21\00\B0\06\00\14\00\24\22\00\B0\07\00\14\00\24\23\00\B0\08\00\14\00\24\24\00\B0\09\00\14\00\24\25\00\B0\0A\00\14\00\24\26\00\B0\0B\00\14\00\24\27\00\B0\0C\00\14\00\24\28\00\B0\0D\00\14\00\24\29\00\B0\0E\00\14\00\24\2A\00\B0\0F\00\14\00\24\2B\00\B0\10\00\14\00\24\2C\00\B0\11\00\14\00\24\2D\00\64\6E\07"
@.pcode.HB_FUN_READVAR = internal constant [52 x i8] c"\0D\02\00\24\31\00\6A\02\6E\00\50\02\24\32\00\5C\07\B0\03\00\6C\12\14\01\51\12\00\24\34\00\5F\02\28\0B\50\01\24\35\00\B0\04\00\5F\01\14\01\24\36\00\64\6E\07"
@.pcode.HB_FUN_WRITEVAR = internal constant [52 x i8] c"\0D\01\00\24\39\00\6A\02\6E\00\50\01\24\3A\00\79\B0\03\00\6C\12\14\01\51\12\00\24\3B\00\5C\63\5F\01\26\0B\24\3C\00\B0\04\00\6D\12\00\14\01\24\3D\00\64\6E\07"
@.pcode.HB_FUN_CALLFUNC = internal constant [42 x i8] c"\0D\01\00\24\40\00\6A\08\27\68\65\6C\6C\6F\27\00\50\01\24\41\00\B0\04\00\B0\13\00\5F\01\2A\0B\7B\01\00\14\01\24\42\00\64\6E\07"
@.pcode.HB_FUN_DOFUNC = internal constant [38 x i8] c"\0D\01\00\24\45\00\6A\09\27\63\61\6C\6C\65\64\27\00\50\01\24\46\00\B0\14\00\5F\01\2A\0B\7C\01\00\24\47\00\64\6E\07"
@.pcode.HB_FUN_SHOW = internal constant [19 x i8] c"\0D\00\01\24\4A\00\B0\04\00\5F\01\14\01\24\4B\00\64\6E\07"
@.pcode.HB_FUN_TEXTSUB = internal constant [62 x i8] c"\0D\01\00\24\4F\00\6A\06\77\6F\72\6C\64\00\B0\03\00\6C\15\14\01\51\15\00\24\50\00\6A\0E\68\65\6C\6C\6F\2C\20\26\63\57\68\61\74\00\2F\50\01\24\51\00\B0\04\00\5F\01\14\01\24\52\00\64\6E\07"
@.pcode.HB_FUN_REFMACRO = internal constant [54 x i8] c"\0D\01\00\24\55\00\6A\02\6E\00\50\01\24\56\00\79\B0\03\00\6C\12\14\01\51\12\00\24\57\00\B0\16\00\5F\01\7F\14\01\24\58\00\B0\04\00\6D\12\00\14\01\24\59\00\64\6E\07"
@.pcode.HB_FUN_TAKEREF = internal constant [16 x i8] c"\0D\00\01\24\5C\00\5C\21\50\01\24\5D\00\64\6E\07"
@.pcode.HB_FUN_ALIASMACRO = internal constant [51 x i8] c"\0D\01\00\24\60\00\6A\04\46\4F\4F\00\50\01\24\61\00\5C\63\B0\03\00\6C\17\14\01\51\17\00\24\62\00\B0\04\00\6A\02\4D\00\5F\01\2D\0B\14\01\24\63\00\64\6E\07"
@.pcode.HB_FUN_SENDMSG = internal constant [67 x i8] c"\0D\02\00\24\68\00\B0\18\00\0C\00\50\01\24\69\00\6A\0A\27\73\65\6E\64\2D\6F\6B\27\00\50\02\24\6A\00\30\19\00\5F\01\5F\02\2A\0B\92\01\00\49\24\6B\00\B0\04\00\30\1A\00\5F\01\70\00\14\01\24\6C\00\64\6E\07"
@.pcode.HB_FUN_PARESUB = internal constant [41 x i8] c"\0D\02\00\24\71\00\6A\06\36\20\2A\20\37\00\50\02\24\72\00\5F\02\2C\0B\50\01\24\73\00\B0\04\00\5F\01\14\01\24\74\00\64\6E\07"
@.pcode.HB_FUN_ALIASWRITE = internal constant [58 x i8] c"\0D\01\00\24\78\00\6A\04\42\41\52\00\50\01\24\79\00\79\B0\03\00\6C\1B\14\01\51\1B\00\24\7A\00\5C\2A\6A\02\4D\00\5F\01\27\0B\24\7B\00\B0\04\00\6D\1B\00\14\01\24\7C\00\64\6E\07"
@.pcode.HB_FUN_ARRAYGEN = internal constant [51 x i8] c"\0D\02\00\24\80\00\6A\0B\31\31\2C\20\32\32\2C\20\33\33\00\50\01\24\81\00\5F\01\2A\0B\29\01\00\50\02\24\82\00\B0\04\00\5F\02\7A\01\14\01\24\83\00\64\6E\07"
@.pcode.HB_FUN_ARRAYINDEX = internal constant [48 x i8] c"\0D\02\00\24\87\00\5C\0A\5C\14\5C\1E\04\03\00\50\01\24\88\00\6A\02\32\00\50\02\24\89\00\B0\04\00\5F\01\5F\02\2A\0B\2B\01\14\01\24\8A\00\64\6E\07"
@.pcode.HB_FUN_SYMBOLCALL = internal constant [31 x i8] c"\0D\01\00\24\8E\00\6A\06\53\61\79\48\69\00\50\01\24\8F\00\5F\01\2E\64\14\00\24\90\00\64\6E\07"
@.pcode.HB_FUN_SAYHI = internal constant [28 x i8] c"\24\93\00\B0\04\00\6A\0C\73\79\6D\62\6F\6C\2D\63\61\6C\6C\00\14\01\24\94\00\64\6E\07"
@.sym.0 = private constant [6 x i8] c"\4D\41\43\52\4F\00"
@.sym.1 = private constant [5 x i8] c"\4D\41\49\4E\00"
@.sym.2 = private constant [6 x i8] c"\4E\4D\41\49\4E\00"
@.sym.3 = private constant [12 x i8] c"\5F\5F\4D\56\50\52\49\56\41\54\45\00"
@.sym.4 = private constant [5 x i8] c"\51\4F\55\54\00"
@.sym.5 = private constant [8 x i8] c"\52\45\41\44\56\41\52\00"
@.sym.6 = private constant [9 x i8] c"\57\52\49\54\45\56\41\52\00"
@.sym.7 = private constant [9 x i8] c"\43\41\4C\4C\46\55\4E\43\00"
@.sym.8 = private constant [7 x i8] c"\44\4F\46\55\4E\43\00"
@.sym.9 = private constant [8 x i8] c"\54\45\58\54\53\55\42\00"
@.sym.10 = private constant [9 x i8] c"\52\45\46\4D\41\43\52\4F\00"
@.sym.11 = private constant [11 x i8] c"\41\4C\49\41\53\4D\41\43\52\4F\00"
@.sym.12 = private constant [8 x i8] c"\53\45\4E\44\4D\53\47\00"
@.sym.13 = private constant [8 x i8] c"\50\41\52\45\53\55\42\00"
@.sym.14 = private constant [11 x i8] c"\41\4C\49\41\53\57\52\49\54\45\00"
@.sym.15 = private constant [9 x i8] c"\41\52\52\41\59\47\45\4E\00"
@.sym.16 = private constant [11 x i8] c"\41\52\52\41\59\49\4E\44\45\58\00"
@.sym.17 = private constant [11 x i8] c"\53\59\4D\42\4F\4C\43\41\4C\4C\00"
@.sym.18 = private constant [2 x i8] c"\4E\00"
@.sym.19 = private constant [6 x i8] c"\55\50\50\45\52\00"
@.sym.20 = private constant [5 x i8] c"\53\48\4F\57\00"
@.sym.21 = private constant [6 x i8] c"\43\57\48\41\54\00"
@.sym.22 = private constant [8 x i8] c"\54\41\4B\45\52\45\46\00"
@.sym.23 = private constant [4 x i8] c"\46\4F\4F\00"
@.sym.24 = private constant [9 x i8] c"\45\52\52\4F\52\4E\45\57\00"
@.sym.25 = private constant [13 x i8] c"\5F\44\45\53\43\52\49\50\54\49\4F\4E\00"
@.sym.26 = private constant [12 x i8] c"\44\45\53\43\52\49\50\54\49\4F\4E\00"
@.sym.27 = private constant [4 x i8] c"\42\41\52\00"
@.sym.28 = private constant [6 x i8] c"\53\41\59\48\49\00"
@.modname = private constant [21 x i8] c"\74\65\73\74\73\2F\6C\6C\76\6D\2F\6D\61\63\72\6F\2E\70\72\67\00"
@symbols_table = internal global [29 x %HB_SYMB] [
%HB_SYMB { i8* getelementptr([6 x i8], [6 x i8]* @.sym.0, i32 0, i32 0),
i64 517,
i8* bitcast(void()* @HB_FUN_MACRO to i8*),
i8* null },
%HB_SYMB { i8* getelementptr([5 x i8], [5 x i8]* @.sym.1, i32 0, i32 0),
i64 513,
i8* bitcast(void()* @HB_FUN_MAIN to i8*),
i8* null },
%HB_SYMB { i8* getelementptr([6 x i8], [6 x i8]* @.sym.2, i32 0, i32 0),
i64 129,
i8* null,
i8* null },
%HB_SYMB { i8* getelementptr([12 x i8], [12 x i8]* @.sym.3, i32 0, i32 0),
i64 1,
i8* bitcast(void()* @HB_FUN___MVPRIVATE to i8*),
i8* null },
%HB_SYMB { i8* getelementptr([5 x i8], [5 x i8]* @.sym.4, i32 0, i32 0),
i64 1,
i8* bitcast(void()* @HB_FUN_QOUT to i8*),
i8* null },
%HB_SYMB { i8* getelementptr([8 x i8], [8 x i8]* @.sym.5, i32 0, i32 0),
i64 513,
i8* bitcast(void()* @HB_FUN_READVAR to i8*),
i8* null },
%HB_SYMB { i8* getelementptr([9 x i8], [9 x i8]* @.sym.6, i32 0, i32 0),
i64 513,
i8* bitcast(void()* @HB_FUN_WRITEVAR to i8*),
i8* null },
%HB_SYMB { i8* getelementptr([9 x i8], [9 x i8]* @.sym.7, i32 0, i32 0),
i64 513,
i8* bitcast(void()* @HB_FUN_CALLFUNC to i8*),
i8* null },
%HB_SYMB { i8* getelementptr([7 x i8], [7 x i8]* @.sym.8, i32 0, i32 0),
i64 513,
i8* bitcast(void()* @HB_FUN_DOFUNC to i8*),
i8* null },
%HB_SYMB { i8* getelementptr([8 x i8], [8 x i8]* @.sym.9, i32 0, i32 0),
i64 513,
i8* bitcast(void()* @HB_FUN_TEXTSUB to i8*),
i8* null },
%HB_SYMB { i8* getelementptr([9 x i8], [9 x i8]* @.sym.10, i32 0, i32 0),
i64 513,
i8* bitcast(void()* @HB_FUN_REFMACRO to i8*),
i8* null },
%HB_SYMB { i8* getelementptr([11 x i8], [11 x i8]* @.sym.11, i32 0, i32 0),
i64 513,
i8* bitcast(void()* @HB_FUN_ALIASMACRO to i8*),
i8* null },
%HB_SYMB { i8* getelementptr([8 x i8], [8 x i8]* @.sym.12, i32 0, i32 0),
i64 513,
i8* bitcast(void()* @HB_FUN_SENDMSG to i8*),
i8* null },
%HB_SYMB { i8* getelementptr([8 x i8], [8 x i8]* @.sym.13, i32 0, i32 0),
i64 513,
i8* bitcast(void()* @HB_FUN_PARESUB to i8*),
i8* null },
%HB_SYMB { i8* getelementptr([11 x i8], [11 x i8]* @.sym.14, i32 0, i32 0),
i64 513,
i8* bitcast(void()* @HB_FUN_ALIASWRITE to i8*),
i8* null },
%HB_SYMB { i8* getelementptr([9 x i8], [9 x i8]* @.sym.15, i32 0, i32 0),
i64 513,
i8* bitcast(void()* @HB_FUN_ARRAYGEN to i8*),
i8* null },
%HB_SYMB { i8* getelementptr([11 x i8], [11 x i8]* @.sym.16, i32 0, i32 0),
i64 513,
i8* bitcast(void()* @HB_FUN_ARRAYINDEX to i8*),
i8* null },
%HB_SYMB { i8* getelementptr([11 x i8], [11 x i8]* @.sym.17, i32 0, i32 0),
i64 513,
i8* bitcast(void()* @HB_FUN_SYMBOLCALL to i8*),
i8* null },
%HB_SYMB { i8* getelementptr([2 x i8], [2 x i8]* @.sym.18, i32 0, i32 0),
i64 129,
i8* null,
i8* null },
%HB_SYMB { i8* getelementptr([6 x i8], [6 x i8]* @.sym.19, i32 0, i32 0),
i64 1,
i8* bitcast(void()* @HB_FUN_UPPER to i8*),
i8* null },
%HB_SYMB { i8* getelementptr([5 x i8], [5 x i8]* @.sym.20, i32 0, i32 0),
i64 513,
i8* bitcast(void()* @HB_FUN_SHOW to i8*),
i8* null },
%HB_SYMB { i8* getelementptr([6 x i8], [6 x i8]* @.sym.21, i32 0, i32 0),
i64 129,
i8* null,
i8* null },
%HB_SYMB { i8* getelementptr([8 x i8], [8 x i8]* @.sym.22, i32 0, i32 0),
i64 513,
i8* bitcast(void()* @HB_FUN_TAKEREF to i8*),
i8* null },
%HB_SYMB { i8* getelementptr([4 x i8], [4 x i8]* @.sym.23, i32 0, i32 0),
i64 129,
i8* null,
i8* null },
%HB_SYMB { i8* getelementptr([9 x i8], [9 x i8]* @.sym.24, i32 0, i32 0),
i64 1,
i8* bitcast(void()* @HB_FUN_ERRORNEW to i8*),
i8* null },
%HB_SYMB { i8* getelementptr([13 x i8], [13 x i8]* @.sym.25, i32 0, i32 0),
i64 33,
i8* null,
i8* null },
%HB_SYMB { i8* getelementptr([12 x i8], [12 x i8]* @.sym.26, i32 0, i32 0),
i64 33,
i8* null,
i8* null },
%HB_SYMB { i8* getelementptr([4 x i8], [4 x i8]* @.sym.27, i32 0, i32 0),
i64 129,
i8* null,
i8* null },
%HB_SYMB { i8* getelementptr([6 x i8], [6 x i8]* @.sym.28, i32 0, i32 0),
i64 513,
i8* bitcast(void()* @HB_FUN_SAYHI to i8*),
i8* null }
]
@.sl.str.0 = private constant [6 x i8] c"\6E\4D\61\69\6E\00"
@.sl.str.1 = private constant [6 x i8] c"\72\65\61\64\79\00"
@.sl.str.2 = private constant [2 x i8] c"\6E\00"
@.sl.str.3 = private constant [2 x i8] c"\6E\00"
@.sl.str.4 = private constant [8 x i8] c"\27\68\65\6C\6C\6F\27\00"
@.sl.str.5 = private constant [9 x i8] c"\27\63\61\6C\6C\65\64\27\00"
@.sl.str.6 = private constant [6 x i8] c"\77\6F\72\6C\64\00"
@.sl.str.7 = private constant [14 x i8] c"\68\65\6C\6C\6F\2C\20\26\63\57\68\61\74\00"
@.sl.str.8 = private constant [2 x i8] c"\6E\00"
@.sl.str.9 = private constant [4 x i8] c"\46\4F\4F\00"
@.sl.str.10 = private constant [2 x i8] c"\4D\00"
@.sl.str.11 = private constant [10 x i8] c"\27\73\65\6E\64\2D\6F\6B\27\00"
@.sl.str.12 = private constant [6 x i8] c"\36\20\2A\20\37\00"
@.sl.str.13 = private constant [4 x i8] c"\42\41\52\00"
@.sl.str.14 = private constant [2 x i8] c"\4D\00"
@.sl.str.15 = private constant [11 x i8] c"\31\31\2C\20\32\32\2C\20\33\33\00"
@.sl.str.16 = private constant [2 x i8] c"\32\00"
@.sl.str.17 = private constant [6 x i8] c"\53\61\79\48\69\00"
@.sl.str.18 = private constant [12 x i8] c"\73\79\6D\62\6F\6C\2D\63\61\6C\6C\00"
define void @HB_FUN_MACRO() {
entry:
br label %i0
i0:
br label %epilogue
epilogue:
ret void
}
define void @HB_FUN_MAIN() {
entry:
br label %i0
i0:
%r0 = call i32 @hb_vmsh_frame(i32 1, i32 0)
%c0 = icmp ne i32 %r0, 0
br i1 %c0, label %epilogue, label %i3
i3:
br label %i6
i6:
%r6 = call i32 @hb_vmsh_pushstring(i8* getelementptr([6 x i8], [6 x i8]* @.sl.str.0, i32 0, i32 0), i64 5)
%c6 = icmp ne i32 %r6, 0
br i1 %c6, label %epilogue, label %i14
i14:
%r14 = call i32 @hb_vmsh_poplocal(i32 1)
%c14 = icmp ne i32 %r14, 0
br i1 %c14, label %epilogue, label %i16
i16:
br label %i19
i19:
%r19 = call i32 @hb_vmsh_pushstring(i8* getelementptr([6 x i8], [6 x i8]* @.sl.str.1, i32 0, i32 0), i64 5)
%c19 = icmp ne i32 %r19, 0
br i1 %c19, label %epilogue, label %i27
i27:
%r27 = call i32 @hb_vmsh_pushsymbol(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 3))
%c27 = icmp ne i32 %r27, 0
br i1 %c27, label %epilogue, label %ipfs27a
ipfs27a:
%r27b = call i32 @hb_vmsh_pushnil()
%c27b = icmp ne i32 %r27b, 0
br i1 %c27b, label %epilogue, label %i30
i30:
%r30 = call i32 @hb_vmsh_pushsymbol(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 2))
%c30 = icmp ne i32 %r30, 0
br i1 %c30, label %epilogue, label %i32
i32:
%r32 = call i32 @hb_vmsh_do(i32 1)
%c32 = icmp ne i32 %r32, 0
br i1 %c32, label %epilogue, label %i34
i34:
%r34 = call i32 @hb_vmsh_popmemvar(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 2))
%c34 = icmp ne i32 %r34, 0
br i1 %c34, label %epilogue, label %i37
i37:
br label %i40
i40:
%r40 = call i32 @hb_vmsh_pushsymbol(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 4))
%c40 = icmp ne i32 %r40, 0
br i1 %c40, label %epilogue, label %ipfs40a
ipfs40a:
%r40b = call i32 @hb_vmsh_pushnil()
%c40b = icmp ne i32 %r40b, 0
br i1 %c40b, label %epilogue, label %i43
i43:
%r43 = call i32 @hb_vmsh_pushlocal(i32 1)
%c43 = icmp ne i32 %r43, 0
br i1 %c43, label %epilogue, label %i45
i45:
%r45 = call i32 @hb_vmsh_macropushlist(i32 11)
%c45 = icmp ne i32 %r45, 0
br i1 %c45, label %epilogue, label %i47
i47:
%r47 = call i32 @hb_vmsh_macrodo(i32 1)
%c47 = icmp ne i32 %r47, 0
br i1 %c47, label %epilogue, label %i50
i50:
br label %i53
i53:
%r53 = call i32 @hb_vmsh_pushsymbol(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 5))
%c53 = icmp ne i32 %r53, 0
br i1 %c53, label %epilogue, label %ipfs53a
ipfs53a:
%r53b = call i32 @hb_vmsh_pushnil()
%c53b = icmp ne i32 %r53b, 0
br i1 %c53b, label %epilogue, label %i56
i56:
%r56 = call i32 @hb_vmsh_do(i32 0)
%c56 = icmp ne i32 %r56, 0
br i1 %c56, label %epilogue, label %i58
i58:
br label %i61
i61:
%r61 = call i32 @hb_vmsh_pushsymbol(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 6))
%c61 = icmp ne i32 %r61, 0
br i1 %c61, label %epilogue, label %ipfs61a
ipfs61a:
%r61b = call i32 @hb_vmsh_pushnil()
%c61b = icmp ne i32 %r61b, 0
br i1 %c61b, label %epilogue, label %i64
i64:
%r64 = call i32 @hb_vmsh_do(i32 0)
%c64 = icmp ne i32 %r64, 0
br i1 %c64, label %epilogue, label %i66
i66:
br label %i69
i69:
%r69 = call i32 @hb_vmsh_pushsymbol(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 7))
%c69 = icmp ne i32 %r69, 0
br i1 %c69, label %epilogue, label %ipfs69a
ipfs69a:
%r69b = call i32 @hb_vmsh_pushnil()
%c69b = icmp ne i32 %r69b, 0
br i1 %c69b, label %epilogue, label %i72
i72:
%r72 = call i32 @hb_vmsh_do(i32 0)
%c72 = icmp ne i32 %r72, 0
br i1 %c72, label %epilogue, label %i74
i74:
br label %i77
i77:
%r77 = call i32 @hb_vmsh_pushsymbol(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 8))
%c77 = icmp ne i32 %r77, 0
br i1 %c77, label %epilogue, label %ipfs77a
ipfs77a:
%r77b = call i32 @hb_vmsh_pushnil()
%c77b = icmp ne i32 %r77b, 0
br i1 %c77b, label %epilogue, label %i80
i80:
%r80 = call i32 @hb_vmsh_do(i32 0)
%c80 = icmp ne i32 %r80, 0
br i1 %c80, label %epilogue, label %i82
i82:
br label %i85
i85:
%r85 = call i32 @hb_vmsh_pushsymbol(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 9))
%c85 = icmp ne i32 %r85, 0
br i1 %c85, label %epilogue, label %ipfs85a
ipfs85a:
%r85b = call i32 @hb_vmsh_pushnil()
%c85b = icmp ne i32 %r85b, 0
br i1 %c85b, label %epilogue, label %i88
i88:
%r88 = call i32 @hb_vmsh_do(i32 0)
%c88 = icmp ne i32 %r88, 0
br i1 %c88, label %epilogue, label %i90
i90:
br label %i93
i93:
%r93 = call i32 @hb_vmsh_pushsymbol(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 10))
%c93 = icmp ne i32 %r93, 0
br i1 %c93, label %epilogue, label %ipfs93a
ipfs93a:
%r93b = call i32 @hb_vmsh_pushnil()
%c93b = icmp ne i32 %r93b, 0
br i1 %c93b, label %epilogue, label %i96
i96:
%r96 = call i32 @hb_vmsh_do(i32 0)
%c96 = icmp ne i32 %r96, 0
br i1 %c96, label %epilogue, label %i98
i98:
br label %i101
i101:
%r101 = call i32 @hb_vmsh_pushsymbol(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 11))
%c101 = icmp ne i32 %r101, 0
br i1 %c101, label %epilogue, label %ipfs101a
ipfs101a:
%r101b = call i32 @hb_vmsh_pushnil()
%c101b = icmp ne i32 %r101b, 0
br i1 %c101b, label %epilogue, label %i104
i104:
%r104 = call i32 @hb_vmsh_do(i32 0)
%c104 = icmp ne i32 %r104, 0
br i1 %c104, label %epilogue, label %i106
i106:
br label %i109
i109:
%r109 = call i32 @hb_vmsh_pushsymbol(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 12))
%c109 = icmp ne i32 %r109, 0
br i1 %c109, label %epilogue, label %ipfs109a
ipfs109a:
%r109b = call i32 @hb_vmsh_pushnil()
%c109b = icmp ne i32 %r109b, 0
br i1 %c109b, label %epilogue, label %i112
i112:
%r112 = call i32 @hb_vmsh_do(i32 0)
%c112 = icmp ne i32 %r112, 0
br i1 %c112, label %epilogue, label %i114
i114:
br label %i117
i117:
%r117 = call i32 @hb_vmsh_pushsymbol(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 13))
%c117 = icmp ne i32 %r117, 0
br i1 %c117, label %epilogue, label %ipfs117a
ipfs117a:
%r117b = call i32 @hb_vmsh_pushnil()
%c117b = icmp ne i32 %r117b, 0
br i1 %c117b, label %epilogue, label %i120
i120:
%r120 = call i32 @hb_vmsh_do(i32 0)
%c120 = icmp ne i32 %r120, 0
br i1 %c120, label %epilogue, label %i122
i122:
br label %i125
i125:
%r125 = call i32 @hb_vmsh_pushsymbol(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 14))
%c125 = icmp ne i32 %r125, 0
br i1 %c125, label %epilogue, label %ipfs125a
ipfs125a:
%r125b = call i32 @hb_vmsh_pushnil()
%c125b = icmp ne i32 %r125b, 0
br i1 %c125b, label %epilogue, label %i128
i128:
%r128 = call i32 @hb_vmsh_do(i32 0)
%c128 = icmp ne i32 %r128, 0
br i1 %c128, label %epilogue, label %i130
i130:
br label %i133
i133:
%r133 = call i32 @hb_vmsh_pushsymbol(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 15))
%c133 = icmp ne i32 %r133, 0
br i1 %c133, label %epilogue, label %ipfs133a
ipfs133a:
%r133b = call i32 @hb_vmsh_pushnil()
%c133b = icmp ne i32 %r133b, 0
br i1 %c133b, label %epilogue, label %i136
i136:
%r136 = call i32 @hb_vmsh_do(i32 0)
%c136 = icmp ne i32 %r136, 0
br i1 %c136, label %epilogue, label %i138
i138:
br label %i141
i141:
%r141 = call i32 @hb_vmsh_pushsymbol(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 16))
%c141 = icmp ne i32 %r141, 0
br i1 %c141, label %epilogue, label %ipfs141a
ipfs141a:
%r141b = call i32 @hb_vmsh_pushnil()
%c141b = icmp ne i32 %r141b, 0
br i1 %c141b, label %epilogue, label %i144
i144:
%r144 = call i32 @hb_vmsh_do(i32 0)
%c144 = icmp ne i32 %r144, 0
br i1 %c144, label %epilogue, label %i146
i146:
br label %i149
i149:
%r149 = call i32 @hb_vmsh_pushsymbol(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 17))
%c149 = icmp ne i32 %r149, 0
br i1 %c149, label %epilogue, label %ipfs149a
ipfs149a:
%r149b = call i32 @hb_vmsh_pushnil()
%c149b = icmp ne i32 %r149b, 0
br i1 %c149b, label %epilogue, label %i152
i152:
%r152 = call i32 @hb_vmsh_do(i32 0)
%c152 = icmp ne i32 %r152, 0
br i1 %c152, label %epilogue, label %i154
i154:
br label %i157
i157:
%r157 = call i32 @hb_vmsh_pushnil()
%c157 = icmp ne i32 %r157, 0
br i1 %c157, label %epilogue, label %i158
i158:
%r158 = call i32 @hb_vmsh_retvalue()
%c158 = icmp ne i32 %r158, 0
br i1 %c158, label %epilogue, label %i159
i159:
br label %epilogue
epilogue:
ret void
}
define void @HB_FUN_READVAR() {
entry:
br label %i0
i0:
%r0 = call i32 @hb_vmsh_frame(i32 2, i32 0)
%c0 = icmp ne i32 %r0, 0
br i1 %c0, label %epilogue, label %i3
i3:
br label %i6
i6:
%r6 = call i32 @hb_vmsh_pushstring(i8* getelementptr([2 x i8], [2 x i8]* @.sl.str.2, i32 0, i32 0), i64 1)
%c6 = icmp ne i32 %r6, 0
br i1 %c6, label %epilogue, label %i10
i10:
%r10 = call i32 @hb_vmsh_poplocal(i32 2)
%c10 = icmp ne i32 %r10, 0
br i1 %c10, label %epilogue, label %i12
i12:
br label %i15
i15:
%r15 = call i32 @hb_vmsh_pushint(i32 7)
%c15 = icmp ne i32 %r15, 0
br i1 %c15, label %epilogue, label %i17
i17:
%r17 = call i32 @hb_vmsh_pushsymbol(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 3))
%c17 = icmp ne i32 %r17, 0
br i1 %c17, label %epilogue, label %ipfs17a
ipfs17a:
%r17b = call i32 @hb_vmsh_pushnil()
%c17b = icmp ne i32 %r17b, 0
br i1 %c17b, label %epilogue, label %i20
i20:
%r20 = call i32 @hb_vmsh_pushsymbol(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 18))
%c20 = icmp ne i32 %r20, 0
br i1 %c20, label %epilogue, label %i22
i22:
%r22 = call i32 @hb_vmsh_do(i32 1)
%c22 = icmp ne i32 %r22, 0
br i1 %c22, label %epilogue, label %i24
i24:
%r24 = call i32 @hb_vmsh_popmemvar(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 18))
%c24 = icmp ne i32 %r24, 0
br i1 %c24, label %epilogue, label %i27
i27:
br label %i30
i30:
%r30 = call i32 @hb_vmsh_pushlocal(i32 2)
%c30 = icmp ne i32 %r30, 0
br i1 %c30, label %epilogue, label %i32
i32:
%r32 = call i32 @hb_vmsh_macropush(i32 11)
%c32 = icmp ne i32 %r32, 0
br i1 %c32, label %epilogue, label %i34
i34:
%r34 = call i32 @hb_vmsh_poplocal(i32 1)
%c34 = icmp ne i32 %r34, 0
br i1 %c34, label %epilogue, label %i36
i36:
br label %i39
i39:
%r39 = call i32 @hb_vmsh_pushsymbol(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 4))
%c39 = icmp ne i32 %r39, 0
br i1 %c39, label %epilogue, label %ipfs39a
ipfs39a:
%r39b = call i32 @hb_vmsh_pushnil()
%c39b = icmp ne i32 %r39b, 0
br i1 %c39b, label %epilogue, label %i42
i42:
%r42 = call i32 @hb_vmsh_pushlocal(i32 1)
%c42 = icmp ne i32 %r42, 0
br i1 %c42, label %epilogue, label %i44
i44:
%r44 = call i32 @hb_vmsh_do(i32 1)
%c44 = icmp ne i32 %r44, 0
br i1 %c44, label %epilogue, label %i46
i46:
br label %i49
i49:
%r49 = call i32 @hb_vmsh_pushnil()
%c49 = icmp ne i32 %r49, 0
br i1 %c49, label %epilogue, label %i50
i50:
%r50 = call i32 @hb_vmsh_retvalue()
%c50 = icmp ne i32 %r50, 0
br i1 %c50, label %epilogue, label %i51
i51:
br label %epilogue
epilogue:
ret void
}
define void @HB_FUN_WRITEVAR() {
entry:
br label %i0
i0:
%r0 = call i32 @hb_vmsh_frame(i32 1, i32 0)
%c0 = icmp ne i32 %r0, 0
br i1 %c0, label %epilogue, label %i3
i3:
br label %i6
i6:
%r6 = call i32 @hb_vmsh_pushstring(i8* getelementptr([2 x i8], [2 x i8]* @.sl.str.3, i32 0, i32 0), i64 1)
%c6 = icmp ne i32 %r6, 0
br i1 %c6, label %epilogue, label %i10
i10:
%r10 = call i32 @hb_vmsh_poplocal(i32 1)
%c10 = icmp ne i32 %r10, 0
br i1 %c10, label %epilogue, label %i12
i12:
br label %i15
i15:
%r15 = call i32 @hb_vmsh_pushint(i32 0)
%c15 = icmp ne i32 %r15, 0
br i1 %c15, label %epilogue, label %i16
i16:
%r16 = call i32 @hb_vmsh_pushsymbol(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 3))
%c16 = icmp ne i32 %r16, 0
br i1 %c16, label %epilogue, label %ipfs16a
ipfs16a:
%r16b = call i32 @hb_vmsh_pushnil()
%c16b = icmp ne i32 %r16b, 0
br i1 %c16b, label %epilogue, label %i19
i19:
%r19 = call i32 @hb_vmsh_pushsymbol(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 18))
%c19 = icmp ne i32 %r19, 0
br i1 %c19, label %epilogue, label %i21
i21:
%r21 = call i32 @hb_vmsh_do(i32 1)
%c21 = icmp ne i32 %r21, 0
br i1 %c21, label %epilogue, label %i23
i23:
%r23 = call i32 @hb_vmsh_popmemvar(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 18))
%c23 = icmp ne i32 %r23, 0
br i1 %c23, label %epilogue, label %i26
i26:
br label %i29
i29:
%r29 = call i32 @hb_vmsh_pushint(i32 99)
%c29 = icmp ne i32 %r29, 0
br i1 %c29, label %epilogue, label %i31
i31:
%r31 = call i32 @hb_vmsh_pushlocal(i32 1)
%c31 = icmp ne i32 %r31, 0
br i1 %c31, label %epilogue, label %i33
i33:
%r33 = call i32 @hb_vmsh_macropop(i32 11)
%c33 = icmp ne i32 %r33, 0
br i1 %c33, label %epilogue, label %i35
i35:
br label %i38
i38:
%r38 = call i32 @hb_vmsh_pushsymbol(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 4))
%c38 = icmp ne i32 %r38, 0
br i1 %c38, label %epilogue, label %ipfs38a
ipfs38a:
%r38b = call i32 @hb_vmsh_pushnil()
%c38b = icmp ne i32 %r38b, 0
br i1 %c38b, label %epilogue, label %i41
i41:
%r41 = call i32 @hb_vmsh_pushvariable(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 18))
%c41 = icmp ne i32 %r41, 0
br i1 %c41, label %epilogue, label %i44
i44:
%r44 = call i32 @hb_vmsh_do(i32 1)
%c44 = icmp ne i32 %r44, 0
br i1 %c44, label %epilogue, label %i46
i46:
br label %i49
i49:
%r49 = call i32 @hb_vmsh_pushnil()
%c49 = icmp ne i32 %r49, 0
br i1 %c49, label %epilogue, label %i50
i50:
%r50 = call i32 @hb_vmsh_retvalue()
%c50 = icmp ne i32 %r50, 0
br i1 %c50, label %epilogue, label %i51
i51:
br label %epilogue
epilogue:
ret void
}
define void @HB_FUN_CALLFUNC() {
entry:
br label %i0
i0:
%r0 = call i32 @hb_vmsh_frame(i32 1, i32 0)
%c0 = icmp ne i32 %r0, 0
br i1 %c0, label %epilogue, label %i3
i3:
br label %i6
i6:
%r6 = call i32 @hb_vmsh_pushstring(i8* getelementptr([8 x i8], [8 x i8]* @.sl.str.4, i32 0, i32 0), i64 7)
%c6 = icmp ne i32 %r6, 0
br i1 %c6, label %epilogue, label %i16
i16:
%r16 = call i32 @hb_vmsh_poplocal(i32 1)
%c16 = icmp ne i32 %r16, 0
br i1 %c16, label %epilogue, label %i18
i18:
br label %i21
i21:
%r21 = call i32 @hb_vmsh_pushsymbol(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 4))
%c21 = icmp ne i32 %r21, 0
br i1 %c21, label %epilogue, label %ipfs21a
ipfs21a:
%r21b = call i32 @hb_vmsh_pushnil()
%c21b = icmp ne i32 %r21b, 0
br i1 %c21b, label %epilogue, label %i24
i24:
%r24 = call i32 @hb_vmsh_pushsymbol(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 19))
%c24 = icmp ne i32 %r24, 0
br i1 %c24, label %epilogue, label %ipfs24a
ipfs24a:
%r24b = call i32 @hb_vmsh_pushnil()
%c24b = icmp ne i32 %r24b, 0
br i1 %c24b, label %epilogue, label %i27
i27:
%r27 = call i32 @hb_vmsh_pushlocal(i32 1)
%c27 = icmp ne i32 %r27, 0
br i1 %c27, label %epilogue, label %i29
i29:
%r29 = call i32 @hb_vmsh_macropushlist(i32 11)
%c29 = icmp ne i32 %r29, 0
br i1 %c29, label %epilogue, label %i31
i31:
%r31 = call i32 @hb_vmsh_macrofunc(i32 1)
%c31 = icmp ne i32 %r31, 0
br i1 %c31, label %epilogue, label %i34
i34:
%r34 = call i32 @hb_vmsh_do(i32 1)
%c34 = icmp ne i32 %r34, 0
br i1 %c34, label %epilogue, label %i36
i36:
br label %i39
i39:
%r39 = call i32 @hb_vmsh_pushnil()
%c39 = icmp ne i32 %r39, 0
br i1 %c39, label %epilogue, label %i40
i40:
%r40 = call i32 @hb_vmsh_retvalue()
%c40 = icmp ne i32 %r40, 0
br i1 %c40, label %epilogue, label %i41
i41:
br label %epilogue
epilogue:
ret void
}
define void @HB_FUN_DOFUNC() {
entry:
br label %i0
i0:
%r0 = call i32 @hb_vmsh_frame(i32 1, i32 0)
%c0 = icmp ne i32 %r0, 0
br i1 %c0, label %epilogue, label %i3
i3:
br label %i6
i6:
%r6 = call i32 @hb_vmsh_pushstring(i8* getelementptr([9 x i8], [9 x i8]* @.sl.str.5, i32 0, i32 0), i64 8)
%c6 = icmp ne i32 %r6, 0
br i1 %c6, label %epilogue, label %i17
i17:
%r17 = call i32 @hb_vmsh_poplocal(i32 1)
%c17 = icmp ne i32 %r17, 0
br i1 %c17, label %epilogue, label %i19
i19:
br label %i22
i22:
%r22 = call i32 @hb_vmsh_pushsymbol(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 20))
%c22 = icmp ne i32 %r22, 0
br i1 %c22, label %epilogue, label %ipfs22a
ipfs22a:
%r22b = call i32 @hb_vmsh_pushnil()
%c22b = icmp ne i32 %r22b, 0
br i1 %c22b, label %epilogue, label %i25
i25:
%r25 = call i32 @hb_vmsh_pushlocal(i32 1)
%c25 = icmp ne i32 %r25, 0
br i1 %c25, label %epilogue, label %i27
i27:
%r27 = call i32 @hb_vmsh_macropushlist(i32 11)
%c27 = icmp ne i32 %r27, 0
br i1 %c27, label %epilogue, label %i29
i29:
%r29 = call i32 @hb_vmsh_macrodo(i32 1)
%c29 = icmp ne i32 %r29, 0
br i1 %c29, label %epilogue, label %i32
i32:
br label %i35
i35:
%r35 = call i32 @hb_vmsh_pushnil()
%c35 = icmp ne i32 %r35, 0
br i1 %c35, label %epilogue, label %i36
i36:
%r36 = call i32 @hb_vmsh_retvalue()
%c36 = icmp ne i32 %r36, 0
br i1 %c36, label %epilogue, label %i37
i37:
br label %epilogue
epilogue:
ret void
}
define void @HB_FUN_SHOW() {
entry:
br label %i0
i0:
%r0 = call i32 @hb_vmsh_frame(i32 0, i32 1)
%c0 = icmp ne i32 %r0, 0
br i1 %c0, label %epilogue, label %i3
i3:
br label %i6
i6:
%r6 = call i32 @hb_vmsh_pushsymbol(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 4))
%c6 = icmp ne i32 %r6, 0
br i1 %c6, label %epilogue, label %ipfs6a
ipfs6a:
%r6b = call i32 @hb_vmsh_pushnil()
%c6b = icmp ne i32 %r6b, 0
br i1 %c6b, label %epilogue, label %i9
i9:
%r9 = call i32 @hb_vmsh_pushlocal(i32 1)
%c9 = icmp ne i32 %r9, 0
br i1 %c9, label %epilogue, label %i11
i11:
%r11 = call i32 @hb_vmsh_do(i32 1)
%c11 = icmp ne i32 %r11, 0
br i1 %c11, label %epilogue, label %i13
i13:
br label %i16
i16:
%r16 = call i32 @hb_vmsh_pushnil()
%c16 = icmp ne i32 %r16, 0
br i1 %c16, label %epilogue, label %i17
i17:
%r17 = call i32 @hb_vmsh_retvalue()
%c17 = icmp ne i32 %r17, 0
br i1 %c17, label %epilogue, label %i18
i18:
br label %epilogue
epilogue:
ret void
}
define void @HB_FUN_TEXTSUB() {
entry:
br label %i0
i0:
%r0 = call i32 @hb_vmsh_frame(i32 1, i32 0)
%c0 = icmp ne i32 %r0, 0
br i1 %c0, label %epilogue, label %i3
i3:
br label %i6
i6:
%r6 = call i32 @hb_vmsh_pushstring(i8* getelementptr([6 x i8], [6 x i8]* @.sl.str.6, i32 0, i32 0), i64 5)
%c6 = icmp ne i32 %r6, 0
br i1 %c6, label %epilogue, label %i14
i14:
%r14 = call i32 @hb_vmsh_pushsymbol(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 3))
%c14 = icmp ne i32 %r14, 0
br i1 %c14, label %epilogue, label %ipfs14a
ipfs14a:
%r14b = call i32 @hb_vmsh_pushnil()
%c14b = icmp ne i32 %r14b, 0
br i1 %c14b, label %epilogue, label %i17
i17:
%r17 = call i32 @hb_vmsh_pushsymbol(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 21))
%c17 = icmp ne i32 %r17, 0
br i1 %c17, label %epilogue, label %i19
i19:
%r19 = call i32 @hb_vmsh_do(i32 1)
%c19 = icmp ne i32 %r19, 0
br i1 %c19, label %epilogue, label %i21
i21:
%r21 = call i32 @hb_vmsh_popmemvar(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 21))
%c21 = icmp ne i32 %r21, 0
br i1 %c21, label %epilogue, label %i24
i24:
br label %i27
i27:
%r27 = call i32 @hb_vmsh_pushstring(i8* getelementptr([14 x i8], [14 x i8]* @.sl.str.7, i32 0, i32 0), i64 13)
%c27 = icmp ne i32 %r27, 0
br i1 %c27, label %epilogue, label %i43
i43:
%r43 = call i32 @hb_vmsh_macrotext()
%c43 = icmp ne i32 %r43, 0
br i1 %c43, label %epilogue, label %i44
i44:
%r44 = call i32 @hb_vmsh_poplocal(i32 1)
%c44 = icmp ne i32 %r44, 0
br i1 %c44, label %epilogue, label %i46
i46:
br label %i49
i49:
%r49 = call i32 @hb_vmsh_pushsymbol(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 4))
%c49 = icmp ne i32 %r49, 0
br i1 %c49, label %epilogue, label %ipfs49a
ipfs49a:
%r49b = call i32 @hb_vmsh_pushnil()
%c49b = icmp ne i32 %r49b, 0
br i1 %c49b, label %epilogue, label %i52
i52:
%r52 = call i32 @hb_vmsh_pushlocal(i32 1)
%c52 = icmp ne i32 %r52, 0
br i1 %c52, label %epilogue, label %i54
i54:
%r54 = call i32 @hb_vmsh_do(i32 1)
%c54 = icmp ne i32 %r54, 0
br i1 %c54, label %epilogue, label %i56
i56:
br label %i59
i59:
%r59 = call i32 @hb_vmsh_pushnil()
%c59 = icmp ne i32 %r59, 0
br i1 %c59, label %epilogue, label %i60
i60:
%r60 = call i32 @hb_vmsh_retvalue()
%c60 = icmp ne i32 %r60, 0
br i1 %c60, label %epilogue, label %i61
i61:
br label %epilogue
epilogue:
ret void
}
define void @HB_FUN_REFMACRO() {
entry:
br label %i0
i0:
%r0 = call i32 @hb_vmsh_frame(i32 1, i32 0)
%c0 = icmp ne i32 %r0, 0
br i1 %c0, label %epilogue, label %i3
i3:
br label %i6
i6:
%r6 = call i32 @hb_vmsh_pushstring(i8* getelementptr([2 x i8], [2 x i8]* @.sl.str.8, i32 0, i32 0), i64 1)
%c6 = icmp ne i32 %r6, 0
br i1 %c6, label %epilogue, label %i10
i10:
%r10 = call i32 @hb_vmsh_poplocal(i32 1)
%c10 = icmp ne i32 %r10, 0
br i1 %c10, label %epilogue, label %i12
i12:
br label %i15
i15:
%r15 = call i32 @hb_vmsh_pushint(i32 0)
%c15 = icmp ne i32 %r15, 0
br i1 %c15, label %epilogue, label %i16
i16:
%r16 = call i32 @hb_vmsh_pushsymbol(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 3))
%c16 = icmp ne i32 %r16, 0
br i1 %c16, label %epilogue, label %ipfs16a
ipfs16a:
%r16b = call i32 @hb_vmsh_pushnil()
%c16b = icmp ne i32 %r16b, 0
br i1 %c16b, label %epilogue, label %i19
i19:
%r19 = call i32 @hb_vmsh_pushsymbol(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 18))
%c19 = icmp ne i32 %r19, 0
br i1 %c19, label %epilogue, label %i21
i21:
%r21 = call i32 @hb_vmsh_do(i32 1)
%c21 = icmp ne i32 %r21, 0
br i1 %c21, label %epilogue, label %i23
i23:
%r23 = call i32 @hb_vmsh_popmemvar(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 18))
%c23 = icmp ne i32 %r23, 0
br i1 %c23, label %epilogue, label %i26
i26:
br label %i29
i29:
%r29 = call i32 @hb_vmsh_pushsymbol(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 22))
%c29 = icmp ne i32 %r29, 0
br i1 %c29, label %epilogue, label %ipfs29a
ipfs29a:
%r29b = call i32 @hb_vmsh_pushnil()
%c29b = icmp ne i32 %r29b, 0
br i1 %c29b, label %epilogue, label %i32
i32:
%r32 = call i32 @hb_vmsh_pushlocal(i32 1)
%c32 = icmp ne i32 %r32, 0
br i1 %c32, label %epilogue, label %i34
i34:
%r34 = call i32 @hb_vmsh_macropushref()
%c34 = icmp ne i32 %r34, 0
br i1 %c34, label %epilogue, label %i35
i35:
%r35 = call i32 @hb_vmsh_do(i32 1)
%c35 = icmp ne i32 %r35, 0
br i1 %c35, label %epilogue, label %i37
i37:
br label %i40
i40:
%r40 = call i32 @hb_vmsh_pushsymbol(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 4))
%c40 = icmp ne i32 %r40, 0
br i1 %c40, label %epilogue, label %ipfs40a
ipfs40a:
%r40b = call i32 @hb_vmsh_pushnil()
%c40b = icmp ne i32 %r40b, 0
br i1 %c40b, label %epilogue, label %i43
i43:
%r43 = call i32 @hb_vmsh_pushvariable(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 18))
%c43 = icmp ne i32 %r43, 0
br i1 %c43, label %epilogue, label %i46
i46:
%r46 = call i32 @hb_vmsh_do(i32 1)
%c46 = icmp ne i32 %r46, 0
br i1 %c46, label %epilogue, label %i48
i48:
br label %i51
i51:
%r51 = call i32 @hb_vmsh_pushnil()
%c51 = icmp ne i32 %r51, 0
br i1 %c51, label %epilogue, label %i52
i52:
%r52 = call i32 @hb_vmsh_retvalue()
%c52 = icmp ne i32 %r52, 0
br i1 %c52, label %epilogue, label %i53
i53:
br label %epilogue
epilogue:
ret void
}
define void @HB_FUN_TAKEREF() {
entry:
br label %i0
i0:
%r0 = call i32 @hb_vmsh_frame(i32 0, i32 1)
%c0 = icmp ne i32 %r0, 0
br i1 %c0, label %epilogue, label %i3
i3:
br label %i6
i6:
%r6 = call i32 @hb_vmsh_pushint(i32 33)
%c6 = icmp ne i32 %r6, 0
br i1 %c6, label %epilogue, label %i8
i8:
%r8 = call i32 @hb_vmsh_poplocal(i32 1)
%c8 = icmp ne i32 %r8, 0
br i1 %c8, label %epilogue, label %i10
i10:
br label %i13
i13:
%r13 = call i32 @hb_vmsh_pushnil()
%c13 = icmp ne i32 %r13, 0
br i1 %c13, label %epilogue, label %i14
i14:
%r14 = call i32 @hb_vmsh_retvalue()
%c14 = icmp ne i32 %r14, 0
br i1 %c14, label %epilogue, label %i15
i15:
br label %epilogue
epilogue:
ret void
}
define void @HB_FUN_ALIASMACRO() {
entry:
br label %i0
i0:
%r0 = call i32 @hb_vmsh_frame(i32 1, i32 0)
%c0 = icmp ne i32 %r0, 0
br i1 %c0, label %epilogue, label %i3
i3:
br label %i6
i6:
%r6 = call i32 @hb_vmsh_pushstring(i8* getelementptr([4 x i8], [4 x i8]* @.sl.str.9, i32 0, i32 0), i64 3)
%c6 = icmp ne i32 %r6, 0
br i1 %c6, label %epilogue, label %i12
i12:
%r12 = call i32 @hb_vmsh_poplocal(i32 1)
%c12 = icmp ne i32 %r12, 0
br i1 %c12, label %epilogue, label %i14
i14:
br label %i17
i17:
%r17 = call i32 @hb_vmsh_pushint(i32 99)
%c17 = icmp ne i32 %r17, 0
br i1 %c17, label %epilogue, label %i19
i19:
%r19 = call i32 @hb_vmsh_pushsymbol(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 3))
%c19 = icmp ne i32 %r19, 0
br i1 %c19, label %epilogue, label %ipfs19a
ipfs19a:
%r19b = call i32 @hb_vmsh_pushnil()
%c19b = icmp ne i32 %r19b, 0
br i1 %c19b, label %epilogue, label %i22
i22:
%r22 = call i32 @hb_vmsh_pushsymbol(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 23))
%c22 = icmp ne i32 %r22, 0
br i1 %c22, label %epilogue, label %i24
i24:
%r24 = call i32 @hb_vmsh_do(i32 1)
%c24 = icmp ne i32 %r24, 0
br i1 %c24, label %epilogue, label %i26
i26:
%r26 = call i32 @hb_vmsh_popmemvar(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 23))
%c26 = icmp ne i32 %r26, 0
br i1 %c26, label %epilogue, label %i29
i29:
br label %i32
i32:
%r32 = call i32 @hb_vmsh_pushsymbol(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 4))
%c32 = icmp ne i32 %r32, 0
br i1 %c32, label %epilogue, label %ipfs32a
ipfs32a:
%r32b = call i32 @hb_vmsh_pushnil()
%c32b = icmp ne i32 %r32b, 0
br i1 %c32b, label %epilogue, label %i35
i35:
%r35 = call i32 @hb_vmsh_pushstring(i8* getelementptr([2 x i8], [2 x i8]* @.sl.str.10, i32 0, i32 0), i64 1)
%c35 = icmp ne i32 %r35, 0
br i1 %c35, label %epilogue, label %i39
i39:
%r39 = call i32 @hb_vmsh_pushlocal(i32 1)
%c39 = icmp ne i32 %r39, 0
br i1 %c39, label %epilogue, label %i41
i41:
%r41 = call i32 @hb_vmsh_macropushaliased(i32 11)
%c41 = icmp ne i32 %r41, 0
br i1 %c41, label %epilogue, label %i43
i43:
%r43 = call i32 @hb_vmsh_do(i32 1)
%c43 = icmp ne i32 %r43, 0
br i1 %c43, label %epilogue, label %i45
i45:
br label %i48
i48:
%r48 = call i32 @hb_vmsh_pushnil()
%c48 = icmp ne i32 %r48, 0
br i1 %c48, label %epilogue, label %i49
i49:
%r49 = call i32 @hb_vmsh_retvalue()
%c49 = icmp ne i32 %r49, 0
br i1 %c49, label %epilogue, label %i50
i50:
br label %epilogue
epilogue:
ret void
}
define void @HB_FUN_SENDMSG() {
entry:
br label %i0
i0:
%r0 = call i32 @hb_vmsh_frame(i32 2, i32 0)
%c0 = icmp ne i32 %r0, 0
br i1 %c0, label %epilogue, label %i3
i3:
br label %i6
i6:
%r6 = call i32 @hb_vmsh_pushsymbol(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 24))
%c6 = icmp ne i32 %r6, 0
br i1 %c6, label %epilogue, label %ipfs6a
ipfs6a:
%r6b = call i32 @hb_vmsh_pushnil()
%c6b = icmp ne i32 %r6b, 0
br i1 %c6b, label %epilogue, label %i9
i9:
%r9 = call i32 @hb_vmsh_function(i32 0)
%c9 = icmp ne i32 %r9, 0
br i1 %c9, label %epilogue, label %i11
i11:
%r11 = call i32 @hb_vmsh_poplocal(i32 1)
%c11 = icmp ne i32 %r11, 0
br i1 %c11, label %epilogue, label %i13
i13:
br label %i16
i16:
%r16 = call i32 @hb_vmsh_pushstring(i8* getelementptr([10 x i8], [10 x i8]* @.sl.str.11, i32 0, i32 0), i64 9)
%c16 = icmp ne i32 %r16, 0
br i1 %c16, label %epilogue, label %i28
i28:
%r28 = call i32 @hb_vmsh_poplocal(i32 2)
%c28 = icmp ne i32 %r28, 0
br i1 %c28, label %epilogue, label %i30
i30:
br label %i33
i33:
%r33 = call i32 @hb_vmsh_message(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 25))
%c33 = icmp ne i32 %r33, 0
br i1 %c33, label %epilogue, label %i36
i36:
%r36 = call i32 @hb_vmsh_pushlocal(i32 1)
%c36 = icmp ne i32 %r36, 0
br i1 %c36, label %epilogue, label %i38
i38:
%r38 = call i32 @hb_vmsh_pushlocal(i32 2)
%c38 = icmp ne i32 %r38, 0
br i1 %c38, label %epilogue, label %i40
i40:
%r40 = call i32 @hb_vmsh_macropushlist(i32 11)
%c40 = icmp ne i32 %r40, 0
br i1 %c40, label %epilogue, label %i42
i42:
%r42 = call i32 @hb_vmsh_macrosend(i32 1)
%c42 = icmp ne i32 %r42, 0
br i1 %c42, label %epilogue, label %i45
i45:
%r45 = call i32 @hb_vmsh_pop()
%c45 = icmp ne i32 %r45, 0
br i1 %c45, label %epilogue, label %i46
i46:
br label %i49
i49:
%r49 = call i32 @hb_vmsh_pushsymbol(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 4))
%c49 = icmp ne i32 %r49, 0
br i1 %c49, label %epilogue, label %ipfs49a
ipfs49a:
%r49b = call i32 @hb_vmsh_pushnil()
%c49b = icmp ne i32 %r49b, 0
br i1 %c49b, label %epilogue, label %i52
i52:
%r52 = call i32 @hb_vmsh_message(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 26))
%c52 = icmp ne i32 %r52, 0
br i1 %c52, label %epilogue, label %i55
i55:
%r55 = call i32 @hb_vmsh_pushlocal(i32 1)
%c55 = icmp ne i32 %r55, 0
br i1 %c55, label %epilogue, label %i57
i57:
%r57 = call i32 @hb_vmsh_send(i32 0)
%c57 = icmp ne i32 %r57, 0
br i1 %c57, label %epilogue, label %i59
i59:
%r59 = call i32 @hb_vmsh_do(i32 1)
%c59 = icmp ne i32 %r59, 0
br i1 %c59, label %epilogue, label %i61
i61:
br label %i64
i64:
%r64 = call i32 @hb_vmsh_pushnil()
%c64 = icmp ne i32 %r64, 0
br i1 %c64, label %epilogue, label %i65
i65:
%r65 = call i32 @hb_vmsh_retvalue()
%c65 = icmp ne i32 %r65, 0
br i1 %c65, label %epilogue, label %i66
i66:
br label %epilogue
epilogue:
ret void
}
define void @HB_FUN_PARESUB() {
entry:
br label %i0
i0:
%r0 = call i32 @hb_vmsh_frame(i32 2, i32 0)
%c0 = icmp ne i32 %r0, 0
br i1 %c0, label %epilogue, label %i3
i3:
br label %i6
i6:
%r6 = call i32 @hb_vmsh_pushstring(i8* getelementptr([6 x i8], [6 x i8]* @.sl.str.12, i32 0, i32 0), i64 5)
%c6 = icmp ne i32 %r6, 0
br i1 %c6, label %epilogue, label %i14
i14:
%r14 = call i32 @hb_vmsh_poplocal(i32 2)
%c14 = icmp ne i32 %r14, 0
br i1 %c14, label %epilogue, label %i16
i16:
br label %i19
i19:
%r19 = call i32 @hb_vmsh_pushlocal(i32 2)
%c19 = icmp ne i32 %r19, 0
br i1 %c19, label %epilogue, label %i21
i21:
%r21 = call i32 @hb_vmsh_macropushpare(i32 11)
%c21 = icmp ne i32 %r21, 0
br i1 %c21, label %epilogue, label %i23
i23:
%r23 = call i32 @hb_vmsh_poplocal(i32 1)
%c23 = icmp ne i32 %r23, 0
br i1 %c23, label %epilogue, label %i25
i25:
br label %i28
i28:
%r28 = call i32 @hb_vmsh_pushsymbol(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 4))
%c28 = icmp ne i32 %r28, 0
br i1 %c28, label %epilogue, label %ipfs28a
ipfs28a:
%r28b = call i32 @hb_vmsh_pushnil()
%c28b = icmp ne i32 %r28b, 0
br i1 %c28b, label %epilogue, label %i31
i31:
%r31 = call i32 @hb_vmsh_pushlocal(i32 1)
%c31 = icmp ne i32 %r31, 0
br i1 %c31, label %epilogue, label %i33
i33:
%r33 = call i32 @hb_vmsh_do(i32 1)
%c33 = icmp ne i32 %r33, 0
br i1 %c33, label %epilogue, label %i35
i35:
br label %i38
i38:
%r38 = call i32 @hb_vmsh_pushnil()
%c38 = icmp ne i32 %r38, 0
br i1 %c38, label %epilogue, label %i39
i39:
%r39 = call i32 @hb_vmsh_retvalue()
%c39 = icmp ne i32 %r39, 0
br i1 %c39, label %epilogue, label %i40
i40:
br label %epilogue
epilogue:
ret void
}
define void @HB_FUN_ALIASWRITE() {
entry:
br label %i0
i0:
%r0 = call i32 @hb_vmsh_frame(i32 1, i32 0)
%c0 = icmp ne i32 %r0, 0
br i1 %c0, label %epilogue, label %i3
i3:
br label %i6
i6:
%r6 = call i32 @hb_vmsh_pushstring(i8* getelementptr([4 x i8], [4 x i8]* @.sl.str.13, i32 0, i32 0), i64 3)
%c6 = icmp ne i32 %r6, 0
br i1 %c6, label %epilogue, label %i12
i12:
%r12 = call i32 @hb_vmsh_poplocal(i32 1)
%c12 = icmp ne i32 %r12, 0
br i1 %c12, label %epilogue, label %i14
i14:
br label %i17
i17:
%r17 = call i32 @hb_vmsh_pushint(i32 0)
%c17 = icmp ne i32 %r17, 0
br i1 %c17, label %epilogue, label %i18
i18:
%r18 = call i32 @hb_vmsh_pushsymbol(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 3))
%c18 = icmp ne i32 %r18, 0
br i1 %c18, label %epilogue, label %ipfs18a
ipfs18a:
%r18b = call i32 @hb_vmsh_pushnil()
%c18b = icmp ne i32 %r18b, 0
br i1 %c18b, label %epilogue, label %i21
i21:
%r21 = call i32 @hb_vmsh_pushsymbol(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 27))
%c21 = icmp ne i32 %r21, 0
br i1 %c21, label %epilogue, label %i23
i23:
%r23 = call i32 @hb_vmsh_do(i32 1)
%c23 = icmp ne i32 %r23, 0
br i1 %c23, label %epilogue, label %i25
i25:
%r25 = call i32 @hb_vmsh_popmemvar(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 27))
%c25 = icmp ne i32 %r25, 0
br i1 %c25, label %epilogue, label %i28
i28:
br label %i31
i31:
%r31 = call i32 @hb_vmsh_pushint(i32 42)
%c31 = icmp ne i32 %r31, 0
br i1 %c31, label %epilogue, label %i33
i33:
%r33 = call i32 @hb_vmsh_pushstring(i8* getelementptr([2 x i8], [2 x i8]* @.sl.str.14, i32 0, i32 0), i64 1)
%c33 = icmp ne i32 %r33, 0
br i1 %c33, label %epilogue, label %i37
i37:
%r37 = call i32 @hb_vmsh_pushlocal(i32 1)
%c37 = icmp ne i32 %r37, 0
br i1 %c37, label %epilogue, label %i39
i39:
%r39 = call i32 @hb_vmsh_macropopaliased(i32 11)
%c39 = icmp ne i32 %r39, 0
br i1 %c39, label %epilogue, label %i41
i41:
br label %i44
i44:
%r44 = call i32 @hb_vmsh_pushsymbol(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 4))
%c44 = icmp ne i32 %r44, 0
br i1 %c44, label %epilogue, label %ipfs44a
ipfs44a:
%r44b = call i32 @hb_vmsh_pushnil()
%c44b = icmp ne i32 %r44b, 0
br i1 %c44b, label %epilogue, label %i47
i47:
%r47 = call i32 @hb_vmsh_pushvariable(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 27))
%c47 = icmp ne i32 %r47, 0
br i1 %c47, label %epilogue, label %i50
i50:
%r50 = call i32 @hb_vmsh_do(i32 1)
%c50 = icmp ne i32 %r50, 0
br i1 %c50, label %epilogue, label %i52
i52:
br label %i55
i55:
%r55 = call i32 @hb_vmsh_pushnil()
%c55 = icmp ne i32 %r55, 0
br i1 %c55, label %epilogue, label %i56
i56:
%r56 = call i32 @hb_vmsh_retvalue()
%c56 = icmp ne i32 %r56, 0
br i1 %c56, label %epilogue, label %i57
i57:
br label %epilogue
epilogue:
ret void
}
define void @HB_FUN_ARRAYGEN() {
entry:
br label %i0
i0:
%r0 = call i32 @hb_vmsh_frame(i32 2, i32 0)
%c0 = icmp ne i32 %r0, 0
br i1 %c0, label %epilogue, label %i3
i3:
br label %i6
i6:
%r6 = call i32 @hb_vmsh_pushstring(i8* getelementptr([11 x i8], [11 x i8]* @.sl.str.15, i32 0, i32 0), i64 10)
%c6 = icmp ne i32 %r6, 0
br i1 %c6, label %epilogue, label %i19
i19:
%r19 = call i32 @hb_vmsh_poplocal(i32 1)
%c19 = icmp ne i32 %r19, 0
br i1 %c19, label %epilogue, label %i21
i21:
br label %i24
i24:
%r24 = call i32 @hb_vmsh_pushlocal(i32 1)
%c24 = icmp ne i32 %r24, 0
br i1 %c24, label %epilogue, label %i26
i26:
%r26 = call i32 @hb_vmsh_macropushlist(i32 11)
%c26 = icmp ne i32 %r26, 0
br i1 %c26, label %epilogue, label %i28
i28:
%r28 = call i32 @hb_vmsh_macroarraygen(i32 1)
%c28 = icmp ne i32 %r28, 0
br i1 %c28, label %epilogue, label %i31
i31:
%r31 = call i32 @hb_vmsh_poplocal(i32 2)
%c31 = icmp ne i32 %r31, 0
br i1 %c31, label %epilogue, label %i33
i33:
br label %i36
i36:
%r36 = call i32 @hb_vmsh_pushsymbol(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 4))
%c36 = icmp ne i32 %r36, 0
br i1 %c36, label %epilogue, label %ipfs36a
ipfs36a:
%r36b = call i32 @hb_vmsh_pushnil()
%c36b = icmp ne i32 %r36b, 0
br i1 %c36b, label %epilogue, label %i39
i39:
%r39 = call i32 @hb_vmsh_pushlocal(i32 2)
%c39 = icmp ne i32 %r39, 0
br i1 %c39, label %epilogue, label %i41
i41:
%r41 = call i32 @hb_vmsh_pushint(i32 1)
%c41 = icmp ne i32 %r41, 0
br i1 %c41, label %epilogue, label %i42
i42:
%r42 = call i32 @hb_vmsh_arraypush()
%c42 = icmp ne i32 %r42, 0
br i1 %c42, label %epilogue, label %i43
i43:
%r43 = call i32 @hb_vmsh_do(i32 1)
%c43 = icmp ne i32 %r43, 0
br i1 %c43, label %epilogue, label %i45
i45:
br label %i48
i48:
%r48 = call i32 @hb_vmsh_pushnil()
%c48 = icmp ne i32 %r48, 0
br i1 %c48, label %epilogue, label %i49
i49:
%r49 = call i32 @hb_vmsh_retvalue()
%c49 = icmp ne i32 %r49, 0
br i1 %c49, label %epilogue, label %i50
i50:
br label %epilogue
epilogue:
ret void
}
define void @HB_FUN_ARRAYINDEX() {
entry:
br label %i0
i0:
%r0 = call i32 @hb_vmsh_frame(i32 2, i32 0)
%c0 = icmp ne i32 %r0, 0
br i1 %c0, label %epilogue, label %i3
i3:
br label %i6
i6:
%r6 = call i32 @hb_vmsh_pushint(i32 10)
%c6 = icmp ne i32 %r6, 0
br i1 %c6, label %epilogue, label %i8
i8:
%r8 = call i32 @hb_vmsh_pushint(i32 20)
%c8 = icmp ne i32 %r8, 0
br i1 %c8, label %epilogue, label %i10
i10:
%r10 = call i32 @hb_vmsh_pushint(i32 30)
%c10 = icmp ne i32 %r10, 0
br i1 %c10, label %epilogue, label %i12
i12:
%r12 = call i32 @hb_vmsh_arraygen(i32 3)
%c12 = icmp ne i32 %r12, 0
br i1 %c12, label %epilogue, label %i15
i15:
%r15 = call i32 @hb_vmsh_poplocal(i32 1)
%c15 = icmp ne i32 %r15, 0
br i1 %c15, label %epilogue, label %i17
i17:
br label %i20
i20:
%r20 = call i32 @hb_vmsh_pushstring(i8* getelementptr([2 x i8], [2 x i8]* @.sl.str.16, i32 0, i32 0), i64 1)
%c20 = icmp ne i32 %r20, 0
br i1 %c20, label %epilogue, label %i24
i24:
%r24 = call i32 @hb_vmsh_poplocal(i32 2)
%c24 = icmp ne i32 %r24, 0
br i1 %c24, label %epilogue, label %i26
i26:
br label %i29
i29:
%r29 = call i32 @hb_vmsh_pushsymbol(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 4))
%c29 = icmp ne i32 %r29, 0
br i1 %c29, label %epilogue, label %ipfs29a
ipfs29a:
%r29b = call i32 @hb_vmsh_pushnil()
%c29b = icmp ne i32 %r29b, 0
br i1 %c29b, label %epilogue, label %i32
i32:
%r32 = call i32 @hb_vmsh_pushlocal(i32 1)
%c32 = icmp ne i32 %r32, 0
br i1 %c32, label %epilogue, label %i34
i34:
%r34 = call i32 @hb_vmsh_pushlocal(i32 2)
%c34 = icmp ne i32 %r34, 0
br i1 %c34, label %epilogue, label %i36
i36:
%r36 = call i32 @hb_vmsh_macropushlist(i32 11)
%c36 = icmp ne i32 %r36, 0
br i1 %c36, label %epilogue, label %i38
i38:
%r38 = call i32 @hb_vmsh_macropushindex()
%c38 = icmp ne i32 %r38, 0
br i1 %c38, label %epilogue, label %i39
i39:
%r39 = call i32 @hb_vmsh_arraypush()
%c39 = icmp ne i32 %r39, 0
br i1 %c39, label %epilogue, label %i40
i40:
%r40 = call i32 @hb_vmsh_do(i32 1)
%c40 = icmp ne i32 %r40, 0
br i1 %c40, label %epilogue, label %i42
i42:
br label %i45
i45:
%r45 = call i32 @hb_vmsh_pushnil()
%c45 = icmp ne i32 %r45, 0
br i1 %c45, label %epilogue, label %i46
i46:
%r46 = call i32 @hb_vmsh_retvalue()
%c46 = icmp ne i32 %r46, 0
br i1 %c46, label %epilogue, label %i47
i47:
br label %epilogue
epilogue:
ret void
}
define void @HB_FUN_SYMBOLCALL() {
entry:
br label %i0
i0:
%r0 = call i32 @hb_vmsh_frame(i32 1, i32 0)
%c0 = icmp ne i32 %r0, 0
br i1 %c0, label %epilogue, label %i3
i3:
br label %i6
i6:
%r6 = call i32 @hb_vmsh_pushstring(i8* getelementptr([6 x i8], [6 x i8]* @.sl.str.17, i32 0, i32 0), i64 5)
%c6 = icmp ne i32 %r6, 0
br i1 %c6, label %epilogue, label %i14
i14:
%r14 = call i32 @hb_vmsh_poplocal(i32 1)
%c14 = icmp ne i32 %r14, 0
br i1 %c14, label %epilogue, label %i16
i16:
br label %i19
i19:
%r19 = call i32 @hb_vmsh_pushlocal(i32 1)
%c19 = icmp ne i32 %r19, 0
br i1 %c19, label %epilogue, label %i21
i21:
%r21 = call i32 @hb_vmsh_macrosymbol()
%c21 = icmp ne i32 %r21, 0
br i1 %c21, label %epilogue, label %i22
i22:
%r22 = call i32 @hb_vmsh_pushnil()
%c22 = icmp ne i32 %r22, 0
br i1 %c22, label %epilogue, label %i23
i23:
%r23 = call i32 @hb_vmsh_do(i32 0)
%c23 = icmp ne i32 %r23, 0
br i1 %c23, label %epilogue, label %i25
i25:
br label %i28
i28:
%r28 = call i32 @hb_vmsh_pushnil()
%c28 = icmp ne i32 %r28, 0
br i1 %c28, label %epilogue, label %i29
i29:
%r29 = call i32 @hb_vmsh_retvalue()
%c29 = icmp ne i32 %r29, 0
br i1 %c29, label %epilogue, label %i30
i30:
br label %epilogue
epilogue:
ret void
}
define void @HB_FUN_SAYHI() {
entry:
br label %i0
i0:
br label %i3
i3:
%r3 = call i32 @hb_vmsh_pushsymbol(%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 4))
%c3 = icmp ne i32 %r3, 0
br i1 %c3, label %epilogue, label %ipfs3a
ipfs3a:
%r3b = call i32 @hb_vmsh_pushnil()
%c3b = icmp ne i32 %r3b, 0
br i1 %c3b, label %epilogue, label %i6
i6:
%r6 = call i32 @hb_vmsh_pushstring(i8* getelementptr([12 x i8], [12 x i8]* @.sl.str.18, i32 0, i32 0), i64 11)
%c6 = icmp ne i32 %r6, 0
br i1 %c6, label %epilogue, label %i20
i20:
%r20 = call i32 @hb_vmsh_do(i32 1)
%c20 = icmp ne i32 %r20, 0
br i1 %c20, label %epilogue, label %i22
i22:
br label %i25
i25:
%r25 = call i32 @hb_vmsh_pushnil()
%c25 = icmp ne i32 %r25, 0
br i1 %c25, label %epilogue, label %i26
i26:
%r26 = call i32 @hb_vmsh_retvalue()
%c26 = icmp ne i32 %r26, 0
br i1 %c26, label %epilogue, label %i27
i27:
br label %epilogue
epilogue:
ret void
}
define internal void @hb_vm_SymbolInit() {
%r = call %HB_SYMB* @hb_vmProcessSymbols(
%HB_SYMB* getelementptr([29 x %HB_SYMB], [29 x %HB_SYMB]* @symbols_table, i32 0, i32 0),
i16 29,
i8* getelementptr([21 x i8], [21 x i8]* @.modname, i32 0, i32 0),
i32 0, i16 3)
store %HB_SYMB* %r, %HB_SYMB** @symbols
ret void
}
@__hb_init_ptr = global [1 x void()*] [void()* @hb_vm_SymbolInit], section ".init_array", align 8
@llvm.used = appending global [1 x i8*] [i8* bitcast([1 x void()*]* @__hb_init_ptr to i8*)], section "llvm.metadata"