From: Richard Henderson Date: Fri, 27 Sep 2002 01:13:28 +0000 (-0700) Subject: sched-deps.c (sched_analyze_insn): Make clobber insns depend on call insns. X-Git-Tag: releases/gcc-3.2.1~241 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=555b7a72343c4702515031ebf3b98735729e5a83;p=thirdparty%2Fgcc.git sched-deps.c (sched_analyze_insn): Make clobber insns depend on call insns. * sched-deps.c (sched_analyze_insn): Make clobber insns depend on call insns. From-SVN: r57568 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a644fa8bf3cd..7dd1e5acddc7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2002-09-26 Richard Henderson + + PR c/7160 + * sched-deps.c (sched_analyze_insn): Make clobber insns depend + on call insns. + 2002-09-27 Alan Modra * doloop.c (doloop_modify_runtime ): Adjust diff --git a/gcc/sched-deps.c b/gcc/sched-deps.c index f2f64d39669b..4e14ee26eaaa 100644 --- a/gcc/sched-deps.c +++ b/gcc/sched-deps.c @@ -923,7 +923,15 @@ sched_analyze_insn (deps, x, insn, loop_notes) code = GET_CODE (x); } if (code == SET || code == CLOBBER) - sched_analyze_1 (deps, x, insn); + { + sched_analyze_1 (deps, x, insn); + + /* Bare clobber insns are used for letting life analysis, reg-stack + and others know that a value is dead. Depend on the last call + instruction so that reg-stack won't get confused. */ + if (code == CLOBBER) + add_dependence_list (insn, deps->last_function_call, REG_DEP_OUTPUT); + } else if (code == PARALLEL) { int i;