diff options
author | Richard Guenther <rguenther@suse.de> | 2011-08-30 14:06:00 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2011-08-30 14:06:00 +0000 |
commit | 315f5f1bfbcbc444e5853fb54fa37edae58e5f91 (patch) | |
tree | 04e75f6b96cabc5abbb23cc93d17526c05e9e9f7 /gcc/gimple.h | |
parent | 2ddd46d69b09a88fb82832285b69090fa08bddc2 (diff) | |
download | gcc-315f5f1bfbcbc444e5853fb54fa37edae58e5f91.tar.gz |
re PR tree-optimization/48571 (Missed data-dependence for (bogus?) reconstructed array-refs)
2011-08-30 Richard Guenther <rguenther@suse.de>
PR middle-end/48571
* gimple.h (maybe_fold_offset_to_address): Remove.
(maybe_fold_offset_to_reference): Likewise.
(maybe_fold_stmt_addition): Likewise.
(may_propagate_address_into_dereference): Likewise.
* tree-inline.c (remap_gimple_op_r): Do not reconstruct
array references.
* gimple-fold.c (canonicalize_constructor_val): Likewise.
Canonicalize invariant POINTER_PLUS_EXPRs to invariant MEM_REF
addresses instead.
(may_propagate_address_into_dereference): Remove.
(maybe_fold_offset_to_array_ref): Likewise.
(maybe_fold_offset_to_reference): Likewise.
(maybe_fold_offset_to_address): Likewise.
(maybe_fold_stmt_addition): Likewise.
(fold_gimple_assign): Do not reconstruct array references but
instead canonicalize invariant POINTER_PLUS_EXPRs to invariant
MEM_REF addresses.
(gimple_fold_stmt_to_constant_1): Likewise.
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Likewise.
* gimplify.c (gimplify_conversion): Likewise.
(gimplify_expr): Likewise.
* gcc.c-torture/execute/pr48571-1.c: New testcase.
* gcc.dg/tree-ssa/ssa-ccp-25.c: Remove.
* gcc.dg/tree-ssa/ssa-ccp-26.c: Likewise.
* gcc.dg/pr36902.c: XFAIL.
From-SVN: r178312
Diffstat (limited to 'gcc/gimple.h')
-rw-r--r-- | gcc/gimple.h | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/gcc/gimple.h b/gcc/gimple.h index 27b20482876..7f831dffcaf 100644 --- a/gcc/gimple.h +++ b/gcc/gimple.h @@ -5069,12 +5069,8 @@ void gimplify_and_update_call_from_tree (gimple_stmt_iterator *, tree); tree gimple_fold_builtin (gimple); bool fold_stmt (gimple_stmt_iterator *); bool fold_stmt_inplace (gimple); -tree maybe_fold_offset_to_address (location_t, tree, tree, tree); -tree maybe_fold_offset_to_reference (location_t, tree, tree, tree); -tree maybe_fold_stmt_addition (location_t, tree, tree, tree); tree get_symbol_constant_value (tree); tree canonicalize_constructor_val (tree); -bool may_propagate_address_into_dereference (tree, tree); extern tree maybe_fold_and_comparisons (enum tree_code, tree, tree, enum tree_code, tree, tree); extern tree maybe_fold_or_comparisons (enum tree_code, tree, tree, |