aboutsummaryrefslogtreecommitdiff
path: root/gcc/basic-block.h
diff options
context:
space:
mode:
authorAndrew MacLeod <amacleod@cygnus.com>1999-10-17 09:21:25 +0000
committerJeff Law <law@gcc.gnu.org>1999-10-17 03:21:25 -0600
commita42cd965521407872308f03bea01f1bb5bd8303d (patch)
treea9c88cfc54dee85d6e21ed00bc01acd4ac483f1b /gcc/basic-block.h
parent3cce638b2b10ea1657b9d15f911dc4ff71ce64a8 (diff)
downloadgcc-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.h16
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 *));