On Tue, 2014-08-19 at 13:57 -0700, Richard Henderson wrote:
> On 08/06/2014 10:23 AM, David Malcolm wrote:
> > diff --git a/gcc/cfgrtl.c b/gcc/cfgrtl.c
> > index 59d633d..5e42a97 100644
> > --- a/gcc/cfgrtl.c
> > +++ b/gcc/cfgrtl.c
> > @@ -1604,6 +1604,7 @@ force_nonfallthru_and_redirect (edge e, basic_block
> > target, rtx jump_label)
> >
> > if (EDGE_COUNT (e->src->succs) >= 2 || abnormal_edge_flags ||
> > asm_goto_edge)
> > {
> > + rtx_insn *note;
> > gcov_type count = e->count;
> > int probability = e->probability;
> > /* Create the new structures. */
>
> A new variable with no uses?
This one is quite ugly: the pre-existing code has two locals named
"note", both of type rtx, with one shadowing the other. This patch
introduces a third, within the scope where the name "note" is used for
insns. In the other scopes the two other "note" variables are used for
find_reg_note. In each case, the name "note" is written to before use.
So in my defense, the existing code already had shadowing of locals...
but I guess that's not much of a defense, and it would be better to
introduce a different name, and rename the uses in the appropriate
scope.
Thanks
Dave