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: Avoid global optimize flag checks in LTO


On 7 July 2017 15:31:55 CEST, Jan Hubicka <hubicka@ucw.cz> wrote:
>Hi,
>this patch fixes some places where we check global optimize flag rather
>than
>doing it per-function. This makes optimization attribute work closer to
>what one gets when passing the same flag at command line.
>This requires to run IPA passes even with !optimize, but having fast
>way through
>which does mostly nothing except when it sees functions with optimize
>attributes
>set.

Sounds gross.
>
>Bootstrapped/regtested x86_64-linux, comitted.
>	

>Index: ipa-visibility.c
>===================================================================
>--- ipa-visibility.c	(revision 250021)
>+++ ipa-visibility.c	(working copy)
>@@ -622,9 +622,12 @@ function_and_variable_visibility (bool w
>       int flags = flags_from_decl_or_type (node->decl);
> 
>      /* Optimize away PURE and CONST constructors and destructors.  */
>-      if (optimize
>+      if (node->analyzed
>+	  && (DECL_STATIC_CONSTRUCTOR (node->decl)
>+	      || DECL_STATIC_CONSTRUCTOR (node->decl))

Typo DECL_STATIC_DESTRUCTOR

thanks,


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