summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/SampleProfile/syntax.ll
diff options
context:
space:
mode:
authorDiego Novillo <dnovillo@google.com>2014-03-10 22:41:28 +0000
committerDiego Novillo <dnovillo@google.com>2014-03-10 22:41:28 +0000
commit92aa8c220af260b5f4792f059549cb0ce7ef0a4d (patch)
tree58390dbcdc6802f6ccca300528d909a7645890ef /llvm/test/Transforms/SampleProfile/syntax.ll
parentfe50df69838420c6b9f04d7438e4c95a203c5a25 (diff)
downloadbcm5719-llvm-92aa8c220af260b5f4792f059549cb0ce7ef0a4d.tar.gz
bcm5719-llvm-92aa8c220af260b5f4792f059549cb0ce7ef0a4d.zip
Use discriminator information in sample profiles.
Summary: When the sample profiles include discriminator information, use the discriminator values to distinguish instruction weights in different basic blocks. This modifies the BodySamples mapping to map <line, discriminator> pairs to weights. Instructions on the same line but different blocks, will use different discriminator values. This, in turn, means that the blocks may have different weights. Other changes in this patch: - Add tests for positive values of line offset, discriminator and samples. - Change data types from uint32_t to unsigned and int and do additional validation. Reviewers: chandlerc CC: llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D2857 llvm-svn: 203508
Diffstat (limited to 'llvm/test/Transforms/SampleProfile/syntax.ll')
-rw-r--r--llvm/test/Transforms/SampleProfile/syntax.ll6
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/test/Transforms/SampleProfile/syntax.ll b/llvm/test/Transforms/SampleProfile/syntax.ll
index c9caafad1a1..60b9dac88cd 100644
--- a/llvm/test/Transforms/SampleProfile/syntax.ll
+++ b/llvm/test/Transforms/SampleProfile/syntax.ll
@@ -2,6 +2,9 @@
; RUN: not opt < %s -sample-profile -sample-profile-file=missing.prof 2>&1 | FileCheck -check-prefix=MISSING-FILE %s
; RUN: not opt < %s -sample-profile -sample-profile-file=%S/Inputs/bad_fn_header.prof 2>&1 | FileCheck -check-prefix=BAD-FN-HEADER %s
; RUN: not opt < %s -sample-profile -sample-profile-file=%S/Inputs/bad_sample_line.prof 2>&1 | FileCheck -check-prefix=BAD-SAMPLE-LINE %s
+; RUN: not opt < %s -sample-profile -sample-profile-file=%S/Inputs/bad_line_values.prof 2>&1 | FileCheck -check-prefix=BAD-LINE-VALUES %s
+; RUN: not opt < %s -sample-profile -sample-profile-file=%S/Inputs/bad_discriminator_value.prof 2>&1 | FileCheck -check-prefix=BAD-DISCRIMINATOR-VALUE %s
+; RUN: not opt < %s -sample-profile -sample-profile-file=%S/Inputs/bad_samples.prof 2>&1 | FileCheck -check-prefix=BAD-SAMPLES %s
define void @empty() {
entry:
@@ -11,3 +14,6 @@ entry:
; MISSING-FILE: LLVM ERROR: Could not open file missing.prof:
; BAD-FN-HEADER: LLVM ERROR: {{.*}}bad_fn_header.prof:1: Expected 'mangled_name:NUM:NUM', found empty:100:BAD
; BAD-SAMPLE-LINE: LLVM ERROR: {{.*}}bad_sample_line.prof:3: Expected 'NUM[.NUM]: NUM[ mangled_name:NUM]*', found 1: BAD
+; BAD-LINE-VALUES: LLVM ERROR: {{.*}}bad_line_values.prof:2: Expected 'mangled_name:NUM:NUM', found -1: 10
+; BAD-DISCRIMINATOR-VALUE: LLVM ERROR: {{.*}}bad_discriminator_value.prof:2: Expected 'NUM[.NUM]: NUM[ mangled_name:NUM]*', found 1.-3: 10
+; BAD-SAMPLES: LLVM ERROR: {{.*}}bad_samples.prof:2: Expected 'NUM[.NUM]: NUM[ mangled_name:NUM]*', found 1.3: -10
OpenPOWER on IntegriCloud