[clang] [llvm] [mlir] [OpenMP] Migrate GPU Reductions CodeGen from Clang to OMPIRBuilder (PR #80343)

Johannes Doerfert via cfe-commits cfe-commits at lists.llvm.org
Thu May 2 13:32:34 PDT 2024


================
@@ -607,15 +621,17 @@ class OpenMPIRBuilder {
   /// Generator for '#omp barrier'
   ///
   /// \param Loc The location where the barrier directive was encountered.
-  /// \param DK The kind of directive that caused the barrier.
+  /// \param Kind The kind of directive that caused the barrier.
   /// \param ForceSimpleCall Flag to force a simple (=non-cancellation) barrier.
   /// \param CheckCancelFlag Flag to indicate a cancel barrier return value
   ///                        should be checked and acted upon.
+  /// \param ThreadID Optional parameter to pass in any existing ThreadID value.
   ///
   /// \returns The insertion point after the barrier.
-  InsertPointTy createBarrier(const LocationDescription &Loc, omp::Directive DK,
-                              bool ForceSimpleCall = false,
-                              bool CheckCancelFlag = true);
+  InsertPointTy createBarrier(const LocationDescription &Loc,
+                              omp::Directive Kind, bool ForceSimpleCall = false,
+                              bool CheckCancelFlag = true,
+                              Value *ThreadID = nullptr);
----------------
jdoerfert wrote:

This entire threadId in API stuff is only a leftover from the old (broken) runtime design.
We don't use the thread Id in barriers, and we don't need to pass it in.
If that means you need to change the tests, so be it. Do it before this commit, and feel free to modify the device RTL API to remove the argument completely. 

https://github.com/llvm/llvm-project/pull/80343


More information about the cfe-commits mailing list