[all-commits] [llvm/llvm-project] 5103ef: [NFC] Port all (but one) LoopUnroll tests to `-pas...

Roman Lebedev via All-commits all-commits at lists.llvm.org
Wed Dec 7 09:16:11 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 5103ef64fe4f60cc0fd518b514c712f4b4c03d98
      https://github.com/llvm/llvm-project/commit/5103ef64fe4f60cc0fd518b514c712f4b4c03d98
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2022-12-07 (Wed, 07 Dec 2022)

  Changed paths:
    M llvm/test/Transforms/LoopUnroll/2004-05-13-DontUnrollTooMuch.ll
    M llvm/test/Transforms/LoopUnroll/2005-03-06-BadLoopInfoUpdate.ll
    M llvm/test/Transforms/LoopUnroll/2006-08-24-MultiBlockLoop.ll
    M llvm/test/Transforms/LoopUnroll/2007-04-16-PhiUpdate.ll
    M llvm/test/Transforms/LoopUnroll/2007-05-05-UnrollMiscomp.ll
    M llvm/test/Transforms/LoopUnroll/2007-05-09-UnknownTripCount.ll
    M llvm/test/Transforms/LoopUnroll/2007-11-05-Crash.ll
    M llvm/test/Transforms/LoopUnroll/2011-08-08-PhiUpdate.ll
    M llvm/test/Transforms/LoopUnroll/2011-08-09-IVSimplify.ll
    M llvm/test/Transforms/LoopUnroll/2011-08-09-PhiUpdate.ll
    M llvm/test/Transforms/LoopUnroll/2011-10-01-NoopTrunc.ll
    M llvm/test/Transforms/LoopUnroll/2012-04-09-unroll-indirectbr.ll
    M llvm/test/Transforms/LoopUnroll/AArch64/falkor-prefetch.ll
    M llvm/test/Transforms/LoopUnroll/AArch64/full-unroll-trip-count-upper-bound.ll
    M llvm/test/Transforms/LoopUnroll/AArch64/large-vector-ops.ll
    M llvm/test/Transforms/LoopUnroll/AArch64/partial.ll
    M llvm/test/Transforms/LoopUnroll/AArch64/runtime-loop.ll
    M llvm/test/Transforms/LoopUnroll/AArch64/thresholdO3-cost-model.ll
    M llvm/test/Transforms/LoopUnroll/AArch64/unroll-optsize.ll
    M llvm/test/Transforms/LoopUnroll/AArch64/unroll-upperbound.ll
    M llvm/test/Transforms/LoopUnroll/AMDGPU/unroll-analyze-small-loops.ll
    M llvm/test/Transforms/LoopUnroll/AMDGPU/unroll-barrier.ll
    M llvm/test/Transforms/LoopUnroll/AMDGPU/unroll-cost-addrspacecast.ll
    M llvm/test/Transforms/LoopUnroll/AMDGPU/unroll-cost-call.ll
    M llvm/test/Transforms/LoopUnroll/AMDGPU/unroll-for-private.ll
    M llvm/test/Transforms/LoopUnroll/AMDGPU/unroll-threshold.ll
    M llvm/test/Transforms/LoopUnroll/ARM/dont-unroll-loopdec.ll
    M llvm/test/Transforms/LoopUnroll/ARM/instr-size-costs.ll
    M llvm/test/Transforms/LoopUnroll/ARM/loop-unrolling.ll
    M llvm/test/Transforms/LoopUnroll/ARM/multi-blocks.ll
    M llvm/test/Transforms/LoopUnroll/ARM/mve-nounroll.ll
    M llvm/test/Transforms/LoopUnroll/ARM/unroll-optsize.ll
    M llvm/test/Transforms/LoopUnroll/ARM/upperbound.ll
    M llvm/test/Transforms/LoopUnroll/ARM/v6munroll.ll
    M llvm/test/Transforms/LoopUnroll/Hexagon/peel-small-loop.ll
    M llvm/test/Transforms/LoopUnroll/PowerPC/a2-high-cost-trip-count-computation.ll
    M llvm/test/Transforms/LoopUnroll/PowerPC/a2-unrolling.ll
    M llvm/test/Transforms/LoopUnroll/PowerPC/p7-unrolling.ll
    M llvm/test/Transforms/LoopUnroll/PowerPC/p8-unrolling-legalize-vectors-inseltpoison.ll
    M llvm/test/Transforms/LoopUnroll/PowerPC/p8-unrolling-legalize-vectors.ll
    M llvm/test/Transforms/LoopUnroll/RISCV/invalid-cost.ll
    M llvm/test/Transforms/LoopUnroll/RISCV/unroll.ll
    M llvm/test/Transforms/LoopUnroll/WebAssembly/basic-unrolling.ll
    M llvm/test/Transforms/LoopUnroll/X86/call-remark.ll
    M llvm/test/Transforms/LoopUnroll/X86/mmx.ll
    M llvm/test/Transforms/LoopUnroll/X86/partial.ll
    M llvm/test/Transforms/LoopUnroll/X86/pr46430-inseltpoison.ll
    M llvm/test/Transforms/LoopUnroll/X86/pr46430.ll
    M llvm/test/Transforms/LoopUnroll/assume-timeout.ll
    M llvm/test/Transforms/LoopUnroll/basic.ll
    M llvm/test/Transforms/LoopUnroll/callbr.ll
    M llvm/test/Transforms/LoopUnroll/complete_unroll_profitability_with_assume.ll
    M llvm/test/Transforms/LoopUnroll/convergent.ll
    M llvm/test/Transforms/LoopUnroll/dce.ll
    M llvm/test/Transforms/LoopUnroll/debug-info.ll
    M llvm/test/Transforms/LoopUnroll/disable_nonforced.ll
    M llvm/test/Transforms/LoopUnroll/disable_nonforced_count.ll
    M llvm/test/Transforms/LoopUnroll/disable_nonforced_enable.ll
    M llvm/test/Transforms/LoopUnroll/disable_nonforced_full.ll
    M llvm/test/Transforms/LoopUnroll/ephemeral.ll
    M llvm/test/Transforms/LoopUnroll/epilog_const_phi.ll
    M llvm/test/Transforms/LoopUnroll/followup.ll
    M llvm/test/Transforms/LoopUnroll/full-unroll-bad-cost.ll
    M llvm/test/Transforms/LoopUnroll/full-unroll-crashers.ll
    M llvm/test/Transforms/LoopUnroll/full-unroll-heuristics-2.ll
    M llvm/test/Transforms/LoopUnroll/full-unroll-heuristics-cmp.ll
    M llvm/test/Transforms/LoopUnroll/full-unroll-heuristics-dce.ll
    M llvm/test/Transforms/LoopUnroll/full-unroll-heuristics-geps.ll
    M llvm/test/Transforms/LoopUnroll/full-unroll-heuristics-phi-prop.ll
    M llvm/test/Transforms/LoopUnroll/full-unroll-heuristics.ll
    M llvm/test/Transforms/LoopUnroll/full-unroll-invariant.ll
    M llvm/test/Transforms/LoopUnroll/full-unroll-keep-first-exit.ll
    M llvm/test/Transforms/LoopUnroll/full-unroll-one-unpredictable-exit.ll
    M llvm/test/Transforms/LoopUnroll/high-cost-trip-count-computation.ll
    M llvm/test/Transforms/LoopUnroll/ignore-annotation-intrinsic-cost.ll
    M llvm/test/Transforms/LoopUnroll/invalidate_right_loop.ll
    M llvm/test/Transforms/LoopUnroll/loop-remarks-with-hotness.ll
    M llvm/test/Transforms/LoopUnroll/loop-remarks.ll
    M llvm/test/Transforms/LoopUnroll/multiple-exits.ll
    M llvm/test/Transforms/LoopUnroll/noalias.ll
    M llvm/test/Transforms/LoopUnroll/nonlatchcondbr.ll
    M llvm/test/Transforms/LoopUnroll/not-rotated.ll
    M llvm/test/Transforms/LoopUnroll/optsize-loop-size.ll
    M llvm/test/Transforms/LoopUnroll/partial-unroll-const-bounds.ll
    M llvm/test/Transforms/LoopUnroll/partial-unroll-dead-instructions.ll
    M llvm/test/Transforms/LoopUnroll/partial-unroll-non-latch-exit.ll
    M llvm/test/Transforms/LoopUnroll/partially-unroll-unconditional-latch.ll
    M llvm/test/Transforms/LoopUnroll/peel-branch-weights.ll
    M llvm/test/Transforms/LoopUnroll/peel-loop-and-unroll.ll
    M llvm/test/Transforms/LoopUnroll/peel-loop-conditions-pgo-1.ll
    M llvm/test/Transforms/LoopUnroll/peel-loop-conditions-pgo-2.ll
    M llvm/test/Transforms/LoopUnroll/peel-loop-conditions.ll
    M llvm/test/Transforms/LoopUnroll/peel-loop-irreducible.ll
    M llvm/test/Transforms/LoopUnroll/peel-loop-negative.ll
    M llvm/test/Transforms/LoopUnroll/peel-loop-nests.ll
    M llvm/test/Transforms/LoopUnroll/peel-loop-noalias-scope-decl.ll
    M llvm/test/Transforms/LoopUnroll/peel-loop-not-forced.ll
    M llvm/test/Transforms/LoopUnroll/peel-loop-pgo-deopt-idom-2.ll
    M llvm/test/Transforms/LoopUnroll/peel-loop-pgo-deopt-idom.ll
    M llvm/test/Transforms/LoopUnroll/peel-loop-pgo-deopt.ll
    M llvm/test/Transforms/LoopUnroll/peel-loop-pgo.ll
    M llvm/test/Transforms/LoopUnroll/peel-loop-scev-invalidate.ll
    M llvm/test/Transforms/LoopUnroll/peel-loop.ll
    M llvm/test/Transforms/LoopUnroll/peel-loop2.ll
    M llvm/test/Transforms/LoopUnroll/peel-multiple-unreachable-exits.ll
    M llvm/test/Transforms/LoopUnroll/peel-to-turn-invariant-accesses-dereferenceable.ll
    M llvm/test/Transforms/LoopUnroll/pr10813.ll
    M llvm/test/Transforms/LoopUnroll/pr11361.ll
    M llvm/test/Transforms/LoopUnroll/pr14167.ll
    M llvm/test/Transforms/LoopUnroll/pr18861.ll
    M llvm/test/Transforms/LoopUnroll/pr27157.ll
    M llvm/test/Transforms/LoopUnroll/pr28132.ll
    M llvm/test/Transforms/LoopUnroll/pr31718.ll
    M llvm/test/Transforms/LoopUnroll/pr33437.ll
    M llvm/test/Transforms/LoopUnroll/pr45939-peel-count-and-complete-unroll.ll
    M llvm/test/Transforms/LoopUnroll/rebuild_lcssa.ll
    M llvm/test/Transforms/LoopUnroll/revert-D110922.ll
    M llvm/test/Transforms/LoopUnroll/runtime-epilog-debuginfo.ll
    M llvm/test/Transforms/LoopUnroll/runtime-li.ll
    M llvm/test/Transforms/LoopUnroll/runtime-loop-at-most-two-exits.ll
    M llvm/test/Transforms/LoopUnroll/runtime-loop-branchweight.ll
    M llvm/test/Transforms/LoopUnroll/runtime-loop-known-exit.ll
    M llvm/test/Transforms/LoopUnroll/runtime-loop-multiexit-dom-verify.ll
    M llvm/test/Transforms/LoopUnroll/runtime-loop-multiple-exits.ll
    M llvm/test/Transforms/LoopUnroll/runtime-loop-non-exiting-latch.ll
    M llvm/test/Transforms/LoopUnroll/runtime-loop.ll
    M llvm/test/Transforms/LoopUnroll/runtime-loop1.ll
    M llvm/test/Transforms/LoopUnroll/runtime-loop2.ll
    M llvm/test/Transforms/LoopUnroll/runtime-loop3.ll
    M llvm/test/Transforms/LoopUnroll/runtime-loop5.ll
    M llvm/test/Transforms/LoopUnroll/runtime-multiexit-heuristic.ll
    M llvm/test/Transforms/LoopUnroll/runtime-small-upperbound.ll
    M llvm/test/Transforms/LoopUnroll/runtime-unroll-assume-no-remainder.ll
    M llvm/test/Transforms/LoopUnroll/runtime-unroll-remainder.ll
    M llvm/test/Transforms/LoopUnroll/scevunroll.ll
    M llvm/test/Transforms/LoopUnroll/shifted-tripcount.ll
    M llvm/test/Transforms/LoopUnroll/tripcount-overflow.ll
    M llvm/test/Transforms/LoopUnroll/unloop.ll
    M llvm/test/Transforms/LoopUnroll/unroll-cleanuppad.ll
    M llvm/test/Transforms/LoopUnroll/unroll-cost-symbolic-execute.ll
    M llvm/test/Transforms/LoopUnroll/unroll-count.ll
    M llvm/test/Transforms/LoopUnroll/unroll-header-exiting-with-phis-multiple-exiting-blocks.ll
    M llvm/test/Transforms/LoopUnroll/unroll-header-exiting-with-phis.ll
    M llvm/test/Transforms/LoopUnroll/unroll-heuristics-pgo.ll
    M llvm/test/Transforms/LoopUnroll/unroll-maxcount.ll
    M llvm/test/Transforms/LoopUnroll/unroll-opt-attribute.ll
    M llvm/test/Transforms/LoopUnroll/unroll-pragmas-disabled.ll
    M llvm/test/Transforms/LoopUnroll/unroll-pragmas.ll
    M llvm/test/Transforms/LoopUnroll/unroll-unconditional-latch.ll
    M llvm/test/Transforms/LoopUnroll/wrong_assert_in_peeling.ll

  Log Message:
  -----------
  [NFC] Port all (but one) LoopUnroll tests to `-passes=` syntax


  Commit: 7a76140220bd2c4730a2c39b6fd645402040f011
      https://github.com/llvm/llvm-project/commit/7a76140220bd2c4730a2c39b6fd645402040f011
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2022-12-07 (Wed, 07 Dec 2022)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-exegesis.rst
    M llvm/test/tools/llvm-exegesis/AArch64/lit.local.cfg
    M llvm/test/tools/llvm-exegesis/Mips/lit.local.cfg
    M llvm/test/tools/llvm-exegesis/PowerPC/latency-by-opcode-name.s
    M llvm/test/tools/llvm-exegesis/PowerPC/lit.local.cfg
    M llvm/test/tools/llvm-exegesis/PowerPC/unsupported-opcode.s
    A llvm/test/tools/llvm-exegesis/X86/analysis-CMOV16rm-noreg-deserialization.test
    M llvm/test/tools/llvm-exegesis/X86/analysis-naive-clusterization-same-opcode-different-sched-class.test
    M llvm/test/tools/llvm-exegesis/X86/inverse_throughput/inverse_throughput-by-opcode-name.s
    R llvm/test/tools/llvm-exegesis/X86/inverse_throughput/lit.local.cfg
    M llvm/test/tools/llvm-exegesis/X86/latency/latency-CMOV32rr.s
    M llvm/test/tools/llvm-exegesis/X86/latency/latency-IN16rr.s
    M llvm/test/tools/llvm-exegesis/X86/latency/latency-LEA64_32r.s
    M llvm/test/tools/llvm-exegesis/X86/latency/latency-LEA64r.s
    M llvm/test/tools/llvm-exegesis/X86/latency/latency-SBB8rr.s
    M llvm/test/tools/llvm-exegesis/X86/latency/latency-SETCCr-cond-codes-sweep.s
    M llvm/test/tools/llvm-exegesis/X86/latency/latency-SQRTSSr.s
    M llvm/test/tools/llvm-exegesis/X86/latency/latency-by-opcode-name.s
    R llvm/test/tools/llvm-exegesis/X86/latency/lit.local.cfg
    M llvm/test/tools/llvm-exegesis/X86/latency/max-configs.test
    M llvm/test/tools/llvm-exegesis/X86/lbr/Inputs/mov_add.att
    M llvm/test/tools/llvm-exegesis/X86/lbr/lit.local.cfg
    M llvm/test/tools/llvm-exegesis/X86/lbr/mov-add.s
    M llvm/test/tools/llvm-exegesis/X86/lit.local.cfg
    R llvm/test/tools/llvm-exegesis/X86/uops/lit.local.cfg
    M llvm/test/tools/llvm-exegesis/X86/uops/uops-ADD32mi8.s
    M llvm/test/tools/llvm-exegesis/X86/uops/uops-ADD32mr.s
    M llvm/test/tools/llvm-exegesis/X86/uops/uops-ADD32rm.s
    M llvm/test/tools/llvm-exegesis/X86/uops/uops-ADD_F32m.s
    M llvm/test/tools/llvm-exegesis/X86/uops/uops-BEXTR32rm.s
    M llvm/test/tools/llvm-exegesis/X86/uops/uops-BSF16rm.s
    M llvm/test/tools/llvm-exegesis/X86/uops/uops-BTR64mr.s
    A llvm/test/tools/llvm-exegesis/X86/uops/uops-CMOV16rm-noreg-serialization.s
    R llvm/test/tools/llvm-exegesis/X86/uops/uops-CMOV16rm-noreg.s
    M llvm/test/tools/llvm-exegesis/X86/uops/uops-FLDENVm.s
    M llvm/test/tools/llvm-exegesis/X86/uops/uops-LEA64r.s
    M llvm/test/tools/llvm-exegesis/X86/uops/uops-POPCNT32rr.s
    M llvm/test/tools/llvm-exegesis/X86/uops/uops-STD.s
    M llvm/test/tools/llvm-exegesis/X86/uops/uops-VFMADDSS4rm.s
    M llvm/test/tools/llvm-exegesis/X86/uops/uops-XCHG64rr.s
    M llvm/test/tools/llvm-exegesis/X86/uops/uops-by-opcode-name.s
    M llvm/test/tools/llvm-exegesis/X86/uops/uops-misspelled-div.s
    R llvm/test/tools/llvm-exegesis/lit.local.cfg
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.h
    M llvm/tools/llvm-exegesis/lib/LatencyBenchmarkRunner.cpp
    M llvm/tools/llvm-exegesis/lib/LatencyBenchmarkRunner.h
    M llvm/tools/llvm-exegesis/lib/LlvmState.cpp
    M llvm/tools/llvm-exegesis/lib/LlvmState.h
    M llvm/tools/llvm-exegesis/lib/Target.cpp
    M llvm/tools/llvm-exegesis/lib/Target.h
    M llvm/tools/llvm-exegesis/lib/UopsBenchmarkRunner.h
    M llvm/tools/llvm-exegesis/llvm-exegesis.cpp

  Log Message:
  -----------
  [llvm-exegesis] Dry run mode

Sometimes we only want to ensure that we can produce snippets (all the way
through `SnippetRepetitor`!), but don't care for the execution.
E.g. all of our tests are this way.

I've built LLVM without PFM and removed my CPU from `X86PfmCounters.td`,
and this produces the expected results in that configuration.

Reviewed By: courbet

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


Compare: https://github.com/llvm/llvm-project/compare/fc5bda52f00b...7a76140220bd


More information about the All-commits mailing list