OSDN Git Service

[llvm-exegesis] Add support for measuring NumMicroOps.
authorClement Courbet <courbet@google.com>
Wed, 26 Sep 2018 11:22:56 +0000 (11:22 +0000)
committerClement Courbet <courbet@google.com>
Wed, 26 Sep 2018 11:22:56 +0000 (11:22 +0000)
commitafbc9614c01883e141392d5d058fb1616acdb988
treeb96a590872fca86f5e5e18dbe27863b1ed3f5d63
parent88c138a88a9b94b6b0b207024597a6fced9862b4
[llvm-exegesis] Add support for measuring NumMicroOps.

Summary:
Example output for vzeroall:

---
mode:            uops
key:
  instructions:
    - 'VZEROALL'
  config:          ''
  register_initial_values:
cpu_name:        haswell
llvm_triple:     x86_64-unknown-linux-gnu
num_repetitions: 10000
measurements:
  - { debug_string: HWPort0, value: 0.0006, per_snippet_value: 0.0006,
      key: '3' }
  - { debug_string: HWPort1, value: 0.0011, per_snippet_value: 0.0011,
      key: '4' }
  - { debug_string: HWPort2, value: 0.0004, per_snippet_value: 0.0004,
      key: '5' }
  - { debug_string: HWPort3, value: 0.0018, per_snippet_value: 0.0018,
      key: '6' }
  - { debug_string: HWPort4, value: 0.0002, per_snippet_value: 0.0002,
      key: '7' }
  - { debug_string: HWPort5, value: 1.0019, per_snippet_value: 1.0019,
      key: '8' }
  - { debug_string: HWPort6, value: 1.0033, per_snippet_value: 1.0033,
      key: '9' }
  - { debug_string: HWPort7, value: 0.0001, per_snippet_value: 0.0001,
      key: '10' }
  - { debug_string: NumMicroOps, value: 20.0069, per_snippet_value: 20.0069,
      key: NumMicroOps }
error:           ''
info:            ''
assembled_snippet: C5FC77C5FC77C5FC77C5FC77C5FC77C5FC77C5FC77C5FC77C5FC77C5FC77C5FC77C5FC77C5FC77C5FC77C5FC77C5FC77C3
...

Reviewers: gchatelet

Subscribers: tschuett, RKSimon, andreadb, llvm-commits

Differential Revision: https://reviews.llvm.org/D52539

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@343094 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/MC/MCSchedule.h
include/llvm/Target/TargetSchedule.td
lib/Target/X86/X86PfmCounters.td
tools/llvm-exegesis/lib/BenchmarkResult.h
tools/llvm-exegesis/lib/Latency.cpp
tools/llvm-exegesis/lib/Uops.cpp
utils/TableGen/CodeGenSchedule.cpp
utils/TableGen/CodeGenSchedule.h
utils/TableGen/SubtargetEmitter.cpp