1# RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -S --symbols --sd --cg-profile - | FileCheck %s 2 3 .section .test,"aw",@progbits 4a: .word b 5 6 .cg_profile a, b, 32 7 .cg_profile freq, a, 11 8 .cg_profile late, late2, 20 9 .cg_profile .L.local, b, 42 10 11 .globl late 12late: 13late2: .word 0 14late3: 15.L.local: 16 17# CHECK: Name: .llvm.call-graph-profile 18# CHECK-NEXT: Type: SHT_LLVM_CALL_GRAPH_PROFILE (0x6FFF4C09) 19# CHECK-NEXT: Flags [ (0x80000000) 20# CHECK-NEXT: SHF_EXCLUDE (0x80000000) 21# CHECK-NEXT: ] 22# CHECK-NEXT: Address: 23# CHECK-NEXT: Offset: 24# CHECK-NEXT: Size: 32 25# CHECK-NEXT: Link: 7 26# CHECK-NEXT: Info: 0 27# CHECK-NEXT: AddressAlignment: 1 28# CHECK-NEXT: EntrySize: 8 29# CHECK-NEXT: SectionData ( 30# CHECK-NEXT: 0000: 20000000 00000000 0B000000 00000000 31# CHECK-NEXT: 0010: 14000000 00000000 2A000000 00000000 32# CHECK-NEXT: ) 33 34# CHECK: Name: .rel.llvm.call-graph-profile (28) 35# CHECK-NEXT: Type: SHT_REL (0x9) 36# CHECK-NEXT: Flags [ (0x40) 37# CHECK-NEXT: SHF_INFO_LINK 38# CHECK-NEXT: ] 39# CHECK-NEXT: Address: 0x0 40# CHECK-NEXT: Offset: 0x140 41# CHECK-NEXT: Size: 128 42# CHECK-NEXT: Link: 7 43# CHECK-NEXT: Info: 5 44# CHECK-NEXT: AddressAlignment: 8 45# CHECK-NEXT: EntrySize: 16 46# CHECK-NEXT: SectionData ( 47# CHECK-NEXT: 0000: 00000000 00000000 00000000 02000000 48# CHECK-NEXT: 0010: 00000000 00000000 00000000 05000000 49# CHECK-NEXT: 0020: 08000000 00000000 00000000 07000000 50# CHECK-NEXT: 0030: 08000000 00000000 00000000 02000000 51# CHECK-NEXT: 0040: 10000000 00000000 00000000 06000000 52# CHECK-NEXT: 0050: 10000000 00000000 00000000 03000000 53# CHECK-NEXT: 0060: 18000000 00000000 00000000 01000000 54# CHECK-NEXT: 0070: 18000000 00000000 00000000 05000000 55# CHECK-NEXT: ) 56 57# CHECK: Symbols [ 58# CHECK: Name: a 59# CHECK-NEXT: Value: 60# CHECK-NEXT: Size: 61# CHECK-NEXT: Binding: Local 62# CHECK-NEXT: Type: 63# CHECK-NEXT: Other: 64# CHECK-NEXT: Section: .test 65# CHECK: Name: late2 66# CHECK-NEXT: Value: 67# CHECK-NEXT: Size: 68# CHECK-NEXT: Binding: Local 69# CHECK-NEXT: Type: 70# CHECK-NEXT: Other: 71# CHECK-NEXT: Section: .test 72# CHECK: Name: late3 73# CHECK-NEXT: Value: 74# CHECK-NEXT: Size: 75# CHECK-NEXT: Binding: Local 76# CHECK-NEXT: Type: 77# CHECK-NEXT: Other: 78# CHECK-NEXT: Section: .test 79# CHECK: Name: b 80# CHECK-NEXT: Value: 81# CHECK-NEXT: Size: 82# CHECK-NEXT: Binding: Global 83# CHECK-NEXT: Type: 84# CHECK-NEXT: Other: 85# CHECK-NEXT: Section: Undefined 86# CHECK: Name: late 87# CHECK-NEXT: Value: 88# CHECK-NEXT: Size: 89# CHECK-NEXT: Binding: Global 90# CHECK-NEXT: Type: 91# CHECK-NEXT: Other: 92# CHECK-NEXT: Section: .test 93# CHECK: Name: freq 94# CHECK-NEXT: Value: 95# CHECK-NEXT: Size: 96# CHECK-NEXT: Binding: Global 97# CHECK-NEXT: Type: 98# CHECK-NEXT: Other: 99# CHECK-NEXT: Section: Undefined 100# CHECK: CGProfile [ 101# CHECK-NEXT: CGProfileEntry { 102# CHECK-NEXT: From: a 103# CHECK-NEXT: To: b 104# CHECK-NEXT: Weight: 32 105# CHECK-NEXT: } 106# CHECK-NEXT: CGProfileEntry { 107# CHECK-NEXT: From: freq 108# CHECK-NEXT: To: a 109# CHECK-NEXT: Weight: 11 110# CHECK-NEXT: } 111# CHECK-NEXT: CGProfileEntry { 112# CHECK-NEXT: From: late 113# CHECK-NEXT: To: late2 114# CHECK-NEXT: Weight: 20 115# CHECK-NEXT: } 116# CHECK-NEXT: CGProfileEntry { 117# CHECK-NEXT: From: 118# CHECK-NEXT: To: b 119# CHECK-NEXT: Weight: 42 120# CHECK-NEXT: } 121# CHECK-NEXT: ] 122