diff options
author | Richard Guenther <rguenther@suse.de> | 2011-12-05 14:36:44 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2011-12-05 14:36:44 +0000 |
commit | 546d314cf6a6bc23a151fa63143b23907c20bc0d (patch) | |
tree | 4ff938497e864ee7720a2f079095533642f02ebb /gcc/pointer-set.c | |
parent | 14cd91f923c6977d085287a91b26b32919754047 (diff) | |
download | gcc-546d314cf6a6bc23a151fa63143b23907c20bc0d.zip gcc-546d314cf6a6bc23a151fa63143b23907c20bc0d.tar.gz gcc-546d314cf6a6bc23a151fa63143b23907c20bc0d.tar.bz2 |
re PR tree-optimization/50904 (pessimization when -fno-protect-parens is enabled by -Ofast)
2011-12-05 Richard Guenther <rguenther@suse.de>
PR tree-optimization/50904
* tree-ssa-loop-im.c (struct mem_ref): Remove vops member.
(MEM_ANALYZABLE): New.
(memory_references): Remove clobbered_vops and vop_ref_map
members, add all_refs_stored_in_loop member.
(memref_free): Adjust.
(mem_ref_alloc): Likewise.
(gather_mem_refs_stmt): Do not record clobbers, instead
record refs for unanalyzable stmts.
(gather_mem_refs_in_loops): Do not propagate clobbers.
(struct vop_to_refs_elt, vtoe_hash, vtoe_eq, vtoe_free,
record_vop_access, get_vop_accesses, get_vop_stores,
add_vop_ref_mapping): Remove.
(create_vop_ref_mapping_loop): Adjust to simply record all
stores.
(analyze_memory_references): Adjust.
(refs_independent_p): Check for not analyzable refs.
(can_sm_ref_p): Likewise.
(ref_indep_loop_p_1): Simplify.
(tree_ssa_lim_finalize): Adjust.
* tree-ssa-loop-im.c (stmt_cost): Simplify, use LIM_EXPENSIVE
rather than magic constants. Assign zero cost to PAREN_EXPR
and SSA_NAME copies. Assign cost proportional to the vector
size for vector constructors.
From-SVN: r182010
Diffstat (limited to 'gcc/pointer-set.c')
0 files changed, 0 insertions, 0 deletions