summaryrefslogtreecommitdiff
path: root/test/wasm/undefined-weak-call.ll
diff options
context:
space:
mode:
Diffstat (limited to 'test/wasm/undefined-weak-call.ll')
-rw-r--r--test/wasm/undefined-weak-call.ll120
1 files changed, 0 insertions, 120 deletions
diff --git a/test/wasm/undefined-weak-call.ll b/test/wasm/undefined-weak-call.ll
deleted file mode 100644
index 0b7d0c769d47..000000000000
--- a/test/wasm/undefined-weak-call.ll
+++ /dev/null
@@ -1,120 +0,0 @@
-; RUN: llc -filetype=obj %s -o %t.o
-; RUN: wasm-ld --entry=callWeakFuncs --print-gc-sections %t.o \
-; RUN: -o %t.wasm 2>&1 | FileCheck -check-prefix=CHECK-GC %s
-; RUN: obj2yaml %t.wasm | FileCheck %s
-
-; Check that calling an undefined weak function generates an appropriate stub
-; that will fail at runtime with "unreachable".
-
-target triple = "wasm32-unknown-unknown"
-
-declare extern_weak void @weakFunc1()
-declare extern_weak void @weakFunc2() ; same signature
-declare extern_weak void @weakFunc3(i32 %arg) ; different
-declare extern_weak void @weakFunc4() ; should be GC'd as not called
-
-; CHECK-GC: removing unused section {{.*}}:(weakFunc4)
-
-define i32 @callWeakFuncs() {
- call void @weakFunc1()
- call void @weakFunc2()
- call void @weakFunc3(i32 2)
- %addr1 = ptrtoint void ()* @weakFunc1 to i32
- %addr4 = ptrtoint void ()* @weakFunc4 to i32
- %sum = add i32 %addr1, %addr4
- ret i32 %sum
-}
-
-; CHECK: --- !WASM
-; CHECK-NEXT: FileHeader:
-; CHECK-NEXT: Version: 0x00000001
-; CHECK-NEXT: Sections:
-; CHECK-NEXT: - Type: TYPE
-; CHECK-NEXT: Signatures:
-; CHECK-NEXT: - Index: 0
-; CHECK-NEXT: ReturnType: NORESULT
-; CHECK-NEXT: ParamTypes:
-; CHECK-NEXT: - Index: 1
-; CHECK-NEXT: ReturnType: NORESULT
-; CHECK-NEXT: ParamTypes:
-; CHECK-NEXT: - I32
-; CHECK-NEXT: - Index: 2
-; CHECK-NEXT: ReturnType: I32
-; CHECK-NEXT: ParamTypes:
-; CHECK-NEXT: - Type: FUNCTION
-; CHECK-NEXT: FunctionTypes: [ 0, 0, 0, 1, 2 ]
-; CHECK-NEXT: - Type: TABLE
-; CHECK-NEXT: Tables:
-; CHECK-NEXT: - ElemType: FUNCREF
-; CHECK-NEXT: Limits:
-; CHECK-NEXT: Flags: [ HAS_MAX ]
-; CHECK-NEXT: Initial: 0x00000001
-; CHECK-NEXT: Maximum: 0x00000001
-; CHECK-NEXT: - Type: MEMORY
-; CHECK-NEXT: Memories:
-; CHECK-NEXT: - Initial: 0x00000002
-; CHECK-NEXT: - Type: GLOBAL
-; CHECK-NEXT: Globals:
-; CHECK-NEXT: - Index: 0
-; CHECK-NEXT: Type: I32
-; CHECK-NEXT: Mutable: true
-; CHECK-NEXT: InitExpr:
-; CHECK-NEXT: Opcode: I32_CONST
-; CHECK-NEXT: Value: 66560
-; CHECK-NEXT: - Index: 1
-; CHECK-NEXT: Type: I32
-; CHECK-NEXT: Mutable: false
-; CHECK-NEXT: InitExpr:
-; CHECK-NEXT: Opcode: I32_CONST
-; CHECK-NEXT: Value: 66560
-; CHECK-NEXT: - Index: 2
-; CHECK-NEXT: Type: I32
-; CHECK-NEXT: Mutable: false
-; CHECK-NEXT: InitExpr:
-; CHECK-NEXT: Opcode: I32_CONST
-; CHECK-NEXT: Value: 1024
-; CHECK-NEXT: - Type: EXPORT
-; CHECK-NEXT: Exports:
-; CHECK-NEXT: - Name: memory
-; CHECK-NEXT: Kind: MEMORY
-; CHECK-NEXT: Index: 0
-; CHECK-NEXT: - Name: __heap_base
-; CHECK-NEXT: Kind: GLOBAL
-; CHECK-NEXT: Index: 1
-; CHECK-NEXT: - Name: __data_end
-; CHECK-NEXT: Kind: GLOBAL
-; CHECK-NEXT: Index: 2
-; CHECK-NEXT: - Name: callWeakFuncs
-; CHECK-NEXT: Kind: FUNCTION
-; CHECK-NEXT: Index: 4
-; CHECK-NEXT: - Type: CODE
-; CHECK-NEXT: Functions:
-; CHECK-NEXT: - Index: 0
-; CHECK-NEXT: Locals:
-; CHECK-NEXT: Body: 0B
-; CHECK-NEXT: - Index: 1
-; CHECK-NEXT: Locals:
-; CHECK-NEXT: Body: 000B
-; CHECK-NEXT: - Index: 2
-; CHECK-NEXT: Locals:
-; CHECK-NEXT: Body: 000B
-; CHECK-NEXT: - Index: 3
-; CHECK-NEXT: Locals:
-; CHECK-NEXT: Body: 000B
-; CHECK-NEXT: - Index: 4
-; CHECK-NEXT: Locals:
-; CHECK-NEXT: Body: 10818080800010828080800041021083808080004180808080004180808080006A0B
-; CHECK-NEXT: - Type: CUSTOM
-; CHECK-NEXT: Name: name
-; CHECK-NEXT: FunctionNames:
-; CHECK-NEXT: - Index: 0
-; CHECK-NEXT: Name: __wasm_call_ctors
-; CHECK-NEXT: - Index: 1
-; CHECK-NEXT: Name: undefined function weakFunc1
-; CHECK-NEXT: - Index: 2
-; CHECK-NEXT: Name: undefined function weakFunc2
-; CHECK-NEXT: - Index: 3
-; CHECK-NEXT: Name: undefined function weakFunc3
-; CHECK-NEXT: - Index: 4
-; CHECK-NEXT: Name: callWeakFuncs
-; CHECK-NEXT: ...