This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r147036 - in /branches/multi-target-4_4-branch/...
- From: amylaar at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Fri, 01 May 2009 20:51:08 -0000
- Subject: 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