]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
gcc/ChangeLog:
authorsteven <steven@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 22 May 2010 22:24:53 +0000 (22:24 +0000)
committersteven <steven@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 22 May 2010 22:24:53 +0000 (22:24 +0000)
* coretypes.h (struct simple_bitmap_def, sbitmap, const_sbitmap):
New core types.
* sbitmap.h (struct sbitmap_def): Do not typedef here.
* sbitmap.c: Include sbitmap.h.
* basic-block.h: Do not include bitmap.h, sbitmap.h, partition.h,
hard-reg-set.h.  Split everything related to regsets out from here...
* regset.h: ...to here.  New file.
* df.h: Include regset.h and sbitmap.h.
* tree-flow.h: Likewise.
* cfgloop.h: Likewise.
* except.h: Do not include sbitmap.h.  Include hashtab.h.
* cgraph.h: Include vec.h and function.h.
* reload.h (struct insn_chain): Change types of live_throughout
and dead_or_set from regset_head to bitmap_head.
(compute_use_by_pseudos): Be defined also if regset.h is not included.
* ira-int.h (struct ira_spilled_reg_stack_slot): Change type of
spilled_regs from regset_head to bitmap_head to avoid dependency
in regset.h.
* sel-sched-ir.h: Include regset.h.
* reload.c: Include df.h before reload.h.
* caller-save.c: Likewise.
* reload1.c: Likewise.
* ira.c: Likewise.
(mark_elimination): Update type of r to bitmap, consistent with
DF_LR_IN.
* dominance.c: Include bitmap.h.
* modulo-sched.c: Include df.h.
* cfganal.c: Include bitmap.h and sbitmap.h.
* cfgbuild.c: Include sbitmap.h.
* lcm.c: Include sbitmap.h.
* gcse.c (alloc_gcse_mem): Allocate regset with ALLOC_REG_SET.
* domwalk.c: Include sbitmap.h, exclude ggc.h.
* cfgexpand.c: Inlcude bitmap.h and sbitmap.h.
* cselib.c: Include bitmap.h.
* tree-optimize.c: Include regset.h.
* stmt.c: Include bitmap.h.
* Makefile.in: Update dependencies.

cp/ChangeLog
* semantics.c: Include bitmap.h.
* Make-lang.in: Update dependencies.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159746 138bc75d-0d04-0410-961f-82ee72b054a4

33 files changed:
gcc/ChangeLog
gcc/Makefile.in
gcc/basic-block.h
gcc/caller-save.c
gcc/cfganal.c
gcc/cfgbuild.c
gcc/cfgexpand.c
gcc/cfgloop.h
gcc/cgraph.h
gcc/coretypes.h
gcc/cp/ChangeLog
gcc/cp/Make-lang.in
gcc/cp/semantics.c
gcc/cselib.c
gcc/df.h
gcc/dominance.c
gcc/domwalk.c
gcc/except.h
gcc/gcse.c
gcc/ira-int.h
gcc/ira.c
gcc/lcm.c
gcc/modulo-sched.c
gcc/regset.h [new file with mode: 0644]
gcc/reload.c
gcc/reload.h
gcc/reload1.c
gcc/sbitmap.c
gcc/sbitmap.h
gcc/sel-sched-ir.h
gcc/stmt.c
gcc/tree-flow.h
gcc/tree-optimize.c

index e7f0f716e6feba2272bc3bcdfbddac2681e78d9a..a6d11a7a455853e6b90b14af8c0898bcd863ad69 100644 (file)
@@ -1,3 +1,43 @@
+2010-05-22  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * coretypes.h (struct simple_bitmap_def, sbitmap, const_sbitmap):
+       New core types.
+       * sbitmap.h (struct sbitmap_def): Do not typedef here.
+       * sbitmap.c: Include sbitmap.h.
+       * basic-block.h: Do not include bitmap.h, sbitmap.h, partition.h,
+       hard-reg-set.h.  Split everything related to regsets out from here...
+       * regset.h: ...to here.  New file.
+       * df.h: Include regset.h and sbitmap.h.
+       * tree-flow.h: Likewise.
+       * cfgloop.h: Likewise.
+       * except.h: Do not include sbitmap.h.  Include hashtab.h.
+       * cgraph.h: Include vec.h and function.h.
+       * reload.h (struct insn_chain): Change types of live_throughout
+       and dead_or_set from regset_head to bitmap_head.
+       (compute_use_by_pseudos): Be defined also if regset.h is not included.
+       * ira-int.h (struct ira_spilled_reg_stack_slot): Change type of
+       spilled_regs from regset_head to bitmap_head to avoid dependency
+       in regset.h.
+       * sel-sched-ir.h: Include regset.h.
+       * reload.c: Include df.h before reload.h.
+       * caller-save.c: Likewise.
+       * reload1.c: Likewise.
+       * ira.c: Likewise.
+       (mark_elimination): Update type of r to bitmap, consistent with
+       DF_LR_IN.
+       * dominance.c: Include bitmap.h.
+       * modulo-sched.c: Include df.h.
+       * cfganal.c: Include bitmap.h and sbitmap.h.
+       * cfgbuild.c: Include sbitmap.h.
+       * lcm.c: Include sbitmap.h.
+       * gcse.c (alloc_gcse_mem): Allocate regset with ALLOC_REG_SET.
+       * domwalk.c: Include sbitmap.h, exclude ggc.h.
+       * cfgexpand.c: Inlcude bitmap.h and sbitmap.h.
+       * cselib.c: Include bitmap.h.
+       * tree-optimize.c: Include regset.h.
+       * stmt.c: Include bitmap.h.
+       * Makefile.in: Update dependencies.
+
 2010-05-22  Jan Hubicka  <jh@suse.cz>
 
        * cgraph.h (struct varpool_node): Add same_comdat_group.
index 01073f18d7698cf950b8c16dd6a1426b3faa25db..e7998f42966b396684386cd4436e46fccc3caf5f 100644 (file)
@@ -858,7 +858,7 @@ REVISION_s  := "\"\""
 endif
 
 # Shorthand variables for dependency lists.
-EXCEPT_H = except.h sbitmap.h vecprim.h vecir.h
+EXCEPT_H = except.h $(HASHTAB_) vecprim.h vecir.h
 TOPLEV_H = toplev.h $(INPUT_H) bversion.h
 TARGET_H = $(TM_H) target.h insn-modes.h
 MACHMODE_H = machmode.h mode-classes.def insn-modes.h
