[pretty-ipa] Empty cleanup EH regions removal

Andrew Pinski pinskia@gmail.com
Sat Mar 28 06:59:00 GMT 2009


On Fri, Mar 27, 2009 at 9:58 AM, Jan Hubicka <hubicka@ucw.cz> wrote:
> Hi,
> implicitly generated cleanup regions for destructors have tendency to be both
> numberous and often completely optimized out.  This patch adds code to detect
> empty cleanup block and remove it from Eh tree.  On tramp3d, we remove this way
> about 1400 blocks that in addition leads to removal of couple hounderd
> MUST_NOT_THROW terminate() receivers and simplification of CFG.

And this is PR 28850.
A simple testcase would be:
struct bomber
{
        ~bomber() {  }
};
int g(void);
int f(void)
{
  bomber a;
  g();
}

And then checking for resx in final_cleanup.

Thanks,
Andrew Pinski



More information about the Gcc-patches mailing list