[all-commits] [llvm/llvm-project] 91f1c5: [NFC][X86] Add few more tests for freezing BUILD_V...

Roman Lebedev via All-commits all-commits at lists.llvm.org
Wed Jan 4 10:16:38 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 91f1c59fcdf5b7b2f023fa05c6fbd75ce0140a50
      https://github.com/llvm/llvm-project/commit/91f1c59fcdf5b7b2f023fa05c6fbd75ce0140a50
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2023-01-04 (Wed, 04 Jan 2023)

  Changed paths:
    M llvm/test/CodeGen/X86/freeze-vector.ll

  Log Message:
  -----------
  [NFC][X86] Add few more tests for freezing BUILD_VECTOR


  Commit: e4b260efb2c8dca3035597d30ffd066ffb77daea
      https://github.com/llvm/llvm-project/commit/e4b260efb2c8dca3035597d30ffd066ffb77daea
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2023-01-04 (Wed, 04 Jan 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/freeze-vector.ll

  Log Message:
  -----------
  [Codegen][X86] `LowerBUILD_VECTOR()`: improve lowering w/ multiple FREEZE-UNDEF ops

While we have great handling for UNDEF operands,
FREEZE-UNDEF operands are effectively normal operands.

We are better off "interleaving" such BUILD_VECTORS into a blend
between a splat of FREEZE-UNDEF, and "thawed" source BUILD_VECTOR,
both of which are more natural for us to handle.

Refs. https://github.com/llvm/llvm-project/commit/f738ab9075f838dd4365adf3a92ca1acced114d7#r95017306


  Commit: 6a67b633b94fcc470628d844f5eaf0ee13c4e884
      https://github.com/llvm/llvm-project/commit/6a67b633b94fcc470628d844f5eaf0ee13c4e884
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2023-01-04 (Wed, 04 Jan 2023)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-exegesis.rst
    A llvm/test/tools/llvm-exegesis/X86/analysis-filter.test
    M llvm/tools/llvm-exegesis/lib/BenchmarkResult.h
    M llvm/tools/llvm-exegesis/llvm-exegesis.cpp

  Log Message:
  -----------
  [exegesis] Analysis: filtering for benchmark results

By default, all benchmark results are analysed, but sometimes it may be useful
to only look at those that to not involve memory, or vice versa. This option
allows to either keep all benchmarks, or filter out (ignore) either all the
ones that do involve memory (involve instructions that may read or write to
memory), or the opposite, to only keep such benchmarks.

Personally, so far i have found the benchmarks that do involve memory
to have dubious results. But the ones that do not involve memory,
are generally actionable. So i would like to have a toggle to declutter results.

Reviewed By: courbet

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


Compare: https://github.com/llvm/llvm-project/compare/c63dced93b46...6a67b633b94f


More information about the All-commits mailing list