[DAGCombiner] Add target hook function to decide folding (mul (add x, c1), c2)
[llvm-project.git] / llvm / test / MC / ELF / addrsig.s
blobfb0895a1a3ae8d232607e0311eb8c6f423f4434a
1 // RUN: llvm-mc -filetype=asm -triple x86_64-pc-linux-gnu %s -o - | FileCheck --check-prefix=ASM %s
2 // RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -S --symbols --sd --addrsig - | FileCheck %s
3 // RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -split-dwarf-file %t.dwo -o - | llvm-readobj -S --symbols --sd --addrsig - | FileCheck %s
4 // RUN: llvm-readobj -S %t.dwo | FileCheck --check-prefix=DWO %s
6 // CHECK: Name: .llvm_addrsig
7 // CHECK-NEXT: Type: SHT_LLVM_ADDRSIG (0x6FFF4C03)
8 // CHECK-NEXT: Flags [ (0x80000000)
9 // CHECK-NEXT: SHF_EXCLUDE (0x80000000)
10 // CHECK-NEXT: ]
11 // CHECK-NEXT: Address:
12 // CHECK-NEXT: Offset:
13 // CHECK-NEXT: Size: 4
14 // CHECK-NEXT: Link: 4
15 // CHECK-NEXT: Info: 0
16 // CHECK-NEXT: AddressAlignment: 1
17 // CHECK-NEXT: EntrySize: 0
18 // CHECK-NEXT: SectionData (
19 // CHECK-NEXT: 0000: 03050201
20 // CHECK-NEXT: )
21 // CHECK-NEXT: }
22 // CHECK-NEXT: Section {
23 // CHECK-NEXT: Index: 4
24 // CHECK-NEXT: Name: .symtab
26 // CHECK: Symbol {
27 // CHECK: Symbol {
28 // CHECK-NEXT: Name:
29 // CHECK-NEXT: Value:
30 // CHECK-NEXT: Size:
31 // CHECK-NEXT: Binding:
32 // CHECK-NEXT: Type:
33 // CHECK-NEXT: Other:
34 // CHECK-NEXT: Section: [[SEC:.*]]
35 // CHECK-NEXT: }
36 // CHECK-NEXT: Symbol {
37 // CHECK-NEXT: Name: local
38 // CHECK-NEXT: Value:
39 // CHECK-NEXT: Size:
40 // CHECK-NEXT: Binding:
41 // CHECK-NEXT: Type:
42 // CHECK-NEXT: Other:
43 // CHECK-NEXT: Section: [[SEC]]
44 // CHECK-NEXT: }
45 // CHECK-NEXT: Symbol {
46 // CHECK-NEXT: Name: g1
47 // CHECK-NEXT: Value:
48 // CHECK-NEXT: Size:
49 // CHECK-NEXT: Binding:
50 // CHECK-NEXT: Type:
51 // CHECK-NEXT: Other:
52 // CHECK-NEXT: Section:
53 // CHECK-NEXT: }
54 // CHECK-NEXT: Symbol {
55 // CHECK-NEXT: Name: g2
56 // CHECK-NEXT: Value:
57 // CHECK-NEXT: Size:
58 // CHECK-NEXT: Binding:
59 // CHECK-NEXT: Type:
60 // CHECK-NEXT: Other:
61 // CHECK-NEXT: Section:
62 // CHECK-NEXT: }
63 // CHECK-NEXT: Symbol {
64 // CHECK-NEXT: Name: g3
66 // CHECK: Addrsig [
67 // CHECK-NEXT: Sym: g1 (3)
68 // CHECK-NEXT: Sym: g3 (5)
69 // CHECK-NEXT: Sym: local (2)
70 // CHECK-NEXT: Sym: (1)
71 // CHECK-NEXT: ]
73 // ASM: .addrsig
74 // ASM-NEXT: .addrsig_sym g1
75 .addrsig
76 .addrsig_sym g1
77 .globl g2
78 // ASM: .addrsig_sym g3
79 // ASM-NEXT: .addrsig_sym local
80 // ASM-NEXT: .addrsig_sym .Llocal
81 .addrsig_sym g3
82 .addrsig_sym local
83 .addrsig_sym .Llocal
85 local:
86 .Llocal:
88 // DWO-NOT: .llvm_addrsig