------- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-09-01 
20:51 -------
Subject: Bug 23478

CVSROOT:        /cvs/gcc
Module name:    gcc
Branch:         gcc-3_4-branch
Changes by:     [EMAIL PROTECTED]       2005-09-01 20:51:09

Modified files:
        gcc            : ChangeLog regs.h local-alloc.c flow.c global.c 
        gcc/testsuite  : ChangeLog 
Added files:
        gcc/testsuite/g++.dg/opt: pr23478.C 

Log message:
        PR rtl-optimization/23478
        * regs.h (reg_info): Add throw_calls_crossed.
        (REG_N_THROWING_CALLS_CROSSED): Define.
        * flow.c (allocate_reg_life_data): Initialize
        REG_N_THROWING_CALLS_CROSSED.
        (propagate_one_insn, attempt_auto_inc): Update
        REG_N_THROWING_CALLS_CROSSED.
        * local-alloc.c (struct qty): Add n_throwing_calls_crossed field.
        (alloc_qty): Initialize it.
        (update_equiv_regs): Clear REG_N_THROWING_CALLS_CROSSED.
        (combine_regs): Combine also n_throwing_calls_crossed fields.
        (find_free_reg): Don't attempt to caller-save pseudos crossing
        calls that might throw.
        * global.c (struct allocno): Add throwing_calls_crossed field.
        (global_alloc): Initialize throwing_calls_crossed.
        (find_reg): Don't attempt to caller-save pseudos crossing calls that
        might throw.
        
        * g++.dg/opt/pr23478.C: New test.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=2.2326.2.912&r2=2.2326.2.913
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/regs.h.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.31.4.1&r2=1.31.4.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/local-alloc.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.126.4.1&r2=1.126.4.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/flow.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.572.4.4&r2=1.572.4.5
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/global.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.98&r2=1.98.4.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.3389.2.426&r2=1.3389.2.427
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/opt/pr23478.C.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=NONE&r2=1.1.4.1



-- 


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

Reply via email to