public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Jeff Law <law@redhat.com>
To: Evgeny Stupachenko <evstupac@gmail.com>, Jan Hubicka <hubicka@ucw.cz>
Cc: Bernd Schmidt <bschmidt@redhat.com>,
	       Bernd Schmidt <bernds_cb1@t-online.de>,
	       GCC Patches <gcc-patches@gcc.gnu.org>
Subject: Re: [PATCH] New attribute to create target clones
Date: Fri, 30 Oct 2015 05:30:00 -0000	[thread overview]
Message-ID: <5632FFDD.6080303@redhat.com> (raw)
In-Reply-To: <CAOvf_xx3dZaL=9BnpY705J_5+_Z3NDdEyPo43EKKeaONGs2L+w@mail.gmail.com>

On 10/29/2015 12:13 PM, Evgeny Stupachenko wrote:
> 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.
You'll need updated ChangeLog entries.  Don't forget to drop the omp-low 
spurious whitespace change.

You should also fix the formatting nits Jan pointed out.

With those changes, this patch is OK for the trunk.  I'll run the header 
file reordering & cleanup tool after the patch is committed to the trunk.

jeff


  parent reply	other threads:[~2015-10-30  5:28 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-27 11:35 Evgeny Stupachenko
2015-09-08 11:47 ` Evgeny Stupachenko
2015-09-16 11:42   ` Evgeny Stupachenko
2015-09-21 13:43 ` Bernd Schmidt
2015-09-22 20:24   ` Jeff Law
2015-09-22 21:09     ` Bernd Schmidt
2015-09-22 23:52       ` Evgeny Stupachenko
2015-09-25  0:02         ` Evgeny Stupachenko
2015-10-02 13:18           ` Evgeny Stupachenko
2015-10-08 19:00           ` Jeff Law
2015-10-08 19:23             ` Jan Hubicka
2015-10-08 19:53               ` Jeff Law
2015-10-08 21:36                 ` Jan Hubicka
2015-10-09 17:45                   ` Jeff Law
2015-10-09 18:27                     ` Jan Hubicka
2015-10-09 19:57                       ` Evgeny Stupachenko
2015-10-09 20:04                         ` Jan Hubicka
2015-10-09 21:44                           ` Evgeny Stupachenko
2015-10-12 23:35                             ` Evgeny Stupachenko
2015-10-14 21:32                               ` Evgeny Stupachenko
2015-10-22 18:07                                 ` Evgeny Stupachenko
2015-10-26 15:59                               ` Jeff Law
2015-10-29 13:42                                 ` Evgeny Stupachenko
2015-10-29 17:07                                   ` Jan Hubicka
2015-10-29 18:15                                     ` Evgeny Stupachenko
2015-10-30  3:55                                       ` Jan Hubicka
2015-10-30  5:30                                       ` Jeff Law [this message]
2015-10-30 12:30                                         ` Evgeny Stupachenko
2015-10-08 20:01             ` Evgeny Stupachenko
2015-10-09  4:05               ` Jeff Law
2015-10-08 16:39       ` Jeff Law
2015-10-31 10:52 Dominique d'Humières
2015-11-02 14:50 ` Evgeny Stupachenko
2015-11-02 15:22   ` Dominique d'Humières
2015-11-02 17:02   ` Jeff Law
2015-11-03 11:45     ` Evgeny Stupachenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5632FFDD.6080303@redhat.com \
    --to=law@redhat.com \
    --cc=bernds_cb1@t-online.de \
    --cc=bschmidt@redhat.com \
    --cc=evstupac@gmail.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=hubicka@ucw.cz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).