This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/50904] [4.7 regression] pessimization when -fno-protect-parens is enabled by -Ofast


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50904

--- Comment #45 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-12-05 14:36:48 UTC ---
Author: rguenth
Date: Mon Dec  5 14:36:44 2011
New Revision: 182010

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=182010
Log:
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.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/tree-ssa-loop-im.c


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]