aaron.ballman added a comment.

In D134958#3827038 <https://reviews.llvm.org/D134958#3827038>, @tbaeder wrote:

> In D134958#3827024 <https://reviews.llvm.org/D134958#3827024>, @erichkeane 
> wrote:
>
>> This seems right enough to me, though you  might consider CTZ as well since 
>> it is equally as easy.  A better/more useful attempt is going to be 
>> builtin_strlen.  Note that with builtins they are going to be particularly 
>> difficult because you can't execute them on the local machine, since we have 
>> to give the same result as the target machine.  Integer sizes can be a 
>> problem for that, but a lot of the builtins work differently based on which 
>> target you're running on.
>
> Hmm, I see. Do you know of any existing tests in the clang code base that 
> exercise those differences?

I'm not certain on existing tests, but the kinds of things I'm thinking about 
are builtins around floating-point (where the host and the target may be using 
different floating-point semantics entirely), builtin classification functions 
may be sensitive to compiler options like whether we honor nans or not, 
security builtins like `__builtin_add_overflow` which may behave differently on 
host and target depending on the size of variable-width types like `long` or 
`__builtin_strlen` whose return type is `size_t`, etc.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D134958

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

Reply via email to