• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; RUN: llc -filetype=obj %s -o - | llvm-readobj --symbols - | FileCheck %s
2
3target datalayout = "e-m:e-p:32:32-i64:64-n32:64-S128"
4target triple = "wasm32-unknown-unknown-wasm"
5
6@foo = alias i8, bitcast (i8* ()* @func to i8*)
7@bar = alias i8* (), i8* ()* @func
8@bar2 = alias i8* (), i8* ()* @bar
9
10define i8* @func() {
11  call i8* @bar2();
12  ret i8* @foo;
13}
14
15; CHECK:      Symbols [
16; CHECK-NEXT:   Symbol {
17; CHECK-NEXT:     Name: func
18; CHECK-NEXT:     Type: FUNCTION (0x0)
19; CHECK-NEXT:     Flags [ (0x0)
20; CHECK-NEXT:     ]
21; CHECK-NEXT:     ElementIndex: 0x0
22; CHECK-NEXT:   }
23; CHECK-NEXT:   Symbol {
24; CHECK-NEXT:     Name: bar2
25; CHECK-NEXT:     Type: FUNCTION (0x0)
26; CHECK-NEXT:     Flags [ (0x0)
27; CHECK-NEXT:     ]
28; CHECK-NEXT:     ElementIndex: 0x0
29; CHECK-NEXT:   }
30; CHECK-NEXT:   Symbol {
31; CHECK-NEXT:     Name: foo
32; CHECK-NEXT:     Type: FUNCTION (0x0)
33; CHECK-NEXT:     Flags [ (0x0)
34; CHECK-NEXT:     ]
35; CHECK-NEXT:     ElementIndex: 0x0
36; CHECK-NEXT:   }
37; CHECK-NEXT:   Symbol {
38; CHECK-NEXT:     Name: bar
39; CHECK-NEXT:     Type: FUNCTION (0x0)
40; CHECK-NEXT:     Flags [ (0x0)
41; CHECK-NEXT:     ]
42; CHECK-NEXT:     ElementIndex: 0x0
43; CHECK-NEXT:   }
44; CHECK-NEXT: ]
45