diff options
author | Kazu Hirata <kazu@cs.umass.edu> | 2005-05-27 22:06:46 +0000 |
---|---|---|
committer | Kazu Hirata <kazu@gcc.gnu.org> | 2005-05-27 22:06:46 +0000 |
commit | 4aab792de6d092becf03e1d23f74a1ec2047fc27 (patch) | |
tree | e30578252db88291c4c33444ffad40db62dca180 /gcc/tree-flow.h | |
parent | 8dabce9822f03c6d612f1a14bf67fe83498e0ab4 (diff) | |
download | gcc-4aab792de6d092becf03e1d23f74a1ec2047fc27.zip gcc-4aab792de6d092becf03e1d23f74a1ec2047fc27.tar.gz gcc-4aab792de6d092becf03e1d23f74a1ec2047fc27.tar.bz2 |
basic-block.h (basic_block_def): Add phi_nodes and predictions.
* basic-block.h (basic_block_def): Add phi_nodes and
predictions. Remove tree_annotations.
* predict.c (tree_predicted_by_p, tree_predict_edge,
combine_predictions_for_bb): Adjust references to predictions.
* tree-cfg.c (init_empty_tree_cfg, create_bb): Don't call
create_block_annotation.
(create_block_annotation, free_blocks_annotatios,
clear_blocks_annotations): Remove.
(dump_cfg_stats): Don't print out the memory spent on
bb_ann_d.
(delete_tree_cfg_annotations): Don't call free_blocks_annotations.
* tree-flow-inline.h (bb_ann): Remove.
(phi_nodes, set_phi_nodes): Update references to phi_nodes.
* tree-flow.h (bb_ann_d): Remove.
* tree-if-conv.c (process_phi_nodes): Update a reference to
phi_nodes.
* tree-phinodes.c (reserve_phi_args_for_new_edge,
create_phi_node, remove_phi_node): Likewise.
* tree-pretty-print.c (dump_generic_bb_buff): Don't call bb_ann.
* tree-ssa-dom.c (threaded_blocks): New.
(tree_ssa_dominator_optimize): Initialize, clear, and free
threaded_blocks. Update a call to thread_through_all_blocks.
(thread_across_edge): Use threaded_blocks instead of setting
incoming_edge_threaded.
* tree-ssa-threadupdate.c (threaded_through_all_blocks): Take
a bitmap of blocks that are threaded through.
* tree.h: Move the prototype of threaded_through_blocks to
tree-flow.h.
From-SVN: r100279
Diffstat (limited to 'gcc/tree-flow.h')
-rw-r--r-- | gcc/tree-flow.h | 21 |
1 files changed, 3 insertions, 18 deletions
diff --git a/gcc/tree-flow.h b/gcc/tree-flow.h index 974e8b0..ceb2b33 100644 --- a/gcc/tree-flow.h +++ b/gcc/tree-flow.h @@ -377,25 +377,7 @@ struct edge_prediction GTY((chain_next ("%h.next"))) int probability; }; -/*--------------------------------------------------------------------------- - Block annotations stored in basic_block.tree_annotations ----------------------------------------------------------------------------*/ -struct bb_ann_d GTY(()) -{ - /* Chain of PHI nodes for this block. */ - tree phi_nodes; - - /* Nonzero if one or more incoming edges to this block should be threaded - to an outgoing edge of this block. */ - unsigned incoming_edge_threaded : 1; - - struct edge_prediction *predictions; -}; - -typedef struct bb_ann_d *bb_ann_t; - /* Accessors for basic block annotations. */ -static inline bb_ann_t bb_ann (basic_block); static inline tree phi_nodes (basic_block); static inline void set_phi_nodes (basic_block, tree); @@ -782,6 +764,9 @@ extern void linear_transform_loops (struct loops *); /* In tree-ssa-loop-ivopts.c */ extern bool expr_invariant_in_loop_p (struct loop *, tree); +/* In tree-ssa-threadupdate.c. */ +extern bool thread_through_all_blocks (bitmap); + /* In gimplify.c */ tree force_gimple_operand (tree, tree *, bool, tree); tree force_gimple_operand_bsi (block_stmt_iterator *, tree, bool, tree); |