diff --git a/gcc/ChangeLog b/gcc/ChangeLog index aeab680011ba311667c1dab8767828a2d730d1ea..bb99b6fbf47ddd4c82c9d50630ffcd65b4457970 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2009-01-15 Kenneth Zadeck <zadeck@naturalbridge.com> + + * dce.c (find_call_stack_args, delete_unmarked_insns): Fixed + comments. + 2009-01-14 Jakub Jelinek <jakub@redhat.com> PR rtl-optimization/38245 diff --git a/gcc/dce.c b/gcc/dce.c index 75e148cf434151d20bda20f5f69a8380789d8ad5..5a64fb2ecf831ab8dfa0e4423e257cf7e075184e 100644 --- a/gcc/dce.c +++ b/gcc/dce.c @@ -358,7 +358,7 @@ find_call_stack_args (rtx call_insn, bool do_mark, bool fast, } /* Walk backwards, looking for argument stores. The search stops - when seeting another call, sp adjustment or memory store other than + when seeing another call, sp adjustment or memory store other than argument store. */ ret = false; for (insn = PREV_INSN (call_insn); insn; insn = prev_insn) @@ -522,9 +522,13 @@ delete_unmarked_insns (void) else if (marked_insn_p (insn)) continue; - /* Beware that reaching a dbg counter limit here can easily result - in miscompiled file, whenever some insn is eliminated, but - insn that depends on it is not. */ + /* Beware that reaching a dbg counter limit here can rarely + result in miscompiled file. This occurs when a group of + insns must be deleted together. Currently this only + can happen on non-looping pure and constant calls + on machines where ACCUMULATE_OUTGOING_ARGS is true. By + using the dbg_cnt, it is possible to remove the call, but + leave the argument pushes to the stack. */ if (!dbg_cnt (dce)) continue;