On Wed, Jul 11, 2012 at 9:36 AM, Steven Bosscher <[email protected]> wrote:
> Hello,
>
> This is another round of small header include cleanups.
>
> Note: I'm not going through this work completely at random, but it's
> sometimes hard to keep an overview of all the changes which is why I'm
> sending them in bits. For example, moving the can_move_by_pieces
> prototype really doesn't improve things at the surface, but it helps
> expose what is needed by what, i.e. define the interfaces.
> Longer-term, it should be easier to move/regroup code once the
> interfaces are clear...
>
> Bootstrapped&tested on x86_64-unknown-linux-gnu, and build
> cross-compilers (cc1) to sparc-linux and ia64-linux. OK for trunk?
Ok with adjusting dependences in Makefile.in (if required).
Thanks,
Richard.
> Ciao!
> Steven
>
>
> gcc/
> * expr.h (can_move_by_pieces): Move prototype from here ...
> * tree.h (can_move_by_pieces): ... to here.
> * optabs.h (set_widening_optab_handler): Use XCNEW.
> * gimplify.c: Do not include expr.h.
>
> * toplev.c: Do not include dwarf2out.h.
> * config/ia64/ia64.c: Likewise.
> * config/sparc/sparc.c: Likewise.
>
> c-family/
> * c-family/c-gimplify.c: Do not include basic-block.h.
> * c-family/c-common.c: Do not include libfuncs.h.
>
> cp/
> * cp/method.c: Do not include tree-pass.h.
>
> fortran/
> * fortran/trans.c: Do not include defaults.h.
> * fortran/trans-intrinsic.c: Likewise.
>
> java/
> * java/decl.c: Do not include libfuncs.h.
> * class.c: Do not include defaults.h.
> * jvgenmain.c: Likewise.
> * magnle.c: Likewise.
>
> Index: expr.h
> ===================================================================
> --- expr.h (revision 189365)
> +++ expr.h (working copy)
> @@ -369,11 +369,6 @@ rtx set_storage_via_libcall (rtx, rtx, r
> extern bool set_storage_via_setmem (rtx, rtx, rtx, unsigned int,
> unsigned int, HOST_WIDE_INT);
>
> -/* Determine whether the LEN bytes can be moved by using several move
> - instructions. Return nonzero if a call to move_by_pieces should
> - succeed. */
> -extern int can_move_by_pieces (unsigned HOST_WIDE_INT, unsigned int);
> -
> extern unsigned HOST_WIDE_INT move_by_pieces_ninsns (unsigned HOST_WIDE_INT,
> unsigned int,
> unsigned int);
> Index: tree.h
> ===================================================================
> --- tree.h (revision 189365)
> +++ tree.h (working copy)
> @@ -5886,6 +5886,12 @@ extern void fini_object_sizes (void);
> extern unsigned HOST_WIDE_INT compute_builtin_object_size (tree, int);
>
> /* In expr.c. */
> +
> +/* Determine whether the LEN bytes can be moved by using several move
> + instructions. Return nonzero if a call to move_by_pieces should
> + succeed. */
> +extern int can_move_by_pieces (unsigned HOST_WIDE_INT, unsigned int);
> +
> extern unsigned HOST_WIDE_INT highest_pow2_factor (const_tree);
> extern tree build_personality_function (const char *);
>
> Index: optabs.h
> ===================================================================
> --- optabs.h (revision 189366)
> +++ optabs.h (working copy)
> @@ -1051,8 +1051,7 @@ set_widening_optab_handler (optab op, en
> else
> {
> if (op->widening == NULL)
> - op->widening = (struct widening_optab_handlers *)
> - xcalloc (1, sizeof (struct widening_optab_handlers));
> + op->widening = XCNEW (struct widening_optab_handlers);
>
> op->widening->handlers[(int) to_mode][(int) from_mode].insn_code =
> code;
> }
> Index: gimplify.c
> ===================================================================
> --- gimplify.c (revision 189365)
> +++ gimplify.c (working copy)
> @@ -47,8 +47,6 @@ along with GCC; see the file COPYING3.
> #include "tree-pass.h"
>
> #include "langhooks-def.h" /* FIXME: for lhd_set_decl_assembler_name. */
> -#include "expr.h" /* FIXME: for can_move_by_pieces
> - and STACK_CHECK_MAX_VAR_SIZE. */
>
> enum gimplify_omp_var_data
> {
> @@ -3970,7 +3968,7 @@ gimplify_init_constructor (tree *expr_p,
> walk_tree (&DECL_INITIAL (object), force_labels_r, NULL, NULL);
>
> /* ??? C++ doesn't automatically append a .<number> to the
> - assembler name, and even when it does, it looks a FE private
> + assembler name, and even when it does, it looks at FE private
> data structures to figure out what that number should be,
> which are not set for this variable. I suppose this is
> important for local statics for inline functions, which aren't
> Index: toplev.c
> ===================================================================
> --- toplev.c (revision 189365)
> +++ toplev.c (working copy)
> @@ -76,10 +76,6 @@ along with GCC; see the file COPYING3.
> #include "tree-ssa-alias.h"
> #include "plugin.h"
>
> -#if defined (DWARF2_UNWIND_INFO) || defined (DWARF2_DEBUGGING_INFO)
> -#include "dwarf2out.h"
> -#endif
> -
> #if defined(DBX_DEBUGGING_INFO) || defined(XCOFF_DEBUGGING_INFO)
> #include "dbxout.h"
> #endif
> Index: cgraph.c
> ===================================================================
> --- cgraph.c (revision 189365)
> +++ cgraph.c (working copy)
> @@ -509,7 +509,7 @@ cgraph_node_for_asm (tree asmname)
> return NULL;
> }
>
> -/* Returns a hash value for X (which really is a die_struct). */
> +/* Returns a hash value for X (which really is a cgraph_edge). */
>
> static hashval_t
> edge_hash (const void *x)
> @@ -517,7 +517,7 @@ edge_hash (const void *x)
> return htab_hash_pointer (((const struct cgraph_edge *) x)->call_stmt);
> }
>
> -/* Return nonzero if decl_id of die_struct X is the same as UID of decl *Y.
> */
> +/* Return nonzero if the call_stmt of of cgraph_edge X is stmt *Y. */
>
> static int
> edge_eq (const void *x, const void *y)
> Index: value-prof.c
> ===================================================================
> --- value-prof.c (revision 189365)
> +++ value-prof.c (working copy)
> @@ -108,7 +108,7 @@ histogram_hash (const void *x)
> return htab_hash_pointer (((const_histogram_value)x)->hvalue.stmt);
> }
>
> -/* Return nonzero if decl_id of die_struct X is the same as UID of decl *Y.
> */
> +/* Return nonzero if statement for histogram_value X is Y. */
>
> static int
> histogram_eq (const void *x, const void *y)
> Index: config/ia64/ia64.c
> ===================================================================
> --- config/ia64/ia64.c (revision 189365)
> +++ config/ia64/ia64.c (working copy)
> @@ -60,7 +60,6 @@ along with GCC; see the file COPYING3.
> #include "tm-constrs.h"
> #include "sel-sched.h"
> #include "reload.h"
> -#include "dwarf2out.h"
> #include "opts.h"
>
> /* This is used for communication between ASM_OUTPUT_LABEL and
> Index: config/sparc/sparc.c
> ===================================================================
> --- config/sparc/sparc.c (revision 189365)
> +++ config/sparc/sparc.c (working copy)
> @@ -54,7 +54,6 @@ along with GCC; see the file COPYING3.
> #include "reload.h"
> #include "params.h"
> #include "df.h"
> -#include "dwarf2out.h"
> #include "opts.h"
>
> /* Processor costs */
> Index: c-family/c-gimplify.c
> ===================================================================
> --- c-family/c-gimplify.c (revision 189365)
> +++ c-family/c-gimplify.c (working copy)
> @@ -31,7 +31,6 @@ along with GCC; see the file COPYING3.
> #include "tree.h"
> #include "c-common.h"
> #include "gimple.h"
> -#include "basic-block.h"
> #include "tree-inline.h"
> #include "diagnostic-core.h"
> #include "langhooks.h"
> Index: c-family/c-common.c
> ===================================================================
> --- c-family/c-common.c (revision 189365)
> +++ c-family/c-common.c (working copy)
> @@ -45,7 +45,6 @@ along with GCC; see the file COPYING3.
> #include "opts.h"
> #include "cgraph.h"
> #include "target-def.h"
> -#include "libfuncs.h"
>
> cpp_reader *parse_in; /* Declared in c-pragma.h. */
>
> Index: cp/method.c
> ===================================================================
> --- cp/method.c (revision 189365)
> +++ cp/method.c (working copy)
> @@ -34,7 +34,6 @@ along with GCC; see the file COPYING3.
> #include "tm_p.h"
> #include "target.h"
> #include "common/common-target.h"
> -#include "tree-pass.h"
> #include "diagnostic.h"
> #include "cgraph.h"
> #include "gimple.h"
> Index: fortran/trans.c
> ===================================================================
> --- fortran/trans.c (revision 189365)
> +++ fortran/trans.c (working copy)
> @@ -26,7 +26,6 @@ along with GCC; see the file COPYING3.
> #include "gimple.h" /* For create_tmp_var_raw. */
> #include "tree-iterator.h"
> #include "diagnostic-core.h" /* For internal_error. */
> -#include "defaults.h"
> #include "flags.h"
> #include "gfortran.h"
> #include "trans.h"
> Index: fortran/trans-intrinsic.c
> ===================================================================
> --- fortran/trans-intrinsic.c (revision 189365)
> +++ fortran/trans-intrinsic.c (working copy)
> @@ -39,7 +39,6 @@ along with GCC; see the file COPYING3.
> #include "trans-const.h"
> #include "trans-types.h"
> #include "trans-array.h"
> -#include "defaults.h"
> /* Only for gfc_trans_assign and gfc_trans_pointer_assign. */
> #include "trans-stmt.h"
>
> Index: java/decl.c
> ===================================================================
> --- java/decl.c (revision 189365)
> +++ java/decl.c (working copy)
> @@ -34,7 +34,6 @@ The Free Software Foundation is independ
> #include "flags.h"
> #include "java-tree.h"
> #include "jcf.h"
> -#include "libfuncs.h"
> #include "java-except.h"
> #include "ggc.h"
> #include "cgraph.h"
> Index: java/class.c
> ===================================================================
> --- java/class.c (revision 189365)
> +++ java/class.c (working copy)
> @@ -41,7 +41,6 @@ The Free Software Foundation is independ
> #include "cgraph.h"
> #include "tree-iterator.h"
> #include "vecprim.h"
> -#include "tm.h" /* FIXME: For gcc_obstack_init from defaults.h. */
> #include "target.h"
>
> static tree make_method_value (tree);
> Index: java/jvgenmain.c
> ===================================================================
> --- java/jvgenmain.c (revision 189365)
> +++ java/jvgenmain.c (working copy)
> @@ -33,7 +33,6 @@ The Free Software Foundation is independ
> #include "java-tree.h"
> #include "intl.h"
> #include "diagnostic.h"
> -#include "tm.h" /* FIXME: For gcc_obstack_init from defaults.h. */
>
> static char * do_mangle_classname (const char *string);
>
> Index: java/mangle.c
> ===================================================================
> --- java/mangle.c (revision 189365)
> +++ java/mangle.c (working copy)
> @@ -35,7 +35,6 @@ The Free Software Foundation is independ
> #include "diagnostic-core.h"
> #include "ggc.h"
> #include "langhooks-def.h"
> -#include "tm.h" /* FIXME: For gcc_obstack_init from defaults.h. */
>
> static void mangle_class_field (tree);
> static void mangle_vtable (tree);