mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-11-04 05:17:07 +00:00 
			
		
		
		
	Summary: This patch extends the 'show' and 'merge' commands in llvm-profdata to handle sample PGO formats. Using the 'merge' command it is now possible to convert one sample PGO format to another. The only format that is currently not working is 'gcc'. I still need to implement support for it in lib/ProfileData. The changes in the sample profile support classes are needed for the merge operation. Reviewers: bogner Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D6065 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@221032 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			31 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
Basic tests for sample profiles.
 | 
						|
 | 
						|
1- Show all functions
 | 
						|
RUN: llvm-profdata show --sample %p/Inputs/sample-profile.proftext | FileCheck %s --check-prefix=SHOW1
 | 
						|
SHOW1: Function: main: 184019, 0, 7 sampled lines
 | 
						|
SHOW1: line offset: 9, discriminator: 0, number of samples: 2064, calls: _Z3fooi:631 _Z3bari:1471
 | 
						|
SHOW1: Function: _Z3fooi: 7711, 610, 1 sampled lines
 | 
						|
SHOW1: Function: _Z3bari: 20301, 1437, 1 sampled lines
 | 
						|
SHOW1: line offset: 1, discriminator: 0, number of samples: 1437
 | 
						|
 | 
						|
2- Show only bar
 | 
						|
RUN: llvm-profdata show --sample --function=_Z3bari %p/Inputs/sample-profile.proftext | FileCheck %s --check-prefix=SHOW2
 | 
						|
SHOW2: Function: _Z3bari: 20301, 1437, 1 sampled lines
 | 
						|
SHOW2: line offset: 1, discriminator: 0, number of samples: 1437
 | 
						|
SHOW2-NOT: Function: main: 184019, 0, 7 sampled lines
 | 
						|
SHOW2-NOT: Function: _Z3fooi: 7711, 610, 1 sampled lines
 | 
						|
 | 
						|
3- Convert the profile to binary encoding and check that they are both
 | 
						|
   identical.
 | 
						|
RUN: llvm-profdata merge --sample %p/Inputs/sample-profile.proftext --binary -o - | llvm-profdata show --sample - -o %t-binary
 | 
						|
RUN: llvm-profdata show --sample %p/Inputs/sample-profile.proftext -o %t-text
 | 
						|
RUN: diff %t-binary %t-text
 | 
						|
 | 
						|
4- Merge the binary and text encodings of the profile and check that the
 | 
						|
   counters have doubled.
 | 
						|
RUN: llvm-profdata merge --sample %p/Inputs/sample-profile.proftext -o %t-binprof
 | 
						|
RUN: llvm-profdata merge --sample --text %p/Inputs/sample-profile.proftext %t-binprof -o - | FileCheck %s --check-prefix=MERGE1
 | 
						|
MERGE1: main:368038:0
 | 
						|
MERGE1: 9: 4128 _Z3fooi:1262 _Z3bari:2942
 | 
						|
MERGE1: _Z3fooi:15422:1220
 |