diff options
author | Andrew MacLeod <amacleod@cygnus.com> | 1999-10-17 09:21:25 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1999-10-17 03:21:25 -0600 |
commit | a42cd965521407872308f03bea01f1bb5bd8303d (patch) | |
tree | a9c88cfc54dee85d6e21ed00bc01acd4ac483f1b /gcc/basic-block.h | |
parent | 3cce638b2b10ea1657b9d15f911dc4ff71ce64a8 (diff) | |
download | gcc-a42cd965521407872308f03bea01f1bb5bd8303d.zip gcc-a42cd965521407872308f03bea01f1bb5bd8303d.tar.gz gcc-a42cd965521407872308f03bea01f1bb5bd8303d.tar.bz2 |
basic-block.h (pre_edge_lcm, [...]): Prototype for exported functions.
* basic-block.h (pre_edge_lcm, pre_edge_rev_lcm, compute_available):
Prototype for exported functions.
(pre_lcm, pre_rev_lcm): Remove prototypes.
* gcse.c (compute_ae_kill): Add ae_gen and ae_kill as parameters.
(compute_available): Move to lcm.c, and change parameter order.
(one_classic_gcse_pass): Call compute_ae_kill with parameters.
(pre_insert, s_preds, s_succs, num_preds, num_succs): Delete.
(gcse_main): No longer call compute_preds_succs. Rebuild the
set table after reach pre pass.
(pre_insert_map, pre_delete_map, edge_list): New.
(alloc_pre_mem): Allocate edge vectors.
(free_pre_mem): Delete edge vectors.
(compute_pre_data): Call new edge based lcm routines.
(process_insert_insn): New function.
(insert_insn_end_bb): Use it.
(pre_edge_insert): New function.
(pre_insert_copy_insn): Formatting fixes. Update BLOCK_END as
needed.
(pre_insert_copies): Revamp using new edge based lcm outputs.
(pre_delete): Likewise.
(one_pre_gcse_pass): Insert & remove fake edges to the exit
block.
(compute_code_hoist_vbeinout): New new edge based routines.
* lcm.c: Remove all the old LCM functions. Replace with new ones
that work with the new cfg datastructures and work with edges
instead of blocks.
From-SVN: r30055
Diffstat (limited to 'gcc/basic-block.h')
-rw-r--r-- | gcc/basic-block.h | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/gcc/basic-block.h b/gcc/basic-block.h index e7c5dfc..693726c 100644 --- a/gcc/basic-block.h +++ b/gcc/basic-block.h @@ -310,11 +310,13 @@ extern void update_life_info PROTO ((sbitmap, enum update_life_extent)); extern int count_or_remove_death_notes PROTO ((sbitmap, int)); /* In lcm.c */ -extern void pre_lcm PROTO ((int, int, int_list_ptr *, - int_list_ptr *, - sbitmap *, sbitmap *, - sbitmap *, sbitmap *)); -extern void pre_rev_lcm PROTO ((int, int, int_list_ptr *, - int_list_ptr *, - sbitmap *, sbitmap *, +extern struct edge_list *pre_edge_lcm PROTO ((FILE *, int, sbitmap *, + sbitmap *, sbitmap *, + sbitmap *, sbitmap **, + sbitmap **)); +extern struct edge_list *pre_edge_rev_lcm PROTO ((FILE *, int, sbitmap *, + sbitmap *, sbitmap *, + sbitmap *, sbitmap **, + sbitmap **)); +extern int compute_available PROTO ((sbitmap *, sbitmap *, sbitmap *, sbitmap *)); |