[PATCH] D155986: [clang][AMDGPU]: Don't use byval for struct arguments in function ABI
Matt Arsenault via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Aug 11 16:28:34 PDT 2023
arsenm added inline comments.
================
Comment at: clang/test/CodeGenOpenCL/amdgpu-abi-struct-arg-byref.cl:257
// AMDGCN-LABEL: define dso_local void @FuncLargeTwoMember
-// AMDGCN-SAME: (ptr addrspace(5) noundef byval([[STRUCT_LARGESTRUCTTWOMEMBER:%.*]]) align 8 [[U:%.*]]) #[[ATTR0]] {
+// AMDGCN-SAME: (ptr addrspace(5) byref([[STRUCT_LARGESTRUCTTWOMEMBER:%.*]]) align 8 [[TMP0:%.*]]) #[[ATTR0]] {
// AMDGCN-NEXT: entry:
----------------
cfang wrote:
> arsenm wrote:
> > cfang wrote:
> > > arsenm wrote:
> > > > This lost the noundef, shouldn't lose it
> > > if (AI.getKind() == ABIArgInfo::Indirect)
> > > return "noundef"
> > >
> > > Should we add IndirectAlised check and include in the this same patch? Thanks
> > >
> > Don't understand this snippet, the attribute emission presumably comes from somewhere else
> In function DetermineNoUndef. "noundef was also missing for kernel byref argument
Yes, that should probably also include indirect aliased. You should fix that in a second patch
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D155986/new/
https://reviews.llvm.org/D155986
More information about the llvm-commits
mailing list