diff options
Diffstat (limited to 'test/wasm/Inputs/call-indirect.ll')
-rw-r--r-- | test/wasm/Inputs/call-indirect.ll | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/test/wasm/Inputs/call-indirect.ll b/test/wasm/Inputs/call-indirect.ll new file mode 100644 index 000000000000..388ea60c3a07 --- /dev/null +++ b/test/wasm/Inputs/call-indirect.ll @@ -0,0 +1,17 @@ +@indirect_bar = internal local_unnamed_addr global i32 ()* @bar, align 4 +@indirect_foo = internal local_unnamed_addr global i32 ()* @foo, align 4 + +declare i32 @foo() local_unnamed_addr + +define i32 @bar() { +entry: + ret i32 1 +} + +define void @call_bar_indirect() local_unnamed_addr #1 { +entry: + %0 = load i32 ()*, i32 ()** @indirect_bar, align 4 + %1 = load i32 ()*, i32 ()** @indirect_foo, align 4 + %call = tail call i32 %0() #2 + ret void +} |