[PATCH] D68714: [MCA] Show aggregate over Average Wait times for the whole snippet (PR43219)

Roman Lebedev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Oct 9 09:40:58 PDT 2019


lebedev.ri created this revision.
lebedev.ri added reviewers: andreadb, mattd, RKSimon.
lebedev.ri added a project: LLVM.
Herald added subscribers: arphaman, gbedwell.

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.
FIXME: coloring for that row is wrong, and i'm not sure how to fix it.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D68714

Files:
  llvm/docs/CommandGuide/llvm-mca.rst
  llvm/test/tools/llvm-mca/AArch64/Cortex/direct-branch.s
  llvm/test/tools/llvm-mca/ARM/memcpy-ldm-stm.s
  llvm/test/tools/llvm-mca/ARM/vld1-index-update.s
  llvm/test/tools/llvm-mca/SystemZ/stm-lm.s
  llvm/test/tools/llvm-mca/X86/Barcelona/clear-super-register-1.s
  llvm/test/tools/llvm-mca/X86/Barcelona/clear-super-register-2.s
  llvm/test/tools/llvm-mca/X86/Barcelona/dependency-breaking-cmp.s
  llvm/test/tools/llvm-mca/X86/Barcelona/dependency-breaking-pcmpeq.s
  llvm/test/tools/llvm-mca/X86/Barcelona/dependency-breaking-pcmpgt.s
  llvm/test/tools/llvm-mca/X86/Barcelona/dependency-breaking-sbb-1.s
  llvm/test/tools/llvm-mca/X86/Barcelona/dependency-breaking-sbb-2.s
  llvm/test/tools/llvm-mca/X86/Barcelona/int-to-fpu-forwarding-3.s
  llvm/test/tools/llvm-mca/X86/Barcelona/load-store-throughput.s
  llvm/test/tools/llvm-mca/X86/Barcelona/load-throughput.s
  llvm/test/tools/llvm-mca/X86/Barcelona/one-idioms.s
  llvm/test/tools/llvm-mca/X86/Barcelona/partial-reg-update-2.s
  llvm/test/tools/llvm-mca/X86/Barcelona/partial-reg-update-3.s
  llvm/test/tools/llvm-mca/X86/Barcelona/partial-reg-update-4.s
  llvm/test/tools/llvm-mca/X86/Barcelona/partial-reg-update-5.s
  llvm/test/tools/llvm-mca/X86/Barcelona/partial-reg-update-6.s
  llvm/test/tools/llvm-mca/X86/Barcelona/partial-reg-update-7.s
  llvm/test/tools/llvm-mca/X86/Barcelona/partial-reg-update.s
  llvm/test/tools/llvm-mca/X86/Barcelona/read-advance-1.s
  llvm/test/tools/llvm-mca/X86/Barcelona/read-advance-2.s
  llvm/test/tools/llvm-mca/X86/Barcelona/read-advance-3.s
  llvm/test/tools/llvm-mca/X86/Barcelona/reg-move-elimination-1.s
  llvm/test/tools/llvm-mca/X86/Barcelona/reg-move-elimination-2.s
  llvm/test/tools/llvm-mca/X86/Barcelona/reg-move-elimination-3.s
  llvm/test/tools/llvm-mca/X86/Barcelona/reg-move-elimination-4.s
  llvm/test/tools/llvm-mca/X86/Barcelona/reg-move-elimination-5.s
  llvm/test/tools/llvm-mca/X86/Barcelona/reg-move-elimination-6.s
  llvm/test/tools/llvm-mca/X86/Barcelona/store-throughput.s
  llvm/test/tools/llvm-mca/X86/Barcelona/zero-idioms.s
  llvm/test/tools/llvm-mca/X86/BdVer2/add-sequence.s
  llvm/test/tools/llvm-mca/X86/BdVer2/clear-super-register-1.s
  llvm/test/tools/llvm-mca/X86/BdVer2/clear-super-register-2.s
  llvm/test/tools/llvm-mca/X86/BdVer2/clear-super-register-3.s
  llvm/test/tools/llvm-mca/X86/BdVer2/dependency-breaking-cmp.s
  llvm/test/tools/llvm-mca/X86/BdVer2/dependency-breaking-pcmpeq.s
  llvm/test/tools/llvm-mca/X86/BdVer2/dependency-breaking-pcmpgt.s
  llvm/test/tools/llvm-mca/X86/BdVer2/dependency-breaking-sbb-1.s
  llvm/test/tools/llvm-mca/X86/BdVer2/dependency-breaking-sbb-2.s
  llvm/test/tools/llvm-mca/X86/BdVer2/dependent-pmuld-paddd.s
  llvm/test/tools/llvm-mca/X86/BdVer2/dot-product.s
  llvm/test/tools/llvm-mca/X86/BdVer2/hadd-read-after-ld-1.s
  llvm/test/tools/llvm-mca/X86/BdVer2/hadd-read-after-ld-2.s
  llvm/test/tools/llvm-mca/X86/BdVer2/int-to-fpu-forwarding-3.s
  llvm/test/tools/llvm-mca/X86/BdVer2/load-store-alias.s
  llvm/test/tools/llvm-mca/X86/BdVer2/load-store-throughput.s
  llvm/test/tools/llvm-mca/X86/BdVer2/load-throughput.s
  llvm/test/tools/llvm-mca/X86/BdVer2/memcpy-like-test.s
  llvm/test/tools/llvm-mca/X86/BdVer2/one-idioms.s
  llvm/test/tools/llvm-mca/X86/BdVer2/partial-reg-update-2.s
  llvm/test/tools/llvm-mca/X86/BdVer2/partial-reg-update-3.s
  llvm/test/tools/llvm-mca/X86/BdVer2/partial-reg-update-4.s
  llvm/test/tools/llvm-mca/X86/BdVer2/partial-reg-update-5.s
  llvm/test/tools/llvm-mca/X86/BdVer2/partial-reg-update-6.s
  llvm/test/tools/llvm-mca/X86/BdVer2/partial-reg-update.s
  llvm/test/tools/llvm-mca/X86/BdVer2/pipes-fpu.s
  llvm/test/tools/llvm-mca/X86/BdVer2/pr37790.s
  llvm/test/tools/llvm-mca/X86/BdVer2/rank.s
  llvm/test/tools/llvm-mca/X86/BdVer2/read-advance-1.s
  llvm/test/tools/llvm-mca/X86/BdVer2/read-advance-2.s
  llvm/test/tools/llvm-mca/X86/BdVer2/read-advance-3.s
  llvm/test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-1.s
  llvm/test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-2.s
  llvm/test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-3.s
  llvm/test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-4.s
  llvm/test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-5.s
  llvm/test/tools/llvm-mca/X86/BdVer2/register-files-1.s
  llvm/test/tools/llvm-mca/X86/BdVer2/register-files-2.s
  llvm/test/tools/llvm-mca/X86/BdVer2/register-files-3.s
  llvm/test/tools/llvm-mca/X86/BdVer2/register-files-4.s
  llvm/test/tools/llvm-mca/X86/BdVer2/register-files-5.s
  llvm/test/tools/llvm-mca/X86/BdVer2/store-throughput.s
  llvm/test/tools/llvm-mca/X86/BdVer2/vbroadcast-operand-latency.s
  llvm/test/tools/llvm-mca/X86/BdVer2/vec-logic-read-after-ld-1.s
  llvm/test/tools/llvm-mca/X86/BdVer2/vec-logic-read-after-ld-2.s
  llvm/test/tools/llvm-mca/X86/BdVer2/xop-super-registers-1.s
  llvm/test/tools/llvm-mca/X86/BdVer2/xop-super-registers-2.s
  llvm/test/tools/llvm-mca/X86/BdVer2/zero-idioms-avx-256.s
  llvm/test/tools/llvm-mca/X86/BdVer2/zero-idioms.s
  llvm/test/tools/llvm-mca/X86/Broadwell/zero-idioms.s
  llvm/test/tools/llvm-mca/X86/BtVer2/add-sequence.s
  llvm/test/tools/llvm-mca/X86/BtVer2/bottleneck-hints-1.s
  llvm/test/tools/llvm-mca/X86/BtVer2/bottleneck-hints-2.s
  llvm/test/tools/llvm-mca/X86/BtVer2/bottleneck-hints-3.s
  llvm/test/tools/llvm-mca/X86/BtVer2/clear-super-register-1.s
  llvm/test/tools/llvm-mca/X86/BtVer2/clear-super-register-2.s
  llvm/test/tools/llvm-mca/X86/BtVer2/cmpxchg-read-advance.s
  llvm/test/tools/llvm-mca/X86/BtVer2/dependency-breaking-cmp.s
  llvm/test/tools/llvm-mca/X86/BtVer2/dependency-breaking-pcmpeq.s
  llvm/test/tools/llvm-mca/X86/BtVer2/dependency-breaking-pcmpgt.s
  llvm/test/tools/llvm-mca/X86/BtVer2/dependency-breaking-sbb-1.s
  llvm/test/tools/llvm-mca/X86/BtVer2/dependency-breaking-sbb-2.s
  llvm/test/tools/llvm-mca/X86/BtVer2/dependent-pmuld-paddd.s
  llvm/test/tools/llvm-mca/X86/BtVer2/dot-product.s
  llvm/test/tools/llvm-mca/X86/BtVer2/hadd-read-after-ld-1.s
  llvm/test/tools/llvm-mca/X86/BtVer2/hadd-read-after-ld-2.s
  llvm/test/tools/llvm-mca/X86/BtVer2/int-to-fpu-forwarding-3.s
  llvm/test/tools/llvm-mca/X86/BtVer2/load-store-alias.s
  llvm/test/tools/llvm-mca/X86/BtVer2/memcpy-like-test.s
  llvm/test/tools/llvm-mca/X86/BtVer2/one-idioms.s
  llvm/test/tools/llvm-mca/X86/BtVer2/partial-reg-update-2.s
  llvm/test/tools/llvm-mca/X86/BtVer2/partial-reg-update-3.s
  llvm/test/tools/llvm-mca/X86/BtVer2/partial-reg-update-4.s
  llvm/test/tools/llvm-mca/X86/BtVer2/partial-reg-update-5.s
  llvm/test/tools/llvm-mca/X86/BtVer2/partial-reg-update-6.s
  llvm/test/tools/llvm-mca/X86/BtVer2/partial-reg-update-7.s
  llvm/test/tools/llvm-mca/X86/BtVer2/partial-reg-update.s
  llvm/test/tools/llvm-mca/X86/BtVer2/pipes-fpu.s
  llvm/test/tools/llvm-mca/X86/BtVer2/pr37790.s
  llvm/test/tools/llvm-mca/X86/BtVer2/rank.s
  llvm/test/tools/llvm-mca/X86/BtVer2/read-advance-1.s
  llvm/test/tools/llvm-mca/X86/BtVer2/read-advance-2.s
  llvm/test/tools/llvm-mca/X86/BtVer2/read-advance-3.s
  llvm/test/tools/llvm-mca/X86/BtVer2/reg-move-elimination-1.s
  llvm/test/tools/llvm-mca/X86/BtVer2/reg-move-elimination-2.s
  llvm/test/tools/llvm-mca/X86/BtVer2/reg-move-elimination-3.s
  llvm/test/tools/llvm-mca/X86/BtVer2/reg-move-elimination-4.s
  llvm/test/tools/llvm-mca/X86/BtVer2/reg-move-elimination-5.s
  llvm/test/tools/llvm-mca/X86/BtVer2/reg-move-elimination-6.s
  llvm/test/tools/llvm-mca/X86/BtVer2/register-files-1.s
  llvm/test/tools/llvm-mca/X86/BtVer2/register-files-2.s
  llvm/test/tools/llvm-mca/X86/BtVer2/register-files-3.s
  llvm/test/tools/llvm-mca/X86/BtVer2/register-files-4.s
  llvm/test/tools/llvm-mca/X86/BtVer2/register-files-5.s
  llvm/test/tools/llvm-mca/X86/BtVer2/vbroadcast-operand-latency.s
  llvm/test/tools/llvm-mca/X86/BtVer2/vec-logic-read-after-ld-1.s
  llvm/test/tools/llvm-mca/X86/BtVer2/vec-logic-read-after-ld-2.s
  llvm/test/tools/llvm-mca/X86/BtVer2/xadd.s
  llvm/test/tools/llvm-mca/X86/BtVer2/xchg.s
  llvm/test/tools/llvm-mca/X86/BtVer2/zero-idioms-avx-256.s
  llvm/test/tools/llvm-mca/X86/BtVer2/zero-idioms.s
  llvm/test/tools/llvm-mca/X86/Generic/avx512-super-registers-1.s
  llvm/test/tools/llvm-mca/X86/Generic/avx512-super-registers-2.s
  llvm/test/tools/llvm-mca/X86/Generic/avx512-super-registers-3.s
  llvm/test/tools/llvm-mca/X86/Generic/xop-super-registers-1.s
  llvm/test/tools/llvm-mca/X86/Generic/xop-super-registers-2.s
  llvm/test/tools/llvm-mca/X86/Haswell/cmpxchg16b.s
  llvm/test/tools/llvm-mca/X86/Haswell/zero-idioms.s
  llvm/test/tools/llvm-mca/X86/SandyBridge/zero-idioms.s
  llvm/test/tools/llvm-mca/X86/SkylakeClient/zero-idioms.s
  llvm/test/tools/llvm-mca/X86/SkylakeServer/zero-idioms.s
  llvm/test/tools/llvm-mca/X86/Znver1/partial-reg-update-2.s
  llvm/test/tools/llvm-mca/X86/Znver1/partial-reg-update-3.s
  llvm/test/tools/llvm-mca/X86/Znver1/partial-reg-update-4.s
  llvm/test/tools/llvm-mca/X86/Znver1/partial-reg-update-5.s
  llvm/test/tools/llvm-mca/X86/Znver1/partial-reg-update-6.s
  llvm/test/tools/llvm-mca/X86/Znver1/partial-reg-update-7.s
  llvm/test/tools/llvm-mca/X86/Znver1/partial-reg-update.s
  llvm/test/tools/llvm-mca/X86/bextr-read-after-ld.s
  llvm/test/tools/llvm-mca/X86/bzhi-read-after-ld.s
  llvm/test/tools/llvm-mca/X86/fma3-read-after-ld-1.s
  llvm/test/tools/llvm-mca/X86/fma3-read-after-ld-2.s
  llvm/test/tools/llvm-mca/X86/option-all-views-1.s
  llvm/test/tools/llvm-mca/X86/option-all-views-2.s
  llvm/test/tools/llvm-mca/X86/option-no-stats-1.s
  llvm/test/tools/llvm-mca/X86/read-after-ld-1.s
  llvm/test/tools/llvm-mca/X86/read-after-ld-2.s
  llvm/test/tools/llvm-mca/X86/read-after-ld-3.s
  llvm/test/tools/llvm-mca/X86/sqrt-rsqrt-rcp-memop.s
  llvm/test/tools/llvm-mca/X86/variable-blend-read-after-ld-1.s
  llvm/test/tools/llvm-mca/X86/variable-blend-read-after-ld-2.s
  llvm/tools/llvm-mca/Views/TimelineView.cpp
  llvm/tools/llvm-mca/Views/TimelineView.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D68714.224084.patch
Type: text/x-patch
Size: 118635 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20191009/91a494ec/attachment-0001.bin>


More information about the llvm-commits mailing list