[all-commits] [llvm/llvm-project] 4c64d8: [Polly] Port ForwardOpTree to the NewPM.

Michael Kruse via All-commits all-commits at lists.llvm.org
Tue Feb 9 21:59:07 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4c64d8ee3a871ef4bd7823d23ab009a19e89287f
      https://github.com/llvm/llvm-project/commit/4c64d8ee3a871ef4bd7823d23ab009a19e89287f
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2021-02-09 (Tue, 09 Feb 2021)

  Changed paths:
    M polly/include/polly/ForwardOpTree.h
    M polly/include/polly/LinkAllPasses.h
    M polly/lib/Support/PollyPasses.def
    M polly/lib/Support/RegisterPasses.cpp
    M polly/lib/Transform/ForwardOpTree.cpp
    M polly/test/ForwardOpTree/forward_load.ll

  Log Message:
  -----------
  [Polly] Port ForwardOpTree to the NewPM.


  Commit: 7903d594eae71a52b951316418f862635809f36a
      https://github.com/llvm/llvm-project/commit/7903d594eae71a52b951316418f862635809f36a
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2021-02-09 (Tue, 09 Feb 2021)

  Changed paths:
    M polly/include/polly/DeLICM.h
    M polly/include/polly/LinkAllPasses.h
    M polly/lib/Support/PollyPasses.def
    M polly/lib/Support/RegisterPasses.cpp
    M polly/lib/Transform/DeLICM.cpp
    M polly/test/DeLICM/map_memset_zero.ll
    M polly/test/DeLICM/pass_existence.ll

  Log Message:
  -----------
  [Polly] Port DeLICM to the NewPM.


  Commit: b687fc9122c883f0ce7cf056aa56313ec1671445
      https://github.com/llvm/llvm-project/commit/b687fc9122c883f0ce7cf056aa56313ec1671445
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2021-02-09 (Tue, 09 Feb 2021)

  Changed paths:
    M polly/include/polly/LinkAllPasses.h
    M polly/include/polly/PruneUnprofitable.h
    M polly/lib/Analysis/PruneUnprofitable.cpp
    M polly/lib/Support/PollyPasses.def
    M polly/lib/Support/RegisterPasses.cpp
    M polly/test/PruneUnprofitable/prune_only_scalardeps.ll

  Log Message:
  -----------
  [Polly] Port PruneUnprofitable to the NewPM.


  Commit: e7b9e43c9a7c33c8c10508ce4b40423fbeaa31b3
      https://github.com/llvm/llvm-project/commit/e7b9e43c9a7c33c8c10508ce4b40423fbeaa31b3
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2021-02-09 (Tue, 09 Feb 2021)

  Changed paths:
    M polly/lib/Support/PollyPasses.def
    M polly/lib/Support/RegisterPasses.cpp

  Log Message:
  -----------
  [Polly] Register pass-instrumentation for NewPM's Scop level.

The pass-instrumentation pass is implicitly execute by the NewPM
whenever a new analysis runs. Not registering it will cause the crash
whenever a scop pass requests an analysis.

For instance this is the case for the IstAstAnalysis requesting the
DependenceAnalsis result.


  Commit: 5ff963fd11b6a88d3213bc83447aa44580d543f3
      https://github.com/llvm/llvm-project/commit/5ff963fd11b6a88d3213bc83447aa44580d543f3
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2021-02-09 (Tue, 09 Feb 2021)

  Changed paths:
    M polly/include/polly/ScopPass.h

  Log Message:
  -----------
  [Polly] Add TargetTransformInfo to ScopPass standard analysis results.

TargetTransformInfo is required by IslScheduleOptimizer, as ScopPass.
Unfortunately it is not possible to get arbitrary larger-unit analyses
in for as ScopPass. Loop passes also already use TargetTransformInfo as
LoopStandardAnalysisResults, hence wei might expect it to be available
to Scop passes as well.


  Commit: e200df952bc5b6958ce808c7f19696e65ec9e9d5
      https://github.com/llvm/llvm-project/commit/e200df952bc5b6958ce808c7f19696e65ec9e9d5
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2021-02-09 (Tue, 09 Feb 2021)

  Changed paths:
    M polly/include/polly/LinkAllPasses.h
    M polly/include/polly/ScheduleOptimizer.h
    M polly/lib/Support/PollyPasses.def
    M polly/lib/Support/RegisterPasses.cpp
    M polly/lib/Transform/ScheduleOptimizer.cpp
    M polly/test/ScheduleOptimizer/computeout.ll
    M polly/test/ScheduleOptimizer/focaltech_test_detail_threshold-7bc17e.ll

  Log Message:
  -----------
  [Polly] Port IslScheduleOptimizer to the NewPM.


  Commit: 13f758a805e043a1a83d36804f88b0ca49944fc3
      https://github.com/llvm/llvm-project/commit/13f758a805e043a1a83d36804f88b0ca49944fc3
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2021-02-09 (Tue, 09 Feb 2021)

  Changed paths:
    M polly/include/polly/LinkAllPasses.h
    M polly/include/polly/Simplify.h
    M polly/lib/Support/RegisterPasses.cpp
    M polly/lib/Transform/Simplify.cpp

  Log Message:
  -----------
  [Polly] Improve Simplify pass PM integration.

1. LegacyPM: Rename SimplifyLegacyPass to SimplifyWrapperPass.
2. LegacyPM: Complete create/init functions in LinkAllPasses.h
3. NewPM: Only invalidate non-Scop passes if changed.
4. NewPM: Add to default pass pipeline.
5. NewPM: Print -analyze header for each print<polly-simplify>


  Commit: 08bab4b0302106803d7cd7c4504dd63c296c40a0
      https://github.com/llvm/llvm-project/commit/08bab4b0302106803d7cd7c4504dd63c296c40a0
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2021-02-09 (Tue, 09 Feb 2021)

  Changed paths:
    M polly/lib/CodeGen/IslAst.cpp
    M polly/lib/Support/RegisterPasses.cpp

  Log Message:
  -----------
  [Polly] Make NewPM's IslAstAnalysis more similar to the legacy IslAstInfoWrapperPass.

In particular, print the ast with -debug-only=polly-ast, print a
per-scop header with print<polly-ast> and force-add the analysis with
-polly-code-generation=ast.


  Commit: 222d380d2f57cc71bb613b5c01ecf17cd1f61fa2
      https://github.com/llvm/llvm-project/commit/222d380d2f57cc71bb613b5c01ecf17cd1f61fa2
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2021-02-09 (Tue, 09 Feb 2021)

  Changed paths:
    M polly/lib/Support/RegisterPasses.cpp

  Log Message:
  -----------
  [Polly] Make the NewPM pass pipeline more similar to the legacy's.

Even though it has some oddities, both pipelines should be as similar as
possible. Also use report_fatal_error instead of assertions to ensure a
proper failure in release builds for unsupported options.

This finalizes the patch serious to make Polly run in the default
configuration when using the NewPM by default.


Compare: https://github.com/llvm/llvm-project/compare/e89fcbfad6a3...222d380d2f57


More information about the All-commits mailing list