@sml_check_flag=external local_unnamed_addr global i32
@_SMLZN19SMLSharp__SQL__Config6DLLEXTE=external local_unnamed_addr global i8*
@a=private unnamed_addr constant<{[4x i8],i32,[20x i8]}><{[4x i8]zeroinitializer,i32 -2147483628,[20x i8]c"SMLSHARP_LIBSQLITE3\00"}>,align 8
@b=private unnamed_addr constant<{[4x i8],i32,[14x i8]}><{[4x i8]zeroinitializer,i32 -2147483634,[14x i8]c"libsqlite3.0.\00"}>,align 8
@c=private unnamed_addr constant<{[4x i8],i32,[16x i8]}><{[4x i8]zeroinitializer,i32 -2147483632,[16x i8]c"libsqlite3.so.0\00"}>,align 8
@d=private unnamed_addr constant<{[4x i8],i32,i8*,void(...)*,void(...)*,i32}><{[4x i8]zeroinitializer,i32 -805306344,i8*null,void(...)*bitcast(i8*(i32)*@_SMLLN20SMLSharp__SQL__SQLite35dlsymE_47 to void(...)*),void(...)*bitcast(i8*(i8*,i8*)*@_SMLLN20SMLSharp__SQL__SQLite35dlsymE_114 to void(...)*),i32 -2147483647}>,align 8
@e=private unnamed_addr constant<{[4x i8],i32,[15x i8]}><{[4x i8]zeroinitializer,i32 -2147483633,[15x i8]c"sqlite3_errstr\00"}>,align 8
@f=private unnamed_addr constant<{[4x i8],i32,[16x i8]}><{[4x i8]zeroinitializer,i32 -2147483632,[16x i8]c"sqlite3_open_v2\00"}>,align 8
@g=private unnamed_addr constant<{[4x i8],i32,i8*,void(...)*,void(...)*,i32}><{[4x i8]zeroinitializer,i32 -805306344,i8*null,void(...)*bitcast(i32(i8*)*@_SMLLN20SMLSharp__SQL__SQLite315sqlite3__open__v2E_55 to void(...)*),void(...)*bitcast(i8*(i8*,i8*)*@_SMLLN20SMLSharp__SQL__SQLite315sqlite3__open__v2E_119 to void(...)*),i32 -2147483647}>,align 8
@h=private unnamed_addr constant<{[4x i8],i32,[17x i8]}><{[4x i8]zeroinitializer,i32 -2147483631,[17x i8]c"sqlite3_close_v2\00"}>,align 8
@i=private unnamed_addr constant<{[4x i8],i32,[19x i8]}><{[4x i8]zeroinitializer,i32 -2147483629,[19x i8]c"sqlite3_prepare_v2\00"}>,align 8
@j=private unnamed_addr constant<{[4x i8],i32,[13x i8]}><{[4x i8]zeroinitializer,i32 -2147483635,[13x i8]c"sqlite3_step\00"}>,align 8
@k=private unnamed_addr constant<{[4x i8],i32,[20x i8]}><{[4x i8]zeroinitializer,i32 -2147483628,[20x i8]c"sqlite3_column_type\00"}>,align 8
@l=private unnamed_addr constant<{[4x i8],i32,[21x i8]}><{[4x i8]zeroinitializer,i32 -2147483627,[21x i8]c"sqlite3_column_bytes\00"}>,align 8
@m=private unnamed_addr constant<{[4x i8],i32,[20x i8]}><{[4x i8]zeroinitializer,i32 -2147483628,[20x i8]c"sqlite3_column_blob\00"}>,align 8
@n=private unnamed_addr constant<{[4x i8],i32,[22x i8]}><{[4x i8]zeroinitializer,i32 -2147483626,[22x i8]c"sqlite3_column_double\00"}>,align 8
@o=private unnamed_addr constant<{[4x i8],i32,[19x i8]}><{[4x i8]zeroinitializer,i32 -2147483629,[19x i8]c"sqlite3_column_int\00"}>,align 8
@p=private unnamed_addr constant<{[4x i8],i32,[21x i8]}><{[4x i8]zeroinitializer,i32 -2147483627,[21x i8]c"sqlite3_column_int64\00"}>,align 8
@q=private unnamed_addr constant<{[4x i8],i32,[20x i8]}><{[4x i8]zeroinitializer,i32 -2147483628,[20x i8]c"sqlite3_column_text\00"}>,align 8
@r=private unnamed_addr constant<{[4x i8],i32,[17x i8]}><{[4x i8]zeroinitializer,i32 -2147483631,[17x i8]c"sqlite3_finalize\00"}>,align 8
@_SMLZN20SMLSharp__SQL__SQLite39SQLITE__OKE=local_unnamed_addr constant i32 0
@_SMLZN20SMLSharp__SQL__SQLite310SQLITE__ROWE=local_unnamed_addr constant i32 100
@_SMLZN20SMLSharp__SQL__SQLite311SQLITE__DONEE=local_unnamed_addr constant i32 101
@_SMLZN20SMLSharp__SQL__SQLite320SQLITE__OPEN__READONLYE=local_unnamed_addr constant i32 1
@_SMLZN20SMLSharp__SQL__SQLite321SQLITE__OPEN__READWRITEE=local_unnamed_addr constant i32 2
@_SMLZN20SMLSharp__SQL__SQLite328SQLITE__OPEN__READWRITE__CREATEE=local_unnamed_addr constant i32 6
@_SMLZN20SMLSharp__SQL__SQLite319SQLITE__OPEN__NOMUTEXE=local_unnamed_addr constant i32 32768
@_SMLZN20SMLSharp__SQL__SQLite321SQLITE__OPEN__FULLMUTEXE=local_unnamed_addr constant i32 65536
@_SMLZN20SMLSharp__SQL__SQLite323SQLITE__OPEN__SHAREDCACHEE=local_unnamed_addr constant i32 131072
@_SMLZN20SMLSharp__SQL__SQLite324SQLITE__OPEN__PRIVATECACHEE=local_unnamed_addr constant i32 262144
@_SMLZN20SMLSharp__SQL__SQLite315SQLITE__OPEN__URIE=local_unnamed_addr constant i32 64
@s=private unnamed_addr constant<{[4x i8],i32,i32,i32,i32,i32,i32}><{[4x i8]zeroinitializer,i32 -805306352,i32 0,i32 6,i32 0,i32 0,i32 0}>,align 8
@_SMLZN20SMLSharp__SQL__SQLite35flagsE=local_unnamed_addr constant i8*bitcast(i32*getelementptr inbounds(<{[4x i8],i32,i32,i32,i32,i32,i32}>,<{[4x i8],i32,i32,i32,i32,i32,i32}>*@s,i64 0,i32 2)to i8*)
@_SMLZN20SMLSharp__SQL__SQLite314SQLITE__INTEGERE=local_unnamed_addr constant i32 1
@_SMLZN20SMLSharp__SQL__SQLite312SQLITE__FLOATE=local_unnamed_addr constant i32 2
@_SMLZN20SMLSharp__SQL__SQLite312SQLITE3__TEXTE=local_unnamed_addr constant i32 3
@_SMLZN20SMLSharp__SQL__SQLite311SQLITE__BLOBE=local_unnamed_addr constant i32 4
@_SMLZN20SMLSharp__SQL__SQLite311SQLITE__NULLE=local_unnamed_addr constant i32 5
@t=private unnamed_addr constant<{[4x i8],i32,i8*,void(...)*,void(...)*,i32}><{[4x i8]zeroinitializer,i32 -805306344,i8*null,void(...)*bitcast(i8*(i32)*@_SMLFN20SMLSharp__SQL__SQLite311new__sqlite3E to void(...)*),void(...)*bitcast(i8*(i8*,i8*)*@_SMLLN20SMLSharp__SQL__SQLite311new__sqlite3E_144 to void(...)*),i32 -2147483647}>,align 8
@_SMLZN20SMLSharp__SQL__SQLite311new__sqlite3E=local_unnamed_addr constant i8*bitcast(i8**getelementptr inbounds(<{[4x i8],i32,i8*,void(...)*,void(...)*,i32}>,<{[4x i8],i32,i8*,void(...)*,void(...)*,i32}>*@t,i64 0,i32 2)to i8*)
@u=private unnamed_addr constant<{[4x i8],i32,i8*,void(...)*,void(...)*,i32}><{[4x i8]zeroinitializer,i32 -805306344,i8*null,void(...)*bitcast(i8*(i32)*@_SMLFN20SMLSharp__SQL__SQLite316new__sqlite3__stmtE to void(...)*),void(...)*bitcast(i8*(i8*,i8*)*@_SMLLN20SMLSharp__SQL__SQLite316new__sqlite3__stmtE_145 to void(...)*),i32 -2147483647}>,align 8
@_SMLZN20SMLSharp__SQL__SQLite316new__sqlite3__stmtE=local_unnamed_addr constant i8*bitcast(i8**getelementptr inbounds(<{[4x i8],i32,i8*,void(...)*,void(...)*,i32}>,<{[4x i8],i32,i8*,void(...)*,void(...)*,i32}>*@u,i64 0,i32 2)to i8*)
@_SML_gvarf61d37a3faa623ea_SQLite3=private global<{[4x i8],i32,[13x i8*]}><{[4x i8]zeroinitializer,i32 -1342177176,[13x i8*]zeroinitializer}>,align 8
@v=private unnamed_addr global[2x i64][i64 1,i64 sub(i64 ptrtoint(i8**getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i32 0,i32 2,i32 0)to i64),i64 ptrtoint([2x i64]*@v to i64))]
@_SML_ftabf61d37a3faa623ea_SQLite3=external global i8
@w=private unnamed_addr global i8 0
@_SMLZN20SMLSharp__SQL__SQLite314sqlite3__errstrE=alias i8*,getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i32 0,i32 2,i32 0)
@_SMLZN20SMLSharp__SQL__SQLite315sqlite3__open__v2E=alias i8*,getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i32 0,i32 2,i32 1)
@_SMLZN20SMLSharp__SQL__SQLite316sqlite3__close__v2E=alias i8*,getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i32 0,i32 2,i32 2)
@_SMLZN20SMLSharp__SQL__SQLite318sqlite3__prepare__v2E=alias i8*,getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i32 0,i32 2,i32 3)
@_SMLZN20SMLSharp__SQL__SQLite312sqlite3__stepE=alias i8*,getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i32 0,i32 2,i32 4)
@_SMLZN20SMLSharp__SQL__SQLite319sqlite3__column__typeE=alias i8*,getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i32 0,i32 2,i32 5)
@_SMLZN20SMLSharp__SQL__SQLite320sqlite3__column__bytesE=alias i8*,getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i32 0,i32 2,i32 6)
@_SMLZN20SMLSharp__SQL__SQLite319sqlite3__column__blobE=alias i8*,getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i32 0,i32 2,i32 7)
@_SMLZN20SMLSharp__SQL__SQLite321sqlite3__column__doubleE=alias i8*,getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i32 0,i32 2,i32 8)
@_SMLZN20SMLSharp__SQL__SQLite318sqlite3__column__intE=alias i8*,getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i32 0,i32 2,i32 9)
@_SMLZN20SMLSharp__SQL__SQLite320sqlite3__column__int64E=alias i8*,getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i32 0,i32 2,i32 10)
@_SMLZN20SMLSharp__SQL__SQLite319sqlite3__column__textE=alias i8*,getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i32 0,i32 2,i32 11)
@_SMLZN20SMLSharp__SQL__SQLite316sqlite3__finalizeE=alias i8*,getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i32 0,i32 2,i32 12)
declare void@llvm.gcroot(i8**,i8*)#0
declare i8*@sml_alloc(i32 inreg)local_unnamed_addr#0
declare void@sml_check(i32 inreg)local_unnamed_addr
declare void@sml_end()local_unnamed_addr#0
declare void@sml_enter()local_unnamed_addr#0
declare void@sml_gcroot(i8*,void()*,i8*,i8*)local_unnamed_addr#0
declare void@sml_leave()local_unnamed_addr#0
declare i32@sml_personality(...)#0
declare void@sml_save_exn(i8*inreg)local_unnamed_addr#0
declare void@sml_start(i8*inreg)local_unnamed_addr#0
declare i8*@sml_unsave_exn(i8*inreg)local_unnamed_addr#0
declare void@sml_write(i8*inreg,i8**inreg,i8*inreg)local_unnamed_addr#0
declare void(...)*@_SMLFN11DynamicLink5dlsymE(i8*inreg)local_unnamed_addr#1 gc"smlsharp"
declare i8*@_SMLFN11DynamicLink6dlopenE(i8*inreg)local_unnamed_addr#1 gc"smlsharp"
declare i8*@_SMLFN16SMLSharp__Runtime7str__newE(i64 inreg)local_unnamed_addr#1 gc"smlsharp"
declare i8*@_SMLFN18SMLSharp__OSProcess6getEnvE(i8*inreg)local_unnamed_addr#1 gc"smlsharp"
declare i8*@_SMLFN4List5foldlE(i32 inreg,i32 inreg,i32 inreg,i32 inreg)local_unnamed_addr#1 gc"smlsharp"
declare i8*@_SMLFN6String1_ZE(i8*inreg)local_unnamed_addr#1 gc"smlsharp"
declare void@_SML_main19a59bcdb325454c_SMLSharp_OSProcess()local_unnamed_addr#1 gc"smlsharp"
declare void@_SML_main00d884c96265bfea_SMLSharp_Runtime()local_unnamed_addr#1 gc"smlsharp"
declare void@_SML_main03d87556ec7f64b2_List()local_unnamed_addr#1 gc"smlsharp"
declare void@_SML_main1ef93e13728790b1_String()local_unnamed_addr#1 gc"smlsharp"
declare void@_SML_main82bd5aec591c098a_DynamicLink()local_unnamed_addr#1 gc"smlsharp"
declare void@_SML_mainfb23865721a0c043_SQLConfig()local_unnamed_addr#1 gc"smlsharp"
declare void@_SML_load19a59bcdb325454c_SMLSharp_OSProcess(i8*)local_unnamed_addr
declare void@_SML_load00d884c96265bfea_SMLSharp_Runtime(i8*)local_unnamed_addr
declare void@_SML_load03d87556ec7f64b2_List(i8*)local_unnamed_addr
declare void@_SML_load1ef93e13728790b1_String(i8*)local_unnamed_addr
declare void@_SML_load82bd5aec591c098a_DynamicLink(i8*)local_unnamed_addr
declare void@_SML_loadfb23865721a0c043_SQLConfig(i8*)local_unnamed_addr
define private void@_SML_tabbf61d37a3faa623ea_SQLite3()#2{
unreachable
}
define void@_SML_loadf61d37a3faa623ea_SQLite3(i8*%a)local_unnamed_addr#0{
%b=load i8,i8*@w,align 1
%c=icmp eq i8%b,0
br i1%c,label%e,label%d
d:
ret void
e:
store i8 1,i8*@w,align 1
tail call void@_SML_load19a59bcdb325454c_SMLSharp_OSProcess(i8*%a)#0
tail call void@_SML_load00d884c96265bfea_SMLSharp_Runtime(i8*%a)#0
tail call void@_SML_load03d87556ec7f64b2_List(i8*%a)#0
tail call void@_SML_load1ef93e13728790b1_String(i8*%a)#0
tail call void@_SML_load82bd5aec591c098a_DynamicLink(i8*%a)#0
tail call void@_SML_loadfb23865721a0c043_SQLConfig(i8*%a)#0
tail call void@sml_gcroot(i8*%a,void()*@_SML_tabbf61d37a3faa623ea_SQLite3,i8*@_SML_ftabf61d37a3faa623ea_SQLite3,i8*bitcast([2x i64]*@v to i8*))#0
ret void
}
define void@_SML_mainf61d37a3faa623ea_SQLite3()local_unnamed_addr#1 gc"smlsharp"personality i32(...)*@sml_personality{
%a=alloca[3x i8*],align 8
%b=alloca i8*,align 8
%c=alloca i8*,align 8
%d=alloca i8*,align 8
%e=alloca i8*,align 8
%f=alloca i8*,align 8
%g=alloca i8*,align 8
%h=alloca i8*,align 8
%i=alloca i8*,align 8
%j=alloca i8*,align 8
%k=alloca i8*,align 8
%l=alloca i8*,align 8
%m=alloca i8*,align 8
%n=alloca i8*,align 8
%o=alloca i8*,align 8
%p=alloca i8*,align 8
%q=load i8,i8*@w,align 1
%r=and i8%q,2
%s=icmp eq i8%r,0
br i1%s,label%u,label%t
t:
ret void
u:
store i8 3,i8*@w,align 1
tail call void@_SML_main19a59bcdb325454c_SMLSharp_OSProcess()#1
tail call void@_SML_main00d884c96265bfea_SMLSharp_Runtime()#1
tail call void@_SML_main03d87556ec7f64b2_List()#1
tail call void@_SML_main1ef93e13728790b1_String()#1
tail call void@_SML_main82bd5aec591c098a_DynamicLink()#1
tail call void@_SML_mainfb23865721a0c043_SQLConfig()#1
call void@llvm.gcroot(i8**%b,i8*null)#0
call void@llvm.gcroot(i8**%c,i8*null)#0
call void@llvm.gcroot(i8**%d,i8*null)#0
call void@llvm.gcroot(i8**%e,i8*null)#0
call void@llvm.gcroot(i8**%f,i8*null)#0
call void@llvm.gcroot(i8**%g,i8*null)#0
call void@llvm.gcroot(i8**%h,i8*null)#0
call void@llvm.gcroot(i8**%i,i8*null)#0
call void@llvm.gcroot(i8**%j,i8*null)#0
call void@llvm.gcroot(i8**%k,i8*null)#0
call void@llvm.gcroot(i8**%l,i8*null)#0
call void@llvm.gcroot(i8**%m,i8*null)#0
call void@llvm.gcroot(i8**%n,i8*null)#0
call void@llvm.gcroot(i8**%o,i8*null)#0
call void@llvm.gcroot(i8**%p,i8*null)#0
%v=bitcast[3x i8*]*%a to i8*
call void@sml_start(i8*inreg%v)#0
%w=load atomic i32,i32*@sml_check_flag unordered,align 4
%x=icmp eq i32%w,0
br i1%x,label%z,label%y
y:
invoke void@sml_check(i32 inreg%w)
to label%z unwind label%eO
z:
%A=call fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite34lazyE_39(i8*inreg bitcast(i8**getelementptr inbounds(<{[4x i8],i32,i8*,void(...)*,void(...)*,i32}>,<{[4x i8],i32,i8*,void(...)*,void(...)*,i32}>*@d,i64 0,i32 2)to i8*))#0
store i8*%A,i8**%b,align 8
store i8*null,i8**%c,align 8
%B=call i8*@sml_alloc(i32 inreg 12)#0
%C=getelementptr inbounds i8,i8*%B,i64 -4
%D=bitcast i8*%C to i32*
store i32 1342177288,i32*%D,align 4
store i8*%B,i8**%d,align 8
%E=load i8*,i8**%b,align 8
%F=bitcast i8*%B to i8**
store i8*%E,i8**%F,align 8
%G=getelementptr inbounds i8,i8*%B,i64 8
%H=bitcast i8*%G to i32*
store i32 1,i32*%H,align 4
%I=call i8*@sml_alloc(i32 inreg 28)#0
%J=getelementptr inbounds i8,i8*%I,i64 -4
%K=bitcast i8*%J to i32*
store i32 1342177304,i32*%K,align 4
%L=load i8*,i8**%d,align 8
store i8*null,i8**%d,align 8
%M=bitcast i8*%I to i8**
store i8*%L,i8**%M,align 8
%N=getelementptr inbounds i8,i8*%I,i64 8
%O=bitcast i8*%N to void(...)**
store void(...)*bitcast(i8*(i8*,i32)*@_SMLLN20SMLSharp__SQL__SQLite314sqlite3__errstrE_51 to void(...)*),void(...)**%O,align 8
%P=getelementptr inbounds i8,i8*%I,i64 16
%Q=bitcast i8*%P to void(...)**
store void(...)*bitcast(i8*(i8*,i8*)*@_SMLLN20SMLSharp__SQL__SQLite314sqlite3__errstrE_116 to void(...)*),void(...)**%Q,align 8
%R=getelementptr inbounds i8,i8*%I,i64 24
%S=bitcast i8*%R to i32*
store i32 -2147483647,i32*%S,align 4
store i8*null,i8**%c,align 8
%T=call fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite34lazyE_39(i8*inreg%I)#0
store i8*%T,i8**%c,align 8
store i8*null,i8**%d,align 8
%U=call i8*@sml_alloc(i32 inreg 12)#0
%V=getelementptr inbounds i8,i8*%U,i64 -4
%W=bitcast i8*%V to i32*
store i32 1342177288,i32*%W,align 4
store i8*%U,i8**%e,align 8
%X=load i8*,i8**%b,align 8
%Y=bitcast i8*%U to i8**
store i8*%X,i8**%Y,align 8
%Z=getelementptr inbounds i8,i8*%U,i64 8
%aa=bitcast i8*%Z to i32*
store i32 1,i32*%aa,align 4
%ab=call i8*@sml_alloc(i32 inreg 28)#0
%ac=getelementptr inbounds i8,i8*%ab,i64 -4
%ad=bitcast i8*%ac to i32*
store i32 1342177304,i32*%ad,align 4
%ae=load i8*,i8**%e,align 8
store i8*null,i8**%e,align 8
%af=bitcast i8*%ab to i8**
store i8*%ae,i8**%af,align 8
%ag=getelementptr inbounds i8,i8*%ab,i64 8
%ah=bitcast i8*%ag to void(...)**
store void(...)*bitcast(i8*(i8*,i32)*@_SMLLN20SMLSharp__SQL__SQLite315sqlite3__open__v2E_54 to void(...)*),void(...)**%ah,align 8
%ai=getelementptr inbounds i8,i8*%ab,i64 16
%aj=bitcast i8*%ai to void(...)**
store void(...)*bitcast(i8*(i8*,i8*)*@_SMLLN20SMLSharp__SQL__SQLite315sqlite3__open__v2E_118 to void(...)*),void(...)**%aj,align 8
%ak=getelementptr inbounds i8,i8*%ab,i64 24
%al=bitcast i8*%ak to i32*
store i32 -2147483647,i32*%al,align 4
store i8*null,i8**%d,align 8
%am=call fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite34lazyE_39(i8*inreg%ab)#0
store i8*%am,i8**%d,align 8
%an=call i8*@sml_alloc(i32 inreg 12)#0
%ao=getelementptr inbounds i8,i8*%an,i64 -4
%ap=bitcast i8*%ao to i32*
store i32 1342177288,i32*%ap,align 4
store i8*%an,i8**%e,align 8
%aq=load i8*,i8**%d,align 8
store i8*null,i8**%d,align 8
%ar=bitcast i8*%an to i8**
store i8*%aq,i8**%ar,align 8
%as=getelementptr inbounds i8,i8*%an,i64 8
%at=bitcast i8*%as to i32*
store i32 1,i32*%at,align 4
%au=call i8*@sml_alloc(i32 inreg 28)#0
%av=getelementptr inbounds i8,i8*%au,i64 -4
%aw=bitcast i8*%av to i32*
store i32 1342177304,i32*%aw,align 4
store i8*%au,i8**%n,align 8
%ax=load i8*,i8**%e,align 8
store i8*null,i8**%e,align 8
%ay=bitcast i8*%au to i8**
store i8*%ax,i8**%ay,align 8
%az=getelementptr inbounds i8,i8*%au,i64 8
%aA=bitcast i8*%az to void(...)**
store void(...)*bitcast(i32(i8*,i8*)*@_SMLLN20SMLSharp__SQL__SQLite315sqlite3__open__v2E_57 to void(...)*),void(...)**%aA,align 8
%aB=getelementptr inbounds i8,i8*%au,i64 16
%aC=bitcast i8*%aB to void(...)**
store void(...)*bitcast(i8*(i8*,i8*)*@_SMLLN20SMLSharp__SQL__SQLite315sqlite3__open__v2E_120 to void(...)*),void(...)**%aC,align 8
%aD=getelementptr inbounds i8,i8*%au,i64 24
%aE=bitcast i8*%aD to i32*
store i32 -2147483647,i32*%aE,align 4
store i8*null,i8**%d,align 8
%aF=call i8*@sml_alloc(i32 inreg 12)#0
%aG=getelementptr inbounds i8,i8*%aF,i64 -4
%aH=bitcast i8*%aG to i32*
store i32 1342177288,i32*%aH,align 4
store i8*%aF,i8**%e,align 8
%aI=load i8*,i8**%b,align 8
%aJ=bitcast i8*%aF to i8**
store i8*%aI,i8**%aJ,align 8
%aK=getelementptr inbounds i8,i8*%aF,i64 8
%aL=bitcast i8*%aK to i32*
store i32 1,i32*%aL,align 4
%aM=call i8*@sml_alloc(i32 inreg 28)#0
%aN=getelementptr inbounds i8,i8*%aM,i64 -4
%aO=bitcast i8*%aN to i32*
store i32 1342177304,i32*%aO,align 4
%aP=load i8*,i8**%e,align 8
store i8*null,i8**%e,align 8
%aQ=bitcast i8*%aM to i8**
store i8*%aP,i8**%aQ,align 8
%aR=getelementptr inbounds i8,i8*%aM,i64 8
%aS=bitcast i8*%aR to void(...)**
store void(...)*bitcast(i8*(i8*,i32)*@_SMLLN20SMLSharp__SQL__SQLite316sqlite3__close__v2E_60 to void(...)*),void(...)**%aS,align 8
%aT=getelementptr inbounds i8,i8*%aM,i64 16
%aU=bitcast i8*%aT to void(...)**
store void(...)*bitcast(i8*(i8*,i8*)*@_SMLLN20SMLSharp__SQL__SQLite316sqlite3__close__v2E_122 to void(...)*),void(...)**%aU,align 8
%aV=getelementptr inbounds i8,i8*%aM,i64 24
%aW=bitcast i8*%aV to i32*
store i32 -2147483647,i32*%aW,align 4
store i8*null,i8**%d,align 8
%aX=call fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite34lazyE_39(i8*inreg%aM)#0
store i8*%aX,i8**%d,align 8
store i8*null,i8**%e,align 8
%aY=call i8*@sml_alloc(i32 inreg 12)#0
%aZ=getelementptr inbounds i8,i8*%aY,i64 -4
%a0=bitcast i8*%aZ to i32*
store i32 1342177288,i32*%a0,align 4
store i8*%aY,i8**%f,align 8
%a1=load i8*,i8**%b,align 8
%a2=bitcast i8*%aY to i8**
store i8*%a1,i8**%a2,align 8
%a3=getelementptr inbounds i8,i8*%aY,i64 8
%a4=bitcast i8*%a3 to i32*
store i32 1,i32*%a4,align 4
%a5=call i8*@sml_alloc(i32 inreg 28)#0
%a6=getelementptr inbounds i8,i8*%a5,i64 -4
%a7=bitcast i8*%a6 to i32*
store i32 1342177304,i32*%a7,align 4
%a8=load i8*,i8**%f,align 8
store i8*null,i8**%f,align 8
%a9=bitcast i8*%a5 to i8**
store i8*%a8,i8**%a9,align 8
%ba=getelementptr inbounds i8,i8*%a5,i64 8
%bb=bitcast i8*%ba to void(...)**
store void(...)*bitcast(i8*(i8*,i32)*@_SMLLN20SMLSharp__SQL__SQLite318sqlite3__prepare__v2E_63 to void(...)*),void(...)**%bb,align 8
%bc=getelementptr inbounds i8,i8*%a5,i64 16
%bd=bitcast i8*%bc to void(...)**
store void(...)*bitcast(i8*(i8*,i8*)*@_SMLLN20SMLSharp__SQL__SQLite318sqlite3__prepare__v2E_124 to void(...)*),void(...)**%bd,align 8
%be=getelementptr inbounds i8,i8*%a5,i64 24
%bf=bitcast i8*%be to i32*
store i32 -2147483647,i32*%bf,align 4
store i8*null,i8**%e,align 8
%bg=call fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite34lazyE_39(i8*inreg%a5)#0
store i8*%bg,i8**%e,align 8
%bh=call i8*@sml_alloc(i32 inreg 12)#0
%bi=getelementptr inbounds i8,i8*%bh,i64 -4
%bj=bitcast i8*%bi to i32*
store i32 1342177288,i32*%bj,align 4
store i8*%bh,i8**%f,align 8
%bk=load i8*,i8**%e,align 8
store i8*null,i8**%e,align 8
%bl=bitcast i8*%bh to i8**
store i8*%bk,i8**%bl,align 8
%bm=getelementptr inbounds i8,i8*%bh,i64 8
%bn=bitcast i8*%bm to i32*
store i32 1,i32*%bn,align 4
%bo=call i8*@sml_alloc(i32 inreg 28)#0
%bp=getelementptr inbounds i8,i8*%bo,i64 -4
%bq=bitcast i8*%bp to i32*
store i32 1342177304,i32*%bq,align 4
store i8*%bo,i8**%o,align 8
%br=load i8*,i8**%f,align 8
store i8*null,i8**%f,align 8
%bs=bitcast i8*%bo to i8**
store i8*%br,i8**%bs,align 8
%bt=getelementptr inbounds i8,i8*%bo,i64 8
%bu=bitcast i8*%bt to void(...)**
store void(...)*bitcast(i32(i8*,i8*)*@_SMLLN20SMLSharp__SQL__SQLite318sqlite3__prepare__v2E_64 to void(...)*),void(...)**%bu,align 8
%bv=getelementptr inbounds i8,i8*%bo,i64 16
%bw=bitcast i8*%bv to void(...)**
store void(...)*bitcast(i8*(i8*,i8*)*@_SMLLN20SMLSharp__SQL__SQLite318sqlite3__prepare__v2E_125 to void(...)*),void(...)**%bw,align 8
%bx=getelementptr inbounds i8,i8*%bo,i64 24
%by=bitcast i8*%bx to i32*
store i32 -2147483647,i32*%by,align 4
store i8*null,i8**%e,align 8
%bz=call i8*@sml_alloc(i32 inreg 12)#0
%bA=getelementptr inbounds i8,i8*%bz,i64 -4
%bB=bitcast i8*%bA to i32*
store i32 1342177288,i32*%bB,align 4
store i8*%bz,i8**%f,align 8
%bC=load i8*,i8**%b,align 8
%bD=bitcast i8*%bz to i8**
store i8*%bC,i8**%bD,align 8
%bE=getelementptr inbounds i8,i8*%bz,i64 8
%bF=bitcast i8*%bE to i32*
store i32 1,i32*%bF,align 4
%bG=call i8*@sml_alloc(i32 inreg 28)#0
%bH=getelementptr inbounds i8,i8*%bG,i64 -4
%bI=bitcast i8*%bH to i32*
store i32 1342177304,i32*%bI,align 4
%bJ=load i8*,i8**%f,align 8
store i8*null,i8**%f,align 8
%bK=bitcast i8*%bG to i8**
store i8*%bJ,i8**%bK,align 8
%bL=getelementptr inbounds i8,i8*%bG,i64 8
%bM=bitcast i8*%bL to void(...)**
store void(...)*bitcast(i8*(i8*,i32)*@_SMLLN20SMLSharp__SQL__SQLite312sqlite3__stepE_67 to void(...)*),void(...)**%bM,align 8
%bN=getelementptr inbounds i8,i8*%bG,i64 16
%bO=bitcast i8*%bN to void(...)**
store void(...)*bitcast(i8*(i8*,i8*)*@_SMLLN20SMLSharp__SQL__SQLite312sqlite3__stepE_127 to void(...)*),void(...)**%bO,align 8
%bP=getelementptr inbounds i8,i8*%bG,i64 24
%bQ=bitcast i8*%bP to i32*
store i32 -2147483647,i32*%bQ,align 4
store i8*null,i8**%e,align 8
%bR=call fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite34lazyE_39(i8*inreg%bG)#0
store i8*%bR,i8**%e,align 8
store i8*null,i8**%f,align 8
%bS=call i8*@sml_alloc(i32 inreg 12)#0
%bT=getelementptr inbounds i8,i8*%bS,i64 -4
%bU=bitcast i8*%bT to i32*
store i32 1342177288,i32*%bU,align 4
store i8*%bS,i8**%g,align 8
%bV=load i8*,i8**%b,align 8
%bW=bitcast i8*%bS to i8**
store i8*%bV,i8**%bW,align 8
%bX=getelementptr inbounds i8,i8*%bS,i64 8
%bY=bitcast i8*%bX to i32*
store i32 1,i32*%bY,align 4
%bZ=call i8*@sml_alloc(i32 inreg 28)#0
%b0=getelementptr inbounds i8,i8*%bZ,i64 -4
%b1=bitcast i8*%b0 to i32*
store i32 1342177304,i32*%b1,align 4
%b2=load i8*,i8**%g,align 8
store i8*null,i8**%g,align 8
%b3=bitcast i8*%bZ to i8**
store i8*%b2,i8**%b3,align 8
%b4=getelementptr inbounds i8,i8*%bZ,i64 8
%b5=bitcast i8*%b4 to void(...)**
store void(...)*bitcast(i8*(i8*,i32)*@_SMLLN20SMLSharp__SQL__SQLite319sqlite3__column__typeE_70 to void(...)*),void(...)**%b5,align 8
%b6=getelementptr inbounds i8,i8*%bZ,i64 16
%b7=bitcast i8*%b6 to void(...)**
store void(...)*bitcast(i8*(i8*,i8*)*@_SMLLN20SMLSharp__SQL__SQLite319sqlite3__column__typeE_129 to void(...)*),void(...)**%b7,align 8
%b8=getelementptr inbounds i8,i8*%bZ,i64 24
%b9=bitcast i8*%b8 to i32*
store i32 -2147483647,i32*%b9,align 4
store i8*null,i8**%f,align 8
%ca=call fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite34lazyE_39(i8*inreg%bZ)#0
store i8*%ca,i8**%f,align 8
store i8*null,i8**%g,align 8
%cb=call i8*@sml_alloc(i32 inreg 12)#0
%cc=getelementptr inbounds i8,i8*%cb,i64 -4
%cd=bitcast i8*%cc to i32*
store i32 1342177288,i32*%cd,align 4
store i8*%cb,i8**%h,align 8
%ce=load i8*,i8**%b,align 8
%cf=bitcast i8*%cb to i8**
store i8*%ce,i8**%cf,align 8
%cg=getelementptr inbounds i8,i8*%cb,i64 8
%ch=bitcast i8*%cg to i32*
store i32 1,i32*%ch,align 4
%ci=call i8*@sml_alloc(i32 inreg 28)#0
%cj=getelementptr inbounds i8,i8*%ci,i64 -4
%ck=bitcast i8*%cj to i32*
store i32 1342177304,i32*%ck,align 4
%cl=load i8*,i8**%h,align 8
store i8*null,i8**%h,align 8
%cm=bitcast i8*%ci to i8**
store i8*%cl,i8**%cm,align 8
%cn=getelementptr inbounds i8,i8*%ci,i64 8
%co=bitcast i8*%cn to void(...)**
store void(...)*bitcast(i8*(i8*,i32)*@_SMLLN20SMLSharp__SQL__SQLite320sqlite3__column__bytesE_73 to void(...)*),void(...)**%co,align 8
%cp=getelementptr inbounds i8,i8*%ci,i64 16
%cq=bitcast i8*%cp to void(...)**
store void(...)*bitcast(i8*(i8*,i8*)*@_SMLLN20SMLSharp__SQL__SQLite320sqlite3__column__bytesE_131 to void(...)*),void(...)**%cq,align 8
%cr=getelementptr inbounds i8,i8*%ci,i64 24
%cs=bitcast i8*%cr to i32*
store i32 -2147483647,i32*%cs,align 4
store i8*null,i8**%g,align 8
%ct=call fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite34lazyE_39(i8*inreg%ci)#0
store i8*%ct,i8**%g,align 8
store i8*null,i8**%h,align 8
%cu=call i8*@sml_alloc(i32 inreg 12)#0
%cv=getelementptr inbounds i8,i8*%cu,i64 -4
%cw=bitcast i8*%cv to i32*
store i32 1342177288,i32*%cw,align 4
store i8*%cu,i8**%i,align 8
%cx=load i8*,i8**%b,align 8
%cy=bitcast i8*%cu to i8**
store i8*%cx,i8**%cy,align 8
%cz=getelementptr inbounds i8,i8*%cu,i64 8
%cA=bitcast i8*%cz to i32*
store i32 1,i32*%cA,align 4
%cB=call i8*@sml_alloc(i32 inreg 28)#0
%cC=getelementptr inbounds i8,i8*%cB,i64 -4
%cD=bitcast i8*%cC to i32*
store i32 1342177304,i32*%cD,align 4
%cE=load i8*,i8**%i,align 8
store i8*null,i8**%i,align 8
%cF=bitcast i8*%cB to i8**
store i8*%cE,i8**%cF,align 8
%cG=getelementptr inbounds i8,i8*%cB,i64 8
%cH=bitcast i8*%cG to void(...)**
store void(...)*bitcast(i8*(i8*,i32)*@_SMLLN20SMLSharp__SQL__SQLite319sqlite3__column__blobE_76 to void(...)*),void(...)**%cH,align 8
%cI=getelementptr inbounds i8,i8*%cB,i64 16
%cJ=bitcast i8*%cI to void(...)**
store void(...)*bitcast(i8*(i8*,i8*)*@_SMLLN20SMLSharp__SQL__SQLite319sqlite3__column__blobE_133 to void(...)*),void(...)**%cJ,align 8
%cK=getelementptr inbounds i8,i8*%cB,i64 24
%cL=bitcast i8*%cK to i32*
store i32 -2147483647,i32*%cL,align 4
store i8*null,i8**%h,align 8
%cM=call fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite34lazyE_39(i8*inreg%cB)#0
store i8*%cM,i8**%h,align 8
store i8*null,i8**%i,align 8
%cN=call i8*@sml_alloc(i32 inreg 12)#0
%cO=getelementptr inbounds i8,i8*%cN,i64 -4
%cP=bitcast i8*%cO to i32*
store i32 1342177288,i32*%cP,align 4
store i8*%cN,i8**%j,align 8
%cQ=load i8*,i8**%b,align 8
%cR=bitcast i8*%cN to i8**
store i8*%cQ,i8**%cR,align 8
%cS=getelementptr inbounds i8,i8*%cN,i64 8
%cT=bitcast i8*%cS to i32*
store i32 1,i32*%cT,align 4
%cU=call i8*@sml_alloc(i32 inreg 28)#0
%cV=getelementptr inbounds i8,i8*%cU,i64 -4
%cW=bitcast i8*%cV to i32*
store i32 1342177304,i32*%cW,align 4
%cX=load i8*,i8**%j,align 8
store i8*null,i8**%j,align 8
%cY=bitcast i8*%cU to i8**
store i8*%cX,i8**%cY,align 8
%cZ=getelementptr inbounds i8,i8*%cU,i64 8
%c0=bitcast i8*%cZ to void(...)**
store void(...)*bitcast(i8*(i8*,i32)*@_SMLLN20SMLSharp__SQL__SQLite321sqlite3__column__doubleE_79 to void(...)*),void(...)**%c0,align 8
%c1=getelementptr inbounds i8,i8*%cU,i64 16
%c2=bitcast i8*%c1 to void(...)**
store void(...)*bitcast(i8*(i8*,i8*)*@_SMLLN20SMLSharp__SQL__SQLite321sqlite3__column__doubleE_135 to void(...)*),void(...)**%c2,align 8
%c3=getelementptr inbounds i8,i8*%cU,i64 24
%c4=bitcast i8*%c3 to i32*
store i32 -2147483647,i32*%c4,align 4
store i8*null,i8**%i,align 8
%c5=call fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite34lazyE_39(i8*inreg%cU)#0
store i8*%c5,i8**%i,align 8
store i8*null,i8**%j,align 8
%c6=call i8*@sml_alloc(i32 inreg 12)#0
%c7=getelementptr inbounds i8,i8*%c6,i64 -4
%c8=bitcast i8*%c7 to i32*
store i32 1342177288,i32*%c8,align 4
store i8*%c6,i8**%k,align 8
%c9=load i8*,i8**%b,align 8
%da=bitcast i8*%c6 to i8**
store i8*%c9,i8**%da,align 8
%db=getelementptr inbounds i8,i8*%c6,i64 8
%dc=bitcast i8*%db to i32*
store i32 1,i32*%dc,align 4
%dd=call i8*@sml_alloc(i32 inreg 28)#0
%de=getelementptr inbounds i8,i8*%dd,i64 -4
%df=bitcast i8*%de to i32*
store i32 1342177304,i32*%df,align 4
%dg=load i8*,i8**%k,align 8
store i8*null,i8**%k,align 8
%dh=bitcast i8*%dd to i8**
store i8*%dg,i8**%dh,align 8
%di=getelementptr inbounds i8,i8*%dd,i64 8
%dj=bitcast i8*%di to void(...)**
store void(...)*bitcast(i8*(i8*,i32)*@_SMLLN20SMLSharp__SQL__SQLite318sqlite3__column__intE_82 to void(...)*),void(...)**%dj,align 8
%dk=getelementptr inbounds i8,i8*%dd,i64 16
%dl=bitcast i8*%dk to void(...)**
store void(...)*bitcast(i8*(i8*,i8*)*@_SMLLN20SMLSharp__SQL__SQLite318sqlite3__column__intE_137 to void(...)*),void(...)**%dl,align 8
%dm=getelementptr inbounds i8,i8*%dd,i64 24
%dn=bitcast i8*%dm to i32*
store i32 -2147483647,i32*%dn,align 4
store i8*null,i8**%j,align 8
%do=call fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite34lazyE_39(i8*inreg%dd)#0
store i8*%do,i8**%j,align 8
store i8*null,i8**%k,align 8
%dp=call i8*@sml_alloc(i32 inreg 12)#0
%dq=getelementptr inbounds i8,i8*%dp,i64 -4
%dr=bitcast i8*%dq to i32*
store i32 1342177288,i32*%dr,align 4
store i8*%dp,i8**%l,align 8
%ds=load i8*,i8**%b,align 8
%dt=bitcast i8*%dp to i8**
store i8*%ds,i8**%dt,align 8
%du=getelementptr inbounds i8,i8*%dp,i64 8
%dv=bitcast i8*%du to i32*
store i32 1,i32*%dv,align 4
%dw=call i8*@sml_alloc(i32 inreg 28)#0
%dx=getelementptr inbounds i8,i8*%dw,i64 -4
%dy=bitcast i8*%dx to i32*
store i32 1342177304,i32*%dy,align 4
%dz=load i8*,i8**%l,align 8
store i8*null,i8**%l,align 8
%dA=bitcast i8*%dw to i8**
store i8*%dz,i8**%dA,align 8
%dB=getelementptr inbounds i8,i8*%dw,i64 8
%dC=bitcast i8*%dB to void(...)**
store void(...)*bitcast(i8*(i8*,i32)*@_SMLLN20SMLSharp__SQL__SQLite320sqlite3__column__int64E_85 to void(...)*),void(...)**%dC,align 8
%dD=getelementptr inbounds i8,i8*%dw,i64 16
%dE=bitcast i8*%dD to void(...)**
store void(...)*bitcast(i8*(i8*,i8*)*@_SMLLN20SMLSharp__SQL__SQLite320sqlite3__column__int64E_139 to void(...)*),void(...)**%dE,align 8
%dF=getelementptr inbounds i8,i8*%dw,i64 24
%dG=bitcast i8*%dF to i32*
store i32 -2147483647,i32*%dG,align 4
store i8*null,i8**%k,align 8
%dH=call fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite34lazyE_39(i8*inreg%dw)#0
store i8*%dH,i8**%k,align 8
store i8*null,i8**%l,align 8
%dI=call i8*@sml_alloc(i32 inreg 12)#0
%dJ=getelementptr inbounds i8,i8*%dI,i64 -4
%dK=bitcast i8*%dJ to i32*
store i32 1342177288,i32*%dK,align 4
store i8*%dI,i8**%m,align 8
%dL=load i8*,i8**%b,align 8
%dM=bitcast i8*%dI to i8**
store i8*%dL,i8**%dM,align 8
%dN=getelementptr inbounds i8,i8*%dI,i64 8
%dO=bitcast i8*%dN to i32*
store i32 1,i32*%dO,align 4
%dP=call i8*@sml_alloc(i32 inreg 28)#0
%dQ=getelementptr inbounds i8,i8*%dP,i64 -4
%dR=bitcast i8*%dQ to i32*
store i32 1342177304,i32*%dR,align 4
%dS=load i8*,i8**%m,align 8
store i8*null,i8**%m,align 8
%dT=bitcast i8*%dP to i8**
store i8*%dS,i8**%dT,align 8
%dU=getelementptr inbounds i8,i8*%dP,i64 8
%dV=bitcast i8*%dU to void(...)**
store void(...)*bitcast(i8*(i8*,i32)*@_SMLLN20SMLSharp__SQL__SQLite319sqlite3__column__textE_88 to void(...)*),void(...)**%dV,align 8
%dW=getelementptr inbounds i8,i8*%dP,i64 16
%dX=bitcast i8*%dW to void(...)**
store void(...)*bitcast(i8*(i8*,i8*)*@_SMLLN20SMLSharp__SQL__SQLite319sqlite3__column__textE_141 to void(...)*),void(...)**%dX,align 8
%dY=getelementptr inbounds i8,i8*%dP,i64 24
%dZ=bitcast i8*%dY to i32*
store i32 -2147483647,i32*%dZ,align 4
store i8*null,i8**%l,align 8
%d0=call fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite34lazyE_39(i8*inreg%dP)#0
store i8*%d0,i8**%l,align 8
store i8*null,i8**%m,align 8
%d1=call i8*@sml_alloc(i32 inreg 12)#0
%d2=getelementptr inbounds i8,i8*%d1,i64 -4
%d3=bitcast i8*%d2 to i32*
store i32 1342177288,i32*%d3,align 4
store i8*%d1,i8**%p,align 8
%d4=load i8*,i8**%b,align 8
store i8*null,i8**%b,align 8
%d5=bitcast i8*%d1 to i8**
store i8*%d4,i8**%d5,align 8
%d6=getelementptr inbounds i8,i8*%d1,i64 8
%d7=bitcast i8*%d6 to i32*
store i32 1,i32*%d7,align 4
%d8=call i8*@sml_alloc(i32 inreg 28)#0
%d9=getelementptr inbounds i8,i8*%d8,i64 -4
%ea=bitcast i8*%d9 to i32*
store i32 1342177304,i32*%ea,align 4
%eb=load i8*,i8**%p,align 8
store i8*null,i8**%p,align 8
%ec=bitcast i8*%d8 to i8**
store i8*%eb,i8**%ec,align 8
%ed=getelementptr inbounds i8,i8*%d8,i64 8
%ee=bitcast i8*%ed to void(...)**
store void(...)*bitcast(i8*(i8*,i32)*@_SMLLN20SMLSharp__SQL__SQLite316sqlite3__finalizeE_91 to void(...)*),void(...)**%ee,align 8
%ef=getelementptr inbounds i8,i8*%d8,i64 16
%eg=bitcast i8*%ef to void(...)**
store void(...)*bitcast(i8*(i8*,i8*)*@_SMLLN20SMLSharp__SQL__SQLite316sqlite3__finalizeE_143 to void(...)*),void(...)**%eg,align 8
%eh=getelementptr inbounds i8,i8*%d8,i64 24
%ei=bitcast i8*%eh to i32*
store i32 -2147483647,i32*%ei,align 4
store i8*null,i8**%m,align 8
%ej=call fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite34lazyE_39(i8*inreg%d8)#0
store i8*%ej,i8**%b,align 8
%ek=call i8*@sml_alloc(i32 inreg 12)#0
%el=getelementptr inbounds i8,i8*%ek,i64 -4
%em=bitcast i8*%el to i32*
store i32 1342177288,i32*%em,align 4
store i8*%ek,i8**%m,align 8
%en=load i8*,i8**%c,align 8
store i8*null,i8**%c,align 8
%eo=bitcast i8*%ek to i8**
store i8*%en,i8**%eo,align 8
%ep=getelementptr inbounds i8,i8*%ek,i64 8
%eq=bitcast i8*%ep to i32*
store i32 1,i32*%eq,align 4
%er=call i8*@sml_alloc(i32 inreg 28)#0
%es=getelementptr inbounds i8,i8*%er,i64 -4
%et=bitcast i8*%es to i32*
store i32 1342177304,i32*%et,align 4
%eu=load i8*,i8**%m,align 8
%ev=bitcast i8*%er to i8**
store i8*%eu,i8**%ev,align 8
%ew=getelementptr inbounds i8,i8*%er,i64 8
%ex=bitcast i8*%ew to void(...)**
store void(...)*bitcast(i8*(i8*,i32)*@_SMLLN20SMLSharp__SQL__SQLite314sqlite3__errstrE_97 to void(...)*),void(...)**%ex,align 8
%ey=getelementptr inbounds i8,i8*%er,i64 16
%ez=bitcast i8*%ey to void(...)**
store void(...)*bitcast(i8*(i8*,i8*)*@_SMLLN20SMLSharp__SQL__SQLite314sqlite3__errstrE_146 to void(...)*),void(...)**%ez,align 8
%eA=getelementptr inbounds i8,i8*%er,i64 24
%eB=bitcast i8*%eA to i32*
store i32 -2147483647,i32*%eB,align 4
call void@sml_write(i8*inreg bitcast(i8**getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i64 0,i32 2,i64 0)to i8*),i8**inreg getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i64 0,i32 2,i64 0),i8*inreg%er)#0
%eC=load i8*,i8**%n,align 8
call void@sml_write(i8*inreg bitcast(i8**getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i64 0,i32 2,i64 0)to i8*),i8**inreg getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i64 0,i32 2,i64 1),i8*inreg%eC)#0
%eD=load i8*,i8**%d,align 8
call void@sml_write(i8*inreg bitcast(i8**getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i64 0,i32 2,i64 0)to i8*),i8**inreg getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i64 0,i32 2,i64 2),i8*inreg%eD)#0
%eE=load i8*,i8**%o,align 8
call void@sml_write(i8*inreg bitcast(i8**getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i64 0,i32 2,i64 0)to i8*),i8**inreg getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i64 0,i32 2,i64 3),i8*inreg%eE)#0
%eF=load i8*,i8**%e,align 8
call void@sml_write(i8*inreg bitcast(i8**getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i64 0,i32 2,i64 0)to i8*),i8**inreg getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i64 0,i32 2,i64 4),i8*inreg%eF)#0
%eG=load i8*,i8**%f,align 8
call void@sml_write(i8*inreg bitcast(i8**getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i64 0,i32 2,i64 0)to i8*),i8**inreg getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i64 0,i32 2,i64 5),i8*inreg%eG)#0
%eH=load i8*,i8**%g,align 8
call void@sml_write(i8*inreg bitcast(i8**getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i64 0,i32 2,i64 0)to i8*),i8**inreg getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i64 0,i32 2,i64 6),i8*inreg%eH)#0
%eI=load i8*,i8**%h,align 8
call void@sml_write(i8*inreg bitcast(i8**getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i64 0,i32 2,i64 0)to i8*),i8**inreg getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i64 0,i32 2,i64 7),i8*inreg%eI)#0
%eJ=load i8*,i8**%i,align 8
call void@sml_write(i8*inreg bitcast(i8**getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i64 0,i32 2,i64 0)to i8*),i8**inreg getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i64 0,i32 2,i64 8),i8*inreg%eJ)#0
%eK=load i8*,i8**%j,align 8
call void@sml_write(i8*inreg bitcast(i8**getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i64 0,i32 2,i64 0)to i8*),i8**inreg getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i64 0,i32 2,i64 9),i8*inreg%eK)#0
%eL=load i8*,i8**%k,align 8
call void@sml_write(i8*inreg bitcast(i8**getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i64 0,i32 2,i64 0)to i8*),i8**inreg getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i64 0,i32 2,i64 10),i8*inreg%eL)#0
%eM=load i8*,i8**%l,align 8
call void@sml_write(i8*inreg bitcast(i8**getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i64 0,i32 2,i64 0)to i8*),i8**inreg getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i64 0,i32 2,i64 11),i8*inreg%eM)#0
%eN=load i8*,i8**%b,align 8
call void@sml_write(i8*inreg bitcast(i8**getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i64 0,i32 2,i64 0)to i8*),i8**inreg getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i64 0,i32 2,i64 12),i8*inreg%eN)#0
call void@sml_end()#0
ret void
eO:
%eP=landingpad{i8*,i8*}
cleanup
%eQ=extractvalue{i8*,i8*}%eP,1
call void@sml_save_exn(i8*inreg%eQ)#0
call void@sml_end()#0
resume{i8*,i8*}%eP
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite34lazyE_38(i8*inreg%a,i8*inreg%b)#1 gc"smlsharp"{
l:
%c=alloca i8*,align 8
%d=alloca i8*,align 8
%e=alloca i8*,align 8
call void@llvm.gcroot(i8**%c,i8*null)#0
call void@llvm.gcroot(i8**%d,i8*null)#0
call void@llvm.gcroot(i8**%e,i8*null)#0
store i8*%a,i8**%d,align 8
store i8*%b,i8**%e,align 8
%f=load atomic i32,i32*@sml_check_flag unordered,align 4
%g=icmp eq i32%f,0
br i1%g,label%j,label%h
h:
call void@sml_check(i32 inreg%f)
%i=load i8*,i8**%d,align 8
br label%j
j:
%k=phi i8*[%i,%h],[%a,%l]
%m=getelementptr inbounds i8,i8*%k,i64 8
%n=bitcast i8*%m to i8***
%o=load i8**,i8***%n,align 8
%p=load i8*,i8**%o,align 8
%q=icmp eq i8*%p,null
br i1%q,label%r,label%Z
r:
%s=bitcast i8*%k to i8**
%t=load i8*,i8**%s,align 8
%u=getelementptr inbounds i8,i8*%t,i64 16
%v=bitcast i8*%u to i8*(i8*,i8*)**
%w=load i8*(i8*,i8*)*,i8*(i8*,i8*)**%v,align 8
%x=bitcast i8*%t to i8**
%y=load i8*,i8**%x,align 8
store i8*%y,i8**%c,align 8
%z=call i8*@sml_alloc(i32 inreg 4)#0
%A=bitcast i8*%z to i32*
%B=getelementptr inbounds i8,i8*%z,i64 -4
%C=bitcast i8*%B to i32*
store i32 4,i32*%C,align 4
store i32 0,i32*%A,align 4
%D=load i8*,i8**%c,align 8
store i8*null,i8**%c,align 8
%E=call fastcc i8*%w(i8*inreg%D,i8*inreg%z)
store i8*%E,i8**%c,align 8
%F=call i8*@sml_alloc(i32 inreg 12)#0
%G=getelementptr inbounds i8,i8*%F,i64 -4
%H=bitcast i8*%G to i32*
store i32 1342177288,i32*%H,align 4
%I=load i8*,i8**%c,align 8
%J=bitcast i8*%F to i8**
store i8*%I,i8**%J,align 8
%K=getelementptr inbounds i8,i8*%F,i64 8
%L=bitcast i8*%K to i32*
store i32 1,i32*%L,align 4
%M=load i8*,i8**%d,align 8
%N=getelementptr inbounds i8,i8*%M,i64 8
%O=bitcast i8*%N to i8**
%P=load i8*,i8**%O,align 8
%Q=bitcast i8*%P to i8**
call void@sml_write(i8*inreg%P,i8**inreg%Q,i8*inreg%F)#0
%R=load i8*,i8**%c,align 8
%S=getelementptr inbounds i8,i8*%R,i64 16
%T=bitcast i8*%S to i8*(i8*,i8*)**
%U=load i8*(i8*,i8*)*,i8*(i8*,i8*)**%T,align 8
%V=bitcast i8*%R to i8**
%W=load i8*,i8**%V,align 8
%X=load i8*,i8**%e,align 8
%Y=tail call fastcc i8*%U(i8*inreg%W,i8*inreg%X)
ret i8*%Y
Z:
%aa=bitcast i8*%p to i8**
%ab=load i8*,i8**%aa,align 8
%ac=getelementptr inbounds i8,i8*%ab,i64 16
%ad=bitcast i8*%ac to i8*(i8*,i8*)**
%ae=load i8*(i8*,i8*)*,i8*(i8*,i8*)**%ad,align 8
%af=bitcast i8*%ab to i8**
%ag=load i8*,i8**%af,align 8
%ah=load i8*,i8**%e,align 8
%ai=tail call fastcc i8*%ae(i8*inreg%ag,i8*inreg%ah)
ret i8*%ai
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite34lazyE_39(i8*inreg%a)unnamed_addr#3 gc"smlsharp"{
%b=alloca i8*,align 8
%c=alloca i8*,align 8
%d=alloca i8*,align 8
call void@llvm.gcroot(i8**%b,i8*null)#0
call void@llvm.gcroot(i8**%c,i8*null)#0
call void@llvm.gcroot(i8**%d,i8*null)#0
store i8*%a,i8**%b,align 8
%e=call i8*@sml_alloc(i32 inreg 8)#0
%f=getelementptr inbounds i8,i8*%e,i64 -4
%g=bitcast i8*%f to i32*
store i32 805306376,i32*%g,align 4
store i8*%e,i8**%c,align 8
%h=bitcast i8*%e to i64*
store i64 0,i64*%h,align 1
%i=bitcast i8*%e to i8**
call void@sml_write(i8*inreg%e,i8**inreg%i,i8*inreg null)#0
%j=call i8*@sml_alloc(i32 inreg 20)#0
%k=getelementptr inbounds i8,i8*%j,i64 -4
%l=bitcast i8*%k to i32*
store i32 1342177296,i32*%l,align 4
store i8*%j,i8**%d,align 8
%m=load i8*,i8**%b,align 8
store i8*null,i8**%b,align 8
%n=bitcast i8*%j to i8**
store i8*%m,i8**%n,align 8
%o=load i8*,i8**%c,align 8
store i8*null,i8**%c,align 8
%p=getelementptr inbounds i8,i8*%j,i64 8
%q=bitcast i8*%p to i8**
store i8*%o,i8**%q,align 8
%r=getelementptr inbounds i8,i8*%j,i64 16
%s=bitcast i8*%r to i32*
store i32 3,i32*%s,align 4
%t=call i8*@sml_alloc(i32 inreg 28)#0
%u=getelementptr inbounds i8,i8*%t,i64 -4
%v=bitcast i8*%u to i32*
store i32 1342177304,i32*%v,align 4
%w=load i8*,i8**%d,align 8
%x=bitcast i8*%t to i8**
store i8*%w,i8**%x,align 8
%y=getelementptr inbounds i8,i8*%t,i64 8
%z=bitcast i8*%y to void(...)**
store void(...)*bitcast(i8*(i8*,i8*)*@_SMLLN20SMLSharp__SQL__SQLite34lazyE_38 to void(...)*),void(...)**%z,align 8
%A=getelementptr inbounds i8,i8*%t,i64 16
%B=bitcast i8*%A to void(...)**
store void(...)*bitcast(i8*(i8*,i8*)*@_SMLLN20SMLSharp__SQL__SQLite34lazyE_38 to void(...)*),void(...)**%B,align 8
%C=getelementptr inbounds i8,i8*%t,i64 24
%D=bitcast i8*%C to i32*
store i32 1,i32*%D,align 4
ret i8*%t
}
define internal fastcc void(...)*@_SMLLN20SMLSharp__SQL__SQLite35dlsymE_46(i8*inreg%a,i8*inreg%b)#1 gc"smlsharp"{
%c=alloca i8*,align 8
%d=alloca i8*,align 8
call void@llvm.gcroot(i8**%c,i8*null)#0
call void@llvm.gcroot(i8**%d,i8*null)#0
store i8*%a,i8**%d,align 8
store i8*%b,i8**%c,align 8
%e=load atomic i32,i32*@sml_check_flag unordered,align 4
%f=icmp eq i32%e,0
br i1%f,label%g,label%i
g:
%h=bitcast i8*%a to i8**
br label%l
i:
call void@sml_check(i32 inreg%e)
%j=bitcast i8**%d to i8***
%k=load i8**,i8***%j,align 8
br label%l
l:
%m=phi i8**[%k,%i],[%h,%g]
store i8*null,i8**%d,align 8
%n=load i8*,i8**%m,align 8
%o=call i8*@sml_alloc(i32 inreg 20)#0
%p=getelementptr inbounds i8,i8*%o,i64 -4
%q=bitcast i8*%p to i32*
store i32 1342177296,i32*%q,align 4
%r=bitcast i8*%o to i8**
store i8*%n,i8**%r,align 8
%s=load i8*,i8**%c,align 8
%t=getelementptr inbounds i8,i8*%o,i64 8
%u=bitcast i8*%t to i8**
store i8*%s,i8**%u,align 8
%v=getelementptr inbounds i8,i8*%o,i64 16
%w=bitcast i8*%v to i32*
store i32 2,i32*%w,align 4
%x=tail call fastcc void(...)*@_SMLFN11DynamicLink5dlsymE(i8*inreg%o)
ret void(...)*%x
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite35dlsymE_47(i32 inreg%a)#1 gc"smlsharp"{
%b=alloca i8*,align 8
call void@llvm.gcroot(i8**%b,i8*null)#0
%c=load atomic i32,i32*@sml_check_flag unordered,align 4
%d=icmp eq i32%c,0
br i1%d,label%f,label%e
e:
call void@sml_check(i32 inreg%c)
br label%f
f:
%g=call fastcc i8*@_SMLFN18SMLSharp__OSProcess6getEnvE(i8*inreg getelementptr inbounds(<{[4x i8],i32,[20x i8]}>,<{[4x i8],i32,[20x i8]}>*@a,i64 0,i32 2,i64 0))
%h=icmp eq i8*%g,null
br i1%h,label%i,label%J
i:
%j=load i8**,i8***bitcast(i8**@_SMLZN19SMLSharp__SQL__Config6DLLEXTE to i8***),align 8
%k=load i8*,i8**%j,align 8
store i8*%k,i8**%b,align 8
%l=getelementptr inbounds i8,i8*%k,i64 -4
%m=bitcast i8*%l to i32*
%n=load i32,i32*%m,align 4
%o=and i32%n,268435455
%p=icmp eq i32%o,3
br i1%p,label%q,label%y
q:
%r=load i8,i8*%k,align 1
%s=icmp eq i8%r,115
br i1%s,label%t,label%y
t:
%u=getelementptr inbounds i8,i8*%k,i64 1
%v=load i8,i8*%u,align 1
%w=icmp eq i8%v,111
br i1%w,label%x,label%y
x:
store i8*null,i8**%b,align 8
br label%M
y:
%z=call i8*@sml_alloc(i32 inreg 20)#0
%A=getelementptr inbounds i8,i8*%z,i64 -4
%B=bitcast i8*%A to i32*
store i32 1342177296,i32*%B,align 4
%C=bitcast i8*%z to i8**
store i8*getelementptr inbounds(<{[4x i8],i32,[14x i8]}>,<{[4x i8],i32,[14x i8]}>*@b,i64 0,i32 2,i64 0),i8**%C,align 8
%D=load i8*,i8**%b,align 8
store i8*null,i8**%b,align 8
%E=getelementptr inbounds i8,i8*%z,i64 8
%F=bitcast i8*%E to i8**
store i8*%D,i8**%F,align 8
%G=getelementptr inbounds i8,i8*%z,i64 16
%H=bitcast i8*%G to i32*
store i32 3,i32*%H,align 4
%I=call fastcc i8*@_SMLFN6String1_ZE(i8*inreg%z)
br label%M
J:
%K=bitcast i8*%g to i8**
%L=load i8*,i8**%K,align 8
br label%M
M:
%N=phi i8*[%L,%J],[getelementptr inbounds(<{[4x i8],i32,[16x i8]}>,<{[4x i8],i32,[16x i8]}>*@c,i64 0,i32 2,i64 0),%x],[%I,%y]
%O=call fastcc i8*@_SMLFN11DynamicLink6dlopenE(i8*inreg%N)
%P=call i8*@sml_alloc(i32 inreg 12)#0
%Q=getelementptr inbounds i8,i8*%P,i64 -4
%R=bitcast i8*%Q to i32*
store i32 1342177288,i32*%R,align 4
store i8*%P,i8**%b,align 8
%S=bitcast i8*%P to i8**
store i8*%O,i8**%S,align 8
%T=getelementptr inbounds i8,i8*%P,i64 8
%U=bitcast i8*%T to i32*
store i32 0,i32*%U,align 4
%V=call i8*@sml_alloc(i32 inreg 28)#0
%W=getelementptr inbounds i8,i8*%V,i64 -4
%X=bitcast i8*%W to i32*
store i32 1342177304,i32*%X,align 4
%Y=load i8*,i8**%b,align 8
%Z=bitcast i8*%V to i8**
store i8*%Y,i8**%Z,align 8
%aa=getelementptr inbounds i8,i8*%V,i64 8
%ab=bitcast i8*%aa to void(...)**
store void(...)*bitcast(void(...)*(i8*,i8*)*@_SMLLN20SMLSharp__SQL__SQLite35dlsymE_46 to void(...)*),void(...)**%ab,align 8
%ac=getelementptr inbounds i8,i8*%V,i64 16
%ad=bitcast i8*%ac to void(...)**
store void(...)*bitcast(i8*(i8*,i8*)*@_SMLLN20SMLSharp__SQL__SQLite35dlsymE_113 to void(...)*),void(...)**%ad,align 8
%ae=getelementptr inbounds i8,i8*%V,i64 24
%af=bitcast i8*%ae to i32*
store i32 -2147483647,i32*%af,align 4
ret i8*%V
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite314sqlite3__errstrE_50(i8*inreg%a,i32 inreg%b)#1 gc"smlsharp"personality i32(...)*@sml_personality{
%c=alloca i8*,align 8
call void@llvm.gcroot(i8**%c,i8*null)#0
store i8*%a,i8**%c,align 8
%d=load atomic i32,i32*@sml_check_flag unordered,align 4
%e=icmp eq i32%d,0
br i1%e,label%f,label%h
f:
%g=bitcast i8*%a to i8*(i32)**
br label%k
h:
call void@sml_check(i32 inreg%d)
%i=bitcast i8**%c to i8*(i32)***
%j=load i8*(i32)**,i8*(i32)***%i,align 8
br label%k
k:
%l=phi i8*(i32)**[%j,%h],[%g,%f]
store i8*null,i8**%c,align 8
%m=load i8*(i32)*,i8*(i32)**%l,align 8
call void@sml_leave()#0
%n=invoke i8*%m(i32%b)
to label%o unwind label%p
o:
call void@sml_enter()#0
ret i8*%n
p:
%q=landingpad{i8*,i8*}
cleanup
%r=extractvalue{i8*,i8*}%q,1
call void@sml_enter()#0
%s=call i8*@sml_unsave_exn(i8*inreg%r)#0
resume{i8*,i8*}%q
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite314sqlite3__errstrE_51(i8*inreg%a,i32 inreg%b)#1 gc"smlsharp"{
%c=alloca i8*,align 8
call void@llvm.gcroot(i8**%c,i8*null)#0
store i8*%a,i8**%c,align 8
%d=load atomic i32,i32*@sml_check_flag unordered,align 4
%e=icmp eq i32%d,0
br i1%e,label%f,label%h
f:
%g=bitcast i8*%a to i8**
br label%k
h:
call void@sml_check(i32 inreg%d)
%i=bitcast i8**%c to i8***
%j=load i8**,i8***%i,align 8
br label%k
k:
%l=phi i8**[%j,%h],[%g,%f]
%m=load i8*,i8**%l,align 8
%n=getelementptr inbounds i8,i8*%m,i64 16
%o=bitcast i8*%n to i8*(i8*,i8*)**
%p=load i8*(i8*,i8*)*,i8*(i8*,i8*)**%o,align 8
store i8*null,i8**%c,align 8
%q=bitcast i8**%l to i8***
%r=load i8**,i8***%q,align 8
%s=load i8*,i8**%r,align 8
%t=call fastcc i8*%p(i8*inreg%s,i8*inreg getelementptr inbounds(<{[4x i8],i32,[15x i8]}>,<{[4x i8],i32,[15x i8]}>*@e,i64 0,i32 2,i64 0))
%u=bitcast i8*%t to void(...)**
%v=load void(...)*,void(...)**%u,align 8
%w=call i8*@sml_alloc(i32 inreg 12)#0
%x=getelementptr inbounds i8,i8*%w,i64 -4
%y=bitcast i8*%x to i32*
store i32 1342177288,i32*%y,align 4
store i8*%w,i8**%c,align 8
%z=bitcast i8*%w to void(...)**
store void(...)*%v,void(...)**%z,align 8
%A=getelementptr inbounds i8,i8*%w,i64 8
%B=bitcast i8*%A to i32*
store i32 0,i32*%B,align 4
%C=call i8*@sml_alloc(i32 inreg 28)#0
%D=getelementptr inbounds i8,i8*%C,i64 -4
%E=bitcast i8*%D to i32*
store i32 1342177304,i32*%E,align 4
%F=load i8*,i8**%c,align 8
%G=bitcast i8*%C to i8**
store i8*%F,i8**%G,align 8
%H=getelementptr inbounds i8,i8*%C,i64 8
%I=bitcast i8*%H to void(...)**
store void(...)*bitcast(i8*(i8*,i32)*@_SMLLN20SMLSharp__SQL__SQLite314sqlite3__errstrE_50 to void(...)*),void(...)**%I,align 8
%J=getelementptr inbounds i8,i8*%C,i64 16
%K=bitcast i8*%J to void(...)**
store void(...)*bitcast(i8*(i8*,i8*)*@_SMLLN20SMLSharp__SQL__SQLite314sqlite3__errstrE_115 to void(...)*),void(...)**%K,align 8
%L=getelementptr inbounds i8,i8*%C,i64 24
%M=bitcast i8*%L to i32*
store i32 -2147483647,i32*%M,align 4
ret i8*%C
}
define internal fastcc i32@_SMLLN20SMLSharp__SQL__SQLite315sqlite3__open__v2E_53(i8*inreg%a,i8*inreg%b)#1 gc"smlsharp"personality i32(...)*@sml_personality{
%c=alloca i8*,align 8
%d=alloca i8*,align 8
call void@llvm.gcroot(i8**%c,i8*null)#0
call void@llvm.gcroot(i8**%d,i8*null)#0
store i8*%a,i8**%c,align 8
store i8*%b,i8**%d,align 8
%e=load atomic i32,i32*@sml_check_flag unordered,align 4
%f=icmp eq i32%e,0
br i1%f,label%g,label%i
g:
%h=bitcast i8*%a to i32(i8*,i8*,i32,i8*)**
br label%m
i:
call void@sml_check(i32 inreg%e)
%j=load i8*,i8**%d,align 8
%k=bitcast i8**%c to i32(i8*,i8*,i32,i8*)***
%l=load i32(i8*,i8*,i32,i8*)**,i32(i8*,i8*,i32,i8*)***%k,align 8
br label%m
m:
%n=phi i32(i8*,i8*,i32,i8*)**[%l,%i],[%h,%g]
%o=phi i8*[%j,%i],[%b,%g]
%p=load i32(i8*,i8*,i32,i8*)*,i32(i8*,i8*,i32,i8*)**%n,align 8
%q=bitcast i8*%o to i8**
%r=load i8*,i8**%q,align 8
store i8*%r,i8**%c,align 8
%s=getelementptr inbounds i8,i8*%o,i64 8
%t=bitcast i8*%s to i8**
%u=load i8*,i8**%t,align 8
store i8*%u,i8**%d,align 8
%v=getelementptr inbounds i8,i8*%o,i64 16
%w=bitcast i8*%v to i32*
%x=load i32,i32*%w,align 4
%y=getelementptr inbounds i8,i8*%o,i64 24
%z=bitcast i8*%y to i8**
%A=load i8*,i8**%z,align 8
call void@sml_leave()#0
%B=invoke i32%p(i8*%r,i8*%u,i32%x,i8*%A)
to label%C unwind label%D
C:
call void@sml_enter()#0
ret i32%B
D:
%E=landingpad{i8*,i8*}
cleanup
%F=extractvalue{i8*,i8*}%E,1
call void@sml_enter()#0
%G=call i8*@sml_unsave_exn(i8*inreg%F)#0
resume{i8*,i8*}%E
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite315sqlite3__open__v2E_54(i8*inreg%a,i32 inreg%b)#1 gc"smlsharp"{
%c=alloca i8*,align 8
call void@llvm.gcroot(i8**%c,i8*null)#0
store i8*%a,i8**%c,align 8
%d=load atomic i32,i32*@sml_check_flag unordered,align 4
%e=icmp eq i32%d,0
br i1%e,label%f,label%h
f:
%g=bitcast i8*%a to i8**
br label%k
h:
call void@sml_check(i32 inreg%d)
%i=bitcast i8**%c to i8***
%j=load i8**,i8***%i,align 8
br label%k
k:
%l=phi i8**[%j,%h],[%g,%f]
%m=load i8*,i8**%l,align 8
%n=getelementptr inbounds i8,i8*%m,i64 16
%o=bitcast i8*%n to i8*(i8*,i8*)**
%p=load i8*(i8*,i8*)*,i8*(i8*,i8*)**%o,align 8
store i8*null,i8**%c,align 8
%q=bitcast i8**%l to i8***
%r=load i8**,i8***%q,align 8
%s=load i8*,i8**%r,align 8
%t=call fastcc i8*%p(i8*inreg%s,i8*inreg getelementptr inbounds(<{[4x i8],i32,[16x i8]}>,<{[4x i8],i32,[16x i8]}>*@f,i64 0,i32 2,i64 0))
%u=bitcast i8*%t to void(...)**
%v=load void(...)*,void(...)**%u,align 8
%w=call i8*@sml_alloc(i32 inreg 12)#0
%x=getelementptr inbounds i8,i8*%w,i64 -4
%y=bitcast i8*%x to i32*
store i32 1342177288,i32*%y,align 4
store i8*%w,i8**%c,align 8
%z=bitcast i8*%w to void(...)**
store void(...)*%v,void(...)**%z,align 8
%A=getelementptr inbounds i8,i8*%w,i64 8
%B=bitcast i8*%A to i32*
store i32 0,i32*%B,align 4
%C=call i8*@sml_alloc(i32 inreg 28)#0
%D=getelementptr inbounds i8,i8*%C,i64 -4
%E=bitcast i8*%D to i32*
store i32 1342177304,i32*%E,align 4
%F=load i8*,i8**%c,align 8
%G=bitcast i8*%C to i8**
store i8*%F,i8**%G,align 8
%H=getelementptr inbounds i8,i8*%C,i64 8
%I=bitcast i8*%H to void(...)**
store void(...)*bitcast(i32(i8*,i8*)*@_SMLLN20SMLSharp__SQL__SQLite315sqlite3__open__v2E_53 to void(...)*),void(...)**%I,align 8
%J=getelementptr inbounds i8,i8*%C,i64 16
%K=bitcast i8*%J to void(...)**
store void(...)*bitcast(i8*(i8*,i8*)*@_SMLLN20SMLSharp__SQL__SQLite315sqlite3__open__v2E_117 to void(...)*),void(...)**%K,align 8
%L=getelementptr inbounds i8,i8*%C,i64 24
%M=bitcast i8*%L to i32*
store i32 -2147483647,i32*%M,align 4
ret i8*%C
}
define internal fastcc i32@_SMLLN20SMLSharp__SQL__SQLite315sqlite3__open__v2E_55(i8*inreg%a)#3 gc"smlsharp"{
%b=bitcast i8*%a to i32*
%c=load i32,i32*%b,align 4
%d=getelementptr inbounds i8,i8*%a,i64 4
%e=bitcast i8*%d to i32*
%f=load i32,i32*%e,align 4
%g=or i32%f,%c
ret i32%g
}
define internal fastcc i32@_SMLLN20SMLSharp__SQL__SQLite315sqlite3__open__v2E_57(i8*inreg%a,i8*inreg%b)#1 gc"smlsharp"{
%c=alloca i8*,align 8
%d=alloca i8*,align 8
%e=alloca i8*,align 8
%f=alloca i8*,align 8
%g=alloca i8*,align 8
%h=alloca i8*,align 8
call void@llvm.gcroot(i8**%c,i8*null)#0
call void@llvm.gcroot(i8**%d,i8*null)#0
call void@llvm.gcroot(i8**%e,i8*null)#0
call void@llvm.gcroot(i8**%f,i8*null)#0
call void@llvm.gcroot(i8**%g,i8*null)#0
call void@llvm.gcroot(i8**%h,i8*null)#0
store i8*%a,i8**%e,align 8
store i8*%b,i8**%c,align 8
%i=load atomic i32,i32*@sml_check_flag unordered,align 4
%j=icmp eq i32%i,0
br i1%j,label%k,label%m
k:
%l=bitcast i8*%a to i8**
br label%q
m:
call void@sml_check(i32 inreg%i)
%n=load i8*,i8**%c,align 8
%o=bitcast i8**%e to i8***
%p=load i8**,i8***%o,align 8
br label%q
q:
%r=phi i8**[%p,%m],[%l,%k]
%s=phi i8*[%n,%m],[%b,%k]
%t=bitcast i8*%s to i8**
%u=load i8*,i8**%t,align 8
store i8*%u,i8**%c,align 8
%v=getelementptr inbounds i8,i8*%s,i64 8
%w=bitcast i8*%v to i8**
%x=load i8*,i8**%w,align 8
store i8*%x,i8**%d,align 8
%y=getelementptr inbounds i8,i8*%s,i64 16
%z=bitcast i8*%y to i8**
%A=load i8*,i8**%z,align 8
%B=bitcast i8*%A to i32*
%C=load i32,i32*%B,align 4
%D=getelementptr inbounds i8,i8*%A,i64 4
%E=bitcast i8*%D to i32*
%F=load i32,i32*%E,align 4
%G=getelementptr inbounds i8,i8*%A,i64 8
%H=bitcast i8*%G to i32*
%I=load i32,i32*%H,align 4
%J=getelementptr inbounds i8,i8*%A,i64 12
%K=bitcast i8*%J to i32*
%L=load i32,i32*%K,align 4
%M=load i8*,i8**%r,align 8
%N=getelementptr inbounds i8,i8*%M,i64 16
%O=bitcast i8*%N to i8*(i8*,i8*)**
%P=load i8*(i8*,i8*)*,i8*(i8*,i8*)**%O,align 8
store i8*null,i8**%e,align 8
%Q=bitcast i8**%r to i8***
%R=load i8**,i8***%Q,align 8
%S=load i8*,i8**%R,align 8
store i8*%S,i8**%f,align 8
%T=call fastcc i8*@_SMLFN4List5foldlE(i32 inreg 0,i32 inreg 4,i32 inreg 0,i32 inreg 4)
%U=getelementptr inbounds i8,i8*%T,i64 16
%V=bitcast i8*%U to i8*(i8*,i8*)**
%W=load i8*(i8*,i8*)*,i8*(i8*,i8*)**%V,align 8
%X=bitcast i8*%T to i8**
%Y=load i8*,i8**%X,align 8
%Z=call fastcc i8*%W(i8*inreg%Y,i8*inreg bitcast(i8**getelementptr inbounds(<{[4x i8],i32,i8*,void(...)*,void(...)*,i32}>,<{[4x i8],i32,i8*,void(...)*,void(...)*,i32}>*@g,i64 0,i32 2)to i8*))
%aa=getelementptr inbounds i8,i8*%Z,i64 16
%ab=bitcast i8*%aa to i8*(i8*,i8*)**
%ac=load i8*(i8*,i8*)*,i8*(i8*,i8*)**%ab,align 8
%ad=bitcast i8*%Z to i8**
%ae=load i8*,i8**%ad,align 8
store i8*%ae,i8**%e,align 8
%af=call i8*@sml_alloc(i32 inreg 4)#0
%ag=bitcast i8*%af to i32*
%ah=getelementptr inbounds i8,i8*%af,i64 -4
%ai=bitcast i8*%ah to i32*
store i32 4,i32*%ai,align 4
store i32 0,i32*%ag,align 4
%aj=load i8*,i8**%e,align 8
store i8*null,i8**%e,align 8
%ak=call fastcc i8*%ac(i8*inreg%aj,i8*inreg%af)
%al=getelementptr inbounds i8,i8*%ak,i64 16
%am=bitcast i8*%al to i8*(i8*,i8*)**
%an=load i8*(i8*,i8*)*,i8*(i8*,i8*)**%am,align 8
%ao=bitcast i8*%ak to i8**
%ap=load i8*,i8**%ao,align 8
store i8*%ap,i8**%e,align 8
%aq=call i8*@sml_alloc(i32 inreg 20)#0
%ar=getelementptr inbounds i8,i8*%aq,i64 -4
%as=bitcast i8*%ar to i32*
store i32 1342177296,i32*%as,align 4
store i8*%aq,i8**%g,align 8
%at=getelementptr inbounds i8,i8*%aq,i64 4
%au=bitcast i8*%at to i32*
store i32 0,i32*%au,align 1
%av=bitcast i8*%aq to i32*
store i32%L,i32*%av,align 4
%aw=getelementptr inbounds i8,i8*%aq,i64 8
%ax=bitcast i8*%aw to i8**
store i8*null,i8**%ax,align 8
%ay=getelementptr inbounds i8,i8*%aq,i64 16
%az=bitcast i8*%ay to i32*
store i32 2,i32*%az,align 4
%aA=call i8*@sml_alloc(i32 inreg 20)#0
%aB=getelementptr inbounds i8,i8*%aA,i64 -4
%aC=bitcast i8*%aB to i32*
store i32 1342177296,i32*%aC,align 4
store i8*%aA,i8**%h,align 8
%aD=getelementptr inbounds i8,i8*%aA,i64 4
%aE=bitcast i8*%aD to i32*
store i32 0,i32*%aE,align 1
%aF=bitcast i8*%aA to i32*
store i32%C,i32*%aF,align 4
%aG=load i8*,i8**%g,align 8
store i8*null,i8**%g,align 8
%aH=getelementptr inbounds i8,i8*%aA,i64 8
%aI=bitcast i8*%aH to i8**
store i8*%aG,i8**%aI,align 8
%aJ=getelementptr inbounds i8,i8*%aA,i64 16
%aK=bitcast i8*%aJ to i32*
store i32 2,i32*%aK,align 4
%aL=call i8*@sml_alloc(i32 inreg 20)#0
%aM=getelementptr inbounds i8,i8*%aL,i64 -4
%aN=bitcast i8*%aM to i32*
store i32 1342177296,i32*%aN,align 4
store i8*%aL,i8**%g,align 8
%aO=getelementptr inbounds i8,i8*%aL,i64 4
%aP=bitcast i8*%aO to i32*
store i32 0,i32*%aP,align 1
%aQ=bitcast i8*%aL to i32*
store i32%I,i32*%aQ,align 4
%aR=load i8*,i8**%h,align 8
store i8*null,i8**%h,align 8
%aS=getelementptr inbounds i8,i8*%aL,i64 8
%aT=bitcast i8*%aS to i8**
store i8*%aR,i8**%aT,align 8
%aU=getelementptr inbounds i8,i8*%aL,i64 16
%aV=bitcast i8*%aU to i32*
store i32 2,i32*%aV,align 4
%aW=call i8*@sml_alloc(i32 inreg 20)#0
%aX=bitcast i8*%aW to i32*
%aY=getelementptr inbounds i8,i8*%aW,i64 -4
%aZ=bitcast i8*%aY to i32*
store i32 1342177296,i32*%aZ,align 4
%a0=getelementptr inbounds i8,i8*%aW,i64 4
%a1=bitcast i8*%a0 to i32*
store i32 0,i32*%a1,align 1
store i32%F,i32*%aX,align 4
%a2=load i8*,i8**%g,align 8
store i8*null,i8**%g,align 8
%a3=getelementptr inbounds i8,i8*%aW,i64 8
%a4=bitcast i8*%a3 to i8**
store i8*%a2,i8**%a4,align 8
%a5=getelementptr inbounds i8,i8*%aW,i64 16
%a6=bitcast i8*%a5 to i32*
store i32 2,i32*%a6,align 4
%a7=load i8*,i8**%e,align 8
store i8*null,i8**%e,align 8
%a8=call fastcc i8*%an(i8*inreg%a7,i8*inreg%aW)
%a9=bitcast i8*%a8 to i32*
%ba=load i32,i32*%a9,align 4
%bb=call i8*@sml_alloc(i32 inreg 36)#0
%bc=getelementptr inbounds i8,i8*%bb,i64 -4
%bd=bitcast i8*%bc to i32*
store i32 1342177312,i32*%bd,align 4
%be=getelementptr inbounds i8,i8*%bb,i64 20
%bf=bitcast i8*%be to i32*
store i32 0,i32*%bf,align 1
%bg=load i8*,i8**%c,align 8
store i8*null,i8**%c,align 8
%bh=bitcast i8*%bb to i8**
store i8*%bg,i8**%bh,align 8
%bi=load i8*,i8**%d,align 8
store i8*null,i8**%d,align 8
%bj=getelementptr inbounds i8,i8*%bb,i64 8
%bk=bitcast i8*%bj to i8**
store i8*%bi,i8**%bk,align 8
%bl=getelementptr inbounds i8,i8*%bb,i64 16
%bm=bitcast i8*%bl to i32*
store i32%ba,i32*%bm,align 4
%bn=getelementptr inbounds i8,i8*%bb,i64 24
%bo=bitcast i8*%bn to i8**
store i8*null,i8**%bo,align 8
%bp=getelementptr inbounds i8,i8*%bb,i64 32
%bq=bitcast i8*%bp to i32*
store i32 3,i32*%bq,align 4
%br=load i8*,i8**%f,align 8
store i8*null,i8**%f,align 8
%bs=call fastcc i8*%P(i8*inreg%br,i8*inreg%bb)
%bt=bitcast i8*%bs to i32*
%bu=load i32,i32*%bt,align 4
ret i32%bu
}
define internal fastcc i32@_SMLLN20SMLSharp__SQL__SQLite316sqlite3__close__v2E_59(i8*inreg%a,i64 inreg%b)#1 gc"smlsharp"personality i32(...)*@sml_personality{
%c=alloca i8*,align 8
call void@llvm.gcroot(i8**%c,i8*null)#0
store i8*%a,i8**%c,align 8
%d=load atomic i32,i32*@sml_check_flag unordered,align 4
%e=icmp eq i32%d,0
br i1%e,label%f,label%h
f:
%g=bitcast i8*%a to i32(i8*)**
br label%k
h:
call void@sml_check(i32 inreg%d)
%i=bitcast i8**%c to i32(i8*)***
%j=load i32(i8*)**,i32(i8*)***%i,align 8
br label%k
k:
%l=phi i32(i8*)**[%j,%h],[%g,%f]
%m=inttoptr i64%b to i8*
store i8*null,i8**%c,align 8
%n=load i32(i8*)*,i32(i8*)**%l,align 8
call void@sml_leave()#0
%o=invoke i32%n(i8*%m)
to label%p unwind label%q
p:
call void@sml_enter()#0
ret i32%o
q:
%r=landingpad{i8*,i8*}
cleanup
%s=extractvalue{i8*,i8*}%r,1
call void@sml_enter()#0
%t=call i8*@sml_unsave_exn(i8*inreg%s)#0
resume{i8*,i8*}%r
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite316sqlite3__close__v2E_60(i8*inreg%a,i32 inreg%b)#1 gc"smlsharp"{
%c=alloca i8*,align 8
call void@llvm.gcroot(i8**%c,i8*null)#0
store i8*%a,i8**%c,align 8
%d=load atomic i32,i32*@sml_check_flag unordered,align 4
%e=icmp eq i32%d,0
br i1%e,label%f,label%h
f:
%g=bitcast i8*%a to i8**
br label%k
h:
call void@sml_check(i32 inreg%d)
%i=bitcast i8**%c to i8***
%j=load i8**,i8***%i,align 8
br label%k
k:
%l=phi i8**[%j,%h],[%g,%f]
%m=load i8*,i8**%l,align 8
%n=getelementptr inbounds i8,i8*%m,i64 16
%o=bitcast i8*%n to i8*(i8*,i8*)**
%p=load i8*(i8*,i8*)*,i8*(i8*,i8*)**%o,align 8
store i8*null,i8**%c,align 8
%q=bitcast i8**%l to i8***
%r=load i8**,i8***%q,align 8
%s=load i8*,i8**%r,align 8
%t=call fastcc i8*%p(i8*inreg%s,i8*inreg getelementptr inbounds(<{[4x i8],i32,[17x i8]}>,<{[4x i8],i32,[17x i8]}>*@h,i64 0,i32 2,i64 0))
%u=bitcast i8*%t to void(...)**
%v=load void(...)*,void(...)**%u,align 8
%w=call i8*@sml_alloc(i32 inreg 12)#0
%x=getelementptr inbounds i8,i8*%w,i64 -4
%y=bitcast i8*%x to i32*
store i32 1342177288,i32*%y,align 4
store i8*%w,i8**%c,align 8
%z=bitcast i8*%w to void(...)**
store void(...)*%v,void(...)**%z,align 8
%A=getelementptr inbounds i8,i8*%w,i64 8
%B=bitcast i8*%A to i32*
store i32 0,i32*%B,align 4
%C=call i8*@sml_alloc(i32 inreg 28)#0
%D=getelementptr inbounds i8,i8*%C,i64 -4
%E=bitcast i8*%D to i32*
store i32 1342177304,i32*%E,align 4
%F=load i8*,i8**%c,align 8
%G=bitcast i8*%C to i8**
store i8*%F,i8**%G,align 8
%H=getelementptr inbounds i8,i8*%C,i64 8
%I=bitcast i8*%H to void(...)**
store void(...)*bitcast(i32(i8*,i64)*@_SMLLN20SMLSharp__SQL__SQLite316sqlite3__close__v2E_59 to void(...)*),void(...)**%I,align 8
%J=getelementptr inbounds i8,i8*%C,i64 16
%K=bitcast i8*%J to void(...)**
store void(...)*bitcast(i8*(i8*,i8*)*@_SMLLN20SMLSharp__SQL__SQLite316sqlite3__close__v2E_121 to void(...)*),void(...)**%K,align 8
%L=getelementptr inbounds i8,i8*%C,i64 24
%M=bitcast i8*%L to i32*
store i32 -2147483647,i32*%M,align 4
ret i8*%C
}
define internal fastcc i32@_SMLLN20SMLSharp__SQL__SQLite318sqlite3__prepare__v2E_62(i8*inreg%a,i8*inreg%b)#1 gc"smlsharp"personality i32(...)*@sml_personality{
%c=alloca i8*,align 8
%d=alloca i8*,align 8
call void@llvm.gcroot(i8**%c,i8*null)#0
call void@llvm.gcroot(i8**%d,i8*null)#0
store i8*%a,i8**%c,align 8
store i8*%b,i8**%d,align 8
%e=load atomic i32,i32*@sml_check_flag unordered,align 4
%f=icmp eq i32%e,0
br i1%f,label%g,label%i
g:
%h=bitcast i8*%a to i32(i8*,i8*,i32,i8*,i8*)**
br label%m
i:
call void@sml_check(i32 inreg%e)
%j=load i8*,i8**%d,align 8
%k=bitcast i8**%c to i32(i8*,i8*,i32,i8*,i8*)***
%l=load i32(i8*,i8*,i32,i8*,i8*)**,i32(i8*,i8*,i32,i8*,i8*)***%k,align 8
br label%m
m:
%n=phi i32(i8*,i8*,i32,i8*,i8*)**[%l,%i],[%h,%g]
%o=phi i8*[%j,%i],[%b,%g]
%p=load i32(i8*,i8*,i32,i8*,i8*)*,i32(i8*,i8*,i32,i8*,i8*)**%n,align 8
%q=bitcast i8*%o to i8**
%r=load i8*,i8**%q,align 8
%s=getelementptr inbounds i8,i8*%o,i64 8
%t=bitcast i8*%s to i8**
%u=load i8*,i8**%t,align 8
store i8*%u,i8**%c,align 8
%v=getelementptr inbounds i8,i8*%o,i64 16
%w=bitcast i8*%v to i32*
%x=load i32,i32*%w,align 4
%y=getelementptr inbounds i8,i8*%o,i64 24
%z=bitcast i8*%y to i8**
%A=load i8*,i8**%z,align 8
store i8*%A,i8**%d,align 8
%B=getelementptr inbounds i8,i8*%o,i64 32
%C=bitcast i8*%B to i8**
%D=load i8*,i8**%C,align 8
call void@sml_leave()#0
%E=invoke i32%p(i8*%r,i8*%u,i32%x,i8*%A,i8*%D)
to label%F unwind label%G
F:
call void@sml_enter()#0
ret i32%E
G:
%H=landingpad{i8*,i8*}
cleanup
%I=extractvalue{i8*,i8*}%H,1
call void@sml_enter()#0
%J=call i8*@sml_unsave_exn(i8*inreg%I)#0
resume{i8*,i8*}%H
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite318sqlite3__prepare__v2E_63(i8*inreg%a,i32 inreg%b)#1 gc"smlsharp"{
%c=alloca i8*,align 8
call void@llvm.gcroot(i8**%c,i8*null)#0
store i8*%a,i8**%c,align 8
%d=load atomic i32,i32*@sml_check_flag unordered,align 4
%e=icmp eq i32%d,0
br i1%e,label%f,label%h
f:
%g=bitcast i8*%a to i8**
br label%k
h:
call void@sml_check(i32 inreg%d)
%i=bitcast i8**%c to i8***
%j=load i8**,i8***%i,align 8
br label%k
k:
%l=phi i8**[%j,%h],[%g,%f]
%m=load i8*,i8**%l,align 8
%n=getelementptr inbounds i8,i8*%m,i64 16
%o=bitcast i8*%n to i8*(i8*,i8*)**
%p=load i8*(i8*,i8*)*,i8*(i8*,i8*)**%o,align 8
store i8*null,i8**%c,align 8
%q=bitcast i8**%l to i8***
%r=load i8**,i8***%q,align 8
%s=load i8*,i8**%r,align 8
%t=call fastcc i8*%p(i8*inreg%s,i8*inreg getelementptr inbounds(<{[4x i8],i32,[19x i8]}>,<{[4x i8],i32,[19x i8]}>*@i,i64 0,i32 2,i64 0))
%u=bitcast i8*%t to void(...)**
%v=load void(...)*,void(...)**%u,align 8
%w=call i8*@sml_alloc(i32 inreg 12)#0
%x=getelementptr inbounds i8,i8*%w,i64 -4
%y=bitcast i8*%x to i32*
store i32 1342177288,i32*%y,align 4
store i8*%w,i8**%c,align 8
%z=bitcast i8*%w to void(...)**
store void(...)*%v,void(...)**%z,align 8
%A=getelementptr inbounds i8,i8*%w,i64 8
%B=bitcast i8*%A to i32*
store i32 0,i32*%B,align 4
%C=call i8*@sml_alloc(i32 inreg 28)#0
%D=getelementptr inbounds i8,i8*%C,i64 -4
%E=bitcast i8*%D to i32*
store i32 1342177304,i32*%E,align 4
%F=load i8*,i8**%c,align 8
%G=bitcast i8*%C to i8**
store i8*%F,i8**%G,align 8
%H=getelementptr inbounds i8,i8*%C,i64 8
%I=bitcast i8*%H to void(...)**
store void(...)*bitcast(i32(i8*,i8*)*@_SMLLN20SMLSharp__SQL__SQLite318sqlite3__prepare__v2E_62 to void(...)*),void(...)**%I,align 8
%J=getelementptr inbounds i8,i8*%C,i64 16
%K=bitcast i8*%J to void(...)**
store void(...)*bitcast(i8*(i8*,i8*)*@_SMLLN20SMLSharp__SQL__SQLite318sqlite3__prepare__v2E_123 to void(...)*),void(...)**%K,align 8
%L=getelementptr inbounds i8,i8*%C,i64 24
%M=bitcast i8*%L to i32*
store i32 -2147483647,i32*%M,align 4
ret i8*%C
}
define internal fastcc i32@_SMLLN20SMLSharp__SQL__SQLite318sqlite3__prepare__v2E_64(i8*inreg%a,i8*inreg%b)#1 gc"smlsharp"{
%c=alloca i8*,align 8
%d=alloca i8*,align 8
%e=alloca i8*,align 8
call void@llvm.gcroot(i8**%c,i8*null)#0
call void@llvm.gcroot(i8**%d,i8*null)#0
call void@llvm.gcroot(i8**%e,i8*null)#0
store i8*%a,i8**%e,align 8
store i8*%b,i8**%c,align 8
%f=load atomic i32,i32*@sml_check_flag unordered,align 4
%g=icmp eq i32%f,0
br i1%g,label%h,label%j
h:
%i=bitcast i8*%a to i8**
br label%n
j:
call void@sml_check(i32 inreg%f)
%k=load i8*,i8**%c,align 8
%l=bitcast i8**%e to i8***
%m=load i8**,i8***%l,align 8
br label%n
n:
%o=phi i8**[%m,%j],[%i,%h]
%p=phi i8*[%k,%j],[%b,%h]
%q=bitcast i8*%p to i8**
%r=load i8*,i8**%q,align 8
%s=getelementptr inbounds i8,i8*%p,i64 8
%t=bitcast i8*%s to i8**
%u=load i8*,i8**%t,align 8
store i8*%u,i8**%c,align 8
%v=getelementptr inbounds i8,i8*%p,i64 16
%w=bitcast i8*%v to i8**
%x=load i8*,i8**%w,align 8
store i8*%x,i8**%d,align 8
%y=load i8*,i8**%o,align 8
%z=getelementptr inbounds i8,i8*%y,i64 16
%A=bitcast i8*%z to i8*(i8*,i8*)**
%B=load i8*(i8*,i8*)*,i8*(i8*,i8*)**%A,align 8
%C=bitcast i8*%y to i8**
%D=load i8*,i8**%C,align 8
store i8*%D,i8**%e,align 8
%E=getelementptr inbounds i8,i8*%u,i64 -4
%F=bitcast i8*%E to i32*
%G=load i32,i32*%F,align 4
%H=and i32%G,268435455
%I=add nsw i32%H,-1
%J=call i8*@sml_alloc(i32 inreg 44)#0
%K=getelementptr inbounds i8,i8*%J,i64 -4
%L=bitcast i8*%K to i32*
store i32 1342177320,i32*%L,align 4
%M=getelementptr inbounds i8,i8*%J,i64 20
%N=bitcast i8*%M to i32*
store i32 0,i32*%N,align 1
%O=bitcast i8*%J to i8**
store i8*%r,i8**%O,align 8
%P=load i8*,i8**%c,align 8
store i8*null,i8**%c,align 8
%Q=getelementptr inbounds i8,i8*%J,i64 8
%R=bitcast i8*%Q to i8**
store i8*%P,i8**%R,align 8
%S=getelementptr inbounds i8,i8*%J,i64 16
%T=bitcast i8*%S to i32*
store i32%I,i32*%T,align 4
%U=load i8*,i8**%d,align 8
store i8*null,i8**%d,align 8
%V=getelementptr inbounds i8,i8*%J,i64 24
%W=bitcast i8*%V to i8**
store i8*%U,i8**%W,align 8
%X=getelementptr inbounds i8,i8*%J,i64 32
%Y=bitcast i8*%X to i8**
store i8*null,i8**%Y,align 8
%Z=getelementptr inbounds i8,i8*%J,i64 40
%aa=bitcast i8*%Z to i32*
store i32 10,i32*%aa,align 4
%ab=load i8*,i8**%e,align 8
store i8*null,i8**%e,align 8
%ac=call fastcc i8*%B(i8*inreg%ab,i8*inreg%J)
%ad=bitcast i8*%ac to i32*
%ae=load i32,i32*%ad,align 4
ret i32%ae
}
define internal fastcc i32@_SMLLN20SMLSharp__SQL__SQLite312sqlite3__stepE_66(i8*inreg%a,i64 inreg%b)#1 gc"smlsharp"personality i32(...)*@sml_personality{
%c=alloca i8*,align 8
call void@llvm.gcroot(i8**%c,i8*null)#0
store i8*%a,i8**%c,align 8
%d=load atomic i32,i32*@sml_check_flag unordered,align 4
%e=icmp eq i32%d,0
br i1%e,label%f,label%h
f:
%g=bitcast i8*%a to i32(i8*)**
br label%k
h:
call void@sml_check(i32 inreg%d)
%i=bitcast i8**%c to i32(i8*)***
%j=load i32(i8*)**,i32(i8*)***%i,align 8
br label%k
k:
%l=phi i32(i8*)**[%j,%h],[%g,%f]
%m=inttoptr i64%b to i8*
store i8*null,i8**%c,align 8
%n=load i32(i8*)*,i32(i8*)**%l,align 8
call void@sml_leave()#0
%o=invoke i32%n(i8*%m)
to label%p unwind label%q
p:
call void@sml_enter()#0
ret i32%o
q:
%r=landingpad{i8*,i8*}
cleanup
%s=extractvalue{i8*,i8*}%r,1
call void@sml_enter()#0
%t=call i8*@sml_unsave_exn(i8*inreg%s)#0
resume{i8*,i8*}%r
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite312sqlite3__stepE_67(i8*inreg%a,i32 inreg%b)#1 gc"smlsharp"{
%c=alloca i8*,align 8
call void@llvm.gcroot(i8**%c,i8*null)#0
store i8*%a,i8**%c,align 8
%d=load atomic i32,i32*@sml_check_flag unordered,align 4
%e=icmp eq i32%d,0
br i1%e,label%f,label%h
f:
%g=bitcast i8*%a to i8**
br label%k
h:
call void@sml_check(i32 inreg%d)
%i=bitcast i8**%c to i8***
%j=load i8**,i8***%i,align 8
br label%k
k:
%l=phi i8**[%j,%h],[%g,%f]
%m=load i8*,i8**%l,align 8
%n=getelementptr inbounds i8,i8*%m,i64 16
%o=bitcast i8*%n to i8*(i8*,i8*)**
%p=load i8*(i8*,i8*)*,i8*(i8*,i8*)**%o,align 8
store i8*null,i8**%c,align 8
%q=bitcast i8**%l to i8***
%r=load i8**,i8***%q,align 8
%s=load i8*,i8**%r,align 8
%t=call fastcc i8*%p(i8*inreg%s,i8*inreg getelementptr inbounds(<{[4x i8],i32,[13x i8]}>,<{[4x i8],i32,[13x i8]}>*@j,i64 0,i32 2,i64 0))
%u=bitcast i8*%t to void(...)**
%v=load void(...)*,void(...)**%u,align 8
%w=call i8*@sml_alloc(i32 inreg 12)#0
%x=getelementptr inbounds i8,i8*%w,i64 -4
%y=bitcast i8*%x to i32*
store i32 1342177288,i32*%y,align 4
store i8*%w,i8**%c,align 8
%z=bitcast i8*%w to void(...)**
store void(...)*%v,void(...)**%z,align 8
%A=getelementptr inbounds i8,i8*%w,i64 8
%B=bitcast i8*%A to i32*
store i32 0,i32*%B,align 4
%C=call i8*@sml_alloc(i32 inreg 28)#0
%D=getelementptr inbounds i8,i8*%C,i64 -4
%E=bitcast i8*%D to i32*
store i32 1342177304,i32*%E,align 4
%F=load i8*,i8**%c,align 8
%G=bitcast i8*%C to i8**
store i8*%F,i8**%G,align 8
%H=getelementptr inbounds i8,i8*%C,i64 8
%I=bitcast i8*%H to void(...)**
store void(...)*bitcast(i32(i8*,i64)*@_SMLLN20SMLSharp__SQL__SQLite312sqlite3__stepE_66 to void(...)*),void(...)**%I,align 8
%J=getelementptr inbounds i8,i8*%C,i64 16
%K=bitcast i8*%J to void(...)**
store void(...)*bitcast(i8*(i8*,i8*)*@_SMLLN20SMLSharp__SQL__SQLite312sqlite3__stepE_126 to void(...)*),void(...)**%K,align 8
%L=getelementptr inbounds i8,i8*%C,i64 24
%M=bitcast i8*%L to i32*
store i32 -2147483647,i32*%M,align 4
ret i8*%C
}
define internal fastcc i32@_SMLLN20SMLSharp__SQL__SQLite319sqlite3__column__typeE_69(i8*inreg%a,i8*inreg%b)#1 gc"smlsharp"personality i32(...)*@sml_personality{
%c=alloca i8*,align 8
%d=alloca i8*,align 8
call void@llvm.gcroot(i8**%c,i8*null)#0
call void@llvm.gcroot(i8**%d,i8*null)#0
store i8*%a,i8**%c,align 8
store i8*%b,i8**%d,align 8
%e=load atomic i32,i32*@sml_check_flag unordered,align 4
%f=icmp eq i32%e,0
br i1%f,label%g,label%i
g:
%h=bitcast i8*%a to i32(i8*,i32)**
br label%m
i:
call void@sml_check(i32 inreg%e)
%j=load i8*,i8**%d,align 8
%k=bitcast i8**%c to i32(i8*,i32)***
%l=load i32(i8*,i32)**,i32(i8*,i32)***%k,align 8
br label%m
m:
%n=phi i32(i8*,i32)**[%l,%i],[%h,%g]
%o=phi i8*[%j,%i],[%b,%g]
store i8*null,i8**%d,align 8
store i8*null,i8**%c,align 8
%p=load i32(i8*,i32)*,i32(i8*,i32)**%n,align 8
%q=bitcast i8*%o to i8**
%r=load i8*,i8**%q,align 8
%s=getelementptr inbounds i8,i8*%o,i64 8
%t=bitcast i8*%s to i32*
%u=load i32,i32*%t,align 4
call void@sml_leave()#0
%v=invoke i32%p(i8*%r,i32%u)
to label%w unwind label%x
w:
call void@sml_enter()#0
ret i32%v
x:
%y=landingpad{i8*,i8*}
cleanup
%z=extractvalue{i8*,i8*}%y,1
call void@sml_enter()#0
%A=call i8*@sml_unsave_exn(i8*inreg%z)#0
resume{i8*,i8*}%y
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite319sqlite3__column__typeE_70(i8*inreg%a,i32 inreg%b)#1 gc"smlsharp"{
%c=alloca i8*,align 8
call void@llvm.gcroot(i8**%c,i8*null)#0
store i8*%a,i8**%c,align 8
%d=load atomic i32,i32*@sml_check_flag unordered,align 4
%e=icmp eq i32%d,0
br i1%e,label%f,label%h
f:
%g=bitcast i8*%a to i8**
br label%k
h:
call void@sml_check(i32 inreg%d)
%i=bitcast i8**%c to i8***
%j=load i8**,i8***%i,align 8
br label%k
k:
%l=phi i8**[%j,%h],[%g,%f]
%m=load i8*,i8**%l,align 8
%n=getelementptr inbounds i8,i8*%m,i64 16
%o=bitcast i8*%n to i8*(i8*,i8*)**
%p=load i8*(i8*,i8*)*,i8*(i8*,i8*)**%o,align 8
store i8*null,i8**%c,align 8
%q=bitcast i8**%l to i8***
%r=load i8**,i8***%q,align 8
%s=load i8*,i8**%r,align 8
%t=call fastcc i8*%p(i8*inreg%s,i8*inreg getelementptr inbounds(<{[4x i8],i32,[20x i8]}>,<{[4x i8],i32,[20x i8]}>*@k,i64 0,i32 2,i64 0))
%u=bitcast i8*%t to void(...)**
%v=load void(...)*,void(...)**%u,align 8
%w=call i8*@sml_alloc(i32 inreg 12)#0
%x=getelementptr inbounds i8,i8*%w,i64 -4
%y=bitcast i8*%x to i32*
store i32 1342177288,i32*%y,align 4
store i8*%w,i8**%c,align 8
%z=bitcast i8*%w to void(...)**
store void(...)*%v,void(...)**%z,align 8
%A=getelementptr inbounds i8,i8*%w,i64 8
%B=bitcast i8*%A to i32*
store i32 0,i32*%B,align 4
%C=call i8*@sml_alloc(i32 inreg 28)#0
%D=getelementptr inbounds i8,i8*%C,i64 -4
%E=bitcast i8*%D to i32*
store i32 1342177304,i32*%E,align 4
%F=load i8*,i8**%c,align 8
%G=bitcast i8*%C to i8**
store i8*%F,i8**%G,align 8
%H=getelementptr inbounds i8,i8*%C,i64 8
%I=bitcast i8*%H to void(...)**
store void(...)*bitcast(i32(i8*,i8*)*@_SMLLN20SMLSharp__SQL__SQLite319sqlite3__column__typeE_69 to void(...)*),void(...)**%I,align 8
%J=getelementptr inbounds i8,i8*%C,i64 16
%K=bitcast i8*%J to void(...)**
store void(...)*bitcast(i8*(i8*,i8*)*@_SMLLN20SMLSharp__SQL__SQLite319sqlite3__column__typeE_128 to void(...)*),void(...)**%K,align 8
%L=getelementptr inbounds i8,i8*%C,i64 24
%M=bitcast i8*%L to i32*
store i32 -2147483647,i32*%M,align 4
ret i8*%C
}
define internal fastcc i32@_SMLLN20SMLSharp__SQL__SQLite320sqlite3__column__bytesE_72(i8*inreg%a,i8*inreg%b)#1 gc"smlsharp"personality i32(...)*@sml_personality{
%c=alloca i8*,align 8
%d=alloca i8*,align 8
call void@llvm.gcroot(i8**%c,i8*null)#0
call void@llvm.gcroot(i8**%d,i8*null)#0
store i8*%a,i8**%c,align 8
store i8*%b,i8**%d,align 8
%e=load atomic i32,i32*@sml_check_flag unordered,align 4
%f=icmp eq i32%e,0
br i1%f,label%g,label%i
g:
%h=bitcast i8*%a to i32(i8*,i32)**
br label%m
i:
call void@sml_check(i32 inreg%e)
%j=load i8*,i8**%d,align 8
%k=bitcast i8**%c to i32(i8*,i32)***
%l=load i32(i8*,i32)**,i32(i8*,i32)***%k,align 8
br label%m
m:
%n=phi i32(i8*,i32)**[%l,%i],[%h,%g]
%o=phi i8*[%j,%i],[%b,%g]
store i8*null,i8**%d,align 8
store i8*null,i8**%c,align 8
%p=load i32(i8*,i32)*,i32(i8*,i32)**%n,align 8
%q=bitcast i8*%o to i8**
%r=load i8*,i8**%q,align 8
%s=getelementptr inbounds i8,i8*%o,i64 8
%t=bitcast i8*%s to i32*
%u=load i32,i32*%t,align 4
call void@sml_leave()#0
%v=invoke i32%p(i8*%r,i32%u)
to label%w unwind label%x
w:
call void@sml_enter()#0
ret i32%v
x:
%y=landingpad{i8*,i8*}
cleanup
%z=extractvalue{i8*,i8*}%y,1
call void@sml_enter()#0
%A=call i8*@sml_unsave_exn(i8*inreg%z)#0
resume{i8*,i8*}%y
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite320sqlite3__column__bytesE_73(i8*inreg%a,i32 inreg%b)#1 gc"smlsharp"{
%c=alloca i8*,align 8
call void@llvm.gcroot(i8**%c,i8*null)#0
store i8*%a,i8**%c,align 8
%d=load atomic i32,i32*@sml_check_flag unordered,align 4
%e=icmp eq i32%d,0
br i1%e,label%f,label%h
f:
%g=bitcast i8*%a to i8**
br label%k
h:
call void@sml_check(i32 inreg%d)
%i=bitcast i8**%c to i8***
%j=load i8**,i8***%i,align 8
br label%k
k:
%l=phi i8**[%j,%h],[%g,%f]
%m=load i8*,i8**%l,align 8
%n=getelementptr inbounds i8,i8*%m,i64 16
%o=bitcast i8*%n to i8*(i8*,i8*)**
%p=load i8*(i8*,i8*)*,i8*(i8*,i8*)**%o,align 8
store i8*null,i8**%c,align 8
%q=bitcast i8**%l to i8***
%r=load i8**,i8***%q,align 8
%s=load i8*,i8**%r,align 8
%t=call fastcc i8*%p(i8*inreg%s,i8*inreg getelementptr inbounds(<{[4x i8],i32,[21x i8]}>,<{[4x i8],i32,[21x i8]}>*@l,i64 0,i32 2,i64 0))
%u=bitcast i8*%t to void(...)**
%v=load void(...)*,void(...)**%u,align 8
%w=call i8*@sml_alloc(i32 inreg 12)#0
%x=getelementptr inbounds i8,i8*%w,i64 -4
%y=bitcast i8*%x to i32*
store i32 1342177288,i32*%y,align 4
store i8*%w,i8**%c,align 8
%z=bitcast i8*%w to void(...)**
store void(...)*%v,void(...)**%z,align 8
%A=getelementptr inbounds i8,i8*%w,i64 8
%B=bitcast i8*%A to i32*
store i32 0,i32*%B,align 4
%C=call i8*@sml_alloc(i32 inreg 28)#0
%D=getelementptr inbounds i8,i8*%C,i64 -4
%E=bitcast i8*%D to i32*
store i32 1342177304,i32*%E,align 4
%F=load i8*,i8**%c,align 8
%G=bitcast i8*%C to i8**
store i8*%F,i8**%G,align 8
%H=getelementptr inbounds i8,i8*%C,i64 8
%I=bitcast i8*%H to void(...)**
store void(...)*bitcast(i32(i8*,i8*)*@_SMLLN20SMLSharp__SQL__SQLite320sqlite3__column__bytesE_72 to void(...)*),void(...)**%I,align 8
%J=getelementptr inbounds i8,i8*%C,i64 16
%K=bitcast i8*%J to void(...)**
store void(...)*bitcast(i8*(i8*,i8*)*@_SMLLN20SMLSharp__SQL__SQLite320sqlite3__column__bytesE_130 to void(...)*),void(...)**%K,align 8
%L=getelementptr inbounds i8,i8*%C,i64 24
%M=bitcast i8*%L to i32*
store i32 -2147483647,i32*%M,align 4
ret i8*%C
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite319sqlite3__column__blobE_75(i8*inreg%a,i8*inreg%b)#1 gc"smlsharp"personality i32(...)*@sml_personality{
%c=alloca i8*,align 8
%d=alloca i8*,align 8
call void@llvm.gcroot(i8**%c,i8*null)#0
call void@llvm.gcroot(i8**%d,i8*null)#0
store i8*%a,i8**%c,align 8
store i8*%b,i8**%d,align 8
%e=load atomic i32,i32*@sml_check_flag unordered,align 4
%f=icmp eq i32%e,0
br i1%f,label%g,label%i
g:
%h=bitcast i8*%a to i8*(i8*,i32)**
br label%m
i:
call void@sml_check(i32 inreg%e)
%j=load i8*,i8**%d,align 8
%k=bitcast i8**%c to i8*(i8*,i32)***
%l=load i8*(i8*,i32)**,i8*(i8*,i32)***%k,align 8
br label%m
m:
%n=phi i8*(i8*,i32)**[%l,%i],[%h,%g]
%o=phi i8*[%j,%i],[%b,%g]
store i8*null,i8**%d,align 8
store i8*null,i8**%c,align 8
%p=load i8*(i8*,i32)*,i8*(i8*,i32)**%n,align 8
%q=bitcast i8*%o to i8**
%r=load i8*,i8**%q,align 8
%s=getelementptr inbounds i8,i8*%o,i64 8
%t=bitcast i8*%s to i32*
%u=load i32,i32*%t,align 4
call void@sml_leave()#0
%v=invoke i8*%p(i8*%r,i32%u)
to label%w unwind label%x
w:
call void@sml_enter()#0
ret i8*%v
x:
%y=landingpad{i8*,i8*}
cleanup
%z=extractvalue{i8*,i8*}%y,1
call void@sml_enter()#0
%A=call i8*@sml_unsave_exn(i8*inreg%z)#0
resume{i8*,i8*}%y
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite319sqlite3__column__blobE_76(i8*inreg%a,i32 inreg%b)#1 gc"smlsharp"{
%c=alloca i8*,align 8
call void@llvm.gcroot(i8**%c,i8*null)#0
store i8*%a,i8**%c,align 8
%d=load atomic i32,i32*@sml_check_flag unordered,align 4
%e=icmp eq i32%d,0
br i1%e,label%f,label%h
f:
%g=bitcast i8*%a to i8**
br label%k
h:
call void@sml_check(i32 inreg%d)
%i=bitcast i8**%c to i8***
%j=load i8**,i8***%i,align 8
br label%k
k:
%l=phi i8**[%j,%h],[%g,%f]
%m=load i8*,i8**%l,align 8
%n=getelementptr inbounds i8,i8*%m,i64 16
%o=bitcast i8*%n to i8*(i8*,i8*)**
%p=load i8*(i8*,i8*)*,i8*(i8*,i8*)**%o,align 8
store i8*null,i8**%c,align 8
%q=bitcast i8**%l to i8***
%r=load i8**,i8***%q,align 8
%s=load i8*,i8**%r,align 8
%t=call fastcc i8*%p(i8*inreg%s,i8*inreg getelementptr inbounds(<{[4x i8],i32,[20x i8]}>,<{[4x i8],i32,[20x i8]}>*@m,i64 0,i32 2,i64 0))
%u=bitcast i8*%t to void(...)**
%v=load void(...)*,void(...)**%u,align 8
%w=call i8*@sml_alloc(i32 inreg 12)#0
%x=getelementptr inbounds i8,i8*%w,i64 -4
%y=bitcast i8*%x to i32*
store i32 1342177288,i32*%y,align 4
store i8*%w,i8**%c,align 8
%z=bitcast i8*%w to void(...)**
store void(...)*%v,void(...)**%z,align 8
%A=getelementptr inbounds i8,i8*%w,i64 8
%B=bitcast i8*%A to i32*
store i32 0,i32*%B,align 4
%C=call i8*@sml_alloc(i32 inreg 28)#0
%D=getelementptr inbounds i8,i8*%C,i64 -4
%E=bitcast i8*%D to i32*
store i32 1342177304,i32*%E,align 4
%F=load i8*,i8**%c,align 8
%G=bitcast i8*%C to i8**
store i8*%F,i8**%G,align 8
%H=getelementptr inbounds i8,i8*%C,i64 8
%I=bitcast i8*%H to void(...)**
store void(...)*bitcast(i8*(i8*,i8*)*@_SMLLN20SMLSharp__SQL__SQLite319sqlite3__column__blobE_75 to void(...)*),void(...)**%I,align 8
%J=getelementptr inbounds i8,i8*%C,i64 16
%K=bitcast i8*%J to void(...)**
store void(...)*bitcast(i8*(i8*,i8*)*@_SMLLN20SMLSharp__SQL__SQLite319sqlite3__column__blobE_132 to void(...)*),void(...)**%K,align 8
%L=getelementptr inbounds i8,i8*%C,i64 24
%M=bitcast i8*%L to i32*
store i32 -2147483647,i32*%M,align 4
ret i8*%C
}
define internal fastcc double@_SMLLN20SMLSharp__SQL__SQLite321sqlite3__column__doubleE_78(i8*inreg%a,i8*inreg%b)#1 gc"smlsharp"personality i32(...)*@sml_personality{
%c=alloca i8*,align 8
%d=alloca i8*,align 8
call void@llvm.gcroot(i8**%c,i8*null)#0
call void@llvm.gcroot(i8**%d,i8*null)#0
store i8*%a,i8**%c,align 8
store i8*%b,i8**%d,align 8
%e=load atomic i32,i32*@sml_check_flag unordered,align 4
%f=icmp eq i32%e,0
br i1%f,label%g,label%i
g:
%h=bitcast i8*%a to double(i8*,i32)**
br label%m
i:
call void@sml_check(i32 inreg%e)
%j=load i8*,i8**%d,align 8
%k=bitcast i8**%c to double(i8*,i32)***
%l=load double(i8*,i32)**,double(i8*,i32)***%k,align 8
br label%m
m:
%n=phi double(i8*,i32)**[%l,%i],[%h,%g]
%o=phi i8*[%j,%i],[%b,%g]
store i8*null,i8**%d,align 8
store i8*null,i8**%c,align 8
%p=load double(i8*,i32)*,double(i8*,i32)**%n,align 8
%q=bitcast i8*%o to i8**
%r=load i8*,i8**%q,align 8
%s=getelementptr inbounds i8,i8*%o,i64 8
%t=bitcast i8*%s to i32*
%u=load i32,i32*%t,align 4
call void@sml_leave()#0
%v=invoke double%p(i8*%r,i32%u)
to label%w unwind label%x
w:
call void@sml_enter()#0
ret double%v
x:
%y=landingpad{i8*,i8*}
cleanup
%z=extractvalue{i8*,i8*}%y,1
call void@sml_enter()#0
%A=call i8*@sml_unsave_exn(i8*inreg%z)#0
resume{i8*,i8*}%y
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite321sqlite3__column__doubleE_79(i8*inreg%a,i32 inreg%b)#1 gc"smlsharp"{
%c=alloca i8*,align 8
call void@llvm.gcroot(i8**%c,i8*null)#0
store i8*%a,i8**%c,align 8
%d=load atomic i32,i32*@sml_check_flag unordered,align 4
%e=icmp eq i32%d,0
br i1%e,label%f,label%h
f:
%g=bitcast i8*%a to i8**
br label%k
h:
call void@sml_check(i32 inreg%d)
%i=bitcast i8**%c to i8***
%j=load i8**,i8***%i,align 8
br label%k
k:
%l=phi i8**[%j,%h],[%g,%f]
%m=load i8*,i8**%l,align 8
%n=getelementptr inbounds i8,i8*%m,i64 16
%o=bitcast i8*%n to i8*(i8*,i8*)**
%p=load i8*(i8*,i8*)*,i8*(i8*,i8*)**%o,align 8
store i8*null,i8**%c,align 8
%q=bitcast i8**%l to i8***
%r=load i8**,i8***%q,align 8
%s=load i8*,i8**%r,align 8
%t=call fastcc i8*%p(i8*inreg%s,i8*inreg getelementptr inbounds(<{[4x i8],i32,[22x i8]}>,<{[4x i8],i32,[22x i8]}>*@n,i64 0,i32 2,i64 0))
%u=bitcast i8*%t to void(...)**
%v=load void(...)*,void(...)**%u,align 8
%w=call i8*@sml_alloc(i32 inreg 12)#0
%x=getelementptr inbounds i8,i8*%w,i64 -4
%y=bitcast i8*%x to i32*
store i32 1342177288,i32*%y,align 4
store i8*%w,i8**%c,align 8
%z=bitcast i8*%w to void(...)**
store void(...)*%v,void(...)**%z,align 8
%A=getelementptr inbounds i8,i8*%w,i64 8
%B=bitcast i8*%A to i32*
store i32 0,i32*%B,align 4
%C=call i8*@sml_alloc(i32 inreg 28)#0
%D=getelementptr inbounds i8,i8*%C,i64 -4
%E=bitcast i8*%D to i32*
store i32 1342177304,i32*%E,align 4
%F=load i8*,i8**%c,align 8
%G=bitcast i8*%C to i8**
store i8*%F,i8**%G,align 8
%H=getelementptr inbounds i8,i8*%C,i64 8
%I=bitcast i8*%H to void(...)**
store void(...)*bitcast(double(i8*,i8*)*@_SMLLN20SMLSharp__SQL__SQLite321sqlite3__column__doubleE_78 to void(...)*),void(...)**%I,align 8
%J=getelementptr inbounds i8,i8*%C,i64 16
%K=bitcast i8*%J to void(...)**
store void(...)*bitcast(i8*(i8*,i8*)*@_SMLLN20SMLSharp__SQL__SQLite321sqlite3__column__doubleE_134 to void(...)*),void(...)**%K,align 8
%L=getelementptr inbounds i8,i8*%C,i64 24
%M=bitcast i8*%L to i32*
store i32 -2147483647,i32*%M,align 4
ret i8*%C
}
define internal fastcc i32@_SMLLN20SMLSharp__SQL__SQLite318sqlite3__column__intE_81(i8*inreg%a,i8*inreg%b)#1 gc"smlsharp"personality i32(...)*@sml_personality{
%c=alloca i8*,align 8
%d=alloca i8*,align 8
call void@llvm.gcroot(i8**%c,i8*null)#0
call void@llvm.gcroot(i8**%d,i8*null)#0
store i8*%a,i8**%c,align 8
store i8*%b,i8**%d,align 8
%e=load atomic i32,i32*@sml_check_flag unordered,align 4
%f=icmp eq i32%e,0
br i1%f,label%g,label%i
g:
%h=bitcast i8*%a to i32(i8*,i32)**
br label%m
i:
call void@sml_check(i32 inreg%e)
%j=load i8*,i8**%d,align 8
%k=bitcast i8**%c to i32(i8*,i32)***
%l=load i32(i8*,i32)**,i32(i8*,i32)***%k,align 8
br label%m
m:
%n=phi i32(i8*,i32)**[%l,%i],[%h,%g]
%o=phi i8*[%j,%i],[%b,%g]
store i8*null,i8**%d,align 8
store i8*null,i8**%c,align 8
%p=load i32(i8*,i32)*,i32(i8*,i32)**%n,align 8
%q=bitcast i8*%o to i8**
%r=load i8*,i8**%q,align 8
%s=getelementptr inbounds i8,i8*%o,i64 8
%t=bitcast i8*%s to i32*
%u=load i32,i32*%t,align 4
call void@sml_leave()#0
%v=invoke i32%p(i8*%r,i32%u)
to label%w unwind label%x
w:
call void@sml_enter()#0
ret i32%v
x:
%y=landingpad{i8*,i8*}
cleanup
%z=extractvalue{i8*,i8*}%y,1
call void@sml_enter()#0
%A=call i8*@sml_unsave_exn(i8*inreg%z)#0
resume{i8*,i8*}%y
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite318sqlite3__column__intE_82(i8*inreg%a,i32 inreg%b)#1 gc"smlsharp"{
%c=alloca i8*,align 8
call void@llvm.gcroot(i8**%c,i8*null)#0
store i8*%a,i8**%c,align 8
%d=load atomic i32,i32*@sml_check_flag unordered,align 4
%e=icmp eq i32%d,0
br i1%e,label%f,label%h
f:
%g=bitcast i8*%a to i8**
br label%k
h:
call void@sml_check(i32 inreg%d)
%i=bitcast i8**%c to i8***
%j=load i8**,i8***%i,align 8
br label%k
k:
%l=phi i8**[%j,%h],[%g,%f]
%m=load i8*,i8**%l,align 8
%n=getelementptr inbounds i8,i8*%m,i64 16
%o=bitcast i8*%n to i8*(i8*,i8*)**
%p=load i8*(i8*,i8*)*,i8*(i8*,i8*)**%o,align 8
store i8*null,i8**%c,align 8
%q=bitcast i8**%l to i8***
%r=load i8**,i8***%q,align 8
%s=load i8*,i8**%r,align 8
%t=call fastcc i8*%p(i8*inreg%s,i8*inreg getelementptr inbounds(<{[4x i8],i32,[19x i8]}>,<{[4x i8],i32,[19x i8]}>*@o,i64 0,i32 2,i64 0))
%u=bitcast i8*%t to void(...)**
%v=load void(...)*,void(...)**%u,align 8
%w=call i8*@sml_alloc(i32 inreg 12)#0
%x=getelementptr inbounds i8,i8*%w,i64 -4
%y=bitcast i8*%x to i32*
store i32 1342177288,i32*%y,align 4
store i8*%w,i8**%c,align 8
%z=bitcast i8*%w to void(...)**
store void(...)*%v,void(...)**%z,align 8
%A=getelementptr inbounds i8,i8*%w,i64 8
%B=bitcast i8*%A to i32*
store i32 0,i32*%B,align 4
%C=call i8*@sml_alloc(i32 inreg 28)#0
%D=getelementptr inbounds i8,i8*%C,i64 -4
%E=bitcast i8*%D to i32*
store i32 1342177304,i32*%E,align 4
%F=load i8*,i8**%c,align 8
%G=bitcast i8*%C to i8**
store i8*%F,i8**%G,align 8
%H=getelementptr inbounds i8,i8*%C,i64 8
%I=bitcast i8*%H to void(...)**
store void(...)*bitcast(i32(i8*,i8*)*@_SMLLN20SMLSharp__SQL__SQLite318sqlite3__column__intE_81 to void(...)*),void(...)**%I,align 8
%J=getelementptr inbounds i8,i8*%C,i64 16
%K=bitcast i8*%J to void(...)**
store void(...)*bitcast(i8*(i8*,i8*)*@_SMLLN20SMLSharp__SQL__SQLite318sqlite3__column__intE_136 to void(...)*),void(...)**%K,align 8
%L=getelementptr inbounds i8,i8*%C,i64 24
%M=bitcast i8*%L to i32*
store i32 -2147483647,i32*%M,align 4
ret i8*%C
}
define internal fastcc i64@_SMLLN20SMLSharp__SQL__SQLite320sqlite3__column__int64E_84(i8*inreg%a,i8*inreg%b)#1 gc"smlsharp"personality i32(...)*@sml_personality{
%c=alloca i8*,align 8
%d=alloca i8*,align 8
call void@llvm.gcroot(i8**%c,i8*null)#0
call void@llvm.gcroot(i8**%d,i8*null)#0
store i8*%a,i8**%c,align 8
store i8*%b,i8**%d,align 8
%e=load atomic i32,i32*@sml_check_flag unordered,align 4
%f=icmp eq i32%e,0
br i1%f,label%g,label%i
g:
%h=bitcast i8*%a to i64(i8*,i32)**
br label%m
i:
call void@sml_check(i32 inreg%e)
%j=load i8*,i8**%d,align 8
%k=bitcast i8**%c to i64(i8*,i32)***
%l=load i64(i8*,i32)**,i64(i8*,i32)***%k,align 8
br label%m
m:
%n=phi i64(i8*,i32)**[%l,%i],[%h,%g]
%o=phi i8*[%j,%i],[%b,%g]
store i8*null,i8**%d,align 8
store i8*null,i8**%c,align 8
%p=load i64(i8*,i32)*,i64(i8*,i32)**%n,align 8
%q=bitcast i8*%o to i8**
%r=load i8*,i8**%q,align 8
%s=getelementptr inbounds i8,i8*%o,i64 8
%t=bitcast i8*%s to i32*
%u=load i32,i32*%t,align 4
call void@sml_leave()#0
%v=invoke i64%p(i8*%r,i32%u)
to label%w unwind label%x
w:
call void@sml_enter()#0
ret i64%v
x:
%y=landingpad{i8*,i8*}
cleanup
%z=extractvalue{i8*,i8*}%y,1
call void@sml_enter()#0
%A=call i8*@sml_unsave_exn(i8*inreg%z)#0
resume{i8*,i8*}%y
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite320sqlite3__column__int64E_85(i8*inreg%a,i32 inreg%b)#1 gc"smlsharp"{
%c=alloca i8*,align 8
call void@llvm.gcroot(i8**%c,i8*null)#0
store i8*%a,i8**%c,align 8
%d=load atomic i32,i32*@sml_check_flag unordered,align 4
%e=icmp eq i32%d,0
br i1%e,label%f,label%h
f:
%g=bitcast i8*%a to i8**
br label%k
h:
call void@sml_check(i32 inreg%d)
%i=bitcast i8**%c to i8***
%j=load i8**,i8***%i,align 8
br label%k
k:
%l=phi i8**[%j,%h],[%g,%f]
%m=load i8*,i8**%l,align 8
%n=getelementptr inbounds i8,i8*%m,i64 16
%o=bitcast i8*%n to i8*(i8*,i8*)**
%p=load i8*(i8*,i8*)*,i8*(i8*,i8*)**%o,align 8
store i8*null,i8**%c,align 8
%q=bitcast i8**%l to i8***
%r=load i8**,i8***%q,align 8
%s=load i8*,i8**%r,align 8
%t=call fastcc i8*%p(i8*inreg%s,i8*inreg getelementptr inbounds(<{[4x i8],i32,[21x i8]}>,<{[4x i8],i32,[21x i8]}>*@p,i64 0,i32 2,i64 0))
%u=bitcast i8*%t to void(...)**
%v=load void(...)*,void(...)**%u,align 8
%w=call i8*@sml_alloc(i32 inreg 12)#0
%x=getelementptr inbounds i8,i8*%w,i64 -4
%y=bitcast i8*%x to i32*
store i32 1342177288,i32*%y,align 4
store i8*%w,i8**%c,align 8
%z=bitcast i8*%w to void(...)**
store void(...)*%v,void(...)**%z,align 8
%A=getelementptr inbounds i8,i8*%w,i64 8
%B=bitcast i8*%A to i32*
store i32 0,i32*%B,align 4
%C=call i8*@sml_alloc(i32 inreg 28)#0
%D=getelementptr inbounds i8,i8*%C,i64 -4
%E=bitcast i8*%D to i32*
store i32 1342177304,i32*%E,align 4
%F=load i8*,i8**%c,align 8
%G=bitcast i8*%C to i8**
store i8*%F,i8**%G,align 8
%H=getelementptr inbounds i8,i8*%C,i64 8
%I=bitcast i8*%H to void(...)**
store void(...)*bitcast(i64(i8*,i8*)*@_SMLLN20SMLSharp__SQL__SQLite320sqlite3__column__int64E_84 to void(...)*),void(...)**%I,align 8
%J=getelementptr inbounds i8,i8*%C,i64 16
%K=bitcast i8*%J to void(...)**
store void(...)*bitcast(i8*(i8*,i8*)*@_SMLLN20SMLSharp__SQL__SQLite320sqlite3__column__int64E_138 to void(...)*),void(...)**%K,align 8
%L=getelementptr inbounds i8,i8*%C,i64 24
%M=bitcast i8*%L to i32*
store i32 -2147483647,i32*%M,align 4
ret i8*%C
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite319sqlite3__column__textE_87(i8*inreg%a,i8*inreg%b)#1 gc"smlsharp"personality i32(...)*@sml_personality{
%c=alloca i8*,align 8
%d=alloca i8*,align 8
call void@llvm.gcroot(i8**%c,i8*null)#0
call void@llvm.gcroot(i8**%d,i8*null)#0
store i8*%a,i8**%c,align 8
store i8*%b,i8**%d,align 8
%e=load atomic i32,i32*@sml_check_flag unordered,align 4
%f=icmp eq i32%e,0
br i1%f,label%g,label%i
g:
%h=bitcast i8*%a to i8*(i8*,i32)**
br label%m
i:
call void@sml_check(i32 inreg%e)
%j=load i8*,i8**%d,align 8
%k=bitcast i8**%c to i8*(i8*,i32)***
%l=load i8*(i8*,i32)**,i8*(i8*,i32)***%k,align 8
br label%m
m:
%n=phi i8*(i8*,i32)**[%l,%i],[%h,%g]
%o=phi i8*[%j,%i],[%b,%g]
store i8*null,i8**%d,align 8
store i8*null,i8**%c,align 8
%p=load i8*(i8*,i32)*,i8*(i8*,i32)**%n,align 8
%q=bitcast i8*%o to i8**
%r=load i8*,i8**%q,align 8
%s=getelementptr inbounds i8,i8*%o,i64 8
%t=bitcast i8*%s to i32*
%u=load i32,i32*%t,align 4
call void@sml_leave()#0
%v=invoke i8*%p(i8*%r,i32%u)
to label%w unwind label%x
w:
call void@sml_enter()#0
ret i8*%v
x:
%y=landingpad{i8*,i8*}
cleanup
%z=extractvalue{i8*,i8*}%y,1
call void@sml_enter()#0
%A=call i8*@sml_unsave_exn(i8*inreg%z)#0
resume{i8*,i8*}%y
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite319sqlite3__column__textE_88(i8*inreg%a,i32 inreg%b)#1 gc"smlsharp"{
%c=alloca i8*,align 8
call void@llvm.gcroot(i8**%c,i8*null)#0
store i8*%a,i8**%c,align 8
%d=load atomic i32,i32*@sml_check_flag unordered,align 4
%e=icmp eq i32%d,0
br i1%e,label%f,label%h
f:
%g=bitcast i8*%a to i8**
br label%k
h:
call void@sml_check(i32 inreg%d)
%i=bitcast i8**%c to i8***
%j=load i8**,i8***%i,align 8
br label%k
k:
%l=phi i8**[%j,%h],[%g,%f]
%m=load i8*,i8**%l,align 8
%n=getelementptr inbounds i8,i8*%m,i64 16
%o=bitcast i8*%n to i8*(i8*,i8*)**
%p=load i8*(i8*,i8*)*,i8*(i8*,i8*)**%o,align 8
store i8*null,i8**%c,align 8
%q=bitcast i8**%l to i8***
%r=load i8**,i8***%q,align 8
%s=load i8*,i8**%r,align 8
%t=call fastcc i8*%p(i8*inreg%s,i8*inreg getelementptr inbounds(<{[4x i8],i32,[20x i8]}>,<{[4x i8],i32,[20x i8]}>*@q,i64 0,i32 2,i64 0))
%u=bitcast i8*%t to void(...)**
%v=load void(...)*,void(...)**%u,align 8
%w=call i8*@sml_alloc(i32 inreg 12)#0
%x=getelementptr inbounds i8,i8*%w,i64 -4
%y=bitcast i8*%x to i32*
store i32 1342177288,i32*%y,align 4
store i8*%w,i8**%c,align 8
%z=bitcast i8*%w to void(...)**
store void(...)*%v,void(...)**%z,align 8
%A=getelementptr inbounds i8,i8*%w,i64 8
%B=bitcast i8*%A to i32*
store i32 0,i32*%B,align 4
%C=call i8*@sml_alloc(i32 inreg 28)#0
%D=getelementptr inbounds i8,i8*%C,i64 -4
%E=bitcast i8*%D to i32*
store i32 1342177304,i32*%E,align 4
%F=load i8*,i8**%c,align 8
%G=bitcast i8*%C to i8**
store i8*%F,i8**%G,align 8
%H=getelementptr inbounds i8,i8*%C,i64 8
%I=bitcast i8*%H to void(...)**
store void(...)*bitcast(i8*(i8*,i8*)*@_SMLLN20SMLSharp__SQL__SQLite319sqlite3__column__textE_87 to void(...)*),void(...)**%I,align 8
%J=getelementptr inbounds i8,i8*%C,i64 16
%K=bitcast i8*%J to void(...)**
store void(...)*bitcast(i8*(i8*,i8*)*@_SMLLN20SMLSharp__SQL__SQLite319sqlite3__column__textE_140 to void(...)*),void(...)**%K,align 8
%L=getelementptr inbounds i8,i8*%C,i64 24
%M=bitcast i8*%L to i32*
store i32 -2147483647,i32*%M,align 4
ret i8*%C
}
define internal fastcc i32@_SMLLN20SMLSharp__SQL__SQLite316sqlite3__finalizeE_90(i8*inreg%a,i64 inreg%b)#1 gc"smlsharp"personality i32(...)*@sml_personality{
%c=alloca i8*,align 8
call void@llvm.gcroot(i8**%c,i8*null)#0
store i8*%a,i8**%c,align 8
%d=load atomic i32,i32*@sml_check_flag unordered,align 4
%e=icmp eq i32%d,0
br i1%e,label%f,label%h
f:
%g=bitcast i8*%a to i32(i8*)**
br label%k
h:
call void@sml_check(i32 inreg%d)
%i=bitcast i8**%c to i32(i8*)***
%j=load i32(i8*)**,i32(i8*)***%i,align 8
br label%k
k:
%l=phi i32(i8*)**[%j,%h],[%g,%f]
%m=inttoptr i64%b to i8*
store i8*null,i8**%c,align 8
%n=load i32(i8*)*,i32(i8*)**%l,align 8
call void@sml_leave()#0
%o=invoke i32%n(i8*%m)
to label%p unwind label%q
p:
call void@sml_enter()#0
ret i32%o
q:
%r=landingpad{i8*,i8*}
cleanup
%s=extractvalue{i8*,i8*}%r,1
call void@sml_enter()#0
%t=call i8*@sml_unsave_exn(i8*inreg%s)#0
resume{i8*,i8*}%r
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite316sqlite3__finalizeE_91(i8*inreg%a,i32 inreg%b)#1 gc"smlsharp"{
%c=alloca i8*,align 8
call void@llvm.gcroot(i8**%c,i8*null)#0
store i8*%a,i8**%c,align 8
%d=load atomic i32,i32*@sml_check_flag unordered,align 4
%e=icmp eq i32%d,0
br i1%e,label%f,label%h
f:
%g=bitcast i8*%a to i8**
br label%k
h:
call void@sml_check(i32 inreg%d)
%i=bitcast i8**%c to i8***
%j=load i8**,i8***%i,align 8
br label%k
k:
%l=phi i8**[%j,%h],[%g,%f]
%m=load i8*,i8**%l,align 8
%n=getelementptr inbounds i8,i8*%m,i64 16
%o=bitcast i8*%n to i8*(i8*,i8*)**
%p=load i8*(i8*,i8*)*,i8*(i8*,i8*)**%o,align 8
store i8*null,i8**%c,align 8
%q=bitcast i8**%l to i8***
%r=load i8**,i8***%q,align 8
%s=load i8*,i8**%r,align 8
%t=call fastcc i8*%p(i8*inreg%s,i8*inreg getelementptr inbounds(<{[4x i8],i32,[17x i8]}>,<{[4x i8],i32,[17x i8]}>*@r,i64 0,i32 2,i64 0))
%u=bitcast i8*%t to void(...)**
%v=load void(...)*,void(...)**%u,align 8
%w=call i8*@sml_alloc(i32 inreg 12)#0
%x=getelementptr inbounds i8,i8*%w,i64 -4
%y=bitcast i8*%x to i32*
store i32 1342177288,i32*%y,align 4
store i8*%w,i8**%c,align 8
%z=bitcast i8*%w to void(...)**
store void(...)*%v,void(...)**%z,align 8
%A=getelementptr inbounds i8,i8*%w,i64 8
%B=bitcast i8*%A to i32*
store i32 0,i32*%B,align 4
%C=call i8*@sml_alloc(i32 inreg 28)#0
%D=getelementptr inbounds i8,i8*%C,i64 -4
%E=bitcast i8*%D to i32*
store i32 1342177304,i32*%E,align 4
%F=load i8*,i8**%c,align 8
%G=bitcast i8*%C to i8**
store i8*%F,i8**%G,align 8
%H=getelementptr inbounds i8,i8*%C,i64 8
%I=bitcast i8*%H to void(...)**
store void(...)*bitcast(i32(i8*,i64)*@_SMLLN20SMLSharp__SQL__SQLite316sqlite3__finalizeE_90 to void(...)*),void(...)**%I,align 8
%J=getelementptr inbounds i8,i8*%C,i64 16
%K=bitcast i8*%J to void(...)**
store void(...)*bitcast(i8*(i8*,i8*)*@_SMLLN20SMLSharp__SQL__SQLite316sqlite3__finalizeE_142 to void(...)*),void(...)**%K,align 8
%L=getelementptr inbounds i8,i8*%C,i64 24
%M=bitcast i8*%L to i32*
store i32 -2147483647,i32*%M,align 4
ret i8*%C
}
define fastcc i8*@_SMLFN20SMLSharp__SQL__SQLite311new__sqlite3E(i32 inreg%a)#3 gc"smlsharp"{
%b=tail call i8*@sml_alloc(i32 inreg 8)#0
%c=getelementptr inbounds i8,i8*%b,i64 -4
%d=bitcast i8*%c to i32*
store i32 536870920,i32*%d,align 4
%e=bitcast i8*%b to i8**
store i8*null,i8**%e,align 8
ret i8*%b
}
define fastcc i8*@_SMLFN20SMLSharp__SQL__SQLite316new__sqlite3__stmtE(i32 inreg%a)#3 gc"smlsharp"{
%b=tail call i8*@sml_alloc(i32 inreg 8)#0
%c=getelementptr inbounds i8,i8*%b,i64 -4
%d=bitcast i8*%c to i32*
store i32 536870920,i32*%d,align 4
%e=bitcast i8*%b to i8**
store i8*null,i8**%e,align 8
ret i8*%b
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite314sqlite3__errstrE_97(i8*inreg%a,i32 inreg%b)#1 gc"smlsharp"{
%c=alloca i8*,align 8
call void@llvm.gcroot(i8**%c,i8*null)#0
store i8*%a,i8**%c,align 8
%d=load atomic i32,i32*@sml_check_flag unordered,align 4
%e=icmp eq i32%d,0
br i1%e,label%f,label%h
f:
%g=bitcast i8*%a to i8**
br label%k
h:
call void@sml_check(i32 inreg%d)
%i=bitcast i8**%c to i8***
%j=load i8**,i8***%i,align 8
br label%k
k:
%l=phi i8**[%j,%h],[%g,%f]
%m=load i8*,i8**%l,align 8
%n=getelementptr inbounds i8,i8*%m,i64 16
%o=bitcast i8*%n to i8*(i8*,i8*)**
%p=load i8*(i8*,i8*)*,i8*(i8*,i8*)**%o,align 8
%q=bitcast i8*%m to i8**
%r=load i8*,i8**%q,align 8
store i8*%r,i8**%c,align 8
%s=call i8*@sml_alloc(i32 inreg 4)#0
%t=bitcast i8*%s to i32*
%u=getelementptr inbounds i8,i8*%s,i64 -4
%v=bitcast i8*%u to i32*
store i32 4,i32*%v,align 4
store i32%b,i32*%t,align 4
%w=load i8*,i8**%c,align 8
store i8*null,i8**%c,align 8
%x=call fastcc i8*%p(i8*inreg%w,i8*inreg%s)
%y=bitcast i8*%x to i64*
%z=load i64,i64*%y,align 4
%A=tail call fastcc i8*@_SMLFN16SMLSharp__Runtime7str__newE(i64 inreg%z)
ret i8*%A
}
define fastcc i8*@_SMLFN20SMLSharp__SQL__SQLite314sqlite3__errstrE(i32 inreg%a)local_unnamed_addr#1 gc"smlsharp"{
%b=alloca i8*,align 8
call void@llvm.gcroot(i8**%b,i8*null)#0
%c=load atomic i32,i32*@sml_check_flag unordered,align 4
%d=icmp eq i32%c,0
br i1%d,label%f,label%e
e:
call void@sml_check(i32 inreg%c)
br label%f
f:
%g=load i8*,i8**getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i64 0,i32 2,i64 0),align 8
%h=getelementptr inbounds i8,i8*%g,i64 16
%i=bitcast i8*%h to i8*(i8*,i8*)**
%j=load i8*(i8*,i8*)*,i8*(i8*,i8*)**%i,align 8
%k=bitcast i8*%g to i8**
%l=load i8*,i8**%k,align 8
store i8*%l,i8**%b,align 8
%m=call i8*@sml_alloc(i32 inreg 4)#0
%n=bitcast i8*%m to i32*
%o=getelementptr inbounds i8,i8*%m,i64 -4
%p=bitcast i8*%o to i32*
store i32 4,i32*%p,align 4
store i32%a,i32*%n,align 4
%q=load i8*,i8**%b,align 8
%r=tail call fastcc i8*%j(i8*inreg%q,i8*inreg%m)
ret i8*%r
}
define fastcc i32@_SMLFN20SMLSharp__SQL__SQLite315sqlite3__open__v2E(i8*inreg%a)local_unnamed_addr#1 gc"smlsharp"{
i:
%b=alloca i8*,align 8
call void@llvm.gcroot(i8**%b,i8*null)#0
store i8*%a,i8**%b,align 8
%c=load atomic i32,i32*@sml_check_flag unordered,align 4
%d=icmp eq i32%c,0
br i1%d,label%g,label%e
e:
call void@sml_check(i32 inreg%c)
%f=load i8*,i8**%b,align 8
br label%g
g:
%h=phi i8*[%f,%e],[%a,%i]
%j=load i8**,i8***bitcast(i8**getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i64 0,i32 2,i64 1)to i8***),align 8
%k=load i8*,i8**%j,align 8
%l=tail call fastcc i32@_SMLLN20SMLSharp__SQL__SQLite315sqlite3__open__v2E_57(i8*inreg%k,i8*inreg%h)
ret i32%l
}
define fastcc i32@_SMLFN20SMLSharp__SQL__SQLite316sqlite3__close__v2E(i64 inreg%a)local_unnamed_addr#1 gc"smlsharp"{
%b=alloca i8*,align 8
call void@llvm.gcroot(i8**%b,i8*null)#0
%c=load atomic i32,i32*@sml_check_flag unordered,align 4
%d=icmp eq i32%c,0
br i1%d,label%f,label%e
e:
call void@sml_check(i32 inreg%c)
br label%f
f:
%g=load i8*,i8**getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i64 0,i32 2,i64 2),align 8
%h=getelementptr inbounds i8,i8*%g,i64 16
%i=bitcast i8*%h to i8*(i8*,i8*)**
%j=load i8*(i8*,i8*)*,i8*(i8*,i8*)**%i,align 8
%k=bitcast i8*%g to i8**
%l=load i8*,i8**%k,align 8
store i8*%l,i8**%b,align 8
%m=call i8*@sml_alloc(i32 inreg 8)#0
%n=getelementptr inbounds i8,i8*%m,i64 -4
%o=bitcast i8*%n to i32*
store i32 8,i32*%o,align 4
%p=bitcast i8*%m to i64*
store i64%a,i64*%p,align 4
%q=load i8*,i8**%b,align 8
store i8*null,i8**%b,align 8
%r=call fastcc i8*%j(i8*inreg%q,i8*inreg%m)
%s=bitcast i8*%r to i32*
%t=load i32,i32*%s,align 4
ret i32%t
}
define fastcc i32@_SMLFN20SMLSharp__SQL__SQLite318sqlite3__prepare__v2E(i8*inreg%a)local_unnamed_addr#1 gc"smlsharp"{
i:
%b=alloca i8*,align 8
call void@llvm.gcroot(i8**%b,i8*null)#0
store i8*%a,i8**%b,align 8
%c=load atomic i32,i32*@sml_check_flag unordered,align 4
%d=icmp eq i32%c,0
br i1%d,label%g,label%e
e:
call void@sml_check(i32 inreg%c)
%f=load i8*,i8**%b,align 8
br label%g
g:
%h=phi i8*[%f,%e],[%a,%i]
%j=load i8**,i8***bitcast(i8**getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i64 0,i32 2,i64 3)to i8***),align 8
%k=load i8*,i8**%j,align 8
%l=tail call fastcc i32@_SMLLN20SMLSharp__SQL__SQLite318sqlite3__prepare__v2E_64(i8*inreg%k,i8*inreg%h)
ret i32%l
}
define fastcc i32@_SMLFN20SMLSharp__SQL__SQLite312sqlite3__stepE(i64 inreg%a)local_unnamed_addr#1 gc"smlsharp"{
%b=alloca i8*,align 8
call void@llvm.gcroot(i8**%b,i8*null)#0
%c=load atomic i32,i32*@sml_check_flag unordered,align 4
%d=icmp eq i32%c,0
br i1%d,label%f,label%e
e:
call void@sml_check(i32 inreg%c)
br label%f
f:
%g=load i8*,i8**getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i64 0,i32 2,i64 4),align 8
%h=getelementptr inbounds i8,i8*%g,i64 16
%i=bitcast i8*%h to i8*(i8*,i8*)**
%j=load i8*(i8*,i8*)*,i8*(i8*,i8*)**%i,align 8
%k=bitcast i8*%g to i8**
%l=load i8*,i8**%k,align 8
store i8*%l,i8**%b,align 8
%m=call i8*@sml_alloc(i32 inreg 8)#0
%n=getelementptr inbounds i8,i8*%m,i64 -4
%o=bitcast i8*%n to i32*
store i32 8,i32*%o,align 4
%p=bitcast i8*%m to i64*
store i64%a,i64*%p,align 4
%q=load i8*,i8**%b,align 8
store i8*null,i8**%b,align 8
%r=call fastcc i8*%j(i8*inreg%q,i8*inreg%m)
%s=bitcast i8*%r to i32*
%t=load i32,i32*%s,align 4
ret i32%t
}
define fastcc i32@_SMLFN20SMLSharp__SQL__SQLite319sqlite3__column__typeE(i8*inreg%a)local_unnamed_addr#1 gc"smlsharp"{
i:
%b=alloca i8*,align 8
call void@llvm.gcroot(i8**%b,i8*null)#0
store i8*%a,i8**%b,align 8
%c=load atomic i32,i32*@sml_check_flag unordered,align 4
%d=icmp eq i32%c,0
br i1%d,label%g,label%e
e:
call void@sml_check(i32 inreg%c)
%f=load i8*,i8**%b,align 8
br label%g
g:
%h=phi i8*[%f,%e],[%a,%i]
store i8*null,i8**%b,align 8
%j=load i8*,i8**getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i64 0,i32 2,i64 5),align 8
%k=getelementptr inbounds i8,i8*%j,i64 16
%l=bitcast i8*%k to i8*(i8*,i8*)**
%m=load i8*(i8*,i8*)*,i8*(i8*,i8*)**%l,align 8
%n=bitcast i8*%j to i8**
%o=load i8*,i8**%n,align 8
%p=call fastcc i8*%m(i8*inreg%o,i8*inreg%h)
%q=bitcast i8*%p to i32*
%r=load i32,i32*%q,align 4
ret i32%r
}
define fastcc i32@_SMLFN20SMLSharp__SQL__SQLite320sqlite3__column__bytesE(i8*inreg%a)local_unnamed_addr#1 gc"smlsharp"{
i:
%b=alloca i8*,align 8
call void@llvm.gcroot(i8**%b,i8*null)#0
store i8*%a,i8**%b,align 8
%c=load atomic i32,i32*@sml_check_flag unordered,align 4
%d=icmp eq i32%c,0
br i1%d,label%g,label%e
e:
call void@sml_check(i32 inreg%c)
%f=load i8*,i8**%b,align 8
br label%g
g:
%h=phi i8*[%f,%e],[%a,%i]
store i8*null,i8**%b,align 8
%j=load i8*,i8**getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i64 0,i32 2,i64 6),align 8
%k=getelementptr inbounds i8,i8*%j,i64 16
%l=bitcast i8*%k to i8*(i8*,i8*)**
%m=load i8*(i8*,i8*)*,i8*(i8*,i8*)**%l,align 8
%n=bitcast i8*%j to i8**
%o=load i8*,i8**%n,align 8
%p=call fastcc i8*%m(i8*inreg%o,i8*inreg%h)
%q=bitcast i8*%p to i32*
%r=load i32,i32*%q,align 4
ret i32%r
}
define fastcc i8*@_SMLFN20SMLSharp__SQL__SQLite319sqlite3__column__blobE(i8*inreg%a)local_unnamed_addr#1 gc"smlsharp"{
i:
%b=alloca i8*,align 8
call void@llvm.gcroot(i8**%b,i8*null)#0
store i8*%a,i8**%b,align 8
%c=load atomic i32,i32*@sml_check_flag unordered,align 4
%d=icmp eq i32%c,0
br i1%d,label%g,label%e
e:
call void@sml_check(i32 inreg%c)
%f=load i8*,i8**%b,align 8
br label%g
g:
%h=phi i8*[%f,%e],[%a,%i]
store i8*null,i8**%b,align 8
%j=load i8*,i8**getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i64 0,i32 2,i64 7),align 8
%k=getelementptr inbounds i8,i8*%j,i64 16
%l=bitcast i8*%k to i8*(i8*,i8*)**
%m=load i8*(i8*,i8*)*,i8*(i8*,i8*)**%l,align 8
%n=bitcast i8*%j to i8**
%o=load i8*,i8**%n,align 8
%p=call fastcc i8*%m(i8*inreg%o,i8*inreg%h)
%q=bitcast i8*%p to i8**
%r=load i8*,i8**%q,align 8
ret i8*%r
}
define fastcc double@_SMLFN20SMLSharp__SQL__SQLite321sqlite3__column__doubleE(i8*inreg%a)local_unnamed_addr#1 gc"smlsharp"{
i:
%b=alloca i8*,align 8
call void@llvm.gcroot(i8**%b,i8*null)#0
store i8*%a,i8**%b,align 8
%c=load atomic i32,i32*@sml_check_flag unordered,align 4
%d=icmp eq i32%c,0
br i1%d,label%g,label%e
e:
call void@sml_check(i32 inreg%c)
%f=load i8*,i8**%b,align 8
br label%g
g:
%h=phi i8*[%f,%e],[%a,%i]
store i8*null,i8**%b,align 8
%j=load i8*,i8**getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i64 0,i32 2,i64 8),align 8
%k=getelementptr inbounds i8,i8*%j,i64 16
%l=bitcast i8*%k to i8*(i8*,i8*)**
%m=load i8*(i8*,i8*)*,i8*(i8*,i8*)**%l,align 8
%n=bitcast i8*%j to i8**
%o=load i8*,i8**%n,align 8
%p=call fastcc i8*%m(i8*inreg%o,i8*inreg%h)
%q=bitcast i8*%p to double*
%r=load double,double*%q,align 8
ret double%r
}
define fastcc i32@_SMLFN20SMLSharp__SQL__SQLite318sqlite3__column__intE(i8*inreg%a)local_unnamed_addr#1 gc"smlsharp"{
i:
%b=alloca i8*,align 8
call void@llvm.gcroot(i8**%b,i8*null)#0
store i8*%a,i8**%b,align 8
%c=load atomic i32,i32*@sml_check_flag unordered,align 4
%d=icmp eq i32%c,0
br i1%d,label%g,label%e
e:
call void@sml_check(i32 inreg%c)
%f=load i8*,i8**%b,align 8
br label%g
g:
%h=phi i8*[%f,%e],[%a,%i]
store i8*null,i8**%b,align 8
%j=load i8*,i8**getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i64 0,i32 2,i64 9),align 8
%k=getelementptr inbounds i8,i8*%j,i64 16
%l=bitcast i8*%k to i8*(i8*,i8*)**
%m=load i8*(i8*,i8*)*,i8*(i8*,i8*)**%l,align 8
%n=bitcast i8*%j to i8**
%o=load i8*,i8**%n,align 8
%p=call fastcc i8*%m(i8*inreg%o,i8*inreg%h)
%q=bitcast i8*%p to i32*
%r=load i32,i32*%q,align 4
ret i32%r
}
define fastcc i64@_SMLFN20SMLSharp__SQL__SQLite320sqlite3__column__int64E(i8*inreg%a)local_unnamed_addr#1 gc"smlsharp"{
i:
%b=alloca i8*,align 8
call void@llvm.gcroot(i8**%b,i8*null)#0
store i8*%a,i8**%b,align 8
%c=load atomic i32,i32*@sml_check_flag unordered,align 4
%d=icmp eq i32%c,0
br i1%d,label%g,label%e
e:
call void@sml_check(i32 inreg%c)
%f=load i8*,i8**%b,align 8
br label%g
g:
%h=phi i8*[%f,%e],[%a,%i]
store i8*null,i8**%b,align 8
%j=load i8*,i8**getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i64 0,i32 2,i64 10),align 8
%k=getelementptr inbounds i8,i8*%j,i64 16
%l=bitcast i8*%k to i8*(i8*,i8*)**
%m=load i8*(i8*,i8*)*,i8*(i8*,i8*)**%l,align 8
%n=bitcast i8*%j to i8**
%o=load i8*,i8**%n,align 8
%p=call fastcc i8*%m(i8*inreg%o,i8*inreg%h)
%q=bitcast i8*%p to i64*
%r=load i64,i64*%q,align 4
ret i64%r
}
define fastcc i8*@_SMLFN20SMLSharp__SQL__SQLite319sqlite3__column__textE(i8*inreg%a)local_unnamed_addr#1 gc"smlsharp"{
i:
%b=alloca i8*,align 8
call void@llvm.gcroot(i8**%b,i8*null)#0
store i8*%a,i8**%b,align 8
%c=load atomic i32,i32*@sml_check_flag unordered,align 4
%d=icmp eq i32%c,0
br i1%d,label%g,label%e
e:
call void@sml_check(i32 inreg%c)
%f=load i8*,i8**%b,align 8
br label%g
g:
%h=phi i8*[%f,%e],[%a,%i]
store i8*null,i8**%b,align 8
%j=load i8*,i8**getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i64 0,i32 2,i64 11),align 8
%k=getelementptr inbounds i8,i8*%j,i64 16
%l=bitcast i8*%k to i8*(i8*,i8*)**
%m=load i8*(i8*,i8*)*,i8*(i8*,i8*)**%l,align 8
%n=bitcast i8*%j to i8**
%o=load i8*,i8**%n,align 8
%p=call fastcc i8*%m(i8*inreg%o,i8*inreg%h)
%q=bitcast i8*%p to i8**
%r=load i8*,i8**%q,align 8
ret i8*%r
}
define fastcc i32@_SMLFN20SMLSharp__SQL__SQLite316sqlite3__finalizeE(i64 inreg%a)local_unnamed_addr#1 gc"smlsharp"{
%b=alloca i8*,align 8
call void@llvm.gcroot(i8**%b,i8*null)#0
%c=load atomic i32,i32*@sml_check_flag unordered,align 4
%d=icmp eq i32%c,0
br i1%d,label%f,label%e
e:
call void@sml_check(i32 inreg%c)
br label%f
f:
%g=load i8*,i8**getelementptr inbounds(<{[4x i8],i32,[13x i8*]}>,<{[4x i8],i32,[13x i8*]}>*@_SML_gvarf61d37a3faa623ea_SQLite3,i64 0,i32 2,i64 12),align 8
%h=getelementptr inbounds i8,i8*%g,i64 16
%i=bitcast i8*%h to i8*(i8*,i8*)**
%j=load i8*(i8*,i8*)*,i8*(i8*,i8*)**%i,align 8
%k=bitcast i8*%g to i8**
%l=load i8*,i8**%k,align 8
store i8*%l,i8**%b,align 8
%m=call i8*@sml_alloc(i32 inreg 8)#0
%n=getelementptr inbounds i8,i8*%m,i64 -4
%o=bitcast i8*%n to i32*
store i32 8,i32*%o,align 4
%p=bitcast i8*%m to i64*
store i64%a,i64*%p,align 4
%q=load i8*,i8**%b,align 8
store i8*null,i8**%b,align 8
%r=call fastcc i8*%j(i8*inreg%q,i8*inreg%m)
%s=bitcast i8*%r to i32*
%t=load i32,i32*%s,align 4
ret i32%t
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite35dlsymE_113(i8*inreg%a,i8*inreg%b)#1 gc"smlsharp"{
%c=tail call fastcc void(...)*@_SMLLN20SMLSharp__SQL__SQLite35dlsymE_46(i8*inreg%a,i8*inreg%b)
%d=tail call i8*@sml_alloc(i32 inreg 8)#0
%e=getelementptr inbounds i8,i8*%d,i64 -4
%f=bitcast i8*%e to i32*
store i32 8,i32*%f,align 4
%g=bitcast i8*%d to void(...)**
store void(...)*%c,void(...)**%g,align 8
ret i8*%d
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite35dlsymE_114(i8*inreg%a,i8*inreg%b)#1 gc"smlsharp"{
%c=bitcast i8*%b to i32*
%d=load i32,i32*%c,align 4
%e=tail call fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite35dlsymE_47(i32 inreg%d)
ret i8*%e
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite314sqlite3__errstrE_115(i8*inreg%a,i8*inreg%b)#1 gc"smlsharp"{
%c=bitcast i8*%b to i32*
%d=load i32,i32*%c,align 4
%e=tail call fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite314sqlite3__errstrE_50(i8*inreg%a,i32 inreg%d)
%f=tail call i8*@sml_alloc(i32 inreg 8)#0
%g=getelementptr inbounds i8,i8*%f,i64 -4
%h=bitcast i8*%g to i32*
store i32 8,i32*%h,align 4
%i=bitcast i8*%f to i8**
store i8*%e,i8**%i,align 8
ret i8*%f
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite314sqlite3__errstrE_116(i8*inreg%a,i8*inreg%b)#1 gc"smlsharp"{
%c=bitcast i8*%b to i32*
%d=load i32,i32*%c,align 4
%e=tail call fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite314sqlite3__errstrE_51(i8*inreg%a,i32 inreg%d)
ret i8*%e
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite315sqlite3__open__v2E_117(i8*inreg%a,i8*inreg%b)#1 gc"smlsharp"{
%c=tail call fastcc i32@_SMLLN20SMLSharp__SQL__SQLite315sqlite3__open__v2E_53(i8*inreg%a,i8*inreg%b)
%d=tail call i8*@sml_alloc(i32 inreg 4)#0
%e=bitcast i8*%d to i32*
%f=getelementptr inbounds i8,i8*%d,i64 -4
%g=bitcast i8*%f to i32*
store i32 4,i32*%g,align 4
store i32%c,i32*%e,align 4
ret i8*%d
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite315sqlite3__open__v2E_118(i8*inreg%a,i8*inreg%b)#1 gc"smlsharp"{
%c=bitcast i8*%b to i32*
%d=load i32,i32*%c,align 4
%e=tail call fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite315sqlite3__open__v2E_54(i8*inreg%a,i32 inreg%d)
ret i8*%e
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite315sqlite3__open__v2E_119(i8*inreg%a,i8*inreg%b)#3 gc"smlsharp"{
%c=bitcast i8*%b to i32*
%d=load i32,i32*%c,align 4
%e=getelementptr inbounds i8,i8*%b,i64 4
%f=bitcast i8*%e to i32*
%g=load i32,i32*%f,align 4
%h=or i32%g,%d
%i=tail call i8*@sml_alloc(i32 inreg 4)#0
%j=bitcast i8*%i to i32*
%k=getelementptr inbounds i8,i8*%i,i64 -4
%l=bitcast i8*%k to i32*
store i32 4,i32*%l,align 4
store i32%h,i32*%j,align 4
ret i8*%i
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite315sqlite3__open__v2E_120(i8*inreg%a,i8*inreg%b)#1 gc"smlsharp"{
%c=tail call fastcc i32@_SMLLN20SMLSharp__SQL__SQLite315sqlite3__open__v2E_57(i8*inreg%a,i8*inreg%b)
%d=tail call i8*@sml_alloc(i32 inreg 4)#0
%e=bitcast i8*%d to i32*
%f=getelementptr inbounds i8,i8*%d,i64 -4
%g=bitcast i8*%f to i32*
store i32 4,i32*%g,align 4
store i32%c,i32*%e,align 4
ret i8*%d
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite316sqlite3__close__v2E_121(i8*inreg%a,i8*inreg%b)#1 gc"smlsharp"{
%c=bitcast i8*%b to i64*
%d=load i64,i64*%c,align 4
%e=tail call fastcc i32@_SMLLN20SMLSharp__SQL__SQLite316sqlite3__close__v2E_59(i8*inreg%a,i64 inreg%d)
%f=tail call i8*@sml_alloc(i32 inreg 4)#0
%g=bitcast i8*%f to i32*
%h=getelementptr inbounds i8,i8*%f,i64 -4
%i=bitcast i8*%h to i32*
store i32 4,i32*%i,align 4
store i32%e,i32*%g,align 4
ret i8*%f
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite316sqlite3__close__v2E_122(i8*inreg%a,i8*inreg%b)#1 gc"smlsharp"{
%c=bitcast i8*%b to i32*
%d=load i32,i32*%c,align 4
%e=tail call fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite316sqlite3__close__v2E_60(i8*inreg%a,i32 inreg%d)
ret i8*%e
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite318sqlite3__prepare__v2E_123(i8*inreg%a,i8*inreg%b)#1 gc"smlsharp"{
%c=tail call fastcc i32@_SMLLN20SMLSharp__SQL__SQLite318sqlite3__prepare__v2E_62(i8*inreg%a,i8*inreg%b)
%d=tail call i8*@sml_alloc(i32 inreg 4)#0
%e=bitcast i8*%d to i32*
%f=getelementptr inbounds i8,i8*%d,i64 -4
%g=bitcast i8*%f to i32*
store i32 4,i32*%g,align 4
store i32%c,i32*%e,align 4
ret i8*%d
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite318sqlite3__prepare__v2E_124(i8*inreg%a,i8*inreg%b)#1 gc"smlsharp"{
%c=bitcast i8*%b to i32*
%d=load i32,i32*%c,align 4
%e=tail call fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite318sqlite3__prepare__v2E_63(i8*inreg%a,i32 inreg%d)
ret i8*%e
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite318sqlite3__prepare__v2E_125(i8*inreg%a,i8*inreg%b)#1 gc"smlsharp"{
%c=tail call fastcc i32@_SMLLN20SMLSharp__SQL__SQLite318sqlite3__prepare__v2E_64(i8*inreg%a,i8*inreg%b)
%d=tail call i8*@sml_alloc(i32 inreg 4)#0
%e=bitcast i8*%d to i32*
%f=getelementptr inbounds i8,i8*%d,i64 -4
%g=bitcast i8*%f to i32*
store i32 4,i32*%g,align 4
store i32%c,i32*%e,align 4
ret i8*%d
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite312sqlite3__stepE_126(i8*inreg%a,i8*inreg%b)#1 gc"smlsharp"{
%c=bitcast i8*%b to i64*
%d=load i64,i64*%c,align 4
%e=tail call fastcc i32@_SMLLN20SMLSharp__SQL__SQLite312sqlite3__stepE_66(i8*inreg%a,i64 inreg%d)
%f=tail call i8*@sml_alloc(i32 inreg 4)#0
%g=bitcast i8*%f to i32*
%h=getelementptr inbounds i8,i8*%f,i64 -4
%i=bitcast i8*%h to i32*
store i32 4,i32*%i,align 4
store i32%e,i32*%g,align 4
ret i8*%f
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite312sqlite3__stepE_127(i8*inreg%a,i8*inreg%b)#1 gc"smlsharp"{
%c=bitcast i8*%b to i32*
%d=load i32,i32*%c,align 4
%e=tail call fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite312sqlite3__stepE_67(i8*inreg%a,i32 inreg%d)
ret i8*%e
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite319sqlite3__column__typeE_128(i8*inreg%a,i8*inreg%b)#1 gc"smlsharp"{
%c=tail call fastcc i32@_SMLLN20SMLSharp__SQL__SQLite319sqlite3__column__typeE_69(i8*inreg%a,i8*inreg%b)
%d=tail call i8*@sml_alloc(i32 inreg 4)#0
%e=bitcast i8*%d to i32*
%f=getelementptr inbounds i8,i8*%d,i64 -4
%g=bitcast i8*%f to i32*
store i32 4,i32*%g,align 4
store i32%c,i32*%e,align 4
ret i8*%d
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite319sqlite3__column__typeE_129(i8*inreg%a,i8*inreg%b)#1 gc"smlsharp"{
%c=bitcast i8*%b to i32*
%d=load i32,i32*%c,align 4
%e=tail call fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite319sqlite3__column__typeE_70(i8*inreg%a,i32 inreg%d)
ret i8*%e
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite320sqlite3__column__bytesE_130(i8*inreg%a,i8*inreg%b)#1 gc"smlsharp"{
%c=tail call fastcc i32@_SMLLN20SMLSharp__SQL__SQLite320sqlite3__column__bytesE_72(i8*inreg%a,i8*inreg%b)
%d=tail call i8*@sml_alloc(i32 inreg 4)#0
%e=bitcast i8*%d to i32*
%f=getelementptr inbounds i8,i8*%d,i64 -4
%g=bitcast i8*%f to i32*
store i32 4,i32*%g,align 4
store i32%c,i32*%e,align 4
ret i8*%d
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite320sqlite3__column__bytesE_131(i8*inreg%a,i8*inreg%b)#1 gc"smlsharp"{
%c=bitcast i8*%b to i32*
%d=load i32,i32*%c,align 4
%e=tail call fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite320sqlite3__column__bytesE_73(i8*inreg%a,i32 inreg%d)
ret i8*%e
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite319sqlite3__column__blobE_132(i8*inreg%a,i8*inreg%b)#1 gc"smlsharp"{
%c=tail call fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite319sqlite3__column__blobE_75(i8*inreg%a,i8*inreg%b)
%d=tail call i8*@sml_alloc(i32 inreg 8)#0
%e=getelementptr inbounds i8,i8*%d,i64 -4
%f=bitcast i8*%e to i32*
store i32 8,i32*%f,align 4
%g=bitcast i8*%d to i8**
store i8*%c,i8**%g,align 8
ret i8*%d
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite319sqlite3__column__blobE_133(i8*inreg%a,i8*inreg%b)#1 gc"smlsharp"{
%c=bitcast i8*%b to i32*
%d=load i32,i32*%c,align 4
%e=tail call fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite319sqlite3__column__blobE_76(i8*inreg%a,i32 inreg%d)
ret i8*%e
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite321sqlite3__column__doubleE_134(i8*inreg%a,i8*inreg%b)#1 gc"smlsharp"{
%c=tail call fastcc double@_SMLLN20SMLSharp__SQL__SQLite321sqlite3__column__doubleE_78(i8*inreg%a,i8*inreg%b)
%d=tail call i8*@sml_alloc(i32 inreg 8)#0
%e=getelementptr inbounds i8,i8*%d,i64 -4
%f=bitcast i8*%e to i32*
store i32 8,i32*%f,align 4
%g=bitcast i8*%d to double*
store double%c,double*%g,align 8
ret i8*%d
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite321sqlite3__column__doubleE_135(i8*inreg%a,i8*inreg%b)#1 gc"smlsharp"{
%c=bitcast i8*%b to i32*
%d=load i32,i32*%c,align 4
%e=tail call fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite321sqlite3__column__doubleE_79(i8*inreg%a,i32 inreg%d)
ret i8*%e
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite318sqlite3__column__intE_136(i8*inreg%a,i8*inreg%b)#1 gc"smlsharp"{
%c=tail call fastcc i32@_SMLLN20SMLSharp__SQL__SQLite318sqlite3__column__intE_81(i8*inreg%a,i8*inreg%b)
%d=tail call i8*@sml_alloc(i32 inreg 4)#0
%e=bitcast i8*%d to i32*
%f=getelementptr inbounds i8,i8*%d,i64 -4
%g=bitcast i8*%f to i32*
store i32 4,i32*%g,align 4
store i32%c,i32*%e,align 4
ret i8*%d
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite318sqlite3__column__intE_137(i8*inreg%a,i8*inreg%b)#1 gc"smlsharp"{
%c=bitcast i8*%b to i32*
%d=load i32,i32*%c,align 4
%e=tail call fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite318sqlite3__column__intE_82(i8*inreg%a,i32 inreg%d)
ret i8*%e
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite320sqlite3__column__int64E_138(i8*inreg%a,i8*inreg%b)#1 gc"smlsharp"{
%c=tail call fastcc i64@_SMLLN20SMLSharp__SQL__SQLite320sqlite3__column__int64E_84(i8*inreg%a,i8*inreg%b)
%d=tail call i8*@sml_alloc(i32 inreg 8)#0
%e=getelementptr inbounds i8,i8*%d,i64 -4
%f=bitcast i8*%e to i32*
store i32 8,i32*%f,align 4
%g=bitcast i8*%d to i64*
store i64%c,i64*%g,align 4
ret i8*%d
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite320sqlite3__column__int64E_139(i8*inreg%a,i8*inreg%b)#1 gc"smlsharp"{
%c=bitcast i8*%b to i32*
%d=load i32,i32*%c,align 4
%e=tail call fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite320sqlite3__column__int64E_85(i8*inreg%a,i32 inreg%d)
ret i8*%e
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite319sqlite3__column__textE_140(i8*inreg%a,i8*inreg%b)#1 gc"smlsharp"{
%c=tail call fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite319sqlite3__column__textE_87(i8*inreg%a,i8*inreg%b)
%d=tail call i8*@sml_alloc(i32 inreg 8)#0
%e=getelementptr inbounds i8,i8*%d,i64 -4
%f=bitcast i8*%e to i32*
store i32 8,i32*%f,align 4
%g=bitcast i8*%d to i8**
store i8*%c,i8**%g,align 8
ret i8*%d
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite319sqlite3__column__textE_141(i8*inreg%a,i8*inreg%b)#1 gc"smlsharp"{
%c=bitcast i8*%b to i32*
%d=load i32,i32*%c,align 4
%e=tail call fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite319sqlite3__column__textE_88(i8*inreg%a,i32 inreg%d)
ret i8*%e
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite316sqlite3__finalizeE_142(i8*inreg%a,i8*inreg%b)#1 gc"smlsharp"{
%c=bitcast i8*%b to i64*
%d=load i64,i64*%c,align 4
%e=tail call fastcc i32@_SMLLN20SMLSharp__SQL__SQLite316sqlite3__finalizeE_90(i8*inreg%a,i64 inreg%d)
%f=tail call i8*@sml_alloc(i32 inreg 4)#0
%g=bitcast i8*%f to i32*
%h=getelementptr inbounds i8,i8*%f,i64 -4
%i=bitcast i8*%h to i32*
store i32 4,i32*%i,align 4
store i32%e,i32*%g,align 4
ret i8*%f
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite316sqlite3__finalizeE_143(i8*inreg%a,i8*inreg%b)#1 gc"smlsharp"{
%c=bitcast i8*%b to i32*
%d=load i32,i32*%c,align 4
%e=tail call fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite316sqlite3__finalizeE_91(i8*inreg%a,i32 inreg%d)
ret i8*%e
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite311new__sqlite3E_144(i8*inreg%a,i8*inreg%b)#3 gc"smlsharp"{
%c=tail call fastcc i8*@_SMLFN20SMLSharp__SQL__SQLite311new__sqlite3E(i32 inreg undef)
ret i8*%c
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite316new__sqlite3__stmtE_145(i8*inreg%a,i8*inreg%b)#3 gc"smlsharp"{
%c=tail call fastcc i8*@_SMLFN20SMLSharp__SQL__SQLite316new__sqlite3__stmtE(i32 inreg undef)
ret i8*%c
}
define internal fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite314sqlite3__errstrE_146(i8*inreg%a,i8*inreg%b)#1 gc"smlsharp"{
%c=bitcast i8*%b to i32*
%d=load i32,i32*%c,align 4
%e=tail call fastcc i8*@_SMLLN20SMLSharp__SQL__SQLite314sqlite3__errstrE_97(i8*inreg%a,i32 inreg%d)
ret i8*%e
}
attributes#0={nounwind}
attributes#1={uwtable}
attributes#2={noreturn nounwind}
attributes#3={nounwind uwtable}
