[all-commits] [llvm/llvm-project] 418680: [Flang][MLIR] Extend DataLayout utilities to have ...
agozillon via All-commits
all-commits at lists.llvm.org
Thu Jan 30 08:32:13 PST 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 4186805060bb06dc3362707d45e6f0f826208a8f
https://github.com/llvm/llvm-project/commit/4186805060bb06dc3362707d45e6f0f826208a8f
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M flang/include/flang/Optimizer/Support/DataLayout.h
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
M flang/lib/Optimizer/Support/DataLayout.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
M flang/lib/Optimizer/Transforms/CUFGPUToLLVMConversion.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
M flang/test/lib/OpenACC/TestOpenACCInterfaces.cpp
Log Message:
-----------
[Flang][MLIR] Extend DataLayout utilities to have basic GPU Module support (#123149)
As there is now certain areas where we now have the possibility of
having either a ModuleOp or GPUModuleOp and both of these modules can
have DataLayout's and we may require utilising the DataLayout utilities
in these areas I've taken the liberty of trying to extend them for use
with both.
Those with more knowledge of how they wish the GPUModuleOp's to interact
with their parent ModuleOp's DataLayout may have further alterations
they wish to make in the future, but for the moment, it'll simply
utilise the basic data layout construction which I believe combines
parent and child datalayouts from the ModuleOp and GPUModuleOp. If there
is no GPUModuleOp DataLayout it should default to the parent ModuleOp.
It's worth noting there is some weirdness if you have two module
operations defining builtin dialect DataLayout Entries, it appears the
combinatorial functionality for DataLayouts doesn't support the merging
of these.
This behaviour is useful for areas like:
https://github.com/llvm/llvm-project/pull/119585/files#diff-19fc4bcb38829d085e25d601d344bbd85bf7ef749ca359e348f4a7c750eae89dR1412
where we have a crossroads between the two different module operations.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list