+2016-02-25 Martin Liska <mliska@suse.cz>
+
+ PR middle-end/69919
+ * alloc-pool.c (after_memory_report): New variable.
+ * alloc-pool.h (base_pool_allocator ::release): Do not use
+ the infrastructure if after_memory_report.
+ * toplev.c (toplev::main): Mark after memory report.
+
+2016-02-25 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/48795
+ * tree-vrp.c (check_array_ref): Use array_at_struct_end_p.
+
+2016-02-25 Ilya Verbin <ilya.verbin@intel.com>
+
+ PR driver/68463
+ * config/gnu-user.h (CRTOFFLOADBEGIN): Define. Add crtoffloadbegin.o if
+ offloading is enabled and -fopenacc or -fopenmp is specified.
+ (CRTOFFLOADEND): Likewise.
+ (GNU_USER_TARGET_STARTFILE_SPEC): Add CRTOFFLOADBEGIN.
+ (GNU_USER_TARGET_ENDFILE_SPEC): Add CRTOFFLOADEND.
+ * lto-wrapper.c (offloadbegin, offloadend): Remove static vars.
+ (offload_objects_file_name): New static var.
+ (tool_cleanup): Remove offload_objects_file_name file.
+ (find_offloadbeginend): Replace with ...
+ (find_crtoffloadtable): ... this.
+ (run_gcc): Remove offload_argc and offload_argv.
+ Get offload_objects_file_name from -foffload-objects=... option.
+ Read names of object files with offload from this file, pass them to
+ compile_images_for_offload_targets. Don't call find_offloadbeginend and
+ don't pass offloadbegin and offloadend to the linker. Don't pass
+ offload non-LTO files to the linker, because now they're not claimed.
+
+2016-02-25 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/69630
+ * ipa-devirt.c (possible_polymorphic_call_targets): Do not ICE
+ on builtin_unreachable.
+
+2016-02-25 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/69896
+ * regcprop.c: Include cfgrtl.h.
+ (copyprop_hardreg_forward_1): If noop_p insn uses narrower
+ than remembered mode, either delete it (if noop_move_p), or
+ treat like copy_p but not noop_p instruction.
+
+2016-02-24 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/69705
+ * dwarf2out.c (gen_variable_die): Work around buggy LTO
+ - allow NULL decl for Fortran DW_TAG_common_block variables.
+
+2016-02-24 Jason Merrill <jason@redhat.com>
+
+ * common.opt (flifetime-dse): Add -flifetime-dse=1.
+
+2016-02-24 Richard Biener <rguenther@suse.de>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/69760
+ * tree-scalar-evolution.c (interpret_rhs_expr): Re-write
+ conditionally executed ops to well-defined overflow behavior.
+
+2016-02-24 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/69915
+ * tree.c (build_vector_from_ctor): Fix handling of VECTOR_CST
+ elements.
+
+2016-02-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR rtl-optimization/69886
+ * gcse.c (can_assign_to_reg_without_clobbers_p): Accept mode
+ argument. Use it when checking validity of set instructions.
+ (want_to_gcse_p): Pass mode to can_assign_to_reg_without_clobbers_p.
+ (compute_ld_motion_mems): Update can_assign_to_reg_without_clobbers_p
+ callsite.
+ * rtl.h (can_assign_to_reg_without_clobbers_p): Update prototype.
+ * store-motion.c (find_moveable_store): Update
+ can_assign_to_reg_without_clobbers_p callsite.
+
+2016-02-24 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/68963
+ * tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Fix
+ bogus check.
+ (record_nonwrapping_iv): Do not fall back to the low/high bound
+ for non-constant IV bases if the stmt is not always executed.
+
+2016-02-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/arm/arm-cores.def (cortex-a32): New entry.
+ * config/arm/arm-tables.opt: Regenerate.
+ * config/arm/arm-tune.md: Regenerate.
+ * config/arm/bpabi.h (BE8_LINK_SPEC): Add mcpu=cortex-a32.
+ * config/arm/t-aprofile: Handle mcpu=cortex-a32.
+ * doc/invoke.texi (ARM Options): Document cortex-a32 as value
+ for -mcpu and -mtune.
+
+2016-02-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR target/69875
+ * config/arm/arm.h (TARGET_HAVE_LPAE): Define.
+ * config/arm/unspecs.md (VUNSPEC_LDRD_ATOMIC): New value.
+ * config/arm/sync.md (arm_atomic_loaddi2_ldrd): New pattern.
+ (atomic_loaddi_1): Delete.
+ (atomic_loaddi): Rewrite expander using the above changes.
+
+2016-02-24 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/69918
+ * params.def (PARAM_MAX_SSA_NAME_QUERY_DEPTH): Bump default from
+ 2 to 3.
+
+2016-02-24 Jakub Jelinek <jakub@redhat.com>
+ Richard Biener <rguenth@suse.de>
+
+ PR middle-end/69909
+ * expr.c (expand_expr_real_1) <normal_inner_ref>: Avoid
+ set_mem_attributes if tem is SSA_NAME which got expanded
+ as a MEM.
+
+2016-02-24 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/69907
+ * tree-vect-stmts.c (vectorizable_load): Check for gaps at the
+ end of permutations for BB vectorization.
+
+2016-02-24 Christian Bruel <christian.bruel@st.com>
+
+ * config/arm/arm-c.c (arm_option_override): Initialize
+ target_option_current_node.
+ * config/arm/arm.c (arm_pragma_target_parse): Replace
+ build_target_option_node call by target_option_current_node.
+ Set target_option_current_node.
+ Fix comments.
+
+2016-02-23 David Edelsohn <dje.gcc@gmail.com>
+
+ PR target/69810
+ * config/rs6000/rs6000.md (zero_extendqi<mode>2_dot): Convert from
+ define_insn_and_split to define_insn.
+ (zero_extendqi<mode>2_dot2): Same.
+ (extendqi<mode>2_dot): Same.
+ (extendqi<mode>2_dot2): Same.
+
+2016-02-23 Evandro Menezes <e.menezes@samsung.com>
+
+ * config/arm/exynos-m1.md: Change cost of STP, fix bypass for stores
+ and add bypass for AES{D,E} and AESMC pairs.
+ * config/aarch64/aarch64.c (exynosm1_tunings): Enable fusion of AES{D,E}
+ and AESMC pairs.
+
+2016-02-23 Evandro Menezes <e.menezes@samsung.com>
+
+ * config/aarch64/aarch64.c (exynosm1_tunings): Enable the Newton
+ series for reciprocal square root in Exynos M1.
+
+2016-02-23 Martin Sebor <msebor@redhat.com>
+
+ PR c/69759
+ * doc/extend.texi (Other Builtins): Document __builtin_alloca and
+ __builtin_alloca_with_align.
+
+2016-02-23 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386-c.c (ix86_target_macros): Remove __SEG_TLS.
+ (ix86_register_pragmas): Remove __seg_tls.
+ * config/i386/i386-protos.h (ADDR_SPACE_SEG_TLS): Remove.
+ * config/i386/i386.c (ix86_print_operand_address_as): Don't handle it.
+ (ix86_addr_space_subset_p, TARGET_ADDR_SPACE_SUBSET_P): Remove.
+ (ix86_addr_space_convert, TARGET_ADDR_SPACE_CONVERT): Remove.
+ (ix86_addr_space_debug, TARGET_ADDR_SPACE_DEBUG): Remove.
+ * doc/extend.texi (__seg_tls): Remove item.
+
+2016-02-23 Richard Biener <rguenther@suse.de>
+
+ * alloc-pool.h (struct allocation_object): Make id member
+ conditional on CHECKING_P again.
+ (get_instance): Adjust.
+ (base_pool_allocator): Likewise.
+
+2016-02-23 Thomas Schwinge <thomas@codesourcery.com>
+
+ * tree-parloops.c (create_parallel_loop, gen_parallel_loop)
+ (parallelize_loops): In OpenACC kernels mode, set n_threads to
+ zero.
+ (pass_parallelize_loops::gate): In OpenACC kernels mode, gate on
+ flag_openacc.
+ * tree-ssa-loop.c (gate_oacc_kernels): Likewise.
+
+2016-02-23 Richard Biener <rguenther@suse.de>
+
+ * mem-stats.h (struct mem_usage): Use PRIu64 for printing size_t.
+ * bitmap.h (struct bitmap_usage): Likewise.
+ (bitmap_move): Declare.
+ * bitmap.c (register_overhead): Take size_t argument.
+ (bitmap_move): New function.
+ * df-problems.c (df_rd_transfer_function): Use bitmap_move
+ to properly account overhead.
+ * tree.c (free_node): Use tree_size.
+
+2016-02-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/69902
+ * fold-const.c (fold_truth_not_expr): Propagate TREE_NO_WARNING
+ when inverting comparison.
+
+ PR c/69900
+ * common.opt (Wunreachable-code): Add Warning flag.
+
+2016-02-23 Mark Wielaard <mjw@redhat.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR c/69911
+ * cgraphunit.c (check_global_declaration): Check main_input_filename
+ and DECL_SOURCE_FILE are not NULL.
+
+2016-02-23 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/69666
+ * tree-sra.c (sra_modify_assign): Do not attempt to create
+ default_def replacements for unscalarizable regions.
+
+2016-02-20 Mark Wielaard <mjw@redhat.com>
+
+ PR c/28901
+ * cgraphunit.c (check_global_declaration): Check level of
+ warn_unused_const_variable and main_input_filename.
+ * doc/invoke.texi (Warning Options): Add -Wunused-const-variable=.
+ (-Wunused-variable): For C implies -Wunused-const-variable=1.
+ (-Wunused-const-variable): Explain levels 1 and 2.
+
+2016-02-22 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/69888
+ * config/i386/i386.c (decide_alg): Ensure we don't recurse with
+ identical arguments. Formatting and spelling fixes.
+
+ PR target/69885
+ * doc/md.texi (ashl@var{m}3): Document that mode of operand 2 must
+ be specified.
+
+ PR target/69894
+ PR target/69895
+ * config/m68k/t-opts (OPTIONS_H_EXTRA): Add m68k-microarchs.def
+ and m68k-devices.def.
+ * config/c6x/t-c6x (OPTIONS_H_EXTRA): Add c6x-isas.def.
+ * config/aarch64/t-aarch64 (OPTIONS_H_EXTRA): Add aarch64-arches.def.
+
+2016-02-22 Cesar Philippidis <cesar@codesourcery.com>
+
+ * config/nvptx/nvptx.c (nvptx_gen_shuffle): Add support for QImode
+ and HImode registers.
+
+2016-02-22 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/69882
+ * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Properly
+ preserve permutations present because of gaps.
+ (vect_supported_load_permutation_p): Always continue checking
+ permutations after vect_attempt_slp_rearrange_stmts.
+
+2016-02-22 Bin Cheng <bin.cheng@arm.com>
+
+ * tree-vect-loop.c (vect_estimate_min_profitable_iters): Dump
+ min_profitable_estimate, rather than min_profitable_iters.
+
+2016-02-22 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/69885
+ * config/m68k/m68k.md (ashldi3, ashrdi3, lshrdi3): Use
+ SImode for last match_operand.
+
+2016-02-22 Martin Liska <mliska@suse.cz>
+
+ * hsa-gen.c (gen_hsa_clrsb): In case of zero value,
+ return bitsize - 1 as the return value.
+
+2016-02-22 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/69806
+ PR target/54089
+ * config/sh/sh.c (sh_lshrsi_clobbers_t_reg_p, sh_dynamicalize_shift_p):
+ Handle negative shift counts.
+ * config/sh/sh.md (ashlsi3, lshrsi3_n, lshrsi3_n_clobbers_t): Don't use
+ force_reg on the shift constant.
+ (lshrsi3): Likewise. Expand into lshrsi3_n* instead of lshrsi3_d.
+ (lshrsi3_d): Handle negative shift counts.
+
+2016-02-22 Richard Biener <rguenther@suse.de>
+ Tom de Vries <tom@codesourcery.com>
+
+ * graph.c: Include dumpfile.h.
+ (print_graph_cfg): Split into three overloads.
+ * gdbhooks.py (class DotFn): Add and instantiate, adding command dot-fn.
+
+2016-02-22 Tom de Vries <tom@codesourcery.com>
+
+ * gdbhooks.py (class DumpFn): Add and instantiate, adding command
+ dump-fn.
+
+2016-02-22 Richard Biener <rguenther@suse.de>
+
+ PR ipa/37448
+ * ipa-inline-transform.c (inline_call): When not updating
+ overall summaries adjust self size by the growth estimate.
+ * ipa-inline.c (inline_to_all_callers_1): Add to the callers
+ hash-set, do not update overall summaries here. Renamed from ...
+ (inline_to_all_callers): ... this which is now wrapping the
+ above and performing delayed overall summary update.
+ (early_inline_small_functions): Delay updating of the overall
+ summary.
+
+2016-02-21 Markus Trippelsdorf <markus@trippelsdorf.de>
+
+ * tree-chkp.c (chkp_mark_invalid_bounds_walker): Initialize
+ variable.
+
+2016-02-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR driver/69805
+ * gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): Use
+ :%* in %:gt() argument.
+ (greater_than_spec_func): Adjust for expecting only numbers,
+ if there are more than two numbers, compare the last two.
+
+2016-02-19 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/invoke.texi (C++ Dialect Options): Clarify interaction of
+ -Wnarrowing with -std.
+
+2016-02-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/69851
+ * expr.c (store_field): Don't use bit-field path if exp is
+ COMPONENT_REF with TREE_ADDRESSABLE type, where TYPE_SIZE is
+ different from bitsize, but DECL_SIZE of FIELD_DECL is bitsize
+ and the assignment can be performed by bitwise copy. Formatting
+ fix.
+
+ PR middle-end/69838
+ * lra.c (lra_process_new_insns): If non-call exceptions are enabled,
+ call copy_reg_eh_region_note_forward on before and/or after sequences
+ and remove note from insn if it no longer can throw.
+
+ PR target/69820
+ * config/i386/sse.md (VI_512): Only include V64QImode and V32HImode
+ if TARGET_AVX512BW.
+
+2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/vector.md: Add missing commutative operand markers
+ to the patterns which qualify for one.
+ * config/s390/vx-builtins.md: Likewise.
+
+2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/vector.md (VI, VI_QHS): Add single element vector
+ types to mode iterators.
+ (vec_double): ... and mode attribute.
+ * config/s390/vx-builtins.md (non_vec_int): Likewise.
+
+2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/vector.md ("<ti*>add<mode>3", "<ti*>sub<mode>3"):
+ Change the predicate of op2 from nonimmediate to general and let
+ reload fix it if necessary.
+
+2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/vecintrin.h (vec_sub_u128): Define missing macro.
+
+2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/s390.c (s390_expand_vcond): Use the compare operand
+ mode.
+
+2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/s390-protos.h: Add s390_expand_vec_movstr prototype.
+ * config/s390/s390.c (s390_expand_vec_movstr): New function.
+ * config/s390/s390.md ("movstr<P:mode>"): Call
+ s390_expand_vec_movstr.
+
+2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/s390.md: Add missing output modifier for operand 1
+ to print it as address properly.
+
+2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/2827.md: Rename ooo_* insn attributes to zEC12_*.
+ * config/s390/2964.md: New file.
+ * config/s390/s390.c (s390_get_sched_attrmask): Use the right set
+ of insn grouping attributes depending on the CPU level.
+ (s390_get_unit_mask): New function.
+ (s390_sched_score): Remove the OOO from the scheduling macros.
+ Add loop to calculate a score for the instruction mix.
+ (s390_sched_reorder): Likewise plus improve debug output.
+ (s390_sched_variable_issue): Rename macros as above. Calculate
+ the unit distances after actually scheduling an insn. Improve
+ debug output.
+ (s390_sched_init): Clear last_scheduled_unit_distance array.
+ * config/s390/s390.md: Include 2964.md.
+
+2016-02-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/69671
+ * config/i386/sse.md (*<floatsuffix>floatv2div2sf2_mask_1,
+ *avx512vl_<code>v2div2qi2_mask_1, *avx512vl_<code><mode>v4qi2_mask_1,
+ *avx512vl_<code><mode>v8qi2_mask_1, *avx512vl_<code><mode>v4hi2_mask_1,
+ *avx512vl_<code>v2div2hi2_mask_1, *avx512vl_<code>v2div2si2_mask_1,
+ *avx512f_<code>v8div16qi2_mask_1): New insns.
+
+2016-02-18 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/68404
+ * config/rs6000/predicates.md (fusion_gpr_addis): Revert
+ 2016-02-09 change.
+
+ * config/rs6000/rs6000.md (fusion_gpr_load_<mode>): Remove
+ earlyclobber from target. Use wF constraint for fused memory
+ address.
+ (fusion_gpr_<P:mode>_<GPR_FUSION:mode>_load): Likewise.
+
+2016-02-18 Jakub Jelinek <jakub@redhat.com>
+ Martin Liska <mliska@suse.cz>
+
+ PR sanitizer/69863
+ * cfgexpand.c (asan_sanitize_stack_p): New function.
+ (partition_stack_vars): Use the function.
+ (expand_stack_vars): Likewise.
+ (defer_stack_allocation): Likewise.
+ (expand_used_vars): Likewise.
+
+2016-02-18 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/69553
+ * fold-const.c (operand_equal_p): Properly compare offsets for
+ IMAGPART_EXPR and ARRAY_REF.
+
+2016-02-18 Nick Clifton <nickc@redhat.com>
+
+ PR target/62254
+ PR target/69610
+ * config/arm/arm.c (arm_option_override_internal): Disable
+ interworking if the target does not support thumb instructions.
+ (arm_reload_in_hi): Handle the case where a register to register
+ move needs reloading because there is no simple pattern to handle
+ it.
+ (arm_reload_out_hi): Likewise.
+
+2016-02-18 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/69854
+ * match.pd: Don't use fold_binary or fold_unary for folding
+ constants.
+
+2016-02-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/69850
+ * gimplify.c (gimplify_cond_expr): Call gimple_set_no_warning
+ on the cond_stmt from TREE_NO_WARNING on COND_EXPR_COND.
+ * gimple-ssa-nonnull-compare.c (do_warn_nonnull_compare): Don't
+ warn on gimple_no_warning_p statements.
+
+2016-02-17 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/extend.texi (C++ Attributes): Correct description of
+ warn_unused type attribute.
+
+2016-02-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ * config/rs6000/altivec.md (*altivec_lvxl_<mode>_internal): Output
+ correct instruction.
+
+2016-02-17 Richard Biener <rguenther@suse.de>
+
+ PR rtl-optimization/69609
+ * bb-reorder.c (struct bbro_basic_block_data): Add priority member.
+ (find_traces_1_round): When ending a trace update cached priority
+ of successors.
+ (bb_to_key): Use cached priority when available.
+ (copy_bb): Initialize cached priority.
+ (reorder_basic_blocks_software_trace_cache): Likewise.
+
2016-02-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR target/69161