75 lines · plain
1; RUN: llc < %s --mtriple=wasm32-unknown-unknown -filetype=obj -wasm-keep-registers -o - | obj2yaml - | FileCheck %s2 3@llvm.used = appending global [5 x ptr] [4 ptr @foo, ptr @gv0, ptr @gv1, ptr @gv2, ptr @gv35], section "llvm.metadata"6 7define i32 @foo() {8entry:9 ret i32 010}11 12; externally visible GV has NO_STRIP/RETAIN in both symtab entry and segment info13@gv0 = global i32 4214; internal GV has NO_STRIP/RETAIN in both symtab entry and segment info15@gv1 = internal global i32 4116; private GV has RETAIN in segment info only (no symtab entry)17@gv2 = private global i32 4018; explicit section names19@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: 024; CHECK-NEXT: Kind: FUNCTION25; CHECK-NEXT: Name: foo26; CHECK-NEXT: Flags: [ NO_STRIP ]27; CHECK-NEXT: Function: 028; CHECK-NEXT: - Index: 129; CHECK-NEXT: Kind: DATA30; CHECK-NEXT: Name: gv031; CHECK-NEXT: Flags: [ NO_STRIP ]32; CHECK-NEXT: Segment: 033; CHECK-NEXT: Size: 434; CHECK-NEXT: - Index: 235; CHECK-NEXT: Kind: DATA36; CHECK-NEXT: Name: gv137; CHECK-NEXT: Flags: [ BINDING_LOCAL, NO_STRIP ]38; CHECK-NEXT: Segment: 139; CHECK-NEXT: Size: 440; CHECK-NEXT: - Index: 341; CHECK-NEXT: Kind: DATA42; CHECK-NEXT: Name: gv343; CHECK-NEXT: Flags: [ NO_STRIP ]44; CHECK-NEXT: Segment: 345; CHECK-NEXT: Size: 446; CHECK-NEXT: - Index: 447; CHECK-NEXT: Kind: DATA48; CHECK-NEXT: Name: gv4.not.used49; CHECK-NEXT: Flags: [ ]50; CHECK-NEXT: Segment: 351; CHECK-NEXT: Offset: 852; CHECK-NEXT: Size: 853; CHECK-NEXT: - Index: 554; CHECK-NEXT: Kind: TABLE55; CHECK-NEXT: Name: __indirect_function_table56; CHECK-NEXT: Flags: [ UNDEFINED, NO_STRIP ]57; CHECK-NEXT: Table: 058; CHECK-NEXT: SegmentInfo:59; CHECK-NEXT: - Index: 060; CHECK-NEXT: Name: .data.gv061; CHECK-NEXT: Alignment: 262; CHECK-NEXT: Flags: [ RETAIN ]63; CHECK-NEXT: - Index: 164; CHECK-NEXT: Name: .data.gv165; CHECK-NEXT: Alignment: 266; CHECK-NEXT: Flags: [ RETAIN ]67; CHECK-NEXT: - Index: 268; CHECK-NEXT: Name: .data..Lgv269; CHECK-NEXT: Alignment: 270; CHECK-NEXT: Flags: [ RETAIN ]71; CHECK-NEXT: - Index: 372; CHECK-NEXT: Name: ddd.hello73; CHECK-NEXT: Alignment: 374; CHECK-NEXT: Flags: [ RETAIN ]75