diff options
Diffstat (limited to 'llvm')
-rw-r--r-- | llvm/test/CodeGen/WebAssembly/weak.ll | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/WebAssembly/weak.ll b/llvm/test/CodeGen/WebAssembly/weak.ll new file mode 100644 index 0000000..9510e02 --- /dev/null +++ b/llvm/test/CodeGen/WebAssembly/weak.ll @@ -0,0 +1,27 @@ +; RUN: llc < %s -asm-verbose=false -disable-wasm-fallthrough-return-opt -wasm-disable-explicit-locals -wasm-keep-registers | FileCheck %s + +target datalayout = "e-m:e-p:32:32-i64:64-n32:64-S128" +target triple = "wasm32-unknown-unknown" + +; CHECK: .weak f +define weak i32 @f() { + unreachable +} + +; CHECK: g: +; CHECK: call h +define void @g() { + tail call void @h( ) + ret void +} + +; CHECK: bar: +; CHECK: .int32 foo +; CHECK: .size bar, 4 +@bar = global i32* @foo + +; CHECK: .weak h +declare extern_weak void @h() + +; CHECK: .weak foo +@foo = extern_weak global i32 |