This is the mail archive of the gcc-cvs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

r147036 - in /branches/multi-target-4_4-branch/...


Author: amylaar
Date: Fri May  1 20:51:07 2009
New Revision: 147036

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=147036
Log:
changes to get the following multi-target configuration to link cc1:
--target=m32r-elf --with-extra-target-list='sh64-elf arc-elf32'
	* regrename.c: Include "multi-target.h" and add START_TARGET_SPECIFIC
	and END_TARGET_SPECIFC markers.
	* loop-unswitch.c, sched-ebb.c, fwprop.c, dwarf2asm.c: Likewise.
	* dwarf2asm.h, ira-conflicts.c, targhooks.c, targhooks.h: Likewise.
	* regstat.c, see.c, machmode.h, rtlhooks.c, optabs.c: Likewise.
	* postreload-gcse.c, optabs.h, postreload.c, reload.c: Likewise.
	* tree.h, reload.h, rtlanal.c, ddg.c, final.c, builtins.c: Likewise.
	* cfghooks.c, cfghooks.h, cfgloopanal.c, cfg.c: Likewise.
	* auto-inc-dec.c, toplev.c, toplev.h, reorg.c, regs.h: Likewise.
	* df-scan.c, haifa-sched.c, dojump.c, dbxout.c, df-core.c: Likewise.
	* mode-switching.c, modulo-sched.c, caller-save.ci, graph.c: Likewise.
	* ira-int.h, cse.c, web.c, ira-color.c, sel-sched.c: Likewise.
	* loop-init.c, cfganal.c, ifcvt.c, jump.c, dwarf2out.c: Likewise.
	* expr.c, cfgbuild.c, hard-reg-set.h, predict.c, predict.h: Likewise.
	* recog.c, recog.h, dse.c, sel-sched-ir.c, sel-sched-ir.h: Likewise.
	* ira-lives.c, regmove.c, sel-sched-dump.c: Likewise.
	* sel-sched-dump.h, function.c, function.h, print-rtl.c: Likewise.
	* df.h, sdbout.c, stor-layout.c, rtlhooks-def.h, ira-emit.c: Likewise.
	* df-byte-scan.c, gcse.c, alias.c, alias.h, init-regs.c: Likewise.
	* ira-build.c, loop-unroll.c, ggc.h, insn-addr.h, calls.c: Likewise.
	* loop-doloop.c, rtl-factoring.c, lower-subreg.c, expmed.c: Likewise.
	* bt-load.c, except.c, except.h, emit-rtl.c, cfgexpand.c: Likewise.
	* cselib.c, cfgcleanup.c, simplify-rtx.c, explow.c: Likewise.
	* loop-invariant.c, loop-iv.c, cfglayout.c, varasm.c, ira.c: Likewise.
	* sched-deps.c, ira.h, rtl.c, ira-costs.c, rtl.h: Likewise.
	* integrate.c, sched-int.h, output.h, combine.c: Likewise.
	* fixed-value.h, addresses.h, bb-reorder.c, stack-ptr-mod.c: Likewise.
	* resource.c, var-tracking.c, resource.h, cfgloop.h: Likewise.
	* df-problems.c, reginfo.c, sched-rgn.c, basic-block.h: Likewise.
	* sched-vis.c, passes.c, config/sh/sh-protos.h: Likewise.
	* config/sh/sh.c, config/sh/sh.h, config/arc/arc.c: Likewise.
	* config/arc/arc.h, combine-stack-adj.c, cfgrtl.c, stmt.c: Likewise.
	* dce.c, reload1.c: Likewise.
	* targhooks.c: Add #ifndef EXTRA_TARGET / #endif directives.
	* cfghooks.c, toplev.c, expr.c, calls.c, emit-rtl.c: Likewise.
	* explow.c, passes.c: Likewise.
	* targhooks.h: (default_branch_target_register_class): Return int
	instead of enum reg_class.
	(default_secondary_reload): Likewise.
	* config/sh/sh-protos.h (sh_secondary_reload): Likewise.
	* config/sh/sh.c (sh_secondary_reload): Likewise.
	* targhooks.h: (default_ira_cover_classes): Return const int *
	instead of const enum reg_class *.
	* targhooks.c (default_ira_cover_classes): Likewise.
	* genrecog.c (write_header, main): Make generated file include
	"multi-target.h" and have START_TARGET_SPECIFIC and END_TARGET_SPECIFC
	markers.
	* genopinit.c (main): Likewise.
	* genoutput.c (output_prologue, main): Likewise.
	* genextract.c (print_header, main): Likewise.
	* genautomata.c (main): Likewise.
	* genemit.c (main): Likewise.
	* genpeep.c (main): Likewise.
	* genattrtab.c (main): Likewise.
	* genattr.c (gen_attr, main): Likewise.
	* optc-gen.awk: Likewise.
	* genmodes.c (emit_insn_modes_c_header, emit_insn_modes_c): Likewise.
	(emit_min_insn_modes_c_header, emit_min_insn_modes_c): Likewise.
	* genflags.c (main): Likewise.
	* genpreds.c (write_tm_constrs_h, write_insn_preds_c): Likewise.
	* opth-gen.awk: Likewise.
	* gengtype.c (open_base_files): Make generated file include
	"multi-target.h" and have START_TARGET_SPECIFIC markers.
	(write_func_for_structure, write_roots): FIXME: effectively comment
	for EXTRA_TARGET out except for creating the files.
	(main): Emit END_TARGET_SPECIFIC markers.
	* multi-target.h: New file.
	* mkconfig.sh: Support function-like DEFINES.
	In <target>/<target>-protos.h, wrap header files after multi-target.h
	up to but excluding tm-preds.h in START_TARGET_SPECIFIC /
	END_TARGET_SPECIFIC.
	* tree.h (strip_float_extensions): Delete duplicate declaration.
	* reload.c (push_secondary_reload): Cast arguments / return value of
	targetm.secondary_reload from / to enum reg_class.`
	(secondary_reload_class): Likewise.
	* ira-costs.c (copy_cost): Likewise.
	* reload1.c (emit_input_reload_insns): Likewise.
	* tree-pass.h (rtl_dispatch_pass): New struct.
	(TODO_arch_dispatch): New macro.
	(pass_expand): Now has type rtl_dispatch_pass.
	* tree-scalar-evolution.h (block_before_loop): Don't define for
	EXTRA_TARGET.
	(instantiate_parameters, get_chrec_loop): Likewise.
	* target.h (struct gcc_target): Change branch_target_register_class
	and ira_cover_classes to avoid the target-specific enum reg_class.
	* bt-load.c (branch_target_register_class): Likewise.
	* ddg.h, dbxout.h: Enclose declarations in namespace EXTRA_TARGET.
	* expr.h, cselib.h, cfglayout.h, gimple.h: Likewise
	* toplev.c (init_random_seed): No longer static.
	(lang_dependent_init_target): Likewise.
	(backend_init): No longer static.  Do an EXTRA_TARGETS_CALL of self.
	(lang_dependent_init): Likewise.
	(target_reinit): Do an EXTRA_TARGETS_CALL of self.
	* toplev.h (init_random_seed): Declare,
	* machmode.def: Include "extra-modes.h" instead of EXTRA_MODES_FILE.
	* configure.ac (with_extra_target_list): Add AC_SUBST statement.
	* configure: Regenerate.
	* function.c (cfun): Don't define for EXTRA_TARGET.
	(init_function_start): Do an EXTRA_TARGETS_CALL of self.
	* function.h (struct function): Add new member target_arch.
	* genmodes.c (struct mode_date): New member target.
	(blank_mode): Add initializer for target member.
	(target): New variable.
	(new_mode): Initialize target member.
	(fixup_target_modes): New function.
	(calc_wider_mode): Skip (other-)target modes.
	(print_maybe_const_decl): Add declaration for const definition.
	Don't expect %s in type anymore.  Changed all users.
	(emit_insn_modes_h): Prefix target modes names with the target name.
	Don't include target modes in search for MIN_/MAX_ modes.
	(emit_mode_wider): Skip target modes.
	(emit_real_format_for_mode): Likewise.
	(main): Call fixup_target_modes.
	* emit-rtl.c (const_int_htab, const_double_htab): No longer static
	* cfgexpand.c (pass_expand): Change type to struct rtl_dispatch_pass.
	Set TODO_arch_dispatch in todo_flags_finish.
	Initialize target_variants.
	* ira.c (setup_cover_and_important_classes): Change type of
	cover_classes to int *.
	* README-multi-target: New file.
	* rtl.h (struct function): Remove forward declaration.
	(delete_insn): Move declaration to correct block.
	TDEP-SOURCES: New file.
	* Makefile.in: Use $(TA) prefix for taget-specific files that are
	(compiled to be ) included in libbackend.a.
	(gcc_config_arguments, TA, TARGET_NUM, CXXX, OBJS-rtl): Set.
	(EXTRA_TARGETS, NUM_TARGETS, empty, space): Likewise.
	(EXTRA_TARGET_RULES, enumerate): Likewise.
	(out_object_file) [EXTRA_TARGET]: Set to $(TA)xout.o.
	(OBJS-common): Use $(OBJS-rtl), and add EXTRA_TARGETS files.
	(cs-tm.h): Add definitions to indicate total number of targets, the
	ordinary number of current extra target, and a macro to call all
	the extra targets to DEFINES.
	(cs-tm_p.h): Add multi-target.h to HEADERS.
	($(out_object_file)): Use CXXX.
	(build/%.o) [EXTRA_TARGET]: Add -DEXTRA_TARGET=$(EXTRA_TARGET).
	(build/genmodes.o): Add output_target defintion to BUILD_CPPFLAGS.
	Depend on extra-modes.h instead of on $(extra_modes_file).
	(extra-modes.h, extra_modes_blurb, COMMON_ABI): New rules.
	(intl/config.intl, make-OBJS-rtl): Likewise.
	[EXTRA_TARGET]: Evaluate EXTRA_TARGET_RULES for each target in
	EXTRA_TARGETS with substitutions.
	* basic-block.h: Fix location of declarations to properly indicate
	where the functions are defined.
	* passes.c (init_optimization_passes) [!EXTRA_TARGET]: Do an
	EXTRA_TARGETS_CALL of self.
	(init_optimization_passes) [EXTRA_TARGET]: Initialize
	pass_expand.target_variants array member for current target.
	(execute_one_pass): Handle TODO_arch_dispatch flag.
	* config/sh/sh.c (struct save_entry_s): Change type of mode to int.

	* config/m32r/m32r-protos.h (m32r_compute_function_type): Make this
	depend on RTX_CODE being defined instead of on TREE_CODE being defined.
gcc-in-gxx changes:
        * targhooks.c (default_builtin_vectorized_function): Make signature
        agree with prototype in targhooks.h.
        (default_builtin_vectorized_conversion): Likewise.
        (default_builtin_reciprocal): Likewise.

        * expr.c (move_by_pieces, store_by_pieces): Append _d to struct tag.
        Changed all users.

        * config/sh/sh.c (sh_attribute_table): Use extern in forward
        declaration.
        (prepare_move_operands): Cast return value of tls_symbolic_operand.
        (expand_cbranchsi4, output_stack_adjust, push): Use alloc_reg_note.
        (pop, sh_expand_prologue): Likewise.
        (from_compare): Cast argument to gen_rtx_fmt_ee.
        (sh_reorg): Use PUT_REG_NOTE_KIND.
        (sh_expand_prologue): Add cast to enum machine_mode.
        (sh_expand_epilogue): Likewise.
        (get_free_reg): Add cast to enum attr_fp_mode.
        (sh_insn_length_adjustment): Compare sh_cpu with enum value of the
        proper type.
        (sh_initialize_trampoline): Use LCT_NORMAL.
        (sh_expand_builtin): Use EXPAND_NORMAL.

        * config/arc/arc.c (arc_attribute_table): Use extern in forward
        declaration.
        (output_shift): Replace initializatin of n with assignment.
miscellaneous changes:
        * coverage.c (ctr_labels): Remove unused variable.
        Makefile.in ($(TA)rtlanal.o): Depend on $(DF_H).
        ($(TA)sel-sched-ir.o): Depend on $(CFGLOOP_H).

        * config/arc/arc.c: #include "df.h".
        (arc_address_cost): Use INTVAL to refer to the value of a CONST_INT.

Added:
    branches/multi-target-4_4-branch/gcc/ChangeLog.multi-target
    branches/multi-target-4_4-branch/gcc/README-multi-target
    branches/multi-target-4_4-branch/gcc/TDEP-SOURCES
    branches/multi-target-4_4-branch/gcc/multi-target.h
Modified:
    branches/multi-target-4_4-branch/gcc/ChangeLog
    branches/multi-target-4_4-branch/gcc/ChangeLog.cxx
    branches/multi-target-4_4-branch/gcc/Makefile.in
    branches/multi-target-4_4-branch/gcc/addresses.h
    branches/multi-target-4_4-branch/gcc/alias.c
    branches/multi-target-4_4-branch/gcc/alias.h
    branches/multi-target-4_4-branch/gcc/auto-inc-dec.c
    branches/multi-target-4_4-branch/gcc/basic-block.h
    branches/multi-target-4_4-branch/gcc/bb-reorder.c
    branches/multi-target-4_4-branch/gcc/bt-load.c
    branches/multi-target-4_4-branch/gcc/builtins.c
    branches/multi-target-4_4-branch/gcc/caller-save.c
    branches/multi-target-4_4-branch/gcc/calls.c
    branches/multi-target-4_4-branch/gcc/cfg.c
    branches/multi-target-4_4-branch/gcc/cfganal.c
    branches/multi-target-4_4-branch/gcc/cfgbuild.c
    branches/multi-target-4_4-branch/gcc/cfgcleanup.c
    branches/multi-target-4_4-branch/gcc/cfgexpand.c
    branches/multi-target-4_4-branch/gcc/cfghooks.c
    branches/multi-target-4_4-branch/gcc/cfghooks.h
    branches/multi-target-4_4-branch/gcc/cfglayout.c
    branches/multi-target-4_4-branch/gcc/cfglayout.h
    branches/multi-target-4_4-branch/gcc/cfgloop.h
    branches/multi-target-4_4-branch/gcc/cfgloopanal.c
    branches/multi-target-4_4-branch/gcc/cfgrtl.c
    branches/multi-target-4_4-branch/gcc/combine-stack-adj.c
    branches/multi-target-4_4-branch/gcc/combine.c
    branches/multi-target-4_4-branch/gcc/config/arc/arc.c
    branches/multi-target-4_4-branch/gcc/config/arc/arc.h
    branches/multi-target-4_4-branch/gcc/config/m32r/m32r-protos.h
    branches/multi-target-4_4-branch/gcc/config/sh/sh-protos.h
    branches/multi-target-4_4-branch/gcc/config/sh/sh.c
    branches/multi-target-4_4-branch/gcc/config/sh/sh.h
    branches/multi-target-4_4-branch/gcc/configure
    branches/multi-target-4_4-branch/gcc/configure.ac
    branches/multi-target-4_4-branch/gcc/coverage.c
    branches/multi-target-4_4-branch/gcc/cse.c
    branches/multi-target-4_4-branch/gcc/cselib.c
    branches/multi-target-4_4-branch/gcc/cselib.h
    branches/multi-target-4_4-branch/gcc/dbxout.c
    branches/multi-target-4_4-branch/gcc/dbxout.h
    branches/multi-target-4_4-branch/gcc/dce.c
    branches/multi-target-4_4-branch/gcc/ddg.c
    branches/multi-target-4_4-branch/gcc/ddg.h
    branches/multi-target-4_4-branch/gcc/df-byte-scan.c
    branches/multi-target-4_4-branch/gcc/df-core.c
    branches/multi-target-4_4-branch/gcc/df-problems.c
    branches/multi-target-4_4-branch/gcc/df-scan.c
    branches/multi-target-4_4-branch/gcc/df.h
    branches/multi-target-4_4-branch/gcc/dojump.c
    branches/multi-target-4_4-branch/gcc/dse.c
    branches/multi-target-4_4-branch/gcc/dwarf2asm.c
    branches/multi-target-4_4-branch/gcc/dwarf2asm.h
    branches/multi-target-4_4-branch/gcc/dwarf2out.c
    branches/multi-target-4_4-branch/gcc/emit-rtl.c
    branches/multi-target-4_4-branch/gcc/except.c
    branches/multi-target-4_4-branch/gcc/except.h
    branches/multi-target-4_4-branch/gcc/explow.c
    branches/multi-target-4_4-branch/gcc/expmed.c
    branches/multi-target-4_4-branch/gcc/expr.c
    branches/multi-target-4_4-branch/gcc/expr.h
    branches/multi-target-4_4-branch/gcc/final.c
    branches/multi-target-4_4-branch/gcc/fixed-value.h
    branches/multi-target-4_4-branch/gcc/function.c
    branches/multi-target-4_4-branch/gcc/function.h
    branches/multi-target-4_4-branch/gcc/fwprop.c
    branches/multi-target-4_4-branch/gcc/gcse.c
    branches/multi-target-4_4-branch/gcc/genattr.c
    branches/multi-target-4_4-branch/gcc/genattrtab.c
    branches/multi-target-4_4-branch/gcc/genautomata.c
    branches/multi-target-4_4-branch/gcc/genemit.c
    branches/multi-target-4_4-branch/gcc/genextract.c
    branches/multi-target-4_4-branch/gcc/genflags.c
    branches/multi-target-4_4-branch/gcc/gengtype.c
    branches/multi-target-4_4-branch/gcc/genmodes.c
    branches/multi-target-4_4-branch/gcc/genopinit.c
    branches/multi-target-4_4-branch/gcc/genoutput.c
    branches/multi-target-4_4-branch/gcc/genpeep.c
    branches/multi-target-4_4-branch/gcc/genpreds.c
    branches/multi-target-4_4-branch/gcc/genrecog.c
    branches/multi-target-4_4-branch/gcc/ggc.h
    branches/multi-target-4_4-branch/gcc/gimple.h
    branches/multi-target-4_4-branch/gcc/graph.c
    branches/multi-target-4_4-branch/gcc/haifa-sched.c
    branches/multi-target-4_4-branch/gcc/hard-reg-set.h
    branches/multi-target-4_4-branch/gcc/ifcvt.c
    branches/multi-target-4_4-branch/gcc/init-regs.c
    branches/multi-target-4_4-branch/gcc/insn-addr.h
    branches/multi-target-4_4-branch/gcc/integrate.c
    branches/multi-target-4_4-branch/gcc/ira-build.c
    branches/multi-target-4_4-branch/gcc/ira-color.c
    branches/multi-target-4_4-branch/gcc/ira-conflicts.c
    branches/multi-target-4_4-branch/gcc/ira-costs.c
    branches/multi-target-4_4-branch/gcc/ira-emit.c
    branches/multi-target-4_4-branch/gcc/ira-int.h
    branches/multi-target-4_4-branch/gcc/ira-lives.c
    branches/multi-target-4_4-branch/gcc/ira.c
    branches/multi-target-4_4-branch/gcc/ira.h
    branches/multi-target-4_4-branch/gcc/jump.c
    branches/multi-target-4_4-branch/gcc/loop-doloop.c
    branches/multi-target-4_4-branch/gcc/loop-init.c
    branches/multi-target-4_4-branch/gcc/loop-invariant.c
    branches/multi-target-4_4-branch/gcc/loop-iv.c
    branches/multi-target-4_4-branch/gcc/loop-unroll.c
    branches/multi-target-4_4-branch/gcc/loop-unswitch.c
    branches/multi-target-4_4-branch/gcc/lower-subreg.c
    branches/multi-target-4_4-branch/gcc/machmode.def
    branches/multi-target-4_4-branch/gcc/machmode.h
    branches/multi-target-4_4-branch/gcc/mkconfig.sh
    branches/multi-target-4_4-branch/gcc/mode-switching.c
    branches/multi-target-4_4-branch/gcc/modulo-sched.c
    branches/multi-target-4_4-branch/gcc/optabs.c
    branches/multi-target-4_4-branch/gcc/optabs.h
    branches/multi-target-4_4-branch/gcc/optc-gen.awk
    branches/multi-target-4_4-branch/gcc/opth-gen.awk
    branches/multi-target-4_4-branch/gcc/output.h
    branches/multi-target-4_4-branch/gcc/passes.c
    branches/multi-target-4_4-branch/gcc/postreload-gcse.c
    branches/multi-target-4_4-branch/gcc/postreload.c
    branches/multi-target-4_4-branch/gcc/predict.c
    branches/multi-target-4_4-branch/gcc/predict.h
    branches/multi-target-4_4-branch/gcc/print-rtl.c
    branches/multi-target-4_4-branch/gcc/recog.c
    branches/multi-target-4_4-branch/gcc/recog.h
    branches/multi-target-4_4-branch/gcc/reginfo.c
    branches/multi-target-4_4-branch/gcc/regmove.c
    branches/multi-target-4_4-branch/gcc/regrename.c
    branches/multi-target-4_4-branch/gcc/regs.h
    branches/multi-target-4_4-branch/gcc/regstat.c
    branches/multi-target-4_4-branch/gcc/reload.c
    branches/multi-target-4_4-branch/gcc/reload.h
    branches/multi-target-4_4-branch/gcc/reload1.c
    branches/multi-target-4_4-branch/gcc/reorg.c
    branches/multi-target-4_4-branch/gcc/resource.c
    branches/multi-target-4_4-branch/gcc/resource.h
    branches/multi-target-4_4-branch/gcc/rtl-factoring.c
    branches/multi-target-4_4-branch/gcc/rtl.c
    branches/multi-target-4_4-branch/gcc/rtl.h
    branches/multi-target-4_4-branch/gcc/rtlanal.c
    branches/multi-target-4_4-branch/gcc/rtlhooks-def.h
    branches/multi-target-4_4-branch/gcc/rtlhooks.c
    branches/multi-target-4_4-branch/gcc/sched-deps.c
    branches/multi-target-4_4-branch/gcc/sched-ebb.c
    branches/multi-target-4_4-branch/gcc/sched-int.h
    branches/multi-target-4_4-branch/gcc/sched-rgn.c
    branches/multi-target-4_4-branch/gcc/sched-vis.c
    branches/multi-target-4_4-branch/gcc/sdbout.c
    branches/multi-target-4_4-branch/gcc/see.c
    branches/multi-target-4_4-branch/gcc/sel-sched-dump.c
    branches/multi-target-4_4-branch/gcc/sel-sched-dump.h
    branches/multi-target-4_4-branch/gcc/sel-sched-ir.c
    branches/multi-target-4_4-branch/gcc/sel-sched-ir.h
    branches/multi-target-4_4-branch/gcc/sel-sched.c
    branches/multi-target-4_4-branch/gcc/simplify-rtx.c
    branches/multi-target-4_4-branch/gcc/stack-ptr-mod.c
    branches/multi-target-4_4-branch/gcc/stmt.c
    branches/multi-target-4_4-branch/gcc/stor-layout.c
    branches/multi-target-4_4-branch/gcc/target.h
    branches/multi-target-4_4-branch/gcc/targhooks.c
    branches/multi-target-4_4-branch/gcc/targhooks.h
    branches/multi-target-4_4-branch/gcc/toplev.c
    branches/multi-target-4_4-branch/gcc/toplev.h
    branches/multi-target-4_4-branch/gcc/tree-pass.h
    branches/multi-target-4_4-branch/gcc/tree-scalar-evolution.h
    branches/multi-target-4_4-branch/gcc/tree.h
    branches/multi-target-4_4-branch/gcc/var-tracking.c
    branches/multi-target-4_4-branch/gcc/varasm.c
    branches/multi-target-4_4-branch/gcc/web.c


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]