diff options
author | Andrew MacLeod <amacleod@redhat.com> | 2014-10-21 15:17:12 +0000 |
---|---|---|
committer | Andrew Macleod <amacleod@gcc.gnu.org> | 2014-10-21 15:17:12 +0000 |
commit | dd637013f6c780d6ae06607f5188002359ac9f4a (patch) | |
tree | d97aa618a7b800cfd54f614af5d144b8805bd39a /gcc/cfg.h | |
parent | eb8a3cca947b3912ca890a25753e6b1aebba6089 (diff) | |
download | gcc-dd637013f6c780d6ae06607f5188002359ac9f4a.zip gcc-dd637013f6c780d6ae06607f5188002359ac9f4a.tar.gz gcc-dd637013f6c780d6ae06607f5188002359ac9f4a.tar.bz2 |
cfg.h: New.
2014-10-21 Andrew MacLeod <amacleod@redhat.com>
* cfg.h: New. Header file for cfg.c.
* cfganal.h: New. Header file for cfganal.c.
* lcm.h: New. Header file for lcm.c.
* loop-unroll.h: New. Header file for loop-unroll.h.
* cfgloop.h: (unroll_loops): Remove prototype.
* basic-block.h: Move prototypes and structs to new header files.
Include cfg.h, cfganal.h, and lcm.h.
* loop-init.c: Include loop-unroll.h.
* loop-unroll.c: (referenced_in_one_insn_in_loop_p): Make static.
* modulo-sched.c: Include loop-unroll.h.
From-SVN: r216518
Diffstat (limited to 'gcc/cfg.h')
-rw-r--r-- | gcc/cfg.h | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/gcc/cfg.h b/gcc/cfg.h new file mode 100644 index 0000000..11935d1 --- /dev/null +++ b/gcc/cfg.h @@ -0,0 +1,65 @@ +/* Control flow graph manipulation code header file. + Copyright (C) 2014 Free Software Foundation, Inc. + +This file is part of GCC. + +GCC is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation; either version 3, or (at your option) any later +version. + +GCC is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received a copy of the GNU General Public License +along with GCC; see the file COPYING3. If not see +<http://www.gnu.org/licenses/>. */ + +#ifndef GCC_CFG_H +#define GCC_CFG_H + +extern void init_flow (struct function *); +extern void clear_edges (void); +extern basic_block alloc_block (void); +extern void link_block (basic_block, basic_block); +extern void unlink_block (basic_block); +extern void compact_blocks (void); +extern void expunge_block (basic_block); +extern edge unchecked_make_edge (basic_block, basic_block, int); +extern edge cached_make_edge (sbitmap, basic_block, basic_block, int); +extern edge make_edge (basic_block, basic_block, int); +extern edge make_single_succ_edge (basic_block, basic_block, int); +extern void remove_edge_raw (edge); +extern void redirect_edge_succ (edge, basic_block); +extern void redirect_edge_pred (edge, basic_block); +extern void clear_bb_flags (void); +extern void dump_edge_info (FILE *, edge, int, int); +extern void debug (edge_def &ref); +extern void debug (edge_def *ptr); +extern void alloc_aux_for_blocks (int); +extern void clear_aux_for_blocks (void); +extern void free_aux_for_blocks (void); +extern void alloc_aux_for_edge (edge, int); +extern void alloc_aux_for_edges (int); +extern void clear_aux_for_edges (void); +extern void free_aux_for_edges (void); +extern void debug_bb (basic_block); +extern basic_block debug_bb_n (int); +extern void dump_bb_info (FILE *, basic_block, int, int, bool, bool); +extern void brief_dump_cfg (FILE *, int); +extern void update_bb_profile_for_threading (basic_block, int, gcov_type, edge); +extern void scale_bbs_frequencies_int (basic_block *, int, int, int); +extern void scale_bbs_frequencies_gcov_type (basic_block *, int, gcov_type, + gcov_type); +extern void initialize_original_copy_tables (void); +extern void free_original_copy_tables (void); +extern void set_bb_original (basic_block, basic_block); +extern basic_block get_bb_original (basic_block); +extern void set_bb_copy (basic_block, basic_block); +extern basic_block get_bb_copy (basic_block); +void set_loop_copy (struct loop *, struct loop *); +struct loop *get_loop_copy (struct loop *); + +#endif /* GCC_CFG_H */ |