------- Comment #51 from seongbae dot park at gmail dot com 2008-01-17 21:31 ------- Subject: Re: [4.3 regression] bad interaction between DF and SJLJ exceptions
In df_live_transfer_function: Doesn't look like we need df_live_scratch - can't we do: bitmap_and (out, gen, bb_lr_info->out); bitmap_and_into (in, bb_lr_info->in); return bitmap_ior_and_compl_into (out, in, kill); ? Seongbae On Jan 17, 2008 1:05 PM, Kenneth Zadeck <[EMAIL PROTECTED]> wrote: > This is the second of three patches to fix 34400. This patch also makes > some progress on 26854 but more work is required that is not going to be > done in 4.3 to fix the problems here. > > This patch uses the output of the df_lr problem to make the df_live > problem converge faster. > This not only saves time but also space since the size of the df_live > bitmaps never grows and the space of our bitmaps is proportional to the > number of 1 bits. > > This has been tested on several platforms and along with the patch just > committed cuts the time on the 34400 problems significantly. I believe > that this patch also has some modest improvement on bootstrap time, i.e > regular programs. > > The change to df_live_reset is a slightly related latent bug fix. > > Ok to commit? > > Kenny > > > 2008-01-17 Kenneth Zadeck <[EMAIL PROTECTED]> > Steven Bosscher <[EMAIL PROTECTED]> > > PR rtl-optimization/26854 > PR rtl-optimization/34400 > * df-problems.c (df_live_scratch): New scratch bitmap. > (df_live_alloc): Allocate df_live_scratch when doing df_live. > (df_live_reset): Clear the proper bitmaps. > (df_live_bb_local_compute): Only process the artificial defs once > since the order is not important. > (df_live_init): Init the df_live sets only with the variables > found live by df_lr. > (df_live_transfer_function): Use the df_lr sets to prune the > df_live sets as they are being computed. > (df_live_free): Free df_live_scratch. > > -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34400