------- Additional Comments From cvs-commit at gcc dot gnu dot org  2004-11-25 
20:25 -------
Subject: Bug 18587

CVSROOT:        /cvs/gcc
Module name:    gcc
Changes by:     [EMAIL PROTECTED]       2004-11-25 20:24:59

Modified files:
        gcc            : ChangeLog tree-flow-inline.h tree-flow.h 
                         tree-ssa-operands.c tree-ssa-operands.h 

Log message:
        2004-11-25  Andrew Macleod  <[EMAIL PROTECTED]>
        
        PR tree-optimization/18587
        * tree-flow-inline.h (mark_call_clobbered, mark_non_addressable): Flag
        call clobbered caches as invalid.
        * tree-ssa-operands.c (ssa_call_clobbered_cache_valid): New.  Flag
        indicating whether the call clobbered operand cache is valid.
        (ssa_ro_call_cache_valid): New.  Flag indicating whether the pure/const
        call operand cache is valid.
        (clobbered_v_may_defs, clobbered_vuses, ro_call_vuses): New.
        cached list of operands for cached call virtual operands.
        (clobbered_aliased_loads, clobbered_aliased_stores,
        ro_call_aliased_load): New.  flags caching whether alias bits are to be
        set in call stmt's.  */
        (fini_ssa_operands): Remove call operand caches if present.
        (get_expr_operands, get_asm_expr_operands, get_indirect_ref_operands):
        Pass stmt annotation to add_stmt_operand.
        (get_call_expr_operands): Add call clobbered variables first.
        (add_stmt_operand): Take stmt annotation rather than stmt as a param.
        (add_call_clobber_ops, add_call_read_ops): Use the call operand cache
        if it is valid, otherise fill the cache.
        * tree-ssa-operands.h (ssa_clobbered_cache_valid): Declare extern.
        
        * tree-flow.h (struct var_ann_d): Add in_vuse_list and in_v_may_def_list
        bits.
        * tree-ssa-operands.c (cleanup_v_may_defs): New.  Clear the in_list bits
        for the v_may_def elements and empty the operand build array.
        (finalize_ssa_vuses): Use cleanup_v_may_defs and remove redundant VUSES
        by checking the in_v_may_def_list bit.
        (append_v_may_def, append_vuse): Use the in_list bit rather than
        scanning the array for duplicates.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.6552&r2=2.6553
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-flow-inline.h.diff?cvsroot=gcc&r1=2.26&r2=2.27
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-flow.h.diff?cvsroot=gcc&r1=2.71&r2=2.72
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa-operands.c.diff?cvsroot=gcc&r1=2.56&r2=2.57
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa-operands.h.diff?cvsroot=gcc&r1=2.8&r2=2.9



-- 


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

Reply via email to