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

Reply via email to