1 /* Basic block reordering routines for the GNU compiler. 2 Copyright (C) 2000, 2003, 2004, 2007, 2011 Free Software Foundation, Inc. 3 4 This file is part of GCC. 5 6 GCC is free software; you can redistribute it and/or modify it 7 under the terms of the GNU General Public License as published by 8 the Free Software Foundation; either version 3, or (at your option) 9 any later version. 10 11 GCC is distributed in the hope that it will be useful, but WITHOUT 12 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 13 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public 14 License for more details. 15 16 You should have received a copy of the GNU General Public License 17 along with GCC; see the file COPYING3. If not see 18 <http://www.gnu.org/licenses/>. */ 19 20 #ifndef GCC_CFGLAYOUT_H 21 #define GCC_CFGLAYOUT_H 22 23 #include "basic-block.h" 24 25 extern GTY(()) rtx cfg_layout_function_footer; 26 extern GTY(()) rtx cfg_layout_function_header; 27 28 extern void cfg_layout_initialize (unsigned int); 29 extern void cfg_layout_finalize (void); 30 extern tree insn_scope (const_rtx); 31 extern void reemit_insn_block_notes (void); 32 extern bool can_copy_bbs_p (basic_block *, unsigned); 33 extern void copy_bbs (basic_block *, unsigned, basic_block *, 34 edge *, unsigned, edge *, struct loop *, 35 basic_block); 36 extern rtx duplicate_insn_chain (rtx, rtx); 37 38 #endif /* GCC_CFGLAYOUT_H */ 39