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: [RFC] New SRA and early interprocedural SRA


Hi,
> +  /* DECL_WEAK test is required because otherwise we might get $symbolis
> +     already defined assembler messages (as we e.g. get for libgomp
> +     collapse-2.exe test case (at -O1).  */
> +  if (!cgraph_node_can_be_local_p (node) || DECL_WEAK (current_function_decl))

this test is wrong.  We need to bring DECL_WEAK symbols local in
localize* function instead of ignoring them here.  This disables
transformation on most of C++ inline functions.
> +    {
> +      if (dump_file)
> +	fprintf (dump_file, "Function not local to this compilation unit.\n");
> +      return 0;
> +    }
> +
> +  if ((DECL_COMDAT (node->decl) || DECL_EXTERNAL (node->decl))
and I guess test DECL_WEAK here too.  This is probably reason why patch
stopped having (negative) effect on tramp3d scores...

Honza


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