This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] New attribute to create target clones


On Thu, Oct 29, 2015 at 8:02 PM, Jan Hubicka <hubicka@ucw.cz> wrote:
>> Yes. This is not necessary. However that way we'll have the following
>> code in dispatcher:
>>         cmpl    $6, __cpu_model+4(%rip)
>>         sete    %al
>>         movzbl  %al, %eax
>>         testl   %eax, %eax
>>         jle     .L16
>>         movl    $foo.target_clone.1, %eax
>> I think it is very hard to read and debug such...
>>
>> While now we have:
>>
>>         cmpl    $6, __cpu_model+4(%rip)
>>         sete    %al
>>         movzbl  %al, %eax
>>         testl   %eax, %eax
>>         jle     .L16
>>         movl    $foo.arch_slm, %eax
>>
>> and it is clear that we are jumping to SLM code here.
>> I'd like to keep target in names.
>
> I am not against more informative names, but why you don't pass the info here:
>
> +create_target_clone (cgraph_node *node, bool definition)
> +{
> +  cgraph_node *new_node;
> +  if (definition)
> +    {
> +      new_node = node->create_version_clone_with_body (vNULL, NULL,
> +                                                      NULL, false,
> +                                                      NULL, NULL,
> +                                                      "target_clone");
> +      new_node->force_output = true;
> +    }
> +  else
> +    {
> +      tree new_decl = copy_node (node->decl);
> +      new_node = cgraph_node::get_create (new_decl);
> +    }
> +  return new_node;
> +}
>
> passing "arch_slm" instead of target_clone will get you the name you want
> (plus the extra index that may be needed anyway to disambiguate).
>
> Note that in general those .suffixes should be machine parseable, so cp-demangle.c
> can expand them correctly.  We may want to have some consistent grammar for them here
> and update cp-demangle.c to output nice info like "target clone for..."
Ok. I've modified the patch correspondingly.

>
> I will look at the rest of the patch at evening.
> Honza
>>
>> Thanks,
>> Evgeny
>> >
>> >
>> > Jeff
>
>

Attachment: target_clones5.patch
Description: Binary data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]