aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-dom.c
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2008-03-26 11:09:43 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2008-03-26 11:09:43 +0000
commitcf3135aaa1c0553f5e61128eea65fabbfb101eaf (patch)
tree4aad68ab876037b00330e7b405df515b72769af7 /gcc/tree-ssa-dom.c
parent49e013b373db31b854984a3b71f1764a0d80ed7e (diff)
downloadgcc-cf3135aaa1c0553f5e61128eea65fabbfb101eaf.zip
gcc-cf3135aaa1c0553f5e61128eea65fabbfb101eaf.tar.gz
gcc-cf3135aaa1c0553f5e61128eea65fabbfb101eaf.tar.bz2
tree-flow.h (widen_bitfield): Remove declaration.
2008-03-26 Richard Guenther <rguenther@suse.de> * tree-flow.h (widen_bitfield): Remove declaration. * tree-ssa-ccp.c (visit_assignment): Remove unneeded code. (widen_bitfield): Remove function. * tree-ssa-dom.c (record_equivalences_from_stmt): Remove unneeded code. From-SVN: r133597
Diffstat (limited to 'gcc/tree-ssa-dom.c')
-rw-r--r--gcc/tree-ssa-dom.c37
1 files changed, 6 insertions, 31 deletions
diff --git a/gcc/tree-ssa-dom.c b/gcc/tree-ssa-dom.c
index 64ff4ef..909bfeb 100644
--- a/gcc/tree-ssa-dom.c
+++ b/gcc/tree-ssa-dom.c
@@ -1595,38 +1595,13 @@ record_equivalences_from_stmt (tree stmt, int may_optimize_p, stmt_ann_t ann)
tree rhs = GIMPLE_STMT_OPERAND (stmt, 1);
tree new_stmt;
- /* FIXME: If the LHS of the assignment is a bitfield and the RHS
- is a constant, we need to adjust the constant to fit into the
- type of the LHS. If the LHS is a bitfield and the RHS is not
- a constant, then we can not record any equivalences for this
- statement since we would need to represent the widening or
- narrowing of RHS. This fixes gcc.c-torture/execute/921016-1.c
- and should not be necessary if GCC represented bitfields
- properly. */
- if (lhs_code == COMPONENT_REF
- && DECL_BIT_FIELD (TREE_OPERAND (lhs, 1)))
- {
- if (TREE_CONSTANT (rhs))
- rhs = widen_bitfield (rhs, TREE_OPERAND (lhs, 1), lhs);
- else
- rhs = NULL;
-
- /* If the value overflowed, then we can not use this equivalence. */
- if (rhs && ! is_gimple_min_invariant (rhs))
- rhs = NULL;
- }
-
- if (rhs)
- {
- /* Build a new statement with the RHS and LHS exchanged. */
- new_stmt = build_gimple_modify_stmt (rhs, lhs);
-
- create_ssa_artificial_load_stmt (new_stmt, stmt, true);
+ /* Build a new statement with the RHS and LHS exchanged. */
+ new_stmt = build_gimple_modify_stmt (rhs, lhs);
+ create_ssa_artificial_load_stmt (new_stmt, stmt, true);
- /* Finally enter the statement into the available expression
- table. */
- lookup_avail_expr (new_stmt, true);
- }
+ /* Finally enter the statement into the available expression
+ table. */
+ lookup_avail_expr (new_stmt, true);
}
}