X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fsel-sched-ir.h;h=1f3dec48cc9d2526e1b32d3b1cf9633a52d40292;hb=49087fba7a61d9ee3b23fc24f61fed83939500c7;hp=0d8b0fcb1ee8d3eddb4e28c0b2a703de64833d83;hpb=abb9c563a3f38041f2907a9c8c0ec14e71a34039;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/sel-sched-ir.h b/gcc/sel-sched-ir.h index 0d8b0fcb1ee..1f3dec48cc9 100644 --- a/gcc/sel-sched-ir.h +++ b/gcc/sel-sched-ir.h @@ -1,6 +1,6 @@ /* Instruction scheduling pass. This file contains definitions used internally in the scheduler. - Copyright (C) 2006, 2007, 2008, 2009 Free Software Foundation, Inc. + Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. This file is part of GCC. @@ -23,7 +23,7 @@ along with GCC; see the file COPYING3. If not see /* For state_t. */ #include "insn-attr.h" -/* For regset_head. */ +#include "regset.h" #include "basic-block.h" /* For reg_note. */ #include "rtl.h" @@ -727,7 +727,7 @@ struct _sel_insn_data htab_t transformed_insns; /* A context incapsulating this insn. */ - struct deps deps_context; + struct deps_desc deps_context; /* This field is initialized at the beginning of scheduling and is used to handle sched group instructions. If it is non-null, then it points @@ -1147,7 +1147,8 @@ get_all_loop_exits (basic_block bb) /* Traverse all loop headers. */ for (i = 0; VEC_iterate (edge, exits, i, e); i++) - if (in_current_region_p (e->dest)) + if (in_current_region_p (e->dest) + || inner_loop_header_p (e->dest)) { VEC(edge, heap) *next_exits = get_all_loop_exits (e->dest); @@ -1589,7 +1590,6 @@ extern bool sel_remove_insn (insn_t, bool, bool); extern bool bb_header_p (insn_t); extern void sel_init_invalid_data_sets (insn_t); extern bool insn_at_boundary_p (insn_t); -extern bool jump_leads_only_to_bb_p (insn_t, basic_block); /* Basic block and CFG functions. */ @@ -1617,11 +1617,9 @@ extern bool in_same_ebb_p (insn_t, insn_t); extern bool tidy_control_flow (basic_block, bool); extern void free_bb_note_pool (void); -extern void sel_remove_empty_bb (basic_block, bool, bool); extern void purge_empty_blocks (void); extern basic_block sel_split_edge (edge); extern basic_block sel_create_recovery_block (insn_t); -extern void sel_merge_blocks (basic_block, basic_block); extern bool sel_redirect_edge_and_branch (edge, basic_block); extern void sel_redirect_edge_and_branch_force (edge, basic_block); extern void sel_init_pipelining (void);