diff options
author | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-03-06 12:34:28 +0000 |
---|---|---|
committer | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-03-06 12:34:28 +0000 |
commit | 78775228160bbbd8ec2a7bdc9d441c5dc072e9df (patch) | |
tree | 4296be3815c3cf0efbf1c6964f960cee0eedb0f1 /gcc/tree-ssa-live.h | |
parent | 5ed3e7ae44fc993b5d5dc3a1335902e74e00d58c (diff) | |
download | gcc-78775228160bbbd8ec2a7bdc9d441c5dc072e9df.tar.gz |
2015-03-06 Richard Biener <rguenther@suse.de>
PR middle-end/64928
* tree-ssa-live.h (struct tree_live_info_d): Add livein_obstack
and liveout_obstack members.
(calculate_live_on_exit): Remove.
(calculate_live_ranges): Change declaration.
* tree-ssa-live.c (liveness_bitmap_obstack): Remove global var.
(new_tree_live_info): Adjust.
(calculate_live_ranges): Delete livein when not wanted.
(calculate_live_ranges): Do not initialize liveness_bitmap_obstack.
Deal with partly deleted live info.
(loe_visit_block): Remove temporary bitmap by using
bitmap_ior_and_compl_into.
(live_worklist): Adjust accordingly.
(calculate_live_on_exit): Make static.
* tree-ssa-coalesce.c (coalesce_ssa_name): Tell calculate_live_ranges
we do not need livein.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221237 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-ssa-live.h')
-rw-r--r-- | gcc/tree-ssa-live.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/tree-ssa-live.h b/gcc/tree-ssa-live.h index f872910089e..d5d78209ce9 100644 --- a/gcc/tree-ssa-live.h +++ b/gcc/tree-ssa-live.h @@ -242,6 +242,10 @@ typedef struct tree_live_info_d /* Top of workstack. */ int *stack_top; + + /* Obstacks to allocate the bitmaps on. */ + bitmap_obstack livein_obstack; + bitmap_obstack liveout_obstack; } *tree_live_info_p; @@ -249,8 +253,7 @@ typedef struct tree_live_info_d #define LIVEDUMP_EXIT 0x02 #define LIVEDUMP_ALL (LIVEDUMP_ENTRY | LIVEDUMP_EXIT) extern void delete_tree_live_info (tree_live_info_p); -extern void calculate_live_on_exit (tree_live_info_p); -extern tree_live_info_p calculate_live_ranges (var_map); +extern tree_live_info_p calculate_live_ranges (var_map, bool); extern void debug (tree_live_info_d &ref); extern void debug (tree_live_info_d *ptr); extern void dump_live_info (FILE *, tree_live_info_p, int); |