OSDN Git Service

2011-01-25 Richard Guenther <rguenther@suse.de>
[pf3gnuchains/gcc-fork.git] / gcc / cfglayout.h
index 3c59e42..42b12dd 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.  */
-
-struct scope_def;
-typedef struct scope_def *scope;
-
-/* Structure to hold information about the blocks during reordering.  */
-typedef struct reorder_block_def
-{
-  rtx eff_head;
-  rtx eff_end;
-  scope scope;
-  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));
+   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 */