@ -7,6 +7,7 @@ target triple = "thumbv7m-unknown-unknown-eabi"
@"main$string" = internal unnamed_addr constant [ 4 x i8 ] c "test" , align 1
; F u n c t i o n Attrs: a l l o c k i n d ( "alloc,zeroed" ) allocsize ( 0 )
declare noalias nonnull p t r @runtime.alloc ( i32 , p t r , p t r ) #0
; F u n c t i o n Attrs: nounwind
@ -18,30 +19,30 @@ entry:
; F u n c t i o n Attrs: nounwind
define hidden void @main.regularFunctionGoroutine ( p t r %context ) unnamed_addr #1 {
entry:
%stacksize = call i32 @"internal/task.getGoroutineStackSize" ( i32 ptrtoint ( p t r @"main.regularFunction$gowrapper" to i32 ) , p t r undef ) #8
call void @"internal/task.start" ( i32 ptrtoint ( p t r @"main.regularFunction$gowrapper" to i32 ) , p t r nonnull inttoptr ( i32 5 to p t r ) , i32 %stacksize , p t r undef ) #8
%stacksize = call i32 @"internal/task.getGoroutineStackSize" ( i32 ptrtoint ( p t r @"main.regularFunction$gowrapper" to i32 ) , p t r undef ) #9
call void @"internal/task.start" ( i32 ptrtoint ( p t r @"main.regularFunction$gowrapper" to i32 ) , p t r nonnull inttoptr ( i32 5 to p t r ) , i32 %stacksize , p t r undef ) #9
ret void
}
declare void @main.regularFunction ( i32 , p t r ) #0
declare void @main.regularFunction ( i32 , p t r ) #2
; F u n c t i o n Attrs: nounwind
define linkonce_odr void @"main.regularFunction$gowrapper" ( p t r %0 ) unnamed_addr #2 {
define linkonce_odr void @"main.regularFunction$gowrapper" ( p t r %0 ) unnamed_addr #3 {
entry:
%unpack.int = ptrtoint p t r %0 to i32
call void @main.regularFunction ( i32 %unpack.int , p t r undef ) #8
call void @main.regularFunction ( i32 %unpack.int , p t r undef ) #9
ret void
}
declare i32 @"internal/task.getGoroutineStackSize" ( i32 , p t r ) #0
declare i32 @"internal/task.getGoroutineStackSize" ( i32 , p t r ) #2
declare void @"internal/task.start" ( i32 , p t r , i32 , p t r ) #0
declare void @"internal/task.start" ( i32 , p t r , i32 , p t r ) #2
; F u n c t i o n Attrs: nounwind
define hidden void @main.inlineFunctionGoroutine ( p t r %context ) unnamed_addr #1 {
entry:
%stacksize = call i32 @"internal/task.getGoroutineStackSize" ( i32 ptrtoint ( p t r @"main.inlineFunctionGoroutine$1$gowrapper" to i32 ) , p t r undef ) #8
call void @"internal/task.start" ( i32 ptrtoint ( p t r @"main.inlineFunctionGoroutine$1$gowrapper" to i32 ) , p t r nonnull inttoptr ( i32 5 to p t r ) , i32 %stacksize , p t r undef ) #8
%stacksize = call i32 @"internal/task.getGoroutineStackSize" ( i32 ptrtoint ( p t r @"main.inlineFunctionGoroutine$1$gowrapper" to i32 ) , p t r undef ) #9
call void @"internal/task.start" ( i32 ptrtoint ( p t r @"main.inlineFunctionGoroutine$1$gowrapper" to i32 ) , p t r nonnull inttoptr ( i32 5 to p t r ) , i32 %stacksize , p t r undef ) #9
ret void
}
@ -52,7 +53,7 @@ entry:
}
; F u n c t i o n Attrs: nounwind
define linkonce_odr void @"main.inlineFunctionGoroutine$1$gowrapper" ( p t r %0 ) unnamed_addr #3 {
define linkonce_odr void @"main.inlineFunctionGoroutine$1$gowrapper" ( p t r %0 ) unnamed_addr #4 {
entry:
%unpack.int = ptrtoint p t r %0 to i32
call void @"main.inlineFunctionGoroutine$1" ( i32 %unpack.int , p t r undef )
@ -62,16 +63,16 @@ entry:
; F u n c t i o n Attrs: nounwind
define hidden void @main.closureFunctionGoroutine ( p t r %context ) unnamed_addr #1 {
entry:
%n = call p t r @runtime.alloc ( i32 4 , p t r nonnull inttoptr ( i32 3 to p t r ) , p t r undef ) #8
%n = call dereferenceable ( 4 ) p t r @runtime.alloc ( i32 4 , p t r nonnull inttoptr ( i32 3 to p t r ) , p t r undef ) #9
store i32 3 , p t r %n , align 4
%0 = call p t r @runtime.alloc ( i32 8 , p t r null , p t r undef ) #8
%0 = call dereferenceable ( 8 ) p t r @runtime.alloc ( i32 8 , p t r null , p t r undef ) #9
store i32 5 , p t r %0 , align 4
%1 = getelementptr inbounds { i32 , p t r } , p t r %0 , i32 0 , i32 1
store p t r %n , p t r %1 , align 4
%stacksize = call i32 @"internal/task.getGoroutineStackSize" ( i32 ptrtoint ( p t r @"main.closureFunctionGoroutine$1$gowrapper" to i32 ) , p t r undef ) #8
call void @"internal/task.start" ( i32 ptrtoint ( p t r @"main.closureFunctionGoroutine$1$gowrapper" to i32 ) , p t r nonnull %0 , i32 %stacksize , p t r undef ) #8
%stacksize = call i32 @"internal/task.getGoroutineStackSize" ( i32 ptrtoint ( p t r @"main.closureFunctionGoroutine$1$gowrapper" to i32 ) , p t r undef ) #9
call void @"internal/task.start" ( i32 ptrtoint ( p t r @"main.closureFunctionGoroutine$1$gowrapper" to i32 ) , p t r nonnull %0 , i32 %stacksize , p t r undef ) #9
%2 = load i32 , p t r %n , align 4
call void @runtime.printint32 ( i32 %2 , p t r undef ) #8
call void @runtime.printint32 ( i32 %2 , p t r undef ) #9
ret void
}
@ -83,7 +84,7 @@ entry:
}
; F u n c t i o n Attrs: nounwind
define linkonce_odr void @"main.closureFunctionGoroutine$1$gowrapper" ( p t r %0 ) unnamed_addr #4 {
define linkonce_odr void @"main.closureFunctionGoroutine$1$gowrapper" ( p t r %0 ) unnamed_addr #5 {
entry:
%1 = load i32 , p t r %0 , align 4
%2 = getelementptr inbounds { i32 , p t r } , p t r %0 , i32 0 , i32 1
@ -92,31 +93,31 @@ entry:
ret void
}
declare void @runtime.printint32 ( i32 , p t r ) #0
declare void @runtime.printint32 ( i32 , p t r ) #2
; F u n c t i o n Attrs: nounwind
define hidden void @main.funcGoroutine ( p t r %fn.context , p t r %fn.funcptr , p t r %context ) unnamed_addr #1 {
entry:
%0 = call p t r @runtime.alloc ( i32 12 , p t r null , p t r undef ) #8
%0 = call dereferenceable ( 12 ) p t r @runtime.alloc ( i32 12 , p t r null , p t r undef ) #9
store i32 5 , p t r %0 , align 4
%1 = getelementptr inbounds { i32 , p t r , p t r } , p t r %0 , i32 0 , i32 1
store p t r %fn.context , p t r %1 , align 4
%2 = getelementptr inbounds { i32 , p t r , p t r } , p t r %0 , i32 0 , i32 2
store p t r %fn.funcptr , p t r %2 , align 4
%stacksize = call i32 @"internal/task.getGoroutineStackSize" ( i32 ptrtoint ( p t r @main.funcGoroutine.gowrapper to i32 ) , p t r undef ) #8
call void @"internal/task.start" ( i32 ptrtoint ( p t r @main.funcGoroutine.gowrapper to i32 ) , p t r nonnull %0 , i32 %stacksize , p t r undef ) #8
%stacksize = call i32 @"internal/task.getGoroutineStackSize" ( i32 ptrtoint ( p t r @main.funcGoroutine.gowrapper to i32 ) , p t r undef ) #9
call void @"internal/task.start" ( i32 ptrtoint ( p t r @main.funcGoroutine.gowrapper to i32 ) , p t r nonnull %0 , i32 %stacksize , p t r undef ) #9
ret void
}
; F u n c t i o n Attrs: nounwind
define linkonce_odr void @main.funcGoroutine.gowrapper ( p t r %0 ) unnamed_addr #5 {
define linkonce_odr void @main.funcGoroutine.gowrapper ( p t r %0 ) unnamed_addr #6 {
entry:
%1 = load i32 , p t r %0 , align 4
%2 = getelementptr inbounds { i32 , p t r , p t r } , p t r %0 , i32 0 , i32 1
%3 = load p t r , p t r %2 , align 4
%4 = getelementptr inbounds { i32 , p t r , p t r } , p t r %0 , i32 0 , i32 2
%5 = load p t r , p t r %4 , align 4
call void %5 ( i32 %1 , p t r %3 ) #8
call void %5 ( i32 %1 , p t r %3 ) #9
ret void
}
@ -129,25 +130,25 @@ entry:
; F u n c t i o n Attrs: nounwind
define hidden void @main.copyBuiltinGoroutine ( p t r %dst.data , i32 %dst.len , i32 %dst.cap , p t r %src.data , i32 %src.len , i32 %src.cap , p t r %context ) unnamed_addr #1 {
entry:
%copy.n = call i32 @runtime.sliceCopy ( p t r %dst.data , p t r %src.data , i32 %dst.len , i32 %src.len , i32 1 , p t r undef ) #8
%copy.n = call i32 @runtime.sliceCopy ( p t r %dst.data , p t r %src.data , i32 %dst.len , i32 %src.len , i32 1 , p t r undef ) #9
ret void
}
declare i32 @runtime.sliceCopy ( p t r nocapture writeonly , p t r nocapture readonly , i32 , i32 , i32 , p t r ) #0
declare i32 @runtime.sliceCopy ( p t r nocapture writeonly , p t r nocapture readonly , i32 , i32 , i32 , p t r ) #2
; F u n c t i o n Attrs: nounwind
define hidden void @main.closeBuiltinGoroutine ( p t r dereferenceable_or_null ( 32 ) %ch , p t r %context ) unnamed_addr #1 {
entry:
call void @runtime.chanClose ( p t r %ch , p t r undef ) #8
call void @runtime.chanClose ( p t r %ch , p t r undef ) #9
ret void
}
declare void @runtime.chanClose ( p t r dereferenceable_or_null ( 32 ) , p t r ) #0
declare void @runtime.chanClose ( p t r dereferenceable_or_null ( 32 ) , p t r ) #2
; F u n c t i o n Attrs: nounwind
define hidden void @main.startInterfaceMethod ( p t r %itf.typecode , p t r %itf.value , p t r %context ) unnamed_addr #1 {
entry:
%0 = call p t r @runtime.alloc ( i32 16 , p t r null , p t r undef ) #8
%0 = call dereferenceable ( 16 ) p t r @runtime.alloc ( i32 16 , p t r null , p t r undef ) #9
store p t r %itf.value , p t r %0 , align 4
%1 = getelementptr inbounds { p t r , %runtime._string , p t r } , p t r %0 , i32 0 , i32 1
store p t r @"main$string" , p t r %1 , align 4
@ -155,15 +156,15 @@ entry:
store i32 4 , p t r %.repack1 , align 4
%2 = getelementptr inbounds { p t r , %runtime._string , p t r } , p t r %0 , i32 0 , i32 2
store p t r %itf.typecode , p t r %2 , align 4
%stacksize = call i32 @"internal/task.getGoroutineStackSize" ( i32 ptrtoint ( p t r @"interface:{Print:func:{basic:string}{}}.Print$invoke$gowrapper" to i32 ) , p t r undef ) #8
call void @"internal/task.start" ( i32 ptrtoint ( p t r @"interface:{Print:func:{basic:string}{}}.Print$invoke$gowrapper" to i32 ) , p t r nonnull %0 , i32 %stacksize , p t r undef ) #8
%stacksize = call i32 @"internal/task.getGoroutineStackSize" ( i32 ptrtoint ( p t r @"interface:{Print:func:{basic:string}{}}.Print$invoke$gowrapper" to i32 ) , p t r undef ) #9
call void @"internal/task.start" ( i32 ptrtoint ( p t r @"interface:{Print:func:{basic:string}{}}.Print$invoke$gowrapper" to i32 ) , p t r nonnull %0 , i32 %stacksize , p t r undef ) #9
ret void
}
declare void @"interface:{Print:func:{basic:string}{}}.Print$invoke" ( p t r , p t r , i32 , p t r , p t r ) #6
declare void @"interface:{Print:func:{basic:string}{}}.Print$invoke" ( p t r , p t r , i32 , p t r , p t r ) #7
; F u n c t i o n Attrs: nounwind
define linkonce_odr void @"interface:{Print:func:{basic:string}{}}.Print$invoke$gowrapper" ( p t r %0 ) unnamed_addr #7 {
define linkonce_odr void @"interface:{Print:func:{basic:string}{}}.Print$invoke$gowrapper" ( p t r %0 ) unnamed_addr #8 {
entry:
%1 = load p t r , p t r %0 , align 4
%2 = getelementptr inbounds { p t r , p t r , i32 , p t r } , p t r %0 , i32 0 , i32 1
@ -172,16 +173,17 @@ entry:
%5 = load i32 , p t r %4 , align 4
%6 = getelementptr inbounds { p t r , p t r , i32 , p t r } , p t r %0 , i32 0 , i32 3
%7 = load p t r , p t r %6 , align 4
call void @"interface:{Print:func:{basic:string}{}}.Print$invoke" ( p t r %1 , p t r %3 , i32 %5 , p t r %7 , p t r undef ) #8
call void @"interface:{Print:func:{basic:string}{}}.Print$invoke" ( p t r %1 , p t r %3 , i32 %5 , p t r %7 , p t r undef ) #9
ret void
}
attributes #0 = { "target-features" = "+armv7-m,+hwdiv,+soft-float,+strict-align,+thumb-mode,-aes,-bf16,-cdecp0,-cdecp1,-cdecp2,-cdecp3,-cdecp4,-cdecp5,-cdecp6,-cdecp7,-crc,-crypto,-d32,-dotprod,-dsp,-fp-armv8,-fp-armv8d16,-fp-armv8d16sp,-fp-armv8sp,-fp16,-fp16fml,-fp64,-fpregs,-fullfp16,-hwdiv-arm,-i8mm,-lob,-mve,-mve.fp,-neon,-pacbti,-ras,-sb,-sha2,-vfp2,-vfp2sp,-vfp3,-vfp3d16,-vfp3d16sp,-vfp3sp,-vfp4,-vfp4d16,-vfp4d16sp,-vfp4sp" }
attributes #0 = { a l l o c k i n d ( "alloc,zeroed" ) allocsize ( 0 ) "alloc-family" = "runtime.alloc" "target-features" = "+armv7-m,+hwdiv,+soft-float,+strict-align,+thumb-mode,-aes,-bf16,-cdecp0,-cdecp1,-cdecp2,-cdecp3,-cdecp4,-cdecp5,-cdecp6,-cdecp7,-crc,-crypto,-d32,-dotprod,-dsp,-fp-armv8,-fp-armv8d16,-fp-armv8d16sp,-fp-armv8sp,-fp16,-fp16fml,-fp64,-fpregs,-fullfp16,-hwdiv-arm,-i8mm,-lob,-mve,-mve.fp,-neon,-pacbti,-ras,-sb,-sha2,-vfp2,-vfp2sp,-vfp3,-vfp3d16,-vfp3d16sp,-vfp3sp,-vfp4,-vfp4d16,-vfp4d16sp,-vfp4sp" }
attributes #1 = { nounwind "target-features" = "+armv7-m,+hwdiv,+soft-float,+strict-align,+thumb-mode,-aes,-bf16,-cdecp0,-cdecp1,-cdecp2,-cdecp3,-cdecp4,-cdecp5,-cdecp6,-cdecp7,-crc,-crypto,-d32,-dotprod,-dsp,-fp-armv8,-fp-armv8d16,-fp-armv8d16sp,-fp-armv8sp,-fp16,-fp16fml,-fp64,-fpregs,-fullfp16,-hwdiv-arm,-i8mm,-lob,-mve,-mve.fp,-neon,-pacbti,-ras,-sb,-sha2,-vfp2,-vfp2sp,-vfp3,-vfp3d16,-vfp3d16sp,-vfp3sp,-vfp4,-vfp4d16,-vfp4d16sp,-vfp4sp" }
attributes #2 = { nounwind "target-features" = "+armv7-m,+hwdiv,+soft-float,+strict-align,+thumb-mode,-aes,-bf16,-cdecp0,-cdecp1,-cdecp2,-cdecp3,-cdecp4,-cdecp5,-cdecp6,-cdecp7,-crc,-crypto,-d32,-dotprod,-dsp,-fp-armv8,-fp-armv8d16,-fp-armv8d16sp,-fp-armv8sp,-fp16,-fp16fml,-fp64,-fpregs,-fullfp16,-hwdiv-arm,-i8mm,-lob,-mve,-mve.fp,-neon,-pacbti,-ras,-sb,-sha2,-vfp2,-vfp2sp,-vfp3,-vfp3d16,-vfp3d16sp,-vfp3sp,-vfp4,-vfp4d16,-vfp4d16sp,-vfp4sp" "tinygo-gowrapper" = "main.regularFunction" }
attributes #3 = { nounwind "target-features" = "+armv7-m,+hwdiv,+soft-float,+strict-align,+thumb-mode,-aes,-bf16,-cdecp0,-cdecp1,-cdecp2,-cdecp3,-cdecp4,-cdecp5,-cdecp6,-cdecp7,-crc,-crypto,-d32,-dotprod,-dsp,-fp-armv8,-fp-armv8d16,-fp-armv8d16sp,-fp-armv8sp,-fp16,-fp16fml,-fp64,-fpregs,-fullfp16,-hwdiv-arm,-i8mm,-lob,-mve,-mve.fp,-neon,-pacbti,-ras,-sb,-sha2,-vfp2,-vfp2sp,-vfp3,-vfp3d16,-vfp3d16sp,-vfp3sp,-vfp4,-vfp4d16,-vfp4d16sp,-vfp4sp" "tinygo-gowrapper" = "main.inlineFunctionGoroutine$1" }
attributes #4 = { nounwind "target-features" = "+armv7-m,+hwdiv,+soft-float,+strict-align,+thumb-mode,-aes,-bf16,-cdecp0,-cdecp1,-cdecp2,-cdecp3,-cdecp4,-cdecp5,-cdecp6,-cdecp7,-crc,-crypto,-d32,-dotprod,-dsp,-fp-armv8,-fp-armv8d16,-fp-armv8d16sp,-fp-armv8sp,-fp16,-fp16fml,-fp64,-fpregs,-fullfp16,-hwdiv-arm,-i8mm,-lob,-mve,-mve.fp,-neon,-pacbti,-ras,-sb,-sha2,-vfp2,-vfp2sp,-vfp3,-vfp3d16,-vfp3d16sp,-vfp3sp,-vfp4,-vfp4d16,-vfp4d16sp,-vfp4sp" "tinygo-gowrapper" = "main.closureFunctionGoroutine$1" }
attributes #5 = { nounwind "target-features" = "+armv7-m,+hwdiv,+soft-float,+strict-align,+thumb-mode,-aes,-bf16,-cdecp0,-cdecp1,-cdecp2,-cdecp3,-cdecp4,-cdecp5,-cdecp6,-cdecp7,-crc,-crypto,-d32,-dotprod,-dsp,-fp-armv8,-fp-armv8d16,-fp-armv8d16sp,-fp-armv8sp,-fp16,-fp16fml,-fp64,-fpregs,-fullfp16,-hwdiv-arm,-i8mm,-lob,-mve,-mve.fp,-neon,-pacbti,-ras,-sb,-sha2,-vfp2,-vfp2sp,-vfp3,-vfp3d16,-vfp3d16sp,-vfp3sp,-vfp4,-vfp4d16,-vfp4d16sp,-vfp4sp" "tinygo-gowrapper" }
attributes #6 = { "target-features" = "+armv7-m,+hwdiv,+soft-float,+strict-align,+thumb-mode,-aes,-bf16,-cdecp0,-cdecp1,-cdecp2,-cdecp3,-cdecp4,-cdecp5,-cdecp6,-cdecp7,-crc,-crypto,-d32,-dotprod,-dsp,-fp-armv8,-fp-armv8d16,-fp-armv8d16sp,-fp-armv8sp,-fp16,-fp16fml,-fp64,-fpregs,-fullfp16,-hwdiv-arm,-i8mm,-lob,-mve,-mve.fp,-neon,-pacbti,-ras,-sb,-sha2,-vfp2,-vfp2sp,-vfp3,-vfp3d16,-vfp3d16sp,-vfp3sp,-vfp4,-vfp4d16,-vfp4d16sp,-vfp4sp" "tinygo-invoke" = "reflect/methods.Print(string)" "tinygo-methods" = "reflect/methods.Print(string)" }
attributes #7 = { nounwind "target-features" = "+armv7-m,+hwdiv,+soft-float,+strict-align,+thumb-mode,-aes,-bf16,-cdecp0,-cdecp1,-cdecp2,-cdecp3,-cdecp4,-cdecp5,-cdecp6,-cdecp7,-crc,-crypto,-d32,-dotprod,-dsp,-fp-armv8,-fp-armv8d16,-fp-armv8d16sp,-fp-armv8sp,-fp16,-fp16fml,-fp64,-fpregs,-fullfp16,-hwdiv-arm,-i8mm,-lob,-mve,-mve.fp,-neon,-pacbti,-ras,-sb,-sha2,-vfp2,-vfp2sp,-vfp3,-vfp3d16,-vfp3d16sp,-vfp3sp,-vfp4,-vfp4d16,-vfp4d16sp,-vfp4sp" "tinygo-gowrapper" = "interface:{Print:func:{basic:string}{}}.Print$invoke" }
attributes #8 = { nounwind }
attributes #2 = { "target-features" = "+armv7-m,+hwdiv,+soft-float,+strict-align,+thumb-mode,-aes,-bf16,-cdecp0,-cdecp1,-cdecp2,-cdecp3,-cdecp4,-cdecp5,-cdecp6,-cdecp7,-crc,-crypto,-d32,-dotprod,-dsp,-fp-armv8,-fp-armv8d16,-fp-armv8d16sp,-fp-armv8sp,-fp16,-fp16fml,-fp64,-fpregs,-fullfp16,-hwdiv-arm,-i8mm,-lob,-mve,-mve.fp,-neon,-pacbti,-ras,-sb,-sha2,-vfp2,-vfp2sp,-vfp3,-vfp3d16,-vfp3d16sp,-vfp3sp,-vfp4,-vfp4d16,-vfp4d16sp,-vfp4sp" }
attributes #3 = { nounwind "target-features" = "+armv7-m,+hwdiv,+soft-float,+strict-align,+thumb-mode,-aes,-bf16,-cdecp0,-cdecp1,-cdecp2,-cdecp3,-cdecp4,-cdecp5,-cdecp6,-cdecp7,-crc,-crypto,-d32,-dotprod,-dsp,-fp-armv8,-fp-armv8d16,-fp-armv8d16sp,-fp-armv8sp,-fp16,-fp16fml,-fp64,-fpregs,-fullfp16,-hwdiv-arm,-i8mm,-lob,-mve,-mve.fp,-neon,-pacbti,-ras,-sb,-sha2,-vfp2,-vfp2sp,-vfp3,-vfp3d16,-vfp3d16sp,-vfp3sp,-vfp4,-vfp4d16,-vfp4d16sp,-vfp4sp" "tinygo-gowrapper" = "main.regularFunction" }
attributes #4 = { nounwind "target-features" = "+armv7-m,+hwdiv,+soft-float,+strict-align,+thumb-mode,-aes,-bf16,-cdecp0,-cdecp1,-cdecp2,-cdecp3,-cdecp4,-cdecp5,-cdecp6,-cdecp7,-crc,-crypto,-d32,-dotprod,-dsp,-fp-armv8,-fp-armv8d16,-fp-armv8d16sp,-fp-armv8sp,-fp16,-fp16fml,-fp64,-fpregs,-fullfp16,-hwdiv-arm,-i8mm,-lob,-mve,-mve.fp,-neon,-pacbti,-ras,-sb,-sha2,-vfp2,-vfp2sp,-vfp3,-vfp3d16,-vfp3d16sp,-vfp3sp,-vfp4,-vfp4d16,-vfp4d16sp,-vfp4sp" "tinygo-gowrapper" = "main.inlineFunctionGoroutine$1" }
attributes #5 = { nounwind "target-features" = "+armv7-m,+hwdiv,+soft-float,+strict-align,+thumb-mode,-aes,-bf16,-cdecp0,-cdecp1,-cdecp2,-cdecp3,-cdecp4,-cdecp5,-cdecp6,-cdecp7,-crc,-crypto,-d32,-dotprod,-dsp,-fp-armv8,-fp-armv8d16,-fp-armv8d16sp,-fp-armv8sp,-fp16,-fp16fml,-fp64,-fpregs,-fullfp16,-hwdiv-arm,-i8mm,-lob,-mve,-mve.fp,-neon,-pacbti,-ras,-sb,-sha2,-vfp2,-vfp2sp,-vfp3,-vfp3d16,-vfp3d16sp,-vfp3sp,-vfp4,-vfp4d16,-vfp4d16sp,-vfp4sp" "tinygo-gowrapper" = "main.closureFunctionGoroutine$1" }
attributes #6 = { nounwind "target-features" = "+armv7-m,+hwdiv,+soft-float,+strict-align,+thumb-mode,-aes,-bf16,-cdecp0,-cdecp1,-cdecp2,-cdecp3,-cdecp4,-cdecp5,-cdecp6,-cdecp7,-crc,-crypto,-d32,-dotprod,-dsp,-fp-armv8,-fp-armv8d16,-fp-armv8d16sp,-fp-armv8sp,-fp16,-fp16fml,-fp64,-fpregs,-fullfp16,-hwdiv-arm,-i8mm,-lob,-mve,-mve.fp,-neon,-pacbti,-ras,-sb,-sha2,-vfp2,-vfp2sp,-vfp3,-vfp3d16,-vfp3d16sp,-vfp3sp,-vfp4,-vfp4d16,-vfp4d16sp,-vfp4sp" "tinygo-gowrapper" }
attributes #7 = { "target-features" = "+armv7-m,+hwdiv,+soft-float,+strict-align,+thumb-mode,-aes,-bf16,-cdecp0,-cdecp1,-cdecp2,-cdecp3,-cdecp4,-cdecp5,-cdecp6,-cdecp7,-crc,-crypto,-d32,-dotprod,-dsp,-fp-armv8,-fp-armv8d16,-fp-armv8d16sp,-fp-armv8sp,-fp16,-fp16fml,-fp64,-fpregs,-fullfp16,-hwdiv-arm,-i8mm,-lob,-mve,-mve.fp,-neon,-pacbti,-ras,-sb,-sha2,-vfp2,-vfp2sp,-vfp3,-vfp3d16,-vfp3d16sp,-vfp3sp,-vfp4,-vfp4d16,-vfp4d16sp,-vfp4sp" "tinygo-invoke" = "reflect/methods.Print(string)" "tinygo-methods" = "reflect/methods.Print(string)" }
attributes #8 = { nounwind "target-features" = "+armv7-m,+hwdiv,+soft-float,+strict-align,+thumb-mode,-aes,-bf16,-cdecp0,-cdecp1,-cdecp2,-cdecp3,-cdecp4,-cdecp5,-cdecp6,-cdecp7,-crc,-crypto,-d32,-dotprod,-dsp,-fp-armv8,-fp-armv8d16,-fp-armv8d16sp,-fp-armv8sp,-fp16,-fp16fml,-fp64,-fpregs,-fullfp16,-hwdiv-arm,-i8mm,-lob,-mve,-mve.fp,-neon,-pacbti,-ras,-sb,-sha2,-vfp2,-vfp2sp,-vfp3,-vfp3d16,-vfp3d16sp,-vfp3sp,-vfp4,-vfp4d16,-vfp4d16sp,-vfp4sp" "tinygo-gowrapper" = "interface:{Print:func:{basic:string}{}}.Print$invoke" }
attributes #9 = { nounwind }