Mercurial > hg > CbC > CbC_gcc
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 */ |