Ping
On Mon, Aug 11, 2014 at 3:10 PM, Yi Yang <ahyan...@google.com> wrote: > 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.