1. 28 Aug, 2014 40 commits
    • Use rtx subclasses in more places in reorg.c · f8f0516e
      gcc/
      2014-08-28  David Malcolm  <dmalcolm@redhat.com>
      
      	* emit-rtl.h (copy_delay_slot_insn): Strengthen return type and
      	param from rtx to rtx_insn *.
      
      	* emit-rtl.c (copy_delay_slot_insn): Likewise.
      
      	* reorg.c (skip_consecutive_labels): Strengthen return type, param
      	and local "insn" from rtx to rtx_insn *.
      	(unfilled_slots_base): Strengthen type from rtx * to rtx_insn **.
      	(unfilled_slots_next): Likewise.
      	(function_return_label): Strengthen from rtx to rtx_code_label *.
      	(function_simple_return_label): Likewise.
      	(first_active_target_insn): Strengthen return type and param from
      	rtx to rtx_insn *.
      	(find_end_label): Strengthen return type from rtx to
      	rtx_code_label *; strengthen locals as appropriate.
      	(emit_delay_sequence): Strengthen return type, param "insn" and
      	local "seq_insn" from rtx to rtx_insn *.  Strengthen param "list"
      	and local "li" from rtx to rtx_insn_list *, using methods of
      	rtx_insn_list for clarity and typesafety.
      	(add_to_delay_list): Strengthen return type and param "insn" from
      	rtx to rtx_insn *.  Strengthen param "delay_list" from rtx to
      	rtx_insn_list * and use methods of rtx_insn_list.
      	(delete_from_delay_slot): Strengthen return type, param "insn",
      	locals "trial", "seq_insn", "prev" from rtx to rtx_insn *.
      	Strengthen local "seq" from rtx to rtx_sequence *, and local
      	"delay_list" from rtx to rtx_insn_list *, using methods of
      	rtx_sequence for clarity and type-safety.
      	(delete_scheduled_jump): Add checked cast when invoking
      	delete_from_delay_slot.  Strengthen local "trial" from rtx to
      	rtx_insn *.
      	(optimize_skip): Strengthen return type and local "delay_list"
      	from rtx to rtx_insn_list *.  Strengthen local "trial" from rtx to
      	rtx_insn *.
      	(steal_delay_list_from_target): Strengthen return type, param
      	"delay_list" and local "new_delay_list" from rtx to
      	rtx_insn_list *.  Strengthen param "seq" from rtx to
      	rtx_sequence *.  Strengthen param "pnew_thread" from rtx * to
      	rtx_insn **.
      	Split out local "temp" into multiple more-tightly scoped locals:
      	sometimes an rtx_insn_list *, and once a rtx_insn *.  Use methods
      	of rtx_insn_list and rtx_sequence for clarity and typesafety.
      	Strengthen locals named "trial" from rtx to rtx_insn *.
      	(steal_delay_list_from_fallthrough): Strengthen return type and
      	param "delay_list" from rtx to rtx_insn_list *.  Strengthen param
      	"seq" from rtx to rtx_sequence *.  Use methods of rtx_sequence.
      	Strengthen local "trial" from rtx to rtx_insn *.
      	(try_merge_delay_insns): Strength local "merged_insns" from rtx
      	to rtx_insn_list * and use its methods.  Strengthen local "pat"
      	from rtx to rtx_sequence * and use its methods.  Strengthen locals
      	"dtrial" and "new_rtx" from rtx to rtx_insn *.
      	(get_label_before): Strengthen return type and local "label" from
      	rtx to rtx_insn *.
      	(fill_simple_delay_slots): Likewise for locals "insn", "trial",
      	"next_trial", "next", prev".  Strengthen local "delay_list" from
      	rtx to rtx_insn_list *  Strengthen local "tmp" from rtx * to
      	rtx_insn **.
      	(follow_jumps): Strengthen return type, param "label" and locals
      	"insn", "next", "value", "this_label" from rtx to rtx_insn *.
      	(fill_slots_from_thread): Strengthen return type, param
      	"delay_list" from rtx to rtx_insn_list *.  Strengthen params
      	"insn", "thread", "opposite_thread" and locals "new_thread",
      	"trial", "temp", "ninsn" from rtx to rtx_insn *.  Introduce local
      	"sequence" from a checked cast to rtx_sequence so that we can call
      	steal_delay_list_from_target and steal_delay_list_from_fallthrough
      	with an rtx_sequence *.
      	(fill_eager_delay_slots): Strengthen locals "insn", "target_label",
      	"insn_at_target", "fallthrough_insn" from rtx to rtx_insn *.
      	Strengthen local "delay_list" from rtx to rtx_insn_list *.
      	(relax_delay_slots): Strengthen param "first" and locals "insn",
      	"next", "trial", "delay_insn", "target_label" from rtx to
      	rtx_insn *.  Strengthen local "pat" from rtx to rtx_sequence *.
      	Introduce a local "trial_seq" for PATTERN (trial) of type
      	rtx_sequence *, in both cases using methods of rtx_sequence.
      	(dbr_schedule): Strengthen param "first" and locals "insn",
      	"next", "epilogue_insn" from rtx to rtx_insn *.
      
      From-SVN: r214684
      David Malcolm committed
    • check functionality of isl version 0.12 · e0c0c325
      	* config/isl.m4 (_ISL_CHECK_CT_PROG): Removed.
      	(ISL_CHECK_VERSION): Check for functionality added to ISL 0.12 instead
      	of checking for version number.
      	* configure: Regenerated.
      	* configure.ac (ISL_CHECK_VERSION): Do not use ISL version number.
      
      From-SVN: r214683
      Sebastian Pop committed
    • *: Fix incorrect standard references in comments. · 7d594ac8
      	* testsuite/ext/random/*: Fix incorrect standard references in
      	comments.
      
      From-SVN: r214681
      Jonathan Wakely committed
    • re PR fortran/62283 (basic-block vectorization fails) · b1aef01e
      2014-08-28  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/62283
      	* tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
      	Do not peel loops for alignment where the vector loop likely
      	doesn't run at least VF times.
      
      	* gfortran.dg/vect/pr62283.f: New testcase.
      	* gcc.dg/tree-ssa/cunroll-5.c: Adjust.
      	* gcc.dg/vect/costmodel/i386/costmodel-vect-31.c: Likewise.
      	* gcc.dg/vect/costmodel/i386/costmodel-vect-33.c: Likewise.
      	* gcc.dg/vect/costmodel/x86_64/costmodel-vect-31.c: Likewise.
      	* gcc.dg/vect/costmodel/x86_64/costmodel-vect-33.c: Likewise.
      	* gcc.dg/vect/vect-33.c: Likewise.
      
      From-SVN: r214678
      Richard Biener committed
    • tree-ssa-loop-ivopts.c (iv_ca_add_use): Delete parameter important_candidates. · f22ae1ec
      	* tree-ssa-loop-ivopts.c (iv_ca_add_use): Delete parameter
      	important_candidates.  Consider all important candidates if
      	IVS doesn't give any result.  Remove check on ivs->upto.
      	(try_add_cand_for): Call iv_ca_add_use only once.
      
      From-SVN: r214674
      Bin Cheng committed
    • pr62089.c: Fix test on 32-bit platforms. · 8a2d2bf0
      2014-08-28  Yury Gribov  <y.gribov@samsung.com>
      
      	* c-c++-common/asan/pr62089.c: Fix test on 32-bit platforms.
      
      From-SVN: r214673
      Yury Gribov committed
    • AVX-512. Add byte/word plus/minus/avg. · c9b17fa5
      gcc/
      	(define_mode_iterator VI12_AVX2): Add V64QI and V32HI modes.
      	(define_expand "<sse2_avx2>_<plusminus_insn><mode>3<mask_name>"): Add
      	masking.
      	(define_insn "*<sse2_avx2>_<plusminus_insn><mode>3<mask_name>"): Ditto.
      	(define_expand "<sse2_avx2>_uavg<mode>3<mask_name>"): Ditto.
      	(define_insn "*<sse2_avx2>_uavg<mode>3<mask_name>"): Ditto.
      	(define_insn "*mul<mode>3"): Add EVEX version.
      
      Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
      Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
      Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
      Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
      Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
      Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
      Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
      
      From-SVN: r214672
      Alexander Ivchenko committed
    • AVX-512. Support 512-bit/masked interleave. · 6edf4f24
      gcc/
      	* config/i386/sse.md
      	(define_insn "avx512bw_interleave_highv64qi<mask_name>"): New.
      	(define_insn "avx2_interleave_highv32qi<mask_name>"): Add masking.
      	(define_insn "vec_interleave_highv16qi<mask_name>"): Ditto.
      	(define_insn "avx2_interleave_lowv32qi<mask_name>"): Ditto.
      	(define_insn "vec_interleave_lowv16qi<mask_name>"): Ditto.
      	(define_insn "avx2_interleave_highv16hi<mask_name>"): Ditto.
      	(define_insn "vec_interleave_highv8hi<mask_name>"): Ditto.
      	(define_insn "avx2_interleave_lowv16hi<mask_name>"): Ditto.
      	(define_insn "vec_interleave_lowv8hi<mask_name>"): Ditto.
      	(define_insn "avx2_interleave_highv8si<mask_name>"): Ditto.
      	(define_insn "vec_interleave_highv4si<mask_name>"): Ditto.
      	(define_insn "avx2_interleave_lowv8si<mask_name>"): Ditto.
      	(define_insn "vec_interleave_lowv4si<mask_name>"): Ditto.
      	(define_insn "vec_interleave_highv16qi<mask_name>"): New.
      	(define_insn "avx512bw_interleave_highv32hi<mask_name>"): Ditto.
      	(define_insn "<mask_codefor>avx512bw_interleave_lowv32hi<mask_name>"): Ditto.
      
      Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
      Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
      Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
      Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
      Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
      Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
      Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
      
      From-SVN: r214671
      Alexander Ivchenko committed
    • AVX-512. Add vps[rl]ldq insn patterns. · 98ee4d9b
      gcc/
      	* config/i386/sse.md
      	(define_mode_iterator VIMAX_AVX2): Add V4TI mode.
      	(define_insn "<sse2_avx2>_ashl<mode>3"): Add EVEX version.
      	(define_insn "<sse2_avx2>_lshr<mode>3"): Ditto.
      
      Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
      Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
      Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
      Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
      Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
      Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
      Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
      
      From-SVN: r214670
      Alexander Ivchenko committed
    • AVX-512. Add integer max/min. · e7b533a2
      gcc/
      	* config/i386/sse.md
      	(define_mode_iterator VI128_256): New.
      	(define_insn "<mask_codefor><code><mode>3<mask_name>"): Ditto.
      
      Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
      Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
      Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
      Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
      Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
      Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
      Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
      
      From-SVN: r214669
      Alexander Ivchenko committed
    • AVX-512. Add vcvtps2[u]qq patterns. · dc3b8d27
      gcc/
      	* config/i386/sse.md
      	(define_mode_iterator VI8_256_512): New.
      	(define_insn "<mask_codefor>avx512dq_cvtps2qq<mode><mask_name><round_name>"):
      	Ditto.
      	(define_insn "<mask_codefor>avx512dq_cvtps2qqv2di<mask_name>"): Ditto.
      	(define_insn "<mask_codefor>avx512dq_cvtps2uqq<mode><mask_name><round_name>"):
      	Ditto.
      	(define_insn "<mask_codefor>avx512dq_cvtps2uqqv2di<mask_name>"): Ditto.
      
      
      Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
      Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
      Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
      Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
      Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
      Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
      Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
      
      From-SVN: r214668
      Alexander Ivchenko committed
    • varasm.c (compute_reloc_for_rtx_1): Take a const_rtx. · 82cfcdb6
      gcc/
      	* varasm.c (compute_reloc_for_rtx_1): Take a const_rtx.  Remove the
      	pointer to the cumulative reloc value and return the value for
      	this reloc instead.
      	(compute_reloc_for_rtx): Take a const_rtx.  Call
      	compute_reloc_for_rtx_1 directly for SYMBOL_REF and LABEL_REF,
      	avoiding any recursion.  Use FOR_EACH_SUBRTX rather than
      	for_each_rtx for the CONST case.
      
      From-SVN: r214667
      Richard Sandiford committed
    • varasm.c (mark_constant): Replace this for_each_rtx callback with... · 750b270a
      gcc/
      	* varasm.c (mark_constant): Replace this for_each_rtx callback with...
      	(mark_constants_in_pattern): ...this new function to iterate over
      	all the subrtxes.
      	(mark_constants): Update accordingly.
      
      From-SVN: r214666
      Richard Sandiford committed
    • varasm.c: Include rtl-iter.h. · 11315a95
      gcc/
      	* varasm.c: Include rtl-iter.h.
      	(const_rtx_hash_1): Take a const_rtx rather than an rtx *.
      	Remove the pointer to the cumulative hashval_t and just return
      	the hash for this rtx instead.  Remove recursive CONST_VECTOR case.
      	(const_rtx_hash): Use FOR_EACH_SUBRTX instead of for_each_rtx.
      	Accumulate the hashval_ts here instead of const_rtx_hash_1.
      
      From-SVN: r214665
      Richard Sandiford committed
    • var-tracking.c (add_uses): Take an rtx rather than an rtx *. · 3b4459f9
      gcc/
      	* var-tracking.c (add_uses): Take an rtx rather than an rtx *.
      	Give real type of data parameter.  Remove return value.
      	(add_uses_1): Use FOR_EACH_SUBRTX_VAR rather than for_each_rtx
      	to iterate over subrtxes.
      
      From-SVN: r214664
      Richard Sandiford committed
    • var-tracking.c (use_narrower_mode_test): Turn from being a for_each_rtx callback… · b328e730
      var-tracking.c (use_narrower_mode_test): Turn from being a for_each_rtx callback to being a function that examines each...
      
      gcc/
      	* var-tracking.c (use_narrower_mode_test): Turn from being a
      	for_each_rtx callback to being a function that examines each
      	subrtx itself.
      	(adjust_mems): Update accordingly.
      
      From-SVN: r214663
      Richard Sandiford committed
    • var-tracking.c (non_suitable_const): Turn from being a for_each_rtx callback to… · 7e56c283
      var-tracking.c (non_suitable_const): Turn from being a for_each_rtx callback to being a function that examines each...
      
      gcc/
      	* var-tracking.c (non_suitable_const): Turn from being a for_each_rtx
      	callback to being a function that examines each subrtx itself.
      	Remove handling of null rtxes.
      	(add_uses): Update accordingly.
      
      From-SVN: r214662
      Richard Sandiford committed
    • var-tracking.c: Include rtl-iter.h. · 4f498863
      gcc/
      	* var-tracking.c: Include rtl-iter.h.
      	(rtx_debug_expr_p): Turn from being a for_each_rtx callback
      	to being a function that examines each subrtx itself.
      	(use_type): Update accordingly.
      
      From-SVN: r214661
      Richard Sandiford committed
    • store-motion.c: Include rtl-iter.h. · 638e18a4
      gcc/
      	* store-motion.c: Include rtl-iter.h.
      	(extract_mentioned_regs_1): Delete.
      	(extract_mentioned_regs): Use FOR_EACH_SUBRTX_VAR rather than
      	for_each_rtx to iterate over subrtxes.
      
      From-SVN: r214660
      Richard Sandiford committed
    • sel-sched.c: Include rtl-iter.h · 34a1e300
      gcc/
      	* sel-sched.c: Include rtl-iter.h
      	(count_occurrences_1): Delete.
      	(count_occurrences_equiv): Turn rtxes into const_rtxes.
      	Use FOR_EACH_SUBRTX rather than for_each_rtx.
      
      From-SVN: r214659
      Richard Sandiford committed
    • rtl.h (tls_referenced_p): Take a const_rtx rather than an rtx. · 6180e3d8
      gcc/
      	* rtl.h (tls_referenced_p): Take a const_rtx rather than an rtx.
      	* rtlanal.c (tls_referenced_p_1): Delete.
      	(tls_referenced_p): Take a const_rtx rather than an rtx.
      	Use FOR_EACH_SUBRTX rather than for_each_rtx.
      
      From-SVN: r214658
      Richard Sandiford committed
    • rtl.h (for_each_inc_dec_fn): Remove special case for -1. · 8d8e205b
      gcc/
      	* rtl.h (for_each_inc_dec_fn): Remove special case for -1.
      	(for_each_inc_dec): Take an rtx rather than an rtx *.
      	* cselib.c (cselib_record_autoinc_cb): Update accordingly.
      	(cselib_record_sets): Likewise.
      	* dse.c (emit_inc_dec_insn_before, check_for_inc_dec_1)
      	(check_for_inc_dec): Likewise.
      	* rtlanal.c (for_each_inc_dec_ops): Delete.
      	(for_each_inc_dec_find_inc_dec): Take the MEM as argument,
      	rather than a pointer to the memory address.  Replace
      	for_each_inc_dec_ops argument with separate function and data
      	arguments.  Abort on non-autoinc addresses.
      	(for_each_inc_dec_find_mem): Delete.
      	(for_each_inc_dec): Take an rtx rather than an rtx *.  Use
      	FOR_EACH_SUBRTX_VAR to visit every autoinc MEM.
      
      From-SVN: r214657
      Richard Sandiford committed
    • rtl.h (find_all_hard_regs): Declare. · f7d0b0fc
      gcc/
      	* rtl.h (find_all_hard_regs): Declare.
      	* rtlanal.c (find_all_hard_regs): New function.
      	(record_hard_reg_uses_1): Delete.
      	(record_hard_reg_uses): Use find_all_hard_regs.
      
      From-SVN: r214656
      Richard Sandiford committed
    • rtl.h (replace_label_data): Delete. · a2b7026c
      gcc/
      	* rtl.h (replace_label_data): Delete.
      	(replace_label): Take the old label, new label and update-nuses flag
      	as direct arguments.  Return void.
      	* cfgcleanup.c (outgoing_edges_match): Update accordingly.
      	* rtlanal.c (replace_label): Update interface as above.  Handle
      	JUMP_TABLE_DATA as a special case.  Handle JUMPs outside the
      	iterator.  Use FOR_EACH_SUBRTX_PTR.
      
      From-SVN: r214655
      Richard Sandiford committed
    • rtl.h (get_pool_constant, [...]): Replace rtx parameters with const_rtx parameters. · e08cf836
      gcc/
      	* rtl.h (get_pool_constant, rtx_referenced_p): Replace rtx parameters
      	with const_rtx parameters.
      	* varasm.c (get_pool_constant): Likewise.
      	* rtlanal.c (rtx_referenced_p_1): Delete.
      	(rtx_referenced_p): Use FOR_EACH_SUBRTX instead of for_each_rtx.
      	Assert that the rtx we're looking for is nonnull.  Allow searches
      	for constant pool SYMBOL_REFs.
      
      From-SVN: r214654
      Richard Sandiford committed
    • reload1.c: Include rtl-iter.h. · b37c2fe0
      gcc/
      	* reload1.c: Include rtl-iter.h.
      	(note_reg_elim_costly): Turn from being a for_each_rtx callback
      	to being a function that examines each subrtx itself.
      	(eliminate_regs_1, elimination_costs_in_insn): Update accordingly.
      
      From-SVN: r214653
      Richard Sandiford committed
    • regcprop.c (cprop_find_used_regs_1): Delete. · 0d2e76b8
      gcc/
      	* regcprop.c (cprop_find_used_regs_1): Delete.
      	(cprop_find_used_regs): Use FOR_EACH_SUBRTX instead of for_each_rtx.
      
      From-SVN: r214652
      Richard Sandiford committed
    • regcprop.c: Include rtl-iter.h. · 4ca738b3
      gcc/
      	* regcprop.c: Include rtl-iter.h.
      	(kill_value): Take a const_rtx.
      	(kill_autoinc_value): Turn from being a for_each_rtx callback
      	to being a function that examines each subrtx itself.
      	(copyprop_hardreg_forward_1): Update accordingly.
      
      From-SVN: r214651
      Richard Sandiford committed
    • reg-stack.c: Include rtl-iter.h. · 6c0cda91
      gcc/
      	* reg-stack.c: Include rtl-iter.h.
      	(subst_stack_regs_in_debug_insn): Delete.
      	(subst_all_stack_regs_in_debug_insn): Use FOR_EACH_SUBRTX_PTR
      	instead of for_each_rtx.
      
      From-SVN: r214650
      Richard Sandiford committed
    • lower-subreg.c (find_decomposable_subregs): Turn from being a for_each_rtx… · a36a1928
      lower-subreg.c (find_decomposable_subregs): Turn from being a for_each_rtx callback to being a function that examines each...
      
      gcc/
      	* lower-subreg.c (find_decomposable_subregs): Turn from being
      	a for_each_rtx callback to being a function that examines each
      	subrtx itself.  Remove handling of null rtxes.
      	(decompose_multiword_subregs): Update accordingly.
      
      From-SVN: r214649
      Richard Sandiford committed
    • lower-subreg.c (adjust_decomposed_uses): Delete. · f2d3f347
      gcc/
      	* lower-subreg.c (adjust_decomposed_uses): Delete.
      	(resolve_debug): Use FOR_EACH_SUBRTX_PTR rather than for_each_rtx.
      	Remove handling of null rtxes.
      
      From-SVN: r214648
      Richard Sandiford committed
    • lower-subreg.c: Include rtl-iter.h. · cf55cb6a
      gcc/
      	* lower-subreg.c: Include rtl-iter.h.
      	(resolve_subreg_use): Turn from being a for_each_rtx callback
      	to being a function that examines each subrtx itself.  Remove
      	handling of null rtxes.
      	(resolve_reg_notes, resolve_simple_move): Update accordingly.
      	(decompose_multiword_subregs): Likewise.
      
      From-SVN: r214647
      Richard Sandiford committed
    • loop-iv.c (altered_reg_used): Turn from being a for_each_rtx callback to being a… · b42b06e6
      loop-iv.c (altered_reg_used): Turn from being a for_each_rtx callback to being a function that examines each...
      
      gcc/
      	* loop-iv.c (altered_reg_used): Turn from being a for_each_rtx callback
      	to being a function that examines each subrtx itself.
      	(simplify_using_condition, simplify_using_initial_values): Update
      	accordingly.
      
      From-SVN: r214646
      Richard Sandiford committed
    • loop-iv.c: Include rtl-iter.h. · 4ca29add
      gcc/
      	* loop-iv.c: Include rtl-iter.h.
      	(find_single_def_src): New function.
      	(replace_single_def_regs): Turn from being a for_each_rtx callback
      	to being a function that examines each subrtx itself.
      	(replace_in_expr, simplify_using_initial_values): Update accordingly.
      
      From-SVN: r214645
      Richard Sandiford committed
    • jump.c (eh_returnjump_p_1): Delete. · e7c44276
      gcc/
      	* jump.c (eh_returnjump_p_1): Delete.
      	(eh_returnjump_p): Use FOR_EACH_SUBRTX rather than for_each_rtx.
      	Remove handling of null rtxes.
      
      From-SVN: r214644
      Richard Sandiford committed
    • jump.c: Include rtl-iter.h. · bc702273
      gcc/
      	* jump.c: Include rtl-iter.h.
      	(returnjump_p_1): Delete.
      	(returnjump_p): Use FOR_EACH_SUBRTX rather than for_each_rtx.
      	Remove handling of null rtxes.
      
      From-SVN: r214643
      Richard Sandiford committed
    • ira.c: Include rtl-iter.h. · 40954ce5
      gcc/
      	* ira.c: Include rtl-iter.h.
      	(set_paradoxical_subreg): Turn from being a for_each_rtx callback
      	to being a function that examines each subrtx itself.  Remove
      	handling of null rtxes.
      	(update_equiv_regs): Update call accordingly.
      
      From-SVN: r214642
      Richard Sandiford committed
    • fwprop.c: Include rtl-iter.h. · aa4e2d7e
      gcc/
      	* fwprop.c: Include rtl-iter.h.
      	(varying_mem_p): Turn from being a for_each_rtx callback to being
      	a function that examines each subrtx itself.
      	(propagate_rtx): Update accordingly.
      
      From-SVN: r214641
      Richard Sandiford committed
    • function.c: Include rtl-iter.h · b8704801
      gcc/
      	* function.c: Include rtl-iter.h
      	(instantiate_virtual_regs_in_rtx): Turn from being a for_each_rtx
      	callback to being a function that examines each subrtx itself.
      	Return the changed flag.
      	(instantiate_virtual_regs_in_insn, instantiate_decl_rtl)
      	(instantiate_virtual_regs): Update calls accordingly.
      
      From-SVN: r214640
      Richard Sandiford committed
    • final.c: Include rtl-iter.h. · effb8a26
      gcc/
      	* final.c: Include rtl-iter.h.
      	(mark_symbol_ref_as_used): Delete.
      	(mark_symbol_refs_as_used): Use FOR_EACH_SUBRTX instead of
      	for_each_rtx.
      
      From-SVN: r214639
      Richard Sandiford committed