| # RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -t -sd -elf-cg-profile | FileCheck %s | |
| .section .test,"aw",@progbits | |
| a: .word b | |
| .cg_profile a, b, 32 | |
| .cg_profile freq, a, 11 | |
| .cg_profile late, late2, 20 | |
| .cg_profile .L.local, b, 42 | |
| .globl late | |
| late: | |
| late2: .word 0 | |
| late3: | |
| .L.local: | |
| # CHECK: Name: .llvm.call-graph-profile | |
| # CHECK-NEXT: Type: SHT_LLVM_CALL_GRAPH_PROFILE (0x6FFF4C02) | |
| # CHECK-NEXT: Flags [ (0x80000000) | |
| # CHECK-NEXT: SHF_EXCLUDE (0x80000000) | |
| # CHECK-NEXT: ] | |
| # CHECK-NEXT: Address: | |
| # CHECK-NEXT: Offset: | |
| # CHECK-NEXT: Size: 64 | |
| # CHECK-NEXT: Link: 6 | |
| # CHECK-NEXT: Info: 0 | |
| # CHECK-NEXT: AddressAlignment: 1 | |
| # CHECK-NEXT: EntrySize: 16 | |
| # CHECK-NEXT: SectionData ( | |
| # CHECK-NEXT: 0000: 01000000 05000000 20000000 00000000 | |
| # CHECK-NEXT: 0010: 06000000 01000000 0B000000 00000000 | |
| # CHECK-NEXT: 0020: 07000000 02000000 14000000 00000000 | |
| # CHECK-NEXT: 0030: 04000000 05000000 2A000000 00000000 | |
| # CHECK-NEXT: ) | |
| # CHECK: Symbols [ | |
| # CHECK: Name: a | |
| # CHECK-NEXT: Value: | |
| # CHECK-NEXT: Size: | |
| # CHECK-NEXT: Binding: Local | |
| # CHECK-NEXT: Type: | |
| # CHECK-NEXT: Other: | |
| # CHECK-NEXT: Section: .test | |
| # CHECK: Name: late2 | |
| # CHECK-NEXT: Value: | |
| # CHECK-NEXT: Size: | |
| # CHECK-NEXT: Binding: Local | |
| # CHECK-NEXT: Type: | |
| # CHECK-NEXT: Other: | |
| # CHECK-NEXT: Section: .test | |
| # CHECK: Name: late3 | |
| # CHECK-NEXT: Value: | |
| # CHECK-NEXT: Size: | |
| # CHECK-NEXT: Binding: Local | |
| # CHECK-NEXT: Type: | |
| # CHECK-NEXT: Other: | |
| # CHECK-NEXT: Section: .test | |
| # CHECK: Name: b | |
| # CHECK-NEXT: Value: | |
| # CHECK-NEXT: Size: | |
| # CHECK-NEXT: Binding: Global | |
| # CHECK-NEXT: Type: | |
| # CHECK-NEXT: Other: | |
| # CHECK-NEXT: Section: Undefined | |
| # CHECK: Name: freq | |
| # CHECK-NEXT: Value: | |
| # CHECK-NEXT: Size: | |
| # CHECK-NEXT: Binding: Weak | |
| # CHECK-NEXT: Type: | |
| # CHECK-NEXT: Other: | |
| # CHECK-NEXT: Section: Undefined | |
| # CHECK: Name: late | |
| # CHECK-NEXT: Value: | |
| # CHECK-NEXT: Size: | |
| # CHECK-NEXT: Binding: Global | |
| # CHECK-NEXT: Type: | |
| # CHECK-NEXT: Other: | |
| # CHECK-NEXT: Section: .test | |
| # CHECK: CGProfile [ | |
| # CHECK-NEXT: CGProfileEntry { | |
| # CHECK-NEXT: From: a | |
| # CHECK-NEXT: To: b | |
| # CHECK-NEXT: Weight: 32 | |
| # CHECK-NEXT: } | |
| # CHECK-NEXT: CGProfileEntry { | |
| # CHECK-NEXT: From: freq | |
| # CHECK-NEXT: To: a | |
| # CHECK-NEXT: Weight: 11 | |
| # CHECK-NEXT: } | |
| # CHECK-NEXT: CGProfileEntry { | |
| # CHECK-NEXT: From: late | |
| # CHECK-NEXT: To: late2 | |
| # CHECK-NEXT: Weight: 20 | |
| # CHECK-NEXT: } | |
| # CHECK-NEXT: CGProfileEntry { | |
| # CHECK-NEXT: From: | |
| # CHECK-NEXT: To: b | |
| # CHECK-NEXT: Weight: 42 | |
| # CHECK-NEXT: } | |
| # CHECK-NEXT: ] |