[all-commits] [llvm/llvm-project] cb17c4: [Attributor] Identify and remove no-op fences

Johannes Doerfert via All-commits all-commits at lists.llvm.org
Mon Jun 5 17:14:22 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: cb17c48fdd8c0f8ab6cd7ad3f197b052db20d1f6
      https://github.com/llvm/llvm-project/commit/cb17c48fdd8c0f8ab6cd7ad3f197b052db20d1f6
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-06-05 (Mon, 05 Jun 2023)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/Attributor.h
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    M llvm/test/Transforms/OpenMP/barrier_removal.ll
    M openmp/libomptarget/test/jit/empty_kernel_lvl2.c

  Log Message:
  -----------
  [Attributor] Identify and remove no-op fences

The logic and implementation follows the removal of no-op barriers. If
the fence is not making updates visible, either to the world or the
current thread, it is not needed. Said differently, the fences we remove
do not establish synchronization (happens-before) edges.
This allows us to eliminate some of the regression caused by:
  https://reviews.llvm.org/D145290




More information about the All-commits mailing list