86 lines · plain
1; RUN: llc -filetype=obj %s -mattr=-reference-types,-call-indirect-overlong -o - | llvm-readobj --symbols - | FileCheck %s2; RUN: llc -filetype=obj %s -mattr=+reference-types,-call-indirect-overlong -o - | llvm-readobj --symbols - | FileCheck --check-prefix=REF %s3 4target triple = "wasm32-unknown-unknown-wasm"5 6@foo = alias i8, ptr @func7@bar = alias ptr (), ptr @func8@bar2 = alias ptr (), ptr @bar9 10define ptr @func() {11 call ptr @bar2();12 ret ptr @foo;13}14 15; CHECK: Symbols [16; CHECK-NEXT: Symbol {17; CHECK-NEXT: Name: func18; CHECK-NEXT: Type: FUNCTION (0x0)19; CHECK-NEXT: Flags [ (0x0)20; CHECK-NEXT: ]21; CHECK-NEXT: ElementIndex: 0x022; CHECK-NEXT: }23; CHECK-NEXT: Symbol {24; CHECK-NEXT: Name: bar225; CHECK-NEXT: Type: FUNCTION (0x0)26; CHECK-NEXT: Flags [ (0x0)27; CHECK-NEXT: ]28; CHECK-NEXT: ElementIndex: 0x029; CHECK-NEXT: }30; CHECK-NEXT: Symbol {31; CHECK-NEXT: Name: foo32; CHECK-NEXT: Type: FUNCTION (0x0)33; CHECK-NEXT: Flags [ (0x0)34; CHECK-NEXT: ]35; CHECK-NEXT: ElementIndex: 0x036; CHECK-NEXT: }37; CHECK-NEXT: Symbol {38; CHECK-NEXT: Name: bar39; CHECK-NEXT: Type: FUNCTION (0x0)40; CHECK-NEXT: Flags [ (0x0)41; CHECK-NEXT: ]42; CHECK-NEXT: ElementIndex: 0x043; CHECK-NEXT: }44; CHECK-NEXT: ]45 46; REF: Symbols [47; REF-NEXT: Symbol {48; REF-NEXT: Name: func49; REF-NEXT: Type: FUNCTION (0x0)50; REF-NEXT: Flags [ (0x0)51; REF-NEXT: ]52; REF-NEXT: ElementIndex: 0x053; REF-NEXT: }54; REF-NEXT: Symbol {55; REF-NEXT: Name: bar256; REF-NEXT: Type: FUNCTION (0x0)57; REF-NEXT: Flags [ (0x0)58; REF-NEXT: ]59; REF-NEXT: ElementIndex: 0x060; REF-NEXT: }61; REF-NEXT: Symbol {62; REF-NEXT: Name: foo63; REF-NEXT: Type: FUNCTION (0x0)64; REF-NEXT: Flags [ (0x0)65; REF-NEXT: ]66; REF-NEXT: ElementIndex: 0x067; REF-NEXT: }68; REF-NEXT: Symbol {69; REF-NEXT: Name: bar70; REF-NEXT: Type: FUNCTION (0x0)71; REF-NEXT: Flags [ (0x0)72; REF-NEXT: ]73; REF-NEXT: ElementIndex: 0x074; REF-NEXT: }75; REF-NEXT: Symbol {76; REF-NEXT: Name: __indirect_function_table77; REF-NEXT: Type: TABLE (0x5)78; REF-NEXT: Flags [ (0x90)79; REF-NEXT: NO_STRIP (0x80)80; REF-NEXT: UNDEFINED (0x10)81; REF-NEXT: ]82; REF-NEXT: ImportModule: env83; REF-NEXT: ElementIndex: 0x084; REF-NEXT: }85; REF-NEXT: ]86