mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-10 23:11:36 +08:00
coretypes.h (struct simple_bitmap_def, [...]): New core types.
gcc/ChangeLog: * 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. From-SVN: r159746
This commit is contained in:
parent
bc382218ce
commit
7a8cba34b0
@ -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.
|
||||
|
@ -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) \
|
||||
|
@ -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, ®_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;
|
||||
|
||||
|
||||
/* 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);
|
||||
|
@ -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. */
|
||||
|
@ -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. */
|
||||
|
@ -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);
|
||||
|
@ -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. */
|
||||
|
@ -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
|
||||
{
|
||||
|
@ -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 */
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
@ -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) \
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
2
gcc/df.h
2
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"
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
||||
|
@ -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"
|
||||
|
||||
|
@ -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. */
|
||||
|
@ -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. */
|
||||
|
@ -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))
|
||||
{
|
||||
|
@ -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. */
|
||||
|
@ -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
|
||||
|
||||
|
125
gcc/regset.h
Normal file
125
gcc/regset.h
Normal file
@ -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, ®_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 */
|
@ -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. */
|
||||
|
@ -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: */
|
||||
|
@ -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"
|
||||
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
||||
|
||||
/* Functions and data structures for expanding case statements. */
|
||||
|
||||
|
@ -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"
|
||||
|
@ -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. */
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user