[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