[all-commits] [llvm/llvm-project] 8b0828: [OpenMPOpt] Eliminate assumptions only "late"

Johannes Doerfert via All-commits all-commits at lists.llvm.org
Wed Aug 23 16:12:37 PDT 2023


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

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

  Log Message:
  -----------
  [OpenMPOpt] Eliminate assumptions only "late"

When we remove barriers, we might need to remove llvm.assume
assumptions as well. However, doing this early, thus in the module pass,
will cause us to miss out on information we might need. There are few
situations we can eliminate barriers across functions, for now we simply
disable elimination of barriers that require assumptions to be removed
during the early module pass.


  Commit: 908ae84351a3a3ddbaf08262f5387df01e7adba0
      https://github.com/llvm/llvm-project/commit/908ae84351a3a3ddbaf08262f5387df01e7adba0
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-08-23 (Wed, 23 Aug 2023)

  Changed paths:
    M openmp/libomptarget/DeviceRTL/src/Kernel.cpp

  Log Message:
  -----------
  [OpenMP] Avoid assumptions at the end of a kernel

When we used to treat the kernel end as as aligned barrier, assertions
at the end made sense. Now, they actually cause problems as the "writes"
are not ordered with regards to reads within the kernel. We can simply
get rid of them.


Compare: https://github.com/llvm/llvm-project/compare/e1a0e8258f78...908ae84351a3


More information about the All-commits mailing list