Commit bd0eaec2 by Jeffrey A Law Committed by Jeff Law

basic-block.h (compute_available): Returns a void now.

        * basic-block.h (compute_available): Returns a void now.
        * gcse.c (one_classic_gcse_pass): Do not expect compute_available
        to return a value anymore.
        * lcm.c (compute_available, compute_antinout_edge): Revamp to use
        worklists.  Fix boundary cases. Compute maximal solutions.
        (compute_laterin, compute_nearerout): Similarly.

From-SVN: r30482
parent 2a2ea744
...@@ -4,6 +4,13 @@ Wed Nov 10 21:24:19 1999 Jason Eckhardt <jle@cygnus.com> ...@@ -4,6 +4,13 @@ Wed Nov 10 21:24:19 1999 Jason Eckhardt <jle@cygnus.com>
Wed Nov 10 15:56:16 1999 Jeffrey A Law (law@cygnus.com) Wed Nov 10 15:56:16 1999 Jeffrey A Law (law@cygnus.com)
* basic-block.h (compute_available): Returns a void now.
* gcse.c (one_classic_gcse_pass): Do not expect compute_available
to return a value anymore.
* lcm.c (compute_available, compute_antinout_edge): Revamp to use
worklists. Fix boundary cases. Compute maximal solutions.
(compute_laterin, compute_nearerout): Similarly.
* dwarf2out.c (add_AT_location_description): Allow * dwarf2out.c (add_AT_location_description): Allow
(mem (plus (pseudo) (...)) too. (mem (plus (pseudo) (...)) too.
......
...@@ -328,7 +328,7 @@ extern struct edge_list *pre_edge_rev_lcm PROTO ((FILE *, int, sbitmap *, ...@@ -328,7 +328,7 @@ extern struct edge_list *pre_edge_rev_lcm PROTO ((FILE *, int, sbitmap *,
sbitmap *, sbitmap *, sbitmap *, sbitmap *,
sbitmap *, sbitmap **, sbitmap *, sbitmap **,
sbitmap **)); sbitmap **));
extern int compute_available PROTO ((sbitmap *, sbitmap *, extern void compute_available PROTO ((sbitmap *, sbitmap *,
sbitmap *, sbitmap *)); sbitmap *, sbitmap *));
/* In emit-rtl.c. */ /* In emit-rtl.c. */
......
...@@ -3404,15 +3404,12 @@ one_classic_gcse_pass (pass) ...@@ -3404,15 +3404,12 @@ one_classic_gcse_pass (pass)
expr_hash_table_size, n_exprs); expr_hash_table_size, n_exprs);
if (n_exprs > 0) if (n_exprs > 0)
{ {
int passes;
compute_kill_rd (); compute_kill_rd ();
compute_rd (); compute_rd ();
alloc_avail_expr_mem (n_basic_blocks, n_exprs); alloc_avail_expr_mem (n_basic_blocks, n_exprs);
compute_ae_gen (); compute_ae_gen ();
compute_ae_kill (ae_gen, ae_kill); compute_ae_kill (ae_gen, ae_kill);
passes = compute_available (ae_gen, ae_kill, ae_out, ae_in); compute_available (ae_gen, ae_kill, ae_out, ae_in);
if (gcse_file)
fprintf (gcse_file, "avail expr computation: %d passes\n", passes);
changed = classic_gcse (); changed = classic_gcse ();
free_avail_expr_mem (); free_avail_expr_mem ();
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment