1. 21 Aug, 2017 1 commit
    • Pass rtx and index to read-md.c iterator routines · 9f33a5d9
      The read-md.c iterator callbacks previously used a void * to record the
      position at which the iterator value should be installed.  This doesn't
      scale easily to the SUBREG_BYTE representation used by a later patch,
      so this patch replaces the void * with both an rtx and an operand
      number.  The operand number is ignored for modes and codes.
      
      2017-08-21  Richard Sandiford  <richard.sandiford@linaro.org>
      	    Alan Hayward  <alan.hayward@arm.com>
      	    David Sherwood  <david.sherwood@arm.com>
      
      gcc/
      	* read-md.h (md_reader::record_potential_iterator_use): Replace
      	pointer argument with an rtx and an index.
      	* read-rtl.c (iterator_group::apply_iterator): Likewise.
      	(apply_mode_iterator): Likewise.
      	(apply_code_iterator): Likewise.
      	(apply_int_iterator): Likewise.
      	(apply_subst_iterator): Likewise.
      	(record_iterator_use): Likewise.
      	(record_attribute_use): Likewise.
      	(md_reader::record_potential_iterator_use): Likewise.  Update calls
      	to record_iterator_use and apply_iterator.
      	(iterator_use): Replace ptr with x and index.
      	(attribute_use): Likewise.
      	(apply_attribute_uses): Update calls to apply_iterator.
      	(apply_iterators): Likewise.  Update initialization of iterator_use.
      	(rtx_reader::read_rtx_code): Update calls to record_iterator_use
      	and record_potential_iterator_use.
      	(rtx_reader::read_rtx_operand): Likewise.
      
      Co-Authored-By: Alan Hayward <alan.hayward@arm.com>
      Co-Authored-By: David Sherwood <david.sherwood@arm.com>
      
      From-SVN: r251219
      Richard Sandiford committed
  2. 24 Jan, 2017 1 commit
    • Add "__RTL" to cc1 · c2e84327
      gcc/c-family/ChangeLog:
      	* c-common.c (c_common_reswords): Add "__RTL".
      	* c-common.h (enum rid): Add RID_RTL.
      
      gcc/c/ChangeLog:
      	* c-parser.c: Include "read-rtl-function.h" and
      	"run-rtl-passes.h".
      	(c_parser_declaration_or_fndef): Rename "gimple-pass-list" in
      	grammar to gimple-or-rtl-pass-list.  Add rtl-function-definition
      	production.  Update for renaming of field "gimple_pass" to
      	"gimple_or_rtl_pass".  If __RTL was seen, call
      	c_parser_parse_rtl_body.  Convert a timevar_push/pop pair
      	to an auto_timevar, to cope with early exit.
      	(c_parser_declspecs): Update RID_GIMPLE handling for renaming of
      	field "gimple_pass" to "gimple_or_rtl_pass", and for renaming of
      	c_parser_gimple_pass_list to c_parser_gimple_or_rtl_pass_list.
      	Handle RID_RTL.
      	(c_parser_parse_rtl_body): New function.
      	* c-tree.h (enum c_declspec_word): Add cdw_rtl.
      	(struct c_declspecs): Rename field "gimple_pass" to
      	"gimple_or_rtl_pass".  Add field "rtl_p".
      	* gimple-parser.c (c_parser_gimple_pass_list): Rename to...
      	(c_parser_gimple_or_rtl_pass_list): ...this, updating accordingly.
      	* gimple-parser.h (c_parser_gimple_pass_list): Rename to...
      	(c_parser_gimple_or_rtl_pass_list): ...this.
      
      gcc/ChangeLog:
      	* cfg.c (original_copy_tables_initialized_p): New function.
      	* cfg.h (original_copy_tables_initialized_p): New decl.
      	* cfgrtl.c (relink_block_chain): Guard the call to
      	free_original_copy_tables with a call to
      	original_copy_tables_initialized_p.
      	* cgraph.h (symtab_node::native_rtl_p): New decl.
      	* cgraphunit.c (symtab_node::native_rtl_p): New function.
      	(symtab_node::needed_p): Don't assert for early assembly output
      	for __RTL functions.
      	(cgraph_node::finalize_function): Set "force_output" for __RTL
      	functions.
      	(cgraph_node::analyze): Bail out early for __RTL functions.
      	(analyze_functions): Update assertion to support __RTL functions.
      	(cgraph_node::expand): Bail out early for __RTL functions.
      	* final.c (rest_of_clean_state): Don't call delete_tree_ssa for
      	__RTL functions.
      	* function.h (struct function): Update comment for field
      	"pass_startwith".
      	* gimple-expr.c: Include "tree-pass.h".
      	(gimple_has_body_p): Return false for __RTL functions.
      	* Makefile.in (OBJS): Add run-rtl-passes.o.
      	* pass_manager.h (gcc::pass_manager::get_rest_of_compilation): New
      	accessor.
      	(gcc::pass_manager::get_clean_slate): New accessor.
      	* passes.c: Include "insn-addr.h".
      	(should_skip_pass_p): Add logging.  Update logic for running
      	"expand" to be compatible with both __GIMPLE and __RTL.  Guard
      	property-provider override so it is only done for gimple passes.
      	Don't skip dfinit.
      	(skip_pass): New function.
      	(execute_one_pass): Call skip_pass when skipping passes.
      	* read-md.c (md_reader::read_char): Support filtering
      	the input to a subset of line numbers.
      	(md_reader::md_reader): Initialize fields
      	m_first_line and m_last_line.
      	(md_reader::read_file_fragment): New function.
      	* read-md.h (md_reader::read_file_fragment): New decl.
      	(md_reader::m_first_line): New field.
      	(md_reader::m_last_line): New field.
      	* read-rtl-function.c (function_reader::create_function): Only
      	create cfun if it doesn't already exist.  Set PROP_rtl on cfun's
      	curr_properties.  Set DECL_INITIAL to a dummy block.
      	(read_rtl_function_body_from_file_range): New function.
      	* read-rtl-function.h (read_rtl_function_body_from_file_range):
      	New decl.
      	* run-rtl-passes.c: New file.
      	* run-rtl-passes.h: New file.
      
      gcc/testsuite/ChangeLog:
      	* gcc.dg/rtl/aarch64/asr_div1.c: New test case.
      	* gcc.dg/rtl/aarch64/pr71779.c: New test case.
      	* gcc.dg/rtl/rtl.exp: New file.
      	* gcc.dg/rtl/test.c: New file.
      	* gcc.dg/rtl/truncated-rtl-file.c: New test case.
      	* gcc.dg/rtl/unknown-rtx-code.c: New test case.
      	* gcc.dg/rtl/x86_64/dfinit.c: New test case.
      	* gcc.dg/rtl/x86_64/different-structs.c: New test case.
      	* gcc.dg/rtl/x86_64/final.c: New test case.
      	* gcc.dg/rtl/x86_64/into-cfglayout.c: New test case.
      	* gcc.dg/rtl/x86_64/ira.c: New test case.
      	* gcc.dg/rtl/x86_64/pro_and_epilogue.c: New test case.
      	* gcc.dg/rtl/x86_64/test-multiple-fns.c: New test case.
      	* gcc.dg/rtl/x86_64/test-return-const.c.after-expand.c: New test case.
      	* gcc.dg/rtl/x86_64/test-return-const.c.before-fwprop.c: New test case.
      	* gcc.dg/rtl/x86_64/test-rtl.c: New test case.
      	* gcc.dg/rtl/x86_64/test_1.h: New file.
      	* gcc.dg/rtl/x86_64/times-two.c.after-expand.c: New test case.
      	* gcc.dg/rtl/x86_64/times-two.c.before-df.c: New test case.
      	* gcc.dg/rtl/x86_64/times-two.h: New file.
      	* gcc.dg/rtl/x86_64/vregs.c: New test case.
      
      From-SVN: r244878
      David Malcolm committed
  3. 05 Jan, 2017 1 commit
    • Introduce RTL function reader · 51b86113
      This is the combination of these patches:
      - [8a/9] Introduce class function_reader (v8)
      - Add ASSERT_RTX_PTR_EQ
      - [8b/9] Add target-independent selftests of RTL function reader (v2)
      - [8c/9] Add aarch64-specific selftests for RTL function reader (v2)
      - [8d/9] Add x86_64-specific selftests for RTL function reader (v2)
      
      gcc/ChangeLog:
      	* Makefile.in (OBJS): Add read-md.o, read-rtl.o,
      	read-rtl-function.o, and selftest-rtl.o.
      	* config/aarch64/aarch64.c: Include selftest.h and
      	selftest-rtl.h.
      	(selftest::aarch64_test_loading_full_dump): New function.
      	(selftest::aarch64_run_selftests): New function.
      	(TARGET_RUN_TARGET_SELFTESTS): Wire it up to
      	selftest::aarch64_run_selftests.
      	* config/i386/i386.c
      	(selftest::ix86_test_loading_dump_fragment_1): New function.
      	(selftest::ix86_test_loading_call_insn): New function.
      	(selftest::ix86_test_loading_full_dump): New function.
      	(selftest::ix86_test_loading_unspec): New function.
      	(selftest::ix86_run_selftests): Call the new functions.
      	* emit-rtl.c (maybe_set_max_label_num): New function.
      	* emit-rtl.h (maybe_set_max_label_num): New decl.
      	* function.c (instantiate_decls): Guard call to
      	instantiate_decls_1 with if (DECL_INITIAL (fndecl)).
      	* function-tests.c (selftest::verify_three_block_rtl_cfg): Remove
      	"static".
      	* gensupport.c (gen_reader::gen_reader): Pass "false"
      	for new "compact" param of rtx_reader.
      	* print-rtl.c (rtx_writer::print_rtx_operand): Print "(nil)"
      	rather than an empty string for NULL strings.
      	* read-md.c: Potentially include config.h rather than bconfig.h.
      	Wrap include of errors.h with #ifdef GENERATOR_FILE.
      	(have_error): New global, copied from errors.c.
      	(md_reader::read_name): Rename to...
      	(md_reader::read_name_1): ...this, adding "out_loc" param,
      	and converting "missing name or number" to returning false, rather
      	than failing.
      	(md_reader::read_name): Reimplement in terms of read_name_1.
      	(md_reader::read_name_or_nil): New function.
      	(md_reader::read_string): Handle "(nil)" by returning NULL.
      	(md_reader::md_reader): Add new param "compact".
      	(md_reader::read_md_files): Wrap with #ifdef GENERATOR_FILE.
      	(md_reader::read_file): New method.
      	* read-md.h (md_reader::md_reader): Add new param "compact".
      	(md_reader::read_file): New method.
      	(md_reader::is_compact): New accessor.
      	(md_reader::read_name): Convert return type from void to
      	file_location.
      	(md_reader::read_name_or_nil): New decl.
      	(md_reader::read_name_1): New decl.
      	(md_reader::m_compact): New field.
      	(noop_reader::noop_reader): Pass "false" for new "compact" param
      	of rtx_reader.
      	(rtx_reader::rtx_reader): Add new "compact" param.
      	(rtx_reader::read_rtx_operand): Make virtual and convert return
      	type from void to rtx.
      	(rtx_reader::read_until): New decl.
      	(rtx_reader::handle_any_trailing_information): New virtual
      	function.
      	(rtx_reader::postprocess): New virtual function.
      	(rtx_reader::finalize_string): New virtual function.
      	(rtx_reader::m_in_call_function_usage): New field.
      	(rtx_reader::m_reuse_rtx_by_id): New field.
      	* read-rtl-function.c: New file.
      	* selftest-rtl.c (selftest::assert_rtx_ptr_eq_at): New function.
      	* selftest-rtl.h (ASSERT_RTX_PTR_EQ): New macro.
      	(selftest::verify_three_block_rtl_cfg): New decl.
      	* read-rtl-function.h: New file.
      	* read-rtl.c: Potentially include config.h rather than bconfig.h.
      	For host, include function.h, memmodel.h, and emit-rtl.h.
      	(one_time_initialization): New function.
      	(struct compact_insn_name): New struct.
      	(compact_insn_names): New array.
      	(find_code): Handle insn codes in compact dumps.
      	(apply_subst_iterator): Wrap with #ifdef GENERATOR_FILE.
      	(bind_subst_iter_and_attr): Likewise.
      	(add_condition_to_string): Likewise.
      	(add_condition_to_rtx): Likewise.
      	(apply_attribute_uses): Likewise.
      	(add_current_iterators): Likewise.
      	(apply_iterators): Likewise.
      	(initialize_iterators): Guard usage of apply_subst_iterator with
      	#ifdef GENERATOR_FILE.
      	(read_conditions): Wrap with #ifdef GENERATOR_FILE.
      	(md_reader::read_mapping): Likewise.
      	(add_define_attr_for_define_subst): Likewise.
      	(add_define_subst_attr): Likewise.
      	(read_subst_mapping): Likewise.
      	(check_code_iterator): Likewise.
      	(rtx_reader::read_rtx): Likewise.  Move one-time initialization
      	logic to...
      	(one_time_initialization): New function.
      	(rtx_reader::read_until): New method.
      	(read_flags): New function.
      	(parse_reg_note_name): New function.
      	(rtx_reader::read_rtx_code): Initialize "iterator" to NULL.
      	Handle reuse_rtx ids.
      	Wrap iterator lookup within #ifdef GENERATOR_FILE.
      	Add parsing support for RTL dumps, mirroring the special-cases in
      	print_rtx, by calling read_flags, reading REG_NOTE names, INSN_UID
      	values, and calling handle_any_trailing_information.
      	(rtx_reader::read_rtx_operand): Convert return type from void
      	to rtx, returning return_rtx.  Handle case 'e'.  Call
      	finalize_string on XSTR and XTMPL fields.
      	(rtx_reader::read_nested_rtx):  Handle dumps in which trailing
      	 "(nil)" values were omitted.  Call the postprocess vfunc on the
      	return_rtx.
      	(rtx_reader::rtx_reader): Add new "compact" param and pass to base
      	class ctor.  Initialize m_in_call_function_usage.  Call
      	one_time_initialization.
      	* rtl-tests.c (selftest::test_uncond_jump): Call
      	set_new_first_and_last_insn.
      	* rtl.h (read_rtx): Wrap decl with #ifdef GENERATOR_FILE.
      	* selftest-rtl.c: New file.
      	* selftest-rtl.h (class selftest::rtl_dump_test): New class.
      	(selftest::get_insn_by_uid): New decl.
      	* selftest-run-tests.c (selftest::run_tests): Call
      	read_rtl_function_c_tests.
      	* selftest.h  (selftest::read_rtl_function_c_tests): New decl.
      	* tree-dfa.c (ssa_default_def): Return NULL_TREE for rtl function
      	dumps.
      
      gcc/testsuite/ChangeLog:
      	* selftests/asr_div1.rtl: New file.
      	* selftests/aarch64: New subdirectory.
      	* selftests/aarch64/times-two.rtl: New file.
      	* selftests/bb-index.rtl: New file.
      	* selftests/cfg-test.rtl: New file.
      	* selftests/const-int.rtl: New file.
      	* selftests/example-labels.rtl: New file.
      	* selftests/insn-with-mode.rtl: New file.
      	* selftests/jump-to-label-ref.rtl: New file.
      	* selftests/jump-to-return.rtl: New file.
      	* selftests/jump-to-simple-return.rtl: New file.
      	* selftests/mem.rtl: New file.
      	* selftests/note-insn-deleted.rtl: New file.
      	* selftests/note_insn_basic_block.rtl: New file.
      	* selftests/simple-cse.rtl: New file.
      	* selftests/symbol-ref.rtl: New file.
      	* selftests/x86_64: New subdirectory.
      	* selftests/x86_64/call-insn.rtl: New file.
      	* selftests/x86_64/copy-hard-reg-into-frame.rtl: New file.
      	* selftests/x86_64/times-two.rtl: New file.
      	* selftests/x86_64/unspec.rtl: New file.
      
      From-SVN: r244110
      David Malcolm committed
  4. 01 Jan, 2017 1 commit
  5. 08 Dec, 2016 1 commit
    • Split class rtx_reader into md_reader vs rtx_reader · a96d1f1d
      This moves read_rtx and friends into rtx_reader, and splits
      rtx_reader into two classes:
      
      class md_reader: has responsibility for reading chars, managing
      include files, top-level directives etc.  It is the read-md.o part.
      
      class rtx_reader, a subclass, has the code for reading hierarchical
      rtx expressions using the format codes.   It is the read-rtl.o part.
      
      This split is needed by a followup patch, which converts
      read_rtx_operand to a virtual function of rtx_reader.  To do this,
      instances of rtx_reader (or its subclasses) need a vtable, which
      needs to include a ptr to the code in read-rtl.o.  Splitting it up
      allows the gen* tools that currently purely use read-md.o to continue
      to do so.
      
      gcc/ChangeLog:
      	* genpreds.c (write_tm_constrs_h): Update for renaming of
      	rtx_reader_ptr to md_reader_ptr.
      	(write_tm_preds_h): Likewise.
      	(write_insn_preds_c): Likewise.
      	* read-md.c (rtx_reader_ptr): Rename to...
      	(md_reader_ptr): ...this, and convert from an
      	rtx_reader * to a md_reader *.
      	(rtx_reader::set_md_ptr_loc): Rename to...
      	(md_reader::set_md_ptr_loc): ...this.
      	(rtx_reader::get_md_ptr_loc): Rename to...
      	(md_reader::get_md_ptr_loc): ...this.
      	(rtx_reader::copy_md_ptr_loc): Rename to...
      	(md_reader::copy_md_ptr_loc): ...this.
      	(rtx_reader::fprint_md_ptr_loc): Rename to...
      	(md_reader::fprint_md_ptr_loc): ...this.
      	(rtx_reader::print_md_ptr_loc): Rename to...
      	(md_reader::print_md_ptr_loc): ...this.
      	(rtx_reader::join_c_conditions): Rename to...
      	(md_reader::join_c_conditions): ...this.
      	(rtx_reader::fprint_c_condition): ...this.
      	(rtx_reader::print_c_condition): Rename to...
      	(md_reader::print_c_condition): ...this.
      	(fatal_with_file_and_line):  Update for renaming of
      	rtx_reader_ptr to md_reader_ptr.
      	(rtx_reader::require_char): Rename to...
      	(md_reader::require_char): ...this.
      	(rtx_reader::require_char_ws): Rename to...
      	(md_reader::require_char_ws): ...this.
      	(rtx_reader::require_word_ws): Rename to...
      	(md_reader::require_word_ws): ...this.
      	(rtx_reader::read_char): Rename to...
      	(md_reader::read_char): ...this.
      	(rtx_reader::unread_char): Rename to...
      	(md_reader::unread_char): ...this.
      	(rtx_reader::peek_char): Rename to...
      	(md_reader::peek_char): ...this.
      	(rtx_reader::read_name): Rename to...
      	(md_reader::read_name): ...this.
      	(rtx_reader::read_escape): Rename to...
      	(md_reader::read_escape): ...this.
      	(rtx_reader::read_quoted_string): Rename to...
      	(md_reader::read_quoted_string): ...this.
      	(rtx_reader::read_braced_string): Rename to...
      	(md_reader::read_braced_string): ...this.
      	(rtx_reader::read_string): Rename to...
      	(md_reader::read_string): ...this.
      	(rtx_reader::read_skip_construct): Rename to...
      	(md_reader::read_skip_construct): ...this.
      	(rtx_reader::handle_constants): Rename to...
      	(md_reader::handle_constants): ...this.
      	(rtx_reader::traverse_md_constants): Rename to...
      	(md_reader::traverse_md_constants): ...this.
      	(rtx_reader::handle_enum): Rename to...
      	(md_reader::handle_enum): ...this.
      	(rtx_reader::lookup_enum_type): Rename to...
      	(md_reader::lookup_enum_type): ...this.
      	(rtx_reader::traverse_enum_types): Rename to...
      	(md_reader::traverse_enum_types): ...this.
      	(rtx_reader::rtx_reader): Rename to...
      	(md_reader::md_reader): ...this, and update for renaming of
      	rtx_reader_ptr to md_reader_ptr.
      	(rtx_reader::~rtx_reader): Rename to...
      	(md_reader::~md_reader): ...this, and update for renaming of
      	rtx_reader_ptr to md_reader_ptr.
      	(rtx_reader::handle_include): Rename to...
      	(md_reader::handle_include): ...this.
      	(rtx_reader::handle_file): Rename to...
      	(md_reader::handle_file): ...this.
      	(rtx_reader::handle_toplevel_file): Rename to...
      	(md_reader::handle_toplevel_file): ...this.
      	(rtx_reader::get_current_location): Rename to...
      	(md_reader::get_current_location): ...this.
      	(rtx_reader::add_include_path): Rename to...
      	(md_reader::add_include_path): ...this.
      	(rtx_reader::read_md_files): Rename to...
      	(md_reader::read_md_files): ...this.
      	* read-md.h (class rtx_reader): Split into...
      	(class md_reader): ...new class.
      	(rtx_reader_ptr): Rename to...
      	(md_reader_ptr): ...this, and convert to a md_reader *.
      	(class noop_reader): Update base class to be md_reader.
      	(class rtx_reader): Reintroduce as a subclass of md_reader.
      	(rtx_reader_ptr): Reintroduce as a rtx_reader *.
      	(read_char): Update for renaming of rtx_reader_ptr to
      	md_reader_ptr.
      	(unread_char): Likewise.
      	* read-rtl.c (rtx_reader_ptr): New global.
      	(rtx_reader::apply_iterator_to_string): Rename to...
      	(md_reader::apply_iterator_to_string): ...this.
      	(rtx_reader::copy_rtx_for_iterators): Rename to...
      	(md_reader::copy_rtx_for_iterators): ...this.
      	(rtx_reader::read_conditions): Rename to...
      	(md_reader::read_conditions): ...this.
      	(rtx_reader::record_potential_iterator_use): Rename to...
      	(md_reader::record_potential_iterator_use): ...this.
      	(rtx_reader::read_mapping): Rename to...
      	(md_reader::read_mapping): ...this.
      	(rtx_reader::read_rtx): Use rtx_reader_ptr when calling
      	read_rtx_code.
      	(rtx_reader::read_rtx_operand): Use get_string_obstack rather
      	than directly accessing m_string_obstack.
      	(rtx_reader::rtx_reader): New ctor.
      	(rtx_reader::~rtx_reader): New dtor.
      
      From-SVN: r243426
      David Malcolm committed
  6. 07 Dec, 2016 1 commit
    • Add some functions for use by the RTL frontend. · 9c4e96eb
      gcc/ChangeLog:
      	* read-md.c (rtx_reader::require_char): New method.
      	(require_char_ws): Convert from function to...
      	(rtx_reader::require_char_ws): ...method.
      	(rtx_reader::require_word_ws): New method.
      	* read-md.h (rtx_reader::require_char): New method decl.
      	(require_char_ws): Remove global decl in favor of...
      	(rtx_reader::require_char_ws): ...new method decl.
      	(rtx_reader::require_word_ws): New method decl.
      	(rtx_reader::peek_char): New method decl.
      
      From-SVN: r243376
      David Malcolm committed
  7. 18 Oct, 2016 1 commit
    • read-md.c: Move various state to within class rtx_reader · b78027d1
      gcc/ChangeLog:
      	* genattrtab.c (attr_string): Use rtx_reader_ptr for call to
      	copy_md_ptr_loc.
      	(gen_attr): Use rtx_reader_ptr for lookup_enum_type call.
      	(write_test_expr): Use rtx_reader_ptr for calls to
      	fprint_c_condition.
      	(write_attr_value): Likewise.
      	* genconditions.c (write_one_condition): Use rtx_reader_ptr for
      	call to print_md_ptr_loc.
      	(write_one_condition): Likewise for calls to print_c_condition.
      	* genconstants.c: Include "statistics.h" and "vec.h".
      	(main): Update for conversion to member functions.
      	* genemit.c (emit_c_code): Use rtx_reader_ptr for
      	call to print_md_ptr_loc.
      	* genenums.c: Include "statistics.h" and "vec.h".
      	(main): Update for conversion of traverse_enum_types to a method.
      	* genmddeps.c: Include "statistics.h" and "vec.h".
      	* genoutput.c (process_template): Use rtx_reader_ptr for call to
      	print_md_ptr_loc.
      	* genpreds.c (write_predicate_subfunction): Likewise.
      	(write_predicate_expr): Likewise for calls to print_c_condition.
      	* genrecog.c (print_test): Likewise.
      	* gensupport.c (process_rtx): Likewise for calls to
      	copy_md_ptr_loc and join_c_conditions.
      	(alter_test_for_insn): Likewise for call to join_c_conditions.
      	(process_substs_on_one_elem): Likewise.
      	(gen_mnemonic_setattr): Update for move of string_obstack to a
      	field of rtx_reader.
      	(mnemonic_htab_callback): Likewise.  Fix formatting.
      	(gen_mnemonic_attr): Likewise.
      	* gentarget-def.c (def_target_insn): Use rtx_reader_ptr for calls
      	to print_c_condition.
      	* read-md.c: Include "statistics.h" and "vec.h".
      	(string_obstack): Convert this global to field "m_string_obstack"
      	of class rtx_reader.
      	(ptr_locs): Likewise, as "m_ptr_locs".
      	(ptr_loc_obstack): Likewise, as "m_ptr_loc_obstack".
      	(joined_conditions): Likewise, as "m_joined_conditions".
      	(joined_conditions_obstack): Likewise, as "m_joined_conditions_obstack".
      	(md_constants): Likewise, as "m_md_constants".
      	(enum_types): Likewise, as "m_enum_types".
      	(set_md_ptr_loc): Convert to...
      	(rtx_reader::set_md_ptr_loc): ...member function.
      	(get_md_ptr_loc): Convert to...
      	(rtx_reader::get_md_ptr_loc): ...member function.
      	(copy_md_ptr_loc): Convert to...
      	(rtx_reader::copy_md_ptr_loc): ...member function.
      	(fprint_md_ptr_loc): Convert to...
      	(rtx_reader::fprint_md_ptr_loc): ...member function.
      	(print_md_ptr_loc): Convert to...
      	(rtx_reader::print_md_ptr_loc): ...member function.
      	(join_c_conditions): Convert to...
      	(rtx_reader::join_c_conditions): ...member function.
      	(fprint_c_condition): Convert to...
      	(rtx_reader::fprint_c_condition): ...member function.
      	(print_c_condition): Convert to...
      	(rtx_reader::print_c_condition): ...member function.
      	(read_name): Convert to...
      	(rtx_reader::read_name): ...member function.
      	(read_escape): Convert to...
      	(rtx_reader::read_escape): ...member function.
      	(read_quoted_string): Convert to...
      	(rtx_reader::read_quoted_string): ...member function.
      	(read_braced_string): Convert to...
      	(rtx_reader::read_braced_string): ...member function.
      	(read_string): Convert to...
      	(rtx_reader::read_string): ...member function.
      	(read_skip_construct): Convert to...
      	(rtx_reader::read_skip_construct): ...member function.
      	(handle_constants): Convert to...
      	(rtx_reader::handle_constants): ...member function.
      	(traverse_md_constants): Convert to...
      	(rtx_reader::traverse_md_constants): ...member function.
      	(handle_enum): Convert to...
      	(rtx_reader::handle_enum): ...member function.
      	(lookup_enum_type): Convert to...
      	(rtx_reader::lookup_enum_type): ...member function.
      	(traverse_enum_types): Convert to...
      	(rtx_reader::traverse_enum_types): ...member function.
      	(rtx_reader::rtx_reader): Move initializations
      	of various former global data from rtx_reader::read_md_files to
      	here, as fields, along with the call to unlock_std_streams.
      	(rtx_reader::~rtx_reader): Clean up m_base_dir, and clean up
      	the new fields.
      	(rtx_reader::read_md_files): Move initializations of various
      	global data from here to the ctor.
      	* read-md.h (read_name): Convert to...
      	(rtx_reader::read_name): ...member function.
      	(rtx_reader::read_escape): New method decl.
      	(read_quoted_string): Convert to...
      	(rtx_reader::read_quoted_string): ...member function.
      	(rtx_reader::read_braced_string): New method decl.
      	(read_string): Convert to...
      	(rtx_reader::read_string): ...member function.
      	(rtx_reader::read_skip_construct): New method decl.
      	(rtx_reader::set_md_ptr_loc): New method decl.
      	(rtx_reader::get_md_ptr_loc): New method decl.
      	(copy_md_ptr_loc): Convert to...
      	(rtx_reader::copy_md_ptr_loc): ...member function.
      	(fprint_md_ptr_loc): Convert to...
      	(rtx_reader::fprint_md_ptr_loc): ...member function.
      	(print_md_ptr_loc): Convert to...
      	(rtx_reader::print_md_ptr_loc): ...member function.
      	(rtx_reader::lookup_enum_type): New method decl.
      	(rtx_reader::traverse_enum_types): New method decl.
      	(rtx_reader::handle_constants): New method decl.
      	(traverse_md_constants): Convert to...
      	(rtx_reader::traverse_md_constants): ...member function.
      	(rtx_reader::handle_enum): New method decl.
      	(rtx_reader::join_c_conditions): New method decl.
      	(fprint_c_condition): Convert to...
      	(rtx_reader::fprint_c_condition): ...member function.
      	(print_c_condition): Convert to...
      	(rtx_reader::print_c_condition): ...member function.
      	(rtx_reader::apply_iterator_to_string): New method decl.
      	(rtx_reader::copy_rtx_for_iterators): New method decl.
      	(rtx_reader::read_conditions): New method decl.
      	(rtx_reader::record_potential_iterator_use): New method decl.
      	(rtx_reader::read_mapping): New method decl.
      	(rtx_reader::read_rtx): New method decl.
      	(rtx_reader::read_rtx_code): New method decl.
      	(rtx_reader::read_rtx_operand): New method decl.
      	(rtx_reader::read_nested_rtx): New method decl.
      	(rtx_reader::read_rtx_variadic): New method decl.
      	(rtx_reader::get_string_obstack): New method.
      	(rtx_reader::get_md_constants): New method.
      	(string_obstack): Convert global variable decl to...
      	(rtx_reader::m_string_obstack): ...this new field.
      	(rtx_reader::m_ptr_locs): New field.
      	(rtx_reader::m_ptr_loc_obstack): New field.
      	(rtx_reader::m_joined_conditions): New field.
      	(rtx_reader::m_joined_conditions_obstack): New field.
      	(rtx_reader::m_md_constants): New field.
      	(rtx_reader::m_enum_types): New field.
      	* read-rtl.c (apply_iterator_to_string): Convert to...
      	(rtx_reader::apply_iterator_to_string): ...member function.
      	(copy_rtx_for_iterators): Convert to...
      	(rtx_reader::copy_rtx_for_iterators): ...member function.
      	(add_condition_to_string): Use rtx_reader_ptr for
      	calls join_c_conditions.
      	(apply_iterators): Use rtx_reader_ptr for calls to
      	join_c_conditions and copy_rtx_for_iterators.
      	(read_conditions): Convert to...
      	(rtx_reader::read_conditions): ...member function.
      	(record_potential_iterator_use): Convert to...
      	(rtx_reader::record_potential_iterator_use): ...member function.
      	(read_mapping): Convert to...
      	(rtx_reader::read_mapping): ...member function.
      	(read_subst_mapping): Use rtx_reader_ptr for read_string call.
      	(read_rtx): Convert to...
      	(rtx_reader::read_rtx): ...member function.
      	(read_rtx_code): Convert to...
      	(rtx_reader::read_rtx_code): ...member function.
      	(read_rtx_operand): Convert to...
      	(rtx_reader::read_rtx_operand): ...member function.  Update for move
      	of string_obstack to a field.
      	(read_nested_rtx): Convert to..
      	(rtx_reader::read_nested_rtx): ...member function.
      	(read_rtx_variadic): Convert to..
      	(rtx_reader::read_rtx_variadic): ...member function.
      
      From-SVN: r241293
      David Malcolm committed
  8. 04 Oct, 2016 1 commit
    • read-md.c: track column numbers · 3814e880
      gcc/ChangeLog:
      	* genattrtab.c (make_internal_attr): Supply dummy column number to
      	file_location ctor.
      	(main): Likewise.
      	* genoutput.c (init_insn_for_nothing): Likewise.
      	* gensupport.c (add_define_attr): Likewise.
      	* read-md.c (message_at_1): Print column number.
      	(fatal_with_file_and_line): Likewise.
      	(rtx_reader::read_char): Track column numbers.
      	(rtx_reader::unread_char): Likewise.
      	(rtx_reader::rtx_reader): Initialize m_read_md_colno.
      	(rtx_reader::handle_include): Stash and restore m_read_md_colno.
      	(rtx_reader::handle_file): Initialize m_read_md_colno.
      	(rtx_reader::get_current_location): Supply column number to
      	file_location ctor.
      	* read-md.h (struct file_location): Add field "colno".
      	(file_location::file_location): Likewise.
      	(rtx_reader::get_colno): New accessor.
      	(rtx_reader::m_read_md_colno): New field.
      	(rtx_reader::m_last_line_colno): New field.
      
      From-SVN: r240752
      David Malcolm committed
  9. 21 Sep, 2016 1 commit
    • Introduce class rtx_reader · 812b1403
      Bundle up various global variables within gensupport.c into a
      class rtx_reader, with a view towards making it easier to run the
      code more than once in-process.
      
      gcc/ChangeLog:
      	* genconstants.c (main): Introduce noop_reader and convert call
      	to read_md_files to a method call.
      	* genenums.c (main): Likewise.
      	* genmddeps.c (main): Likewise.
      	* genpreds.c (write_tm_constrs_h): Replace use of "in_fname" with
      	rtx_reader_ptr->get_top_level_filename ().
      	(write_tm_preds_h): Likewise.
      	(write_insn_preds_c): Likewise.
      	* gensupport.c (class gen_reader): New subclass of rtx_reader.
      	(rtx_handle_directive): Convert to...
      	(gen_reader::handle_unknown_directive): ...this.
      	(init_rtx_reader_args_cb): Convert return type from bool to
      	rtx_reader *.  Create a gen_reader instance, using it for the
      	call to read_md_files.  Return it if no errors occur.
      	(init_rtx_reader_args): Convert return type from bool to
      	rtx_reader *.
      	* gensupport.h (init_rtx_reader_args_cb): Likewise.
      	(init_rtx_reader_args_cb): Likewise.
      	* read-md.c (struct file_name_list): Move to class rtx_reader.
      	(read_md_file): Delete in favor of rtx_reader::m_read_md_file.
      	(read_md_filename): Delete in favor of
      	rtx_reader::m_read_md_filename.
      	(read_md_lineno): Delete in favor of rtx_reader::m_read_md_lineno.
      	(in_fname): Delete in favor of rtx_reader::m_toplevel_fname.
      	(base_dir): Delete in favor of rtx_reader::m_base_dir.
      	(first_dir_md_include): Delete in favor of
      	rtx_reader::m_first_dir_md_include.
      	(last_dir_md_include_ptr): Delete in favor of
      	rtx_reader::m_last_dir_md_include_ptr.
      	(max_include_len): Delete.
      	(rtx_reader_ptr): New.
      	(fatal_with_file_and_line): Use get_filename and get_lineno
      	accessors of rtx_reader_ptr.
      	(require_char_ws): Likewise.
      	(rtx_reader::read_char): New method, based on ::read_char.
      	(rtx_reader::unread_char): New method, based on ::unread_char.
      	(read_escape): Use get_filename and get_lineno accessors of
      	rtx_reader_ptr.
      	(read_braced_string): Use get_lineno accessor of rtx_reader_ptr.
      	(read_string): Use get_filename and get_lineno accessors of
      	rtx_reader_ptr.
      	(rtx_reader::rtx_reader): New ctor.
      	(rtx_reader::~rtx_reader): New dtor.
      	(handle_include): Convert from a function to...
      	(rtx_reader::handle_include): ...this method, converting
      	handle_directive from a callback to a virtual function.
      	(handle_file): Likewise, converting to...
      	(rtx_reader::handle_file): ...this method.
      	(handle_toplevel_file): Likewise, converting to...
      	(rtx_reader::handle_toplevel_file): ...this method.
      	(rtx_reader::get_current_location): New method.
      	(parse_include): Convert from a function to...
      	(rtx_reader::add_include_path): ...this method, dropping redundant
      	update to unused max_include_len.
      	(read_md_files): Convert from a function to...
      	(rtx_reader::read_md_files): ...this method, converting
      	handle_directive from a callback to a virtual function.
      	(noop_reader::handle_unknown_directive): New method.
      	* read-md.h (directive_handler_t): Delete this typedef.
      	(in_fname): Delete.
      	(read_md_file): Delete.
      	(read_md_lineno): Delete.
      	(read_md_filename): Delete.
      	(class rtx_reader): New class.
      	(rtx_reader_ptr): New decl.
      	(class noop_reader): New subclass of rtx_reader.
      	(read_char): Reimplement in terms of rtx_reader::read_char.
      	(unread_char): Reimplement in terms of rtx_reader::unread_char.
      	(read_md_files): Delete.
      	* read-rtl.c (read_rtx_code): Update for deletion of globals
      	read_md_filename and read_md_lineno.
      
      From-SVN: r240333
      David Malcolm committed
  10. 10 May, 2016 1 commit
    • Simplify read-md.c and read-rtl.c using require_char_ws · 601070fc
      read-md.c and read-rtl.c repeatedly use this pattern:
      
          c = read_skip_spaces ();
          if (c != ')')
            fatal_expected_char (')', c);
      
      Simplify them by introduce a helper function to do this.
      
      gcc/ChangeLog:
      	* read-md.c (require_char_ws): New function.
      	(read_string): Simplify using require_char_ws.
      	(handle_constants): Likewise.
      	(handle_enum): Likewise.
      	(handle_file): Likewise.
      	* read-md.h (require_char_ws): New declaration.
      	* read-rtl.c (read_conditions): Simplify using require_char_ws.
      	(read_mapping): Likewise.
      	(read_rtx_code): Likewise.
      	(read_nested_rtx): Likewise.
      
      From-SVN: r236101
      David Malcolm committed
  11. 06 May, 2016 1 commit
    • Make argv const char ** in read_md_files etc · 66b0fe8f
      gcc/ChangeLog:
      	* genattr-common.c (main): Convert argv from
      	char ** to const char **.
      	* genattr.c (main): Likewise.
      	* genattrtab.c (main): Likewise.
      	* genautomata.c (initiate_automaton_gen): Likewise.
      	(main): Likewise.
      	* gencodes.c (main): Likewise.
      	* genconditions.c (main): Likewise.
      	* genconfig.c (main): Likewise.
      	* genconstants.c (main): Likewise.
      	* genemit.c (main): Likewise.
      	* genenums.c (main): Likewise.
      	* genextract.c (main): Likewise.
      	* genflags.c (main): Likewise.
      	* genmddeps.c (main): Likewise.
      	* genopinit.c (main): Likewise.
      	* genoutput.c (main): Likewise.
      	* genpeep.c (main): Likewise.
      	* genpreds.c (main): Likewise.
      	* genrecog.c (main): Likewise.
      	* gensupport.c (init_rtx_reader_args_cb): Likewise.
      	(init_rtx_reader_args): Likewise.
      	* gensupport.h (init_rtx_reader_args_cb): Likewise.
      	(init_rtx_reader_args): Likewise.
      	* gentarget-def.c (main): Likewise.
      	* read-md.c (read_md_files): Likewise.
      	* read-md.h (read_md_files): Likewise.
      
      From-SVN: r235976
      David Malcolm committed
  12. 04 Jan, 2016 1 commit
  13. 16 Jul, 2015 3 commits
    • read-md.h (message_with_line, [...]): Delete. · 5d2d3e43
      gcc/
      	* read-md.h (message_with_line, error_with_line): Delete.
      	* read-md.c (message_with_line, error_with_line): Delete.
      	* gensupport.h: Include read-md.h.
      	(md_rtx_info): New structure.
      	(read_md_rtx): Use it.  Return a bool success value.
      	* gensupport.c (read_md_rtx): Likewise.
      	* genattr-common.c (gen_attr): Take an md_rtx_info rather than an rtx.
      	(main): Update after interface changes.
      	* genattr.c (gen_attr): Take an md_rtx_info rather than an rtx.
      	(main): Update after interface changes.
      	* genattrtab.c (insn_code_number): Delete.
      	(optimize_attrs): Add a max_insn_code parameter and use it instead
      	of insn_code_number.
      	(gen_attr): Take an md_rtx_info rather than an rtx and lineno.
      	Use *_at rather than *_with_line functions.
      	(gen_insn): Likewise.
      	(gen_delay): Likewise.
      	(gen_insn_reserv): Likewise.
      	(gen_bypass): Take an md_rtx_info rather than an rtx.
      	(main): Update after interface changes.  Use a local max_insn_code
      	variable instead of insn_code_number.
      	* genautomata.c (gen_cpu_unit): Take an md_rtx_info rather than
      	an rtx.  Use fatal_at rather than fatal.
      	(gen_query_cpu_unit, gen_bypass, gen_excl_set)
      	(gen_presence_absence_set, gen_presence_set, gen_final_presence_set)
      	(gen_absence_set, gen_final_absence_set, gen_automaton)
      	(gen_automata_option, gen_reserv, gen_insn_reserv): Likewise.
      	(main): Update after interface changes.
      	* gencodes.c (gen_insn): Take an md_rtx_info rather than an rtx
      	and code number.
      	(main): Update after interface changes.
      	* genconditions.c (main): Use new read_md_rtx interface.
      	* genconfig.c (gen_insn): Take an md_rtx_info rather than an rtx.
      	(gen_expand, gen_split, gen_peephole, gen_peephole2): Likewise.
      	(main): Update after interface changes.
      	* genemit.c (insn_code_number, insn_index_number): Delete.
      	(gen_insn): Take an md_rtx_info rather than an rtx and lineno.
      	Use fatal_at rather than fatal.
      	(gen_expand): Take an md_rtx_info rather than an rtx.  Use fatal_at
      	rather than fatal.
      	(gen_split): Likewise.
      	(main): Update after interface changes.
      	* genextract.c (line_no): Delete.
      	(gen_insn): Take an md_rtx_info rather than an rtx and lineno.
      	Update call to walk_rtx.
      	(VEC_safe_set_locstr): Add an md_rtx_info argument.  Use message_at
      	rather than message_with_line.
      	(walk_rtx): Add an md_rtx_info argument.  Update call to
      	VEC_safe_set_locstr.
      	(main): Update after interface changes.
      	* genflags.c (gen_insn): Take an md_rtx_info rather than an rtx
      	and lineno.  Use error_at rather than separate message_with_line
      	calls and have_error assignments.
      	(main): Update after interface changes.
      	* genmddump.c (main): Use new read_md_rtx interface.
      	* genopinit.c (insn): Take an md_rtx_info rather than an rtx.
      	(main): Update after interface changes.
      	* genoutput.c (next_code_number): Delete.
      	(gen_insn): Take an md_rtx_info rather than an rtx and lineno.
      	(gen_peephole, gen_expand, gen_split): Likewise.
      	(note_constraint): Likewise.  Use *_at rather than *_with_line
      	functions.
      	(main): Update after interface changes.
      	* genpeep.c (gen_peephole): Take an md_rtx_info rather than an
      	rtx and lineno.
      	(main): Update after interface changes.
      	* genpreds.c (process_define_predicate): Take an md_rtx_info rather
      	than an rtx and lineno.
      	(process_define_constraint): Likewise.
      	(process_define_register_constraint): Likewise.
      	(main): Update after interface changes.
      	* genrecog.c (next_insn_code, pattern_lineno): Delete.
      	(validate_pattern): Replace top-level rtx with an md_rtx_info.
      	Use *_at rather than *_with_line functions.
      	(match_pattern_2): Likewise.
      	(match_pattern_1, match_pattern): Add an md_rtx_info parameter.
      	(get_peephole2_pattern): Take an md_rtx_info rather than an rtvec.
      	Use *_at rather than *_with_line functions.
      	* gentarget-def.c (add_insn): New function.
      	(main): Use it.  Use new read_md_rtx interface.
      
      From-SVN: r225883
      Richard Sandiford committed
    • read-md.h (fatal_at): Declare. · 8f246310
      gcc/
      	* read-md.h (fatal_at): Declare.
      	* read-md.c (fatal_at): New function.
      	* genattrtab.c (insn_def, attr_desc, delay_desc): Use a file_location
      	to record the source position.
      	(check_attr_test): Take a file_location instead of a line number.
      	Use fatal_at instead of fatal.
      	(check_attr_value): Update after above changes, using "at"
      	rather than "with_line" reporting functions.
      	(convert_set_attr_alternative): Likewise.
      	(gen_attr): Likewise.
      	(check_defs): Likewise.  Don't assign to read_md_filename.
      	(gen_insn): Update initialization after above changes.
      	(gen_delay): Likewise.
      	(write_insn_cases): Print the filename for a define_peephole.
      	(gen_insn_reserv): Take a line number as argument and update
      	the call to check_attr_test.
      	(main): Pass a line number to gen_insn_reserv.
      
      From-SVN: r225880
      Richard Sandiford committed
    • read-md.h (file_location): New structure. · cc472607
      gcc/
      	* read-md.h (file_location): New structure.
      	(directive_handler_t): Take a file_location rather than a line number.
      	(message_at, error_at): Declare.
      	(read_skip_construct): Delete.
      	* read-md.c (message_with_line_1): Replace with...
      	(message_at_1): ...this new function.
      	(message_at, error_at): New functions.
      	(message_with_line, error_with_line): Update to use message_at_1.
      	(handle_enum): Take a file_location rather than a line number
      	and use error_at for error reporting.
      	(handle_include): Likewise.
      	(read_skip_construct): Likewise.  Make static.
      	(handle_file): Update after above changes.  Pass a file_location
      	rather than a line number to handle_directive.
      	* gensupport.c (queue_elem): Replace separate filename and lineno
      	with a file_location.
      	(queue_pattern): Replace filename and lineno arguments with a
      	file_location.  Update after change to queue_elem.
      	(process_define_predicate): Replace lineno argument with a
      	file_location and use error_at for error reporting.  Update
      	after above changes.
      	(process_rtx): Likewise.
      	(subst_pattern_match): Likewise.
      	(get_alternatives_number): Likewise.
      	(alter_predicate_for_insn): Likewise.
      	(rtx_handle_directive): Likewise.
      	(is_predicable): Update after above changes, using error_at rather
      	than error_with_line.
      	(has_subst_attribute): Likewise.
      	(identify_predicable_attribute): Likewise.
      	(alter_attrs_for_subst_insn): Likewise.
      	(process_one_cond_exec): Likewise.
      	(process_substs_on_one_elem): Likewise.
      	(process_define_subst): Likewise.
      	(check_define_attr_duplicates): Likewise.
      	(read_md_rtx): Update after change to queue_elem.
      
      From-SVN: r225879
      Richard Sandiford committed
  14. 08 Jun, 2015 1 commit
    • coretypes.h: Include hash-table.h and hash-set.h for host files. · 13fdf2e2
      2015-06-08  Andrew MacLeod  <amacleod@redhat.com>
      
      	* coretypes.h: Include hash-table.h and hash-set.h for host files.
      	* ggc.h: Don't include statistics.h>
      	* hash-map.h: Remove all includes.
      	* hash-set.h: Likewise.
      	* hash-table.h: Add statistics.h, inchash.h and hash-map-traits.h to
      	the include list. Remove <new>.
      	* inchash.h: Remove all includes.
      	* mem-stats.h: Likewise.
      	* vec.h: No special processing for generators or ggc.  
      	* alias.c : Adjust include files.
      	* alloc-pool.c : Likewise.
      	* alloc-pool.h : Likewise.
      	* asan.c : Likewise.
      	* attribs.c : Likewise.
      	* auto-inc-dec.c : Likewise.
      	* auto-profile.c : Likewise.
      	* bb-reorder.c : Likewise.
      	* bitmap.c : Likewise.
      	* bitmap.h : Likewise.
      	* bt-load.c : Likewise.
      	* builtins.c : Likewise.
      	* caller-save.c : Likewise.
      	* calls.c : Likewise.
      	* ccmp.c : Likewise.
      	* cfg.c : Likewise.
      	* cfganal.c : Likewise.
      	* cfgbuild.c : Likewise.
      	* cfgcleanup.c : Likewise.
      	* cfgexpand.c : Likewise.
      	* cfghooks.c : Likewise.
      	* cfgloop.c : Likewise.
      	* cfgloop.h : Likewise.
      	* cfgloopanal.c : Likewise.
      	* cfgloopmanip.c : Likewise.
      	* cfgrtl.c : Likewise.
      	* cgraph.c : Likewise.
      	* cgraphbuild.c : Likewise.
      	* cgraphclones.c : Likewise.
      	* cgraphunit.c : Likewise.
      	* cilk-common.c : Likewise.
      	* combine-stack-adj.c : Likewise.
      	* combine.c : Likewise.
      	* compare-elim.c : Likewise.
      	* context.c : Likewise.
      	* convert.c : Likewise.
      	* coverage.c : Likewise.
      	* cppbuiltin.c : Likewise.
      	* cprop.c : Likewise.
      	* cse.c : Likewise.
      	* cselib.c : Likewise.
      	* data-streamer-in.c : Likewise.
      	* data-streamer-out.c : Likewise.
      	* data-streamer.c : Likewise.
      	* data-streamer.h : Likewise.
      	* dbxout.c : Likewise.
      	* dce.c : Likewise.
      	* ddg.c : Likewise.
      	* debug.c : Likewise.
      	* df-core.c : Likewise.
      	* df-problems.c : Likewise.
      	* df-scan.c : Likewise.
      	* df.h : Likewise.
      	* dfp.c : Likewise.
      	* dojump.c : Likewise.
      	* dominance.c : Likewise.
      	* domwalk.c : Likewise.
      	* double-int.c : Likewise.
      	* dse.c : Likewise.
      	* dumpfile.c : Likewise.
      	* dwarf2asm.c : Likewise.
      	* dwarf2cfi.c : Likewise.
      	* dwarf2out.c : Likewise.
      	* emit-rtl.c : Likewise.
      	* et-forest.c : Likewise.
      	* except.c : Likewise.
      	* except.h : Likewise.
      	* explow.c : Likewise.
      	* expmed.c : Likewise.
      	* expr.c : Likewise.
      	* final.c : Likewise.
      	* fixed-value.c : Likewise.
      	* fold-const.c : Likewise.
      	* function.c : Likewise.
      	* fwprop.c : Likewise.
      	* gcc-plugin.h : Likewise.
      	* gcc.c : Likewise.
      	* gcse-common.c : Likewise.
      	* gcse.c : Likewise.
      	* genattrtab.c : Likewise.
      	* genautomata.c : Likewise.
      	* genconditions.c : Likewise.
      	* genemit.c : Likewise.
      	* generic-match-head.c : Likewise.
      	* genextract.c : Likewise.
      	* gengtype-state.c : Likewise.
      	* gengtype.c : Likewise.
      	* genhooks.c : Likewise.
      	* genmatch.c : Likewise.
      	* genmodes.c : Likewise.
      	* genrecog.c : Likewise.
      	* gensupport.c : Likewise.
      	* ggc-common.c : Likewise.
      	* ggc-internal.h : Likewise.
      	* ggc-none.c : Likewise.
      	* ggc-page.c : Likewise.
      	* gimple-builder.c : Likewise.
      	* gimple-expr.c : Likewise.
      	* gimple-fold.c : Likewise.
      	* gimple-iterator.c : Likewise.
      	* gimple-low.c : Likewise.
      	* gimple-match-head.c : Likewise.
      	* gimple-pretty-print.c : Likewise.
      	* gimple-ssa-isolate-paths.c : Likewise.
      	* gimple-ssa-strength-reduction.c : Likewise.
      	* gimple-ssa.h : Likewise.
      	* gimple-streamer-in.c : Likewise.
      	* gimple-streamer-out.c : Likewise.
      	* gimple-streamer.h : Likewise.
      	* gimple-walk.c : Likewise.
      	* gimple.c : Likewise.
      	* gimplify-me.c : Likewise.
      	* gimplify.c : Likewise.
      	* godump.c : Likewise.
      	* graph.c : Likewise.
      	* graphds.c : Likewise.
      	* graphite-blocking.c : Likewise.
      	* graphite-dependences.c : Likewise.
      	* graphite-interchange.c : Likewise.
      	* graphite-isl-ast-to-gimple.c : Likewise.
      	* graphite-optimize-isl.c : Likewise.
      	* graphite-poly.c : Likewise.
      	* graphite-scop-detection.c : Likewise.
      	* graphite-sese-to-poly.c : Likewise.
      	* graphite.c : Likewise.
      	* haifa-sched.c : Likewise.
      	* hard-reg-set.h : Likewise.
      	* hw-doloop.c : Likewise.
      	* ifcvt.c : Likewise.
      	* inchash.c : Likewise.
      	* incpath.c : Likewise.
      	* init-regs.c : Likewise.
      	* input.c : Likewise.
      	* internal-fn.c : Likewise.
      	* ipa-chkp.c : Likewise.
      	* ipa-comdats.c : Likewise.
      	* ipa-cp.c : Likewise.
      	* ipa-devirt.c : Likewise.
      	* ipa-icf-gimple.c : Likewise.
      	* ipa-icf.c : Likewise.
      	* ipa-inline-analysis.c : Likewise.
      	* ipa-inline-transform.c : Likewise.
      	* ipa-inline.c : Likewise.
      	* ipa-polymorphic-call.c : Likewise.
      	* ipa-profile.c : Likewise.
      	* ipa-prop.c : Likewise.
      	* ipa-pure-const.c : Likewise.
      	* ipa-ref.c : Likewise.
      	* ipa-reference.c : Likewise.
      	* ipa-split.c : Likewise.
      	* ipa-utils.c : Likewise.
      	* ipa-visibility.c : Likewise.
      	* ipa.c : Likewise.
      	* ira-build.c : Likewise.
      	* ira-color.c : Likewise.
      	* ira-conflicts.c : Likewise.
      	* ira-costs.c : Likewise.
      	* ira-emit.c : Likewise.
      	* ira-lives.c : Likewise.
      	* ira.c : Likewise.
      	* jump.c : Likewise.
      	* langhooks.c : Likewise.
      	* lcm.c : Likewise.
      	* libfuncs.h : Likewise.
      	* lists.c : Likewise.
      	* loop-doloop.c : Likewise.
      	* loop-init.c : Likewise.
      	* loop-invariant.c : Likewise.
      	* loop-iv.c : Likewise.
      	* loop-unroll.c : Likewise.
      	* lower-subreg.c : Likewise.
      	* lra-assigns.c : Likewise.
      	* lra-coalesce.c : Likewise.
      	* lra-constraints.c : Likewise.
      	* lra-eliminations.c : Likewise.
      	* lra-lives.c : Likewise.
      	* lra-remat.c : Likewise.
      	* lra-spills.c : Likewise.
      	* lra.c : Likewise.
      	* lto-cgraph.c : Likewise.
      	* lto-compress.c : Likewise.
      	* lto-opts.c : Likewise.
      	* lto-section-in.c : Likewise.
      	* lto-section-out.c : Likewise.
      	* lto-streamer-in.c : Likewise.
      	* lto-streamer-out.c : Likewise.
      	* lto-streamer.c : Likewise.
      	* lto-streamer.h : Likewise.
      	* mcf.c : Likewise.
      	* mode-switching.c : Likewise.
      	* modulo-sched.c : Likewise.
      	* omega.c : Likewise.
      	* omp-low.c : Likewise.
      	* optabs.c : Likewise.
      	* opts-global.c : Likewise.
      	* opts.h : Likewise.
      	* passes.c : Likewise.
      	* plugin.c : Likewise.
      	* postreload-gcse.c : Likewise.
      	* postreload.c : Likewise.
      	* predict.c : Likewise.
      	* print-rtl.c : Likewise.
      	* print-tree.c : Likewise.
      	* profile.c : Likewise.
      	* read-md.c : Likewise.
      	* read-md.h : Likewise.
      	* read-rtl.c : Likewise.
      	* real.c : Likewise.
      	* realmpfr.c : Likewise.
      	* recog.c : Likewise.
      	* ree.c : Likewise.
      	* reg-stack.c : Likewise.
      	* regcprop.c : Likewise.
      	* reginfo.c : Likewise.
      	* regrename.c : Likewise.
      	* regstat.c : Likewise.
      	* reload.c : Likewise.
      	* reload1.c : Likewise.
      	* reorg.c : Likewise.
      	* resource.c : Likewise.
      	* rtl-chkp.c : Likewise.
      	* rtl.c : Likewise.
      	* rtl.h : Likewise.
      	* rtlanal.c : Likewise.
      	* rtlhash.c : Likewise.
      	* rtlhash.h : Likewise.
      	* rtlhooks.c : Likewise.
      	* sanopt.c : Likewise.
      	* sched-deps.c : Likewise.
      	* sched-ebb.c : Likewise.
      	* sched-rgn.c : Likewise.
      	* sched-vis.c : Likewise.
      	* sdbout.c : Likewise.
      	* sel-sched-dump.c : Likewise.
      	* sel-sched-ir.c : Likewise.
      	* sel-sched-ir.h : Likewise.
      	* sel-sched.c : Likewise.
      	* sese.c : Likewise.
      	* shrink-wrap.c : Likewise.
      	* shrink-wrap.h : Likewise.
      	* simplify-rtx.c : Likewise.
      	* stack-ptr-mod.c : Likewise.
      	* statistics.c : Likewise.
      	* stmt.c : Likewise.
      	* stor-layout.c : Likewise.
      	* store-motion.c : Likewise.
      	* stringpool.c : Likewise.
      	* symtab.c : Likewise.
      	* target-globals.c : Likewise.
      	* targhooks.c : Likewise.
      	* tlink.c : Likewise.
      	* toplev.c : Likewise.
      	* tracer.c : Likewise.
      	* trans-mem.c : Likewise.
      	* tree-affine.c : Likewise.
      	* tree-affine.h : Likewise.
      	* tree-browser.c : Likewise.
      	* tree-call-cdce.c : Likewise.
      	* tree-cfg.c : Likewise.
      	* tree-cfgcleanup.c : Likewise.
      	* tree-chkp-opt.c : Likewise.
      	* tree-chkp.c : Likewise.
      	* tree-chrec.c : Likewise.
      	* tree-complex.c : Likewise.
      	* tree-data-ref.c : Likewise.
      	* tree-dfa.c : Likewise.
      	* tree-diagnostic.c : Likewise.
      	* tree-dump.c : Likewise.
      	* tree-eh.c : Likewise.
      	* tree-eh.h : Likewise.
      	* tree-emutls.c : Likewise.
      	* tree-hasher.h : Likewise.
      	* tree-if-conv.c : Likewise.
      	* tree-inline.c : Likewise.
      	* tree-inline.h : Likewise.
      	* tree-into-ssa.c : Likewise.
      	* tree-iterator.c : Likewise.
      	* tree-loop-distribution.c : Likewise.
      	* tree-nested.c : Likewise.
      	* tree-nrv.c : Likewise.
      	* tree-object-size.c : Likewise.
      	* tree-outof-ssa.c : Likewise.
      	* tree-parloops.c : Likewise.
      	* tree-phinodes.c : Likewise.
      	* tree-predcom.c : Likewise.
      	* tree-pretty-print.c : Likewise.
      	* tree-profile.c : Likewise.
      	* tree-scalar-evolution.c : Likewise.
      	* tree-sra.c : Likewise.
      	* tree-ssa-address.c : Likewise.
      	* tree-ssa-alias.c : Likewise.
      	* tree-ssa-ccp.c : Likewise.
      	* tree-ssa-coalesce.c : Likewise.
      	* tree-ssa-copy.c : Likewise.
      	* tree-ssa-copyrename.c : Likewise.
      	* tree-ssa-dce.c : Likewise.
      	* tree-ssa-dom.c : Likewise.
      	* tree-ssa-dse.c : Likewise.
      	* tree-ssa-forwprop.c : Likewise.
      	* tree-ssa-ifcombine.c : Likewise.
      	* tree-ssa-live.c : Likewise.
      	* tree-ssa-loop-ch.c : Likewise.
      	* tree-ssa-loop-im.c : Likewise.
      	* tree-ssa-loop-ivcanon.c : Likewise.
      	* tree-ssa-loop-ivopts.c : Likewise.
      	* tree-ssa-loop-manip.c : Likewise.
      	* tree-ssa-loop-niter.c : Likewise.
      	* tree-ssa-loop-prefetch.c : Likewise.
      	* tree-ssa-loop-unswitch.c : Likewise.
      	* tree-ssa-loop.c : Likewise.
      	* tree-ssa-math-opts.c : Likewise.
      	* tree-ssa-operands.c : Likewise.
      	* tree-ssa-phiopt.c : Likewise.
      	* tree-ssa-phiprop.c : Likewise.
      	* tree-ssa-pre.c : Likewise.
      	* tree-ssa-propagate.c : Likewise.
      	* tree-ssa-reassoc.c : Likewise.
      	* tree-ssa-sccvn.c : Likewise.
      	* tree-ssa-scopedtables.c : Likewise.
      	* tree-ssa-sink.c : Likewise.
      	* tree-ssa-strlen.c : Likewise.
      	* tree-ssa-structalias.c : Likewise.
      	* tree-ssa-tail-merge.c : Likewise.
      	* tree-ssa-ter.c : Likewise.
      	* tree-ssa-threadedge.c : Likewise.
      	* tree-ssa-threadupdate.c : Likewise.
      	* tree-ssa-uncprop.c : Likewise.
      	* tree-ssa-uninit.c : Likewise.
      	* tree-ssa.c : Likewise.
      	* tree-ssanames.c : Likewise.
      	* tree-stdarg.c : Likewise.
      	* tree-streamer-in.c : Likewise.
      	* tree-streamer-out.c : Likewise.
      	* tree-streamer.c : Likewise.
      	* tree-streamer.h : Likewise.
      	* tree-switch-conversion.c : Likewise.
      	* tree-tailcall.c : Likewise.
      	* tree-vect-data-refs.c : Likewise.
      	* tree-vect-generic.c : Likewise.
      	* tree-vect-loop-manip.c : Likewise.
      	* tree-vect-loop.c : Likewise.
      	* tree-vect-patterns.c : Likewise.
      	* tree-vect-slp.c : Likewise.
      	* tree-vect-stmts.c : Likewise.
      	* tree-vectorizer.c : Likewise.
      	* tree-vectorizer.h : Likewise.
      	* tree-vrp.c : Likewise.
      	* tree.c : Likewise.
      	* tsan.c : Likewise.
      	* ubsan.c : Likewise.
      	* valtrack.c : Likewise.
      	* valtrack.h : Likewise.
      	* value-prof.c : Likewise.
      	* var-tracking.c : Likewise.
      	* varasm.c : Likewise.
      	* varpool.c : Likewise.
      	* vec.c: Likewise.
      	* vmsdbgout.c : Likewise.
      	* vtable-verify.c : Likewise.
      	* vtable-verify.h : Likewise.
      	* web.c : Likewise.
      	* wide-int.cc : Likewise.
      	* xcoffout.c : Likewise.
      	* config/aarch64/aarch64-builtins.c : Likewise.
      	* config/aarch64/aarch64.c : Likewise.
      	* config/aarch64/cortex-a57-fma-steering.c : Likewise.
      	* config/alpha/alpha.c : Likewise.
      	* config/arc/arc.c : Likewise.
      	* config/arm/aarch-common.c : Likewise.
      	* config/arm/arm-builtins.c : Likewise.
      	* config/arm/arm-c.c : Likewise.
      	* config/arm/arm.c : Likewise.
      	* config/avr/avr-c.c : Likewise.
      	* config/avr/avr-log.c : Likewise.
      	* config/avr/avr.c : Likewise.
      	* config/bfin/bfin.c : Likewise.
      	* config/c6x/c6x.c : Likewise.
      	* config/cr16/cr16.c : Likewise.
      	* config/cris/cris.c : Likewise.
      	* config/darwin-c.c : Likewise.
      	* config/darwin.c : Likewise.
      	* config/default-c.c : Likewise.
      	* config/epiphany/epiphany.c : Likewise.
      	* config/epiphany/mode-switch-use.c : Likewise.
      	* config/epiphany/resolve-sw-modes.c : Likewise.
      	* config/fr30/fr30.c : Likewise.
      	* config/frv/frv.c : Likewise.
      	* config/ft32/ft32.c : Likewise.
      	* config/glibc-c.c : Likewise.
      	* config/h8300/h8300.c : Likewise.
      	* config/i386/i386-c.c : Likewise.
      	* config/i386/i386.c : Likewise.
      	* config/i386/msformat-c.c : Likewise.
      	* config/i386/winnt-cxx.c : Likewise.
      	* config/i386/winnt-stubs.c : Likewise.
      	* config/i386/winnt.c : Likewise.
      	* config/ia64/ia64-c.c : Likewise.
      	* config/ia64/ia64.c : Likewise.
      	* config/iq2000/iq2000.c : Likewise.
      	* config/lm32/lm32.c : Likewise.
      	* config/m32c/m32c-pragma.c : Likewise.
      	* config/m32c/m32c.c : Likewise.
      	* config/m32r/m32r.c : Likewise.
      	* config/m68k/m68k.c : Likewise.
      	* config/mcore/mcore.c : Likewise.
      	* config/mep/mep-pragma.c : Likewise.
      	* config/mep/mep.c : Likewise.
      	* config/microblaze/microblaze-c.c : Likewise.
      	* config/microblaze/microblaze.c : Likewise.
      	* config/mips/mips.c : Likewise.
      	* config/mmix/mmix.c : Likewise.
      	* config/mn10300/mn10300.c : Likewise.
      	* config/moxie/moxie.c : Likewise.
      	* config/msp430/msp430-c.c : Likewise.
      	* config/msp430/msp430.c : Likewise.
      	* config/nds32/nds32-cost.c : Likewise.
      	* config/nds32/nds32-fp-as-gp.c : Likewise.
      	* config/nds32/nds32-intrinsic.c : Likewise.
      	* config/nds32/nds32-isr.c : Likewise.
      	* config/nds32/nds32-md-auxiliary.c : Likewise.
      	* config/nds32/nds32-memory-manipulation.c : Likewise.
      	* config/nds32/nds32-pipelines-auxiliary.c : Likewise.
      	* config/nds32/nds32-predicates.c : Likewise.
      	* config/nds32/nds32.c : Likewise.
      	* config/nios2/nios2.c : Likewise.
      	* config/nvptx/nvptx.c : Likewise.
      	* config/pa/pa.c : Likewise.
      	* config/pdp11/pdp11.c : Likewise.
      	* config/rl78/rl78-c.c : Likewise.
      	* config/rl78/rl78.c : Likewise.
      	* config/rs6000/rs6000-c.c : Likewise.
      	* config/rs6000/rs6000.c : Likewise.
      	* config/rx/rx.c : Likewise.
      	* config/s390/s390-c.c : Likewise.
      	* config/s390/s390.c : Likewise.
      	* config/sh/sh-c.c : Likewise.
      	* config/sh/sh-mem.cc : Likewise.
      	* config/sh/sh.c : Likewise.
      	* config/sh/sh_optimize_sett_clrt.cc : Likewise.
      	* config/sh/sh_treg_combine.cc : Likewise.
      	* config/sol2-c.c : Likewise.
      	* config/sol2-cxx.c : Likewise.
      	* config/sol2-stubs.c : Likewise.
      	* config/sol2.c : Likewise.
      	* config/sparc/sparc-c.c : Likewise.
      	* config/sparc/sparc.c : Likewise.
      	* config/spu/spu-c.c : Likewise.
      	* config/spu/spu.c : Likewise.
      	* config/stormy16/stormy16.c : Likewise.
      	* config/tilegx/mul-tables.c : Likewise.
      	* config/tilegx/tilegx-c.c : Likewise.
      	* config/tilegx/tilegx.c : Likewise.
      	* config/tilepro/mul-tables.c : Likewise.
      	* config/tilepro/tilepro-c.c : Likewise.
      	* config/tilepro/tilepro.c : Likewise.
      	* config/v850/v850-c.c : Likewise.
      	* config/v850/v850.c : Likewise.
      	* config/vax/vax.c : Likewise.
      	* config/visium/visium.c : Likewise.
      	* config/vms/vms-c.c : Likewise.
      	* config/vms/vms.c : Likewise.
      	* config/vxworks.c : Likewise.
      	* config/winnt-c.c : Likewise.
      	* config/xtensa/xtensa.c : Likewise.
      
      ada
      2015-06-08  Andrew MacLeod  <amacleod@redhat.com>
      
      	* gcc-interface/cuintp.c : Adjust include files.
      	* gcc-interface/decl.c : Likewise.
      	* gcc-interface/misc.c : Likewise.
      	* gcc-interface/targtyps.c : Likewise.
      	* gcc-interface/trans.c : Likewise.
      	* gcc-interface/utils.c : Likewise.
      	* gcc-interface/utils2.c : Likewise.
      	
      c
      2015-06-08  Andrew MacLeod  <amacleod@redhat.com>
      
      	* c-array-notation.c : Adjust include files.
      	* c-aux-info.c : Likewise.
      	* c-convert.c : Likewise.
      	* c-decl.c : Likewise.
      	* c-errors.c : Likewise.
      	* c-lang.c : Likewise.
      	* c-lang.h : Likewise.
      	* c-objc-common.c : Likewise.
      	* c-parser.c : Likewise.
      	* c-typeck.c : Likewise.
      
      cfamily
      2015-06-08  Andrew MacLeod  <amacleod@redhat.com>
      
      	* array-notation-common.c : Adjust include files.
      	* c-ada-spec.c : Likewise.
      	* c-cilkplus.c : Likewise.
      	* c-common.c : Likewise.
      	* c-common.h : Likewise.
      	* c-cppbuiltin.c : Likewise.
      	* c-dump.c : Likewise.
      	* c-format.c : Likewise.
      	* c-gimplify.c : Likewise.
      	* c-indentation.c : Likewise.
      	* c-lex.c : Likewise.
      	* c-omp.c : Likewise.
      	* c-opts.c : Likewise.
      	* c-pch.c : Likewise.
      	* c-ppoutput.c : Likewise.
      	* c-pragma.c : Likewise.
      	* c-pretty-print.c : Likewise.
      	* c-semantics.c : Likewise.
      	* c-ubsan.c : Likewise.
      	* cilk.c : Likewise.
      	* stub-objc.c : Likewise.
      
      cp
      2015-06-08  Andrew MacLeod  <amacleod@redhat.com>
      
      	* call.c : Adjust include files.
      	* class.c : Likewise.
      	* constexpr.c : Likewise.
      	* cp-array-notation.c : Likewise.
      	* cp-cilkplus.c : Likewise.
      	* cp-gimplify.c : Likewise.
      	* cp-lang.c : Likewise.
      	* cp-objcp-common.c : Likewise.
      	* cp-tree.h : Likewise.
      	* cp-ubsan.c : Likewise.
      	* cvt.c : Likewise.
      	* decl.c : Likewise.
      	* decl2.c : Likewise.
      	* dump.c : Likewise.
      	* error.c : Likewise.
      	* except.c : Likewise.
      	* expr.c : Likewise.
      	* friend.c : Likewise.
      	* init.c : Likewise.
      	* lambda.c : Likewise.
      	* lex.c : Likewise.
      	* mangle.c : Likewise.
      	* method.c : Likewise.
      	* name-lookup.c : Likewise.
      	* optimize.c : Likewise.
      	* parser.c : Likewise.
      	* pt.c : Likewise.
      	* ptree.c : Likewise.
      	* repo.c : Likewise.
      	* rtti.c : Likewise.
      	* search.c : Likewise.
      	* semantics.c : Likewise.
      	* tree.c : Likewise.
      	* typeck.c : Likewise.
      	* typeck2.c : Likewise.
      	* vtable-class-hierarchy.c : Likewise.
      
      fortran
      2015-06-08  Andrew MacLeod  <amacleod@redhat.com>
      
      	* convert.c : Adjust include files.
      	* cpp.c : Likewise.
      	* decl.c : Likewise.
      	* f95-lang.c : Likewise.
      	* gfortran.h : Likewise.
      	* iresolve.c : Likewise.
      	* match.c : Likewise.
      	* module.c : Likewise.
      	* openmp.c : Likewise.
      	* options.c : Likewise.
      	* target-memory.c : Likewise.
      	* trans-array.c : Likewise.
      	* trans-common.c : Likewise.
      	* trans-const.c : Likewise.
      	* trans-decl.c : Likewise.
      	* trans-expr.c : Likewise.
      	* trans-intrinsic.c : Likewise.
      	* trans-io.c : Likewise.
      	* trans-openmp.c : Likewise.
      	* trans-stmt.c : Likewise.
      	* trans-types.c : Likewise.
      	* trans.c : Likewise.
      
      
      go
      2015-06-08  Andrew MacLeod  <amacleod@redhat.com>
      
      	* go-backend.c : Adjust include files.
      	* go-gcc.cc : Likewise.
      	* go-lang.c : Likewise.
      
      java
      2015-06-08  Andrew MacLeod  <amacleod@redhat.com>
      
      	* boehm.c : Adjust include files.
      	* builtins.c : Likewise.
      	* class.c : Likewise.
      	* constants.c : Likewise.
      	* decl.c : Likewise.
      	* except.c : Likewise.
      	* expr.c : Likewise.
      	* java-gimplify.c : Likewise.
      	* java-tree.h : Likewise.
      	* jcf-dump.c : Likewise.
      	* jcf-io.c : Likewise.
      	* jcf-parse.c : Likewise.
      	* jcf-reader.c : Likewise.
      	* jvgenmain.c : Likewise.
      	* lang.c : Likewise.
      	* mangle.c : Likewise.
      	* mangle_name.c : Likewise.
      	* resource.c : Likewise.
      	* typeck.c : Likewise.
      	* verify-glue.c : Likewise.
      	* verify-impl.c : Likewise.
      
      jit
      2015-06-08  Andrew MacLeod  <amacleod@redhat.com>
      
      	* dummy-frontend.c : Adjust include files.
      	* jit-common.h : Likewise.
      	* jit-playback.c : Likewise.
      
      lto
      2015-06-08  Andrew MacLeod  <amacleod@redhat.com>
      
      	* lto-lang.c : Adjust include files.
      	* lto-object.c : Likewise.
      	* lto-partition.c : Likewise.
      	* lto-partition.h : Likewise.
      	* lto-symtab.c : Likewise.
      	* lto.c : Likewise.
      	* lto.h : Likewise.
      
      objc
      2015-06-08  Andrew MacLeod  <amacleod@redhat.com>
      
      	* objc-act.c : Adjust include files.
      	* objc-encoding.c : Likewise.
      	* objc-gnu-runtime-abi-01.c : Likewise.
      	* objc-lang.c : Likewise.
      	* objc-map.c : Likewise.
      	* objc-next-runtime-abi-01.c : Likewise.
      	* objc-next-runtime-abi-02.c : Likewise.
      	* objc-runtime-shared-support.c : Likewise.
      
      objcp
      2015-06-08  Andrew MacLeod  <amacleod@redhat.com>
      
      	* objcp-decl.c : Adjust include files.
      	* objcp-lang.c : Likewise.
      
      From-SVN: r224250
      Andrew MacLeod committed
  15. 05 Jan, 2015 1 commit
  16. 18 Sep, 2014 1 commit
    • Add header guard to several header files. · f1717f8d
      2014-09-19  Kito Cheng  <kito@0xlab.org>
      
      	* except.h: Fix header guard.
      	* addresses.h: Add missing header guard.
      	* cfghooks.h: Likewise.
      	* collect-utils.h: Likewise.
      	* collect2-aix.h: Likewise.
      	* conditions.h: Likewise.
      	* cselib.h: Likewise.
      	* dwarf2asm.h: Likewise.
      	* graphds.h: Likewise.
      	* graphite-scop-detection.h: Likewise.
      	* gsyms.h: Likewise.
      	* hw-doloop.h: Likewise.
      	* incpath.h: Likewise.
      	* ipa-inline.h: Likewise.
      	* ipa-ref.h: Likewise.
      	* ira-int.h: Likewise.
      	* ira.h: Likewise.
      	* lra-int.h: Likewise.
      	* lra.h: Likewise.
      	* lto-section-names.h: Likewise.
      	* read-md.h: Likewise.
      	* reload.h: Likewise.
      	* rtl-error.h: Likewise.
      	* sdbout.h: Likewise.
      	* targhooks.h: Likewise.
      	* tree-affine.h: Likewise.
      	* xcoff.h: Likewise.
      	* xcoffout.h: Likewise.
      
      From-SVN: r215365
      Kito Cheng committed
  17. 02 Jan, 2014 1 commit
  18. 10 Jan, 2013 1 commit
  19. 04 May, 2012 1 commit
    • re PR other/29442 (insn-attrtab has grown too large) · 41723253
      	PR other/29442
      	* read-md.c (fprint_md_ptr_loc, fprint_c_condition): New functions.
      	(print_md_ptr_loc, print_c_condition): Use them.
      	* read-md.h (fprint_md_ptr_loc, fprint_c_condition): New prototypes.
      	* genattrtab.c (attr_file_name, dfa_file_name, latency_file_name,
      	attr_file, dfa_file, latency_file): New global variables.
      	(write_attr_valueq, write_attr_set, write_attr_case, write_attr_value,
      	write_upcase, write_indent, write_length_unit_log, write_test_expr,
      	write_attr_get, write_insn_cases, write_eligible_delay,
      	write_const_num_delay_slots): Accept FILE pointer and toss it around.
      	Update all callers.
      	(write_header, open_outfile, handle_arg): New funcions.
      	(make_automaton_attrs): Write prototypes as extern to the output
      	files.
      	(main): Use init_rtx_reader_args_cb with handle_arg to take 3 file
      	names from the command line.  Open the output files and write out
      	internal functions for DFA functions to dfa_file_name, insn latency
      	functions to latency_file_name, and everything else to attr_file.
      	* Makefile.in (OBJS): Add insn-dfatab.o and insn-latencytab.o.
      	(BACKEND): Build libbackend first.
      	(MOSTLYCLEANFILES): Add insn-dfatab.c and insn-latencytab.c.
      	(.PRECIOUS): Likewise.
      	(insn-dfatab.o): New rule.
      	(insn-latencytab.o): New rule.
      	(simple_rtl_generated_c): Do not include insn-attrtab.c.
      	(s-attrtab): New rule.
      
      From-SVN: r187181
      Steven Bosscher committed
  20. 10 Jun, 2010 10 commits
    • md.texi (define_enum_attr): Document. · 8f4fe86c
      gcc/
      	* doc/md.texi (define_enum_attr): Document.
      	* rtl.def (DEFINE_ENUM_ATTR): New rtx.
      	* read-md.h (lookup_enum_type): Declare.
      	* read-md.c (lookup_enum_type): New function.
      	* genattr.c (gen_attr, main): Handle DEFINE_ENUM_ATTR.
      	* genattrtab.c (attr_desc): Add an enum_name field.
      	(evaluate_eq_attr): Take the associated attribute as argument.
      	Get the enum prefix from the enum_name field, if defined.
      	Use ACONCAT rather than a fixed-length buffer.  Update recursive calls.
      	(simplify_test_exp): Pass attr to evaluate_eq_attr.
      	(add_attr_value): New function, split out from...
      	(gen_attr): ...here.  Handle DEFINE_ENUM_ATTR.
      	(write_test_expr): Pass attr to evaluate_eq_attr.
      	(write_attr_get): Use the enum_name as the enum tag, if defined.
      	(write_attr_valueq): Use the enum_name as a prefix, if defined.
      	(find_attr): Initialize enum_name.
      	(main): Handle DEFINE_ENUM_ATTR.
      	* gensupport.c (process_rtx): Likewise.
      	* config/mips/mips.h (mips_tune_attr): Delete.
      	* config/mips/mips.md (cpu): Use define_attr_enum.
      
      From-SVN: r160581
      Richard Sandiford committed
    • md.texi (define_c_enum, [...]): Document. · 24609606
      gcc/
      	* doc/md.texi (define_c_enum, define_enum): Document.
      	* read-md.h (md_constant): Add a parent_enum field.
      	(enum_value, enum_type): New structures.
      	(upcase_string, traverse_enum_types): Declare.
      	* read-md.c (enum_types): New variable.
      	(upcase_string, add_constant): New functions.
      	(handle_constants): Don't create the hash table here.
      	Use add_constant.
      	(traverse_md_constants): Don't check for a null md_constants.
      	(decimal_string, handle_enum, traverse_enum_types): New functions.
      	(read_md_files): Initialize md_constants and md_enums.
      	* genconstants.c (print_md_constant): Ignore info argument.
      	Only print constants that belong to no enum.
      	(print_enum_type): New function.
      	(main): Don't pass stdout to print_md_constant.  Call print_enum_type
      	for each defined enum type.
      	* config/mips/mips.md (processor): New define_enum.
      	(unspec): New define_c_enum.
      	(UNSPEC_COMPARE_AND_SWAP, UNSPEC_COMPARE_AND_SWAP_12)
      	(UNSPEC_SYNC_OLD_OP, UNSPEC_SYNC_NEW_OP, UNSPEC_SYNC_NEW_OP_12)
      	(UNSPEC_SYNC_OLD_OP_12, UNSPEC_SYNC_EXCHANGE, UNSPEC_SYNC_EXCHANGE_12)
      	(UNSPEC_MEMORY_BARRIER): Moved to sync.md.
      	(UNSPEC_ADDQ, UNSPEC_ADDQ_S, UNSPEC_SUBQ, UNSPEC_SUBQ_S, UNSPEC_ADDSC)
      	(UNSPEC_ADDWC, UNSPEC_MODSUB, UNSPEC_RADDU_W_QB, UNSPEC_ABSQ_S)
      	(UNSPEC_PRECRQ_QB_PH, UNSPEC_PRECRQ_PH_W, UNSPEC_PRECRQ_RS_PH_W)
      	(UNSPEC_PRECRQU_S_QB_PH, UNSPEC_PRECEQ_W_PHL, UNSPEC_PRECEQ_W_PHR)
      	(UNSPEC_PRECEQU_PH_QBL, UNSPEC_PRECEQU_PH_QBR, UNSPEC_PRECEQU_PH_QBLA)
      	(UNSPEC_PRECEQU_PH_QBRA, UNSPEC_PRECEU_PH_QBL, UNSPEC_PRECEU_PH_QBR)
      	(UNSPEC_PRECEU_PH_QBLA, UNSPEC_PRECEU_PH_QBRA, UNSPEC_SHLL)
      	(UNSPEC_SHLL_S, UNSPEC_SHRL_QB, UNSPEC_SHRA_PH, UNSPEC_SHRA_R)
      	(UNSPEC_MULEU_S_PH_QBL, UNSPEC_MULEU_S_PH_QBR, UNSPEC_MULQ_RS_PH)
      	(UNSPEC_MULEQ_S_W_PHL, UNSPEC_MULEQ_S_W_PHR, UNSPEC_DPAU_H_QBL)
      	(UNSPEC_DPAU_H_QBR, UNSPEC_DPSU_H_QBL, UNSPEC_DPSU_H_QBR)
      	(UNSPEC_DPAQ_S_W_PH, UNSPEC_DPSQ_S_W_PH, UNSPEC_MULSAQ_S_W_PH)
      	(UNSPEC_DPAQ_SA_L_W, UNSPEC_DPSQ_SA_L_W, UNSPEC_MAQ_S_W_PHL)
      	(UNSPEC_MAQ_S_W_PHR, UNSPEC_MAQ_SA_W_PHL, UNSPEC_MAQ_SA_W_PHR)
      	(UNSPEC_BITREV, UNSPEC_INSV, UNSPEC_REPL_QB, UNSPEC_REPL_PH)
      	(UNSPEC_CMP_EQ, UNSPEC_CMP_LT, UNSPEC_CMP_LE, UNSPEC_CMPGU_EQ_QB)
      	(UNSPEC_CMPGU_LT_QB, UNSPEC_CMPGU_LE_QB, UNSPEC_PICK, UNSPEC_PACKRL_PH)
      	(UNSPEC_EXTR_W, UNSPEC_EXTR_R_W, UNSPEC_EXTR_RS_W, UNSPEC_EXTR_S_H)
      	(UNSPEC_EXTP, UNSPEC_EXTPDP, UNSPEC_SHILO, UNSPEC_MTHLIP, UNSPEC_WRDSP)
      	(UNSPEC_RDDSP): Move to mips-dsp.md.
      	(UNSPEC_ABSQ_S_QB, UNSPEC_ADDU_PH, UNSPEC_ADDU_S_PH, UNSPEC_ADDUH_QB)
      	(UNSPEC_ADDUH_R_QB, UNSPEC_APPEND, UNSPEC_BALIGN, UNSPEC_CMPGDU_EQ_QB)
      	(UNSPEC_CMPGDU_LT_QB, UNSPEC_CMPGDU_LE_QB, UNSPEC_DPA_W_PH)
      	(UNSPEC_DPS_W_PH, UNSPEC_MADD, UNSPEC_MADDU, UNSPEC_MSUB, UNSPEC_MSUBU)
      	(UNSPEC_MUL_PH, UNSPEC_MUL_S_PH, UNSPEC_MULQ_RS_W, UNSPEC_MULQ_S_PH)
      	(UNSPEC_MULQ_S_W, UNSPEC_MULSA_W_PH, UNSPEC_MULT, UNSPEC_MULTU)
      	(UNSPEC_PRECR_QB_PH, UNSPEC_PRECR_SRA_PH_W, UNSPEC_PRECR_SRA_R_PH_W)
      	(UNSPEC_PREPEND, UNSPEC_SHRA_QB, UNSPEC_SHRA_R_QB, UNSPEC_SHRL_PH)
      	(UNSPEC_SUBU_PH, UNSPEC_SUBU_S_PH, UNSPEC_SUBUH_QB, UNSPEC_SUBUH_R_QB)
      	(UNSPEC_ADDQH_PH, UNSPEC_ADDQH_R_PH, UNSPEC_ADDQH_W, UNSPEC_ADDQH_R_W)
      	(UNSPEC_SUBQH_PH, UNSPEC_SUBQH_R_PH, UNSPEC_SUBQH_W, UNSPEC_SUBQH_R_W)
      	(UNSPEC_DPAX_W_PH, UNSPEC_DPSX_W_PH, UNSPEC_DPAQX_S_W_PH)
      	(UNSPEC_DPAQX_SA_W_PH, UNSPEC_DPSQX_S_W_PH, UNSPEC_DPSQX_SA_W_PH):
      	Moved to mips-dspr2.md.
      	(UNSPEC_MOVE_TF_PS, UNSPEC_C, UNSPEC_ALNV_PS, UNSPEC_CABS)
      	(UNSPEC_ADDR_PS, UNSPEC_CVT_PW_PS, UNSPEC_CVT_PS_PW, UNSPEC_MULR_PS)
      	(UNSPEC_ABS_PS, UNSPEC_RSQRT1, UNSPEC_RSQRT2, UNSPEC_RECIP1)
      	(UNSPEC_RECIP2, UNSPEC_SINGLE_CC, UNSPEC_SCC): Moved from mips-ps-3d.md.
      	(UNSPEC_LOONGSON_PAVG, UNSPEC_LOONGSON_PCMPEQ, UNSPEC_LOONGSON_PCMPGT)
      	(UNSPEC_LOONGSON_PEXTR, UNSPEC_LOONGSON_PINSR_0)
      	(UNSPEC_LOONGSON_PINSR_1, UNSPEC_LOONGSON_PINSR_2)
      	(UNSPEC_LOONGSON_PINSR_3, UNSPEC_LOONGSON_PMADD)
      	(UNSPEC_LOONGSON_PMOVMSK, UNSPEC_LOONGSON_PMULHU)
      	(UNSPEC_LOONGSON_PMULH, UNSPEC_LOONGSON_PMULL, UNSPEC_LOONGSON_PMULU)
      	(UNSPEC_LOONGSON_PASUBUB, UNSPEC_LOONGSON_BIADD, UNSPEC_LOONGSON_PSADBH)
      	(UNSPEC_LOONGSON_PSHUFH, UNSPEC_LOONGSON_PUNPCKH)
      	(UNSPEC_LOONGSON_PUNPCKL, UNSPEC_LOONGSON_PADDD)
      	(UNSPEC_LOONGSON_PSUBD): Move to mips-loongson.md.
      	(UNSPEC_LOONGSON_ALU1_TURN_ENABLED_INSN)
      	(UNSPEC_LOONGSON_ALU2_TURN_ENABLED_INSN)
      	(UNSPEC_LOONGSON_FALU1_TURN_ENABLED_INSN)
      	(UNSPEC_LOONGSON_FALU2_TURN_ENABLED_INSN): Moved to mips-loongson2ef.md.
      	(cpu): Update comment.
      	* config/mips/sync.md (UNSPEC_COMPARE_AND_SWAP)
      	(UNSPEC_COMPARE_AND_SWAP_12, UNSPEC_SYNC_OLD_OP, UNSPEC_SYNC_NEW_OP)
      	(UNSPEC_SYNC_NEW_OP_12, UNSPEC_SYNC_OLD_OP_12, UNSPEC_SYNC_EXCHANGE)
      	(UNSPEC_SYNC_EXCHANGE_12, UNSPEC_MEMORY_BARRIER): Moved from mips.md.
      	* config/mips/loongson.md (UNSPEC_LOONGSON_PAVG, UNSPEC_LOONGSON_PCMPEQ)
      	(UNSPEC_LOONGSON_PCMPGT, UNSPEC_LOONGSON_PEXTR, UNSPEC_LOONGSON_PINSR_0)
      	(UNSPEC_LOONGSON_PINSR_1, UNSPEC_LOONGSON_PINSR_2)
      	(UNSPEC_LOONGSON_PINSR_3, UNSPEC_LOONGSON_PMADD)
      	(UNSPEC_LOONGSON_PMOVMSK, UNSPEC_LOONGSON_PMULHU)
      	(UNSPEC_LOONGSON_PMULH, UNSPEC_LOONGSON_PMULL, UNSPEC_LOONGSON_PMULU)
      	(UNSPEC_LOONGSON_PASUBUB, UNSPEC_LOONGSON_BIADD, UNSPEC_LOONGSON_PSADBH)
      	(UNSPEC_LOONGSON_PSHUFH, UNSPEC_LOONGSON_PUNPCKH)
      	(UNSPEC_LOONGSON_PUNPCKL, UNSPEC_LOONGSON_PADDD)
      	(UNSPEC_LOONGSON_PSUBD): Moved from mips.md
      	* config/mips/loongson2ef.md (UNSPEC_LOONGSON_ALU1_TURN_ENABLED_INSN)
      	(UNSPEC_LOONGSON_ALU2_TURN_ENABLED_INSN)
      	(UNSPEC_LOONGSON_FALU1_TURN_ENABLED_INSN)
      	(UNSPEC_LOONGSON_FALU2_TURN_ENABLED_INSN): Moved from mips.md
      	* config/mips/mips-dsp.md (UNSPEC_ADDQ, UNSPEC_ADDQ_S, UNSPEC_SUBQ)
      	(UNSPEC_SUBQ_S, UNSPEC_ADDSC, UNSPEC_ADDWC, UNSPEC_MODSUB)
      	(UNSPEC_RADDU_W_QB, UNSPEC_ABSQ_S, UNSPEC_PRECRQ_QB_PH)
      	(UNSPEC_PRECRQ_PH_W, UNSPEC_PRECRQ_RS_PH_W, UNSPEC_PRECRQU_S_QB_PH)
      	(UNSPEC_PRECEQ_W_PHL, UNSPEC_PRECEQ_W_PHR, UNSPEC_PRECEQU_PH_QBL)
      	(UNSPEC_PRECEQU_PH_QBR, UNSPEC_PRECEQU_PH_QBLA, UNSPEC_PRECEQU_PH_QBRA)
      	(UNSPEC_PRECEU_PH_QBL, UNSPEC_PRECEU_PH_QBR, UNSPEC_PRECEU_PH_QBLA)
      	(UNSPEC_PRECEU_PH_QBRA, UNSPEC_SHLL, UNSPEC_SHLL_S, UNSPEC_SHRL_QB)
      	(UNSPEC_SHRA_PH, UNSPEC_SHRA_R, UNSPEC_MULEU_S_PH_QBL)
      	(UNSPEC_MULEU_S_PH_QBR, UNSPEC_MULQ_RS_PH, UNSPEC_MULEQ_S_W_PHL)
      	(UNSPEC_MULEQ_S_W_PHR, UNSPEC_DPAU_H_QBL, UNSPEC_DPAU_H_QBR)
      	(UNSPEC_DPSU_H_QBL, UNSPEC_DPSU_H_QBR, UNSPEC_DPAQ_S_W_PH)
      	(UNSPEC_DPSQ_S_W_PH, UNSPEC_MULSAQ_S_W_PH, UNSPEC_DPAQ_SA_L_W)
      	(UNSPEC_DPSQ_SA_L_W, UNSPEC_MAQ_S_W_PHL, UNSPEC_MAQ_S_W_PHR)
      	(UNSPEC_MAQ_SA_W_PHL, UNSPEC_MAQ_SA_W_PHR, UNSPEC_BITREV, UNSPEC_INSV)
      	(UNSPEC_REPL_QB, UNSPEC_REPL_PH, UNSPEC_CMP_EQ, UNSPEC_CMP_LT)
      	(UNSPEC_CMP_LE, UNSPEC_CMPGU_EQ_QB, UNSPEC_CMPGU_LT_QB)
      	(UNSPEC_CMPGU_LE_QB, UNSPEC_PICK, UNSPEC_PACKRL_PH, UNSPEC_EXTR_W)
      	(UNSPEC_EXTR_R_W, UNSPEC_EXTR_RS_W, UNSPEC_EXTR_S_H, UNSPEC_EXTP)
      	(UNSPEC_EXTPDP, UNSPEC_SHILO, UNSPEC_MTHLIP, UNSPEC_WRDSP)
      	(UNSPEC_RDDSP): Moved from mips.md.
      	* config/mips/mips-dspr2.md (UNSPEC_ABSQ_S_QB, UNSPEC_ADDU_PH)
      	(UNSPEC_ADDU_S_PH, UNSPEC_ADDUH_QB, UNSPEC_ADDUH_R_QB, UNSPEC_APPEND)
      	(UNSPEC_BALIGN, UNSPEC_CMPGDU_EQ_QB, UNSPEC_CMPGDU_LT_QB)
      	(UNSPEC_CMPGDU_LE_QB, UNSPEC_DPA_W_PH, UNSPEC_DPS_W_PH, UNSPEC_MADD)
      	(UNSPEC_MADDU, UNSPEC_MSUB, UNSPEC_MSUBU, UNSPEC_MUL_PH)
      	(UNSPEC_MUL_S_PH, UNSPEC_MULQ_RS_W, UNSPEC_MULQ_S_PH, UNSPEC_MULQ_S_W)
      	(UNSPEC_MULSA_W_PH, UNSPEC_MULT, UNSPEC_MULTU, UNSPEC_PRECR_QB_PH)
      	(UNSPEC_PRECR_SRA_PH_W, UNSPEC_PRECR_SRA_R_PH_W, UNSPEC_PREPEND)
      	(UNSPEC_SHRA_QB, UNSPEC_SHRA_R_QB, UNSPEC_SHRL_PH, UNSPEC_SUBU_PH)
      	(UNSPEC_SUBU_S_PH, UNSPEC_SUBUH_QB, UNSPEC_SUBUH_R_QB, UNSPEC_ADDQH_PH)
      	(UNSPEC_ADDQH_R_PH, UNSPEC_ADDQH_W, UNSPEC_ADDQH_R_W, UNSPEC_SUBQH_PH)
      	(UNSPEC_SUBQH_R_PH, UNSPEC_SUBQH_W, UNSPEC_SUBQH_R_W, UNSPEC_DPAX_W_PH)
      	(UNSPEC_DPSX_W_PH, UNSPEC_DPAQX_S_W_PH, UNSPEC_DPAQX_SA_W_PH)
      	(UNSPEC_DPSQX_S_W_PH, UNSPEC_DPSQX_SA_W_PH): Moved from mips.md.
      	* config/mips/mips-ps-3d.md (UNSPEC_MOVE_TF_PS, UNSPEC_C)
      	(UNSPEC_ALNV_PS, UNSPEC_CABS, UNSPEC_ADDR_PS, UNSPEC_CVT_PW_PS)
      	(UNSPEC_CVT_PS_PW, UNSPEC_MULR_PS, UNSPEC_ABS_PS, UNSPEC_RSQRT1)
      	(UNSPEC_RSQRT2, UNSPEC_RECIP1, UNSPEC_RECIP2, UNSPEC_SINGLE_CC)
      	(UNSPEC_SCC): Moved from mips.md.
      	* config/mips/mips.c (mips_arch, mips_tune): Change enum from
      	"processor_type" to "processor".
      	(mips_rtx_cost_data): Replace PROCESSOR_MAX with NUM_PROCESSOR_VALUES.
      	* config/mips/mips.h (processor_type): Delete.
      	(mips_cpu_info.cpu, mips_arch, mips_tune): Change enum from
      	"processor_type" to "processor".
      
      From-SVN: r160580
      Richard Sandiford committed
    • Makefile.in (BUILD_RTL): Move build/read-md.o to... · 9b68b6ea
      gcc/
      	* Makefile.in (BUILD_RTL): Move build/read-md.o to...
      	(BUILD_MD): ...this new variable.
      	(simple_generated_rtl_h, simple_generated_rtl_c): New variables
      	that include the old contents of simple_generated_h and
      	simple_generated_c.
      	(simple_generated_h, simple_generated_c): Include them.  Add
      	insn-constants.h.
      	(s-%): Make simple_generated_{h,c} stamps depend on $(MD_DEPS)
      	and simple_generated_rtl_{h,c} stamps depend on insn-conditions.md.
      	Remove these dependencies from the main rule and include
      	insn-conditions.md in the command line only if it appears
      	in the dependency list.
      	(insn-constants.h, s-constants): Delete.
      	(build/genconstants.o): Don't depend on $(RTL_BASE_H), $(GTM_H)
      	or gensupport.h.
      	(build/genmddeps.o): Likewise.
      	(genprogrtl): New variable that contains everything from genprogmd
      	except mddeps and constants.
      	(genprogmd): Redefine in terms of genprogrtl.  Make these programs
      	depend on $(BUILD_MD)
      	(genprog): New variable.  Make these programs depend on
      	$(BUILD_ERRORS).
      	* genmddeps.c: Don't include tm.h, rtl.h or gensupport.h.
      	(main): Use read_md_files instead of init_rtx_reader_args.
      	* genconstants.c: As for genmddeps.c.
      	* read-md.h (read_skip_construct): Declare.
      	* read-md.c (read_skip_construct): New function.
      	(handle_file): Allow a null handle_directive, skipping the
      	construct if so.
      	(parse_include): Update the comment accordingly.
      
      From-SVN: r160578
      Richard Sandiford committed
    • Makefile.in (build/genmddeps.o): Depend on $(READ_MD_H). · 600ab3fc
      gcc/
      	* Makefile.in (build/genmddeps.o): Depend on $(READ_MD_H).
      	* genmddeps.c: Include read-md.h.
      	(main): Call init_rtx_reader_args instead of init_md_reader_args.
      	* genattr.c (main): Likewise.
      	* genattrtab.c (main): Likewise.
      	* genautomata.c (main): Likewise.
      	* gencodes.c (main): Likewise.
      	* genconditions.c (main): Likewise.
      	* genconfig.c (main): Likewise.
      	* genconstants.c (main): Likewise.
      	* genemit.c (main): Likewise.
      	* genextract.c (main): Likewise.
      	* genflags.c (main): Likewise.
      	* genopinit.c (main): Likewise.
      	* genoutput.c (main): Likewise.
      	* genpeep.c (main): Likewise.
      	* genrecog.c (main): Likewise.
      	* genpreds.c (main): Likewise.
      	* gensupport.h (in_fname): Move to read-md.h.
      	(init_md_reader_args_cb): Rename to...
      	(init_rtx_reader_args_cb): ...this and return a bool.
      	(init_md_reader_args): Rename to...
      	(init_rtx_reader_args): ...this and return a bool.
      	(include_callback): Move to read-md.h.
      	* gensupport.c (in_fname, include_callback, base_dir, max_include_len)
      	(file_name_list, first_dir_md_include): Move to read-md.c
      	(first_bracket_include): Delete unused variable.
      	(last_dir_md_include): Move to read-md.c.
      	(process_include): Delete, moving code to read-md.c:handle_include.
      	(process_rtx): Don't handle INCLUDE.
      	(save_string): Delete.
      	(rtx_handle_directive): New function.
      	(init_md_reader_args_cb): Rename to...
      	(init_rtx_reader_args_cb): ...this and return a boolean success value.
      	Use read_md_args.
      	(init_md_reader_args): Rename to...
      	(init_rtx_reader_args): ...this and return a boolean success value.
      	* rtl.def (INCLUDE): Delete.
      	* rtl.h (read_rtx): Remove "int *" argument.  Add "const char *"
      	argument.
      	* read-rtl.c (read_conditions): Don't gobble ')' here.
      	(read_mapping): Likewise.
      	(read_rtx): Remove LINENO argument.  Add RTX_NAME argument.
      	Handle top-level non-rtx constructs here rather than in read_rtx_1.
      	Store the whole queue in *X.  Remove call to init_md_reader.
      	(read_rtx_1): Rename to...
      	(read_rtx_code): ...this.  Call read_nested_rtx to read subrtxes.
      	Don't handle top-level non-rtx constructs here.  Don't handle (nil)
      	here.
      	(read_nested_rtx): New function.  Handle (nil) here rather than
      	in read_rtx_code.
      	(read_rtx_variadic): Call read_nested_rtx to read subrtxes.  Don't
      	gobble ')' here.
      	* read-md.h (directive_handler_t): New type.
      	(in_fname, include_callback): Moved from read-md.h.
      	(read_constants, init_md_reader): Delete.
      	(read_md_files): Declare.
      	* read-md.c (file_name_list, in_fname, base_dir, first_dir_md_include)
      	(last_dir_md_include_ptr, include_callback, max_include_len): Moved
      	from gensupport.c.
      	(read_constants): Rename to...
      	(handle_constants): ...this.  Don't gobble ')' here.
      	(handle_include, handle_file, handle_toplevel_file)
      	(parse_include): New functions, mostly taken from gensupport.c.
      	(init_md_reader): Subsume into...
      	(read_md_files): ...this new function.
      
      From-SVN: r160577
      Richard Sandiford committed
    • read-md.h (read_char): Increment read_md_lineno after reading '\n'. · 7f7c467f
      gcc/
      	* read-md.h (read_char): Increment read_md_lineno after reading '\n'.
      	(unread_char): Decrement read_md_lineno after putting back '\n'.
      	* read-md.c (fatal_with_file_and_line): Push back any characters
      	that we decide not to add to the context.
      	(read_skip_spaces): Don't increment read_md_lineno here.  Avoid using
      	fatal_expected_char in cases where '/' ends a line (for example).
      	(read_name): Don't increment read_md_lineno here.
      	(read_escape): Likewise.
      	(read_quoted_string): Likewise.
      	(read_braced_string): Likewise.
      
      From-SVN: r160576
      Richard Sandiford committed
    • Makefile.in (READ_MD_H): Add $(HASHTAB_H). · 9f418533
      gcc/
      	* Makefile.in (READ_MD_H): Add $(HASHTAB_H).
      	(build/genconstants.o): Depend on $(READ_MD_H) gensupport.h.
      	* genconstants.c: Include read-md.h.
      	* read-rtl.c (md_constants): Move to read-md.c.
      	(md_name): Move to read-md.h.
      	(initialize_iterators): Use leading_string_hash instead of def_hash
      	and leading_string_eq_p instead of def_name_eq_p.
      	(read_name): Move to read-md.c.
      	(def_hash, def_name_eq_p): Delete.
      	(read_constants, traverse_md_constants): Move to read-md.c.
      	* rtl.h (md_constant, traverse_md_constants): Move to read-md.h.
      	* read-md.h: Include hashtab.h.
      	(md_name): Moved from read-rtl.c.
      	(md_constant): Moved from read-md.h.
      	(leading_string_hash, leading_string_eq_p, read_name)
      	(read_constants, traverse_md_constants): Declare.
      	* read-md.c (md_constants): Moved from read-rtl.c.
      	(leading_string_hash, leading_string_eq_p): New functions.
      	(read_name, read_constants, traverse_md_constants): Moved from
      	read-rtl.c.
      
      From-SVN: r160575
      Richard Sandiford committed
    • Makefile.in (build/read-md.o): Depend on errors.h. · bb933490
      gcc/
      	* Makefile.in (build/read-md.o): Depend on errors.h.
      	* read-md.h (error_with_line): Declare.
      	* read-md.c: Include errors.h.
      	(message_with_line_1): New function, extracted from...
      	(message_with_line): ...here.
      	(error_with_line): New function.
      	* genattrtab.c: If a call to message_with_line is followed by
      	"have_error = 1;", replace both statements with a call to
      	error_with_line.
      	* genoutput.c: Likewise.
      	* genpreds.c: Likewise.
      	* genrecog.c: If a call to message_with_line is followed by
      	"error_count++;", replace both statements with a call to
      	error_with_line.
      	(errorcount): Delete.
      	(main): Don't check it.
      	* gensupport.c: If a call to message_with_line is followed by
      	"errors = 1;", replace both statements with a call to error_with_line.
      	(errors): Delete.
      	(process_define_cond_exec): Check have_error instead of errors.
      	(init_md_reader_args_cb): Likewise.  Don't set errors.
      
      From-SVN: r160573
      Richard Sandiford committed
    • read-md.h (read_md_file): Declare. · c5e88b39
      gcc/
      	* read-md.h (read_md_file): Declare.
      	(read_char, unread_char): New functions.
      	(fatal_with_file_and_line, fatal_expected_char, read_skip_spaces)
      	(read_quoted_string, read_string): Remove FILE * argument.
      	* read-md.c (read_md_file): New variable.
      	(read_md_filename, read_md_lineno): Update comments and remove
      	unnecessary initialization.
      	(fatal_with_file_and_line, fatal_expected_char, read_skip_spaces)
      	(read_escape, read_quoted_string, read_braced_string, read_string):
      	Remove FILE * argument.  Update calls accordingly, using read_char
      	and unread_char instead of getc and ungetc.
      	* rtl.h (read_rtx): Remove FILE * argument.
      	* read-rtl.c (iterator_group): Remove FILE * argument from
      	"find_builtin".
      	(iterator_traverse_data): Remove "infile" field.
      	(find_mode, find_code, apply_mode_maps, apply_iterator_to_rtx)
      	(add_mapping, read_name, read_constants, read_conditions)
      	(validate_const_int, find_iterator, read_mapping, check_code_iterator)
      	(read_rtx, read_rtx_1, read_rtx_variadic): Remove FILE * argument.
      	Remove file arguments from all calls, using read_char and unread_char
      	instead of getc and ungetc.
      	* gensupport.c (process_include): Preserve read_md_file around
      	the include.  Set read_md_file to the handle of the included file.
      	Update call to read_rtx.
      	(init_md_reader_args_cb): Set read_md_file to the handle of the file
      	and remove local FILE *.  Update calls to read_rtx.
      
      From-SVN: r160572
      Richard Sandiford committed
    • read-md.h (read_rtx_lineno): Rename to... · d2a3ce4e
      gcc/
      	* read-md.h (read_rtx_lineno): Rename to...
      	(read_md_lineno): ...this.
      	(read_rtx_filename): Rename to...
      	(read_md_filename): ...this.
      	(copy_rtx_ptr_loc): Rename to...
      	(copy_md_ptr_loc): ...this.
      	(print_rtx_ptr_loc): Rename to...
      	(print_md_ptr_loc): ...this.
      	* read-md.c: Likewise.  Update references after renaming.
      	(string_obstack): Replace RTL with MD in comment.
      	(set_rtx_ptr_loc): Rename to...
      	(set_md_ptr_loc): ...this.
      	(get_rtx_ptr_loc): Rename to...
      	(get_md_ptr_loc): ...this.
      	* genconditions.c: Update references after renaming.
      	* genemit.c: Likewise.
      	* genoutput.c: Likewise.
      	* genpreds.c: Likewise.
      	* gensupport.c: Likewise.
      	* read-rtl.c: Likewise.
      
      From-SVN: r160571
      Richard Sandiford committed
    • Makefile.in (READ_MD_H): New variable. · 10692477
      gcc/
      	* Makefile.in (READ_MD_H): New variable.
      	(BUILD_RTL): Add build/read-md.o.
      	(lto-wrapper.o): Depend on coretypes.h instead of defaults.h.
      	(build/gensupport.o, build/read-rtl.o, build/genattr.o)
      	(build/genattrtab.o, build/genconditions.o build/genemit.o)
      	(build/genextract.o, build/genflags.o, build/genoutput.o)
      	(build/genpreds.o, build/genrecog.o): Depend on $(READ_MD_H).
      	(build/read-md.o): New rule.
      	* defaults.h (obstack_chunk_alloc, obstack_chunk_free)
      	(OBSTACK_CHUNK_SIZE, gcc_obstack_init): Move to...
      	* coretypes.h: ...here.
      	* lto-wrapper.c: Include coretypes.h instead of defaults.h.
      	* pretty-print.c (obstack_chunk_alloc, obstack_chunk_free): Delete.
      	* genattr.c: Include read-md.h.
      	* genattrtab.c: Likewise.
      	* genconditions.c: Likewise.
      	* genemit.c: Likewise.
      	* genextract.c: Likewise.
      	* genflags.c: Likewise.
      	* genoutput.c: Likewise.
      	* genpreds.c: Likewise.
      	* genrecog.c: Likewise.
      	* rtl.h (read_skip_spaces, copy_rtx_ptr_loc, print_rtx_ptr_loc)
      	(join_c_conditions, print_c_condition, read_rtx_filename)
      	(read_rtx_lineno): Move to read-md.h.
      	* read-rtl.c: Include read-md.h.
      	(ptr_loc, string_obstack, ptr_locs, ptr_loc_obstack)
      	(joined_conditions, joined_conditions_obstack, read_rtx_lineno)
      	(read_rtx_filename, fatal_with_file_and_line, fatal_expected_char)
      	(leading_ptr_hash, leading_ptr_eq_p, set_rtx_ptr_loc, get_rtx_ptr_loc)
      	(copy_rtx_ptr_loc, print_rtx_ptr_loc, join_c_conditions)
      	(print_c_condition, read_skip_spaces, read_escape, read_quoted_string)
      	(read_braced_string, read_string): Move to read-md.c.
      	(read_rtx): Move some initialization to init_md_reader and call
      	init_md_reader here.
      	* gensupport.h (message_with_line, n_comma_elts, scan_comma_elt):
      	Move to read-md.h.
      	* gensupport.c: Include read-md.h.
      	(message_with_line, n_comma_elts, scan_comma_elt): Move to
      	read-md.c.
      	* read-md.h, read-md.c: New files.
      
      From-SVN: r160570
      Richard Sandiford committed