]> granicus.if.org Git - llvm/commit
[MCA] Show aggregate over Average Wait times for the whole snippet (PR43219)
authorRoman Lebedev <lebedev.ri@gmail.com>
Thu, 10 Oct 2019 14:46:21 +0000 (14:46 +0000)
committerRoman Lebedev <lebedev.ri@gmail.com>
Thu, 10 Oct 2019 14:46:21 +0000 (14:46 +0000)
commit84f8a5f06c38e156b3668f19b589290ffb901f27
tree445366570fa1079a77c22be499cfa9d8a80cb5a5
parent856e3fe4fff46dc9a57e2fc886dec6881c35b4ea
[MCA] Show aggregate over Average Wait times for the whole snippet (PR43219)

Summary:
As disscused in https://bugs.llvm.org/show_bug.cgi?id=43219,
i believe it may be somewhat useful to show //some// aggregates
over all the sea of statistics provided.

Example:
```
Average Wait times (based on the timeline view):
[0]: Executions
[1]: Average time spent waiting in a scheduler's queue
[2]: Average time spent waiting in a scheduler's queue while ready
[3]: Average time elapsed from WB until retire stage

      [0]    [1]    [2]    [3]
0.     3     1.0    1.0    4.7       vmulps     %xmm0, %xmm1, %xmm2
1.     3     2.7    0.0    2.3       vhaddps    %xmm2, %xmm2, %xmm3
2.     3     6.0    0.0    0.0       vhaddps    %xmm3, %xmm3, %xmm4
       3     3.2    0.3    2.3       <total>
```
I.e. we average the averages.

Reviewers: andreadb, mattd, RKSimon

Reviewed By: andreadb

Subscribers: gbedwell, arphaman, llvm-commits

