ABataev added a comment.

In D71179#1776457 <https://reviews.llvm.org/D71179#1776457>, @jdoerfert wrote:

> > You're doing absolutely the same thing as the original declare variant 
> > implementation.
>
> I don't think so but if you do why do you oppose this approach?
>
> > And I don't think it would be correct to add them as multiversiin variants 
> > to the original function.
>
> Why wouldn't it be correct to pick the version through the overload 
> resolution instead of the code generation?
>  How this could work is already described in the TODO (CodeGenModule.cpp):
>
>   // TODO: We should introduce function aliases for `omp declare variant`
>   //       directives such that we can treat them through the same overload
>   //       resolution scheme (via multi versioning) as `omp begin declare
>   //       variant` functions. For an `omp declare variant(VARIANT) ...`
>   //       that is attached to a BASE function we would create a global alias
>   //       VARIANT = BASE which will participate in the multi version overload
>   //       resolution. If picked, here is no need to emit them explicitly.
>   
>
>
>
>  ---
>
> I still haven't understood why we cannot/should not reuse the existing 
> multi-version support and instead duplicate the logic in some custom scheme.
>  We have this patch that shows how we can reuse the logic in Clang. It works 
> on a per-call basis, so it will work for all context selector (incl. 
> construct).
>  If you think there is something conceptually not working, I'd like to hear 
> about it. However, just saying "it wouldn't be correct" is not sufficient. 
> You need to provide details about the situation, what you think would not 
> work, and why.


I explayned already: declare variant cannot be represented as mutiversion 
functiin, for example.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D71179



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

Reply via email to