Commit Graph

1102 Commits

Author SHA1 Message Date
Richard Biener 34e8234204 alias.c (struct alias_set_entry): Pack properly.
2017-03-14  Richard Biener  <rguenther@suse.de>

	* alias.c (struct alias_set_entry): Pack properly.
	* cfgloop.h (struct loop): Likewise.
	* cse.c (struct set): Likewise.
	* ipa-utils.c (struct searchc_env): Likewise.
	* loop-invariant.c (struct invariant): Likewise.
	* lra-remat.c (struct cand): Likewise.
	* recog.c (struct change_t): Likewise.
	* rtl.h (struct address_info): Likewise.
	* symbol-summary.h (function_summary): Likewise.
	* tree-loop-distribution.c (struct partition): Likewise.
	* tree-object-size.c (struct object_size_info): Likewise.
	* tree-ssa-loop-ivopts.c (struct cost_pair): Likewise.
	* tree-ssa-threadupdate.c (struct ssa_local_info_t): Likewise.
	* tree-vect-data-refs.c (struct _vect_peel_info): Likewise.
	* tree-vect-slp.c (struct _slp_oprnd_info): Likewise.
	* tree-vect-stmts.c (struct simd_call_arg_info): Likewise.
	* tree-vectorizer.h (struct _loop_vec_info): Likewise.
	(struct _stmt_vec_info): Likewise.

From-SVN: r246121
2017-03-14 12:47:42 +00:00
David Malcolm 51b861137e Introduce RTL function reader
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
2017-01-05 19:32:09 +00:00
Jeff Law d80c6d02fd re PR rtl-optimization/78812 (Wrong code generation due to hoisting memory load across function call)
PR tree-optimizatin/78812
	* rtl.h (contains_mem_rtx_p): Prototype.
	* ifcvt.c (containts_mem_rtx_p): Move from here to...
	* rtlanal.c (contains_mem_rtx_p): Here and remvoe static linkage.
	* gcse.c (prune_expressions): Use contains_mem_rtx_p to discover
	and prune MEMs that are not at the toplevel of a SET_SRC rtx.  Look
	through ZERO_EXTEND and SIGN_EXTEND when trying to avoid pruning
	MEMs.

	PR tree-optimization/78812
	* g++.dg/torture/pr78812.C: New test.

From-SVN: r244093
2017-01-05 00:38:48 -07:00
Jakub Jelinek cbe34bb5ed Update copyright years.
From-SVN: r243994
2017-01-01 13:07:43 +01:00
David Malcolm 6bd8a5c78f Prevent use of MEM_* attr accessor macros as lvalues
gcc/ChangeLog:
	* rtl.h (get_mem_attrs): Add "const" qualifier to returned
	pointer.

From-SVN: r243487
2016-12-09 14:34:48 +00:00
Dominik Vogt 8f61415f1f PR target/77822: Add helper macro EXTRACT_ARGS_IN_RANGE to system.h.
The macro can be used to validate the arguments of zero_extract and
sign_extract to fix this problem:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77822

gcc/ChangeLog:

2016-12-02  Dominik Vogt  <vogt@linux.vnet.ibm.com>

	PR target/77822
	* rtl.h (EXTRACT_ARGS_IN_RANGE): New.

From-SVN: r243159
2016-12-02 08:26:19 +00:00
Jakub Jelinek a5a4add7aa re PR middle-end/78540 (ICE: in df_refs_verify, at df-scan.c:4062 with -O -march=core2)
PR middle-end/78540
	* rtl.h (remove_reg_equal_equiv_notes): Return bool instead of void.
	* rtlanal.c (remove_reg_equal_equiv_notes): Return true if any
	note has been removed.
	* postreload.c (reload_combine_recognize_pattern): If
	remove_reg_equal_equiv_notes returns true, call df_notes_rescan.

	* gcc.dg/pr78540.c: New test.

From-SVN: r242937
2016-11-28 23:51:29 +01:00
Richard Sandiford 33951763a8 Add more subreg offset helpers
Provide versions of subreg_lowpart_offset and subreg_highpart_offset
that work on mode sizes rather than modes.  Also provide a routine
that converts an lsb position to a subreg offset.

The intent (in combination with later patches) is to move the
handling of the BYTES_BIG_ENDIAN != WORDS_BIG_ENDIAN case into
just two places, so that for other combinations we don't have
to split offsets into words and subwords.

gcc/
2016-11-15  Richard Sandiford  <richard.sandiford@arm.com>
	    Alan Hayward  <alan.hayward@arm.com>
	    David Sherwood  <david.sherwood@arm.com>

	* rtl.h (subreg_size_offset_from_lsb): Declare.
	(subreg_offset_from_lsb): New function.
	(subreg_size_lowpart_offset): Declare.
	(subreg_lowpart_offset): Turn into an inline function.
	(subreg_size_highpart_offset): Declare.
	(subreg_highpart_offset): Turn into an inline function.
	* emit-rtl.c (subreg_size_lowpart_offset): New function.
	(subreg_size_highpart_offset): Likewise
	* rtlanal.c (subreg_size_offset_from_lsb): Likewise.

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

From-SVN: r242755
2016-11-23 14:31:13 +00:00
Trevor Saunders bacca1274c make dead_or_set_{,regno_}p take rtx_insn *
gcc/ChangeLog:

2016-11-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* rtl.h: Adjust prototype.
	* rtlanal.c (dead_or_set_p): Change argument type to rtx_insn *.
	(dead_or_set_regno_p): Likewise.

From-SVN: r242657
2016-11-21 06:16:18 +00:00
Trevor Saunders 2059d0e97d make add_int_reg_note take rtx_insn *
gcc/ChangeLog:

2016-11-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* rtl.h: Adjust prototype.
	* rtlanal.c (add_int_reg_note): Change argument type to rtx_insn *.

From-SVN: r242656
2016-11-21 06:16:13 +00:00
Trevor Saunders 4bd09ee9d3 make replace_label_in_insn take labels as rtx_insn *
gcc/ChangeLog:

2016-11-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* rtl.h: Adjust prototype.
	* rtlanal.c (replace_label_in_insn): Change argument type to
	rtx_insn *.

From-SVN: r242652
2016-11-21 06:15:26 +00:00
Richard Sandiford 421619baa5 Make load_extend_op an inline function
gcc/
	* rtlanal.c (load_extend_op): Move to...
	* rtl.h: ...here and make inline.

