diff options
author | Joern Rennecke <joern.rennecke@embecosm.com> | 2010-06-29 18:22:00 +0000 |
---|---|---|
committer | Joern Rennecke <amylaar@gcc.gnu.org> | 2010-06-29 19:22:00 +0100 |
commit | 38f8b050edd36ac977c564cab41cc1ce8e8a073e (patch) | |
tree | 00306b498ac87b11ae440e5a79b7b5301dea1ab1 /gcc/Makefile.in | |
parent | c75c86636fb6e359e0164fb228577ffe70c6d3af (diff) | |
download | gcc-38f8b050edd36ac977c564cab41cc1ce8e8a073e.zip gcc-38f8b050edd36ac977c564cab41cc1ce8e8a073e.tar.gz gcc-38f8b050edd36ac977c564cab41cc1ce8e8a073e.tar.bz2 |
re PR other/44034 (target hooks are hard to maintain)
gcc:
PR other/44034
* target.def, doc/tm.texi.in, genhooks.c: New files.
* target.h: Instead of defining individual hook members,
define DEFHOOKPOD / DEFHOOK / DEFHOOK_UNDOC / HOOKSTRUCT and
include target.def.
* target-def.h: Instead of defining individual hook initializers,
include target-hooks-def.h.
* df-scan.c, haifa-sched.c, sel-sched.c: Rename targetm members:
targetm.live_on_entry -> targetm.extra_live_on_entry
targetm.sched.md_finish ->targetm.sched.finish
targetm.sched.md_init -> targetm.sched.init
targetm.sched.md_init_global -> targetm.sched.init_global
targetm.asm_out.unwind_label -> targetm.asm_out.emit_unwind_label
targetm.asm_out.except_table_label ->
targetm.asm_out.emit_except_table_label
targetm.asm_out.visibility -> targetm.asm_out.assemble_visibility
targetm.target_help -> targetm.help
targetm.vectorize.builtin_support_vector_misalignment ->
targetm.vectorize.support_vector_misalignment
targetm.file_start_app_off -> targetm.asm_file_start_app_off
targetm.file_start_file_directive ->
targetm.asm_file_start_file_directive
* dwarf2out.c, opts.c, tree-vect-data-refs.c, except.c: Likewise.
* varasm.c, config/alpha/alpha.c, config/cris/cris.c: Likewise.
* gcc/config/spu/spu.c, config/ia64/ia64.c: Rename target macros:
TARGET_VECTOR_ALIGNMENT_REACHABLE ->
TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE
TARGET_SUPPORT_VECTOR_MISALIGNMENT ->
TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT
TARGET_UNWIND_EMIT -> TARGET_ASM_UNWIND_EMIT
* config/rs6000/rs6000.c, config/arm/arm.c: Likewise.
* Makefile.in (TARGET_H): Depend on target.def.
(TARGET_DEF_H): Depend on target-hooks-def.h.
(target-hooks-def.h, tm.texi, s-target-hooks-def-h): New rules.
(s-tm-texi, build/genhooks.o, build/genhooks): Likewise.
* doc/tm.texi: Regenerate.
gcc/c-family:
* c-common.c: Rename targetm member:
targetm.enum_va_list -> targetm.enum_va_list_p
gcc/po:
* EXCLUDES: Add genhooks.c.
Index: gcc/doc/tm.texi
From-SVN: r161547
Diffstat (limited to 'gcc/Makefile.in')
-rw-r--r-- | gcc/Makefile.in | 36 |
1 files changed, 34 insertions, 2 deletions
diff --git a/gcc/Makefile.in b/gcc/Makefile.in index aa3f74d..34ce101 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -861,12 +861,12 @@ endif VEC_H = vec.h statistics.h EXCEPT_H = except.h $(HASHTAB_H) vecprim.h vecir.h TOPLEV_H = toplev.h $(INPUT_H) bversion.h $(DIAGNOSTIC_CORE_H) -TARGET_H = $(TM_H) target.h insn-modes.h +TARGET_H = $(TM_H) target.h target.def insn-modes.h MACHMODE_H = machmode.h mode-classes.def insn-modes.h HOOKS_H = hooks.h $(MACHMODE_H) HOSTHOOKS_DEF_H = hosthooks-def.h $(HOOKS_H) LANGHOOKS_DEF_H = langhooks-def.h $(HOOKS_H) -TARGET_DEF_H = target-def.h $(HOOKS_H) targhooks.h +TARGET_DEF_H = target-def.h target-hooks-def.h $(HOOKS_H) targhooks.h RTL_BASE_H = rtl.h rtl.def $(MACHMODE_H) reg-notes.def insn-notes.def \ $(INPUT_H) $(REAL_H) statistics.h $(VEC_H) $(FIXED_VALUE_H) alias.h FIXED_VALUE_H = fixed-value.h $(MACHMODE_H) double-int.h @@ -3674,6 +3674,36 @@ s-constrs-h: $(MD_DEPS) build/genpreds$(build_exeext) $(SHELL) $(srcdir)/../move-if-change tmp-constrs.h tm-constrs.h $(STAMP) s-constrs-h +target-hooks-def.h: s-target-hooks-def-h; @true +tm.texi: s-tm-texi; @true + +s-target-hooks-def-h: build/genhooks$(build_exeext) + $(RUN_GEN) build/genhooks$(build_exeext) > tmp-target-hooks-def.h + $(SHELL) $(srcdir)/../move-if-change tmp-target-hooks-def.h \ + target-hooks-def.h + $(STAMP) s-target-hooks-def-h + +# check if someone mistakenly only changed tm.texi. +s-tm-texi: $(srcdir)/doc/tm.texi + +s-tm-texi: build/genhooks$(build_exeext) $(srcdir)/doc/tm.texi.in + $(RUN_GEN) build/genhooks$(build_exeext) \ + $(srcdir)/doc/tm.texi.in > tmp-tm.texi + $(SHELL) $(srcdir)/../move-if-change tmp-tm.texi tm.texi + @if cmp -s $(srcdir)/doc/tm.texi tm.texi; then \ + $(STAMP) $@; \ + elif test $(srcdir)/doc/tm.texi -nt $(srcdir)/doc/tm.texi.in \ + && test $(srcdir)/doc/tm.texi -nt $(srcdir)/doc/target.def; then \ + echo >&2 ; \ + echo You should edit $(srcdir)/doc/tm.texi.in rather than $(srcdir)/doc/tm.texi . >&2 ; \ + false; \ + else \ + echo >&2 ; \ + echo Verify that you have permission to grant a GFDL license for all >&2 ; \ + echo new text in tm.texi, then copy it to $(srcdir)/doc/tm.texi. >&2 ; \ + false; \ + fi + GTFILES = $(CPP_ID_DATA_H) $(srcdir)/input.h $(srcdir)/coretypes.h \ $(srcdir)/vecprim.h $(srcdir)/vecir.h \ $(host_xm_file_list) \ @@ -3852,6 +3882,7 @@ build/genpreds.o : genpreds.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H) \ coretypes.h $(GTM_H) errors.h $(READ_MD_H) gensupport.h $(OBSTACK_H) build/genrecog.o : genrecog.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H) \ coretypes.h $(GTM_H) errors.h $(READ_MD_H) gensupport.h +build/genhooks.o : genhooks.c target.def $(BCONFIG_H) $(SYSTEM_H) errors.h # Compile the programs that generate insn-* from the machine description. # They are compiled with $(COMPILER_FOR_BUILD), and associated libraries, @@ -3881,6 +3912,7 @@ build/genautomata$(build_exeext) : BUILD_LIBS += -lm # These programs are not linked with the MD reader. build/gengtype$(build_exeext) : build/gengtype-lex.o build/gengtype-parse.o +build/genhooks$(build_exeext) : $(BUILD_ERRORS) # Generated source files for gengtype. gengtype-lex.c : gengtype-lex.l |