[PATCH] D79213: [hip] Add noalias on restrict qualified coerced hip pointers
Yaxun Liu via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Apr 30 17:11:15 PDT 2020
yaxunl added inline comments.
================
Comment at: clang/lib/CodeGen/CGCall.cpp:2268
+ return LangOpts.HIP && isa<llvm::PointerType>(ArgI.getCoerceToType()) &&
+ ArgI.getCoerceToType()->getPointerAddressSpace() == 1 &&
+ CGF.ConvertType(Ty)->getPointerAddressSpace() == 0 &&
----------------
let's use getContext().getTargetAddressSpace(LangAS::Default) for addrspace 0 and getContext().getTargetAddressSpace(LangAS::cuda_device) for addrspace 1
================
Comment at: clang/lib/CodeGen/CGCall.cpp:2270
+ CGF.ConvertType(Ty)->getPointerAddressSpace() == 0 &&
+ ArgI.getCoerceToType()->getPointerElementType() ==
+ CGF.ConvertType(Ty)->getPointerElementType();
----------------
For struct containing pointers, we do recursive coercing
https://github.com/llvm/llvm-project/blob/master/clang/lib/CodeGen/TargetInfo.cpp#L8224
So solely compare element type will fail. We need to add a test case for struct containing pointer, and we need to have a recursive comparison in a similar way as above code.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D79213/new/
https://reviews.llvm.org/D79213
More information about the cfe-commits
mailing list