]> git.ipfire.org Git - thirdparty/gcc.git/commit
re PR rtl-optimization/11320 (Scheduler bug)
authorEric Botcazou <ebotcazou@libertysurf.fr>
Tue, 15 Jul 2003 13:02:21 +0000 (15:02 +0200)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Tue, 15 Jul 2003 13:02:21 +0000 (13:02 +0000)
commit5a257872da307ca14edb7f1090a8da96f4010de6
treef85f39b6c5e76b8a6d89255e1b1725f9a067548d
parent9fa0903819a6687830aa1e7e70f631ca3eeb3a78
re PR rtl-optimization/11320 (Scheduler bug)

PR optimization/11320
* sched-int.h (struct deps) [reg_conditional_sets]: New field.
(struct sched_info) [compute_jump_reg_dependencies]: New prototype.
* sched-deps.c (sched_analyze_insn) [JUMP_INSN]: Update call to
current_sched_info->compute_jump_reg_dependencies. Record which
registers are used and which registers are set by the jump.
Clear deps->reg_conditional_sets after a barrier.
Set deps->reg_conditional_sets if the insn is a COND_EXEC.
Clear deps->reg_conditional_sets if the insn is not a COND_EXEC.
(init_deps): Initialize reg_conditional_sets.
(free_deps): Clear reg_conditional_sets.
* sched-ebb.c (compute_jump_reg_dependencies): New prototype.
Mark registers live on entry of the fallthrough block and conditionally
set as set by the jump. Mark registers live on entry of non-fallthrough
blocks as used by the jump.
* sched-rgn.c (compute_jump_reg_dependencies): New prototype.
Mark new parameters as unused.

From-SVN: r69401
gcc/ChangeLog
gcc/sched-deps.c
gcc/sched-ebb.c
gcc/sched-int.h
gcc/sched-rgn.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/execute/20030715-1.c [new file with mode: 0644]