diff options
Diffstat (limited to 'contrib/gcc/cfglayout.h')
-rw-r--r-- | contrib/gcc/cfglayout.h | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/contrib/gcc/cfglayout.h b/contrib/gcc/cfglayout.h index e4e27d0..c0b250e 100644 --- a/contrib/gcc/cfglayout.h +++ b/contrib/gcc/cfglayout.h @@ -1,5 +1,5 @@ /* Basic block reordering routines for the GNU compiler. - Copyright (C) 2000 Free Software Foundation, Inc. + Copyright (C) 2000, 2003 Free Software Foundation, Inc. This file is part of GCC. @@ -25,17 +25,23 @@ typedef struct reorder_block_def rtx footer; basic_block next; basic_block original; + /* Used by loop copying. */ + basic_block copy; + int duplicated; /* These fields are used by bb-reorder pass. */ 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 bool cfg_layout_can_duplicate_bb_p PARAMS ((basic_block)); -extern basic_block cfg_layout_duplicate_bb PARAMS ((basic_block, edge)); -extern void scope_to_insns_initialize PARAMS ((void)); -extern void scope_to_insns_finalize PARAMS ((void)); -extern void cfg_layout_redirect_edge PARAMS ((edge, basic_block)); +extern rtx cfg_layout_function_footer; + +extern void cfg_layout_initialize (unsigned int); +extern void cfg_layout_finalize (void); +extern bool cfg_layout_can_duplicate_bb_p (basic_block); +extern basic_block cfg_layout_duplicate_bb (basic_block, edge); +extern void insn_locators_initialize (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 *); +extern void cfg_layout_initialize_rbi (basic_block); |