re PR tree-optimization/71818 (ICE in as_a, at is-a.h:192 w/ -O2 -ftree-vectorize)
[gcc.git] / gcc / ChangeLog
index 0757c89bf84adc4defdd6888f55823ed81e30147..e97f2ccc630c6913232ebfaa3128fbd44f001b10 100644 (file)
@@ -1,3 +1,931 @@
+2015-08-01  Alan Hayward <alan.hayward@arm.com>
+
+       PR tree-optimization/71818
+       * tree-vect-loop-manip.c (vect_can_advance_ivs_p): Don't advance IVs
+       with non invariant evolutions
+
+2016-08-01  Georg-Johann Lay  <avr@gjlay.de>
+
+       PR target/72767
+       * config/avr/avr.md (length) [branch]: Correct insn length
+       attribute for forward branches.
+
+2016-08-01  Georg-Johann Lay  <avr@gjlay.de>
+
+       * doc/extend.texi (AVR Built-in Functions): Document
+       __builtin_avr_nops.
+       * config/avr/builtins.def (NOPS): New.
+       * config/avr/avr.c (avr_expand_nops): New static function.
+       (avr_expand_builtin): Use it to handle AVR_BUILTIN_NOPS.
+
+2016-08-01  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_classify_address): Use DImode when
+       performing aarch64_offset_7bit_signed_scaled_p check for TImode LDP/STP
+       addresses.
+
+2016-08-01  Virendra Pathak  <virendra.pathak@broadcom.com>
+
+       * config/aarch64/aarch64.c (vulcan_tunings): Update
+       vulcan L1 cache_line_size.
+
+2016-07-30  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       * config/rs6000/rs6000-protos.h (rs6000_adjust_vec_address): New
+       function that takes a vector memory address, a hard register, an
+       element number and a temporary base register, and recreates an
+       address that points to the appropriate element within the vector.
+       * config/rs6000/rs6000.c (rs6000_adjust_vec_address): Likewise.
+       (rs6000_split_vec_extract_var): Add support for the target of a
+       vec_extract with variable element number being a scalar memory
+       location.
+       (rtx_is_swappable_p): VLSO insns (UNSPEC_VSX_VSLOW) are not
+       swappable.
+       * config/rs6000/vsx.md (vsx_extract_<mode>_load): Replace
+       vsx_extract_<mode>_load insn with a new insn that optimizes
+       storing either element to a memory location, using scratch
+       registers to pick apart the vector and reconstruct the address.
+       (vsx_extract_<P:mode>_<VSX_D:mode>_load): Likewise.
+       (vsx_extract_<mode>_store): Rework alternatives to more correctly
+       support Altivec registers.  Add support for ISA 3.0 Altivec d-form
+       store instruction.
+       (vsx_extract_<mode>_var): Add support for extracting a variable
+       element number from memory.
+
+2016-07-29  Georg-Johann Lay  <avr@gjlay.de>
+
+       * config/avr/avr.c (avr_out_compare): Use const0_rtx instead of 0
+       when testing for compares against constants of the form 0xabab.
+
+2016-07-29  Bin Cheng  <bin.cheng@arm.com>
+
+       PR tree-optimization/57558
+       * tree-vect-loop-manip.c (vect_create_cond_for_niters_checks): New
+       function.
+       (vect_loop_versioning): Support versioning with niter assumptions.
+       * tree-vect-loop.c (tree-ssa-loop.h): Include header file.
+       (vect_get_loop_niters): New parameter.  Reimplement to support
+       assumptions in loop niter info.
+       (vect_analyze_loop_form_1, vect_analyze_loop_form): Ditto.
+       (new_loop_vec_info): Init LOOP_VINFO_NITERS_ASSUMPTIONS.
+       (vect_estimate_min_profitable_iters): Use LOOP_REQUIRES_VERSIONING.
+       Support loop versioning for niters.
+       * tree-vectorizer.c (tree-ssa-loop-niter.h): Include header file.
+       (vect_free_loop_info_assumptions): New function.
+       (vectorize_loops): Free loop niter info for loops with flag
+       LOOP_F_ASSUMPTIONS set if vectorization failed.
+       * tree-vectorizer.h (struct _loop_vec_info): New field
+       num_iters_assumptions.
+       (LOOP_VINFO_NITERS_ASSUMPTIONS): New macro.
+       (LOOP_REQUIRES_VERSIONING_FOR_NITERS): New macro.
+       (LOOP_REQUIRES_VERSIONING): New macro.
+       (vect_free_loop_info_assumptions): New decl.
+
+2016-07-29  Bin Cheng  <bin.cheng@arm.com>
+
+       * cfgloop.h (struct loop): New field constraints.
+       (LOOP_C_INFINITE, LOOP_C_FINITE): New macros.
+       (loop_constraint_set, loop_constraint_clr, loop_constraint_set_p): New
+       functions.
+       * cfgloop.c (alloc_loop): Initialize new field.
+       * cfgloopmanip.c (copy_loop_info): Copy constraints.
+       * tree-ssa-loop-niter.c (number_of_iterations_exit_assumptions):
+       Adjust niter analysis wrto loop constraints.
+       * doc/loop.texi (@node Number of iterations): Add description for loop
+       constraints.
+
+2016-07-29  Marek Polacek  <polacek@redhat.com>
+
+       PR c/7652
+       * config/i386/i386.c (ix86_expand_args_builtin): Add break.
+       (ix86_expand_round_builtin): Likewise.
+
+2016-07-29  Segher Boessenkool  <segher@kernel.crashing.org>
+           Georg-Johann Lay  <avr@gjlay.de>
+
+       PR rtl-optimization/71976
+       * combine.c (get_last_value): Return 0 if the argument for which
+       the function is called has a wider mode than the recorded value.
+
+2016-07-29  Marek Polacek  <polacek@redhat.com>
+
+       PR c/7652
+       * config/rs6000/rs6000.c (altivec_expand_ld_builtin): Add break.
+       (altivec_expand_st_builtin): Likewise.
+
+2016-07-29  Georg-Johann Lay  <avr@gjlay.de>
+
+       * config/avr/avr.md (addqi3) [cc]: Revert glitch in insn attribute
+       introduced in r238381.
+
+2016-07-29  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+       PR middle-end/68217
+       * tree-vrp.c (extract_range_from_binary_expr_1): In case of signed
+       & sign-bit-CST, generate [-INF, 0] instead of [-INF, INF].
+
+2016-07-28  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       * config/rs6000/rs6000-protos.h (rs6000_split_vec_extract_var):
+       New declaration.
+       * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
+       Add support for vec_extract of vector double or vector long having
+       a variable element number on 64-bit ISA 2.07 systems or newer.
+       * config/rs6000/rs6000.c (rs6000_expand_vector_extract):
+       Likewise.
+       (rs6000_split_vec_extract_var): New function to split a
+       vec_extract built-in function with variable element number.
+       (rtx_is_swappable_p): Variable vec_extracts and shifts are not
+       swappable.
+       * config/rs6000/vsx.md (UNSPEC_VSX_VSLO): New unspec.
+       (UNSPEC_VSX_EXTRACT): Likewise.
+       (vsx_extract_<mode>, VSX_D iterator): Fix constraints to allow
+       direct move instructions to be generated on 64-bit ISA 2.07
+       systems and newer, and to take advantage of the ISA 3.0 MFVSRLD
+       instruction.
+       (vsx_vslo_<mode>): New insn to do VSLO on V2DFmode and V2DImode
+       arguments for vec_extract variable element.
+       (vsx_extract_<mode>_var, VSX_D iterator): New insn to support
+       vec_extract with variable element on V2DFmode and V2DImode
+       vectors.
+       * config/rs6000/rs6000.h (TARGET_VEXTRACTUB): Remove
+       -mupper-regs-df requirement, since it isn't needed.
+       (TARGET_DIRECT_MOVE_64BIT): New macro to say whether we can
+       do direct moves on 64-bit systems, which allows optimization of
+       vec_extract on 64-bit ISA 2.07 systems and newer.
+
+2016-07-28  Kristina Martsenko  <kristina.martsenko@arm.com>
+2016-07-28  Wilco Dijkstra  <wdijkstr@arm.com>
+
+        * config/aarch64/aarch64.md
+       (zero_extend<SHORT:mode><GPI:mode>2_aarch64): Change output
+       statement and type.
+       (<optab>qihi2_aarch64): Likewise, and split into two.
+       (extendqihi2_aarch64): New.
+       (zero_extendqihi2_aarch64): New.
+       * config/aarch64/iterators.md (ldrxt): Remove.
+       * config/aarch64/aarch64.c (aarch64_rtx_costs): Change cost of
+       uxtb/uxth.
+
+2016-07-28  Kristina Martsenko  <kristina.martsenko@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_rtx_costs): Fix cost of zero extend.
+
+2016-07-28  Wilco Dijkstra  <wdijkstr@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_pushwb_pair_reg): Rename.
+       (aarch64_push_reg): New function to push 1 or 2 registers.
+       (aarch64_pop_reg): New function to pop 1 or 2 registers.
+       (aarch64_expand_prologue): Use aarch64_push_regs.
+       (aarch64_expand_epilogue): Use aarch64_pop_regs.
+
+2016-07-28  Yuri Rumyantsev  <ysrumyan@gmail.com>
+
+       PR tree-optimization/71734
+       * tree-ssa-loop-im.c (ref_indep_loop_p_1): Pass value of safelen
+       attribute instead of REF_LOOP and use it.
+       (ref_indep_loop_p_2): Use SAFELEN argument instead of REF_LOOP and
+       set it for Loops having non-zero safelen attribute.
+       (ref_indep_loop_p): Pass zero as initial value for safelen.
+
+2016-07-28  Ilya Enkovich  <ilya.enkovich@intel.com>
+
+       PR middle-end/72657
+       PR target/72683
+       * tree-chkp.c (chkp_retbnd_call_by_val): Check for instrumentation
+       call using chkp_gimple_call_builtin_p.
+       (chkp_copy_bounds_for_assign): Likewise.
+
+2016-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+       * config/alpha/alpha.c (alpha_adjust_cost): Adjust.
+       * config/arm/arm-protos.h (struct tune_params): Likewise.
+       * config/arm/arm.c (xscale_sched_adjust_cost): Likewise.
+       (cortex_a9_sched_adjust_cost): Likewise.
+       (fa726te_sched_adjust_cost): Likewise.
+       (arm_adjust_cost): Likewise.
+       * config/bfin/bfin.c (bfin_adjust_cost): Likewise.
+       * config/c6x/c6x.c (c6x_adjust_cost): Likewise.
+       * config/epiphany/epiphany.c (epiphany_adjust_cost): Likewise.
+       * config/i386/i386.c (ix86_adjust_cost): Likewise.
+       * config/ia64/ia64.c: Likewise.
+       * config/m68k/m68k.c: Likewise.
+       * config/mep/mep.c (mep_adjust_cost): Likewise.
+       * config/microblaze/microblaze.c (microblaze_adjust_cost):
+       * Likewise.
+       * config/mips/mips.c (mips_adjust_cost): Likewise.
+       * config/mn10300/mn10300.c (mn10300_adjust_sched_cost):
+       * Likewise.
+       * config/pa/pa.c (pa_adjust_cost): Likewise.
+       * config/rs6000/rs6000.c (rs6000_adjust_cost): Likewise.
+       (rs6000_debug_adjust_cost): Likewise.
+       * config/sh/sh.c (sh_adjust_cost): Likewise.
+       * config/sparc/sparc.c (supersparc_adjust_cost): Likewise.
+       (hypersparc_adjust_cost): Likewise.
+       (sparc_adjust_cost): Likewise.
+       * config/spu/spu.c (spu_sched_adjust_cost): Likewise.
+       * config/tilegx/tilegx.c (tilegx_sched_adjust_cost): Likewise.
+       * config/tilepro/tilepro.c (tilepro_sched_adjust_cost):
+       * Likewise.
+       * config/visium/visium.c (visium_adjust_cost): Likewise.
+       * doc/tm.texi: Regenerate.
+       * haifa-sched.c (dep_cost_1): Adjust.
+       * target.def: Merge adjust_cost and adjust_cost_2.
+
+2016-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+       * haifa-sched.c (add_to_speculative_block): Make twins a vector.
+
+2016-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+       * store-motion.c (struct st_expr): Make pattern_regs a vector.
+       (extract_mentioned_regs): Append to a vector instead of
+       returning a rtx_expr_list.
+       (st_expr_entry): Adjust.
+       (free_st_expr_entry): Likewise.
+       (store_ops_ok): Likewise.
+       (store_killed_in_insn): Likewise.
+       (find_moveable_store): Likewise.
+
+2016-07-28  Martin Liska  <mliska@suse.cz>
+
+       PR gcov-profile/68025
+       * tree-profile.c (tree_profiling): Respect
+       no_profile_instrument_function attribute.
+       * doc/extend.texi: Document no_profile_instrument_function
+       attribute.
+
+2016-07-28  Martin Liska  <mliska@suse.cz>
+
+       PR rtl-optimization/70944
+       * combine.c (make_compound_operation):
+       Do not allow make_compound_operation for vector mode
+
+2016-07-28  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+       PR middle-end/71994
+       * tree-ssa-reassoc.c (maybe_optimize_range_tests): Check tcc_comparison
+        before calling get_ops.
+
+2016-07-27  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       * defaults.h (LOG2_BITS_PER_UNIT): Move from here...
+       * tree.h (LOG2_BITS_PER_UNIT): ...to here.
+       (BITS_PER_UNIT_LOG): Remove.
+       (int_bit_position): Use LOG2_BITS_PER_UNIT instead of BITS_PER_UNIT_LOG.
+       * expr.c (expand_assignment): Likewise.
+       * stor-layout.c (initialize_sizetypes): Likewise.
+
+2016-07-27  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       * config/rs6000/vector.md (vec_extract<mode>): Change the calling
+       signature of rs6000_expand_vector_extract so that the element
+       number is a RTX instead of a constant integer.
+       * config/rs6000/rs6000-protos.h (rs6000_expand_vector_extract):
+       Likewise.
+       * config/rs6000/rs6000.c (rs6000_expand_vector_extract): Likewise.
+       (altivec_expand_vec_ext_builtin): Likewise.
+       * config/rs6000/altivec.md (reduc_plus_scal_<mode>): Likewise.
+       * config/rs6000/vsx.md (vsx_extract_<mode>): Fix spelling of the
+       MFVSRLD instruction.
+
+2016-07-27  David Malcolm  <dmalcolm@redhat.com>
+
+       * input.c (get_pure_location): Move here from tree.c.
+       (make_location): Likewise.  Add header comment.
+       (selftest::test_accessing_ordinary_linemaps): Verify
+       pure_location_p, make_location, get_location_from_adhoc_loc and
+       get_range_from_loc.
+       * input.h (get_pure_location): Move declaration here from tree.h.
+       (get_finish): Likewise for inline function.
+       (make_location): Likewise for declaration.
+       * tree.c (get_pure_location): Move to input.c.
+       (make_location): Likewise.
+       * tree.h (get_pure_location): Move declaration to tree.h.
+       (get_finish): Likewise for inline function.
+       (make_location): Likewise for declaration.
+
+2016-07-27  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+       PR middle-end/71078
+       * match.pd (x / abs(x) -> copysign(1.0, x)): New pattern.
+
+2016-07-27  David Malcolm  <dmalcolm@redhat.com>
+
+       * system.h (STATIC_ASSERT): Use static_assert if building
+       with C++11 onwards.
+
+2016-07-27  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/72517
+       * tree-vect-data-refs.c (vect_analyze_data_ref_dependences):
+       Revert change to not compute read-read dependences.
+
+2016-07-27  Richard Biener  <rguenther@suse.de>
+
+       * predict.c (set_even_probabilities): Make nedges unsigned.
+
+2016-07-27  Martin Liska  <mliska@suse.cz>
+
+       * predict.c (set_even_probabilities): Handle unlikely edges.
+       (combine_predictions_for_bb): Likewise.
+
+2016-07-26  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       PR target/71869
+       * config/rs6000/rs6000.c (rs6000_generate_compare): Rework
+       __float128 support when we don't have hardware support, so that
+       the IEEE built-in functions like isgreater, first call __unordkf3
+       to make sure neither operand is a NaN, and if both operands are
+       ordered, do the normal comparison.
+
+2016-07-26  Patrick Palka  <ppalka@gcc.gnu.org>
+
+       * tree-vrp.c (dump_asserts_for): Print loc->expr instead of
+       name.
+       (extract_code_and_val_from_cond_with_ops): Verify that name is
+       either cond_op0 or cond_op1.
+
+2016-07-26  Patrick Palka  <ppalka@gcc.gnu.org>
+
+       PR tree-optimization/18046
+       * genmodes.c (emit_mode_size_inline): Emit an assert that
+       verifies that mode is a valid array index.
+       (emit_mode_nuinits_inline): Likewise.
+       (emit_mode_inner_inline): Likewise.
+       (emit_mode_unit_size_inline): Likewise.
+       (emit_mode_unit_precision_inline): Likewise.
+       * tree-vrp.c: Include params.h.
+       (find_switch_asserts): Register edge assertions for the default
+       label which correspond to the anti-ranges of each case label.
+       * params.def (PARAM_MAX_VRP_SWITCH_ASSERTIONS): New.
+       * doc/invoke.texi: Document it.
+
+2016-07-26  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+       * gimple-ssa-strength-reduction.c (slsr_process_phi): Remove dead
+       and unnecessary call to gimple_bb.
+
+2016-07-26  Richard Biener  <rguenther@suse.de>
+
+       PR rtl-optimization/71984
+       * simplify-rtx.c (simplify_subreg): Use GET_MODE_SIZE and prepare
+       for VOIDmode.
+
+2016-07-26  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/72517
+       * expmed.c (extract_bit_field_1): Constrain the vector mode
+       with element size matching the extraction mode size when
+       choosing a better vector mode to do the extraction from.
+
+2016-07-26  Richard Biener  <rguenther@suse.de>
+           Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
+
+       PR middle-end/70920
+       * match.pd ((intptr)x eq/ne CST to x eq/ne (typeof x) CST): New
+       pattern.
+
+2016-07-26  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+       * tree-ssa-structalias.c (struct scc_info): Change types of
+       members to auto_sbitmap and auto_vec.
+       (scc_info::scc_info): New constructor.
+       (scc_info::~scc_info): New destructor.
+       (init_scc_info): Remove.
+       (free_scc_info): Remove.
+       (find_indirect_cycles): Adjust.
+       (perform_var_substitution): Likewise.
+       (free_var_substitution_info): Likewise.
+
+2016-07-26  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+       * tree-outof-ssa.c (struct elim_graph): Change type of members
+       to auto_vec and auto_sbitmap.
+       (elim_graph::elim_graph): New constructor.
+       (delete_elim_graph): Remove.
+       (expand_phi_nodes): Adjust.
+
+2016-07-26  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+       * tree-outof-ssa.c (struct elim_graph): Remove typedef.
+       (new_elim_graph): Adjust.
+       (clear_elim_graph): Likewise.
+       (delete_elim_graph): Likewise.
+       (elim_graph_size): Likewise.
+       (elim_graph_add_node): Likewise.
+       (elim_graph_add_edge): Likewise.
+       (elim_graph_remove_succ_edge): Likewise.
+       (eliminate_name): Likewise.
+       (eliminate_build): Likewise.
+       (elim_forward): Likewise.
+       (elim_unvisited_predecessor): Likewise.
+       (elim_backward): Likewise.
+       (elim_create): Likewise.
+       (eliminate_phi): Likewise.
+       (expand_phi_nodes): Likewise.
+
+2016-07-26  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+       * bt-load.c (compute_out): Use auto_sbitmap class.
+       (link_btr_uses): Likewise.
+       * cfganal.c (mark_dfs_back_edges): Likewise.
+       (post_order_compute): Likewise.
+       (inverted_post_order_compute): Likewise.
+       (pre_and_rev_post_order_compute_fn): Likewise.
+       (single_pred_before_succ_order): Likewise.
+       * cfgexpand.c (pass_expand::execute): Likewise.
+       * cfgloop.c (verify_loop_structure): Likewise.
+       * cfgloopmanip.c (fix_bb_placements): Likewise.
+       (remove_path): Likewise.
+       (update_dominators_in_loop): Likewise.
+       * cfgrtl.c (break_superblocks): Likewise.
+       * ddg.c (check_sccs): Likewise.
+       (create_ddg_all_sccs): Likewise.
+       * df-core.c (df_worklist_dataflow): Likewise.
+       * dse.c (dse_step3): Likewise.
+       * except.c (eh_region_outermost): Likewise.
+       * function.c (thread_prologue_and_epilogue_insns): Likewise.
+       * gcse.c (prune_expressions): Likewise.
+       (prune_insertions_deletions): Likewise.
+       * gimple-ssa-backprop.c (backprop::~backprop): Likewise.
+       * graph.c (draw_cfg_nodes_no_loops): Likewise.
+       * ira-lives.c (remove_some_program_points_and_update_live_ranges): Likewise.
+       * lcm.c (compute_earliest): Likewise.
+       (compute_farthest): Likewise.
+       * loop-unroll.c (unroll_loop_constant_iterations): Likewise.
+       (unroll_loop_runtime_iterations): Likewise.
+       (unroll_loop_stupid): Likewise.
+       * lower-subreg.c (decompose_multiword_subregs): Likewise.
+       * lra-lives.c: Likewise.
+       * lra.c (lra): Likewise.
+       * modulo-sched.c (schedule_reg_moves): Likewise.
+       (optimize_sc): Likewise.
+       (get_sched_window): Likewise.
+       (sms_schedule_by_order): Likewise.
+       (check_nodes_order): Likewise.
+       (order_nodes_of_sccs): Likewise.
+       (order_nodes_in_scc): Likewise.
+       * recog.c (split_all_insns): Likewise.
+       * regcprop.c (pass_cprop_hardreg::execute): Likewise.
+       * reload1.c (reload): Likewise.
+       * sched-rgn.c (haifa_find_rgns): Likewise.
+       (split_edges): Likewise.
+       (compute_trg_info): Likewise.
+       * sel-sched.c (init_seqno): Likewise.
+       * store-motion.c (remove_reachable_equiv_notes): Likewise.
+       * tree-into-ssa.c (update_ssa): Likewise.
+       * tree-ssa-live.c (live_worklist): Likewise.
+       * tree-ssa-loop-im.c (fill_always_executed_in): Likewise.
+       * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
+       * Likewise.
+       (try_peel_loop): Likewise.
+       * tree-ssa-loop-manip.c (tree_transform_and_unroll_loop):
+       * Likewise.
+       * tree-ssa-pre.c (compute_antic): Likewise.
+       * tree-ssa-reassoc.c (undistribute_ops_list): Likewise.
+       * tree-stdarg.c (reachable_at_most_once): Likewise.
+       * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Likewise.
+       * var-tracking.c (vt_find_locations): Likewise.
+
+2016-07-26  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+       * sbitmap.h (auto_sbitmap): New class.
+
+2016-07-26  Alan Modra  <amodra@gmail.com>
+
+       PR target/72103
+       * config/rs6000/rs6000.c (rs6000_secondary_reload): Initialize
+       sri->t_icode.
+
+2016-07-25  David Malcolm  <dmalcolm@redhat.com>
+
+       * input.c (selftest::temp_source_file::temp_source_file): Fix
+       missing "%s" in fprintf.
+
+2016-07-25  John David Anglin  <danglin@gcc.gnu.org>
+
+       PR middle-end/71732
+       * cselib.c (cselib_process_insn): Invalidate argument slots for
+       const/pure calls.
+
+2016-07-25  Jiong Wang  <jiong.wang@arm.com>
+
+       * config/aarch64/arm_neon.h (vfmah_lane_f16, vfmah_laneq_f16,
+       vfmsh_lane_f16, vfmsh_laneq_f16, vmulh_lane_f16, vmulh_laneq_f16,
+       vmulxh_lane_f16, vmulxh_laneq_f16): New.
+
+2016-07-25  Jiong Wang  <jiong.wang@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Register new builtins.
+       * config/aarch64/aarch64.md (fma, fnma): Support HF.
+       * config/aarch64/arm_fp16.h (vfmah_f16, vfmsh_f16): New.
+
+2016-07-25  Jiong Wang  <jiong.wang@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Register new builtins.
+       * config/aarch64/aarch64.md (<FCVT_F2FIXED:fcvt_fixed_insn>hf<mode>3):
+       New.
+       (<FCVT_FIXED2F:fcvt_fixed_insn><mode>hf3): Likewise.
+       (add<mode>3): Likewise.
+       (sub<mode>3): Likewise.
+       (mul<mode>3): Likewise.
+       (div<mode>3): Likewise.
+       (*div<mode>3): Likewise.
+       (<fmaxmin><mode>3): Extend to HF.
+       * config/aarch64/aarch64-simd.md (aarch64_rsqrts<mode>): Likewise.
+       (fabd<mode>3): Likewise.
+       (<FCVT_F2FIXED:fcvt_fixed_insn><VHSDF_HSDF:mode>3): Likewise.
+       (<FCVT_FIXED2F:fcvt_fixed_insn><VHSDI_HSDI:mode>3): Likewise.
+       (aarch64_fmulx<mode>): Likewise.
+       (aarch64_fac<optab><mode>): Likewise.
+       (aarch64_frecps<mode>): Likewise.
+       (<FCVT_F2FIXED:fcvt_fixed_insn>hfhi3): New.
+       (<FCVT_FIXED2F:fcvt_fixed_insn>hihf3): Likewise.
+       * config/aarch64/iterators.md (VHSDF_SDF): Delete.
+       (VSDQ_HSDI): Support HI.
+       (fcvt_target, FCVT_TARGET): Likewise.
+       * config/aarch64/arm_fp16.h (vaddh_f16, vsubh_f16, vabdh_f16,
+       vcageh_f16, vcagth_f16, vcaleh_f16, vcalth_f16, vceqh_f16, vcgeh_f16,
+       vcgth_f16, vcleh_f16, vclth_f16, vcvth_n_f16_s16, vcvth_n_f16_s32,
+       vcvth_n_f16_s64, vcvth_n_f16_u16, vcvth_n_f16_u32, vcvth_n_f16_u64,
+       vcvth_n_s16_f16, vcvth_n_s32_f16, vcvth_n_s64_f16, vcvth_n_u16_f16,
+       vcvth_n_u32_f16, vcvth_n_u64_f16, vdivh_f16, vmaxh_f16, vmaxnmh_f16,
+       vminh_f16, vminnmh_f16, vmulh_f16, vmulxh_f16, vrecpsh_f16,
+       vrsqrtsh_f16): New.
+
+2016-07-25  Jiong Wang  <jiong.wang@arm.com>
+
+       * config.gcc (aarch64*-*-*): Install arm_fp16.h.
+       * config/aarch64/aarch64-builtins.c (hi_UP): New.
+       * config/aarch64/aarch64-simd-builtins.def: Register new builtins.
+       * config/aarch64/aarch64-simd.md (aarch64_frsqrte<mode>): Extend to HF
+       mode.
+       (aarch64_frecp<FRECP:frecp_suffix><mode>): Likewise.
+       (aarch64_cm<optab><mode>): Likewise.
+       * config/aarch64/aarch64.md (<frint_pattern><mode>2): Likewise.
+       (l<fcvt_pattern><su_optab><GPF:mode><GPI:mode>2): Likewise.
+       (fix_trunc<GPF:mode><GPI:mode>2): Likewise.
+       (sqrt<mode>2): Likewise.
+       (*sqrt<mode>2): Likewise.
+       (abs<mode>2): Likewise.
+       (<optab><mode>hf2): New pattern for HF mode.
+       (<optab>hihf2): Likewise.
+       * config/aarch64/arm_neon.h: Include arm_fp16.h.
+       * config/aarch64/iterators.md (GPF_F16, GPI_F16, VHSDF_HSDF): New.
+       (w1, w2, v, s, q, Vmtype, V_cmp_result, fcvt_iesize, FCVT_IESIZE):
+       Support HF mode.
+       * config/aarch64/arm_fp16.h: New file.
+       (vabsh_f16, vceqzh_f16, vcgezh_f16, vcgtzh_f16, vclezh_f16, vcltzh_f16,
+       vcvth_f16_s16, vcvth_f16_s32, vcvth_f16_s64, vcvth_f16_u16,
+       vcvth_f16_u32, vcvth_f16_u64, vcvth_s16_f16, vcvth_s32_f16,
+       vcvth_s64_f16, vcvth_u16_f16, vcvth_u32_f16, vcvth_u64_f16,
+       vcvtah_s16_f16, vcvtah_s32_f16, vcvtah_s64_f16, vcvtah_u16_f16,
+       vcvtah_u32_f16, vcvtah_u64_f16, vcvtmh_s16_f16, vcvtmh_s32_f16,
+       vcvtmh_s64_f16, vcvtmh_u16_f16, vcvtmh_u32_f16, vcvtmh_u64_f16,
+       vcvtnh_s16_f16, vcvtnh_s32_f16, vcvtnh_s64_f16, vcvtnh_u16_f16,
+       vcvtnh_u32_f16, vcvtnh_u64_f16, vcvtph_s16_f16, vcvtph_s32_f16,
+       vcvtph_s64_f16, vcvtph_u16_f16, vcvtph_u32_f16, vcvtph_u64_f16,
+       vnegh_f16, vrecpeh_f16, vrecpxh_f16, vrndh_f16, vrndah_f16, vrndih_f16,
+       vrndmh_f16, vrndnh_f16, vrndph_f16, vrndxh_f16, vrsqrteh_f16,
+       vsqrth_f16): New.
+
+2016-07-25  Jiong Wang  <jiong.wang@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def (reduc_smax_scal_,
+       reduc_smin_scal_): Use VDQIF_F16.
+       (reduc_smax_nan_scal_, reduc_smin_nan_scal_): Use VHSDF.
+       * config/aarch64/aarch64-simd.md (reduc_<maxmin_uns>_scal_<mode>):
+       Use VHSDF.
+       (aarch64_reduc_<maxmin_uns>_internal<mode>): Likewise.
+       * config/aarch64/iterators.md (VDQIF_F16): New.
+       (vp): Support HF modes.
+       * config/aarch64/arm_neon.h (vmaxv_f16, vmaxvq_f16, vminv_f16,
+       vminvq_f16, vmaxnmv_f16, vmaxnmvq_f16, vminnmv_f16, vminnmvq_f16): New.
+
+2016-07-25  Jiong Wang  <jiong.wang@arm.com>
+
+       * config/aarch64/aarch64-simd.md (*aarch64_mulx_elt_to_64v2df): Rename to
+       "*aarch64_mulx_elt_from_dup<mode>".
+       (*aarch64_mul3_elt<mode>): Update schedule type.
+       (*aarch64_mul3_elt_from_dup<mode>): Likewise.
+       (*aarch64_fma4_elt_from_dup<mode>): Likewise.
+       (*aarch64_fnma4_elt_from_dup<mode>): Likewise.
+       * config/aarch64/iterators.md (VMUL): Supprt half precision float modes.
+       (f, fp): Support HF modes.
+       * config/aarch64/arm_neon.h (vfma_lane_f16, vfmaq_lane_f16,
+       vfma_laneq_f16, vfmaq_laneq_f16, vfma_n_f16, vfmaq_n_f16, vfms_lane_f16,
+       vfmsq_lane_f16, vfms_laneq_f16, vfmsq_laneq_f16, vfms_n_f16,
+       vfmsq_n_f16, vmul_lane_f16, vmulq_lane_f16, vmul_laneq_f16,
+       vmulq_laneq_f16, vmul_n_f16, vmulq_n_f16, vmulx_lane_f16,
+       vmulxq_lane_f16, vmulx_laneq_f16, vmulxq_laneq_f16): New.
+
+2016-07-25  Jiong Wang  <jiong.wang@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Register new builtins.
+       * config/aarch64/aarch64-simd.md (fma<mode>4, fnma<mode>4): Extend to HF
+       modes.
+       * config/aarch64/arm_neon.h (vfma_f16, vfmaq_f16, vfms_f16,
+       vfmsq_f16): New.
+
+2016-07-25  Jiong Wang  <jiong.wang@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Register new builtins.
+       * config/aarch64/aarch64-simd.md
+       (aarch64_rsqrts<mode>): Extend to HF modes.
+       (fabd<mode>3): Likewise.
+       (<FCVT_F2FIXED:fcvt_fixed_insn><VHSDF_SDF:mode>3): Likewise.
+       (<FCVT_FIXED2F:fcvt_fixed_insn><VHSDI_SDI:mode>3): Likewise.
+       (aarch64_<maxmin_uns>p<mode>): Likewise.
+       (<su><maxmin><mode>3): Likewise.
+       (<maxmin_uns><mode>3): Likewise.
+       (<fmaxmin><mode>3): Likewise.
+       (aarch64_faddp<mode>): Likewise.
+       (aarch64_fmulx<mode>): Likewise.
+       (aarch64_frecps<mode>): Likewise.
+       (*aarch64_fac<optab><mode>): Rename to aarch64_fac<optab><mode>.
+       (add<mode>3): Extend to HF modes.
+       (sub<mode>3): Likewise.
+       (mul<mode>3): Likewise.
+       (div<mode>3): Likewise.
+       (*div<mode>3): Likewise.
+       * config/aarch64/aarch64.c (aarch64_emit_approx_div): Return false for
+       HF, V4HF and V8HF.
+       * config/aarch64/iterators.md (VDQ_HSDI, VSDQ_HSDI): New mode iterator.
+       * config/aarch64/arm_neon.h (vadd_f16, vaddq_f16, vabd_f16, vabdq_f16,
+       vcage_f16, vcageq_f16, vcagt_f16, vcagtq_f16, vcale_f16, vcaleq_f16,
+       vcalt_f16, vcaltq_f16, vceq_f16, vceqq_f16, vcge_f16, vcgeq_f16,
+       vcgt_f16, vcgtq_f16, vcle_f16, vcleq_f16, vclt_f16, vcltq_f16,
+       vcvt_n_f16_s16, vcvtq_n_f16_s16, vcvt_n_f16_u16, vcvtq_n_f16_u16,
+       vcvt_n_s16_f16, vcvtq_n_s16_f16, vcvt_n_u16_f16, vcvtq_n_u16_f16,
+       vdiv_f16, vdivq_f16, vdup_lane_f16, vdup_laneq_f16, vdupq_lane_f16,
+       vdupq_laneq_f16, vdups_lane_f16, vdups_laneq_f16, vmax_f16, vmaxq_f16,
+       vmaxnm_f16, vmaxnmq_f16, vmin_f16, vminq_f16, vminnm_f16, vminnmq_f16,
+       vmul_f16, vmulq_f16, vmulx_f16, vmulxq_f16, vpadd_f16, vpaddq_f16,
+       vpmax_f16, vpmaxq_f16, vpmaxnm_f16, vpmaxnmq_f16, vpmin_f16, vpminq_f16,
+       vpminnm_f16, vpminnmq_f16, vrecps_f16, vrecpsq_f16, vrsqrts_f16,
+       vrsqrtsq_f16, vsub_f16, vsubq_f16): New.
+
+2016-07-25  Jiong Wang  <jiong.wang@arm.com>
+
+       * config/aarch64/aarch64-builtins.c (TYPES_BINOP_USS): New.
+       * config/aarch64/aarch64-simd-builtins.def: Register new builtins.
+       * config/aarch64/aarch64-simd.md (aarch64_rsqrte<mode>): Extend to HF modes.
+       (neg<mode>2): Likewise.
+       (abs<mode>2): Likewise.
+       (<frint_pattern><mode>2): Likewise.
+       (l<fcvt_pattern><su_optab><VDQF:mode><fcvt_target>2): Likewise.
+       (<optab><VDQF:mode><fcvt_target>2): Likewise.
+       (<fix_trunc_optab><VDQF:mode><fcvt_target>2): Likewise.
+       (ftrunc<VDQF:mode>2): Likewise.
+       (<optab><fcvt_target><VDQF:mode>2): Likewise.
+       (sqrt<mode>2): Likewise.
+       (*sqrt<mode>2): Likewise.
+       (aarch64_frecpe<mode>): Likewise.
+       (aarch64_cm<optab><mode>): Likewise.
+       * config/aarch64/aarch64.c (aarch64_emit_approx_sqrt): Return false for
+       HF, V4HF and V8HF.
+       * config/aarch64/iterators.md (VHSDF, VHSDF_DF, VHSDF_SDF): New.
+       (VDQF_COND, fcvt_target, FCVT_TARGET, hcon): Extend mode attribute to HF modes.
+       (stype): New.
+       * config/aarch64/arm_neon.h (vdup_n_f16): New.
+       (vdupq_n_f16): Likewise.
+       (vld1_dup_f16): Use vdup_n_f16.
+       (vld1q_dup_f16): Use vdupq_n_f16.
+       (vabs_f16, vabsq_f16, vceqz_f16, vceqzq_f16, vcgez_f16, vcgezq_f16,
+       vcgtz_f16, vcgtzq_f16, vclez_f16, vclezq_f16, vcltz_f16, vcltzq_f16,
+       vcvt_f16_s16, vcvtq_f16_s16, vcvt_f16_u16, vcvtq_f16_u16, vcvt_s16_f16,
+       vcvtq_s16_f16, vcvt_u16_f16, vcvtq_u16_f16, vcvta_s16_f16,
+       vcvtaq_s16_f16, vcvta_u16_f16, vcvtaq_u16_f16, vcvtm_s16_f16,
+       vcvtmq_s16_f16, vcvtm_u16_f16, vcvtmq_u16_f16, vcvtn_s16_f16,
+       vcvtnq_s16_f16, vcvtn_u16_f16, vcvtnq_u16_f16, vcvtp_s16_f16,
+       vcvtpq_s16_f16, vcvtp_u16_f16, vcvtpq_u16_f16, vneg_f16, vnegq_f16,
+       vrecpe_f16, vrecpeq_f16, vrnd_f16, vrndq_f16, vrnda_f16, vrndaq_f16,
+       vrndi_f16, vrndiq_f16, vrndm_f16, vrndmq_f16, vrndn_f16, vrndnq_f16,
+       vrndp_f16, vrndpq_f16, vrndx_f16, vrndxq_f16, vrsqrte_f16, vrsqrteq_f16,
+       vsqrt_f16, vsqrtq_f16): New.
+
+2016-07-25  Jiong Wang  <jiong.wang@arm.com>
+
+       * config/aarch64/aarch64-simd.md
+       (aarch64_<PERMUTE:perm_insn><PERMUTE:perm_hilo><mode>): Use VALL_F16.
+       (aarch64_ext<mode>): Likewise.
+       (aarch64_rev<REVERSE:rev_op><mode>): Likewise.
+       * config/aarch64/aarch64.c (aarch64_evpc_trn, aarch64_evpc_uzp,
+       aarch64_evpc_zip, aarch64_evpc_ext, aarch64_evpc_rev): Support V4HFmode
+       and V8HFmode.
+       * config/aarch64/arm_neon.h (__INTERLEAVE_LIST): Support float16x4_t,
+       float16x8_t.
+       (__aarch64_vdup_lane_f16, __aarch64_vdup_laneq_f16,
+       __aarch64_vdupq_lane_f16, __aarch64_vdupq_laneq_f16, vbsl_f16,
+       vbslq_f16, vdup_n_f16, vdupq_n_f16, vdup_lane_f16, vdup_laneq_f16,
+       vdupq_lane_f16, vdupq_laneq_f16, vduph_lane_f16, vduph_laneq_f16,
+       vext_f16, vextq_f16, vmov_n_f16, vmovq_n_f16, vrev64_f16, vrev64q_f16,
+       vtrn1_f16, vtrn1q_f16, vtrn2_f16, vtrn2q_f16, vtrn_f16, vtrnq_f16,
+       vuzp1_f16, vuzp1q_f16, vuzp2_f16, vuzp2q_f16, vzip1_f16, vzip2q_f16):
+       New.
+       (vmov_n_f16): Reimplement using vdup_n_f16.
+       (vmovq_n_f16): Reimplement using vdupq_n_f16..
+
+2016-07-25  Jiong Wang  <jiong.wang@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_add_constant): New parameter
+       "frame_related_p".  Generate CFA annotation when it's necessary.
+       (aarch64_expand_prologue): Use aarch64_add_constant.
+       (aarch64_expand_epilogue): Likewise.
+       (aarch64_output_mi_thunk): Pass "false" when calling
+       aarch64_add_constant.
+
+2016-07-25  Jiong Wang  <jiong.wang@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_add_constant): Optimize instruction
+       sequences.
+
+2016-07-25  Jiong Wang  <jiong.wang@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_add_constant): New parameter "mode".
+       Use aarch64_internal_mov_immediate instead of aarch64_build_constant.
+       (aarch64_output_mi_thunk): Pass Pmode when calling aarch64_add_constant.
+       (aarch64_build_constant): Delete.
+
+2016-07-25  Alexander Monakov  <amonakov@ispras.ru>
+
+       Revert
+       2016-07-20  Alexander Monakov  <amonakov@ispras.ru>
+
+       * config/nvptx/nvptx.c (nvptx_option_override): Do not set
+       flag_toplevel_reorder.
+
+2016-07-25  Richard Biener  <rguenther@suse.de>
+
+       * cgraph.c (cgraph_node::verify_node): Compare against builtin
+       by using DECL_BUILT_IN_CLASS and DECL_FUNCTION_CODE.
+       * tree-chkp.c (chkp_gimple_call_builtin_p): Likewise.
+       * tree-streamer.h (streamer_handle_as_builtin_p): Remove.
+       (streamer_get_builtin_tree): Likewise.
+       (streamer_write_builtin): Likewise.
+       * lto-streamer.h (LTO_builtin_decl): Remove.
+       * lto-streamer-in.c (lto_read_tree_1): Remove assert.
+       (lto_input_scc): Remove LTO_builtin_decl handling.
+       (lto_input_tree_1): Liekwise.
+       * lto-streamer-out.c (lto_output_tree_1): Remove special
+       handling of builtins.
+       (DFS::DFS): Likewise.
+       * tree-streamer-in.c (streamer_get_builtin_tree): Remove.
+       * tree-streamer-out.c (pack_ts_function_decl_value_fields): Remove
+       assert.
+       (streamer_write_builtin): Remove.
+
+2016-07-25  Martin Liska  <mliska@suse.cz>
+
+       * lto-cgraph.c (input_symtab): Don't call get_working_sets
+       if flag_auto_profile is set to true.
+
+2016-07-25  Martin Liska  <mliska@suse.cz>
+
+       PR gcov-profile/71868
+       * cfgloopanal.c (expected_loop_iterations_unbounded): When we
+       have a function with multiple latches, count them all.
+
+2016-07-25  Martin Liska  <mliska@suse.cz>
+
+       * tree-ssa-loop-niter.c (loop_only_exit_p): Release body array.
+
+2016-07-25  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/71987
+       * tree-ssa-reassoc.c (maybe_optimize_range_tests): Call get_ops
+       just for SSA_NAMEs. Fix GNU coding style.
+
+2016-07-25  Martin Liska  <mliska@suse.cz>
+
+       PR gcov-profile/64874
+       * gcov-io.h: Update command about file format.
+       * gcov-iov.c (main): Adapt the numbering scheme.
+
+2016-07-24  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+       PR middle-end/66726
+       * tree-ssa-reassoc.c (optimize_vec_cond_expr): Handle tcc_compare stmt
+       whose result is used in PHI.
+       (final_range_test_p): Likewise.
+       (maybe_optimize_range_tests): Likewise.
+
+2016-07-22  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
+       Reformat two multi-line strings.
+
+2016-07-22 Martin Sebor  <msebor@redhat.com>
+
+       * doc/extend.texi (Compound Literals): Add '@' missed in last commit.
+
+2016-07-22 Martin Sebor  <msebor@redhat.com>
+
+       PR c/71560
+       * doc/extend.texi (Compound Literals): Correct and clarify.
+       (Cast to Union): Same.
+
+2016-07-22  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+       * config/rs6000/rs6000.c (rs6000_option_override_internal): Add
+       comments to explain why certain error messages make mention of
+       undocumented options.
+       (rs6000_invalid_builtin): Change error messages to replace mention
+       of undocumented options with mention of the -mcpu=power9 option
+       that enables those undocumented options.
+       * config/rs6000/rs6000.h (MASK_FLOAT128): New macro.
+       (RS6000_BTM_FLOAT128): Use the new MASK_FLOAT128 macro in the
+       definition of this macro to correct an existing error.
+       * config/rs6000/rs6000.opt: Add the Undocumented qualifier to the
+       mpower9-fusion, mpower9-vector, mpower9-dform, and mmodulo entries.
+       * doc/extend.texi (PowerPC AltiVec Built-in Functions): Modify
+       descriptions of built-in functions so that they depend on
+       -mcpu=power9 instead of on the corresponding undocumented flags.
+       * doc/invoke.texi (Option Summary):  Remove all mention of newly
+       undocumented flags.
+       (IBM RS/6000 and PowerPC Options): Likewise.
+       * doc/md.texi (Constraints for Particuliar Machines): Remove all
+       mention of newly undocumented flags.
+
+2016-07-22  Evgeny Stupachenko  <evstupac@gmail.com>
+
+       * ipa-cp.c (determine_versionability): Do not create constprop clones,
+       when target_clones attribute is set.
+
+2016-07-22  Bin Cheng  <bin.cheng@arm.com>
+
+       * common.opt (funsafe-loop-optimizations): Mark ignore.
+       * doc/invoke.texi (funsafe-loop-optimizations): Remove.
+       * loop-iv.c (get_simple_loop_desc): Remove unsafe-loop-optimizations
+       related code.
+       * tree-ssa-loop-niter.c (finite_loop_p): Ditto.
+       * config/bfin/bfin.c (bfin_can_use_doloop_p): Ditto.
+
+2016-07-22  Bin Cheng  <bin.cheng@arm.com>
+
+       * tree-ssa-loop-niter.h (number_of_iterations_exit_assumptions): New
+       Parameter.
+       * tree-ssa-loop-niter.c (number_of_iterations_exit_assumptions): New
+       Parameter.
+       (number_of_iterations_exit): Warn missed loop optimization for
+       possible infinite loops.
+
+2016-07-22  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       PR target/71216
+       * config/rs6000/rs6000.c (rs6000_file_start): Fix condition for
+       when to emit a ".machine" pseudo-op.
+
+2016-07-22  Martin Liska  <mliska@suse.cz>
+
+       PR gcov-profile/69028
+       PR gcov-profile/62047
+       * coverage.c (coverage_compute_lineno_checksum): Do not
+       calculate checksum for fns w/o xloc.file.
+       (coverage_compute_profile_id): Likewise.
+
+2016-07-22  Georg-Johann Lay  <avr@gjlay.de>
+
+       * config/avr/avr.c (TARGET_SECONDARY_RELOAD): Remove hook define...
+       (avr_secondary_reload): ...and implementation.
+       (avr_adjust_insn_length) [ADJUST_LEN_LPM]: Remove handling.
+       * config/avr/avr.md (reload_in<mode>): Remove insns.
+       (adjust_len) [lpm]: Remove insn attribute value.
+       * config/avr/predicates.md (flash_operand): Remove insn predicate.
+
+2016-07-21  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       PR middle-end/71876
+       * builtin-attrs.def (ATTR_RT_NOTHROW_LEAF_LIST): New return twice
+       attribute.
+       * builtins.def (BUILT_IN_SETJMP): Use ATTR_RT_NOTHROW_LEAF_LIST here.
+       * calls.c (special_function_p): Remove the special handling of the
+       "__builtin_" prefix.
+
+2016-07-21  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       PR middle-end/71876
+       * calls.c (gimple_maybe_alloca_call_p): New function.  Return true
+       if STMT may be an alloca call.
+       (gimple_alloca_call_p, alloca_call_p): Return only true for the
+       builtin alloca call.
+       * calls.h (gimple_maybe_alloca_call_p): New function.
+       * tree-inline.c (inline_forbidden_p_stmt): Use
+       gimple_maybe_alloca_call_p here.
+
+2016-07-21  David Malcolm  <dmalcolm@redhat.com>
+
+       * spellcheck-tree.c (best_macro_match::best_macro_match):
+       Explictly specify the template arguments when invoking the base
+       class constructor, to help older C++ compilers.
+
+2016-07-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR sanitizer/71953
+       * asan.c (asan_dynamic_init_call): Call asan_init_shadow_ptr_types
+       before builtin_decl_implicit.
+
 2016-07-21  James Greenhalgh  <james.greenhalgh@arm.com>
 
        * optabs.c (emit_condiitonal_move): Short circuit for identical
        (vperm_v8hiv4si): Likewise.
        (vperm_v16qiv8hi): Likewise.
 
+2016-07-12  Nathan Sidwell  <nathan@acm.org>
+
+       * config/arm/arm.c (arm_option_override): Set MASK_SINGLE_PIC_BASE
+       when -mno-pic-data-is-text-relative is in effect, by default.
+       * doc/invoke.texi (mpic-data-is-text-relative): Document new
+       behavior and clarify.
+
 2016-07-12  Martin Liska  <mliska@suse.cz>
 
        * params.def: Add avg-loop niter.