summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorWei Mi <wmi@google.com>2018-09-06 22:03:37 +0000
committerWei Mi <wmi@google.com>2018-09-06 22:03:37 +0000
commit94d44c97bcffbf157b05a45c2f0e56302db9a03c (patch)
tree4d7274c699daa90d327ad6709ec3250865917133 /llvm/test
parenta0a738b1840fa690a13937774a1a1e994cf58c4f (diff)
downloadbcm5719-llvm-94d44c97bcffbf157b05a45c2f0e56302db9a03c.tar.gz
bcm5719-llvm-94d44c97bcffbf157b05a45c2f0e56302db9a03c.zip
[SampleFDO] Make sample profile loader unaware of compact format change.
The patch tries to make sample profile loader independent of profile format change. It moves compact format related code into FunctionSamples and SampleProfileReader classes, and sample profile loader only has to interact with those two classes and will be unaware of profile format changes. The cleanup also contain some fixes to further remove the difference between compactbinary format and binary format. After the cleanup using different formats originated from the same profile will generate the same binaries, which we verified by compiling two large server benchmarks w/wo thinlto. Differential Revision: https://reviews.llvm.org/D51643 llvm-svn: 341591
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/Transforms/SampleProfile/Inputs/function_metadata.compact.afdobin0 -> 280 bytes
-rw-r--r--llvm/test/Transforms/SampleProfile/Inputs/function_metadata.prof10
-rw-r--r--llvm/test/Transforms/SampleProfile/Inputs/indirect-call.compact.afdobin0 -> 497 bytes
-rw-r--r--llvm/test/Transforms/SampleProfile/function_metadata.ll1
-rw-r--r--llvm/test/Transforms/SampleProfile/indirect-call.ll1
5 files changed, 9 insertions, 3 deletions
diff --git a/llvm/test/Transforms/SampleProfile/Inputs/function_metadata.compact.afdo b/llvm/test/Transforms/SampleProfile/Inputs/function_metadata.compact.afdo
new file mode 100644
index 00000000000..16d7d008301
--- /dev/null
+++ b/llvm/test/Transforms/SampleProfile/Inputs/function_metadata.compact.afdo
Binary files differ
diff --git a/llvm/test/Transforms/SampleProfile/Inputs/function_metadata.prof b/llvm/test/Transforms/SampleProfile/Inputs/function_metadata.prof
index 239b5014b36..621bed722b7 100644
--- a/llvm/test/Transforms/SampleProfile/Inputs/function_metadata.prof
+++ b/llvm/test/Transforms/SampleProfile/Inputs/function_metadata.prof
@@ -1,13 +1,17 @@
-test:10000:0
+test:3200:0
+ 1: 100
2: 100
- 3: 100
3: foo:1000
+ 1: 800
3: bar:200
+ 2: 190
4: baz:10
+ 2: 10
4: foo1:1000
1: 1000
4: foo2:1000
1: 1000 foo3:1000
-test_liveness:10000:0
+test_liveness:1000:0
1: foo:1000
1: foo_available:1000
+ 2: 1000
diff --git a/llvm/test/Transforms/SampleProfile/Inputs/indirect-call.compact.afdo b/llvm/test/Transforms/SampleProfile/Inputs/indirect-call.compact.afdo
new file mode 100644
index 00000000000..b43ac6fcd60
--- /dev/null
+++ b/llvm/test/Transforms/SampleProfile/Inputs/indirect-call.compact.afdo
Binary files differ
diff --git a/llvm/test/Transforms/SampleProfile/function_metadata.ll b/llvm/test/Transforms/SampleProfile/function_metadata.ll
index 18363514711..dca6660415e 100644
--- a/llvm/test/Transforms/SampleProfile/function_metadata.ll
+++ b/llvm/test/Transforms/SampleProfile/function_metadata.ll
@@ -1,4 +1,5 @@
; RUN: opt < %s -passes='thinlto-pre-link<O2>' -pgo-kind=new-pm-pgo-sample-use-pipeline -profile-file=%S/Inputs/function_metadata.prof -S | FileCheck %s
+; RUN: opt < %s -passes='thinlto-pre-link<O2>' -pgo-kind=new-pm-pgo-sample-use-pipeline -profile-file=%S/Inputs/function_metadata.compact.afdo -S | FileCheck %s
; Tests whether the functions in the inline stack are added to the
; function_entry_count metadata.
diff --git a/llvm/test/Transforms/SampleProfile/indirect-call.ll b/llvm/test/Transforms/SampleProfile/indirect-call.ll
index 0c00639e6c0..95d0c473ae7 100644
--- a/llvm/test/Transforms/SampleProfile/indirect-call.ll
+++ b/llvm/test/Transforms/SampleProfile/indirect-call.ll
@@ -1,4 +1,5 @@
; RUN: opt < %s -sample-profile -sample-profile-file=%S/Inputs/indirect-call.prof -S | FileCheck %s
+; RUN: opt < %s -sample-profile -sample-profile-file=%S/Inputs/indirect-call.compact.afdo -S | FileCheck %s
; CHECK-LABEL: @test
define void @test(void ()*) !dbg !3 {
OpenPOWER on IntegriCloud