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



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to