This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/79472] [7 Regression] x86-64: Switch table generation fails if default case has different code
- From: "jakub at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 13 Feb 2017 15:34:46 +0000
- Subject: [Bug tree-optimization/79472] [7 Regression] x86-64: Switch table generation fails if default case has different code
- Auto-submitted: auto-generated
- References: <bug-79472-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79472
--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Seems even unpatched switchconf isn't able to deal with virtual phis:
void foo (int);
void
f1 (int v, int w)
{
int i;
if (w)
{
foo (23);
i = 129;
}
else
switch (v)
{
case 170:
i = 27;
break;
case 171:
i = 8;
break;
case 172:
i = 21;
break;
case 173:
i = 18;
break;
case 174:
i = 139;
break;
case 175:
i = 14;
break;
case 176:
i = -14;
break;
case 177:
i = 12;
break;
default:
i = 80;
break;
}
lab:
foo (i);
}
isn't converted either.