diff options
author | Roger Sayle <roger@eyesopen.com> | 2004-07-11 18:14:48 +0000 |
---|---|---|
committer | Roger Sayle <sayle@gcc.gnu.org> | 2004-07-11 18:14:48 +0000 |
commit | 9675412fd923871ec44eb30d70d3ef0f9d7811b6 (patch) | |
tree | 8ae61f65db968c0c276e91209918fc11f50b63e4 /gcc/tree-ssa-ccp.c | |
parent | fa27426eb1377c2a9e23f58424b4da5497e78c8d (diff) | |
download | gcc-9675412fd923871ec44eb30d70d3ef0f9d7811b6.zip gcc-9675412fd923871ec44eb30d70d3ef0f9d7811b6.tar.gz gcc-9675412fd923871ec44eb30d70d3ef0f9d7811b6.tar.bz2 |
builtins.c (fold_builtin_fputs): Don't bother converting the return type to integer_type_node...
* builtins.c (fold_builtin_fputs): Don't bother converting the
return type to integer_type_node, as we've already checked that
the result will be ignored.
* tree-eh.c (tree_could_trap_p): Add support for -ftrapv such
that signed addition, subtraction, multiplication, division,
remainder, negation and absolute value may potentially trap.
* fold-const.c (fold_ignored_result): New function to strip
non-side-effecting tree nodes from an expression whose result
is ignored.
(fold_convert): Call fold_ignored_result when casting a value
to VOID_TYPE.
(omit_one_operand): Call fold_ignored_result on the "omitted"
operand when building a COMPOUND_EXPR.
(pedantic_omit_one_operand): Likewise.
* tree.h (fold_ignored_result): Prototype here.
* tree-ssa-ccp.c (ccp_fold_builtin): Call fold_ignored_result
when we're going to ignore the result.
From-SVN: r84525
Diffstat (limited to 'gcc/tree-ssa-ccp.c')
-rw-r--r-- | gcc/tree-ssa-ccp.c | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/gcc/tree-ssa-ccp.c b/gcc/tree-ssa-ccp.c index 5b6fca6..7f28a9f 100644 --- a/gcc/tree-ssa-ccp.c +++ b/gcc/tree-ssa-ccp.c @@ -2386,16 +2386,7 @@ ccp_fold_builtin (tree stmt, tree fn) } if (result && ignore) - { - /* STRIP_NOPS isn't strong enough -- it'll stop when we change modes, - but given that we're ignoring the result, we don't care what type - is being returned by the transformed function. */ - while (TREE_CODE (result) == NOP_EXPR - || TREE_CODE (result) == CONVERT_EXPR - || TREE_CODE (result) == NON_LVALUE_EXPR) - result = TREE_OPERAND (result, 0); - } - + result = fold_ignored_result (result); return result; } |