Sorry, it is a typo :(

Patch v2:

--

2014-08-11  Yi Yang  <ahyan...@google.com>

gcc:
    * bb-reorder.c (pass_partition_blocks::gate): Replace check.
    * c-family/c-common.c (handle_section_attribute): Remove
user_defined_section_attribute
    * final.c (rest_of_handle_final): ditto
    * toplev.c (user_defined_section_attribute): ditto
    * toplev.h (user_defined_section_attribute): ditto

diff --git gcc/bb-reorder.c gcc/bb-reorder.c
index 96547c2..7b74887 100644
--- gcc/bb-reorder.c
+++ gcc/bb-reorder.c
@@ -95,7 +95,6 @@
 #include "expr.h"
 #include "params.h"
 #include "diagnostic-core.h"
-#include "toplev.h" /* user_defined_section_attribute */
 #include "tree-pass.h"
 #include "df.h"
 #include "bb-reorder.h"
@@ -2671,11 +2670,9 @@ pass_partition_blocks::gate (function *fun)
      arises.  */
   return (flag_reorder_blocks_and_partition
   && optimize
-  /* See gate_handle_reorder_blocks.  We should not partition if
-     we are going to omit the reordering.  */
   && optimize_function_for_speed_p (fun)
   && !DECL_COMDAT_GROUP (current_function_decl)
-  && !user_defined_section_attribute);
+  && !DECL_SECTION_NAME (current_function_decl));
 }

 unsigned
diff --git gcc/c-family/c-common.c gcc/c-family/c-common.c
index acc9a20..967ae2b 100644
--- gcc/c-family/c-common.c
+++ gcc/c-family/c-common.c
@@ -7395,8 +7395,6 @@ handle_section_attribute (tree *node, tree
ARG_UNUSED (name), tree args,

   if (targetm_common.have_named_sections)
     {
-      user_defined_section_attribute = true;
-
       if ((TREE_CODE (decl) == FUNCTION_DECL
    || TREE_CODE (decl) == VAR_DECL)
   && TREE_CODE (TREE_VALUE (args)) == STRING_CST)
diff --git gcc/final.c gcc/final.c
index 304ae2a..3fee226 100644
--- gcc/final.c
+++ gcc/final.c
@@ -4460,8 +4460,6 @@ rest_of_handle_final (void)

   assemble_end_function (current_function_decl, fnname);

-  user_defined_section_attribute = false;
-
   /* Free up reg info memory.  */
   free_reg_info ();

diff --git gcc/toplev.c gcc/toplev.c
index 88d48c2..07d5e05 100644
--- gcc/toplev.c
+++ gcc/toplev.c
@@ -152,11 +152,6 @@ HOST_WIDE_INT random_seed;
    the support provided depends on the backend.  */
 rtx stack_limit_rtx;

-/* True if the user has tagged the function with the 'section'
-   attribute.  */
-
-bool user_defined_section_attribute = false;
-
 struct target_flag_state default_target_flag_state;
 #if SWITCHABLE_TARGET
 struct target_flag_state *this_target_flag_state = &default_target_flag_state;
diff --git gcc/toplev.h gcc/toplev.h
index 1b54578..b0d0ca4 100644
--- gcc/toplev.h
+++ gcc/toplev.h
@@ -53,11 +53,6 @@ extern void target_reinit (void);
 /* A unique local time stamp, might be zero if none is available.  */
 extern unsigned local_tick;

-/* True if the user has tagged the function with the 'section'
-   attribute.  */
-
-extern bool user_defined_section_attribute;
-
 /* See toplev.c.  */
 extern int flag_rerun_cse_after_global_opts;

-- 

On Mon, Aug 11, 2014 at 1:46 PM, H.J. Lu <hjl.to...@gmail.com> wrote:
> On Mon, Aug 11, 2014 at 1:41 PM, Yi Yang <ahyan...@google.com> wrote:
>> Replace checking user_defined_section_attribute with directly checking
>> DECL_SECTION_NAME. The former does not work in the presence of IPA.
>>
>> See also: discussion on the same patch in Google branch:
>> https://gcc.gnu.org/ml/gcc-patches/2014-08/msg00749.html
>>
>> --
>>
>> 2014-08-11  Yi Yang  <ahyan...@google.com>
>>
>> gcc:
>>     * bb-reorder.c (pass_partition_blocks::gate): Replace check.
>>     * c-family/c-common.c (handle_section_attribute): Remove
>> user_defined_section_attribute
>>     * final.c (rest_of_handle_final): ditto
>>     * toplev.c (user_defined_section_attribute): ditto
>>     * toplev.h (user_defined_section_attribute): ditto
>>
>> diff --git gcc/bb-reorder.c gcc/bb-reorder.c
>> index 96547c2..747831c 100644
>> --- gcc/bb-reorder.c
>> +++ gcc/bb-reorder.c
>> @@ -95,7 +95,6 @@
>>  #include "expr.h"
>>  #include "params.h"
>>  #include "diagnostic-core.h"
>> -#include "toplev.h" /* user_defined_section_attribute */
>>  #include "tree-pass.h"
>>  #include "df.h"
>>  #include "bb-reorder.h"
>> @@ -2671,11 +2670,9 @@ pass_partition_blocks::gate (function *fun)
>>       arises.  */
>>    return (flag_reorder_blocks_and_partition
>>    && optimize
>> -  /* See gate_handle_reorder_blocks.  We should not partition if
>> -     we are going to omit the reordering.  */
>>    && optimize_function_for_speed_p (fun)
>> -  && !DECL_COMDAT_GROUP (current_function_decl)
>> -  && !user_defined_section_attribute);
>> +  && !DECL_COMDAT_GROUP (current_function_decl);
>
>              ^^^ Is this extra ';' a typo?
>
>> +  && !DECL_SECTION_NAME (current_function_decl));
>>  }
>>
>
>
>
> --
> H.J.

Reply via email to