190075Sobrien/* Basic block reordering routines for the GNU compiler. 2169689Skan Copyright (C) 2000, 2003, 2004 Free Software Foundation, Inc. 390075Sobrien 490075Sobrien This file is part of GCC. 590075Sobrien 690075Sobrien GCC is free software; you can redistribute it and/or modify it 790075Sobrien under the terms of the GNU General Public License as published by 890075Sobrien the Free Software Foundation; either version 2, or (at your option) 990075Sobrien any later version. 1090075Sobrien 1190075Sobrien GCC is distributed in the hope that it will be useful, but WITHOUT 1290075Sobrien ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 1390075Sobrien or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public 1490075Sobrien License for more details. 1590075Sobrien 1690075Sobrien You should have received a copy of the GNU General Public License 1790075Sobrien 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. */ 2090075Sobrien 21169689Skan#ifndef GCC_CFGLAYOUT_H 22169689Skan#define GCC_CFGLAYOUT_H 23117395Skan 24169689Skan#include "basic-block.h" 2590075Sobrien 26132718Skanextern rtx cfg_layout_function_footer; 2790075Sobrien 28132718Skanextern void cfg_layout_initialize (unsigned int); 29132718Skanextern void cfg_layout_finalize (void); 30169689Skanextern unsigned int insn_locators_initialize (void); 31132718Skanextern void reemit_insn_block_notes (void); 32132718Skanextern bool can_copy_bbs_p (basic_block *, unsigned); 33132718Skanextern 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 */ 39