[all-commits] [llvm/llvm-project] 07c375: [OpenMP][FIX] Restrict more unsound assmptions abo...

Johannes Doerfert via All-commits all-commits at lists.llvm.org
Tue Dec 13 22:58:52 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 07c375348083170e39c9498a42a9679c7e08f07f
      https://github.com/llvm/llvm-project/commit/07c375348083170e39c9498a42a9679c7e08f07f
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2022-12-13 (Tue, 13 Dec 2022)

  Changed paths:
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    M llvm/test/Transforms/Attributor/IPConstantProp/return-argument.ll
    M llvm/test/Transforms/Attributor/internal-noalias.ll
    M llvm/test/Transforms/Attributor/value-simplify-assume.ll
    M llvm/test/Transforms/Attributor/value-simplify-gpu.ll
    M llvm/test/Transforms/Attributor/value-simplify-reachability.ll
    A llvm/test/Transforms/OpenMP/value-simplify-openmp-opt.ll

  Log Message:
  -----------
  [OpenMP][FIX] Restrict more unsound assmptions about threading

Even if all loads and stores are in `nosync` functions we cannot
guarantee there is no synchronization going on between them. As such, we
cannot use CFG reasoning. We could check the entire module, or, what
happens now to minimize test churn, is to check if all accesses are in
the same function that is `nosync`. A follow up will undo some of the
regressions where possible.

Similarly, reachability cannot be used to exclude an access if the
access is not known to be executed by the same thread as the given
instruction.

The OpenMP-opt test was added for the latter problem.


  Commit: 4a5d0d8704aa2860c0459a63adfdd415a451c4f1
      https://github.com/llvm/llvm-project/commit/4a5d0d8704aa2860c0459a63adfdd415a451c4f1
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2022-12-13 (Tue, 13 Dec 2022)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/Attributor.h

  Log Message:
  -----------
  [Attributor][FIX] Avoid memory leakage through InstExclusionSet


Compare: https://github.com/llvm/llvm-project/compare/36a879e80f81...4a5d0d8704aa


More information about the All-commits mailing list