@@ -877,9 +877,8 @@ TREE_H = tree.h all-tree.def tree.def c-common.def $(lang_tree_files) \
           $(INPUT_H) statistics.h vec.h treestruct.def $(HASHTAB_H) \
           double-int.h alias.h $(SYMTAB_H) options.h vecir.h \
          $(REAL_H) $(FIXED_VALUE_H)
-BASIC_BLOCK_H = basic-block.h $(BITMAP_H) sbitmap.h $(PARTITION_H) \
-          hard-reg-set.h $(PREDICT_H) vec.h $(FUNCTION_H) \
-          cfghooks.h $(OBSTACK_H)
+REGSET_H = regset.h $(BITMAP_H) hard-reg-set.h
+BASIC_BLOCK_H = basic-block.h $(PREDICT_H) vec.h $(FUNCTION_H) cfghooks.h
 GIMPLE_H = gimple.h gimple.def gsstruct.def pointer-set.h vec.h \
        $(GGC_H) $(BASIC_BLOCK_H) $(TM_H) $(TARGET_H) tree-ssa-operands.h \
        tree-ssa-alias.h vecir.h
@@ -894,19 +893,22 @@ FUNCTION_H = function.h $(TREE_H) $(HASHTAB_H) vecprim.h
 EXPR_H = expr.h insn-config.h $(FUNCTION_H) $(RTL_H) $(FLAGS_H) $(TREE_H) $(MACHMODE_H) $(EMIT_RTL_H)
 OPTABS_H = optabs.h insn-codes.h
 REGS_H = regs.h $(MACHMODE_H) $(OBSTACK_H) $(BASIC_BLOCK_H) $(FUNCTION_H)
-RESOURCE_H = resource.h hard-reg-set.h
-SCHED_INT_H = sched-int.h $(INSN_ATTR_H) $(BASIC_BLOCK_H) $(RTL_H) $(DF_H) vecprim.h
+SCHED_INT_H = sched-int.h $(INSN_ATTR_H) $(BASIC_BLOCK_H) $(RTL_H) $(DF_H) \
+       vecprim.h $(REGSET_H)
 SEL_SCHED_IR_H = sel-sched-ir.h $(INSN_ATTR_H) $(BASIC_BLOCK_H) $(RTL_H) \
-       $(GGC_H) $(BITMAP_H) vecprim.h $(SCHED_INT_H) $(CFGLOOP_H)
+       $(GGC_H) $(BITMAP_H) vecprim.h $(SCHED_INT_H) $(CFGLOOP_H) $(REGSET_H)
 SEL_SCHED_DUMP_H = sel-sched-dump.h $(SEL_SCHED_IR_H)
 INTEGRATE_H = integrate.h
 CFGLAYOUT_H = cfglayout.h $(BASIC_BLOCK_H)
-CFGLOOP_H = cfgloop.h $(BASIC_BLOCK_H) $(RTL_H) vecprim.h double-int.h
+CFGLOOP_H = cfgloop.h $(BASIC_BLOCK_H) $(RTL_H) vecprim.h double-int.h \
+       $(BITMAP_H) sbitmap.h
 IPA_UTILS_H = ipa-utils.h $(TREE_H) $(CGRAPH_H)
 IPA_REFERENCE_H = ipa-reference.h $(BITMAP_H) $(TREE_H)
 IPA_TYPE_ESCAPE_H = ipa-type-escape.h $(TREE_H)
-CGRAPH_H = cgraph.h $(TREE_H) $(BASIC_BLOCK_H) cif-code.def ipa-ref.h ipa-ref-inline.h
-DF_H = df.h $(BITMAP_H) $(BASIC_BLOCK_H) alloc-pool.h $(TIMEVAR_H)
+CGRAPH_H = cgraph.h vec.h $(TREE_H) $(BASIC_BLOCK_H) $(FUNCTION_H) \
+       cif-code.def ipa-ref.h ipa-ref-inline.h
+DF_H = df.h $(BITMAP_H) $(REGSET_H) sbitmap.h $(BASIC_BLOCK_H) \
+       alloc-pool.h $(TIMEVAR_H)
 RESOURCE_H = resource.h hard-reg-set.h $(DF_H)
 DDG_H = ddg.h sbitmap.h $(DF_H)
 GCC_H = gcc.h version.h
@@ -933,7 +935,7 @@ CPP_INTERNAL_H = $(srcdir)/../libcpp/internal.h $(CPP_ID_DATA_H)
 TREE_PASS_H = tree-pass.h $(TIMEVAR_H)
 TREE_DUMP_H = tree-dump.h $(SPLAY_TREE_H) $(TREE_PASS_H)
 TREE_FLOW_H = tree-flow.h tree-flow-inline.h tree-ssa-operands.h \
-               $(BITMAP_H) $(BASIC_BLOCK_H) $(GIMPLE_H) \
+               $(BITMAP_H) sbitmap.h $(BASIC_BLOCK_H) $(GIMPLE_H) \
                $(HASHTAB_H) $(CGRAPH_H) $(IPA_REFERENCE_H) \
                tree-ssa-alias.h
 TREE_SSA_LIVE_H = tree-ssa-live.h $(PARTITION_H) vecprim.h
@@ -2382,7 +2384,7 @@ tree-phinodes.o : tree-phinodes.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
    $(TM_H) $(TREE_H) $(GGC_H) $(BASIC_BLOCK_H) $(TREE_FLOW_H) \
    gt-tree-phinodes.h $(RTL_H) $(TOPLEV_H)  $(GIMPLE_H)
 domwalk.o : domwalk.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
-   $(BASIC_BLOCK_H) domwalk.h $(GGC_H)
+   $(BASIC_BLOCK_H) domwalk.h sbitmap.h
 tree-ssa-live.o : tree-ssa-live.c $(TREE_FLOW_H) $(CONFIG_H) $(SYSTEM_H) \
    $(TREE_H) $(DIAGNOSTIC_H) $(TM_H) coretypes.h $(TREE_DUMP_H) \
    $(TREE_SSA_LIVE_H) $(BITMAP_H) $(TOPLEV_H) debug.h $(FLAGS_H) \
