[Mlir-commits] [mlir] 645b779 - [mlir] Remove no-op ptr-to-ptr bitcasts (NFC)
Youngsuk Kim
llvmlistbot at llvm.org
Thu Oct 26 11:02:13 PDT 2023
Author: Youngsuk Kim
Date: 2023-10-26T13:01:23-05:00
New Revision: 645b7795d49774ea055fc4e803bf99f742d2739a
URL: https://github.com/llvm/llvm-project/commit/645b7795d49774ea055fc4e803bf99f742d2739a
DIFF: https://github.com/llvm/llvm-project/commit/645b7795d49774ea055fc4e803bf99f742d2739a.diff
LOG: [mlir] Remove no-op ptr-to-ptr bitcasts (NFC)
Opaque pointer cleanup effort. NFC.
Added:
Modified:
mlir/lib/ExecutionEngine/ExecutionEngine.cpp
mlir/lib/Target/LLVMIR/Dialect/OpenACC/OpenACCToLLVMIRTranslation.cpp
mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
Removed:
################################################################################
diff --git a/mlir/lib/ExecutionEngine/ExecutionEngine.cpp b/mlir/lib/ExecutionEngine/ExecutionEngine.cpp
index 9acbc9adf8140e0..dbcc0ba6fc99c67 100644
--- a/mlir/lib/ExecutionEngine/ExecutionEngine.cpp
+++ b/mlir/lib/ExecutionEngine/ExecutionEngine.cpp
@@ -194,7 +194,6 @@ static void packFunctionArguments(Module *module) {
builder.CreateGEP(builder.getInt8PtrTy(), argList, retIndex);
llvm::Value *retPtr =
builder.CreateLoad(builder.getInt8PtrTy(), retPtrPtr);
- retPtr = builder.CreateBitCast(retPtr, result->getType()->getPointerTo());
builder.CreateStore(result, retPtr);
}
diff --git a/mlir/lib/Target/LLVMIR/Dialect/OpenACC/OpenACCToLLVMIRTranslation.cpp b/mlir/lib/Target/LLVMIR/Dialect/OpenACC/OpenACCToLLVMIRTranslation.cpp
index 37fec190d6f401d..9ce20d798ab6b68 100644
--- a/mlir/lib/Target/LLVMIR/Dialect/OpenACC/OpenACCToLLVMIRTranslation.cpp
+++ b/mlir/lib/Target/LLVMIR/Dialect/OpenACC/OpenACCToLLVMIRTranslation.cpp
@@ -115,17 +115,13 @@ processOperands(llvm::IRBuilderBase &builder,
llvm::Value *ptrBaseGEP = builder.CreateInBoundsGEP(
arrI8PtrTy, mapperAllocas.ArgsBase,
{builder.getInt32(0), builder.getInt32(index)});
- llvm::Value *ptrBaseCast = builder.CreateBitCast(
- ptrBaseGEP, dataPtrBase->getType()->getPointerTo());
- builder.CreateStore(dataPtrBase, ptrBaseCast);
+ builder.CreateStore(dataPtrBase, ptrBaseGEP);
// Store pointer extracted from operand into the i-th position of args.
llvm::Value *ptrGEP = builder.CreateInBoundsGEP(
arrI8PtrTy, mapperAllocas.Args,
{builder.getInt32(0), builder.getInt32(index)});
- llvm::Value *ptrCast =
- builder.CreateBitCast(ptrGEP, dataPtr->getType()->getPointerTo());
- builder.CreateStore(dataPtr, ptrCast);
+ builder.CreateStore(dataPtr, ptrGEP);
// Store size extracted from operand into the i-th position of argSizes.
llvm::Value *sizeGEP = builder.CreateInBoundsGEP(
diff --git a/mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp b/mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
index eb8f6cf277b11d0..875ce11391587ed 100644
--- a/mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+++ b/mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
@@ -1523,8 +1523,6 @@ convertOmpThreadprivate(Operation &opInst, llvm::IRBuilderBase &builder,
LLVM::GlobalOp global =
addressOfOp.getGlobal(moduleTranslation.symbolTable());
llvm::GlobalValue *globalValue = moduleTranslation.lookupGlobal(global);
- llvm::Value *data =
- builder.CreateBitCast(globalValue, builder.getInt8PtrTy());
llvm::Type *type = globalValue->getValueType();
llvm::TypeSize typeSize =
builder.GetInsertBlock()->getModule()->getDataLayout().getTypeStoreSize(
@@ -1532,12 +1530,10 @@ convertOmpThreadprivate(Operation &opInst, llvm::IRBuilderBase &builder,
llvm::ConstantInt *size = builder.getInt64(typeSize.getFixedValue());
llvm::StringRef suffix = llvm::StringRef(".cache", 6);
std::string cacheName = (Twine(global.getSymName()).concat(suffix)).str();
- // Emit runtime function and bitcast its type (i8*) to real data type.
llvm::Value *callInst =
moduleTranslation.getOpenMPBuilder()->createCachedThreadPrivate(
- ompLoc, data, size, cacheName);
- llvm::Value *result = builder.CreateBitCast(callInst, globalValue->getType());
- moduleTranslation.mapValue(opInst.getResult(0), result);
+ ompLoc, globalValue, size, cacheName);
+ moduleTranslation.mapValue(opInst.getResult(0), callInst);
return success();
}
More information about the Mlir-commits
mailing list