public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH] passes.texi: fill crossref nodes (GCC Internals)
@ 2010-07-11  3:47 crquan
  2010-07-11  3:48 ` [PATCH] passes.c: handle register_pass with a name starting with a star crquan
  2011-04-18 21:35 ` [PATCH] passes.texi: fill crossref nodes (GCC Internals) Gerald Pfeifer
  0 siblings, 2 replies; 11+ messages in thread
From: crquan @ 2010-07-11  3:47 UTC (permalink / raw)
  To: gcc-patches
  Cc: Dennis, CHENG Renquan, Laurynas Biveinis,
	Manuel López-Ibáñez

From: "Dennis, CHENG Renquan" <crquan@fedoraproject.org>

Tested with "make info pdf".


2010-07-10  "Dennis, CHENG Renquan" <crquan@fedoraproject.org>

	* doc/passes.texi: fill crossref nodes

--- gcc-4.5-20100708/gcc/doc/passes.texi.orig	2009-11-25 13:08:37.000000000 +0800
+++ gcc-4.5-20100708/gcc/doc/passes.texi	2010-07-10 07:56:17.357340880 +0800
@@ -1,4 +1,4 @@
-@c markers: CROSSREF BUG TODO
+@c markers: BUG TODO
 
 @c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
 @c 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
@@ -32,7 +32,7 @@ where near complete.
 The language front end is invoked only once, via
 @code{lang_hooks.parse_file}, to parse the entire input.  The language
 front end may use any intermediate language representation deemed
-appropriate.  The C front end uses GENERIC trees (CROSSREF), plus
+appropriate.  The C front end uses GENERIC trees (@pxref{GENERIC}), plus
 a double handful of language specific tree codes defined in
 @file{c-common.def}.  The Fortran front end uses a completely different
 private representation.
@@ -46,10 +46,9 @@ private representation.
 At some point the front end must translate the representation used in the
 front end to a representation understood by the language-independent
 portions of the compiler.  Current practice takes one of two forms.
-The C front end manually invokes the gimplifier (CROSSREF) on each function,
+The C front end manually invokes the gimplifier (@pxref{GIMPLE}) on each function,
 and uses the gimplifier callbacks to convert the language-specific tree
-nodes directly to GIMPLE (CROSSREF) before passing the function off to
-be compiled.
+nodes directly to GIMPLE before passing the function off to be compiled.
 The Fortran front end converts from a private representation to GENERIC,
 which is later lowered to GIMPLE when the function is compiled.  Which
 route to choose probably depends on how well GENERIC (plus extensions)
@@ -111,8 +110,7 @@ definitions immediately or queue them fo
 @cindex GIMPLE
 @dfn{Gimplification} is a whimsical term for the process of converting
 the intermediate representation of a function into the GIMPLE language
-(CROSSREF).  The term stuck, and so words like ``gimplification'',
+(@pxref{GIMPLE}).  The term stuck, and so words like ``gimplification'',
 ``gimplify'', ``gimplifier'' and the like are sprinkled throughout this
 section of code.
 
--
Git 1.7.1.1

CHENG Renquan
38 St Thomas Walk, Singapore 238118      http://crquan.fedorapeople.org

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH] passes.c: handle register_pass with a name starting with a star
  2010-07-11  3:47 [PATCH] passes.texi: fill crossref nodes (GCC Internals) crquan
@ 2010-07-11  3:48 ` crquan
  2010-07-11  4:12   ` Dennis, CHENG Renquan
  2010-07-11 15:34   ` Dennis, CHENG Renquan
  2011-04-18 21:35 ` [PATCH] passes.texi: fill crossref nodes (GCC Internals) Gerald Pfeifer
  1 sibling, 2 replies; 11+ messages in thread
From: crquan @ 2010-07-11  3:48 UTC (permalink / raw)
  To: gcc-patches; +Cc: Dennis, CHENG Renquan

From: "Dennis, CHENG Renquan" <crquan@fedoraproject.org>

