gcc/contrib
Richard Sandiford b0e84cf75a Reorganise machmode.h headers
This patch splits the auto-generated inline functions out of
insn-modes.h and puts them in a new header file, insn-modes-inline.h.
It also makes coretypes.h include these files directly, rather than
indirectly via machmode.h.  This in turn allows insn-modes-inline.h
and machmode.h to come later in the include list, after wide-int.h.
This is useful for later patches.

insn-modes.h itself still needs to come first, since it provides
configuration information like MAX_BITSIZE_MODE_ANY_INT, which is
used to control the size of a wide_int.

The patch also makes the generator files include machmode.h
via coretypes.h.  Previously they did it by more indirect means.

Finally, the patch makes wide-int-print.h available via coretypes.h
too.  There didn't seem to be any reason to force only the print
routines to be included directly, and it would be painful to extend
that approach to the SVE patches.


[Based on the code ARM contributed in branches/ARM/sve-branch@242100]

2017-07-02  Richard Sandiford  <richard.sandiford@linaro.org>
	    Alan Hayward  <alan.hayward@arm.com>
	    David Sherwood  <david.sherwood@arm.com>

contrib/header-tools/
	* graph-header-logs (ignore): Update coretypes.h header list.

gcc/
	* Makefile.in (MACHMODE_H): Remove insn-modes.h
	(CORETYPES_H): New define.
	(MOSTLYCLEANFILES): Add insn-modes-inline.h.
	(insn-modes-inline.h, s-modes-inline-h): New rules.
	(generated_files): Add insn-modes-inline.h.
	(RTL_BASE_H, TREE_CORE_H): Use CORETYPES_H instead of coretypes.h.
	(build/gensupport.o, build/ggc-none.o, build/print-rtl.o): Likewise.
	(build/read-md.o, build/read-rtl.o, build/rtl.o): Likewise.
	(build/vec.o, build/hash-table.o, build/inchash.o): Likewise.
	(build/gencondmd.o, build/genattr.o, build/genattr-common.o): Likewise.
	(build/genattrtab.o, build/genautomata.o, build/gencheck.o): Likewise.
	(build/gencodes.o, build/genconditions.o): Likewise.
	(build/genconfig.o, build/genconstants.o, build/genemit.o): Likewise.
	(build/genenums.o, build/genextract.o, build/genflags.o): Likewise.
	(build/gentarget-def.o, build/genmddeps.o, build/genopinit.o)
	(build/genoutput.o, build/genpeep.o, build/genpreds.o): Likewise.
	(build/genrecog.o, build/genmddump.o, build/genmatch.o): Likewise.
	(build/gencfn-macros.o, build/gcov-iov.o): Likewise.
	* coretypes.h: Include everything up to real.h for generators.
	Include insn-modes.h first.  Include wide-int-print.h after
	wide-int.h.  Include insn-modes-inline.h and then machmode.h.
	* machmode.h: Don't include insn-modes.h here.
	* function-tests.c: Remove includes of signop.h, machmode.h,
	double-int.h and wide-int.h.
	* rtl.h: Likewise.
	* gcc-rich-location.c: Remove includes of machmode.h, double-int.h
	and wide-int.h.
	* optc-save-gen.awk: Likewise.
	* gencheck.c (BITS_PER_UNIT): Delete dummy definition.
	* godump.c: Remove include of wide-int-print.h.
	* pretty-print.h: Likewise.
	* wide-int-print.cc: Likewise.
	* wide-int.cc: Likewise.
	* hash-map-tests.c: Remove include of signop.h.
	* hash-set-tests.c: Likewise.
	* rtl-tests.c: Likewise.
	* mkconfig.sh: Remove include of machmode.h.
	* genmodes.c (emit_insn_modes_h): Split emission of inline functions
	into...
	(emit_insn_modes_inline_h): ...this new function.  Emit the code
	into an insn-modes-inline.h header file, adding appropriate
	include guards and end comments.
	(emit_insn_modes_c_header): Remove include of machmode.h.
	(emit_min_insn_modes_c_header): Include coretypes.h rather than
	machmode.h.
	(main): Handle -i flag and call emit_insn_modes_inline_h when
	it is passed.

Co-Authored-By: Alan Hayward <alan.hayward@arm.com>
Co-Authored-By: David Sherwood <david.sherwood@arm.com>