Tags: #llvm

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@374361 91177308-0d34-0410-b5e6-96231b3b80d8
153 files changed:
docs/CommandGuide/llvm-mca.rst
test/tools/llvm-mca/ARM/memcpy-ldm-stm.s
test/tools/llvm-mca/ARM/vld1-index-update.s
test/tools/llvm-mca/SystemZ/stm-lm.s
test/tools/llvm-mca/X86/Barcelona/clear-super-register-1.s
test/tools/llvm-mca/X86/Barcelona/clear-super-register-2.s
test/tools/llvm-mca/X86/Barcelona/dependency-breaking-cmp.s
test/tools/llvm-mca/X86/Barcelona/dependency-breaking-pcmpeq.s
test/tools/llvm-mca/X86/Barcelona/dependency-breaking-pcmpgt.s
test/tools/llvm-mca/X86/Barcelona/dependency-breaking-sbb-1.s
test/tools/llvm-mca/X86/Barcelona/dependency-breaking-sbb-2.s
test/tools/llvm-mca/X86/Barcelona/int-to-fpu-forwarding-3.s
test/tools/llvm-mca/X86/Barcelona/load-store-throughput.s
test/tools/llvm-mca/X86/Barcelona/load-throughput.s
test/tools/llvm-mca/X86/Barcelona/one-idioms.s
test/tools/llvm-mca/X86/Barcelona/partial-reg-update-2.s
test/tools/llvm-mca/X86/Barcelona/partial-reg-update-3.s
test/tools/llvm-mca/X86/Barcelona/partial-reg-update-4.s
test/tools/llvm-mca/X86/Barcelona/partial-reg-update-6.s
test/tools/llvm-mca/X86/Barcelona/partial-reg-update-7.s
test/tools/llvm-mca/X86/Barcelona/partial-reg-update.s
test/tools/llvm-mca/X86/Barcelona/read-advance-1.s
test/tools/llvm-mca/X86/Barcelona/read-advance-2.s
test/tools/llvm-mca/X86/Barcelona/read-advance-3.s
test/tools/llvm-mca/X86/Barcelona/reg-move-elimination-1.s
test/tools/llvm-mca/X86/Barcelona/reg-move-elimination-2.s
test/tools/llvm-mca/X86/Barcelona/reg-move-elimination-3.s
test/tools/llvm-mca/X86/Barcelona/reg-move-elimination-4.s
test/tools/llvm-mca/X86/Barcelona/reg-move-elimination-5.s
test/tools/llvm-mca/X86/Barcelona/reg-move-elimination-6.s
test/tools/llvm-mca/X86/Barcelona/store-throughput.s
test/tools/llvm-mca/X86/Barcelona/zero-idioms.s
test/tools/llvm-mca/X86/BdVer2/add-sequence.s
test/tools/llvm-mca/X86/BdVer2/clear-super-register-1.s
test/tools/llvm-mca/X86/BdVer2/clear-super-register-2.s
test/tools/llvm-mca/X86/BdVer2/clear-super-register-3.s
test/tools/llvm-mca/X86/BdVer2/dependency-breaking-cmp.s
test/tools/llvm-mca/X86/BdVer2/dependency-breaking-pcmpeq.s
test/tools/llvm-mca/X86/BdVer2/dependency-breaking-pcmpgt.s
test/tools/llvm-mca/X86/BdVer2/dependency-breaking-sbb-1.s
test/tools/llvm-mca/X86/BdVer2/dependency-breaking-sbb-2.s
test/tools/llvm-mca/X86/BdVer2/dependent-pmuld-paddd.s
test/tools/llvm-mca/X86/BdVer2/dot-product.s
test/tools/llvm-mca/X86/BdVer2/hadd-read-after-ld-1.s
test/tools/llvm-mca/X86/BdVer2/hadd-read-after-ld-2.s
test/tools/llvm-mca/X86/BdVer2/int-to-fpu-forwarding-3.s
test/tools/llvm-mca/X86/BdVer2/load-store-alias.s
test/tools/llvm-mca/X86/BdVer2/load-store-throughput.s
test/tools/llvm-mca/X86/BdVer2/load-throughput.s
test/tools/llvm-mca/X86/BdVer2/memcpy-like-test.s
test/tools/llvm-mca/X86/BdVer2/one-idioms.s
test/tools/llvm-mca/X86/BdVer2/partial-reg-update-2.s
test/tools/llvm-mca/X86/BdVer2/partial-reg-update-3.s
test/tools/llvm-mca/X86/BdVer2/partial-reg-update-4.s
test/tools/llvm-mca/X86/BdVer2/partial-reg-update-6.s
test/tools/llvm-mca/X86/BdVer2/partial-reg-update.s
test/tools/llvm-mca/X86/BdVer2/pipes-fpu.s
test/tools/llvm-mca/X86/BdVer2/pr37790.s
test/tools/llvm-mca/X86/BdVer2/rank.s
test/tools/llvm-mca/X86/BdVer2/read-advance-1.s
test/tools/llvm-mca/X86/BdVer2/read-advance-2.s
test/tools/llvm-mca/X86/BdVer2/read-advance-3.s
test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-1.s
test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-2.s
test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-3.s
test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-4.s
test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-5.s
test/tools/llvm-mca/X86/BdVer2/register-files-1.s
test/tools/llvm-mca/X86/BdVer2/register-files-2.s
test/tools/llvm-mca/X86/BdVer2/register-files-5.s
test/tools/llvm-mca/X86/BdVer2/store-throughput.s
test/tools/llvm-mca/X86/BdVer2/vbroadcast-operand-latency.s
test/tools/llvm-mca/X86/BdVer2/vec-logic-read-after-ld-1.s
test/tools/llvm-mca/X86/BdVer2/vec-logic-read-after-ld-2.s
test/tools/llvm-mca/X86/BdVer2/xop-super-registers-1.s
test/tools/llvm-mca/X86/BdVer2/xop-super-registers-2.s
test/tools/llvm-mca/X86/BdVer2/zero-idioms-avx-256.s
test/tools/llvm-mca/X86/BdVer2/zero-idioms.s
test/tools/llvm-mca/X86/Broadwell/zero-idioms.s
test/tools/llvm-mca/X86/BtVer2/add-sequence.s
test/tools/llvm-mca/X86/BtVer2/bottleneck-hints-1.s
test/tools/llvm-mca/X86/BtVer2/bottleneck-hints-3.s
test/tools/llvm-mca/X86/BtVer2/clear-super-register-1.s
test/tools/llvm-mca/X86/BtVer2/clear-super-register-2.s
test/tools/llvm-mca/X86/BtVer2/cmpxchg-read-advance.s
test/tools/llvm-mca/X86/BtVer2/dependency-breaking-cmp.s
test/tools/llvm-mca/X86/BtVer2/dependency-breaking-pcmpeq.s
test/tools/llvm-mca/X86/BtVer2/dependency-breaking-pcmpgt.s
test/tools/llvm-mca/X86/BtVer2/dependency-breaking-sbb-1.s
test/tools/llvm-mca/X86/BtVer2/dependency-breaking-sbb-2.s
test/tools/llvm-mca/X86/BtVer2/dependent-pmuld-paddd.s
test/tools/llvm-mca/X86/BtVer2/dot-product.s
test/tools/llvm-mca/X86/BtVer2/hadd-read-after-ld-1.s
test/tools/llvm-mca/X86/BtVer2/hadd-read-after-ld-2.s
test/tools/llvm-mca/X86/BtVer2/int-to-fpu-forwarding-3.s
test/tools/llvm-mca/X86/BtVer2/load-store-alias.s
test/tools/llvm-mca/X86/BtVer2/memcpy-like-test.s
test/tools/llvm-mca/X86/BtVer2/one-idioms.s
test/tools/llvm-mca/X86/BtVer2/partial-reg-update-2.s
test/tools/llvm-mca/X86/BtVer2/partial-reg-update-3.s
test/tools/llvm-mca/X86/BtVer2/partial-reg-update-4.s
test/tools/llvm-mca/X86/BtVer2/partial-reg-update-6.s
test/tools/llvm-mca/X86/BtVer2/partial-reg-update-7.s
test/tools/llvm-mca/X86/BtVer2/partial-reg-update.s
test/tools/llvm-mca/X86/BtVer2/pipes-fpu.s
test/tools/llvm-mca/X86/BtVer2/pr37790.s
test/tools/llvm-mca/X86/BtVer2/rank.s
test/tools/llvm-mca/X86/BtVer2/read-advance-1.s
test/tools/llvm-mca/X86/BtVer2/read-advance-2.s
test/tools/llvm-mca/X86/BtVer2/read-advance-3.s
test/tools/llvm-mca/X86/BtVer2/reg-move-elimination-1.s
test/tools/llvm-mca/X86/BtVer2/reg-move-elimination-2.s
test/tools/llvm-mca/X86/BtVer2/reg-move-elimination-3.s
test/tools/llvm-mca/X86/BtVer2/reg-move-elimination-4.s
test/tools/llvm-mca/X86/BtVer2/reg-move-elimination-5.s
test/tools/llvm-mca/X86/BtVer2/reg-move-elimination-6.s
test/tools/llvm-mca/X86/BtVer2/register-files-1.s
test/tools/llvm-mca/X86/BtVer2/register-files-2.s
test/tools/llvm-mca/X86/BtVer2/register-files-5.s
test/tools/llvm-mca/X86/BtVer2/vbroadcast-operand-latency.s
test/tools/llvm-mca/X86/BtVer2/vec-logic-read-after-ld-1.s
test/tools/llvm-mca/X86/BtVer2/vec-logic-read-after-ld-2.s
test/tools/llvm-mca/X86/BtVer2/xadd.s
test/tools/llvm-mca/X86/BtVer2/xchg.s
test/tools/llvm-mca/X86/BtVer2/zero-idioms-avx-256.s
test/tools/llvm-mca/X86/BtVer2/zero-idioms.s
test/tools/llvm-mca/X86/Generic/avx512-super-registers-1.s
test/tools/llvm-mca/X86/Generic/avx512-super-registers-2.s
test/tools/llvm-mca/X86/Generic/avx512-super-registers-3.s
test/tools/llvm-mca/X86/Generic/xop-super-registers-1.s
test/tools/llvm-mca/X86/Generic/xop-super-registers-2.s
test/tools/llvm-mca/X86/Haswell/zero-idioms.s
test/tools/llvm-mca/X86/SandyBridge/zero-idioms.s
test/tools/llvm-mca/X86/SkylakeClient/zero-idioms.s
test/tools/llvm-mca/X86/SkylakeServer/zero-idioms.s
test/tools/llvm-mca/X86/Znver1/partial-reg-update-2.s
test/tools/llvm-mca/X86/Znver1/partial-reg-update-3.s
test/tools/llvm-mca/X86/Znver1/partial-reg-update-4.s
test/tools/llvm-mca/X86/Znver1/partial-reg-update-6.s
test/tools/llvm-mca/X86/Znver1/partial-reg-update-7.s
test/tools/llvm-mca/X86/Znver1/partial-reg-update.s
test/tools/llvm-mca/X86/bextr-read-after-ld.s
test/tools/llvm-mca/X86/bzhi-read-after-ld.s
test/tools/llvm-mca/X86/fma3-read-after-ld-1.s
test/tools/llvm-mca/X86/fma3-read-after-ld-2.s
test/tools/llvm-mca/X86/read-after-ld-1.s
test/tools/llvm-mca/X86/read-after-ld-2.s
test/tools/llvm-mca/X86/read-after-ld-3.s
test/tools/llvm-mca/X86/sqrt-rsqrt-rcp-memop.s
test/tools/llvm-mca/X86/variable-blend-read-after-ld-1.s
test/tools/llvm-mca/X86/variable-blend-read-after-ld-2.s
tools/llvm-mca/Views/TimelineView.cpp
tools/llvm-mca/Views/TimelineView.h