diff options
| author | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-07-03 06:49:31 +0000 |
|---|---|---|
| committer | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-07-03 06:49:31 +0000 |
| commit | bafa5ac77d4fc0eadf34d9de4240d840156bd8f7 (patch) | |
| tree | 130e69cd01a373660baf29190aa73a897687265e | |
| parent | fd037eda58e7505fc78b2c52e823a5055df6f0bc (diff) | |
| download | ppe42-gcc-bafa5ac77d4fc0eadf34d9de4240d840156bd8f7.tar.gz ppe42-gcc-bafa5ac77d4fc0eadf34d9de4240d840156bd8f7.zip | |
* gcse.c (compute_pre_data): Compute ae_kill using other local
properties instead of calling compute_ae_kill.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34839 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/ChangeLog | 3 | ||||
| -rw-r--r-- | gcc/gcse.c | 16 |
2 files changed, 18 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 231ec258304..6ea02a16a0f 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 cc133177caa..0486dc946a4 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); } |

