[all-commits] [llvm/llvm-project] f8919d: [NFC][GVN] Put phi-translation of 'add' behind a s...

Peter Waller via All-commits all-commits at lists.llvm.org
Mon Jul 25 01:01:38 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f8919d2f7ebaf89074a075d460ab16c02fb72df0
      https://github.com/llvm/llvm-project/commit/f8919d2f7ebaf89074a075d460ab16c02fb72df0
  Author: Peter Waller <peter.waller at arm.com>
  Date:   2022-07-25 (Mon, 25 Jul 2022)

  Changed paths:
    M llvm/lib/Analysis/PHITransAddr.cpp
    A llvm/test/Transforms/GVN/PRE/phi-translate-add.ll

  Log Message:
  -----------
  [NFC][GVN] Put phi-translation of 'add' behind a switch

The code in this `#if 0` block appears to be a net benefit. Put it
behind a switch defaulting to off to support experimentation and as a
request for comment.

The codegen impact of enabling this that I'm currently persuing is that
it allows PRE to take place more frequently, particularly in loops with
second order recurrences.

Preliminary experimental data:

Across LNT on AArch64, 54 benchmarks are sped up by >1%, and 42 are
regressed by >1%, the geomean (exec_time_enabled / exec_time_disabled)
of these 96 "1% or greater significance" benchmarks is 0.991. For the
full set of 770 benchmarks it's 0.998.

There are two benchmarks which experience a >30% speedup, and the worst
slowdown is ~12%, and for every benchmark with a slowdown there is a
benckmark which is sped up by a greater factor.

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




More information about the All-commits mailing list