[Mlir-commits] [llvm] [mlir] [OpenMP][CodeExtractor]Add align metadata to load instructions (PR #131131)
Michael Kruse
llvmlistbot at llvm.org
Mon Apr 7 04:05:36 PDT 2025
================
@@ -4437,9 +4442,21 @@ createDeviceArgumentAccessor(MapInfoData &mapData, llvm::Argument &arg,
break;
}
case omp::VariableCaptureKind::ByRef: {
- retVal = builder.CreateAlignedLoad(
+ llvm::LoadInst *loadInst = builder.CreateAlignedLoad(
v->getType(), v,
ompBuilder.M.getDataLayout().getPrefTypeAlign(v->getType()));
+ // Add information about alignment of objects that are mapped by reference
+ if (v->getType()->isPointerTy() && alignmentValue) {
+ llvm::MDBuilder MDB(builder.getContext());
+ loadInst->setMetadata(
+ llvm::LLVMContext::MD_align,
+ llvm::MDNode::get(builder.getContext(),
+ MDB.createConstant(llvm::ConstantInt::get(
+ llvm::Type::getInt64Ty(builder.getContext()),
+ alignmentValue))));
----------------
Meinersbur wrote:
`CreateAlignedLoad` already receives alignment information. Why set `MD_align` with potentially different alignment?
https://github.com/llvm/llvm-project/pull/131131
More information about the Mlir-commits
mailing list