@@ -2543,7 +2545,7 @@ tree-optimize.o : tree-optimize.c $(TREE_FLOW_H) $(CONFIG_H) $(SYSTEM_H) \
    coretypes.h $(TREE_DUMP_H) $(TOPLEV_H) $(FUNCTION_H) langhooks.h \
    $(FLAGS_H) $(CGRAPH_H) $(PLUGIN_H) \
    $(TREE_INLINE_H) tree-mudflap.h $(GGC_H) graph.h $(CGRAPH_H) \
-   $(TREE_PASS_H) $(CFGLOOP_H) $(EXCEPT_H)
+   $(TREE_PASS_H) $(CFGLOOP_H) $(EXCEPT_H) $(REGSET_H)
 
 c-gimplify.o : c-gimplify.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) \
    $(C_TREE_H) $(C_COMMON_H) $(DIAGNOSTIC_H) $(GIMPLE_H) \
@@ -2824,14 +2826,14 @@ stmt.o : stmt.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
    $(TREE_H) $(FLAGS_H) $(FUNCTION_H) insn-config.h hard-reg-set.h $(EXPR_H) \
    libfuncs.h $(EXCEPT_H) $(RECOG_H) $(TOPLEV_H) output.h $(GGC_H) $(TM_P_H) \
    langhooks.h $(PREDICT_H) $(OPTABS_H) $(TARGET_H) $(GIMPLE_H) $(MACHMODE_H) \
-   $(REGS_H) alloc-pool.h $(PRETTY_PRINT_H)
+   $(REGS_H) alloc-pool.h $(PRETTY_PRINT_H) $(BITMAP_H)
 except.o : except.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
    $(TREE_H) $(FLAGS_H) $(EXCEPT_H) $(FUNCTION_H) $(EXPR_H) libfuncs.h \
    langhooks.h insn-config.h hard-reg-set.h $(BASIC_BLOCK_H) output.h \
    dwarf2asm.h dwarf2out.h $(TOPLEV_H) $(HASHTAB_H) intl.h $(GGC_H) \
    gt-except.h $(CGRAPH_H) $(INTEGRATE_H) $(DIAGNOSTIC_H) $(DWARF2_H) \
    $(TARGET_H) $(TM_P_H) $(TREE_PASS_H) $(TIMEVAR_H) $(TREE_FLOW_H) \
-   tree-pretty-print.h
+   tree-pretty-print.h sbitmap.h
 expr.o : expr.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
    $(TREE_H) $(FLAGS_H) $(FUNCTION_H) $(REGS_H) $(EXPR_H) $(OPTABS_H) \
    libfuncs.h $(INSN_ATTR_H) insn-config.h $(RECOG_H) output.h \
@@ -2994,7 +2996,7 @@ cselib.o : cselib.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
    $(REGS_H) hard-reg-set.h $(FLAGS_H) insn-config.h $(RECOG_H) \
    $(EMIT_RTL_H) $(TOPLEV_H) output.h $(FUNCTION_H) $(TREE_PASS_H) \
    cselib.h gt-cselib.h $(GGC_H) $(TM_P_H) $(PARAMS_H) alloc-pool.h \
-   $(HASHTAB_H) $(TARGET_H)
+   $(HASHTAB_H) $(TARGET_H) $(BITMAP_H)
 cse.o : cse.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(REGS_H) \
    hard-reg-set.h $(FLAGS_H) insn-config.h $(RECOG_H) $(EXPR_H) $(TOPLEV_H) \
    output.h $(FUNCTION_H) $(BASIC_BLOCK_H) $(GGC_H) $(TM_P_H) $(TIMEVAR_H) \
@@ -3006,7 +3008,8 @@ dce.o : dce.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
 dse.o : dse.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
    $(TREE_H) $(TM_P_H) $(REGS_H) hard-reg-set.h $(FLAGS_H) insn-config.h \
    $(RECOG_H) $(EXPR_H) $(DF_H) cselib.h $(DBGCNT_H) $(TIMEVAR_H) \
-   $(TREE_PASS_H) alloc-pool.h $(ALIAS_H) dse.h $(OPTABS_H) $(TARGET_H)
+   $(TREE_PASS_H) alloc-pool.h $(ALIAS_H) dse.h $(OPTABS_H) $(TARGET_H) \
+   $(BITMAP_H)
 fwprop.o : fwprop.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
    $(TOPLEV_H) insn-config.h $(RECOG_H) $(FLAGS_H) $(OBSTACK_H) $(BASIC_BLOCK_H) \
    output.h $(DF_H) alloc-pool.h $(TIMEVAR_H) $(TREE_PASS_H) $(TARGET_H) \
@@ -3023,7 +3026,8 @@ gcse.o : gcse.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
    $(REGS_H) hard-reg-set.h $(FLAGS_H) insn-config.h $(GGC_H) \
    $(RECOG_H) $(EXPR_H) $(BASIC_BLOCK_H) $(FUNCTION_H) output.h $(TOPLEV_H) \
    $(TM_P_H) $(PARAMS_H) cselib.h $(EXCEPT_H) gt-gcse.h $(TREE_H) $(TIMEVAR_H) \
-   intl.h $(OBSTACK_H) $(TREE_PASS_H) $(DF_H) $(DBGCNT_H) $(TARGET_H)
+   intl.h $(OBSTACK_H) $(TREE_PASS_H) $(DF_H) $(DBGCNT_H) $(TARGET_H) \
+   $(DF_H)
 store-motion.o : store-motion.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
    $(REGS_H) hard-reg-set.h $(FLAGS_H) insn-config.h $(GGC_H) \
    $(RECOG_H) $(EXPR_H) $(BASIC_BLOCK_H) $(FUNCTION_H) output.h $(TOPLEV_H) \
@@ -3034,7 +3038,7 @@ resource.o : resource.c $(CONFIG_H) $(RTL_H) hard-reg-set.h $(SYSTEM_H) \
    $(FUNCTION_H) $(TOPLEV_H) $(INSN_ATTR_H) $(EXCEPT_H) $(PARAMS_H) $(TM_P_H)
 lcm.o : lcm.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(REGS_H) \
    hard-reg-set.h $(FLAGS_H) insn-config.h $(INSN_ATTR_H) $(RECOG_H) \
