[PATCH] D79279: Allow volatile parameters to __builtin_mem{cpy,move,set}

JF Bastien via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sat May 2 15:54:22 PDT 2020


jfb added a comment.

In D79279#2015983 <https://reviews.llvm.org/D79279#2015983>, @rjmccall wrote:

> Most of the complexity of this patch is introduced by the decision to type-check these calls with a volatile-typed parameter, which seems like it does nothing but cause problems.  If your goal is to make these functions do the right thing when given arbitrary pointer types, I think you need to give these calls special type-checking semantics.  Done right, that will also let you e.g. accept pointers into arbitrary address spaces.  But I'm not sure how good of an idea this actually is at base, since these builtins are typically used for direct calls to their associated library functions.


You mean: in `Builtins,def` allow a `?` modifier on `volatile` (so, `D?`) to denote overloading on `volatile`, and consume that overload directly while type checking? That seems fine to me. Just want to make sure that's what you have in mind.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D79279





More information about the cfe-commits mailing list