100 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
			
		
		
	
	
			100 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
| # RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -S --symbols --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: ] |