-   $(BASIC_BLOCK_H) $(TM_P_H) $(FUNCTION_H) output.h
+   $(BASIC_BLOCK_H) $(TM_P_H) $(FUNCTION_H) output.h sbitmap.h
 mode-switching.o : mode-switching.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
    $(TM_H) $(RTL_H) $(REGS_H) hard-reg-set.h $(FLAGS_H) insn-config.h \
    $(INSN_ATTR_H) $(RECOG_H) $(BASIC_BLOCK_H) $(TM_P_H) $(FUNCTION_H) \
@@ -3131,7 +3135,7 @@ cfgexpand.o : cfgexpand.c $(TREE_FLOW_H) $(CONFIG_H) $(SYSTEM_H) \
    coretypes.h $(TREE_DUMP_H) $(EXCEPT_H) langhooks.h $(TREE_PASS_H) $(RTL_H) \
    $(DIAGNOSTIC_H) $(TOPLEV_H) $(BASIC_BLOCK_H) $(FLAGS_H) debug.h $(PARAMS_H) \
    value-prof.h $(TREE_INLINE_H) $(TARGET_H) $(SSAEXPAND_H) \
-   tree-pretty-print.h gimple-pretty-print.h
+   tree-pretty-print.h gimple-pretty-print.h $(BITMAP_H) sbitmap.h
 cfgrtl.o : cfgrtl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
    $(FLAGS_H) insn-config.h $(BASIC_BLOCK_H) $(REGS_H) hard-reg-set.h \
    output.h $(TOPLEV_H) $(FUNCTION_H) $(EXCEPT_H) $(TM_P_H) $(INSN_ATTR_H) \
@@ -3140,10 +3144,10 @@ cfgrtl.o : cfgrtl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
    $(TREE_PASS_H) $(DF_H) $(GGC_H)
 cfganal.o : cfganal.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
    $(BASIC_BLOCK_H) hard-reg-set.h insn-config.h $(RECOG_H) $(TM_P_H) \
-   $(TIMEVAR_H) $(OBSTACK_H) $(TOPLEV_H) vecprim.h
+   $(TIMEVAR_H) $(OBSTACK_H) $(TOPLEV_H) vecprim.h sbitmap.h $(BITMAP_H)
 cfgbuild.o : cfgbuild.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
    $(FLAGS_H) $(BASIC_BLOCK_H) $(REGS_H) hard-reg-set.h output.h $(TOPLEV_H) \
-   $(FUNCTION_H) $(EXCEPT_H) $(TIMEVAR_H) $(TREE_H) $(EXPR_H)
+   $(FUNCTION_H) $(EXCEPT_H) $(TIMEVAR_H) $(TREE_H) $(EXPR_H) sbitmap.h
 cfgcleanup.o : cfgcleanup.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
    $(RTL_H) $(TIMEVAR_H) hard-reg-set.h output.h $(FLAGS_H) $(RECOG_H) \
    $(TOPLEV_H) insn-config.h cselib.h $(TARGET_H) $(TM_P_H) $(PARAMS_H) \
@@ -3181,7 +3185,7 @@ loop-unroll.o: loop-unroll.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) $(TM_H) \
    $(OBSTACK_H)
 dominance.o : dominance.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
    hard-reg-set.h $(BASIC_BLOCK_H) et-forest.h $(OBSTACK_H) $(TOPLEV_H) \
-   $(TIMEVAR_H) graphds.h vecprim.h pointer-set.h
+   $(TIMEVAR_H) graphds.h vecprim.h pointer-set.h $(BITMAP_H)
 et-forest.o : et-forest.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
    et-forest.h alloc-pool.h $(BASIC_BLOCK_H)
 combine.o : combine.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
