Commit efc8f0d8 by Richard Sandiford Committed by Richard Sandiford

Remove constant handling from fold_builtin_{,f}abs

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.

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

From-SVN: r229427
parent cd8d6792
2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
* builtins.c (fold_builtin_fabs): Remove constant handling.
(fold_builtin_abs): Likewise.
2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
* builtins.c (fold_builtin_copysign): Delete.
(fold_builtin_2): Handle constant copysign arguments here.
* match.pd: Add rules previously handled by fold_builtin_copysign.
......@@ -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);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment