[all-commits] [llvm/llvm-project] 3fae90: [OpenMP][FIX] Properly check assume only uses

Johannes Doerfert via All-commits all-commits at lists.llvm.org
Mon Feb 6 11:48:06 PST 2023


  Branch: refs/heads/release/16.x
  Home:   https://github.com/llvm/llvm-project
  Commit: 3fae9049718777900fde345876ea35f00a570b7b
      https://github.com/llvm/llvm-project/commit/3fae9049718777900fde345876ea35f00a570b7b
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-02-06 (Mon, 06 Feb 2023)

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

  Log Message:
  -----------
  [OpenMP][FIX] Properly check assume only uses

We improved our simplification and this exposed a bug in the store
elimination. A load that had dead uses and assume uses was thought to be
used by assumes only. Consequently we also deleted the "dead use users".
This was a problem because a dead use just means we will not use the
load there. The user might still be needed.

Exposed by OvO, reported by @ye-luo.

(cherry picked from commit a51ad873bfc9f3ccf7971efce4c5f0a543ee3d5a)


  Commit: a2a85f261f953394f7e08bb6a41bb4f026c598fe
      https://github.com/llvm/llvm-project/commit/a2a85f261f953394f7e08bb6a41bb4f026c598fe
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-02-06 (Mon, 06 Feb 2023)

  Changed paths:
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    A llvm/test/Transforms/Attributor/reduced/aa_execution_domain_wrong_fn.ll

  Log Message:
  -----------
  [Attributor][FIX] Ensure we use the right AAExecutionDomain

Before we might have ended up queriying the AAExecutionDomain of a
different function, which resulted in wrong optimistic results.

Partially fixes https://github.com/llvm/llvm-project/issues/60425

(cherry picked from commit 18a2975b57830a231e2b8f0299969edfc4f8477c)


  Commit: bd00ad55ccdbae34ad7a0486af37369818969672
      https://github.com/llvm/llvm-project/commit/bd00ad55ccdbae34ad7a0486af37369818969672
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-02-06 (Mon, 06 Feb 2023)

  Changed paths:
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    M llvm/test/Transforms/OpenMP/value-simplify-openmp-opt.ll

  Log Message:
  -----------
  [OpenMP][FIX] Ensure to determine aligned regions properly

There were missing checks in the aligned region code, copy-paste errors
(= usage of the IsReachedFromAlignedBarrierOnly value instead of
IsReachingAlignedBarrierOnly value on the forward pass), and a missing
update of the call state for sync declarations and definitions.

Partially fixes https://github.com/llvm/llvm-project/issues/60425

(cherry picked from commit 578d507359c6b4ad44f10dc6da6d8328e9743f31)


Compare: https://github.com/llvm/llvm-project/compare/8d650ca44a32...bd00ad55ccdb


More information about the All-commits mailing list