[PATCH, function-specific, committed] Add #pragma GCC option/optimize, attribute((optimize))

Ralf Wildenhues Ralf.Wildenhues@gmx.de
Mon Jun 23 18:25:00 GMT 2008


Hello,

a couple of typo nits again:

* Michael Meissner wrote on Mon, Jun 23, 2008 at 04:47:08PM CEST:
> 	* tree.c (cl_optimization_node): New static node to build
> 	OPTIMIZATION_NODE's.

> 	(build_target_option_ndoe): New function to return a tree that

s/ndoe/node/

> 	includes the target options that can be specified for target
> 	specific optimization.

> 	* config.gcc (x86_64-*-darwin*): Make sure tmake_file includes
> 	previoius tmake_file's.  Make sure c_target_objs includes previous

s/ioi/io/

> 	c_target_objs.


> 	* config/i386/i386.c (ix86_valid_option_attribute_tree): New
> 	function, split from ix86_valid_option_attribute_p, to be common
> 	code between attribute and pragma parsing.

> 	(ix86_set_current_function): Rewrite how the target options are
> 	set up and when to call target_reinit.  Use the current target
> 	options intead of the default options, so that #pragma GCC option

s/int/inst/

> 	works correctly.

> --- gcc/doc/extend.texi	(revision 136933)
> +++ gcc/doc/extend.texi	(working copy)

> @@ -2827,6 +2838,34 @@ target options of the caller.  For examp

> +This can be used for instance to have frequently executed functions
> +compiled with more aggressive optimization options that produce faster
> +and larger code, while other functions can be called with less
> +agressive options.  The @code{hot} attribute implies

s/agre/aggre/

> +@code{optimize("O3")}, and @code{cold} attribute implies
> +@code{optimize("Os")}.

> --- gcc/c-common.c	(revision 136933)
> +++ gcc/c-common.c	(working copy)

> @@ -6586,6 +6612,160 @@ handle_option_attribute (tree *node, tre

> +bool
> +parse_optimize_options (tree args, bool attr_p)
> +{

> +		  /* Assume that Ox is -Ox, a numeric value is -Ox, a s by
> +		     itself is -Os, and any other swtich begins with a -f.  */

s/swtich/switch/

Cheers,
Ralf



More information about the Gcc-patches mailing list