[PATCH] D79744: clang: Add address space to indirect abi info and use it for kernels

John McCall via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon May 11 19:59:41 PDT 2020


rjmccall added a comment.

Okay.  So the only real ABI here is the layout of the memory that the arguments are actually written into?  And that memory needs to be treated as constant?

Unfortunately, I think `byval` just doesn't match what you want because of the mutability — the frontend *has* to have a copy into a local to get IR with correct semantics, because `byval` is assumed to be locally mutable by both IR-generation and (potentially) LLVM optimization.  And I don't think you really want non-`byval` indirect.  So I guess the question is what we can do in the frontend to get the optimizer behavior you need.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D79744/new/

https://reviews.llvm.org/D79744





More information about the cfe-commits mailing list