diff mbox

Remove constant handling from fold_builtin_{,f}abs

Message ID 8737wyvtq8.fsf@e105548-lin.cambridge.arm.com
State New
Headers show

Commit Message

Richard Sandiford Oct. 26, 2015, 9:56 a.m. UTC
fold_builtin_fabs and fold_builtin_abs had code to handle constant
arguments, but this simply duplicated what the following fold_build1_loc
would do for ABS_EXPR.

Tested on x86_64-linux-gnu, aarch64-linux-gnu and arm-linux-gnueabi.
OK to install?

Thanks,
Richard


gcc/
	* builtins.c (fold_builtin_fabs): Remove constant handling.
	(fold_builtin_abs): Likewise.

Comments

Richard Biener Oct. 26, 2015, 10:41 a.m. UTC | #1
On Mon, Oct 26, 2015 at 10:56 AM, Richard Sandiford
<richard.sandiford@arm.com> wrote:
> fold_builtin_fabs and fold_builtin_abs had code to handle constant
> arguments, but this simply duplicated what the following fold_build1_loc
> would do for ABS_EXPR.
>
> Tested on x86_64-linux-gnu, aarch64-linux-gnu and arm-linux-gnueabi.
> OK to install?

Ok.

Thanks,
Richard.

> Thanks,
> Richard
>
>
> gcc/
>         * builtins.c (fold_builtin_fabs): Remove constant handling.
>         (fold_builtin_abs): Likewise.
>
> diff --git a/gcc/builtins.c b/gcc/builtins.c
> index ed0030d..a03dffc 100644
> --- a/gcc/builtins.c
> +++ b/gcc/builtins.c
> @@ -7847,8 +7847,6 @@ fold_builtin_fabs (location_t loc, tree arg, tree type)
>      return NULL_TREE;
>
>    arg = fold_convert_loc (loc, type, arg);
> -  if (TREE_CODE (arg) == REAL_CST)
> -    return fold_abs_const (arg, type);
>    return fold_build1_loc (loc, ABS_EXPR, type, arg);
>  }
>
> @@ -7861,8 +7859,6 @@ fold_builtin_abs (location_t loc, tree arg, tree type)
>      return NULL_TREE;
>
>    arg = fold_convert_loc (loc, type, arg);
> -  if (TREE_CODE (arg) == INTEGER_CST)
> -    return fold_abs_const (arg, type);
>    return fold_build1_loc (loc, ABS_EXPR, type, arg);
>  }
>
>
diff mbox

Patch

diff --git a/gcc/builtins.c b/gcc/builtins.c
index ed0030d..a03dffc 100644
--- a/gcc/builtins.c
+++ b/gcc/builtins.c
@@ -7847,8 +7847,6 @@  fold_builtin_fabs (location_t loc, tree arg, tree type)
     return NULL_TREE;
 
   arg = fold_convert_loc (loc, type, arg);
-  if (TREE_CODE (arg) == REAL_CST)
-    return fold_abs_const (arg, type);
   return fold_build1_loc (loc, ABS_EXPR, type, arg);
 }
 
@@ -7861,8 +7859,6 @@  fold_builtin_abs (location_t loc, tree arg, tree type)
     return NULL_TREE;
 
   arg = fold_convert_loc (loc, type, arg);
-  if (TREE_CODE (arg) == INTEGER_CST)
-    return fold_abs_const (arg, type);
   return fold_build1_loc (loc, ABS_EXPR, type, arg);
 }