[Mlir-commits] [mlir] [OpenMP][MLIR] Lowering task_reduction clause	to LLVMIR (PR #111788)
    Christian Ulmann 
    llvmlistbot at llvm.org
       
    Wed Oct  9 22:53:56 PDT 2024
    
    
  
================
@@ -1142,19 +1141,238 @@ convertOmpTaskOp(omp::TaskOp taskOp, llvm::IRBuilderBase &builder,
   return bodyGenStatus;
 }
 
+template <typename OP>
+llvm::Value *createTaskReductionFunction(
+    llvm::IRBuilderBase &builder, const std::string &name, llvm::Type *redTy,
+    LLVM::ModuleTranslation &moduleTranslation,
+    SmallVectorImpl<omp::DeclareReductionOp> &reductionDecls, Region ®ion,
+    OP &op, unsigned Cnt, llvm::ArrayRef<bool> &isByRef,
+    SmallVectorImpl<llvm::Value *> &privateReductionVariables,
+    DenseMap<Value, llvm::Value *> &reductionVariableMap) {
+  llvm::LLVMContext &Context = builder.getContext();
+  llvm::Type *OpaquePtrTy = llvm::PointerType::get(Context, 0);
+  // TODO: by-ref reduction variables are yet to be handled.
----------------
Dinistro wrote:
Isn't it better to crash/assert than silently swallowing cases like this?
https://github.com/llvm/llvm-project/pull/111788
    
    
More information about the Mlir-commits
mailing list