[AArch64][SME2] Add multi-vector saturating doubling multiply high intrinsics
[llvm-project.git] / lld / test / wasm / lto / weak-undefined.ll
blob9a42c2bb5dbf70101a1144b37744393da9c52851
1 ; RUN: llvm-as %s -o %t.o
2 ; RUN: wasm-ld %t.o -o %t.wasm
3 ; RUN: obj2yaml %t.wasm | FileCheck %s
5 ; Test that undefined weak external functions are handled in the LTO case
6 ; We had a bug where stub function generation was failing because functions
7 ; that are in bitcode (pre-LTO) don't have signatures assigned.
9 target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128"
10 target triple = "wasm32-unknown-unknown"
12 declare extern_weak i32 @foo()
14 declare extern_weak i32 @bar()
16 ; The reference to bar here will exist in the LTO file, but the LTO process will
17 ; remove it, so it will never be referenced by an normal object file, and
18 ; therefore never have a signature.
19 define void @unused_function() #0 {
20 entry:
21     %call2 = call i32 @bar()
22     ret void
25 define void @_start() #0 {
26 entry:
27     %call2 = call i32 @foo()
28     ret void
31 ; CHECK: Name:            'undefined_weak:foo'