llvmbot wrote:
/pull-request llvm/llvm-project#125191
https://github.com/llvm/llvm-project/pull/124762
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
ostannard wrote:
/cherry-pick 97b066f4e92a0df46b9d10721e988210f0d1afb6
https://github.com/llvm/llvm-project/pull/124762
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ostannard milestoned
https://github.com/llvm/llvm-project/pull/124762
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
llvmbot wrote:
>/cherry-pick 97b066f4e92a0df46b9d10721e988210f0d1afb6
Error: Command failed due to missing milestone.
https://github.com/llvm/llvm-project/pull/124762
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-
ostannard wrote:
/cherry-pick 97b066f4e92a0df46b9d10721e988210f0d1afb6
https://github.com/llvm/llvm-project/pull/124762
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
llvm-ci wrote:
LLVM Buildbot has detected a new failure on builder
`openmp-offload-amdgpu-runtime` running on `omp-vega20-0` while building
`clang` at step 7 "Add check check-offload".
Full details are available at:
https://lab.llvm.org/buildbot/#/builders/30/builds/14992
Here is the releva
https://github.com/ostannard closed
https://github.com/llvm/llvm-project/pull/124762
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
ostannard wrote:
The release notes have now been cleared on main, so I'll re-add them in the
llvm-20 cherry pick.
https://github.com/llvm/llvm-project/pull/124762
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/m
https://github.com/ostannard updated
https://github.com/llvm/llvm-project/pull/124762
>From 4d883f068c5061e60e90e51d149a361920b431d2 Mon Sep 17 00:00:00 2001
From: Oliver Stannard
Date: Thu, 12 Dec 2024 15:29:31 +
Subject: [PATCH 1/7] [ARM] Empty structs are 1-byte for C++ ABI
For C++ (but
https://github.com/efriedma-quic approved this pull request.
LGTM
https://github.com/llvm/llvm-project/pull/124762
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ostannard updated
https://github.com/llvm/llvm-project/pull/124762
>From 4d883f068c5061e60e90e51d149a361920b431d2 Mon Sep 17 00:00:00 2001
From: Oliver Stannard
Date: Thu, 12 Dec 2024 15:29:31 +
Subject: [PATCH 1/7] [ARM] Empty structs are 1-byte for C++ ABI
For C++ (but
@@ -1144,6 +1144,12 @@ Arm and AArch64 Support
* FUJITSU-MONAKA (fujitsu-monaka)
+- The AArch64 calling convention for empty structs in C++ mode was changed to
efriedma-quic wrote:
I assume this is supposed to mention AArch32/AAPCS32?
https://github.com/l
ostannard wrote:
That last commit message should have been "llvm-20", not 19.
https://github.com/llvm/llvm-project/pull/124762
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ostannard updated
https://github.com/llvm/llvm-project/pull/124762
>From 4d883f068c5061e60e90e51d149a361920b431d2 Mon Sep 17 00:00:00 2001
From: Oliver Stannard
Date: Thu, 12 Dec 2024 15:29:31 +
Subject: [PATCH 1/6] [ARM] Empty structs are 1-byte for C++ ABI
For C++ (but
@@ -1144,6 +1144,12 @@ Arm and AArch64 Support
* FUJITSU-MONAKA (fujitsu-monaka)
+- The AArch64 calling convention for empty structs in C++ mode was changed to
+ pass them as if they have a size of 1 byte, matching the AAPCS64
+ specification and GCC's implementation. The
https://github.com/ostannard updated
https://github.com/llvm/llvm-project/pull/124762
>From 4d883f068c5061e60e90e51d149a361920b431d2 Mon Sep 17 00:00:00 2001
From: Oliver Stannard
Date: Thu, 12 Dec 2024 15:29:31 +
Subject: [PATCH 1/5] [ARM] Empty structs are 1-byte for C++ ABI
For C++ (but
@@ -752,10 +780,13 @@ RValue ARMABIInfo::EmitVAArg(CodeGenFunction &CGF,
Address VAListAddr,
CharUnits SlotSize = CharUnits::fromQuantity(4);
// Empty records are ignored for parameter passing purposes.
- if (isEmptyRecord(getContext(), Ty, true))
+ uint64_t Size = getC
@@ -588,7 +615,8 @@ ABIArgInfo ARMABIInfo::classifyReturnType(QualType RetTy,
bool isVariadic,
// Otherwise this is an AAPCS variant.
- if (isEmptyRecord(getContext(), RetTy, true))
+ if (isEmptyRecord(getContext(), RetTy, true) ||
+ getContext().getTypeSize(RetTy)
@@ -366,9 +387,15 @@ ABIArgInfo ARMABIInfo::classifyArgumentType(QualType Ty,
bool isVariadic,
return getNaturalAlignIndirect(Ty, RAA == CGCXXABI::RAA_DirectInMemory);
}
- // Ignore empty records.
- if (isEmptyRecord(getContext(), Ty, true))
-return ABIArgInfo::ge
@@ -366,9 +387,15 @@ ABIArgInfo ARMABIInfo::classifyArgumentType(QualType Ty,
bool isVariadic,
return getNaturalAlignIndirect(Ty, RAA == CGCXXABI::RAA_DirectInMemory);
}
- // Ignore empty records.
- if (isEmptyRecord(getContext(), Ty, true))
-return ABIArgInfo::ge
@@ -588,7 +615,8 @@ ABIArgInfo ARMABIInfo::classifyReturnType(QualType RetTy,
bool isVariadic,
// Otherwise this is an AAPCS variant.
- if (isEmptyRecord(getContext(), RetTy, true))
+ if (isEmptyRecord(getContext(), RetTy, true) ||
+ getContext().getTypeSize(RetTy)
@@ -752,10 +780,13 @@ RValue ARMABIInfo::EmitVAArg(CodeGenFunction &CGF,
Address VAListAddr,
CharUnits SlotSize = CharUnits::fromQuantity(4);
// Empty records are ignored for parameter passing purposes.
- if (isEmptyRecord(getContext(), Ty, true))
+ uint64_t Size = getC
@@ -366,9 +387,15 @@ ABIArgInfo ARMABIInfo::classifyArgumentType(QualType Ty,
bool isVariadic,
return getNaturalAlignIndirect(Ty, RAA == CGCXXABI::RAA_DirectInMemory);
}
- // Ignore empty records.
- if (isEmptyRecord(getContext(), Ty, true))
-return ABIArgInfo::ge
llvmbot wrote:
@llvm/pr-subscribers-clang-codegen
Author: Oliver Stannard (ostannard)
Changes
For C++ (but not C), empty structs should be passed to functions as if they are
a 1 byte object with 1 byte alignment.
This is defined in Arm's CPPABI32:
https://github.com/ARM-software/abi-aa
llvmbot wrote:
@llvm/pr-subscribers-backend-arm
@llvm/pr-subscribers-clang
Author: Oliver Stannard (ostannard)
Changes
For C++ (but not C), empty structs should be passed to functions as if they are
a 1 byte object with 1 byte alignment.
This is defined in Arm's CPPABI32:
https://githu
https://github.com/ostannard created
https://github.com/llvm/llvm-project/pull/124762
For C++ (but not C), empty structs should be passed to functions as if they are
a 1 byte object with 1 byte alignment.
This is defined in Arm's CPPABI32:
https://github.com/ARM-software/abi-aa/blob/main/cpp
26 matches
Mail list logo