brintos

brintos / llvm-project-archived public Read only

0
0
Text · 758 B · 451f098 Raw
40 lines · plain
1target triple = "wasm32-unknown-unknown"2 3; Function Attrs: norecurse nounwind readnone4define i32 @direct_fn() #0 {5entry:6  ret i32 07}8 9@alias_fn = weak alias i32 (), ptr @direct_fn10 11define i32 @call_direct() #0 {12entry:13  %call = call i32 @direct_fn()14  ret i32 %call15}16 17define i32 @call_alias() #0 {18entry:19  %call = call i32 @alias_fn()20  ret i32 %call21}22 23define i32 @call_alias_ptr() #0 {24entry:25   %fnptr = alloca ptr, align 826   store ptr @alias_fn, ptr %fnptr, align 827   %0 = load ptr, ptr %fnptr, align 828   %call = call i32 %0()29   ret i32 %call30}31 32define i32 @call_direct_ptr() #0 {33entry:34  %fnptr = alloca ptr, align 835  store ptr @direct_fn, ptr %fnptr, align 836  %0 = load ptr, ptr %fnptr, align 837  %call = call i32 %0()38  ret i32 %call39}40