The gcc included passes have the feature that a name starting with a start do
not dump anything; so should the plugin registered passes have.

And since passes from gcc and from plugin both have been asserted having a name
at least; the check for pass->name in any following code is not necessary.

Bootstraped on i686-pc-linux-gnu with --enable-checking=all.

2010-07-10  "Dennis, CHENG Renquan" <crquan@fedoraproject.org>

	* passes.c (register_pass): handle plugin registered passes with
	a name starting with a star do not dump anything.
	* passes.c: remove some cases of pass->name check.

--- gcc-4.5-20100708/gcc/passes.c.orig	2010-05-19 21:14:37.000000000 +0800
+++ gcc-4.5-20100708/gcc/passes.c	2010-07-11 10:10:13.972787670 +0800
@@ -422,7 +422,7 @@ register_dump_files_1 (struct opt_pass *
       int new_properties = (properties | pass->properties_provided)
 			   & ~pass->properties_destroyed;
 
-      if (pass->name && pass->name[0] != '*')
+      if (pass->name[0] != '*')
         register_one_dump_file (pass);
 
       if (pass->sub)
@@ -488,7 +488,7 @@ make_pass_instance (struct opt_pass *pas
          and so it should rename the dump file.  The first instance will
          be -1, and be number of duplicates = -static_pass_number - 1.
          Subsequent instances will be > 0 and just the duplicate number.  */
-      if ((pass->name && pass->name[0] != '*') || track_duplicates)
+      if ((pass->name[0] != '*') || track_duplicates)
         {
           pass->static_pass_number -= 1;
           new_pass->static_pass_number = -pass->static_pass_number;
@@ -553,7 +553,6 @@ position_pass (struct register_pass_info
       /* Check if the current pass is of the same type as the new pass and
          matches the name and the instance number of the reference pass.  */
       if (pass->type == new_pass_info->pass->type
-          && pass->name
           && !strcmp (pass->name, new_pass_info->reference_pass_name)
           && ((new_pass_info->ref_pass_instance_number == 0)
               || (new_pass_info->ref_pass_instance_number ==
@@ -679,18 +678,22 @@ register_pass (struct register_pass_info
     {
       struct pass_list_node *next_node = added_pass_nodes->next;
       enum tree_dump_index tdi;
-      register_one_dump_file (added_pass_nodes->pass);
-      if (added_pass_nodes->pass->type == SIMPLE_IPA_PASS
-          || added_pass_nodes->pass->type == IPA_PASS)
-        tdi = TDI_ipa_all;
-      else if (added_pass_nodes->pass->type == GIMPLE_PASS)
-        tdi = TDI_tree_all;
-      else
-        tdi = TDI_rtl_all;
-      /* Check if dump-all flag is specified.  */
-      if (get_dump_file_info (tdi)->state)
-        get_dump_file_info (added_pass_nodes->pass->static_pass_number)
-            ->state = get_dump_file_info (tdi)->state;
+
+      if (added_pass_nodes->pass->name[0] != '*')
+	{
+	  register_one_dump_file (added_pass_nodes->pass);
+	  if (added_pass_nodes->pass->type == SIMPLE_IPA_PASS
+	      || added_pass_nodes->pass->type == IPA_PASS)
+	    tdi = TDI_ipa_all;
+	  else if (added_pass_nodes->pass->type == GIMPLE_PASS)
+	    tdi = TDI_tree_all;
+	  else
+	    tdi = TDI_rtl_all;
+	  /* Check if dump-all flag is specified.  */
+	  if (get_dump_file_info (tdi)->state)
+	    get_dump_file_info (added_pass_nodes->pass->static_pass_number)
+	      ->state = get_dump_file_info (tdi)->state;
+    	}
       XDELETE (added_pass_nodes);
       added_pass_nodes = next_node;
     }
@@ -1542,7 +1545,7 @@ execute_one_pass (struct opt_pass *pass)
   invoke_plugin_callbacks (PLUGIN_PASS_EXECUTION, pass);
 
   if (!quiet_flag && !cfun)
-    fprintf (stderr, " <%s>", pass->name ? pass->name : "");
+    fprintf (stderr, " <%s>", pass->name);
 
   /* Note that the folders should only create gimple expressions.
      This is a hack until the new folder is ready.  */

--
Git 1.7.1.1

CHENG Renquan
38 St Thomas Walk, Singapore 238118      http://crquan.fedorapeople.org

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] passes.c: handle register_pass with a name starting with  a star
  2010-07-11  3:48 ` [PATCH] passes.c: handle register_pass with a name starting with a star crquan
@ 2010-07-11  4:12   ` Dennis, CHENG Renquan
  2010-07-11 15:34   ` Dennis, CHENG Renquan
  1 sibling, 0 replies; 11+ messages in thread
From: Dennis, CHENG Renquan @ 2010-07-11  4:12 UTC (permalink / raw)
  To: gcc-patches

On Sun, Jul 11, 2010 at 11:47 AM,  <crquan@gmail.com> wrote:
> From: "Dennis, CHENG Renquan" <crquan@fedoraproject.org>
>
> The gcc included passes have the feature that a name starting with a start do
> not dump anything; so should the plugin registered passes have.
>
> And since passes from gcc and from plugin both have been asserted having a name
> at least; the check for pass->name in any following code is not necessary.
>
> Bootstraped on i686-pc-linux-gnu with --enable-checking=all.

Bootstraped and tested on i686-pc-linux-gnu with --enable-checking=all.

>
> 2010-07-10  "Dennis, CHENG Renquan" <crquan@fedoraproject.org>
>
>        * passes.c (register_pass): handle plugin registered passes with
>        a name starting with a star do not dump anything.
>        * passes.c: remove some cases of pass->name check.
>
> --- gcc-4.5-20100708/gcc/passes.c.orig  2010-05-19 21:14:37.000000000 +0800
> +++ gcc-4.5-20100708/gcc/passes.c       2010-07-11 10:10:13.972787670 +0800
[...]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH] passes.c: handle register_pass with a name starting with a star
  2010-07-11  3:48 ` [PATCH] passes.c: handle register_pass with a name starting with a star crquan
  2010-07-11  4:12   ` Dennis, CHENG Renquan
@ 2010-07-11 15:34   ` Dennis, CHENG Renquan
  2010-07-11 16:08     ` Andreas Schwab
  1 sibling, 1 reply; 11+ messages in thread
From: Dennis, CHENG Renquan @ 2010-07-11 15:34 UTC (permalink / raw)
  To: gcc-patches; +Cc: Dennis, CHENG Renquan

The gcc included passes have the feature that a name starting with a start do
not dump anything; so should the plugin registered passes have.

And since passes from gcc and from plugin both have been asserted having a name
at least; the check for pass->name in any following code is not necessary.

Bootstraped and tested on i686-pc-linux-gnu with "--enable-checking=all".

2010-07-10  "Dennis, CHENG Renquan" <crquan@fedoraproject.org>

	* passes.c (register_pass): handle plugin registered passes with
	a name starting with a star do not dump anything.
	* passes.c: remove some cases of pass->name check.

---
Updated: "enum tree_dump_index tdi" should be put inside the block.

--- gcc-4.5-20100708/gcc/passes.c.orig	2010-05-19 21:14:37.000000000 +0800
+++ gcc-4.5-20100708/gcc/passes.c	2010-07-11 17:33:07.098787669 +0800
@@ -422,7 +422,7 @@ register_dump_files_1 (struct opt_pass *
       int new_properties = (properties | pass->properties_provided)
 			   & ~pass->properties_destroyed;
 
-      if (pass->name && pass->name[0] != '*')
+      if (pass->name[0] != '*')
         register_one_dump_file (pass);
 
       if (pass->sub)
@@ -488,7 +488,7 @@ make_pass_instance (struct opt_pass *pas
          and so it should rename the dump file.  The first instance will
          be -1, and be number of duplicates = -static_pass_number - 1.
          Subsequent instances will be > 0 and just the duplicate number.  */
-      if ((pass->name && pass->name[0] != '*') || track_duplicates)
+      if ((pass->name[0] != '*') || track_duplicates)
         {
           pass->static_pass_number -= 1;
           new_pass->static_pass_number = -pass->static_pass_number;
@@ -553,7 +553,6 @@ position_pass (struct register_pass_info
       /* Check if the current pass is of the same type as the new pass and
          matches the name and the instance number of the reference pass.  */
       if (pass->type == new_pass_info->pass->type
-          && pass->name
           && !strcmp (pass->name, new_pass_info->reference_pass_name)
           && ((new_pass_info->ref_pass_instance_number == 0)
               || (new_pass_info->ref_pass_instance_number ==
@@ -678,19 +677,24 @@ register_pass (struct register_pass_info
   while (added_pass_nodes)
     {
       struct pass_list_node *next_node = added_pass_nodes->next;
-      enum tree_dump_index tdi;
-      register_one_dump_file (added_pass_nodes->pass);
-      if (added_pass_nodes->pass->type == SIMPLE_IPA_PASS
-          || added_pass_nodes->pass->type == IPA_PASS)
-        tdi = TDI_ipa_all;
-      else if (added_pass_nodes->pass->type == GIMPLE_PASS)
-        tdi = TDI_tree_all;
-      else
-        tdi = TDI_rtl_all;
-      /* Check if dump-all flag is specified.  */
-      if (get_dump_file_info (tdi)->state)
-        get_dump_file_info (added_pass_nodes->pass->static_pass_number)
-            ->state = get_dump_file_info (tdi)->state;
+
+      if (added_pass_nodes->pass->name[0] != '*')
+	{
+	  enum tree_dump_index tdi;
+
+	  register_one_dump_file (added_pass_nodes->pass);
+	  if (added_pass_nodes->pass->type == SIMPLE_IPA_PASS
+	      || added_pass_nodes->pass->type == IPA_PASS)
+	    tdi = TDI_ipa_all;
+	  else if (added_pass_nodes->pass->type == GIMPLE_PASS)
+	    tdi = TDI_tree_all;
+	  else
+	    tdi = TDI_rtl_all;
+	  /* Check if dump-all flag is specified.  */
+	  if (get_dump_file_info (tdi)->state)
+	    get_dump_file_info (added_pass_nodes->pass->static_pass_number)
+	      ->state = get_dump_file_info (tdi)->state;
+    	}
       XDELETE (added_pass_nodes);
       added_pass_nodes = next_node;
     }
@@ -1542,7 +1546,7 @@ execute_one_pass (struct opt_pass *pass)
   invoke_plugin_callbacks (PLUGIN_PASS_EXECUTION, pass);
 
   if (!quiet_flag && !cfun)
-    fprintf (stderr, " <%s>", pass->name ? pass->name : "");
+    fprintf (stderr, " <%s>", pass->name);
 
   /* Note that the folders should only create gimple expressions.
      This is a hack until the new folder is ready.  */

--
Git 1.7.1.1

CHENG Renquan
38 St Thomas Walk, Singapore 238118      http://crquan.fedorapeople.org

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] passes.c: handle register_pass with a name starting with a star
  2010-07-11 15:34   ` Dennis, CHENG Renquan
@ 2010-07-11 16:08     ` Andreas Schwab
  2010-07-11 17:04       ` Dennis, CHENG Renquan
  0 siblings, 1 reply; 11+ messages in thread
From: Andreas Schwab @ 2010-07-11 16:08 UTC (permalink / raw)
  To: Dennis, CHENG Renquan; +Cc: gcc-patches

"Dennis, CHENG Renquan" <crquan@fedoraproject.org> writes:

> @@ -488,7 +488,7 @@ make_pass_instance (struct opt_pass *pas
>           and so it should rename the dump file.  The first instance will
>           be -1, and be number of duplicates = -static_pass_number - 1.
>           Subsequent instances will be > 0 and just the duplicate number.  */
> -      if ((pass->name && pass->name[0] != '*') || track_duplicates)
> +      if ((pass->name[0] != '*') || track_duplicates)

Please remove the now unneeded pair of parens.

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH] passes.c: handle register_pass with a name starting with a star
  2010-07-11 16:08     ` Andreas Schwab
@ 2010-07-11 17:04       ` Dennis, CHENG Renquan
  2010-07-11 17:40         ` Basile Starynkevitch
  0 siblings, 1 reply; 11+ messages in thread
From: Dennis, CHENG Renquan @ 2010-07-11 17:04 UTC (permalink / raw)
  To: gcc-patches; +Cc: Andreas Schwab, Dennis, CHENG Renquan

The gcc included passes have the feature that a name starting with a start do
not dump anything; so should the plugin registered passes have.

And since passes from gcc and from plugin both have been asserted having a name
at least; the check for pass->name in any following code is not necessary.

Bootstraped and tested on i686-pc-linux-gnu with "--enable-checking=all".

2010-07-11  "Dennis, CHENG Renquan" <crquan@fedoraproject.org>

	* passes.c (register_pass): handle plugin registered passes with
	a name starting with a star do not dump anything.
	* passes.c: remove some cases of pass->name check.

--- gcc-4.5-20100708/gcc/passes.c.orig	2010-05-19 21:14:37.000000000 +0800
+++ gcc-4.5-20100708/gcc/passes.c	2010-07-12 00:58:48.999787669 +0800
@@ -422,7 +422,7 @@ register_dump_files_1 (struct opt_pass *
       int new_properties = (properties | pass->properties_provided)
 			   & ~pass->properties_destroyed;
 
-      if (pass->name && pass->name[0] != '*')
+      if (pass->name[0] != '*')
         register_one_dump_file (pass);
 
       if (pass->sub)
@@ -488,7 +488,7 @@ make_pass_instance (struct opt_pass *pas
          and so it should rename the dump file.  The first instance will
          be -1, and be number of duplicates = -static_pass_number - 1.
          Subsequent instances will be > 0 and just the duplicate number.  */
-      if ((pass->name && pass->name[0] != '*') || track_duplicates)
+      if (pass->name[0] != '*' || track_duplicates)
         {
           pass->static_pass_number -= 1;
           new_pass->static_pass_number = -pass->static_pass_number;
@@ -553,7 +553,6 @@ position_pass (struct register_pass_info
       /* Check if the current pass is of the same type as the new pass and
          matches the name and the instance number of the reference pass.  */
       if (pass->type == new_pass_info->pass->type
-          && pass->name
           && !strcmp (pass->name, new_pass_info->reference_pass_name)
           && ((new_pass_info->ref_pass_instance_number == 0)
               || (new_pass_info->ref_pass_instance_number ==
@@ -678,19 +677,24 @@ register_pass (struct register_pass_info
   while (added_pass_nodes)
     {
       struct pass_list_node *next_node = added_pass_nodes->next;
-      enum tree_dump_index tdi;
-      register_one_dump_file (added_pass_nodes->pass);
-      if (added_pass_nodes->pass->type == SIMPLE_IPA_PASS
-          || added_pass_nodes->pass->type == IPA_PASS)
-        tdi = TDI_ipa_all;
-      else if (added_pass_nodes->pass->type == GIMPLE_PASS)
-        tdi = TDI_tree_all;
-      else
-        tdi = TDI_rtl_all;
-      /* Check if dump-all flag is specified.  */
-      if (get_dump_file_info (tdi)->state)
-        get_dump_file_info (added_pass_nodes->pass->static_pass_number)
-            ->state = get_dump_file_info (tdi)->state;
+
+      if (added_pass_nodes->pass->name[0] != '*')
+	{
+	  enum tree_dump_index tdi;
+
+	  register_one_dump_file (added_pass_nodes->pass);
+	  if (added_pass_nodes->pass->type == SIMPLE_IPA_PASS
+	      || added_pass_nodes->pass->type == IPA_PASS)
+	    tdi = TDI_ipa_all;
+	  else if (added_pass_nodes->pass->type == GIMPLE_PASS)
+	    tdi = TDI_tree_all;
+	  else
+	    tdi = TDI_rtl_all;
+	  /* Check if dump-all flag is specified.  */
+	  if (get_dump_file_info (tdi)->state)
+	    get_dump_file_info (added_pass_nodes->pass->static_pass_number)
+	      ->state = get_dump_file_info (tdi)->state;
+    	}
       XDELETE (added_pass_nodes);
       added_pass_nodes = next_node;
     }
@@ -1542,7 +1546,7 @@ execute_one_pass (struct opt_pass *pass)
   invoke_plugin_callbacks (PLUGIN_PASS_EXECUTION, pass);
 
   if (!quiet_flag && !cfun)
-    fprintf (stderr, " <%s>", pass->name ? pass->name : "");
+    fprintf (stderr, " <%s>", pass->name);
 
   /* Note that the folders should only create gimple expressions.
      This is a hack until the new folder is ready.  */

--
Git 1.7.1.1

CHENG Renquan
38 St Thomas Walk, Singapore 238118      http://crquan.fedorapeople.org

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] passes.c: handle register_pass with a name starting with a star
  2010-07-11 17:04       ` Dennis, CHENG Renquan
@ 2010-07-11 17:40         ` Basile Starynkevitch
  2010-07-11 18:14           ` Dennis, CHENG Renquan
  2010-07-11 18:17           ` Dennis, CHENG Renquan
  0 siblings, 2 replies; 11+ messages in thread
From: Basile Starynkevitch @ 2010-07-11 17:40 UTC (permalink / raw)
  To: Dennis, CHENG Renquan; +Cc: gcc-patches, Andreas Schwab

On Mon, 2010-07-12 at 01:03 +0800, Dennis, CHENG Renquan wrote:
> The gcc included passes have the feature that a name starting with a start do
> not dump anything; so should the plugin registered passes have.


I agree with the patch (but I am not authorized to OK it). However, I
strongly believe that we should specifically document that plugin
registered passes should have a name, and that a name starting with a
star don't have any dump files. AFAIK, nothing is clearly written in
http://gcc.gnu.org/onlinedocs/gccint/Plugins.html

And I would rather have the plugin pass registration code check that the
newly inserted plugin pass does have a name, (& probably either a gate
or an exec function, etc.).

Cheers.
-- 
Basile STARYNKEVITCH         http://starynkevitch.net/Basile/
email: basile<at>starynkevitch<dot>net mobile: +33 6 8501 2359
8, rue de la Faiencerie, 92340 Bourg La Reine, France
*** opinions {are only mine, sont seulement les miennes} ***

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] passes.c: handle register_pass with a name starting with  a star
  2010-07-11 17:40         ` Basile Starynkevitch
@ 2010-07-11 18:14           ` Dennis, CHENG Renquan
  2010-07-11 18:17           ` Dennis, CHENG Renquan
  1 sibling, 0 replies; 11+ messages in thread
From: Dennis, CHENG Renquan @ 2010-07-11 18:14 UTC (permalink / raw)
  To: basile; +Cc: gcc-patches, Andreas Schwab

On Mon, Jul 12, 2010 at 1:39 AM, Basile Starynkevitch
<basile@starynkevitch.net> wrote:
> On Mon, 2010-07-12 at 01:03 +0800, Dennis, CHENG Renquan wrote:
>> The gcc included passes have the feature that a name starting with a start do
>> not dump anything; so should the plugin registered passes have.
>
> I agree with the patch (but I am not authorized to OK it). However, I
> strongly believe that we should specifically document that plugin
> registered passes should have a name, and that a name starting with a

> And I would rather have the plugin pass registration code check that the
> newly inserted plugin pass does have a name, (& probably either a gate
> or an exec function, etc.).

It really already has, inside register_pass (passes.c), the entry for
all plugin registered passes:

void
register_pass (struct register_pass_info *pass_info)
{
  bool all_instances, success;

  /* The checks below could fail in buggy plugins.  Existing GCC
     passes should never fail these checks, so we mention plugin in
     the messages.  */
  if (!pass_info->pass)
      fatal_error ("plugin cannot register a missing pass");

  if (!pass_info->pass->name)
      fatal_error ("plugin cannot register an unnamed pass");

If pass doesn't have a name, it would exit with fatal_error;

> star don't have any dump files. AFAIK, nothing is clearly written in
> http://gcc.gnu.org/onlinedocs/gccint/Plugins.html
The real problem should be the documentation, I should have another
patch to document plugin registered pass (passes.texi);

>
> Cheers.
> --
> Basile STARYNKEVITCH         http://starynkevitch.net/Basile/
> email: basile<at>starynkevitch<dot>net mobile: +33 6 8501 2359
> 8, rue de la Faiencerie, 92340 Bourg La Reine, France
> *** opinions {are only mine, sont seulement les miennes} ***

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] passes.c: handle register_pass with a name starting with  a star
  2010-07-11 17:40         ` Basile Starynkevitch
  2010-07-11 18:14           ` Dennis, CHENG Renquan
@ 2010-07-11 18:17           ` Dennis, CHENG Renquan
  2010-07-20 10:21             ` Dennis, CHENG Renquan
  1 sibling, 1 reply; 11+ messages in thread
From: Dennis, CHENG Renquan @ 2010-07-11 18:17 UTC (permalink / raw)
  To: basile; +Cc: gcc-patches, Andreas Schwab

On Mon, Jul 12, 2010 at 1:39 AM, Basile Starynkevitch
<basile@starynkevitch.net> wrote:
> On Mon, 2010-07-12 at 01:03 +0800, Dennis, CHENG Renquan wrote:
>> The gcc included passes have the feature that a name starting with a start do
>> not dump anything; so should the plugin registered passes have.

And I have a plugin "dotgen" utilizing this "no dump file" pass
feature; there explained
http://gcc.gnu.org/ml/gcc/2010-07/msg00170.html

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] passes.c: handle register_pass with a name starting with  a star
  2010-07-11 18:17           ` Dennis, CHENG Renquan
@ 2010-07-20 10:21             ` Dennis, CHENG Renquan
  0 siblings, 0 replies; 11+ messages in thread
From: Dennis, CHENG Renquan @ 2010-07-20 10:21 UTC (permalink / raw)
  To: Basile Starynkevitch; +Cc: gcc-patches, Andreas Schwab

On Mon, Jul 12, 2010 at 3:17 AM, Basile Starynkevitch
<basile@starynkevitch.net> wrote:
> I did know about this star name convention. I very probably contributed
> to discuss & implement it.

where, have you implemented it somewhere? if what I did is really
duplicate, I will give up;

On Mon, Jul 12, 2010 at 2:17 AM, Dennis, CHENG Renquan
<crquan@fedoraproject.org> wrote:
> On Mon, Jul 12, 2010 at 1:39 AM, Basile Starynkevitch
> <basile@starynkevitch.net> wrote:
>> On Mon, 2010-07-12 at 01:03 +0800, Dennis, CHENG Renquan wrote:
>>> The gcc included passes have the feature that a name starting with a start do
>>> not dump anything; so should the plugin registered passes have.
>
> And I have a plugin "dotgen" utilizing this "no dump file" pass
> feature; there explained
> http://gcc.gnu.org/ml/gcc/2010-07/msg00170.html

pinging, some other comments?

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] passes.texi: fill crossref nodes (GCC Internals)
  2010-07-11  3:47 [PATCH] passes.texi: fill crossref nodes (GCC Internals) crquan
  2010-07-11  3:48 ` [PATCH] passes.c: handle register_pass with a name starting with a star crquan
@ 2011-04-18 21:35 ` Gerald Pfeifer
  1 sibling, 0 replies; 11+ messages in thread
From: Gerald Pfeifer @ 2011-04-18 21:35 UTC (permalink / raw)
  To: crquan, Dennis, CHENG Renquan
  Cc: gcc-patches, Laurynas Biveinis, Manuel López-Ibáñez

Hi there,

On Sun, 11 Jul 2010, crquan@gmail.com wrote:
> From: "Dennis, CHENG Renquan" <crquan@fedoraproject.org>
> 
> Tested with "make info pdf".

it seems your patch fell through the cracks.  Sorry about that!

I have now reviewed it, adjusted the ChangeLog entry, and committed
it to the current development head as well as the GCC 4.6 branch after
build tests there, too.

If you have further patches, please let us know!  And do not hesitate
to ping a patch if you are not seeing any response within a week.

Gerald


2011-04-17  Dennis, CHENG Renquan  <crquan@fedoraproject.org>

	* doc/passes.texi: Fill crossref nodes.

Index: doc/passes.texi
===================================================================
--- doc/passes.texi	(revision 172618)
+++ doc/passes.texi	(working copy)
@@ -1,4 +1,4 @@
-@c markers: CROSSREF BUG TODO
+@c markers: BUG TODO
 
 @c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
 @c 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
@@ -32,7 +32,7 @@
 The language front end is invoked only once, via
 @code{lang_hooks.parse_file}, to parse the entire input.  The language
 front end may use any intermediate language representation deemed
-appropriate.  The C front end uses GENERIC trees (CROSSREF), plus
+appropriate.  The C front end uses GENERIC trees (@pxref{GENERIC}), plus
 a double handful of language specific tree codes defined in
 @file{c-common.def}.  The Fortran front end uses a completely different
 private representation.
@@ -46,10 +46,9 @@
 At some point the front end must translate the representation used in the
 front end to a representation understood by the language-independent
 portions of the compiler.  Current practice takes one of two forms.
-The C front end manually invokes the gimplifier (CROSSREF) on each function,
+The C front end manually invokes the gimplifier (@pxref{GIMPLE}) on each function,
 and uses the gimplifier callbacks to convert the language-specific tree
-nodes directly to GIMPLE (CROSSREF) before passing the function off to
-be compiled.
+nodes directly to GIMPLE before passing the function off to be compiled.
 The Fortran front end converts from a private representation to GENERIC,
 which is later lowered to GIMPLE when the function is compiled.  Which
 route to choose probably depends on how well GENERIC (plus extensions)
@@ -111,11 +110,10 @@
 @cindex GIMPLE
 @dfn{Gimplification} is a whimsical term for the process of converting
 the intermediate representation of a function into the GIMPLE language
-(CROSSREF).  The term stuck, and so words like ``gimplification'',
+(@pxref{GIMPLE}).  The term stuck, and so words like ``gimplification'',
 ``gimplify'', ``gimplifier'' and the like are sprinkled throughout this
 section of code.
 
-@cindex GENERIC
 While a front end may certainly choose to generate GIMPLE directly if
 it chooses, this can be a moderately complex process unless the
 intermediate language used by the front end is already fairly simple.

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2011-04-18 21:28 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-07-11  3:47 [PATCH] passes.texi: fill crossref nodes (GCC Internals) crquan
2010-07-11  3:48 ` [PATCH] passes.c: handle register_pass with a name starting with a star crquan
2010-07-11  4:12   ` Dennis, CHENG Renquan
2010-07-11 15:34   ` Dennis, CHENG Renquan
2010-07-11 16:08     ` Andreas Schwab
2010-07-11 17:04       ` Dennis, CHENG Renquan
2010-07-11 17:40         ` Basile Starynkevitch
2010-07-11 18:14           ` Dennis, CHENG Renquan
2010-07-11 18:17           ` Dennis, CHENG Renquan
2010-07-20 10:21             ` Dennis, CHENG Renquan
2011-04-18 21:35 ` [PATCH] passes.texi: fill crossref nodes (GCC Internals) Gerald Pfeifer

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).