[PATCH] D47321: [UpdateTestChecks] Improved update_mca_test_checks block analysis

Greg Bedwell via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu May 24 06:30:58 PDT 2018


gbedwell created this revision.
gbedwell added reviewers: andreadb, RKSimon, MaskRay.
Herald added a reviewer: javed.absar.
Herald added subscribers: javed.absar, kristof.beyls.

Previously update_mca_test_checks worked entirely at "block" level where
a block is some sequence of lines delimited by at least one empty line.
This generally worked well, but could sometimes lead to excessive
repetition of check lines for various prefixes if some block was almost
identical between prefixes, but not quite (for example, due to a
different dispatch width in the otherwise identical summary views).

This new analyis attempts to split blocks further in the case where the
following conditions are met:

  a) There is some prefix common to every RUN line (typically 'ALL').
  b) The first line of the block is common to the output with every prefix.
  c) The block has the same number of lines for the output with every prefix.

Also, regenerated all llvm-mca test files with the following command:
update_mca_test_checks.py "../test/tools/llvm-mca/*/*.s" "../test/tools/llvm-mca/*/*/*.s"

The new analysis showed a "multiple lines not disambiguated by prefixes" warning
for test "AArch64/Exynos/scheduler-queue-usage.s" so I've also added some
explicit prefixes to each of the RUN lines in that test.


https://reviews.llvm.org/D47321

Files:
  test/tools/llvm-mca/AArch64/CortexA57/direct-branch.s
  test/tools/llvm-mca/AArch64/Exynos/direct-branch.s
  test/tools/llvm-mca/AArch64/Exynos/scheduler-queue-usage.s
  test/tools/llvm-mca/AArch64/Falkor/zero-latency-store.s
  test/tools/llvm-mca/ARM/simple-test-cortex-a9.s
  test/tools/llvm-mca/X86/BtVer2/instruction-info-view.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/cpus.s
  test/tools/llvm-mca/X86/default-iterations.s
  test/tools/llvm-mca/X86/dispatch_width.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/intel-syntax.s
  test/tools/llvm-mca/X86/llvm-mca-markers-2.s
  test/tools/llvm-mca/X86/llvm-mca-markers-3.s
  test/tools/llvm-mca/X86/llvm-mca-markers-4.s
  test/tools/llvm-mca/X86/llvm-mca-markers-5.s
  test/tools/llvm-mca/X86/option-all-stats-1.s
  test/tools/llvm-mca/X86/option-all-stats-2.s
  test/tools/llvm-mca/X86/option-all-views-1.s
  test/tools/llvm-mca/X86/option-all-views-2.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
  utils/update_mca_test_checks.py

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D47321.148398.patch
Type: text/x-patch
Size: 86331 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180524/2d7efdc9/attachment.bin>


More information about the llvm-commits mailing list