[Mlir-commits] [mlir] 6bdeb53 - [MLIR][OpenMP] Fix the assertion failure for VariableCaptureKind::ByCopy (#72424)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Fri Nov 24 03:33:59 PST 2023
Author: Akash Banerjee
Date: 2023-11-24T11:33:55Z
New Revision: 6bdeb53ed9ad85fc16f495120b4e2382c4bdaafa
URL: https://github.com/llvm/llvm-project/commit/6bdeb53ed9ad85fc16f495120b4e2382c4bdaafa
DIFF: https://github.com/llvm/llvm-project/commit/6bdeb53ed9ad85fc16f495120b4e2382c4bdaafa.diff
LOG: [MLIR][OpenMP] Fix the assertion failure for VariableCaptureKind::ByCopy (#72424)
Added:
Modified:
mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
Removed:
################################################################################
diff --git a/mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp b/mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
index a310d38b26cb12a..de5404be72ee5e1 100644
--- a/mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+++ b/mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
@@ -2197,16 +2197,11 @@ createDeviceArgumentAccessor(MapInfoData &mapData, llvm::Argument &arg,
ompBuilder.M.getDataLayout().getProgramAddressSpace();
// Create the alloca for the argument the current point.
- llvm::Value *v =
- builder.CreateAlloca(arg.getType()->isPointerTy()
- ? arg.getType()
- : llvm::Type::getInt64Ty(builder.getContext()),
- ompBuilder.M.getDataLayout().getAllocaAddrSpace());
+ llvm::Value *v = builder.CreateAlloca(arg.getType(), allocaAS);
- if (allocaAS != defaultAS && arg.getType()->isPointerTy()) {
+ if (allocaAS != defaultAS && arg.getType()->isPointerTy())
v = builder.CreatePointerBitCastOrAddrSpaceCast(
v, arg.getType()->getPointerTo(defaultAS));
- }
builder.CreateStore(&arg, v);
@@ -2214,15 +2209,7 @@ createDeviceArgumentAccessor(MapInfoData &mapData, llvm::Argument &arg,
switch (capture) {
case mlir::omp::VariableCaptureKind::ByCopy: {
- // RHS of || aims to ignore conversions like int -> uint, but further
- // extension of this path must be implemented for the moment it'll fall
- // through to the assert.
- if (inputType->isPointerTy() || v->getType() == inputType->getPointerTo()) {
- retVal = v;
- return builder.saveIP();
- }
-
- assert(false && "Currently unsupported OMPTargetVarCaptureByCopy Type");
+ retVal = v;
break;
}
case mlir::omp::VariableCaptureKind::ByRef: {
More information about the Mlir-commits
mailing list