[clang] [amdgpu] Pass variadic arguments without splitting (PR #94083)

2024-06-06 Thread Matt Arsenault via cfe-commits
@@ -0,0 +1,293 @@ +// REQUIRES: amdgpu-registered-target +// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --function-signature +// RUN: %clang_cc1 -cc1 -std=c23 -triple amdgcn-amd-amdhsa -emit-llvm -O1 %s -o - | FileCheck %s + +void

[clang] [amdgpu] Pass variadic arguments without splitting (PR #94083)

2024-06-06 Thread Matt Arsenault via cfe-commits
arsenm wrote: > @arsenm You're right about passing larger things indirectly. I'm intending to > land this as-is, with the types inlined, as that unblocks #93362. I'm nervous > that the extra pointer indirection will hit the same memory error that > tweaking codegen in that patch hits (it's a

[clang] [amdgpu] Pass variadic arguments without splitting (PR #94083)

2024-06-04 Thread Jon Chesterfield via cfe-commits
JonChesterfield wrote: Slightly jumped the gun on this patch because Eli just wrote a bunch of useful things on #93362 and there's therefore a credible chance that rebasing on this will get the pass in the hands of other people soon, giving libc sprintf and so forth.

[clang] [amdgpu] Pass variadic arguments without splitting (PR #94083)

2024-06-04 Thread Jon Chesterfield via cfe-commits
https://github.com/JonChesterfield closed https://github.com/llvm/llvm-project/pull/94083 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [amdgpu] Pass variadic arguments without splitting (PR #94083)

2024-06-04 Thread Jon Chesterfield via cfe-commits
JonChesterfield wrote: @arsenm You're right about passing larger things indirectly. I'm intending to land this as-is, with the types inlined, as that unblocks #93362. I'm nervous that the extra pointer indirection will hit the same memory error that tweaking codegen in that patch hits (it's a

[clang] [amdgpu] Pass variadic arguments without splitting (PR #94083)

2024-06-01 Thread Jon Chesterfield via cfe-commits
JonChesterfield wrote: That's our call really. Right now this passes everything as whatever type it claimed to be as far as creating the call instruction goes, then variadic lowering pastes them all into a single structure with four byte alignment on every field. Tagging some parameters as

[clang] [amdgpu] Pass variadic arguments without splitting (PR #94083)

2024-06-01 Thread Matt Arsenault via cfe-commits
@@ -197,12 +202,20 @@ ABIArgInfo AMDGPUABIInfo::classifyKernelArgumentType(QualType Ty) const { return ABIArgInfo::getDirect(LTy, 0, nullptr, false); } -ABIArgInfo AMDGPUABIInfo::classifyArgumentType(QualType Ty, +ABIArgInfo AMDGPUABIInfo::classifyArgumentType(QualType Ty,

[clang] [amdgpu] Pass variadic arguments without splitting (PR #94083)

2024-06-01 Thread Matt Arsenault via cfe-commits
@@ -0,0 +1,293 @@ +// REQUIRES: amdgpu-registered-target +// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --function-signature +// RUN: %clang_cc1 -cc1 -std=c23 -triple amdgcn-amd-amdhsa -emit-llvm -O1 %s -o - | FileCheck %s + +void

[clang] [amdgpu] Pass variadic arguments without splitting (PR #94083)

2024-06-01 Thread Matt Arsenault via cfe-commits
@@ -197,12 +202,20 @@ ABIArgInfo AMDGPUABIInfo::classifyKernelArgumentType(QualType Ty) const { return ABIArgInfo::getDirect(LTy, 0, nullptr, false); } -ABIArgInfo AMDGPUABIInfo::classifyArgumentType(QualType Ty, +ABIArgInfo AMDGPUABIInfo::classifyArgumentType(QualType Ty,

[clang] [amdgpu] Pass variadic arguments without splitting (PR #94083)

2024-05-31 Thread Jon Chesterfield via cfe-commits
https://github.com/JonChesterfield edited https://github.com/llvm/llvm-project/pull/94083 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits