1; RUN: llc < %s --mtriple=wasm32-unknown-unknown -filetype=obj -wasm-keep-registers -o - | obj2yaml - | FileCheck %s 2 3@llvm.used = appending global [5 x ptr] [ 4 ptr @foo, ptr @gv0, ptr @gv1, ptr @gv2, ptr @gv3 5], section "llvm.metadata" 6 7define i32 @foo() { 8entry: 9 ret i32 0 10} 11 12; externally visible GV has NO_STRIP/RETAIN in both symtab entry and segment info 13@gv0 = global i32 42 14; internal GV has NO_STRIP/RETAIN in both symtab entry and segment info 15@gv1 = internal global i32 41 16; private GV has RETAIN in segment info only (no symtab entry) 17@gv2 = private global i32 40 18; explicit section names 19@gv3 = global i32 39, section "ddd.hello" 20@gv4.not.used = global i64 38, section "ddd.hello" 21 22; CHECK: SymbolTable: 23; CHECK-NEXT: - Index: 0 24; CHECK-NEXT: Kind: FUNCTION 25; CHECK-NEXT: Name: foo 26; CHECK-NEXT: Flags: [ NO_STRIP ] 27; CHECK-NEXT: Function: 0 28; CHECK-NEXT: - Index: 1 29; CHECK-NEXT: Kind: DATA 30; CHECK-NEXT: Name: gv0 31; CHECK-NEXT: Flags: [ NO_STRIP ] 32; CHECK-NEXT: Segment: 0 33; CHECK-NEXT: Size: 4 34; CHECK-NEXT: - Index: 2 35; CHECK-NEXT: Kind: DATA 36; CHECK-NEXT: Name: gv1 37; CHECK-NEXT: Flags: [ BINDING_LOCAL, NO_STRIP ] 38; CHECK-NEXT: Segment: 1 39; CHECK-NEXT: Size: 4 40; CHECK-NEXT: - Index: 3 41; CHECK-NEXT: Kind: DATA 42; CHECK-NEXT: Name: gv3 43; CHECK-NEXT: Flags: [ NO_STRIP ] 44; CHECK-NEXT: Segment: 3 45; CHECK-NEXT: Size: 4 46; CHECK-NEXT: - Index: 4 47; CHECK-NEXT: Kind: DATA 48; CHECK-NEXT: Name: gv4.not.used 49; CHECK-NEXT: Flags: [ ] 50; CHECK-NEXT: Segment: 3 51; CHECK-NEXT: Offset: 8 52; CHECK-NEXT: Size: 8 53; CHECK-NEXT: - Index: 5 54; CHECK-NEXT: Kind: TABLE 55; CHECK-NEXT: Name: __indirect_function_table 56; CHECK-NEXT: Flags: [ UNDEFINED, NO_STRIP ] 57; CHECK-NEXT: Table: 0 58; CHECK-NEXT: SegmentInfo: 59; CHECK-NEXT: - Index: 0 60; CHECK-NEXT: Name: .data.gv0 61; CHECK-NEXT: Alignment: 2 62; CHECK-NEXT: Flags: [ RETAIN ] 63; CHECK-NEXT: - Index: 1 64; CHECK-NEXT: Name: .data.gv1 65; CHECK-NEXT: Alignment: 2 66; CHECK-NEXT: Flags: [ RETAIN ] 67; CHECK-NEXT: - Index: 2 68; CHECK-NEXT: Name: .data..Lgv2 69; CHECK-NEXT: Alignment: 2 70; CHECK-NEXT: Flags: [ RETAIN ] 71; CHECK-NEXT: - Index: 3 72; CHECK-NEXT: Name: ddd.hello 73; CHECK-NEXT: Alignment: 3 74; CHECK-NEXT: Flags: [ RETAIN ] 75