[llvm-branch-commits] [llvm] [mlir] [MLIR][OpenMP] Post-translate declare-target USM indirection in OpenMPIRBuilder (PR #194291)

via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Sun Apr 26 22:28:27 PDT 2026


github-actions[bot] wrote:

<!--LLVM CODE FORMAT COMMENT: {clang-format}-->


:warning: C/C++ code formatter, clang-format found issues in your code. :warning:

<details>
<summary>
You can test this locally with the following command:
</summary>

``````````bash
git-clang-format --diff origin/main HEAD --extensions cpp,h -- llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp --diff_from_common_commit
``````````

:warning:
The reproduction instructions above might return results for more than one PR
in a stack if you are using a stacked PR workflow. You can limit the results by
changing `origin/main` to the base branch/commit you want to compare against.
:warning:

</details>

<details>
<summary>
View the diff from clang-format here.
</summary>

``````````diff
diff --git a/llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h b/llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
index f4e5d5be3..3a184da7a 100644
--- a/llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
+++ b/llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
@@ -545,15 +545,13 @@ public:
   /// This is used for OpenMP `declare target` global variables mapped under
   /// Unified Shared Memory (USM) where access is routed through a reference
   /// pointer.
-  Error
-  rewriteDeclareTargetGlobalUsesWithRefPtr(GlobalVariable *origGV,
-                                           GlobalVariable *refPtrGV);
+  Error rewriteDeclareTargetGlobalUsesWithRefPtr(GlobalVariable *origGV,
+                                                 GlobalVariable *refPtrGV);
 
   /// Registers a mapping between an original `declare target` global variable
   /// and the corresponding reference pointer global variable generated for
   /// Unified Shared Memory (USM).
-  void addDeclareTargetUsmRefPair(GlobalVariable *orig,
-                                  GlobalVariable *refPtr);
+  void addDeclareTargetUsmRefPair(GlobalVariable *orig, GlobalVariable *refPtr);
 
   /// Rewrites the uses of all `declare target` global variables registered via
   /// `addDeclareTargetUsmRefPair` to use their corresponding USM reference
diff --git a/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp b/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
index 981036a95..778cc63d7 100644
--- a/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
+++ b/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
@@ -750,14 +750,13 @@ void OpenMPIRBuilder::addDeclareTargetUsmRefPair(GlobalVariable *orig,
 
 Error OpenMPIRBuilder::rewriteDeclareTargetGlobalUsesWithRefPtr(
     GlobalVariable *origGV, GlobalVariable *refPtrGV) {
-  auto replaceUsesWithRefLoad = [refPtrGV](Instruction *inst,
-                                           Value *replaced) {
+  auto replaceUsesWithRefLoad = [refPtrGV](Instruction *inst, Value *replaced) {
     IRBuilder<> b(inst);
     Value *rep =
         b.CreateLoad(refPtrGV->getValueType(), refPtrGV, "decltgt.ref");
     if (rep->getType() != replaced->getType())
-      rep = b.CreatePointerBitCastOrAddrSpaceCast(
-          rep, replaced->getType(), "decltgt.as");
+      rep = b.CreatePointerBitCastOrAddrSpaceCast(rep, replaced->getType(),
+                                                  "decltgt.as");
     inst->replaceUsesOfWith(replaced, rep);
   };
 
diff --git a/mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp b/mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
index 97b94c4ba..bdf738eac 100644
--- a/mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+++ b/mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
@@ -7486,8 +7486,8 @@ convertDeclareTargetAttr(Operation *op, mlir::omp::DeclareTargetAttr attribute,
             mangledName, generatedRefs, /*OpenMPSimd*/ false, targetTriple,
             ptrTy, /*GlobalInitializer*/ nullptr, /*VariableLinkage*/ nullptr);
         if (auto *origGV = llvm::dyn_cast<llvm::GlobalVariable>(gVal))
-          if (auto *refPtrGV = llvm::dyn_cast_or_null<llvm::GlobalVariable>(
-                  refPtrConst))
+          if (auto *refPtrGV =
+                  llvm::dyn_cast_or_null<llvm::GlobalVariable>(refPtrConst))
             ompBuilder->addDeclareTargetUsmRefPair(origGV, refPtrGV);
       }
     }

``````````

</details>


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


More information about the llvm-branch-commits mailing list