cfglayout.h revision 285830
1169689Skan/* Basic block reordering routines for the GNU compiler.
2251212Spfg   Copyright (C) 2000, 2003, 2004 Free Software Foundation, Inc.
3169689Skan
4169689Skan   This file is part of GCC.
5169689Skan
6169689Skan   GCC is free software; you can redistribute it and/or modify it
7169689Skan   under the terms of the GNU General Public License as published by
8169689Skan   the Free Software Foundation; either version 2, or (at your option)
9169689Skan   any later version.
10169689Skan
11169689Skan   GCC is distributed in the hope that it will be useful, but WITHOUT
12169689Skan   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13169689Skan   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
14169689Skan   License for more details.
15169689Skan
16169689Skan   You should have received a copy of the GNU General Public License
17169689Skan   along with GCC; see the file COPYING.  If not, write to the Free
18169689Skan   Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
19169689Skan   02110-1301, USA.  */
20169689Skan
21169689Skan#ifndef GCC_CFGLAYOUT_H
22169689Skan#define GCC_CFGLAYOUT_H
23169689Skan
24169689Skan#include "basic-block.h"
25169689Skan
26169689Skanextern rtx cfg_layout_function_footer;
27169689Skan
28169689Skanextern void cfg_layout_initialize (unsigned int);
29169689Skanextern void cfg_layout_finalize (void);
30169689Skanextern unsigned int insn_locators_initialize (void);
31169689Skanextern void reemit_insn_block_notes (void);
32169689Skanextern bool can_copy_bbs_p (basic_block *, unsigned);
33169689Skanextern void copy_bbs (basic_block *, unsigned, basic_block *,
34169689Skan		      edge *, unsigned, edge *, struct loop *,
35169689Skan		      basic_block);
36169689Skanextern rtx duplicate_insn_chain (rtx, rtx);
37169689Skan
38169689Skan#endif /* GCC_CFGLAYOUT_H */
39169689Skan