aaron.ballman added a comment.

In D127812#3587223 <https://reviews.llvm.org/D127812#3587223>, @ilinpv wrote:

> In D127812#3585249 <https://reviews.llvm.org/D127812#3585249>, @erichkeane 
> wrote:
>
>> I'm concerned as to the design of this addition, I don't particularly 
>> appreciate the reasons for making 'target_clones' different, nor the purpose 
>> for adding a new attribute instead of using 'target' for what seems like 
>> exactly that?  IF the new spelling is THAT necessary, we perhaps don't need 
>> a whole new attribute for it either.
>
> Thank you for fair concern, "target_clones" for AArch64 has different format, 
> semantic, e.g. "default" is not required.  Therefore it diverges with X86 in 
> these parts.

Is it *necessary* that it diverges like this? (Is there some published 
standards document you're trying to conform to, is there an implementation 
difficulty with not diverging, something else?)

> "target" attribute has been already used and supported on AArch64 in a 
> different sense, like target("arm"), target("dotprod"), 
> target("branch-protection=bti"). The intention of creating new 
> "target_version" attribute is not to overlap with that. It also has different 
> format, mangling and semantic, e.g. treating function without attribute as 
> "default", and option to disable attribute droping function multi versions. 
> Do these explanations dispel your concern?

Do I understand correctly that AArch64 was using an attribute named `target` 
which does not behave like the attribute with the same name in GCC and Clang on 
other architectures, and now you'd like to introduce a new attribute which does 
behave like `target` but under a different name? If I have that correct, I 
don't think that's reasonable -- there's far too much possibility for confusion 
with that situation already, and adding a new attribute only increases the 
confusion. I'm not certain where the technical debt came from, but we shouldn't 
increase the burden on users here; I think `target` and `target_clones` should 
be made to work consistently across architectures if at all possible.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D127812

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

Reply via email to