]> oss.titaniummirror.com Git - msp430-gcc.git/blobdiff - gcc/cfglayout.h
Imported gcc-4.4.3
[msp430-gcc.git] / gcc / cfglayout.h
index 3b12e505f65fc75e59e6e7483acee4473d64bcec..42b12dd5b167ac80dc48bd8566bc1f1ea07de538 100644 (file)
@@ -1,11 +1,11 @@
 /* Basic block reordering routines for the GNU compiler.
-   Copyright (C) 2000 Free Software Foundation, Inc.
+   Copyright (C) 2000, 2003, 2004, 2007 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 2, or (at your option)
+   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
    License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with GCC; see the file COPYING.  If not, write to the Free
-   Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-   02111-1307, USA.  */
-
-/* Structure to hold information about the blocks during reordering.  */
-typedef struct reorder_block_def
-{
-  rtx eff_head;
-  rtx eff_end;
-  basic_block next;
-  int visited;
-} *reorder_block_def;
-
-#define RBI(BB)        ((reorder_block_def) (BB)->aux)
-
-extern void cfg_layout_initialize      PARAMS ((void));
-extern void cfg_layout_finalize                PARAMS ((void));
-
-extern void scope_to_insns_initialize  PARAMS ((void));
-extern void scope_to_insns_finalize    PARAMS ((void));
+   along with GCC; see the file COPYING3.  If not see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef GCC_CFGLAYOUT_H
+#define GCC_CFGLAYOUT_H
+
+#include "basic-block.h"
+
+extern GTY(()) rtx cfg_layout_function_footer;
+extern GTY(()) rtx cfg_layout_function_header;
+
+extern void cfg_layout_initialize (unsigned int);
+extern void cfg_layout_finalize (void);
+extern void reemit_insn_block_notes (void);
+extern bool can_copy_bbs_p (basic_block *, unsigned);
+extern void copy_bbs (basic_block *, unsigned, basic_block *,
+                     edge *, unsigned, edge *, struct loop *,
+                     basic_block);
+extern rtx duplicate_insn_chain (rtx, rtx);
+
+#endif /* GCC_CFGLAYOUT_H */