On Fri, Dec 16, 2016 at 02:58:59PM +0100, Richard Biener wrote:
> On Fri, Dec 16, 2016 at 2:03 PM, Bernd Schmidt <bschm...@redhat.com> wrote:
> > On 12/16/2016 12:49 PM, Marek Polacek wrote:
> >
> >> But as this testcase shows, this breaks when the default label shares a
> >> label
> >> with another case.  On this testcase, when we reach the switch, we know
> >> that
> >> argc is either 1, 2, or 3.  So by the time we reach vrp2, the IR will have
> >> been optimized to
> >>
> >>   switch (argc) {
> >>     default:
> >>     case 3:
> >>       // argc will be considered 1 despite the case 3
> >>       break;
> >>     case 2:
> >>       ...
> >>    }
> >
> >
> > Shouldn't we just remove the "case 3:" from the switch in this case? Would
> > that fix things?
> 
> We probably should indeed.  But can we rely on this?

I think we should do both -- apply my fix + investigated why we kept case 3
around.  I'm willing to look into this.

        Marek

Reply via email to