comparison gcc/tree-cfg.h @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents 84e7813d76e9
children
comparison
equal deleted inserted replaced
131:84e7813d76e9 145:1830386684a0
1 /* Data and Control Flow Analysis for Trees. 1 /* Data and Control Flow Analysis for Trees.
2 Copyright (C) 2001-2018 Free Software Foundation, Inc. 2 Copyright (C) 2001-2020 Free Software Foundation, Inc.
3 Contributed by Diego Novillo <dnovillo@redhat.com> 3 Contributed by Diego Novillo <dnovillo@redhat.com>
4 4
5 This file is part of GCC. 5 This file is part of GCC.
6 6
7 GCC is free software; you can redistribute it and/or modify 7 GCC is free software; you can redistribute it and/or modify
81 basic_block, tree); 81 basic_block, tree);
82 extern void dump_function_to_file (tree, FILE *, dump_flags_t); 82 extern void dump_function_to_file (tree, FILE *, dump_flags_t);
83 extern void debug_function (tree, dump_flags_t); 83 extern void debug_function (tree, dump_flags_t);
84 extern void print_loops_bb (FILE *, basic_block, int, int); 84 extern void print_loops_bb (FILE *, basic_block, int, int);
85 extern void print_loops (FILE *, int); 85 extern void print_loops (FILE *, int);
86 extern void debug (struct loop &ref); 86 extern void debug (class loop &ref);
87 extern void debug (struct loop *ptr); 87 extern void debug (class loop *ptr);
88 extern void debug_verbose (struct loop &ref); 88 extern void debug_verbose (class loop &ref);
89 extern void debug_verbose (struct loop *ptr); 89 extern void debug_verbose (class loop *ptr);
90 extern void debug_loops (int); 90 extern void debug_loops (int);
91 extern void debug_loop (struct loop *, int); 91 extern void debug_loop (class loop *, int);
92 extern void debug_loop_num (unsigned, int); 92 extern void debug_loop_num (unsigned, int);
93 extern void remove_edge_and_dominated_blocks (edge); 93 extern void remove_edge_and_dominated_blocks (edge);
94 extern bool gimple_purge_dead_eh_edges (basic_block); 94 extern bool gimple_purge_dead_eh_edges (basic_block);
95 extern bool gimple_purge_all_dead_eh_edges (const_bitmap); 95 extern bool gimple_purge_all_dead_eh_edges (const_bitmap);
96 extern bool gimple_purge_dead_abnormal_call_edges (basic_block); 96 extern bool gimple_purge_dead_abnormal_call_edges (basic_block);
103 tree, tree); 103 tree, tree);
104 extern void extract_true_false_edges_from_block (basic_block, edge *, edge *); 104 extern void extract_true_false_edges_from_block (basic_block, edge *, edge *);
105 extern tree find_case_label_for_value (const gswitch *switch_stmt, tree val); 105 extern tree find_case_label_for_value (const gswitch *switch_stmt, tree val);
106 extern edge find_taken_edge_switch_expr (const gswitch *switch_stmt, tree val); 106 extern edge find_taken_edge_switch_expr (const gswitch *switch_stmt, tree val);
107 extern unsigned int execute_fixup_cfg (void); 107 extern unsigned int execute_fixup_cfg (void);
108 extern unsigned int split_critical_edges (void); 108 extern unsigned int split_critical_edges (bool for_edge_insertion_p = false);
109 extern basic_block insert_cond_bb (basic_block, gimple *, gimple *, 109 extern basic_block insert_cond_bb (basic_block, gimple *, gimple *,
110 profile_probability); 110 profile_probability);
111 extern bool gimple_find_sub_bbs (gimple_seq, gimple_stmt_iterator *); 111 extern bool gimple_find_sub_bbs (gimple_seq, gimple_stmt_iterator *);
112 extern bool extract_true_false_controlled_edges (basic_block, basic_block, 112 extern bool extract_true_false_controlled_edges (basic_block, basic_block,
113 edge *, edge *); 113 edge *, edge *);
126 return (lhs 126 return (lhs
127 && TREE_CODE (TYPE_SIZE_UNIT (TREE_TYPE (lhs))) == INTEGER_CST 127 && TREE_CODE (TYPE_SIZE_UNIT (TREE_TYPE (lhs))) == INTEGER_CST
128 && !TREE_ADDRESSABLE (TREE_TYPE (lhs))); 128 && !TREE_ADDRESSABLE (TREE_TYPE (lhs)));
129 } 129 }
130 130
131
132 inline unsigned int
133 split_edges_for_insertion ()
134 {
135 return split_critical_edges (/*for_edge_insertion_p=*/true);
136 }
137
131 #endif /* _TREE_CFG_H */ 138 #endif /* _TREE_CFG_H */