tree-ssa-loop-ivopts.c (iv_ca_add_use): Delete parameter important_candidates.
[gcc.git] / gcc / ChangeLog
index 81f9bd5a9abc95d98141523756107078931eea73..28a3219aacfdb7ad3ea4f1555c2b8a82983f9242 100644 (file)
+2014-08-28  Bin Cheng  <bin.cheng@arm.com>
+
+       * 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.
+
+2014-08-28  Alexander Ivchenko  <alexander.ivchenko@intel.com>
+           Maxim Kuznetsov  <maxim.kuznetsov@intel.com>
+           Anna Tikhonova  <anna.tikhonova@intel.com>
+           Ilya Tocar  <ilya.tocar@intel.com>
+           Andrey Turetskiy  <andrey.turetskiy@intel.com>
+           Ilya Verbin  <ilya.verbin@intel.com>
+           Kirill Yukhin  <kirill.yukhin@intel.com>
+           Michael Zolotukhin  <michael.v.zolotukhin@intel.com>
+
+       (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.
+
+2014-08-28  Alexander Ivchenko  <alexander.ivchenko@intel.com>
+           Maxim Kuznetsov  <maxim.kuznetsov@intel.com>
+           Anna Tikhonova  <anna.tikhonova@intel.com>
+           Ilya Tocar  <ilya.tocar@intel.com>
+           Andrey Turetskiy  <andrey.turetskiy@intel.com>
+           Ilya Verbin  <ilya.verbin@intel.com>
+           Kirill Yukhin  <kirill.yukhin@intel.com>
+           Michael Zolotukhin  <michael.v.zolotukhin@intel.com>
+
+       * 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.
+
+2014-08-28  Alexander Ivchenko  <alexander.ivchenko@intel.com>
+           Maxim Kuznetsov  <maxim.kuznetsov@intel.com>
+           Anna Tikhonova  <anna.tikhonova@intel.com>
+           Ilya Tocar  <ilya.tocar@intel.com>
+           Andrey Turetskiy  <andrey.turetskiy@intel.com>
+           Ilya Verbin  <ilya.verbin@intel.com>
+           Kirill Yukhin  <kirill.yukhin@intel.com>
+           Michael Zolotukhin  <michael.v.zolotukhin@intel.com>
+
+       * 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.
+
+2014-08-28  Alexander Ivchenko  <alexander.ivchenko@intel.com>
+           Maxim Kuznetsov  <maxim.kuznetsov@intel.com>
+           Anna Tikhonova  <anna.tikhonova@intel.com>
+           Ilya Tocar  <ilya.tocar@intel.com>
+           Andrey Turetskiy  <andrey.turetskiy@intel.com>
+           Ilya Verbin  <ilya.verbin@intel.com>
+           Kirill Yukhin  <kirill.yukhin@intel.com>
+           Michael Zolotukhin  <michael.v.zolotukhin@intel.com>
+
+       * config/i386/sse.md
+       (define_mode_iterator VI128_256): New.
+       (define_insn "<mask_codefor><code><mode>3<mask_name>"): Ditto.
+
+2014-08-28  Alexander Ivchenko  <alexander.ivchenko@intel.com>
+           Maxim Kuznetsov  <maxim.kuznetsov@intel.com>
+           Anna Tikhonova  <anna.tikhonova@intel.com>
+           Ilya Tocar  <ilya.tocar@intel.com>
+           Andrey Turetskiy  <andrey.turetskiy@intel.com>
+           Ilya Verbin  <ilya.verbin@intel.com>
+           Kirill Yukhin  <kirill.yukhin@intel.com>
+           Michael Zolotukhin  <michael.v.zolotukhin@intel.com>
+
+       * 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.
+
+2014-08-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * 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.
+
+2014-08-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * 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.
+
+2014-08-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * 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.
+
+2014-08-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * 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.
+
+2014-08-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * 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.
+
+2014-08-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * 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.
+
+2014-08-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * 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.
+
+2014-08-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * 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.
+
+2014-08-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * 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.
+
+2014-08-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * 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.
+
+2014-08-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * 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.
+
+2014-08-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * 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.
+
+2014-08-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * 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.
+
+2014-08-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * 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.
+
+2014-08-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * 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.
+
+2014-08-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * regcprop.c (cprop_find_used_regs_1): Delete.
+       (cprop_find_used_regs): Use FOR_EACH_SUBRTX instead of for_each_rtx.
+
+2014-08-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * 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.
+
+2014-08-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * 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.
+
+2014-08-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * 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.
+
+2014-08-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * lower-subreg.c (adjust_decomposed_uses): Delete.
+       (resolve_debug): Use FOR_EACH_SUBRTX_PTR rather than for_each_rtx.
+       Remove handling of null rtxes.
+
+2014-08-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * 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.
+
+2014-08-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * 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.
+
+2014-08-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * 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.
+
+2014-08-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * jump.c (eh_returnjump_p_1): Delete.
+       (eh_returnjump_p): Use FOR_EACH_SUBRTX rather than for_each_rtx.
+       Remove handling of null rtxes.
+
+2014-08-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * 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.
+
+2014-08-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * 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.
+
+2014-08-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * 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.
+
+2014-08-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * 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.
+
+2014-08-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * 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.
+
+2014-08-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * emit-rtl.c: Include rtl-iter.h.
+       (find_auto_inc): Turn from being a for_each_rtx callback to being
+       a function that examines each subrtx itself.  Assume the first operand
+       to an RTX_AUTOINC is the automodified register.
+       (try_split): Update call accordingly.
+
+2014-08-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * dwarf2out.c (resolve_one_addr): Remove unused data parameter.
+       Return a bool, inverting the result so that 0/false means "not ok".
+       Use FOR_EACH_SUBRTX_PTR instead of for_each_rtx to iterate over
+       subrtxes of a CONST.
+       (mem_loc_descriptor, add_const_value_attribute)
+       (resolve_addr_in_expr): Update calls accordingly.
+
+2014-08-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * dwarf2out.c: Include rtl-iter.h.
+       (const_ok_for_output_1): Take the rtx instead of a pointer to it.
+       Remove unused data parameter.  Return a bool, inverting the result
+       so that 0/false means "not ok".
+       (const_ok_for_output): Update accordingly.  Use FOR_EACH_SUBRTX_VAR
+       instead of for_each_rtx.
+
+2014-08-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * dse.c: Include rtl-iter.h.
+       (check_mem_read_rtx): Change void * parameter to real type.
+       Remove return value.
+       (check_mem_read_use): Fix comment.  Use FOR_EACH_SUBRTX_PTR instead of
+       for_each_rtx.  Don't handle null rtxes.
+
+2014-08-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * df-problems.c: Include rtl-iter.h.
+       (find_memory): Turn from being a for_each_rtx callback to being
+       a function that examines each subrtx itself.  Continue to look for
+       volatile references even after a nonvolatile one has been found.
+       (can_move_insns_across): Update calls accordingly.
+
+2014-08-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * ddg.c (walk_mems_2, walk_mems_1): Delete.
+       (insns_may_alias_p): Use FOR_EACH_SUBRTX rather than for_each_rtx
+       to iterate over subrtxes.  Return a bool rather than an int.
+
+2014-08-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * ddg.c: Include rtl-iter.h.
+       (mark_mem_use_1): Rename to...
+       (mark_mem_use): ...deleting old mark_mem_use.  Use FOR_EACH_SUBRTX
+       instead of for_each_rtx.
+       (mem_read_insn_p): Update accordingly.
+
+2014-08-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * cse.c (change_cc_mode_args): Delete.
+       (cse_change_cc_mode): Turn from being a for_each_rtx callback to being
+       a function that examines each subrtx itself.  Take the fields of
+       change_cc_mode_args as argument and return void.
+       (cse_change_cc_mode_insn): Update calls accordingly.
+
+2014-08-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * cse.c (is_dead_reg): Change argument to const_rtx.
+       (dead_debug_insn_data): Delete.
+       (is_dead_debug_insn): Expand commentary.  Turn from being a
+       for_each_rtx callback to being a function that examines
+       each subrtx itself.  Take the fields of dead_debug_insn_data
+       as argument.
+       (delete_trivially_dead_insns): Update call accordingly.
+
+2014-08-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * cse.c (check_for_label_ref): Move earlier in file.  Turn from
+       being a for_each_rtx callback to being a function that examines
+       each subrtx itself.
+       (cse_extended_basic_block): Update call accordingly.
+
+2014-08-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * cse.c (check_dependence_data): Delete.
+       (check_dependence): Change from being a for_each_rtx callback to being
+       a function that examines all subrtxes itself.  Don't handle null rtxes.
+       (invalidate): Update call accordingly.
+
+2014-08-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * cse.c: Include rtl-iter.h.
+       (approx_reg_cost_1): Delete.
+       (approx_reg_cost): Use FOR_EACH_SUBRTX instead of for_each_rtx.
+       Don't handle null rtxes.
+
+2014-08-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * cfgcleanup.c: Include rtl-iter.h.
+       (mentions_nonequal_regs): Turn from being a for_each_rtx callback
+       to being a function that examines each subrtx itself.
+       (thread_jump): Update accordingly.
+
+2014-08-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * combine-stack-adj.c: Include rtl-iter.h.
+       (record_stack_refs_data): Delete.
+       (record_stack_refs): Turn from being a for_each_rtx callback
+       to being a function that examines each subrtx itself.
+       Take a pointer to the reflist.  Invert sense of return value
+       so that true means success and false means failure.  Don't
+       handle null rtxes.
+       (combine_stack_adjustments_for_block): Update accordingly.
+
+2014-08-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * combine.c (record_truncated_value): Turn from being a for_each_rtx
+       callback to a function that takes an rtx and returns a bool
+       (record_truncated_values): Use FOR_EACH_SUBRTX_VAR instead of
+       for_each_rtx.
+
+2014-08-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * combine.c: Include rtl-iter.h.
+       (unmentioned_reg_p_1): Delete.
+       (unmentioned_reg_p): Use FOR_EACH_SUBRTX rather than for_each_rtx.
+       Don't handle null rtxes.
+
+2014-08-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * calls.c: Include rtl-iter.h.
+       (internal_arg_pointer_based_exp_1): Delete.
+       (internal_arg_pointer_based_exp): Take a const_rtx.
+       Use FOR_EACH_SUBRTX to iterate over subrtxes.
+
+2014-08-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * caller-save.c: Include rtl-iter.h.
+       (add_used_regs_1): Delete.
+       (add_used_regs): Use FOR_EACH_SUBRTX rather than for_each_rtx
+       to iterate over subrtxes.  Assert that any remaining pseudos
+       have been spilled.
+
+2014-08-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * bt-load.c: Include rtl-iter.h.
+       (btr_reference_found, find_btr_reference, btr_referenced_p): Delete.
+       (find_btr_use): Move further up file.  Use FOR_EACH_SUBRTX_PTR
+       to iterate over subrtxes.
+       (insn_sets_btr_p, new_btr_user, compute_defs_uses_and_gen): Use
+       find_btr_use rather than btr_referenced_p.
+
+2014-08-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * alias.c: Include rtl-iter.h.
+       (refs_newer_value_cb): Delete.
+       (refs_newer_value_p): Use FOR_EACH_SUBRTX instead of for_each_rtx.
+
+2014-08-28  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * rtl-iter.h: New file.
+       * rtlanal.c: Include it.
+       (rtx_all_subrtx_bounds, rtx_nonconst_subrtx_bounds): New variables.
+       (generic_subrtx_iterator <T>::add_single_to_queue)
+       (generic_subrtx_iterator <T>::add_subrtxes_to_queue)
+       (generic_subrtx_iterator <T>::free_array): New functions.
+       (generic_subrtx_iterator <T>::LOCAL_ELEMS): Define.
+       (generic_subrtx_iterator <const_rtx_accessor>)
+       (generic_subrtx_iterator <rtx_var_accessor>
+       (generic_subrtx_iterator <rtx_ptr_accessor>): Instantiate.
+       (setup_reg_subrtx_bounds): New function.
+       (init_rtlanal): Call it.
+
+2014-08-27  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+        PR target/62261
+        * config/sh/sh.md (ashlsi3): Handle negative shift count for
+       TARGET_SHMEDIA.
+       (ashldi3, ashrsi3, ashrdi3, lshrsi3, lshrdi3): Likewise.
+
+2014-08-27  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * emit-rtl.c (set_unique_reg_note): Discard notes with side effects.
+
+2014-08-27  David Malcolm  <dmalcolm@redhat.com>
+
+       * rtl.h (JUMP_LABEL_AS_INSN): New.
+
+2014-08-27  David Malcolm  <dmalcolm@redhat.com>
+
+       * rtl.h (free_EXPR_LIST_list): Strengthen param from rtx * to
+       rtx_expr_list **.
+       (alloc_EXPR_LIST): Strengthen return type from rtx to
+       rtx_expr_list *.
+       (remove_free_EXPR_LIST_node): Likewise for param.
+       * reload.h (struct reg_equivs_t): Strengthen field "alt_mem_list"
+       from rtx to rtx_expr_list *.
+       * sched-int.h (struct deps_desc): Strengthen fields
+       "pending_read_mems" and "pending_write_mems" from rtx to
+       rtx_expr_list *.
+
+       * dwarf2out.c (decl_piece_varloc_ptr): Strengthen return type from
+       rtx to rtx_expr_list *.
+       * lists.c (alloc_INSN_LIST): Likewise, also for local "r".
+       (free_EXPR_LIST_list): Strengthen param "listp" from rtx * to
+       rtx_expr_list **.
+       (remove_free_EXPR_LIST_node): Likewise.  Strengthen local "node"
+       from rtx to rtx_expr_list *.
+       * loop-iv.c (simplify_using_initial_values): Strengthen local
+       "cond_list" from rtx to rtx_expr_list *, and locals "pnode",
+       "pnote_next" from rtx * to rtx_expr_list **.
+       * sched-deps.c (remove_from_both_dependence_lists):  Strengthen
+       param "exprp" from rtx * to rtx_expr_list **.
+       (add_insn_mem_dependence): Strengthen local "mem_list" from
+       rtx * to rtx_expr_list **.  Strengthen local "mem_node" from rtx
+       to rtx_expr_list *.
+       * sched-rgn.c (concat_insn_mem_list): Strengthen param "copy_mems"
+       and local "new_mems" from rtx to rtx_expr_list *.  Strengthen
+       param "old_mems_p" from rtx * to rtx_expr_list **.
+       * var-tracking.c (struct adjust_mem_data): Strengthen field
+       "side_effects" from rtx to rtx_expr_list *.
+       (adjust_insn): Replace NULL_RTX with NULL when assigning to
+       rtx_expr_list *.
+       (prepare_call_arguments): Likewise.
+
+2014-08-27  David Malcolm  <dmalcolm@redhat.com>
+
+       * function.h (struct rtl_data): Strengthen field
+       "x_stack_slot_list" from rtx to rtx_expr_list *.
+
+       * emit-rtl.c (unshare_all_rtl_1): Add a checked cast
+       when assigning to stack_slot_list.
+
+2014-08-27  David Malcolm  <dmalcolm@redhat.com>
+
+       * function.h (struct rtl_data): Strengthen field
+       x_nonlocal_goto_handler_labels from rtx to rtx_expr_list *.
+       * rtl.h (remove_node_from_expr_list): Strengthen second param from
+       rtx * to rtx_expr_list **.
+
+       * cfgbuild.c (make_edges): In loop over
+       nonlocal_goto_handler_labels, strengthen local "x" from rtx to
+       rtx_expr_list *, and use methods of the latter class to clarify
+       the code.
+       * cfgrtl.c (cfg_layout_initialize): Strengthen local "x" from rtx to
+       rtx_expr_list *, and use methods of the latter class to clarify
+       the code.
+       * dwarf2cfi.c (create_trace_edges): Likewise for local "lab".
+       * reload1.c (set_initial_label_offsets): Likewise for local "x".
+       * rtlanal.c (remove_node_from_expr_list): Strengthen param "listp"
+       from rtx * to rtx_expr_list **.  Strengthen local "temp" from rtx
+       to rtx_expr_list *.  Use methods of the latter class to clarify
+       the code.
+
+2014-08-27  David Malcolm  <dmalcolm@redhat.com>
+
+       * function.h (struct expr_status): Strengthen field
+       "x_forced_labels" from rtx to rtx_expr_list *.
+
+       * cfgbuild.c (make_edges): Split local "x" into two locals,
+       strengthening one from rtx to rtx_expr_list *, and using methods
+       of said class.
+       * dwarf2cfi.c (create_trace_edges): Split local "lab" out; within
+       loop over forced_labels, introduce strengthen it from rtx to
+       rtx_expr_list *, using methods to clarify the code.
+       * jump.c (rebuild_jump_labels_1): Strengthen local "insn" from rtx
+       to rtx_expr_list *, using methods of said class to clarify the
+       code.
+       * reload1.c (set_initial_label_offsets): Split local "x" into two
+       per-loop variables, strengthening the first from rtx to
+       rtx_expr_list * and using methods.
+
+2014-08-27  David Malcolm  <dmalcolm@redhat.com>
+
+       * coretypes.h (class rtx_expr_list): Add forward declaration.
+       * emit-rtl.c (gen_rtx_EXPR_LIST): New.
+       * gengenrtl.c (special_rtx): Add EXPR_LIST.
+       * rtl.h (class rtx_expr_list): New subclass of rtx_def, adding
+       invariant: GET_CODE (X) == EXPR_LIST.
+       (is_a_helper <rtx_expr_list *>::test): New.
+       (rtx_expr_list::next): New.
+       (rtx_expr_list::element): New.
+       (gen_rtx_EXPR_LIST): New.
+
+2014-08-27  David Malcolm  <dmalcolm@redhat.com>
+
+       * varasm.c (mark_constants): Convert a GET_CODE check into a
+       dyn_cast, strengthening local "seq" from rtx to rtx_sequence *.
+       Use methods of rtx_sequence to clarify the code.
+
+2014-08-27  David Malcolm  <dmalcolm@redhat.com>
+
+       * sched-vis.c (print_pattern): Within SEQUENCE case, introduce a
+       local "seq" via a checked cast, and use methods of rtx_sequence
+       to simplify the code.
+
+2014-08-27  David Malcolm  <dmalcolm@redhat.com>
+
+       * resource.c (mark_referenced_resources): Strengthen local
+       "sequence" from rtx to rtx_sequence *, adding a checked cast, and
+       using methods of rtx_sequence to clarify the code.
+       (find_dead_or_set_registers): Within the switch statement, convert
+       a GET_CODE check to a dyn_cast, introducing local "seq".  Within
+       the JUMP_P handling, introduce another local "seq", adding a
+       checked cast to rtx_sequence *.  In both cases, use methods of
+       rtx_sequence to clarify the code.
+       (mark_set_resources): Within SEQUENCE case, introduce local "seq"
+       via a checked cast, and use methods of rtx_sequence to simplify
+       the code.
+
+2014-08-27  David Malcolm  <dmalcolm@redhat.com>
+
+       * reorg.c (redundant_insn): In two places in the function, replace
+       a check of GET_CODE with a dyn_cast, introducing local "seq", and
+       usings methods of rtx_sequence to clarify the code.
+
+2014-08-27  David Malcolm  <dmalcolm@redhat.com>
+
+       * jump.c (mark_jump_label_1): Within the SEQUENCE case, introduce
+       local "seq" with a checked cast, and use methods of rtx_sequence
+       to clarify the code.
+
+2014-08-27  David Malcolm  <dmalcolm@redhat.com>
+
+       * function.c (contains): Introduce local "seq" for PATTERN (insn),
+       with a checked cast, in the region for where we know it's a
+       SEQUENCE.  Use methods of rtx_sequence.
+
+2014-08-27  David Malcolm  <dmalcolm@redhat.com>
+
+       * final.c (get_attr_length_1): Replace GET_CODE check with a
+       dyn_cast, introducing local "seq" and the use of methods of
+       rtx_sequence.
+       (shorten_branches): Likewise, introducing local "body_seq".
+       Strengthen local "inner_insn" from rtx to rtx_insn *.
+       (reemit_insn_block_notes): Replace GET_CODE check with a
+       dyn_cast, strengthening local "body" from rtx to rtx_sequence *.
+       Use methods of rtx_sequence.
+       (final_scan_insn): Likewise, introducing local "seq" for when
+       "body" is known to be a SEQUENCE, using its methods.
+
+2014-08-27  David Malcolm  <dmalcolm@redhat.com>
+
+       * except.c (can_throw_external): Strengthen local "seq" from rtx
+       to rtx_sequence *.  Use methods of rtx_sequence.
+       (insn_nothrow_p): Likewise.
+
+2014-08-27  David Malcolm  <dmalcolm@redhat.com>
+
+       * dwarf2cfi.c (create_trace_edges): Convert GET_CODE check into a
+       dyn_cast, strengthening local "seq" from rtx to rtx_sequence *.
+       Use methods of rtx_sequence.
+       (scan_trace): Likewise for local "pat".
+
+2014-08-27  David Malcolm  <dmalcolm@redhat.com>
+
+       * coretypes.h (class rtx_sequence): Add forward declaration.
+       * rtl.h (class rtx_sequence): New subclass of rtx_def, adding
+       invariant: GET_CODE (X) == SEQUENCE.
+       (is_a_helper <rtx_sequence *>::test): New.
+       (is_a_helper <const rtx_sequence *>::test): New.
+       (rtx_sequence::len): New.
+       (rtx_sequence::element): New.
+       (rtx_sequence::insn): New.
+
+2014-08-27  David Malcolm  <dmalcolm@redhat.com>
+
+       * rtl.h (free_INSN_LIST_list): Strengthen param from rtx * to
+       rtx_insn_list **.
+       (alloc_INSN_LIST): Strengthen return type from rtx to
+       rtx_insn_list *.
+       (copy_INSN_LIST): Likewise for return type and param.
+       (concat_INSN_LIST): Likewise for both params and return type.
+       (remove_free_INSN_LIST_elem): Strenghten first param from rtx to
+       rtx_insn *.  Strengthen second param from rtx * to rtx_insn_list **.
+       (remove_free_INSN_LIST_node): Strenghten return type from rtx to
+       rtx_insn *.  Strengthen param from rtx * to rtx_insn_list **.
+
+       * sched-int.h (struct deps_reg): Strengthen fields "uses", "sets",
+       "implicit_sets", "control_uses", "clobbers" from rtx to
+       rtx_insn_list *.
+       (struct deps_desc): Likewise for fields "pending_read_insns",
+       "pending_write_insns", "pending_jump_insns",
+       "last_pending_memory_flush", "last_function_call",
+       "last_function_call_may_noreturn", "sched_before_next_call",
+       "sched_before_next_jump".
+       (struct _haifa_deps_insn_data): Likewise for field "cond_deps".
+       (remove_from_deps): Strengthen second param from rtx to rtx_insn *.
+
+       * gcse.c (struct ls_expr): Strengthen fields "loads" and "stores"
+       from rtx to rtx_insn_list *.
+       (ldst_entry): Replace use of NULL_RTX with NULL when dealing with
+       rtx_insn_list *.
+
+       * haifa-sched.c (insn_queue): Strengthen this variable from rtx *
+       to rtx_insn_list **.
+       (dep_cost_1): Strengthen local "dep_cost_rtx_link" from rtx to
+       rtx_insn_list *.
+       (queue_insn): Likewise for local "link".
+       (struct haifa_saved_data): Strengthen field "insn_queue" from
+       rtx * to rtx_insn_list **.
+       (save_backtrack_point): Update allocation of save->insn_queue to
+       reflect the strengthening of elements from rtx to rtx_insn_list *.
+       (queue_to_ready): Strengthen local "link" from rtx to
+       rtx_insn_list *; use methods "next" and "insn" when traversing the
+       list.
+       (early_queue_to_ready): Likewise for locals "link", "next_link",
+       "prev_link".
+       (schedule_block): Update allocation of insn_queue to reflect the
+       strengthening of elements from rtx to rtx_insn_list *.  Strengthen
+       local "link" from rtx to rtx_insn_list *, and use methods when
+       working it.
+       (add_to_speculative_block): Strengthen locals "twins" and
+       "next_node" from rtx to rtx_insn_list *, and use methods when
+       working with them.  Strengthen local "twin" from rtx to
+       rtx_insn *, eliminating a checked cast.
+       (fix_recovery_deps): Strengthen locals "ready_list" and "link"
+       from rtx to rtx_insn_list *, and use methods when working with
+       them.
+
+       * lists.c (alloc_INSN_LIST): Strengthen return type and local "r"
+       from rtx to rtx_insn_list *, adding a checked cast.
+       (free_INSN_LIST_list): Strengthen param "listp" from rtx * to
+       rtx_insn_list **.
+       (copy_INSN_LIST): Strengthen return type and locals "new_queue",
+       "newlink" from rtx to rtx_insn_list *.  Strengthen local
+       "pqueue" from rtx * to rtx_insn_list **.  Strengthen local "x"
+       from rtx to rtx_insn *.
+       (concat_INSN_LIST): Strengthen return type and local "new_rtx",
+       from rtx to rtx_insn_list *.  Use methods of the latter class.
+       (remove_free_INSN_LIST_elem): Strengthen param "elem" from rtx to
+       rtx_insn *, and param "listp" from rtx * to rtx_insn_list **.
+       (remove_free_INSN_LIST_node): Strengthen return type and local
+       "elem" from rtx to rtx_insn *.  Strenghten param "listp" from
+       rtx * to rtx_insn_list **.  Strengthen local "node" from rtx to
+       rtx_insn_list *, using "insn" method.
+
+       * sched-deps.c (add_dependence_list):  Strengthen param "list"
+       from rtx to rtx_insn_list *, and use methods when working with it.
+       (add_dependence_list_and_free):  Strengthen param "listp" from
+       rtx * to rtx_insn_list **.
+       (remove_from_dependence_list): Strenghten param "listp" from rtx *
+       to rtx_insn_list **, and use methods when working with *listp.
+       (remove_from_both_dependence_lists): Strengthen param "listp" from
+       rtx * to rtx_insn_list **
+       (add_insn_mem_dependence): Strengthen local "insn_list" from rtx *
+       to rtx_insn_list **.  Eliminate local "link", in favor of two new
+       locals "insn_node" and "mem_node", an rtx_insn_list * and an rtx
+       respectively.
+       (deps_analyze_insn): Split out uses 'f local "t" as an INSN_LIST
+       by introducing local "cond_deps".
+       (remove_from_deps): Strengthen param "insn" from rtx to
+       rtx_insn *.
+
+       * sched-rgn.c (concat_insn_mem_list): Strengthen param
+       "copy_insns" and local "new_insns" from rtx to rtx_insn_list *.
+       Strengthen param "old_insns_p" from rtx * to rtx_insn_list **.
+       Use methods of rtx_insn_list.
+
+       * store-motion.c (struct st_expr): Strengthen fields
+       "antic_stores" and "avail_stores" from rtx to rtx_insn_list *.
+       (st_expr_entry): Replace NULL_RTX with NULL when dealing with
+       rtx_insn_list *.
+       (find_moveable_store): Split out "tmp" into multiple more-tightly
+       scoped locals.  Use methods of rtx_insn_list *.
+       (compute_store_table): Strengthen local "tmp" from rtx to
+       rtx_insn *.  Use methods of rtx_insn_list *.
+
+2014-08-27  David Malcolm  <dmalcolm@redhat.com>
+
+       * coretypes.h (class rtx_insn_list): Add forward declaration.
+       * rtl.h (class rtx_insn_list): New subclass of rtx_def
+       (is_a_helper <rtx_insn_list *>::test): New.
+       (rtx_insn_list::next): New.
+       (rtx_insn_list::insn): New.
+       (gen_rtx_INSN_LIST): Add prototype.
+       * emit-rtl.c (gen_rtx_INSN_LIST): New.
+       * gengenrtl.c (special_rtx): Add INSN_LIST.
+
+2014-08-27  David Malcolm  <dmalcolm@redhat.com>
+
+       * ira-lives.c (find_call_crossed_cheap_reg): Strengthen local
+       "prev" from rtx to rtx_insn *.
+
+2014-08-27  David Malcolm  <dmalcolm@redhat.com>
+
+       * rtl.h (INSN_UID): Convert from a macro to a pair of inline
+       functions.  Require merely an rtx for now, not an rtx_insn *.
+       (BLOCK_FOR_INSN): Likewise.
+       (INSN_LOCATION): Likewise.
+       (INSN_HAS_LOCATION): Convert from a macro to an inline function.
+
+2014-08-27  David Malcolm  <dmalcolm@redhat.com>
+
+       * rtl.h (PATTERN): Convert this macro into a pair of inline
+       functions, for now, requiring const_rtx and rtx.
+
+2014-08-27  David Malcolm  <dmalcolm@redhat.com>
+
+       * target.def (unwind_emit): Strengthen param "insn" from rtx to
+       rtx_insn *.
+       (final_postscan_insn): Likewise.
+       (adjust_cost): Likewise.
+       (adjust_priority): Likewise.
+       (variable_issue): Likewise.
+       (macro_fusion_pair_p): Likewise.
+       (dfa_post_cycle_insn): Likewise.
+       (first_cycle_multipass_dfa_lookahead_guard): Likewise.
+       (first_cycle_multipass_issue): Likewise.
+       (dfa_new_cycle): Likewise.
+       (adjust_cost_2): Likewise for params "insn" and "dep_insn".
+       (speculate_insn): Likewise for param "insn".
+       (gen_spec_check): Likewise for params "insn" and "label".
+       (get_insn_spec_ds): Likewise for param "insn".
+       (get_insn_checked_ds): Likewise.
+       (dispatch_do): Likewise.
+       (dispatch): Likewise.
+       (cannot_copy_insn_p): Likewise.
+       (invalid_within_doloop): Likewise.
+       (legitimate_combined_insn): Likewise.
+       (needed): Likewise.
+       (after): Likewise.
+
+       * doc/tm.texi: Automatically updated to reflect changes to
+       target.def.
+
+       * haifa-sched.c (choose_ready): Convert NULL_RTX to NULL when
+       working with insn.
+       (schedule_block): Likewise.
+       (sched_init): Likewise.
+       (sched_speculate_insn): Strengthen param "insn" from rtx to
+       rtx_insn *.
+       (ready_remove_first_dispatch): Convert NULL_RTX to NULL when
+       working with insn.
+       * hooks.c (hook_bool_rtx_true): Rename to...
+       hook_bool_rtx_insn_true): ...this, and strengthen first param from
+       rtx to rtx_insn *.
+       (hook_constcharptr_const_rtx_null): Rename to...
+       (hook_constcharptr_const_rtx_insn_null): ...this, and strengthen
+       first param from const_rtx to const rtx_insn *.
+       (hook_bool_rtx_int_false): Rename to...
+       (hook_bool_rtx_insn_int_false): ...this, and strengthen first
+       param from rtx to rtx_insn *.
+       (hook_void_rtx_int): Rename to...
+       (hook_void_rtx_insn_int): ...this, and strengthen first param from
+       rtx to rtx_insn *.
+
+       * hooks.h (hook_bool_rtx_true): Rename to...
+       (hook_bool_rtx_insn_true): ...this, and strengthen first param from
+       rtx to rtx_insn *.
+       (hook_bool_rtx_int_false): Rename to...
+       (hook_bool_rtx_insn_int_false): ...this, and strengthen first
+       param from rtx to rtx_insn *.
+       (hook_void_rtx_int): Rename to...
+       (hook_void_rtx_insn_int): ...this, and strengthen first param from
+       rtx to rtx_insn *.
+       (hook_constcharptr_const_rtx_null): Rename to...
+       (hook_constcharptr_const_rtx_insn_null): ...this, and strengthen
+       first param from const_rtx to const rtx_insn *.
+
+       * sched-deps.c (sched_macro_fuse_insns): Strengthen param "insn"
+       and local "prev" from rtx to rtx_insn *.
+
+       * sched-int.h (sched_speculate_insn): Strengthen first param from
+       rtx to rtx_insn *.
+
+       * sel-sched.c (create_speculation_check): Likewise for local "label".
+       * targhooks.c (default_invalid_within_doloop): Strengthen param
+       "insn" from const_rtx to const rtx_insn *.
+       * targhooks.h (default_invalid_within_doloop): Strengthen param
+       from const_rtx to const rtx_insn *.
+
+       * config/alpha/alpha.c (alpha_cannot_copy_insn_p): Likewise.
+       (alpha_adjust_cost): Likewise for params "insn", "dep_insn".
+
+       * config/arc/arc.c (arc_sched_adjust_priority): Likewise for param
+       "insn".
+       (arc_invalid_within_doloop): Likewise, with const.
+
+       * config/arm/arm.c (arm_adjust_cost): Likewise for params "insn", "dep".
+       (arm_cannot_copy_insn_p): Likewise for param "insn".
+       (arm_unwind_emit): Likewise.
+
+       * config/bfin/bfin.c (bfin_adjust_cost): Likewise for params "insn",
+       "dep_insn".
+
+       * config/c6x/c6x.c (c6x_dfa_new_cycle): Likewise for param "insn".
+       (c6x_variable_issue): Likewise.  Removed now-redundant checked
+       cast.
+       (c6x_adjust_cost): Likewise for params "insn", "dep_insn".
+
+       * config/epiphany/epiphany-protos.h (epiphany_mode_needed):
+       Likewise for param "insn".
+       (epiphany_mode_after): Likewise.
+       * config/epiphany/epiphany.c (epiphany_adjust_cost): Likewise for
+       params "insn", "dep_insn".
+       (epiphany_mode_needed): Likewise for param "insn".
+       (epiphany_mode_after): Likewise.
+
+       * config/i386/i386-protos.h (i386_pe_seh_unwind_emit): Likewise.
+       * config/i386/i386.c (ix86_legitimate_combined_insn): Likewise.
+       (ix86_avx_u128_mode_needed): Likewise.
+       (ix86_i387_mode_needed): Likewise.
+       (ix86_mode_needed): Likewise.
+       (ix86_avx_u128_mode_after): Likewise.
+       (ix86_mode_after): Likewise.
+       (ix86_adjust_cost): Likewise for params "insn", "dep_insn".
+       (ix86_macro_fusion_pair_p): Likewise for params "condgen", "condjmp".
+       (ix86_adjust_priority): Likewise for param "insn".
+       (core2i7_first_cycle_multipass_issue): Likewise for param "insn".
+       (do_dispatch): Likewise.
+       (has_dispatch): Likewise.
+       * config/i386/winnt.c (i386_pe_seh_unwind_emit): Likewise.
+
+       * config/ia64/ia64.c (TARGET_INVALID_WITHIN_DOLOOP): Update to
+       reflect renaming of default hook implementation from
+       hook_constcharptr_const_rtx_null to
+       hook_constcharptr_const_rtx_insn_null.
+       (ia64_adjust_cost_2): Strengthen params "insn", "dep_insn" from
+       rtx to rtx_insn *.
+       (ia64_variable_issue): Likewise for param "insn".
+       (ia64_first_cycle_multipass_dfa_lookahead_guard): Likewise.
+       (ia64_dfa_new_cycle): Likewise.
+       (ia64_get_insn_spec_ds): Likewise.
+       (ia64_get_insn_checked_ds): Likewise.
+       (ia64_speculate_insn): Likewise.
+       (ia64_gen_spec_check): Likewise for params "insn", "label".
+       (ia64_asm_unwind_emit): Likewise for param "insn".
+
+       * config/m32r/m32r.c (m32r_adjust_priority): Likewise.
+
+       * config/m68k/m68k.c (m68k_sched_adjust_cost): Likewise for params
+       "insn", "def_insn".
+       (m68k_sched_variable_issue): Likewise for param "insn".
+
+       * config/mep/mep.c (mep_adjust_cost): Likewise for params "insn",
+       "def_insn".
+
+       * config/microblaze/microblaze.c (microblaze_adjust_cost):
+       Likewise for params "insn", "dep".
+
+       * config/mips/mips.c (mips_adjust_cost): Likewise.
+       (mips_variable_issue): Likewise for param "insn".
+       (mips_final_postscan_insn): Likewise.
+
+       * config/mn10300/mn10300.c (mn10300_adjust_sched_cost): Likewise
+       for params "insn", "dep".
+
+       * config/pa/pa.c (pa_adjust_cost): Likewise for params "insn",
+       "dep_insn".
+       (pa_adjust_priority): Likewise for param "insn".
+
+       * config/picochip/picochip.c (picochip_sched_adjust_cost):
+       Likewise for params "insn", "dep_insn".
+
+       * config/rs6000/rs6000.c (rs6000_variable_issue_1): Likewise for
+       param "insn".
+       (rs6000_variable_issue): Likewise.
+       (rs6000_adjust_cost): Likewise for params "insn", "dep_insn".
+       (rs6000_debug_adjust_cost): Likewise.
+       (rs6000_adjust_priority): Likewise for param "insn".
+       (rs6000_use_sched_lookahead_guard): Likewise.
+       (get_next_active_insn): Likewise for return type and both params.
+       (redefine_groups): Likewise for params "prev_head_insn", "tail"
+       and locals "insn", "next_insn".
+       (pad_groups): Likewise.
+
+       * config/s390/s390.c (s390_adjust_priority): Likewise for param
+       "insn".
+       (s390_cannot_copy_insn_p): Likewise.
+       (s390_sched_variable_issue): Likewise for third param, eliminating
+       checked cast.
+       (TARGET_INVALID_WITHIN_DOLOOP): Update to reflect renaming of
+       default hook implementation from hook_constcharptr_const_rtx_null
+       to hook_constcharptr_const_rtx_insn_null.
+
+       * config/sh/sh.c (sh_cannot_copy_insn_p): Strengthen param "insn"
+       from rtx to rtx_insn *.
+       (sh_adjust_cost): Likewise for params "insn", "dep_insn".
+       (sh_variable_issue): Likewise for param "insn".
+       (sh_dfa_new_cycle): Likewise.
+       (sh_mode_needed): Likewise.
+       (sh_mode_after): Likewise.
+
+       * config/sparc/sparc.c (supersparc_adjust_cost): Likewise for
+       params "insn", "dep_insn".
+       (hypersparc_adjust_cost): Likewise.
+       (sparc_adjust_cost): Likewise.
+
+       * config/spu/spu.c (spu_sched_variable_issue): Likewise for third
+       param, eliminated checked cast.
+       (spu_sched_adjust_cost): Likewise for first and third params.
+
+       * config/tilegx/tilegx.c (tilegx_sched_adjust_cost): Strengthen
+       params "insn" and "dep_insn" from rtx to rtx_insn *.
+
+       * config/tilepro/tilepro.c (tilepro_sched_adjust_cost): Likewise.
+
+2014-08-27  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc/config/mn10300/mn10300.c (is_load_insn): Rename to...
+       (set_is_load_p): ...this, updating to work on a SET pattern rather
+       than an insn.
+       (is_store_insn): Rename to...
+       (set_is_store_p): ...this, updating to work on a SET pattern
+       rather than an insn.
+       (mn10300_adjust_sched_cost): Move call to get_attr_timings from
+       top of function to where it is needed.  Rewrite the bogus
+       condition that checks for "insn" and "dep" being PARALLEL to
+       instead use single_set, introducing locals "insn_set" and
+       "dep_set".  Given that we only ever returned "cost" for a non-pair
+       of SETs, bail out early if we don't have a pair of SET.
+       Rewrite all uses of PATTERN (dep) and PATTERN (insn) to instead
+       use the new locals "insn_set" and "dep_set", and update calls to
+       is_load_insn and is_store_insn to be calls to set_is_load_p and
+       set_is_store_p.
+
+2014-08-27  Guozhi Wei  <carrot@google.com>
+
+       PR target/62262
+       * config/aarch64/aarch64.md (*andim_ashift<mode>_bfiz): Check the shift
+       amount before using it.
+
+2014-08-27  Richard Biener  <rguenther@suse.de>
+
+       * gimple-fold.c (get_maxval_strlen): Add overload wrapping
+       get_maxval_strlen inside a more useful API.
+       (gimple_fold_builtin_with_strlen): Remove and fold into ...
+       (gimple_fold_builtin): ... caller.
+       (gimple_fold_builtin_strlen, gimple_fold_builtin_strcpy,
+       gimple_fold_builtin_strncpy, gimple_fold_builtin_strcat,
+       gimple_fold_builtin_fputs, gimple_fold_builtin_memory_chk,
+       gimple_fold_builtin_stxcpy_chk, gimple_fold_builtin_stxncpy_chk,
+       gimple_fold_builtin_snprintf_chk, gimple_fold_builtin_snprintf,
+       gimple_fold_builtin_sprintf): Adjust to compute maxval
+       themselves.
+
+2014-08-27  Yvan Roux  <yvan.roux@linaro.org>
+
+       PR other/62248
+       * config.gcc (arm*-*-*): Check --with-fpu against arm-fpus.def.
+
+2014-08-27  Alexander Ivchenko  <alexander.ivchenko@intel.com>
+           Maxim Kuznetsov  <maxim.kuznetsov@intel.com>
+           Anna Tikhonova  <anna.tikhonova@intel.com>
+           Ilya Tocar  <ilya.tocar@intel.com>
+           Andrey Turetskiy  <andrey.turetskiy@intel.com>
+           Ilya Verbin  <ilya.verbin@intel.com>
+           Kirill Yukhin  <kirill.yukhin@intel.com>
+           Michael Zolotukhin  <michael.v.zolotukhin@intel.com>
+
+       * config/i386/sse.md
+       (define_insn "<mask_codefor>avx512dq_broadcast<mode><mask_name>_1"):
+       Use `concat_tg_mode' attribute to determine asm register size.
+
+2014-08-27  Alexander Ivchenko  <alexander.ivchenko@intel.com>
+           Maxim Kuznetsov  <maxim.kuznetsov@intel.com>
+           Anna Tikhonova  <anna.tikhonova@intel.com>
+           Ilya Tocar  <ilya.tocar@intel.com>
+           Andrey Turetskiy  <andrey.turetskiy@intel.com>
+           Ilya Verbin  <ilya.verbin@intel.com>
+           Kirill Yukhin  <kirill.yukhin@intel.com>
+           Michael Zolotukhin  <michael.v.zolotukhin@intel.com>
+
+       * config/i386/sse.md
+       (define_mode_iterator VI48_AVX512VL): New.
+       (define_mode_iterator VI_UNALIGNED_LOADSTORE): Delete.
+       (define_mode_iterator VI_ULOADSTORE_BW_AVX512VL): New.
+       (define_mode_iterator VI_ULOADSTORE_F_AVX512VL): Ditto.
+       (define_expand "<sse2_avx_avx512f>_loaddqu<mode><mask_name>"
+       with VI1): Change mode iterator.
+       (define_expand "<sse2_avx_avx512f>_loaddqu<mode><mask_name>"
+       with VI_ULOADSTORE_BW_AVX512VL): New.
+       (define_expand "<sse2_avx_avx512f>_loaddqu<mode><mask_name>"
+       with VI_ULOADSTORE_F_AVX512VL): Ditto.
+       (define_insn "*<sse2_avx_avx512f>_loaddqu<mode><mask_name>"
+       with VI1): Change mode iterator.
+       (define_insn "*<sse2_avx_avx512f>_loaddqu<mode><mask_name>"
+       with VI_ULOADSTORE_BW_AVX512VL): New.
+       (define_insn "*<sse2_avx_avx512f>_loaddqu<mode><mask_name>"
+       with VI_ULOADSTORE_F_AVX512VL): Ditto.
+       (define_insn "<sse2_avx_avx512f>_storedqu<mode>
+       with VI1): Change mode iterator.
+       (define_insn "<sse2_avx_avx512f>_storedqu<mode>
+       with VI_ULOADSTORE_BW_AVX512VL): New.
+       (define_insn "<sse2_avx_avx512f>_storedqu<mode>
+       with VI_ULOADSTORE_BW_AVX512VL): Ditto.
+       (define_insn "avx512f_storedqu<mode>_mask"): Delete.
+       (define_insn "<avx512>_storedqu<mode>_mask" with
+       VI48_AVX512VL): New.
+       (define_insn "<avx512>_storedqu<mode>_mask" with
+       VI12_AVX512VL): Ditto.
+
+2014-08-27  Alexander Ivchenko  <alexander.ivchenko@intel.com>
+           Maxim Kuznetsov  <maxim.kuznetsov@intel.com>
+           Anna Tikhonova  <anna.tikhonova@intel.com>
+           Ilya Tocar  <ilya.tocar@intel.com>
+           Andrey Turetskiy  <andrey.turetskiy@intel.com>
+           Ilya Verbin  <ilya.verbin@intel.com>
+           Kirill Yukhin  <kirill.yukhin@intel.com>
+           Michael Zolotukhin  <michael.v.zolotukhin@intel.com>
+
+        * config/i386/sse.md
+       (define_mode_iterator VI48_AVX2_48_AVX512F): Delete.
+       (define_mode_iterator VI48_AVX512BW): New.
+       (define_insn "<avx2_avx512f>_<shift_insn>v<mode><mask_name>"): Delete.
+       (define_insn "<avx2_avx512bw>_<shift_insn>v<mode><mask_name>"
+       with VI48_AVX2_48_AVX512F): New.
+       (define_insn "<avx2_avx512bw>_<shift_insn>v<mode><mask_name>"
+       with VI2_AVX512VL): Ditto.
+
+2014-08-27  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/62239
+       * builtins.c (fold_builtin_strcat_chk): Move to gimple-fold.c.
+       (fold_builtin_3): Do not fold strcat_chk here.
+       * gimple-fold.c (gimple_fold_builtin_strcat_chk): Move here
+       from builtins.c.
+       (gimple_fold_builtin): Fold strcat_chk here.
+
+2014-08-26  Aldy Hernandez  <aldyh@redhat.com>
+
+       * dwarf2out.h (dwarf2out_decl): Remove prototype.
+       * dwarf2out.c (dwarf2out_decl): Make static.
+
+2014-08-26  Joel Sherrill <joel.sherrill@oarcorp.com>
+
+       * doc/invoke.texi: -fno-cxa-atexit should be -fno-use-cxa-atexit.
+
+2014-08-26  David Malcolm  <dmalcolm@redhat.com>
+
+       * cselib.h (struct elt_loc_list): Strengthen field "setting_insn"
+       from rtx to rtx_insn *.
+       (cselib_lookup_from_insn): Likewise for final param.
+       (cselib_subst_to_values_from_insn): Likewise.
+       (cselib_add_permanent_equiv): Likewise.
+
+       * cselib.c (cselib_current_insn): Likewise for this variable.
+       (cselib_subst_to_values_from_insn): Likewise for param "insn".
+       (cselib_lookup_from_insn): Likewise.
+       (cselib_add_permanent_equiv): Likewise for param "insn" and local
+       "save_cselib_current_insn".
+       (cselib_process_insn): Replace use of NULL_RTX with NULL.
+
+       * sched-deps.c (add_insn_mem_dependence): Strengthen param "insn"
+       from rtx to rtx_insn *.
+
+2014-08-26  David Malcolm  <dmalcolm@redhat.com>
+
+       * dse.c (dse_step6): Strengthen local "rinsn" from rtx to
+       rtx_insn *.
+
+2014-08-26  David Malcolm  <dmalcolm@redhat.com>
+
+       * df.h (df_dump_insn_problem_function): Strengthen first param of
+       this callback from const_rtx to const rtx_insn *.
+       (struct df_insn_info): Strengthen field "insn" from rtx to
+       rtx_insn *.
+       (DF_REF_INSN): Eliminate this function, reinstating the older
+       macro definition.
+       (df_find_def): Strengthen param 1 from rtx to rtx_insn *.
+       (df_reg_defined): Likewise.
+       (df_find_use): Likewise.
+       (df_reg_used): Likewise.
+       (df_dump_insn_top): Strengthen param 1 from const_rtx to
+       const rtx_insn *.
+       (df_dump_insn_bottom): Likewise.
+       (df_insn_debug): Strengthen param 1 from rtx to rtx_insn *.
+       (df_insn_debug_regno): Likewise.
+       (debug_df_insn): Likewise.
+       (df_rd_simulate_one_insn): Likewise for param 2.
+       (df_word_lr_simulate_defs): Likewise for param 1.
+       (df_word_lr_simulate_uses): Likewise.
+       (df_md_simulate_one_insn): Likewise for param 2.
+       (df_simulate_find_noclobber_defs): Likewise for param 1.
+       (df_simulate_find_defs): Likewise.
+       (df_simulate_defs): Likewise.
+       (df_simulate_uses): Likewise.
+       (df_simulate_one_insn_backwards): Likewise for param 2.
+       (df_simulate_one_insn_forwards): Likewise.
+       (df_uses_create): Likewise for param 2.
+       (df_insn_create_insn_record): Likewise for param 1.
+       (df_insn_delete): Likewise.
+       (df_insn_rescan): Likewise.
+       (df_insn_rescan_debug_internal): Likewise.
+       (df_insn_change_bb): Likewise.
+       (df_notes_rescan): Likewise.
+       * rtl.h (remove_death): Likewise for param 2.
+       (print_rtl_with_bb): Strengthen param 2 from const_rtx to
+       const rtx_insn *.
+       * sched-int.h (reemit_notes): Strengthen param from rtx to
+       rtx_insn *.
+       * valtrack.h (propagate_for_debug): Likewise for param 1.
+
+       * cfgrtl.c (print_rtl_with_bb): Strengthen param "rtx_first" and
+       local "tmp_rtx" from const_rtx to const rtx_insn *.
+       * combine.c (remove_death): Strengthen param "insn" from rtx to
+       rtx_insn *.
+       (move_deaths): Likewise for local "where_dead".
+       * cse.c (delete_trivially_dead_insns): Introduce local
+       "bind_var_loc" so that "bind" can be strengthened to an rtx_insn *.
+       * df-core.c (df_find_def): Strengthen param "insn" from rtx to
+       rtx_insn *.
+       (df_reg_defined): Likewise.
+       (df_find_use): Likewise.
+       (df_reg_used): Likewise.
+       (df_dump_insn_problem_data): Strengthen param "insn" from
+       const_rtx to const rtx_insn *.
+       (df_dump_insn_top): Likewise.
+       (df_dump_insn_bottom): Likewise.
+       (df_insn_debug): Strengthen param "insn" from rtx to rtx_insn *.
+       (df_insn_debug_regno): Likewise.
+       (debug_df_insn): Likewise.
+       (DF_REF_INSN): Delete.
+       * df-problems.c (df_rd_simulate_one_insn): Strengthen param "insn"
+       from rtx to rtx_insn *.
+       (df_chain_insn_top_dump): Strengthen param "insn" from
+       const_rtx to const rtx_insn *.
+       (df_chain_insn_bottom_dump): Likewise.
+       (df_word_lr_simulate_defs): Strengthen param "insn" from rtx to
+       rtx_insn *.
+       (df_word_lr_simulate_uses): Likewise.
+       (df_print_note): Likewise.
+       (df_remove_dead_and_unused_notes): Likewise.
+       (df_set_unused_notes_for_mw): Likewise.
+       (df_set_dead_notes_for_mw): Likewise.
+       (df_create_unused_note): Likewise.
+       (df_simulate_find_defs): Likewise.
+       (df_simulate_find_uses): Likewise.
+       (df_simulate_find_noclobber_defs): Likewise.
+       (df_simulate_defs): Likewise.
+       (df_simulate_uses): Likewise.
+       (df_simulate_one_insn_backwards): Likewise.
+       (df_simulate_one_insn_forwards): Likewise.
+       (df_md_simulate_one_insn): Likewise.
+       * df-scan.c (df_uses_create): Likewise.
+       (df_insn_create_insn_record): Likewise.
+       (df_insn_delete): Likewise.
+       (df_insn_rescan): Likewise.
+       (df_insn_rescan_debug_internal): Likewise.
+       (df_insn_change_bb): Likewise.
+       (df_notes_rescan): Likewise.
+       (df_refs_add_to_chains): Likewise.
+       (df_insn_refs_verify): Likewise.
+       * emit-rtl.c (set_insn_deleted): Add checked cast to rtx_insn *
+       when invoking df_insn_delete.
+       (reorder_insns): Strengthen local "x" from rtx to rtx_insn *.
+       (set_unique_reg_note): Add checked cast.
+       * final.c (cleanup_subreg_operands): Likewise.
+       * gcse.c (update_ld_motion_stores): Likewise, strengthening local
+       "insn" from rtx to rtx_insn *.
+       * haifa-sched.c (reemit_notes): Strengthen param "insn" and local
+       "last" from rtx to rtx_insn *.
+       * ira-emit.c (change_regs_in_insn): New function.
+       (change_loop): Strengthen local "insn" from rtx to rtx_insn *.
+       Invoke change_regs_in_insn rather than change_regs.
+       * ira.c (update_equiv_regs): Strengthen locals "insn",
+       "init_insn", "new_insn" from rtx to rtx_insn *.  Invoke
+       for_each_rtx_in_insn rather than for_each_rtx.
+       * recog.c (confirm_change_group): Add checked casts.
+       (peep2_update_life): Strengthen local "x" from rtx to rtx_insn *.
+       Add checked cast.
+       (peep2_fill_buffer): Add checked cast.
+       * rtlanal.c (remove_note): Likewise.
+       * valtrack.c (propagate_for_debug): Strengthen param "insn" and
+       locals "next" "end" from rtx to rtx_insn *.
+
+2014-08-26  David Malcolm  <dmalcolm@redhat.com>
+
+       * sched-int.h (sched_init_insn_luid): Strengthen param 1 from rtx
+       to rtx_insn *.
+       (struct reg_use_data): Likewise for field "insn".
+       (insn_cost): Likewise for param.
+       (real_insn_for_shadow): Likewise for return type and param.
+       (increase_insn_priority): Likewise for param 1.
+       (debug_dependencies): Likewise for both params.
+
+       * haifa-sched.c (insn_delay): Likewise for param "insn".
+       (real_insn_for_shadow): Likewise for return type and param "insn".
+       (update_insn_after_change): Likewise for param "insn".
+       (recompute_todo_spec): Likewise for param "next" and locals "pro",
+       "other".
+       (insn_cost): Likewise for param "insn".
+       (increase_insn_priority): Likewise.
+       (calculate_reg_deaths): Likewise.
+       (setup_insn_reg_pressure_info): Likewise.
+       (model_schedule): Strengthen from vec<rtx> to vec<rtx_insn *>.
+       (model_index): Strengthen param "insn" from rtx to rtx_insn *.
+       (model_recompute): Likewise.
+       (must_restore_pattern_p): Likewise for param "next".
+       (model_excess_cost): Likewise for param "insn".
+       (queue_remove): Likewise.
+       (adjust_priority): Likewise for param "prev".
+       (update_register_pressure): Likewise for param "insn".
+       (setup_insn_max_reg_pressure): Likewise for local "insn".
+       (update_reg_and_insn_max_reg_pressure): Likewise for param "insn".
+       (model_add_to_schedule): Likewise.
+       (model_reset_queue_indices): Likewise for local "insn".
+       (unschedule_insns_until): Strengthen local "recompute_vec" from
+       auto_vec<rtx> to auto_vec<rtx_insn *>.  Strengthen locals "last",
+       "con" from rtx to rtx_insn *.
+       (restore_last_backtrack_point): Likewise for both locals "x". Add
+       checked casts.
+       (estimate_insn_tick): Likewise for param "insn".
+       (commit_schedule): Likewise for params "prev_head", "tail" and
+       local "x".
+       (verify_shadows): Likewise for locals "i1", "i2".
+       (dump_insn_stream): Likewise for params "head", "tail" and locals
+       "next_tail", "insn".
+       (schedule_block): Likewise for locals "insn", "x".  Add a checked
+       cast.
+       (fix_inter_tick): Likewise for params "head", "tail".
+       (create_check_block_twin): Likewise for local "jump".
+       (haifa_change_pattern): Likewise for param "insn".
+       (haifa_speculate_insn): Likewise.
+       (dump_new_block_header): Likewise for params "head", "tail".
+       (fix_jump_move): Likewise for param "jump".
+       (move_block_after_check): Likewise.
+       (sched_init_insn_luid): Likewise for param "insn".
+       (sched_init_luids): Likewise for local "insn".
+       (insn_luid): Likewise for param "insn".
+       (init_h_i_d): Likewise.
+       (haifa_init_h_i_d): Likewise for local "insn".
+       (haifa_init_insn): Likewise for param "insn".
+       * sched-deps.c (add_dependence): Likewise for local "real_pro",
+       "other".
+       (create_insn_reg_use): Likewise for param "insn".
+       (setup_insn_reg_uses): Likewise.  Add a checked cast.
+       * sched-ebb.c (debug_ebb_dependencies): Strengthen params "head",
+       "tail" from rtx to rtx_insn *.
+       * sched-rgn.c (void debug_dependencies): Likewise, also for locals
+       "insn", "next_tail".
+
+2014-08-26  David Malcolm  <dmalcolm@redhat.com>
+
+       * haifa-sched.c (struct model_insn_info): Strengthen field "insn"
+       from rtx to rtx_insn *.
+       (model_add_to_schedule): Likewise for locals "start", "end",
+       "iter".
+
+2014-08-26  David Malcolm  <dmalcolm@redhat.com>
+
+       * rtl.h (duplicate_insn_chain): Strengthen both params from rtx to
+       rtx_insn *.
+       * cfgrtl.c (duplicate_insn_chain): Likewise for  params "from",
+       "to" and locals "insn", "next", "copy".  Remove now-redundant
+       checked cast.
+
+2014-08-26  David Malcolm  <dmalcolm@redhat.com>
+
+       * rtl.h (canonicalize_condition): Strengthen param 1 from rtx to
+       rtx_insn * and param 4 from rtx * to rtx_insn **.
+       (get_condition): Strengthen param 1 from rtx to rtx_insn * and
+       param 2 from rtx * to rtx_insn **.
+
+       * df.h (can_move_insns_across): Strengthen params 1-4 from rtx to
+       rtx_insn * and final param from rtx * to rtx_insn **.
+
+       * cfgcleanup.c (try_head_merge_bb): Strengthen local "move_before"
+       from rtx to rtx_insn *.
+       (try_head_merge_bb): Likewise for both locals named "move_upto".
+       * df-problems.c (can_move_insns_across): Likewise for params
+       "from", "to", "across_from", "across_to" and locals "insn",
+       "next", "max_to".  Strengthen param "pmove_upto" from rtx * to
+       rtx_insn **.
+       * ifcvt.c (struct noce_if_info): Strengthen field "cond_earliest"
+       from rtx to rtx_insn *.
+       (noce_get_alt_condition): Strengthen param "earliest" from rtx *
+       to rtx_insn **.  Strengthen local "insn" from rtx to rtx_insn *.
+       (noce_try_minmax): Strengthen locals "earliest", "seq" from rtx to
+       rtx_insn *.
+       (noce_try_abs): Likewise.
+       (noce_get_condition): Likewise for param "jump".  Strengthen param
+       "earliest" from rtx * to rtx_insn **.
+       (noce_find_if_block): Strengthen local "cond_earliest" from rtx to
+       rtx_insn *.
+       (find_cond_trap): Likewise.
+       (dead_or_predicable): Likewise for local "earliest".
+       * loop-iv.c (check_simple_exit): Likewise for local "at".  Add
+       checked cast.
+       * rtlanal.c (canonicalize_condition): Likewise for param "insn"
+       and local "prev".  Strengthen param "earliest" from rtx * to
+       rtx_insn **.
+       (get_condition): Strengthen param "jump" from rtx to rtx_insn *
+       Strengthen param "earliest" from rtx * to rtx_insn **.
+
+2014-08-26  David Malcolm  <dmalcolm@redhat.com>
+
+       * fwprop.c (local_ref_killed_between_p): Strengthen params "from",
+       "to" and local "insn" from rtx to rtx_insn *.
+
+2014-08-26  David Malcolm  <dmalcolm@redhat.com>
+
+       * sel-sched.c (find_place_for_bookkeeping): Strengthen local "insn"
+       from rtx to rtx_insn *.
+       (need_nop_to_preserve_insn_bb): Likewise for param "insn".
+       (code_motion_path_driver): Likewise for local "last_insn".
+       (simplify_changed_insns): Likewise for local "insn".
+
 2014-08-26  David Malcolm  <dmalcolm@redhat.com>
 
        * rtl.h (push_to_sequence): Strengthen param from rtx to