From-SVN: r249881
2017-07-02 09:06:10 +00:00
..
header-tools Reorganise machmode.h headers 2017-07-02 09:06:10 +00:00
reghunt
regression
testsuite-management
analyze_brprob.py Compare predictor values with these defined in predict.def. 2017-05-30 07:16:31 +00:00
analyze_brprob_spec.py Compare predictor values with these defined in predict.def. 2017-05-30 07:16:31 +00:00
ChangeLog Doxygen: add default location for filters and output folder. 2017-06-28 07:52:46 +00:00
ChangeLog.jit Merger of dmalcolm/jit branch from git 2014-11-11 21:55:52 +00:00
ChangeLog.tree-ssa
check_GNU_style.py check_GNU_style.py: Read stdin if file argument is '-' 2017-05-29 07:31:02 +00:00
check_GNU_style.sh [check_GNU_style.sh] More aggressively ignore dg-xxx directives 2016-10-24 11:23:36 +00:00
check_GNU_style_lib.py check_GNU_style_lib.py: Fix trailing whitespace check 2017-05-29 07:31:11 +00:00
check_makefile_deps.sh
check_warning_flags.sh
clang-format clang-format: split content of a list to multiple lines 2015-11-20 12:24:34 +00:00
compare-all-tests config.guess: Remove SH5 support. 2016-04-30 09:11:03 +00:00
compare-debug
compare_tests Report DejaGnu ERROR messages in compare_tests 2016-09-20 22:14:14 +02:00
compare_two_ftime_report_sets
compareSumTests3
config-list.mk config-list.mk (am33_2.0-linux): Remove from list of targets to build. 2017-05-03 09:23:35 -06:00
dg-cmp-results.sh Fix variant selection in dg-cmp-results.sh 2017-06-21 16:20:57 +00:00
dg-extract-results.py Report DejaGnu ERROR messages in dg-extract-results. 2016-09-20 22:15:30 +02:00
dg-extract-results.sh Revert bogus dg-extract-results.sh change 2016-09-23 11:35:34 +00:00
dglib.pm
download_prerequisites download_prerequisites (md5_check): New function emulates Linux 'md5 --check' on macOS. 2017-04-11 16:34:07 +00:00
filter_gcc_for_doxygen Doxygen: add default location for filters and output folder. 2017-06-28 07:52:46 +00:00
filter_knr2ansi.pl
filter_params.py Doxygen: transform ENUM_BITFIELD and comments starting with '/**'. 2017-05-31 14:08:36 +00:00
gcc.doxy Doxygen: add default location for filters and output folder. 2017-06-28 07:52:46 +00:00
gcc_build
gcc_update libhsail-rt: Fix some Autotools issues 2017-01-25 16:38:01 +01:00
gen_autofdo_event.py Fix comment in contrib/gen_autofdo_event.py 2017-04-26 08:53:31 +00:00
gennews * gennews (files): Add files for GCC 7. 2017-05-02 14:37:31 +02:00
gimple.vim Add new script to contrib (GIMPLE syntax highlighting rules for Vim). 2015-05-30 05:44:17 +00:00
gthr_supp_vxw_5x.c
index-prop
jit-coverage-report.py Merger of dmalcolm/jit branch from git 2014-11-11 21:55:52 +00:00
make-obstacks-texi.pl
make_sunver.pl
mark_spam.py mark_spam.py: Mark as spam all comments done by a creator 2016-08-17 10:30:54 +00:00
mklog teach mklog to look in the current directory for ChangeLog files 2016-03-06 17:36:19 +00:00
paranoia.cc
patch_tester.sh patch_tester.sh (TESTLOGS): Remove $TARGET/libjava/testsuite/libjava.sum. 2017-01-23 07:24:15 +00:00
prepare_patch.sh
prerequisites.md5 download_prerequisites: Conditionally verify checksums of downloaded pacakges. 2016-10-24 10:05:48 -06:00
prerequisites.sha512 download_prerequisites: Conditionally verify checksums of downloaded pacakges. 2016-10-24 10:05:48 -06:00
repro_fail
test_installed test_installed (--target=): New option. 2015-06-02 17:12:16 +00:00
test_recheck
test_summary
texi2pod.pl texi2pod.pl: Escape braces in regexp involving @strong{...}. 2015-08-04 18:15:45 +02:00
uninclude * uninclude: Fix third argument to gensub. 2016-01-19 22:00:17 +00:00
update-copyright.py update-copyright.py: Retain original file mode 2017-01-30 15:31:59 +01:00
vimrc vimrc: fix TAB settings 2017-01-05 08:54:58 +00:00
warn_summary * warn_summary: Remove the -java option. 2017-01-22 20:53:48 +00:00