[Mlir-commits] [flang] [mlir] [flang][AIX] BIND(C) derived type alignment for AIX (PR #121505)
Kelvin Li
llvmlistbot at llvm.org
Thu Jan 2 15:24:07 PST 2025
================
@@ -113,7 +172,15 @@ void ComputeOffsetsHelper::Compute(Scope &scope) {
if (!FindCommonBlockContaining(*symbol) &&
dependents_.find(symbol) == dependents_.end() &&
equivalenceBlock_.find(symbol) == equivalenceBlock_.end()) {
- DoSymbol(*symbol);
+
+ std::optional<size_t> newAlign{std::nullopt};
+ // Handle special alignment requirement for AIX
+ auto triple{llvm::Triple(
+ llvm::Triple::normalize(llvm::sys::getDefaultTargetTriple()))};
+ if (triple.getOS() == llvm::Triple::OSType::AIX) {
+ newAlign = HasSpecialAlign(*symbol, scope);
----------------
kkwli wrote:
Added comments to `isReal8OrLarger`, `ComputeOffsetsHelper::HasSpecialAlign` and `ComputeOffsetsHelper::CompAlignment`.
https://github.com/llvm/llvm-project/pull/121505
More information about the Mlir-commits
mailing list