Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / lld / test / ELF / lto / relocatable.ll
bloba67eb12e1605782665083acfb610cdf3059b9174
1 ; REQUIRES: x86
2 ; RUN: llvm-as %s -o %t1.o
3 ; RUN: ld.lld %t1.o -r -o %t
4 ; RUN: llvm-readobj --symbols %t | FileCheck %s
6 ; CHECK:       Symbols [
7 ; CHECK-NEXT:   Symbol {
8 ; CHECK-NEXT:     Name:
9 ; CHECK-NEXT:     Value: 0x0
10 ; CHECK-NEXT:     Size: 0
11 ; CHECK-NEXT:     Binding: Local
12 ; CHECK-NEXT:     Type: None
13 ; CHECK-NEXT:     Other: 0
14 ; CHECK-NEXT:     Section: Undefined
15 ; CHECK-NEXT:   }
16 ; CHECK-NEXT:   Symbol {
17 ; CHECK-NEXT:     Name: {{.*}}.o
18 ; CHECK-NEXT:     Value: 0x0
19 ; CHECK-NEXT:     Size: 0
20 ; CHECK-NEXT:     Binding: Local
21 ; CHECK-NEXT:     Type: File
22 ; CHECK-NEXT:     Other: 0
23 ; CHECK-NEXT:     Section: Absolute
24 ; CHECK-NEXT:   }
25 ; CHECK-NEXT:   Symbol {
26 ; CHECK-NEXT:     Name:
27 ; CHECK-NEXT:     Value: 0x0
28 ; CHECK-NEXT:     Size: 0
29 ; CHECK-NEXT:     Binding: Local
30 ; CHECK-NEXT:     Type: Section
31 ; CHECK-NEXT:     Other: 0
32 ; CHECK-NEXT:     Section: .text
33 ; CHECK-NEXT:   }
34 ; CHECK-NEXT:   Symbol {
35 ; CHECK-NEXT:     Name:
36 ; CHECK-NEXT:     Value: 0x0
37 ; CHECK-NEXT:     Size: 0
38 ; CHECK-NEXT:     Binding: Local
39 ; CHECK-NEXT:     Type: Section
40 ; CHECK-NEXT:     Other: 0
41 ; CHECK-NEXT:     Section: .text.foo
42 ; CHECK-NEXT:   }
43 ; CHECK-NEXT:   Symbol {
44 ; CHECK-NEXT:     Name:
45 ; CHECK-NEXT:     Value: 0x0
46 ; CHECK-NEXT:     Size: 0
47 ; CHECK-NEXT:     Binding: Local
48 ; CHECK-NEXT:     Type: Section
49 ; CHECK-NEXT:     Other: 0
50 ; CHECK-NEXT:     Section: .llvm_addrsig
51 ; CHECK-NEXT:   }
52 ; CHECK-NEXT:   Symbol {
53 ; CHECK-NEXT:     Name: foo
54 ; CHECK-NEXT:     Value: 0x0
55 ; CHECK-NEXT:     Size: 1
56 ; CHECK-NEXT:     Binding: Global
57 ; CHECK-NEXT:     Type: Function
58 ; CHECK-NEXT:     Other: 0
59 ; CHECK-NEXT:     Section: .text.foo
60 ; CHECK-NEXT:   }
61 ; CHECK-NEXT: ]
63 target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
64 target triple = "x86_64-unknown-linux-gnu"
66 define void @foo() {
67   call void @bar()
68   ret void
71 define internal void @bar() {
72   ret void
75 declare i32 @baz(...)