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: [PATCH, rs6000] enable early debug and disable switch for gimple folding


Hi!

On Tue, Aug 08, 2017 at 04:14:56PM -0500, Will Schmidt wrote:
>     	* config/rs6000/rs6000.c: rs6000_option_override_internal() Add blurb
>     	to indicate when early gimple folding has been disabled.

	* config/rs6000/rs6000.c (rs6000_option_override_internal): ...


>     	rs6000_gimple_fold_builtin(): Add debug content.

	(rs6000_gimple_fold_builtin): ...

> @@ -16157,10 +16161,26 @@ rs6000_gimple_fold_builtin (gimple_stmt_iterator *gsi)
>    gcc_checking_assert (fndecl && DECL_BUILT_IN_CLASS (fndecl) == BUILT_IN_MD);
>    enum rs6000_builtins fn_code
>      = (enum rs6000_builtins) DECL_FUNCTION_CODE (fndecl);
>    tree arg0, arg1, lhs;
>  
> +  size_t uns_fncode = (size_t)fn_code;

Space after cast.  More of this in the rest of the patch.

> +  if (TARGET_DEBUG_BUILTIN)
> +  {
> +      fprintf (stderr, "rs6000_gimple_fold_builtin %d %s %s \n",
> +	       fn_code,fn_name1,fn_name2);

No space before \n, space after commas.

> +  if (rs6000_gimple_folding_disable)
> +     return false;

One space indented too many there.

> diff --git a/gcc/config/rs6000/rs6000.opt b/gcc/config/rs6000/rs6000.opt
> index e94aa07..4372b00 100644
> --- a/gcc/config/rs6000/rs6000.opt
> +++ b/gcc/config/rs6000/rs6000.opt
> @@ -146,10 +146,14 @@ Generate AltiVec instructions using little-endian element order.
>  
>  maltivec=be
>  Target Report RejectNegative Var(rs6000_altivec_element_order, 2)
>  Generate AltiVec instructions using big-endian element order.
>  
> +mgimple-folding=off
> +Target Report RejectNegative Var(rs6000_gimple_folding_disable, 1)
> +Disable early gimple folding of builtins.

Please use -mgimple-folding instead, or better, -mfold-gimple, along
with its no- variant?  So no RejectNegative.

It's probably easier to read if the internal var is the positive
version, too?


Segher


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