[PATCH] D105876: OMPIRBuilder for Interop directive
    Alexey Bataev via Phabricator via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Fri Jul 23 07:35:56 PDT 2021
    
    
  
ABataev added inline comments.
================
Comment at: clang/lib/CodeGen/CGStmtOpenMP.cpp:6330-6331
+  if (const auto *C = S.getSingleClause<OMPInitClause>()) {
+    llvm::Value *InteropvarPtr =
+        EmitLValue(C->getInteropVar()).getPointer(*this);
+    llvm::omp::OMPInteropType InteropType = llvm::omp::OMPInteropType::Unknown;
----------------
This code is common for all `if-else` braches, move out of the conditional blocks?
================
Comment at: clang/lib/CodeGen/CGStmtOpenMP.cpp:6335-6336
+      InteropType = llvm::omp::OMPInteropType::Target;
+    else if (C->getIsTargetSync())
+      InteropType = llvm::omp::OMPInteropType::TargetSync;
+    OMPBuilder.createOMPInteropInit(Builder, InteropvarPtr, InteropType, Device,
----------------
Can we have anything else rather than `C->getIsTargetSync()` here? If no, then it should look like this:
```
if (C->getIsTarget()) {
  InteropType = llvm::omp::OMPInteropType::Target;
} else {
  assert(C->getIsTargetSync() && "Expected ...");
  InteropType = llvm::omp::OMPInteropType::TargetSync;
}
```
Repository:
  rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D105876/new/
https://reviews.llvm.org/D105876
    
    
More information about the llvm-commits
mailing list