From: Jeffrey A Law Date: Mon, 3 Jul 2000 06:49:31 +0000 (+0000) Subject: gcse.c (compute_pre_data): Compute ae_kill using other local properties instead of... X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c66e8ae9daa33ee796897357474b8020be912f8c;p=platform%2Fupstream%2Fgcc.git gcse.c (compute_pre_data): Compute ae_kill using other local properties instead of calling compute_ae_kill. * gcse.c (compute_pre_data): Compute ae_kill using other local properties instead of calling compute_ae_kill. From-SVN: r34839 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 231ec25..6ea02a1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,8 @@ Mon Jul 3 00:32:47 2000 Jeffrey A Law (law@cygnus.com) + * gcse.c (compute_pre_data): Compute ae_kill using other local + properties instead of calling compute_ae_kill. + * alias.c (init_alias_analysis): Do not call prologue_epilogue_contains until after reload has completed. diff --git a/gcc/gcse.c b/gcc/gcse.c index cc13317..0486dc9 100644 --- a/gcc/gcse.c +++ b/gcc/gcse.c @@ -4118,10 +4118,24 @@ free_pre_mem () static void compute_pre_data () { + int i; + compute_local_properties (transp, comp, antloc, 0); compute_transpout (); sbitmap_vector_zero (ae_kill, n_basic_blocks); - compute_ae_kill (comp, ae_kill); + + /* Compute ae_kill for each basic block using: + + ~(TRANSP | COMP) + + This is significantly after than compute_ae_kill. */ + + for (i = 0; i < n_basic_blocks; i++) + { + sbitmap_a_or_b (ae_kill[i], transp[i], comp[i]); + sbitmap_not (ae_kill[i], ae_kill[i]); + } + edge_list = pre_edge_lcm (gcse_file, n_exprs, transp, comp, antloc, ae_kill, &pre_insert_map, &pre_delete_map); }