[clang] Fix codegen of consteval functions returning an empty class, and related issues (PR #93115)

Eli Friedman via cfe-commits cfe-commits at lists.llvm.org
Thu May 23 18:52:02 PDT 2024


================
@@ -177,7 +179,12 @@ kernel void KernelTwoMember(struct StructTwoMember u) {
 // AMDGCN-LABEL: define{{.*}} amdgpu_kernel void @KernelLargeTwoMember
 // AMDGCN-SAME:  (%struct.LargeStructTwoMember %[[u_coerce:.*]])
 // AMDGCN:  %[[u:.*]] = alloca %struct.LargeStructTwoMember, align 8, addrspace(5)
-// AMDGCN:  store %struct.LargeStructTwoMember %[[u_coerce]], ptr addrspace(5) %[[u]]
+// AMDGCN:  %[[U_PTR0:.*]] = getelementptr inbounds %struct.LargeStructTwoMember, ptr addrspace(5) %[[u]], i32 0, i32 0
----------------
efriedma-quic wrote:

Unifying the codepaths makes FCA promotion happen more often.

https://github.com/llvm/llvm-project/pull/93115


More information about the cfe-commits mailing list