From-SVN: r242601
2016-11-18 18:26:34 +00:00
Jason Merrill 2ec15cba58 * rtl.h: Declare gt_ggc_mx and gt_pch_nx.
From-SVN: r242522
2016-11-16 17:42:18 -05:00
Richard Sandiford 3712c7a301 Add a load_extend_op wrapper
LOAD_EXTEND_OP only applies to scalar integer modes that are narrower
than a word.  However, callers weren't consistent about which of these
checks they made beforehand, and also weren't consistent about whether
"smaller" was based on (bit)size or precision (IMO it's the latter).
This patch adds a wrapper to try to make the macro easier to use.

LOAD_EXTEND_OP is often used to disable transformations that aren't
beneficial when extends from memory are free, so being stricter about
the check accidentally exposed more optimisation opportunities.

"SUBREG_BYTE (...) == 0" and subreg_lowpart_p are implied by
paradoxical_subreg_p, so the patch also removes some redundant tests.

The patch doesn't change reload, since different checks could have
unforeseen consequences.

gcc/
2016-11-15  Richard Sandiford  <richard.sandiford@arm.com>
	    Alan Hayward  <alan.hayward@arm.com>
	    David Sherwood  <david.sherwood@arm.com>

	* rtl.h (load_extend_op): Declare.
	* rtlanal.c (load_extend_op): New function.
	(nonzero_bits1): Use it.
	(num_sign_bit_copies1): Likewise.
	* cse.c (cse_insn): Likewise.
	* fold-const.c (fold_single_bit_test): Likewise.
	(fold_unary_loc): Likewise.
	* fwprop.c (free_load_extend): Likewise.
	* postreload.c (reload_cse_simplify_set): Likewise.
	(reload_cse_simplify_operands): Likewise.
	* combine.c (try_combine): Likewise.
	(simplify_set): Likewise.  Remove redundant SUBREG_BYTE and
	subreg_lowpart_p checks.

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

From-SVN: r242444
2016-11-15 18:13:56 +00:00
Bernd Schmidt 1581a12c35 emit-rtl.c (emit_copy_of_insn_after): Duplicate notes in order.
* emit-rtl.c (emit_copy_of_insn_after): Duplicate notes in order.
	* sel-sched-ir.c (create_copy_of_insn_rtx): Likewise.
	* rtl.h (duplicate_reg_notes): Declare.
	* rtlanal.c (duplicate_reg_note): New function.

From-SVN: r241913
2016-11-07 17:03:55 +00:00
Trevor Saunders 9815687d8e remove cast from prev_nonnote_insn_bb
gcc/ChangeLog:

2016-11-01  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* emit-rtl.c (prev_nonnote_insn_bb): Change argument type to
	rtx_insn *.
	* rtl.h (prev_nonnote_insn_bb): Adjust prototype.

From-SVN: r241773
2016-11-02 03:46:17 +00:00
Trevor Saunders 466d19802a remove cast to rtx_insn * in remove_note
gcc/ChangeLog:

2016-11-01  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* config/rl78/rl78.c (gen-and_emit_move): Change argument type
	to rtx_insn *.
	(transcode_memory_rtx): Likewise.
	(move_to_acc): Likewise.
	(move_from_acc): Likewise.
	(move_acc_to_reg): Likewise.
	(move_to_x): Likewise.
	(move_to_hl): Likewise.
	(move_to_de): Likewise.
	* config/rs6000/rs6000.c (emit_frame_save): Likewise.
	(rs6000_emit_savres_rtx): Likewise.
	(rs6000_emit_prologue): Likewise.
	* reorg.c (update_reg_unused_notes): Likewise.
	* rtl.h (remove_note): Adjust prototype.
	* rtlanal.c (remove_note): Make argument type rtx_insn *.

From-SVN: r241771
2016-11-02 03:45:59 +00:00
Trevor Saunders dfe08bc4ef make tablejump_p return the label as a rtx_insn *
gcc/ChangeLog:

2016-10-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* cfgcleanup.c (merge_blocks_move_successor_nojumps): Adjust.
	(outgoing_edges_match): Likewise.
	(try_crossjump_to_edge): Likewise.
	* cfgrtl.c (try_redirect_by_replacing_jump): Likewise.
	(rtl_tidy_fallthru_edge): Likewise.
	* rtl.h (tablejump_p): Adjust prototype.
	* rtlanal.c (tablejump_p): Return the label as a rtx_insn *.

From-SVN: r241402
2016-10-21 12:33:01 +00:00
Trevor Saunders 04a121a757 make LABEL_REF_LABEL a rtx_insn *
While changing LABEL_REF_LABEL it might as well become an inline
function, so that its clearer what types are involved.  Unfortunately
because it is still possible to use XEXP and related macros on a
LABEL_REF rtx you can still set the field to be a non insn rtx.  The
other unfortunate thing is that the generators actually create LABEL_REF
rtx that refer to MATCH_x rtx, so there we actually need to use XEXP to
bypass the checking this patch adds.

gcc/ChangeLog:

2016-10-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* rtl.h (label_ref_label): New function.
	(set_label_ref_label): New function.
	(LABEL_REF_LABEL): Delete.
	* alias.c (rtx_equal_for_memref_p): Adjust.
	* cfgbuild.c (make_edges): Likewise.
	(purge_dead_tablejump_edges): Likewise.
	* cfgexpand.c (convert_debug_memory_address): Likewise.
	* cfgrtl.c (patch_jump_insn): Likewise.
	* combine.c (distribute_notes): Likewise.
	* cse.c (hash_rtx_cb): Likewise.
	(exp_equiv_p): Likewise.
	(fold_rtx): Likewise.
	(check_for_label_ref): Likewise.
	* cselib.c (rtx_equal_for_cselib_1): Likewise.
	(cselib_hash_rtx): Likewise.
	* emit-rtl.c (mark_label_nuses): Likewise.
	* explow.c (convert_memory_address_addr_space_1): Likewise.
	* final.c (output_asm_label): Likewise.
	(output_addr_const): Likewise.
	* gcse.c (add_label_notes): Likewise.
	* genconfig.c (walk_insn_part): Likewise.
	* genrecog.c (validate_pattern): Likewise.
	* ifcvt.c (cond_exec_get_condition): Likewise.
	(noce_emit_store_flag): Likewise.
	(noce_get_alt_condition): Likewise.
	(noce_get_condition): Likewise.
	* jump.c (maybe_propagate_label_ref): Likewise.
	(mark_jump_label_1): Likewise.
	(redirect_exp_1): Likewise.
	(rtx_renumbered_equal_p): Likewise.
	* lra-constraints.c (operands_match_p): Likewise.
	* print-rtl.c (print_value): Likewise.
	* reload.c (find_reloads): Likewise.
	* reload1.c (set_label_offsets): Likewise.
	* reorg.c (get_branch_condition): Likewise.
	* rtl-tests.c (test_uncond_jump): Likewise.
	* rtl.c (rtx_equal_p_cb): Likewise.
	(rtx_equal_p): Likewise.
	* rtlanal.c (reg_mentioned_p): Likewise.
	(rtx_referenced_p): Likewise.
	(get_condition): Likewise.
	* varasm.c (const_hash_1): Likewise.
	(compare_constant): Likewise.
	(const_rtx_hash_1): Likewise.
	(output_constant_pool_1): Likewise.

From-SVN: r241401
2016-10-21 12:32:56 +00:00
Eric Botcazou 4c640e2606 re PR ada/37139 (DEP prevents using Ada tasking)
PR ada/37139
	PR ada/67205
	* common.opt (-ftrampolines): New option.
	* doc/invoke.texi (Code Gen Options): Document it.
	* doc/tm.texi.in (Trampolines): Add TARGET_CUSTOM_FUNCTION_DESCRIPTORS.
	* doc/tm.texi: Regenerate.
	* builtins.def: Add init_descriptor and adjust_descriptor.
	* builtins.c (expand_builtin_init_trampoline): Do not issue a warning
	on platforms with descriptors.
	(expand_builtin_init_descriptor): New function.
	(expand_builtin_adjust_descriptor): Likewise.
	(expand_builtin) <BUILT_IN_INIT_DESCRIPTOR>: New case.
	<BUILT_IN_ADJUST_DESCRIPTOR>: Likewise.
	* calls.c (prepare_call_address): Remove SIBCALLP parameter and add
	FLAGS parameter.  Deal with indirect calls by descriptor and adjust.
	Set STATIC_CHAIN_REG_P on the static chain register, if any.
	(call_expr_flags): Set ECF_BY_DESCRIPTOR for calls by descriptor.
	(expand_call): Likewise.  Move around call to prepare_call_address
	and pass all flags to it.
	* cfgexpand.c (expand_call_stmt): Reinstate CALL_EXPR_BY_DESCRIPTOR.
	* gimple.h (enum gf_mask): New GF_CALL_BY_DESCRIPTOR value.
	(gimple_call_set_by_descriptor): New setter.
	(gimple_call_by_descriptor_p): New getter.
	* gimple.c (gimple_build_call_from_tree): SetCALL_EXPR_BY_DESCRIPTOR.
	(gimple_call_flags): Deal with GF_CALL_BY_DESCRIPTOR.
	* langhooks.h (struct lang_hooks): Add custom_function_descriptors.
	* langhooks-def.h (LANG_HOOKS_CUSTOM_FUNCTION_DESCRIPTORS): Define.
	(LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_CUSTOM_FUNCTION_DESCRIPTORS.
	* rtl.h (STATIC_CHAIN_REG_P): New macro.
	* rtlanal.c (find_first_parameter_load): Skip static chain registers.
	* target.def (custom_function_descriptors): New POD hook.
	* tree.h (FUNC_ADDR_BY_DESCRIPTOR): New flag on ADDR_EXPR.
	(CALL_EXPR_BY_DESCRIPTOR): New flag on CALL_EXPR.
	* tree-core.h (ECF_BY_DESCRIPTOR): New mask.
	Document FUNC_ADDR_BY_DESCRIPTOR and CALL_EXPR_BY_DESCRIPTOR.
	* tree.c (make_node_stat) <tcc_declaration>: Use FUNCTION_ALIGNMENT.
	(build_common_builtin_nodes): Initialize init_descriptor and
	adjust_descriptor.
	* tree-nested.c: Include target.h.
	(struct nesting_info): Add 'any_descr_created' field.
	(get_descriptor_type): New function.
	(lookup_element_for_decl): New function extracted from...
	(create_field_for_decl): Likewise.
	(lookup_tramp_for_decl): ...here.  Adjust.
	(lookup_descr_for_decl): New function.
	(convert_tramp_reference_op): Deal with descriptors.
	(build_init_call_stmt): New function extracted from...
	(finalize_nesting_tree_1): ...here.  Adjust and deal withdescriptors.
	* defaults.h (FUNCTION_ALIGNMENT): Define.
	(TRAMPOLINE_ALIGNMENT): Set to above instead of FUNCTION_BOUNDARY.
	* config/i386/i386.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Define.
	* config/ia64/ia64.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Likewise.
	* config/rs6000/rs6000.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS):Likewise.
	* config/sparc/sparc.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Likewise.
ada/
	* gcc-interface/misc.c (LANG_HOOKS_CUSTOM_FUNCTION_DESCRIPTORS):Define.
	* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Access>: Deal with
	a zero TARGET_CUSTOM_FUNCTION_DESCRIPTORS specially for Code_Address.
	Otherwise, if TARGET_CUSTOM_FUNCTION_DESCRIPTORS is positive, set
	FUNC_ADDR_BY_DESCRIPTOR for 'Access/'Unrestricted_Access of nested
	subprograms if the type can use an internal representation.
	(call_to_gnu): Likewise, but set CALL_EXPR_BY_DESCRIPTOR on indirect
	calls if the type can use an internal representation.

From-SVN: r241222
2016-10-16 20:13:32 +00:00
Georg-Johann Lay 6e8323274a rtl.h (struct rtx_def): Comment how RTX_FLAGS will be dumped in RTL dumps.
* rtl.h (struct rtx_def): Comment how RTX_FLAGS will be
	dumped in RTL dumps.

From-SVN: r241037
2016-10-12 12:35:00 +00:00
Trevor Saunders 475edec070 make next_cc0_user take rtx_insn *
gcc/ChangeLog:

2016-09-22  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* emit-rtl.c (next_cc0_user): Make argument type rtx_insn *.
	* rtl.h: Adjust prototype.

From-SVN: r240362
2016-09-22 13:17:34 +00:00
Trevor Saunders 7c9796eddb make next/prev active_insn and active_insn_p take rtx_insn *
gcc/ChangeLog:

2016-09-22  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* emit-rtl.c (next_active_insn): Change argument type to
	rtx_insn *.
	(prev_active_insn): Likewise.
	(active_insn_p): Likewise.
	* rtl.h: Adjust prototypes.
	* cfgcleanup.c (merge_blocks_move_successor_nojumps): Adjust.
	* config/arc/arc.md: Likewise.
	* config/pa/pa.c (branch_to_delay_slot_p): Likewise.
	(branch_needs_nop_p): Likewise.
	(use_skip_p): Likewise.
	* config/sh/sh.c (gen_block_redirect): Likewise.
	(split_branches): Likewise.
	* reorg.c (optimize_skip): Likewise.
	(fill_simple_delay_slots): Likewise.
	(fill_slots_from_thread): Likewise.
	(relax_delay_slots): Likewise.
	* resource.c (mark_target_live_regs): Likewise.

From-SVN: r240361
2016-09-22 13:16:41 +00:00
Trevor Saunders 1f00691e9b make next/prev nonnote_nondebug_insn take rtx_insn *
gcc/ChangeLog:

2016-09-22  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* config/cris/cris.c (cris_asm_output_case_end): Change argument
	type to rtx_insn *.
	* emit-rtl.c (next_nonnote_nondebug_insn): Likewise.
	(prev_nonnote_nondebug_insn): Likewise.
	* config/cris/cris-protos.h: Adjust prototype.
	* rtl.h: Likewise.
	* jump.c (rtx_renumbered_equal_p): Adjust.

From-SVN: r240360
2016-09-22 13:16:35 +00:00
Trevor Saunders d8fd56b226 make prev_real_insn take rtx_insn *
gcc/ChangeLog:

2016-09-22  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* emit-rtl.c (prev_real_insn): Change argument type to rtx_insn *.
	* rtl.h: Adjust prototype.
	* config/sh/sh.md: Adjust.
	* dwarf2out.c (add_var_loc_to_decl): Likewise.

From-SVN: r240359
2016-09-22 13:16:30 +00:00
Trevor Saunders 30d2ef86a9 make next/prev nondebug_insn take rtx_insn *
gcc/ChangeLog:

2016-09-22  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* emit-rtl.c (next_nondebug_insn): Change argument type to
	rtx_insn *.
	(prev_nondebug_insn): Likewise.
	* loop-doloop.c (doloop_condition_get): Likewise.
	* rtl.h: Adjust prototype.
	* cfgloop.h: Likewise.

From-SVN: r240358
2016-09-22 13:16:23 +00:00
Trevor Saunders c9b0a22777 make next/prev _nonnote_insn take rtx_insn *
gcc/ChangeLog:

2016-09-22  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* emit-rtl.c (next_nonnote_insn): Change argument type to
	rtx_insn *.
	(prev_nonnote_insn): Likewise.
	* jump.c (reversed_comparison_code_parts): Likewise.
	(reversed_comparison): Likewise.
	* rtl.h: Adjust prototypes.
	* config/arc/arc.md: Adjust.
	* cse.c (find_comparison_args): Likewise.
	* reorg.c (redundant_insn): Change return type to rtx_insn *.
	(fix_reg_dead_note): Change argument type to rtx_insn *.
	(delete_prior_computation): Likewise.
	(delete_computation): Likewise.
	(fill_slots_from_thread): Adjust.
	(relax_delay_slots): Likewise.
	* simplify-rtx.c (simplify_unary_operation_1): Likewise.
	(simplify_relational_operation_1): Likewise.
	(simplify_ternary_operation): Likewise.

From-SVN: r240357
2016-09-22 13:16:17 +00:00
David Malcolm 9aa50db7bf maybe_set_first_label_num can take an rtx_code_label *
The function maybe_set_first_label_num acts on a CODE_LABEL; we can
capture that in the type system.

gcc/ChangeLog:
	* emit-rtl.c (maybe_set_first_label_num): Strengthen param from
	rtx to rtx_code_label *.
	* rtl.h (maybe_set_first_label_num): Likewise.

From-SVN: r235525
2016-04-27 18:22:12 +00:00
Jakub Jelinek 3d3f9e7e69 re PR debug/70628 (ICE in get_reg_rtx, at emit-rtl.c:1025)
PR debug/70628
	* rtl.h (convert_memory_address_addr_space_1): New prototype.
	* explow.c (convert_memory_address_addr_space_1): No longer static,
	add NO_EMIT argument and don't call convert_modes if true, pass
	it down recursively, remove break after return.
	(convert_memory_address_addr_space): Adjust caller.
	* simplify-rtx.c (simplify_unary_operation_1): Call
	convert_memory_address_addr_space_1 instead of convert_memory_address,
	if it returns NULL, don't simplify.

	* gcc.dg/torture/pr70628.c: New test.

From-SVN: r234933
2016-04-13 14:26:26 +02:00
Richard Biener 43b9f49910 re PR rtl-optimization/70484 (Wrong optimization with aliasing and access via char)
2016-04-04  Richard Biener  <rguenther@suse.de>

	PR rtl-optimization/70484
	* rtl.h (canon_output_dependence): Declare.
	* alias.c (canon_output_dependence): New function.
	* dse.c (record_store): Use canon_output_dependence rather
	than canon_true_dependence.

	* gcc.dg/torture/pr70484.c: New testcase.

From-SVN: r234709
2016-04-04 09:30:16 +00:00
Jakub Jelinek 9bc057c8da re PR middle-end/70245 (Miscompilation of ICU on i386 with atom tuning starting with r227382)
PR target/70245
	* rtl.h (replace_rtx): Add ALL_REGS argument.
	* rtlanal.c (replace_rtx): Likewise.  If true, use REGNO
	equality and assert mode is the same, instead of just rtx pointer
	equality.
	* config/i386/i386.md (mov + arithmetics with load peephole): Pass
	true as ALL_REGS argument to replace_rtx.

From-SVN: r234285
2016-03-17 12:53:53 +01:00
Kyrylo Tkachov 0683fd27de [gcse] PR rtl-optimization/69886: Check target mode in can_assign_to_reg_without_clobbers_p
PR rtl-optimization/69886
	* gcse.c (can_assign_to_reg_without_clobbers_p): Accept mode
	argument.  Use it when checking validity of set instructions.
	(want_to_gcse_p): Pass mode to can_assign_to_reg_without_clobbers_p.
	(compute_ld_motion_mems): Update can_assign_to_reg_without_clobbers_p
	callsite.
	* rtl.h (can_assign_to_reg_without_clobbers_p): Update prototype.
	* store-motion.c (find_moveable_store): Update
	can_assign_to_reg_without_clobbers_p callsite.

	* gcc.dg/torture/pr69886.c: New test.

From-SVN: r233662
2016-02-24 13:00:10 +00:00
Bernd Schmidt 9776e6920d Fix PR66178, ICE due to misexpansion of constant expressions involving labels.
PR middle-end/66178
	* expr.c (expand_expr_real_2) [PLUS_EXPR, MINUS_EXPR]: Don't
	drop EXPAND_INITIALIZER.
	* rtl.h (contains_symbolic_reference_p): Declare.
	* rtlanal.c (contains_symbolic_reference_p): New function.
	* simplify-rtx.c (simplify_binary_operation_1): Don't turn
	a subtraction into a NOT if symbolic constants are involved.

testsuite/
	PR middle-end/66178
	gcc.dg/torture/pr66178.c: New test.

From-SVN: r232689
2016-01-21 18:10:03 +00:00
Jakub Jelinek 818ab71a41 Update copyright years.
From-SVN: r232055
2016-01-04 15:30:50 +01:00
Bernd Schmidt 70927cae31 Remove broken ifcvt code for speculating memory writes
* ifcvt.c (noce_mem_write_may_trap_or_fault_p,
	noce_can_store_speculate): Delete.
	(noce_process_if_block): Don't try to handle single MEM stores.
	* rtl.h (memory_must_be_modified_in_insn_p): Don't declare.
	* alias.c (memory_must_be_modified_in_insn_p): Delete.

From-SVN: r230864
2015-11-25 10:23:28 +00:00
Mike Stump a881fb0c2c re PR debug/66728 (CONST_WIDE_INT causes corrupted DWARF debug info)
PR debug/66728
	* dwarf2out.c (get_full_len): Return a value based upon the actual
	precision needed for the value.
	(add_const_value_attribute): Use a maximal wide-int for
	CONST_WIDE_INTs, not VOIDmode.
	(output_die): Don't ever output NULL with printf.

	* rtl.h (get_precision of rtx_mode_t): Ensure we never process
	BLKmode nor VOIDmode values.

From-SVN: r229885
2015-11-06 20:16:06 +00:00
Anatoly Sokolov d614335f77 Add contains_symbol_ref_p
From-SVN: r229607
2015-10-30 23:56:32 +03:00
Jeff Law 013a8899f5 [PATCH] Move RTL printing code from sched-vis.c into print-rtl.c
* Makefile.in (OBJS): Remove sched-vis.c
	* sched-vis.c: Removed.  Code moved into...
	* print-rtl.c: Here.  Include cfg.h, pretty-print.h and print-rtl.h.
	* rtl.h: Remove prototypes for functions now living in print-rtl.c
	* print-rtl.h Add prototypes for new functions in print-rtl.c.
	* auto-inc-dec.c: Include print-rtl.h
	* cfgrtl.c, combine.c, final.c haifa-sched.c: Likewise.
	* ira.c, lra-constraints.c, lra.c, sel-sched-dump.c: Likewise.

From-SVN: r229110
2015-10-20 23:56:37 -06:00
Nikolai Bozhenov 7802cb1eef Fix prototype for print_insn in rtl.h
* gcc/rtl.h (print_insn): Fix prototype.

From-SVN: r228770
2015-10-13 09:32:32 -06:00
Richard Sandiford 5c88ea9456 Remove remaining uses of REAL_ARITHMETIC
This patch replaces all remaining uses of the old target macro
REAL_ARITHMETIC with calls to the (now generic) real_arithmetic
function.

Bootstrapped & regression-tested on x86_64-linux-gnu.  Also tested by
building one target per CPU directory and checking that there were
no new warnings and no changes in testsuite output at -O2.

gcc/ada/
	* gcc-interface/trans.c (convert_with_check): Use real_arithmetic
	instead of REAL_ARITHMETIC.

gcc/
	* doc/tm.texi.in (REAL_ARITHMETIC): Delete.
	* doc/tm.texi: Regenerate.
	* real.h (REAL_ARITHMETIC): Delete.
	* config/i386/i386.c (ix86_expand_lround, ix86_expand_round)
	(ix86_expand_round_sse4): Use real_arithmetic instead of
	REAL_ARITHMETIC.
	* config/i386/sse.md (round<mode>2): Likewise.
	* rtl.h (rtx_to_tree_code): Likewise (in comment).
	* explow.c (rtx_to_tree_code): Likewise (in comment).
	* match.pd: Likewise.
	* simplify-rtx.c (simplify_binary_operation_1): Likewise.
	* tree-ssa-math-opts.c (representable_as_half_series_p): Likewise.
	(expand_pow_as_sqrts): Likewise.
	* tree-pretty-print.c (dump_generic_node): Remove code that
	was conditional on REAL_ARITHMETIC being undefined.

From-SVN: r228476
2015-10-05 11:35:07 +00:00
Richard Sandiford 92695fbb29 rtl.h (rtvec_all_equal_p): Declare.
gcc/
	* rtl.h (rtvec_all_equal_p): Declare.
	(const_vec_duplicate_p, unwrap_const_vec_duplicate): New functions.
	* rtl.c (rtvec_all_equal_p): New function.
	* expmed.c (expand_mult): Use unwrap_const_vec_duplicate.
	* config/aarch64/aarch64.c (aarch64_vect_float_const_representable_p)
	(aarch64_simd_dup_constant): Use const_vec_duplicate_p.
	* config/arm/arm.c (neon_vdup_constant): Likewise.
	* config/s390/s390.c (s390_contiguous_bitmask_vector_p): Likewise.
	* config/tilegx/constraints.md (W, Y): Likewise.
	* config/tilepro/constraints.md (W, Y): Likewise.
	* config/spu/spu.c (spu_legitimate_constant_p): Likewise.
	(classify_immediate): Use unwrap_const_vec_duplicate.
	* config/tilepro/predicates.md (reg_or_v4s8bit_operand): Likewise.
	(reg_or_v2s8bit_operand): Likewise.
	* config/tilegx/predicates.md (reg_or_v8s8bit_operand): Likewise.
	(reg_or_v4s8bit_operand): Likewise.

From-SVN: r227041
2015-08-20 19:04:34 +00:00
Anatoly Sokolov 3403a1a959 Use lowpart_subreg instead of simplify_gen_subreg
From-SVN: r226417
2015-07-31 00:25:29 +03:00
Trevor Saunders 6b8068d653 remove some usage of expr_list from read_rtx
gcc/ChangeLog:

2015-07-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* gensupport.c (rtx_handle_directive): Adjust.
	* read-rtl.c (apply_iterators): Take vector to add rtxs to
	instead of expr list rtx.
	(add_define_attr_for_define_subst): Likewise.
	(add_define_subst_attr): Likewise.
	(read_subst_mapping): Likewise.
	(read_rtx): Likewise.
	* rtl.h (read_rtx): Adjust.

From-SVN: r225833
2015-07-15 14:38:13 +00:00
Aldy Hernandez 026c3cfd5e Fix double word typos.
From-SVN: r225726
2015-07-13 04:46:34 +00:00
Trevor Saunders 16cb56686d always define AUTO_INC_DEC
gcc/ChangeLog:

2015-07-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* rtl.h: Always define AUTO_INC_DEC.
	* auto-inc-dec.c (pass_inc_dec::execute): Adjust.
	* combine.c (combine_instructions): Likewise.
	(can_combine_p): Likewise.
	(try_combine): Likewise.
	* emit-rtl.c (try_split): Likewise.
	* loop-invariant.c (calculate_loop_reg_pressure): Likewise.
	* lower-subreg.c (resolve_simple_move): Likewise.
	* lra.c (update_inc_notes): Likewise.
	* recog.c (asm_operand_ok): Likewise.
	(constrain_operands): Likewise.
	* regrename.c (scan_rtx_address): Likewise.
	* reload.c (update_auto_inc_notes): Likewise.
	(find_equiv_reg): Likewise.
	* reload1.c (reload): Likewise.
	(reload_as_needed): Likewise.
	(choose_reload_regs): Likewise.
	(emit_input_reload_insns): Likewise.
	(delete_output_reload): Likewise.
	* sched-deps.c (init_insn_reg_pressure_info): Likewise.
	* valtrack.c (cleanup_auto_inc_dec): Likewise.

From-SVN: r225595
2015-07-09 02:50:21 +00:00
Alan Modra e548c9df07 target.def (rtx_costs): Remove "code" param, add "mode".
* target.def (rtx_costs): Remove "code" param, add "mode".
	* rtl.h (rtx_cost, get_full_rtx_cost): Update prototype.
	(set_src_cost, get_full_set_src_cost): Likewise.  Move later in file.
	(set_rtx_cost, get_full_set_rtx_cost): Move later in file.
	* rtlanal.c (rtx_cost): Add "mode" parameter.  Update targetm.rtx_costs
	call.  Track mode when given in rtx.
	(get_full_rtx_cost): Add "mode" parameter.  Update rtx_cost calls.
	(default_address_cost): Pass Pmode to rtx_cost.
	(insn_rtx_cost): Pass dest mode of set to set_src_cost.
	* cprop.c (try_replace_reg): Ensure set_rtx_cost is not called
	with NULL set.
	* cse.c (COST, COST_IN): Add MODE param.  Update all uses.
	(notreg_cost): Add mode param.  Use it.
	* gcse.c (want_to_gcse_p): Delete forward declaration.  Add
	mode param and pass to set_src_cost.  Update all calls.
	(hash_scan_set): Formatting.
	* hooks.c (hook_bool_rtx_int_int_int_intp_bool_false): Delete.
	(hook_bool_rtx_mode_int_int_intp_bool_false): New function.
	* hooks.h: Ditto.
	* expmed.c (init_expmed_one_conv, init_expmed_one_mode,
	init_expmed, expand_mult, mult_by_coeff_cost, expand_smod_pow2,
	emit_store_flag): Update set_src_cost and rtx_cost calls.
	* auto-inc-dec.c (attempt_change): Likewise.
	* calls.c (precompute_register_parameters): Likewise.
	* combine.c (expand_compound_operation, make_extraction,
	force_to_mode, distribute_and_simplify_rtx): Likewise.
	* dojump.c (prefer_and_bit_test): Likewise.
	* dse.c (find_shift_sequence): Likewise.
	* expr.c (compress_float_constant): Likewise.
	* fwprop.c (should_replace_address, try_fwprop_subst): Likewise.
	* ifcvt.c (noce_try_sign_mask): Likewise.
	* loop-doloop.c (doloop_optimize): Likewise.
	* loop-invariant.c (create_new_invariant): Likewise.
	* lower-subreg.c (shift_cost, compute_costs): Likewise.
	* optabs.c (avoid_expensive_constant, prepare_cmp_insn,
	lshift_cheap_p): Likewise.
	* postreload.c (reload_cse_simplify_set, reload_cse_simplify_operands,
	try_replace_in_use, reload_cse_move2add): Likewise.
	* reload1.c (calculate_elim_costs_all_insns, note_reg_elim_costly):
	Likewise.
	* simplify-rtx.c (simplify_binary_operation_1): Likewise.
	* tree-ssa-loop-ivopts.c (computation_cost): Likewise.
	* tree-ssa-reassoc.c (optimize_range_tests_to_bit_test): Likewise.
	* tree-switch-conversion.c (emit_case_bit_tests): Likewise.
	* config/aarch64/aarch64.c (aarch64_rtx_costs): Delete "code" param,
	add "mode" param.  Use "mode: in place of GET_MODE (x).  Pass mode
	to rtx_cost calls.
	* config/alpha/alpha.c (alpha_rtx_costs): Likewise.
	* config/arc/arc.c (arc_rtx_costs): Likewise.
	* config/arm/arm.c (arm_rtx_costs): Likewise.
	* config/avr/avr.c (avr_rtx_costs, avr_rtx_costs_1): Likewise.
	* config/bfin/bfin.c (bfin_rtx_costs): Likewise.
	* config/c6x/c6x.c (c6x_rtx_costs): Likewise.
	* config/cris/cris.c (cris_rtx_costs): Likewise.
	* config/epiphany/epiphany.c (epiphany_rtx_costs): Likewise.
	* config/frv/frv.c (frv_rtx_costs): Likewise.
	* config/h8300/h8300.c (h8300_rtx_costs): Likewise.
	* config/i386/i386.c (ix86_rtx_costs): Likewise.
	* config/ia64/ia64.c (ia64_rtx_costs): Likewise.
	* config/iq2000/iq2000.c (iq2000_rtx_costs): Likewise.
	* config/lm32/lm32.c (lm32_rtx_costs): Likewise.
	* config/m32c/m32c.c (m32c_rtx_costs): Likewise.
	* config/m32r/m32r.c (m32r_rtx_costs): Likewise.
	* config/m68k/m68k.c (m68k_rtx_costs): Likewise.
	* config/mcore/mcore.c (mcore_rtx_costs): Likewise.
	* config/mep/mep.c (mep_rtx_cost): Likewise.
	* config/microblaze/microblaze.c (microblaze_rtx_costs): Likewise.
	* config/mips/mips.c (mips_rtx_costs): Likewise.
	* config/mmix/mmix.c (mmix_rtx_costs): Likewise.
	* config/mn10300/mn10300.c (mn10300_rtx_costs): Likewise.
	* config/msp430/msp430.c (msp430_rtx_costs): Likewise.
	* config/nds32/nds32-cost.c (nds32_rtx_costs_impl): Likewise.
	* config/nds32/nds32-protos.h (nds32_rtx_costs_impl): Likewise.
	* config/nds32/nds32.c (nds32_rtx_costs): Likewise.
	* config/nios2/nios2.c (nios2_rtx_costs): Likewise.
	* config/pa/pa.c (hppa_rtx_costs): Likewise.
	* config/pdp11/pdp11.c (pdp11_rtx_costs): Likewise.
	* config/rl78/rl78.c (rl78_rtx_costs): Likewise.
	* config/rs6000/rs6000.c (rs6000_rtx_costs): Likewise.
	* config/s390/s390.c (s390_rtx_costs): Likewise.
	* config/sh/sh.c (sh_rtx_costs): Likewise.
	* config/sparc/sparc.c (sparc_rtx_costs): Likewise.
	* config/spu/spu.c (spu_rtx_costs): Likewise.
	* config/stormy16/stormy16.c (xstormy16_rtx_costs): Likewise.
	* config/tilegx/tilegx.c (tilegx_rtx_costs): Likewise.
	* config/tilepro/tilepro.c (tilepro_rtx_costs): Likewise.
	* config/v850/v850.c (v850_rtx_costs): Likewise.
	* config/vax/vax.c (vax_rtx_costs): Likewise.
	* config/visium/visium.c (visium_rtx_costs): Likewise.
	* config/xtensa/xtensa.c (xtensa_rtx_costs): Likewise.
	* config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Change type of
	"code" param, and pass as outer_code to first rtx_cost call.  Pass
	mode to rtx_cost calls.
	(aarch64_address_cost, aarch64_if_then_else_costs): Update rtx_cost
	calls.
	(aarch64_rtx_costs_wrapper): Update.
	* config/arm/arm.c (arm_rtx_costs_1, arm_size_rtx_costs,
	arm_unspec_cost, arm_new_rtx_costs, arm_slowmul_rtx_costs): Update
	rtx_cost calls.
	* config/avr/avr.c (avr_final_prescan_insn): Update set_src_cost
	and rtx_cost calls.
	(avr_operand_rtx_cost): Similarly.
	(avr_rtx_costs_1): Correct mode passed to avr_operand_rtx_cost
	for subexpressions of ZERO_EXTEND, SIGN_EXTEND and COMPARE.
	* config/mips/mips.c (mips_stack_address_p): Comment typo.
	(mips_binary_cost): Update rtx_cost and set_src_cost calls.
	(mips_rtx_costs): Use GET_MODE (x) to detect const_int.
	* config/mn10300/mn10300.c (mn10300_address_cost): Pass Pmode to
	rtx_cost.
	(mn10300_rtx_costs): Correct mode passed to mn10300_address_cost.
	* config/rs6000/rs6000.c (rs6000_debug_rtx_costs): Update.
	* config/sh/sh.c (and_xor_ior_costs): Update rtx_cost call.
	* doc/tm.texi: Regenerate.

From-SVN: r225532
2015-07-08 12:32:27 +09:30
Andrew MacLeod c7131fb2b5 tree-core.h: Include symtab.h.
2015-07-07  Andrew MacLeod  <amacleod@redhat.com>

	* tree-core.h: Include symtab.h.
	* rtl.h: Include hard-reg-set.h but not flags.h.
	(HARD_CONST): Remove condition compilation involving HARD_CONST since 
	hard-reg-set.h is always included.
	* regs.h: Don't include hard-reg-set.h or rtl.h.
	* cfg.h: Include dominance.h.
	* gimple.h: Include tree-ssa-alias.h and gimple-expr.h.
	* backend.h: New.  Aggregate commonly used backend header files.
	* gimple-ssa.h: Don't include tree-hasher.h.
	* ssa.h: New.  Aggregate commonly used SSA header files.
	* regset.h: Remove bitmap.h and hard-reg-set.h #includes.
	* sel-sched-ir.h: Flatten includes.
	* lra-int.h: Flatten completely.
	* sel-sched-dump.h: Flatten includes.
	* ira-int.h: Flatten includes.
	* gimple-streamer.h: Remove all includes.
	* cfgloop.h: Remove all #includes except cfgloopmanip.h.
	* resource.h: Flatten hard-reg-set.h and df.h.
	* sched-int.h: Flatten insn-arrt.h and df.h.
	* valtrack.h: flatten bitmap.h, df.h, and rtl.h
	* df.h: Flatten includes, leaving regset.h, alloc-pool.h and timevar.h.
	* genattrtab.c (write_header): Adjust generated includes.
	* genautomata.c (main): Likewise.
	* genconditions.c (write-header): Likewise.
	* genemit.c (main): Likewise.
	* gengtype.c (open_base_files): Likewise.
	* genopinit.c (main): Likewise.
	* genoutput.c (output_prologue): Likewise.
	* genpeep.c (main): Likewise.
	* genpreds.c (write_insn_preds_c): Likewise.
	* genrecog.c (write_header): Likewise.
	* alias.c: Adjust includes.
	* asan.c: Likewise.
	* attribs.c: Likewise.
	* auto-inc-dec.c: Likewise.
	* auto-profile.c: Likewise.
	* bb-reorder.c: 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.
	* 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.
	* 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.
	* dbxout.c: Likewise.
	* dce.c: Likewise.
	* ddg.c: Likewise.
	* debug.c: Likewise.
	* df-core.c: Likewise.
	* df-problems.c: Likewise.
	* df-scan.c: 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.
	* 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.
	* gcse-common.c: Likewise.
	* gcse.c: Likewise.
	* generic-match-head.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-streamer-in.c: Likewise.
	* gimple-streamer-out.c: Likewise.
	* gimple-walk.c: Likewise.
	* gimple.c: Likewise.
	* gimplify-me.c: Likewise.
	* gimplify.c: Likewise.
	* godump.c: Likewise.
	* graph.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.
	* hw-doloop.c: Likewise.
	* ifcvt.c: Likewise.
	* init-regs.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.
	* 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.
	* 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.
	* 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.
	* 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.
	* rtlanal.c: 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.c: Likewise.
	* sese.c: Likewise.
	* shrink-wrap.c: Likewise.
	* simplify-rtx.c: Likewise.
	* stack-ptr-mod.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.
	* toplev.c: Likewise.
	* tracer.c: Likewise.
	* trans-mem.c: Likewise.
	* tree-affine.c: 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-emutls.c: Likewise.
	* tree-if-conv.c: Likewise.
	* tree-inline.c: 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-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-vrp.c: Likewise.
	* tree.c: Likewise.
	* tsan.c: Likewise.
	* ubsan.c: Likewise.
	* valtrack.c: Likewise.
	* value-prof.c: Likewise.
	* var-tracking.c: Likewise.
	* varasm.c: Likewise.
	* varpool.c: Likewise.
	* vmsdbgout.c: Likewise.
	* vtable-verify.c: 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/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/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/xtensa/xtensa.c: Likewise.

ada
2015-07-07  Andrew MacLeod  <amacleod@redhat.com>

	* gcc-interface/cuintp.c: Adjust includes.
	* 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-07-07  Andrew MacLeod  <amacleod@redhat.com>

	* c-array-notation.c: Adjust includes.
	* c-aux-info.c: Likewise.
	* c-convert.c: Likewise.
	* c-decl.c: Likewise.
	* c-errors.c: Likewise.
	* c-lang.c: Likewise.
	* c-objc-common.c: Likewise.
	* c-parser.c: Likewise.
	* c-typeck.c: Likewise.

c-family
2015-07-07  Andrew MacLeod  <amacleod@redhat.com>

	* array-notation-common.c: Adjust includes.
	* c-ada-spec.c: Likewise.
	* c-cilkplus.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-07-07  Andrew MacLeod  <amacleod@redhat.com>

	* call.c: Adjust includes.
	* class.c: Likewise.
	* constexpr.c: Likewise.
	* cp-array-notation.c: Likewise.
	* cp-gimplify.c: Likewise.
	* cp-lang.c: Likewise.
	* cp-objcp-common.c: 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.

fortran
2015-07-07  Andrew MacLeod  <amacleod@redhat.com>

	* convert.c: Adjust includes.
	* cpp.c: Likewise.
	* decl.c: Likewise.
	* f95-lang.c: Likewise.
	* iresolve.c: Likewise.
	* match.c: Likewise.
	* module.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-07-07  Andrew MacLeod  <amacleod@redhat.com>

	* go-backend.c: Adjust includes.
	* go-gcc.cc: Likewise.
	* go-lang.c: Likewise.

java
2015-07-07  Andrew MacLeod  <amacleod@redhat.com>

	* boehm.c: Adjust includes.
	* builtins.c: Likewise.
	* class.c: Likewise.
	* constants.c: Likewise.
	* decl.c: Likewise.
	* except.c: Likewise.
	* expr.c: Likewise.
	* java-gimplify.c: Likewise.
	* jcf-dump.c: Likewise.
	* jcf-io.c: Likewise.
	* jcf-parse.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.

jit
2015-07-07  Andrew MacLeod  <amacleod@redhat.com>

	* dummy-frontend.c: Adjust includes.
	* jit-common.h: Likewise.
	* jit-playback.c: Likewise.

lto
2015-07-07  Andrew MacLeod  <amacleod@redhat.com>

	* lto-lang.c: Adjust includes.
	* lto-object.c: Likewise.
	* lto-partition.c: Likewise.
	* lto-symtab.c: Likewise.
	* lto.c: Likewise.

objc
2015-07-07  Andrew MacLeod  <amacleod@redhat.com>

	* objc-act.c: Adjust includes.
	* 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-07-07  Andrew MacLeod  <amacleod@redhat.com>

	* objcp-decl.c: Adjust includes.
	* objcp-lang.c: Likewise.

From-SVN: r225531
2015-07-08 00:53:03 +00:00
Richard Sandiford 9d8895c934 rtl.h (emit): Add an optional boolean parameter to control whether barriers are emitted.
gcc/
	* rtl.h (emit): Add an optional boolean parameter to control
	whether barriers are emitted.
	* emit-rtl.c (emit): Likewise.
	* gensupport.c (get_emit_function): Return null rather than "emit".
	* genemit.c (gen_emit_seq): Handle the null return value.
	Don't emit barriers after the final instruction in the sequence.
	* gentarget-def.c (main): Don't emit barriers after the instruction.

From-SVN: r225000
2015-06-26 10:06:56 +00:00
Andrew MacLeod eee335102e alias.h (alias_set_type): Move typedef.
2015-06-25  Andrew Macleod  <amacleod@redhat.com>

	* alias.h (alias_set_type): Move typedef.
	* coretypes.h (alias_set_type): Relocate typedef here.
	* rtl.h: Don't include alias.h.
	* jit/jit-common.h: Likewise

From-SVN: r224948
2015-06-25 16:27:12 +00:00
Andrew MacLeod 88f554b4b9 cgraph.h (cgraph_rtl_info): Move to rtl.h
2015-06-25  Andrew MacLeod  <amacleod@redhat.com>

	* cgraph.h (cgraph_rtl_info): Move to rtl.h
	(cgraph_node): Maintain pointer to struct cgraph_rtl_info instead of
	and instance.
	* rtl.h (struct cgraph_rtl_info): Define when HARD_REG_SET available.
	* cgraph.c (cgraph_node::rtl_info): Allocate cgraph_rtl_info if one
	doesn't exist.
	* calls.c: Include hard-reg-set.h before rtl.h.
	* ira.c: Likewise.

From-SVN: r224946
2015-06-25 16:23:52 +00:00