aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-flow.h
diff options
context:
space:
mode:
authorKazu Hirata <kazu@cs.umass.edu>2005-05-27 22:06:46 +0000
committerKazu Hirata <kazu@gcc.gnu.org>2005-05-27 22:06:46 +0000
commit4aab792de6d092becf03e1d23f74a1ec2047fc27 (patch)
treee30578252db88291c4c33444ffad40db62dca180 /gcc/tree-flow.h
parent8dabce9822f03c6d612f1a14bf67fe83498e0ab4 (diff)
downloadgcc-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.h21
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);