index 4bd33bde0c72b5de86e69c04992ad8740aa06363..c5b8799d8d570c3f8abf235cc7f7f88f3427709e 100644 (file)
@@ -1,4 +1,4 @@
-/* Define control and data flow tables, and regsets.
+/* Define control flow data structures for the CFG.
    Copyright (C) 1987, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
    2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
 
@@ -21,95 +21,10 @@ along with GCC; see the file COPYING3.  If not see
 #ifndef GCC_BASIC_BLOCK_H
 #define GCC_BASIC_BLOCK_H
 
-#include "bitmap.h"
-#include "sbitmap.h"
-#include "partition.h"
-#include "hard-reg-set.h"
 #include "predict.h"
 #include "vec.h"
 #include "function.h"
 
-/* Head of register set linked list.  */
-typedef bitmap_head regset_head;
-
-/* A pointer to a regset_head.  */
-typedef bitmap regset;
-
-/* Allocate a register set with oballoc.  */
-#define ALLOC_REG_SET(OBSTACK) BITMAP_ALLOC (OBSTACK)
-
-/* Do any cleanup needed on a regset when it is no longer used.  */
-#define FREE_REG_SET(REGSET) BITMAP_FREE (REGSET)
-
-/* Initialize a new regset.  */
-#define INIT_REG_SET(HEAD) bitmap_initialize (HEAD, &reg_obstack)
-
-/* Clear a register set by freeing up the linked list.  */
-#define CLEAR_REG_SET(HEAD) bitmap_clear (HEAD)
-
-/* Copy a register set to another register set.  */
-#define COPY_REG_SET(TO, FROM) bitmap_copy (TO, FROM)
-
-/* Compare two register sets.  */
-#define REG_SET_EQUAL_P(A, B) bitmap_equal_p (A, B)
-
-/* `and' a register set with a second register set.  */
-#define AND_REG_SET(TO, FROM) bitmap_and_into (TO, FROM)
-
-/* `and' the complement of a register set with a register set.  */
-#define AND_COMPL_REG_SET(TO, FROM) bitmap_and_compl_into (TO, FROM)
-
-/* Inclusive or a register set with a second register set.  */
-#define IOR_REG_SET(TO, FROM) bitmap_ior_into (TO, FROM)
-
-/* Exclusive or a register set with a second register set.  */
-#define XOR_REG_SET(TO, FROM) bitmap_xor_into (TO, FROM)
-
-/* Or into TO the register set FROM1 `and'ed with the complement of FROM2.  */
-#define IOR_AND_COMPL_REG_SET(TO, FROM1, FROM2) \
-  bitmap_ior_and_compl_into (TO, FROM1, FROM2)
-
-/* Clear a single register in a register set.  */
-#define CLEAR_REGNO_REG_SET(HEAD, REG) bitmap_clear_bit (HEAD, REG)
-
-/* Set a single register in a register set.  */
-#define SET_REGNO_REG_SET(HEAD, REG) bitmap_set_bit (HEAD, REG)
-
-/* Return true if a register is set in a register set.  */
-#define REGNO_REG_SET_P(TO, REG) bitmap_bit_p (TO, REG)
-
-/* Copy the hard registers in a register set to the hard register set.  */
-extern void reg_set_to_hard_reg_set (HARD_REG_SET *, const_bitmap);
-#define REG_SET_TO_HARD_REG_SET(TO, FROM)                              \
-do {                                                                   \
-  CLEAR_HARD_REG_SET (TO);                                             \
-  reg_set_to_hard_reg_set (&TO, FROM);                                 \
-} while (0)
-
-typedef bitmap_iterator reg_set_iterator;
-
-/* Loop over all registers in REGSET, starting with MIN, setting REGNUM to the
-   register number and executing CODE for all registers that are set.  */
-#define EXECUTE_IF_SET_IN_REG_SET(REGSET, MIN, REGNUM, RSI)    \
-  EXECUTE_IF_SET_IN_BITMAP (REGSET, MIN, REGNUM, RSI)
-
-/* Loop over all registers in REGSET1 and REGSET2, starting with MIN, setting
-   REGNUM to the register number and executing CODE for all registers that are
-   set in the first regset and not set in the second.  */
-#define EXECUTE_IF_AND_COMPL_IN_REG_SET(REGSET1, REGSET2, MIN, REGNUM, RSI) \
-  EXECUTE_IF_AND_COMPL_IN_BITMAP (REGSET1, REGSET2, MIN, REGNUM, RSI)
-
-/* Loop over all registers in REGSET1 and REGSET2, starting with MIN, setting
-   REGNUM to the register number and executing CODE for all registers that are
-   set in both regsets.  */
-#define EXECUTE_IF_AND_IN_REG_SET(REGSET1, REGSET2, MIN, REGNUM, RSI) \
-  EXECUTE_IF_AND_IN_BITMAP (REGSET1, REGSET2, MIN, REGNUM, RSI)        \
-
-/* Same information as REGS_INVALIDATED_BY_CALL but in regset form to be used
-   in dataflow more conveniently.  */
-
-extern regset regs_invalidated_by_call_regset;
-
 /* Type we use to hold basic block counters.  Should be at least
    64bit.  Although a counter cannot be negative, we use a signed
    type, because erroneous negative counts can be generated when the
@@ -482,8 +397,6 @@ struct GTY(()) control_flow_graph {
 #define FOR_ALL_BB_FN(BB, FN) \
   for (BB = ENTRY_BLOCK_PTR_FOR_FUNCTION (FN); BB; BB = BB->next_bb)
 
-extern bitmap_obstack reg_obstack;
-
 \f
 /* Stuff for recording basic block info.  */
 
@@ -857,8 +770,6 @@ extern bool predictable_edge_p (edge);
 extern void init_flow (struct function *);
 extern void debug_bb (basic_block);
 extern basic_block debug_bb_n (int);
-extern void dump_regset (regset, FILE *);
-extern void debug_regset (regset);
 extern void expunge_block (basic_block);
 extern void link_block (basic_block, basic_block);
 extern void unlink_block (basic_block);
index 7a00dbd72aeab9b5de6211262f367e2465b44daf..6bcfd4bf4c7c3e61e60651c14e643c482821c772 100644 (file)
@@ -30,6 +30,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "hard-reg-set.h"
 #include "recog.h"
 #include "basic-block.h"
+#include "df.h"
 #include "reload.h"
 #include "function.h"
 #include "expr.h"
@@ -37,7 +38,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "tm_p.h"
 #include "addresses.h"
 #include "output.h"
-#include "df.h"
 #include "ggc.h"
 
 /* True if caller-save has been initialized.  */
index 22a0503c01336eab9dc43ee324f120a667139b13..e0c6443dcdd53bc887814bf1174df9a6ccb8343f 100644 (file)
@@ -34,6 +34,8 @@ along with GCC; see the file COPYING3.  If not see
 #include "tm_p.h"
 #include "vec.h"
 #include "vecprim.h"
+#include "bitmap.h"
+#include "sbitmap.h"
 #include "timevar.h"
 
 /* Store the data structures necessary for depth-first search.  */
index b063f898507eee8e82e65d6d5a222ad211665318..79b6183bfba639f1f57e88ef7d468b6b83ce8c00 100644 (file)
@@ -36,6 +36,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "expr.h"
 #include "toplev.h"
 #include "timevar.h"
+#include "sbitmap.h"
 
 static void make_edges (basic_block, basic_block, int);
 static void make_label_edge (sbitmap, basic_block, rtx, int);
index 1d3ec8498269cc4fee57f5562744cec83a61999d..3a36ee1794460077785c4445780fb5403b5090c2 100644 (file)
@@ -45,7 +45,8 @@ along with GCC; see the file COPYING3.  If not see
 #include "value-prof.h"
 #include "target.h"
 #include "ssaexpand.h"
-
+#include "bitmap.h"
+#include "sbitmap.h"
 
 /* This variable holds information helping the rewriting of SSA trees
    into RTL.  */
index 4135ed7a250b2516fc5139a517d08f1a53db92fd..96911c6a4150e5cdfa5f440f819c5d1fcae402eb 100644 (file)
@@ -27,6 +27,9 @@ along with GCC; see the file COPYING3.  If not see
 #include "vecprim.h"
 #include "double-int.h"
 
