This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/46555] [4.9/5/6 Regression] PHI RTL expansion leads to CSiBE regression
- From: "pinskia at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 14 Jan 2016 06:27:26 +0000
- Subject: [Bug middle-end/46555] [4.9/5/6 Regression] PHI RTL expansion leads to CSiBE regression
- Auto-submitted: auto-generated
- References: <bug-46555-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46555
--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
PRE does some of it via tail merge:
find_duplicates: <bb 7> duplicate of <bb 8>
find_duplicates: <bb 7> duplicate of <bb 9>
Removing basic block 8
Removing basic block 9
Obviously if you have more complex code it won't do it.
This an example where PRE does it:
int h(void);
int f(int a, int b, int c)
{
if (a)
return 2;
h();
if (b)
return 2;
h();
if (c)
return 2;
h();
return 4;
}