[PATCH] D140463: [OpenMP] Merge barrier elimination into AAExecutionDomain

Johannes Doerfert via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 20 23:52:26 PST 2022


jdoerfert created this revision.
jdoerfert added reviewers: ggeorgakoudis, jhuber6, tianshilei1992, josemonsalve2, JonChesterfield.
jdoerfert added a project: OpenMP.
Herald added subscribers: ormris, okura, kuter, guansong, bollu, hiraditya, yaxunl.
Herald added a project: All.
jdoerfert requested review of this revision.
Herald added a reviewer: sstefan1.
Herald added subscribers: llvm-commits, sstefan1.
Herald added a project: LLVM.

With this patch we track aligned barriers in AAExecutionDomain and also
delete unnecessary barriers there. This allows us to eliminate barriers
across blocks, across functions, and in the presence of complex accesses
that do not force a barrier. Further, we can use the collected
information to enable store-load forwarding in a threaded environment
(follow up patch).


https://reviews.llvm.org/D140463

Files:
  llvm/include/llvm/Transforms/IPO/Attributor.h
  llvm/lib/Transforms/IPO/Attributor.cpp
  llvm/lib/Transforms/IPO/AttributorAttributes.cpp
  llvm/lib/Transforms/IPO/OpenMPOpt.cpp
  llvm/test/Transforms/OpenMP/always_inline_device.ll
  llvm/test/Transforms/OpenMP/barrier_removal.ll
  llvm/test/Transforms/OpenMP/deduplication_target.ll
  llvm/test/Transforms/OpenMP/reduced_pointer_info_assertion.ll
  llvm/test/Transforms/OpenMP/remove_globalization.ll
  llvm/test/Transforms/OpenMP/remove_noinline_attributes.ll
  llvm/test/Transforms/OpenMP/replace_globalization.ll
  llvm/test/Transforms/OpenMP/spmdization.ll
  llvm/test/Transforms/OpenMP/spmdization_guarding_two_reaching_kernels.ll
  llvm/test/Transforms/OpenMP/value-simplify-openmp-opt.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D140463.484478.patch
Type: text/x-patch
Size: 103753 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20221221/e90a3cb7/attachment.bin>


More information about the llvm-commits mailing list