+#include "bitmap.h"
+#include "sbitmap.h"
+
 /* Structure to hold decision about unrolling/peeling.  */
 enum lpt_dec
 {
index a9a2962eb0b4df6552329e0d173d17acf66d5f0c..f352cc65e3acc05f979315c441781072b47485c8 100644 (file)
@@ -21,9 +21,12 @@ along with GCC; see the file COPYING3.  If not see
 
 #ifndef GCC_CGRAPH_H
 #define GCC_CGRAPH_H
+
+#include "vec.h"
 #include "tree.h"
 #include "basic-block.h"
-#include "ipa-ref.h"
+#include "function.h"
+#include "ipa-ref.h"   /* FIXME: inappropriate dependency of cgraph on IPA.  */
 
 enum availability
 {
@@ -914,6 +917,7 @@ varpool_all_refs_explicit_p (struct varpool_node *vnode)
 /* Constant pool accessor function.  */
 htab_t constant_pool_htab (void);
 
+/* FIXME: inappropriate dependency of cgraph on IPA.  */
 #include "ipa-ref-inline.h"
 
 #endif  /* GCC_CGRAPH_H  */
index 0b8261fc6146cd94561247fd5c6f77fa34cc00f1..a7bc8dbb67ad827c8876ca6de4526c1663a83677 100644 (file)
@@ -46,6 +46,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 struct bitmap_head_def;
 typedef struct bitmap_head_def *bitmap;
 typedef const struct bitmap_head_def *const_bitmap;
+struct simple_bitmap_def;
+typedef struct simple_bitmap_def *sbitmap;
+typedef const struct simple_bitmap_def *const_sbitmap;
 struct rtx_def;
 typedef struct rtx_def *rtx;
 typedef const struct rtx_def *const_rtx;
index 47f53080a315642cecac41bcdaf043d7d5a5f5ad..7acd4132c14df20ff5a42d030532d44f08a29024 100644 (file)
@@ -1,3 +1,8 @@
+2010-05-22  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * semantics.c: Include bitmap.h.
+       * Make-lang.in: Update dependencies.
+
 2010-05-22  Jan Hubicka  <jh@suse.cz>
 
        * decl2.c (maybe_emit_vtables): Produce same comdat group when outputting
index e0553a0eca7ae3472bdc0d1e502af2b870c42ec4..c4f553e16c211f851afb0a891a65584c78c1fac3 100644 (file)
@@ -303,7 +303,7 @@ cp/repo.o: cp/repo.c $(CXX_TREE_H) $(TM_H) toplev.h $(DIAGNOSTIC_H) \
 cp/semantics.o: cp/semantics.c $(CXX_TREE_H) $(TM_H) except.h toplev.h \
   $(FLAGS_H) debug.h output.h $(RTL_H) $(TIMEVAR_H) $(EXPR_H) \
   $(TREE_INLINE_H) $(CGRAPH_H) $(TARGET_H) $(C_COMMON_H) $(GIMPLE_H) \
-  gt-cp-semantics.h
+  bitmap.h gt-cp-semantics.h
 cp/dump.o: cp/dump.c $(CXX_TREE_H) $(TM_H) $(TREE_DUMP_H)
 cp/optimize.o: cp/optimize.c $(CXX_TREE_H) $(TM_H) rtl.h $(INTEGRATE_H) \
   insn-config.h input.h $(PARAMS_H) debug.h $(TREE_INLINE_H) $(GIMPLE_H) \
index 173ef9616707dc3e0bcb71bd9fe2dcc8a4e89ba3..b97a4c363c56d6559449737e24655c3f99a1f559 100644 (file)
@@ -47,6 +47,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "vec.h"
 #include "target.h"
 #include "gimple.h"
+#include "bitmap.h"
 
 /* There routines provide a modular interface to perform many parsing
    operations.  They may therefore be used during actual parsing, or
index af2bb0ee0a53b70dab0ab672a30f119bc5c722f4..5e819cd979754fbf56a33950cd04ba45a8498ffa 100644 (file)
@@ -42,6 +42,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "params.h"
 #include "alloc-pool.h"
 #include "target.h"
+#include "bitmap.h"
 
 static bool cselib_record_memory;
 static bool cselib_preserve_constants;
index c73f00fe6cebb9481173b9b803d0651dbae0f42a..0632b1dbaafb5761f8e3940ddfa0ba0d630dbfb1 100644 (file)
--- a/gcc/df.h
+++ b/gcc/df.h
@@ -27,6 +27,8 @@ along with GCC; see the file COPYING3.  If not see
 #define GCC_DF_H
 
 #include "bitmap.h"
+#include "regset.h"
+#include "sbitmap.h"
 #include "basic-block.h"
 #include "alloc-pool.h"
 #include "timevar.h"
index fde79d71df37d65b0049f921d30e1813e85c89c3..f7db0f10d6be2ac4bf90d1bd53def0a3f0ae759d 100644 (file)
@@ -47,6 +47,7 @@
 #include "vecprim.h"
 #include "pointer-set.h"
 #include "graphds.h"
+#include "bitmap.h"
 
 /* We name our nodes with integers, beginning with 1.  Zero is reserved for
    'undefined' or 'end of list'.  The name of each node is given by the dfs
index 4f0e9190c19cb413589ee53ee425cd812c8d07e8..89d2e469eedd5aefc59be0558ace5d375d5bb9fb 100644 (file)
@@ -25,7 +25,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 #include "basic-block.h"
 #include "domwalk.h"
-#include "ggc.h"
+#include "sbitmap.h"
 
 /* This file implements a generic walker for dominator trees.
 
index de4fbf79f995d44d501daf005671eb2bc0f79550..ef511c9051579f83ea6503e4963b157f6ed11fd3 100644 (file)
@@ -19,7 +19,7 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-#include "sbitmap.h"
+#include "hashtab.h"
 #include "vecprim.h"
 #include "vecir.h"
 
index 4e2fe8625c54058ce13056a3b20469947c976647..10f015fa3f0f0b1b90779acf9c92ef2bfefa50ee 100644 (file)
@@ -624,7 +624,7 @@ static void
 alloc_gcse_mem (void)
 {
   /* Allocate vars to track sets of regs.  */
-  reg_set_bitmap = BITMAP_ALLOC (NULL);
+  reg_set_bitmap = ALLOC_REG_SET (NULL);
 
   /* Allocate array to keep a list of insns which modify memory in each
      basic block.  */
index 6ee7393b36df99b02e647aa364b0264f0959fbe1..e56e05189458f751554276860bde2bd55302189f 100644 (file)
@@ -542,7 +542,7 @@ extern int ira_copies_num;
 struct ira_spilled_reg_stack_slot
 {
   /* pseudo-registers assigned to the stack slot.  */
-  regset_head spilled_regs;
+  bitmap_head spilled_regs;
   /* RTL representation of the stack slot.  */
   rtx mem;
   /* Size of the stack slot.  */
index abeb9da2f7f78210fbfe7a26ad051de750e25774..574fe07d89ed26c585b1617f630b4cb9c9fa87e7 100644 (file)
--- a/gcc/ira.c
+++ b/gcc/ira.c
@@ -310,6 +310,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "bitmap.h"
 #include "hard-reg-set.h"
 #include "basic-block.h"
+#include "df.h"
 #include "expr.h"
 #include "recog.h"
 #include "params.h"
@@ -320,7 +321,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "reload.h"
 #include "toplev.h"
 #include "integrate.h"
-#include "df.h"
 #include "ggc.h"
 #include "ira-int.h"
 
@@ -1899,7 +1899,7 @@ mark_elimination (int from, int to)
   FOR_EACH_BB (bb)
     {
       /* We don't use LIVE info in IRA.  */
-      regset r = DF_LR_IN (bb);
+      bitmap r = DF_LR_IN (bb);
 
       if (REGNO_REG_SET_P (r, from))
        {
index 62777b09b522027b13036dce23a136fb06507745..619d2ab946f64a1191567beb31b094db26fe0e81 100644 (file)
--- a/gcc/lcm.c
+++ b/gcc/lcm.c
@@ -63,6 +63,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "output.h"
 #include "tm_p.h"
 #include "function.h"
+#include "sbitmap.h"
 
 /* We want target macros for the mode switching code to be able to refer
    to instruction attribute values.  */
index cc9f788a8a7b94227369550ee2108c3d47736b5b..ebf76492e2b2bb74e2e70fe5021d953de6543fba 100644 (file)
@@ -48,6 +48,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "timevar.h"
 #include "tree-pass.h"
 #include "dbgcnt.h"
+#include "df.h"
 
 #ifdef INSN_SCHEDULING
 
diff --git a/gcc/regset.h b/gcc/regset.h
new file mode 100644 (file)
index 0000000..75082a0
--- /dev/null
@@ -0,0 +1,125 @@
+/* Define regsets.
+   Copyright (C) 1987, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+   2005, 2006, 2007, 2008, 2009, 2010 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 3, or (at your option) any later
+version.
+
+GCC is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with GCC; see the file COPYING3.  If not see
+<http://www.gnu.org/licenses/>.  */
+
+#ifndef GCC_REGSET_H
+#define GCC_REGSET_H
+
+/* TODO: regset is just a bitmap in its implementation.  The compiler does
+   not consistently use one or the other, i.e. sometimes variables are
+   declared as bitmap but they are actually regsets and regset accessors
+   are used, and vice versa, or mixed (see e.g. spilled_regs in IRA).
+
+   This should be cleaned up, either by just dropping the regset type, or
+   by changing all bitmaps that are really regsets to the regset type.  For
+   the latter option, a good start would be to change everything allocated
+   on the reg_obstack to regset.  */
+
+#include "bitmap.h"            /* For bitmap_iterator.  */
+#include "hard-reg-set.h"
+
+/* Head of register set linked list.  */
+typedef bitmap_head regset_head;
+
+/* A pointer to a regset_head.  */
+typedef bitmap regset;
+
+/* Allocate a register set with oballoc.  */
+#define ALLOC_REG_SET(OBSTACK) BITMAP_ALLOC (OBSTACK)
+
+/* Do any cleanup needed on a regset when it is no longer used.  */
+#define FREE_REG_SET(REGSET) BITMAP_FREE (REGSET)
+
+/* Initialize a new regset.  */
+#define INIT_REG_SET(HEAD) bitmap_initialize (HEAD, &reg_obstack)
+
+/* Clear a register set by freeing up the linked list.  */
+#define CLEAR_REG_SET(HEAD) bitmap_clear (HEAD)
+
+/* Copy a register set to another register set.  */
+#define COPY_REG_SET(TO, FROM) bitmap_copy (TO, FROM)
+
+/* Compare two register sets.  */
+#define REG_SET_EQUAL_P(A, B) bitmap_equal_p (A, B)
+
+/* `and' a register set with a second register set.  */
+#define AND_REG_SET(TO, FROM) bitmap_and_into (TO, FROM)
+
+/* `and' the complement of a register set with a register set.  */
+#define AND_COMPL_REG_SET(TO, FROM) bitmap_and_compl_into (TO, FROM)
+
+/* Inclusive or a register set with a second register set.  */
+#define IOR_REG_SET(TO, FROM) bitmap_ior_into (TO, FROM)
+
+/* Exclusive or a register set with a second register set.  */
+#define XOR_REG_SET(TO, FROM) bitmap_xor_into (TO, FROM)
+
+/* Or into TO the register set FROM1 `and'ed with the complement of FROM2.  */
+#define IOR_AND_COMPL_REG_SET(TO, FROM1, FROM2) \
+  bitmap_ior_and_compl_into (TO, FROM1, FROM2)
+
+/* Clear a single register in a register set.  */
+#define CLEAR_REGNO_REG_SET(HEAD, REG) bitmap_clear_bit (HEAD, REG)
+
+/* Set a single register in a register set.  */
+#define SET_REGNO_REG_SET(HEAD, REG) bitmap_set_bit (HEAD, REG)
+
+/* Return true if a register is set in a register set.  */
+#define REGNO_REG_SET_P(TO, REG) bitmap_bit_p (TO, REG)
+
+/* Copy the hard registers in a register set to the hard register set.  */
+extern void reg_set_to_hard_reg_set (HARD_REG_SET *, const_bitmap);
+#define REG_SET_TO_HARD_REG_SET(TO, FROM)                              \
+do {                                                                   \
+  CLEAR_HARD_REG_SET (TO);                                             \
+  reg_set_to_hard_reg_set (&TO, FROM);                                 \
+} while (0)
+
+typedef bitmap_iterator reg_set_iterator;
+
+/* Loop over all registers in REGSET, starting with MIN, setting REGNUM to the
+   register number and executing CODE for all registers that are set.  */
+#define EXECUTE_IF_SET_IN_REG_SET(REGSET, MIN, REGNUM, RSI)    \
+  EXECUTE_IF_SET_IN_BITMAP (REGSET, MIN, REGNUM, RSI)
+
+/* Loop over all registers in REGSET1 and REGSET2, starting with MIN, setting
+   REGNUM to the register number and executing CODE for all registers that are
+   set in the first regset and not set in the second.  */
+#define EXECUTE_IF_AND_COMPL_IN_REG_SET(REGSET1, REGSET2, MIN, REGNUM, RSI) \
+  EXECUTE_IF_AND_COMPL_IN_BITMAP (REGSET1, REGSET2, MIN, REGNUM, RSI)
+
+/* Loop over all registers in REGSET1 and REGSET2, starting with MIN, setting
+   REGNUM to the register number and executing CODE for all registers that are
+   set in both regsets.  */
+#define EXECUTE_IF_AND_IN_REG_SET(REGSET1, REGSET2, MIN, REGNUM, RSI) \
+  EXECUTE_IF_AND_IN_BITMAP (REGSET1, REGSET2, MIN, REGNUM, RSI)        \
+
+/* Same information as REGS_INVALIDATED_BY_CALL but in regset form to be used
+   in dataflow more conveniently.  */
+
+extern regset regs_invalidated_by_call_regset;
+
+/* An obstack for regsets.  */
+extern bitmap_obstack reg_obstack;
+
+/* In cfg.c  */
+extern void dump_regset (regset, FILE *);
+extern void debug_regset (regset);
+
+#endif /* GCC_REGSET_H */
index 599e335eb9c4ff76f90ba5cba3989191bbe1b17c..af520ef1515eaa23a03570f9cb3e101535de00b1 100644 (file)
@@ -100,6 +100,7 @@ a register with any other reload.  */
 #include "expr.h"
 #include "optabs.h"
 #include "recog.h"
+#include "df.h"
 #include "reload.h"
 #include "regs.h"
 #include "addresses.h"
@@ -110,7 +111,6 @@ a register with any other reload.  */
 #include "toplev.h"
 #include "params.h"
 #include "target.h"
-#include "df.h"
 #include "ira.h"
 
 /* True if X is a constant that can be forced into the constant pool.  */
index 6118bedf26903d3a7c94d9da56667a0f8cb400e7..a28567014d3bb640c6b7c8e45f5de5aa056df776 100644 (file)
@@ -225,8 +225,8 @@ struct insn_chain
   /* Register life information: record all live hard registers, and
      all live pseudos that have a hard register.  This set also
      contains pseudos spilled by IRA.  */
-  regset_head live_throughout;
-  regset_head dead_or_set;
+  bitmap_head live_throughout;
+  bitmap_head dead_or_set;
 
   /* Copies of the global variables computed by find_reloads.  */
   struct reload *rld;
@@ -242,8 +242,10 @@ extern struct insn_chain *reload_insn_chain;
 
 /* Allocate a new insn_chain structure.  */
 extern struct insn_chain *new_insn_chain (void);
+#endif
 
-extern void compute_use_by_pseudos (HARD_REG_SET *, regset);
+#if defined SET_HARD_REG_BIT
+extern void compute_use_by_pseudos (HARD_REG_SET *, bitmap);
 #endif
 
 /* Functions from reload.c:  */
index 7c89b64f314048d2fcf72e043a87e54857e931b4..504c9e09049c2ab24154ebbc79b30077f8ed191c 100644 (file)
@@ -37,6 +37,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "regs.h"
 #include "addresses.h"
 #include "basic-block.h"
+#include "df.h"
 #include "reload.h"
 #include "recog.h"
 #include "output.h"
@@ -44,7 +45,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "except.h"
 #include "tree.h"
 #include "ira.h"
-#include "df.h"
 #include "target.h"
 #include "emit-rtl.h"
 
index f429f70eccf6dc57e8c81cbee604140b32e0ddc8..205b1827284c3f42ac2b09a1de113a4cc02be1e1 100644 (file)
@@ -27,6 +27,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "hard-reg-set.h"
 #include "obstack.h"
 #include "basic-block.h"
+#include "sbitmap.h"
 
 #if GCC_VERSION >= 3400
 #if HOST_BITS_PER_WIDEST_FAST_INT == HOST_BITS_PER_LONG
index 7e2bc707677750baa8b1ea13a06ba1c6c83ddb5c..dc6d671549978455ff06eb024e3a1857e5a855f6 100644 (file)
@@ -36,14 +36,13 @@ along with GCC; see the file COPYING3.  If not see
 #error Need to increase size of datatype used for popcount
 #endif
 
-typedef struct simple_bitmap_def
+struct simple_bitmap_def
 {
   unsigned char *popcount;      /* Population count.  */
   unsigned int n_bits;         /* Number of bits.  */
   unsigned int size;           /* Size in elements.  */
   SBITMAP_ELT_TYPE elms[1];    /* The elements.  */
-} *sbitmap;
-typedef const struct simple_bitmap_def *const_sbitmap;
+};
 
 typedef SBITMAP_ELT_TYPE *sbitmap_ptr;
 typedef const SBITMAP_ELT_TYPE *const_sbitmap_ptr;
index 20f0bba53746e09e95a46cf73ded1a78a1102409..f3025e856ae2ac264a254b30e79cd4f64e242481 100644 (file)
@@ -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"
index 2778befd198507443ac5ec7f943ea632a3e793dc..4b91ab6522e16d99c1cdb11e8f83922125a23b4a 100644 (file)
@@ -52,6 +52,8 @@ along with GCC; see the file COPYING3.  If not see
 #include "regs.h"
 #include "alloc-pool.h"
 #include "pretty-print.h"
+#include "bitmap.h"
+
 \f
 /* Functions and data structures for expanding case statements.  */
 
index 864f3b9e6de8d749f173a2dd2f12656339e4311b..bcbd7fbe440e746b552458e10b83057bcf148308 100644 (file)
@@ -23,6 +23,7 @@ along with GCC; see the file COPYING3.  If not see
 #define _TREE_FLOW_H 1
 
 #include "bitmap.h"
+#include "sbitmap.h"
 #include "basic-block.h"
 #include "hashtab.h"
 #include "gimple.h"
index f71ab4d7b53afabe588d22789affcf7a65739ca0..76918f1cfd69cf62bbedf2c644ed6a0fb70bd4e0 100644 (file)
@@ -47,7 +47,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "cfgloop.h"
 #include "except.h"
 #include "plugin.h"
-
+#include "regset.h"    /* FIXME: For reg_obstack.  */
 
 /* Gate: execute, or not, all of the non-trivial optimizations.  */