[all-commits] [llvm/llvm-project] e0c5d8: [OpenMP][FIX] Disabled optimizations have to be ma...

Johannes Doerfert via All-commits all-commits at lists.llvm.org
Tue Aug 10 22:50:25 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e0c5d83a927382f50169a579e07e14fa0aebe335
      https://github.com/llvm/llvm-project/commit/e0c5d83a927382f50169a579e07e14fa0aebe335
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2021-08-11 (Wed, 11 Aug 2021)

  Changed paths:
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    M llvm/test/Transforms/OpenMP/spmdization.ll

  Log Message:
  -----------
  [OpenMP][FIX] Disabled optimizations have to be made known

To avoid simplification with wrong constants we need to make sure we
know that we won't perform specific optimizations based on the users
request. The non-SPMDzation and non-CustomStateMachine flags did only
prevent the final transformation but allowed to value simplification
to go ahead.

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


  Commit: f358727ce06cca3b1f541b70719ccd1ac62efbf5
      https://github.com/llvm/llvm-project/commit/f358727ce06cca3b1f541b70719ccd1ac62efbf5
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2021-08-11 (Wed, 11 Aug 2021)

  Changed paths:
    M llvm/test/Transforms/Attributor/value-simplify-pointer-info.ll

  Log Message:
  -----------
  [Attributor][NFC] Precommit reproducer for PR51249

The bulk of the changes come from attributes but only the @phi_store
function is effectively added.


  Commit: 96da6dd6ba53bce5dbe822fe968c2b67ba9bc221
      https://github.com/llvm/llvm-project/commit/96da6dd6ba53bce5dbe822fe968c2b67ba9bc221
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2021-08-11 (Wed, 11 Aug 2021)

  Changed paths:
    M llvm/lib/Transforms/IPO/Attributor.cpp
    M llvm/test/Transforms/Attributor/value-simplify-pointer-info.ll

  Log Message:
  -----------
  [Attributor][FIX] Only avoid visiting PHI uses multiple times (PR51249)

AAPointerInfoFloating needs to visit all uses and some multiple times if
we go through PHI nodes. Attributor::checkForAllUses keeps a visited set
so we don't recurs endlessly. We now allow recursion for non-phi uses so
we track all pointer offsets via PHI nodes properly without endless
recursion.

This replaces the first attempt D107579.

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


  Commit: e7e3585cde0b08152a8cbf54029794d07c15963d
      https://github.com/llvm/llvm-project/commit/e7e3585cde0b08152a8cbf54029794d07c15963d
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2021-08-11 (Wed, 11 Aug 2021)

  Changed paths:
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    M llvm/test/Transforms/Attributor/value-simplify-pointer-info.ll

  Log Message:
  -----------
  [Attributor][FIX] Handle recurrences (PHIs) in AAPointerInfo explicitly

PHI nodes are not pass through but change their value, we have to
account for that to avoid missing stores.

Follow up for D107798 to fix PR51249 for good.

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


Compare: https://github.com/llvm/llvm-project/compare/a8ae41fb5187...e7e3585cde0b


More information about the All-commits mailing list