-2018-01-12 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/83778
- * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Call
- fold_for_warn before checking if arg2 is INTEGER_CST.
-
-2018-01-12 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/predicates.md (load_multiple_operation): Delete.
- (store_multiple_operation): Delete.
- * config/rs6000/rs6000-cpus.def (601): Remove MASK_STRING.
- * config/rs6000/rs6000-protos.h (rs6000_output_load_multiple): Delete.
- * config/rs6000/rs6000-string.c (expand_block_move): Delete everything
- guarded by TARGET_STRING.
- (rs6000_output_load_multiple): Delete.
- * config/rs6000/rs6000.c (rs6000_option_override_internal): Delete
- OPTION_MASK_STRING / TARGET_STRING handling.
- (print_operand) <'N', 'O'>: Add comment that these are unused now.
- (const rs6000_opt_masks) <"string">: Change mask to 0.
- * config/rs6000/rs6000.h (TARGET_DEFAULT): Remove MASK_STRING.
- (MASK_STRING): Delete.
- * config/rs6000/rs6000.md (*mov<mode>_string): Delete TARGET_STRING
- parts. Simplify.
- (load_multiple): Delete.
- (*ldmsi8): Delete.
- (*ldmsi7): Delete.
- (*ldmsi6): Delete.
- (*ldmsi5): Delete.
- (*ldmsi4): Delete.
- (*ldmsi3): Delete.
- (store_multiple): Delete.
- (*stmsi8): Delete.
- (*stmsi7): Delete.
- (*stmsi6): Delete.
- (*stmsi5): Delete.
- (*stmsi4): Delete.
- (*stmsi3): Delete.
- (movmemsi_8reg): Delete.
- (corresponding unnamed define_insn): Delete.
- (movmemsi_6reg): Delete.
- (corresponding unnamed define_insn): Delete.
- (movmemsi_4reg): Delete.
- (corresponding unnamed define_insn): Delete.
- (movmemsi_2reg): Delete.
- (corresponding unnamed define_insn): Delete.
- (movmemsi_1reg): Delete.
- (corresponding unnamed define_insn): Delete.
- * config/rs6000/rs6000.opt (mno-string): New.
- (mstring): Replace by deprecation warning stub.
- * doc/invoke.texi (RS/6000 and PowerPC Options): Delete -mstring.
-
-2018-01-12 Jakub Jelinek <jakub@redhat.com>
-
- * regrename.c (regrename_do_replace): If replacing the same
- reg multiple times, try to reuse last created gen_raw_REG.
-
- PR debug/81155
- * bb-reorder.c (pass_partition_blocks::gate): In lto don't partition
- main to workaround a bug in GDB.
-
-2018-01-12 Tom de Vries <tom@codesourcery.com>
-
- PR target/83737
- * config.gcc (nvptx*-*-*): Set use_gcc_stdint=wrap.
-
-2018-01-12 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/80481
- * ira-color.c (get_cap_member): New function.
- (allocnos_conflict_by_live_ranges_p): Use it.
- (slot_coalesced_allocno_live_ranges_intersect_p): Add assert.
- (setup_slot_coalesced_allocno_live_ranges): Ditto.
-
-2018-01-12 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/83628
- * config/alpha/alpha.md (*saddsi_1): New insn_ans_split pattern.
- (*saddl_se_1): Ditto.
- (*ssubsi_1): Ditto.
- (*saddl_se_1): Ditto.
-
-2018-01-12 Richard Sandiford <richard.sandiford@linaro.org>
-
- * tree-predcom.c (aff_combination_dr_offset): Use wi::to_poly_widest
- rather than wi::to_widest for DR_INITs.
- * tree-vect-data-refs.c (vect_find_same_alignment_drs): Use
- wi::to_poly_offset rather than wi::to_offset for DR_INIT.
- (vect_analyze_data_ref_accesses): Require both DR_INITs to be
- INTEGER_CSTs.
- (vect_analyze_group_access_1): Note that here.
-
-2018-01-12 Richard Sandiford <richard.sandiford@linaro.org>
-
- * tree-vectorizer.c (get_vec_alignment_for_array_type): Handle
- polynomial type sizes.
-
-2018-01-12 Richard Sandiford <richard.sandiford@linaro.org>
-
- * gimplify.c (gimple_add_tmp_var_fn): Allow variables to have a
- poly_uint64 size, rather than requiring an unsigned HOST_WIDE_INT size.
- (gimple_add_tmp_var): Likewise.
-
-2018-01-12 Martin Liska <mliska@suse.cz>
-
- * gimple.c (gimple_alloc_counts): Use uint64_t instead of int.
- (gimple_alloc_sizes): Likewise.
- (dump_gimple_statistics): Use PRIu64 in printf format.
- * gimple.h: Change uint64_t to int.
-
-2018-01-12 Martin Liska <mliska@suse.cz>
-
- * tree-core.h: Use uint64_t instead of int.
- * tree.c (tree_node_counts): Likewise.
- (tree_node_sizes): Likewise.
- (dump_tree_statistics): Use PRIu64 in printf format.
-
-2018-01-12 Martin Liska <mliska@suse.cz>
-
- * Makefile.in: As qsort_chk is implemented in vec.c, add
- vec.o to linkage of gencfn-macros.
- * tree.c (build_new_poly_int_cst): Add CXX_MEM_STAT_INFO as it's
- passing the info to record_node_allocation_statistics.
- (test_vector_cst_patterns): Add CXX_MEM_STAT_INFO to declaration
- and pass the info.
- * ggc-common.c (struct ggc_usage): Add operator== and use
- it in operator< and compare function.
- * mem-stats.h (struct mem_usage): Likewise.
- * vec.c (struct vec_usage): Remove operator< and compare
- function. Can be simply inherited.
-
-2018-01-12 Martin Jambor <mjambor@suse.cz>
-
- PR target/81616
- * params.def: New parameter PARAM_AVOID_FMA_MAX_BITS.
- * tree-ssa-math-opts.c: Include domwalk.h.
- (convert_mult_to_fma_1): New function.
- (fma_transformation_info): New type.
- (fma_deferring_state): Likewise.
- (cancel_fma_deferring): New function.
- (result_of_phi): Likewise.
- (last_fma_candidate_feeds_initial_phi): Likewise.
- (convert_mult_to_fma): Added deferring logic, split actual
- transformation to convert_mult_to_fma_1.
- (math_opts_dom_walker): New type.
- (math_opts_dom_walker::after_dom_children): New method, body moved
- here from pass_optimize_widening_mul::execute, added deferring logic
- bits.
- (pass_optimize_widening_mul::execute): Moved most of code to
- math_opts_dom_walker::after_dom_children.
- * config/i386/x86-tune.def (X86_TUNE_AVOID_128FMA_CHAINS): New.
- * config/i386/i386.c (ix86_option_override_internal): Added
- maybe_setting of PARAM_AVOID_FMA_MAX_BITS.
-
-2018-01-12 Richard Biener <rguenther@suse.de>
-
- PR debug/83157
- * dwarf2out.c (gen_variable_die): Do not reset old_die for
- inline instance vars.
-
-2018-01-12 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/81819
- * config/rx/rx.c (rx_is_restricted_memory_address):
- Handle SUBREG case.
-
-2018-01-12 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/80846
- * target.def (split_reduction): New target hook.
- * targhooks.c (default_split_reduction): New function.
- * targhooks.h (default_split_reduction): Declare.
- * tree-vect-loop.c (vect_create_epilog_for_reduction): If the
- target requests first reduce vectors by combining low and high
- parts.
- * tree-vect-stmts.c (vect_gen_perm_mask_any): Adjust.
- (get_vectype_for_scalar_type_and_size): Export.
- * tree-vectorizer.h (get_vectype_for_scalar_type_and_size): Declare.
- * doc/tm.texi.in (TARGET_VECTORIZE_SPLIT_REDUCTION): Document.
- * doc/tm.texi: Regenerate.
- * config/i386/i386.c (ix86_split_reduction): Implement
- TARGET_VECTORIZE_SPLIT_REDUCTION.
-
-2018-01-12 Eric Botcazou <ebotcazou@adacore.com>
-
- PR target/83368
- * config/sparc/sparc.h (PIC_OFFSET_TABLE_REGNUM): Set to INVALID_REGNUM
- in PIC mode except for TARGET_VXWORKS_RTP.
- * config/sparc/sparc.c: Include cfgrtl.h.
- (TARGET_INIT_PIC_REG): Define.
- (TARGET_USE_PSEUDO_PIC_REG): Likewise.
- (sparc_pic_register_p): New predicate.
- (sparc_legitimate_address_p): Use it.
- (sparc_legitimize_pic_address): Likewise.
- (sparc_delegitimize_address): Likewise.
- (sparc_mode_dependent_address_p): Likewise.
- (gen_load_pcrel_sym): Remove 4th parameter.
- (load_got_register): Adjust call to above. Remove obsolete stuff.
- (sparc_expand_prologue): Do not call load_got_register here.
- (sparc_flat_expand_prologue): Likewise.
- (sparc_output_mi_thunk): Set the pic_offset_table_rtx object.
- (sparc_use_pseudo_pic_reg): New function.
- (sparc_init_pic_reg): Likewise.
- * config/sparc/sparc.md (vxworks_load_got): Set the GOT register.
- (builtin_setjmp_receiver): Enable only for TARGET_VXWORKS_RTP.
-
-2018-01-12 Christophe Lyon <christophe.lyon@linaro.org>
-
- * doc/sourcebuild.texi (Effective-Target Keywords, Other attributes):
- Add item for branch_cost.
-
-2018-01-12 Eric Botcazou <ebotcazou@adacore.com>
-
- PR rtl-optimization/83565
- * rtlanal.c (nonzero_bits1): On WORD_REGISTER_OPERATIONS machines, do
- not extend the result to a larger mode for rotate operations.
- (num_sign_bit_copies1): Likewise.
-
-2018-01-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR target/40411
- * config/sol2.h (STARTFILE_ARCH_SPEC): Don't use with -shared or
- -symbolic.
- Use values-Xc.o for -pedantic.
- Link with values-xpg4.o for C90, values-xpg6.o otherwise.
-
-2018-01-12 Martin Liska <mliska@suse.cz>
-
- PR ipa/83054
- * ipa-devirt.c (final_warning_record::grow_type_warnings):
- New function.
- (possible_polymorphic_call_targets): Use it.
- (ipa_devirt): Likewise.
-
-2018-01-12 Martin Liska <mliska@suse.cz>
-
- * profile-count.h (enum profile_quality): Use 0 as invalid
- enum value of profile_quality.
-
-2018-01-12 Chung-Ju Wu <jasonwucj@gmail.com>
-
- * doc/invoke.texi (NDS32 Options): Add -mext-perf, -mext-perf2 and
- -mext-string options.
-
-2018-01-12 Richard Biener <rguenther@suse.de>
-
- * lto-streamer-out.c (DFS::DFS_write_tree_body): Process
- DECL_DEBUG_EXPR conditional on DECL_HAS_DEBUG_EXPR_P.
- * tree-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
- Likewise.
- * tree-streamer-out.c (write_ts_decl_common_tree_pointers): Likewise.
-
-2018-01-11 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * configure.ac (--with-long-double-format): Add support for the
- configuration option to change the default long double format on
- PowerPC systems.
- * config.gcc (powerpc*-linux*-*): Likewise.
- * configure: Regenerate.
- * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): If long
- double is IEEE, define __KC__ and __KF__ to allow floatn.h to be
- used without modification.
-
-2018-01-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000-builtin.def (BU_P7_MISC_X): New #define.
- (SPEC_BARRIER): New instantiation of BU_P7_MISC_X.
- * config/rs6000/rs6000.c (rs6000_expand_builtin): Handle
- MISC_BUILTIN_SPEC_BARRIER.
- (rs6000_init_builtins): Likewise.
- * config/rs6000/rs6000.md (UNSPECV_SPEC_BARRIER): New UNSPECV
- enum value.
- (speculation_barrier): New define_insn.
- * doc/extend.texi: Document __builtin_speculation_barrier.
-
-2018-01-11 Jakub Jelinek <jakub@redhat.com>
-
- PR target/83203
- * config/i386/i386.c (ix86_expand_vector_init_one_nonzero): If one_var
- is 0, for V{8,16}S[IF] and V[48]D[IF]mode use gen_vec_set<mode>_0.
- * config/i386/sse.md (VI8_AVX_AVX512F, VI4F_256_512): New mode
- iterators.
- (ssescalarmodesuffix): Add 512-bit vectors. Use "d" or "q" for
- integral modes instead of "ss" and "sd".
- (vec_set<mode>_0): New define_insns for 256-bit and 512-bit
- vectors with 32-bit and 64-bit elements.
- (vecdupssescalarmodesuffix): New mode attribute.
- (vec_dup<mode>): Use it.
-
-2018-01-11 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/83330
- * config/i386/i386.c (ix86_compute_frame_layout): Align stack
- frame if argument is passed on stack.
-
-2018-01-11 Jakub Jelinek <jakub@redhat.com>
-
- PR target/82682
- * ree.c (combine_reaching_defs): Optimize also
- reg2=exp; reg1=reg2; reg2=any_extend(reg1); into
- reg2=any_extend(exp); reg1=reg2;, formatting fix.
-
-2018-01-11 Jan Hubicka <hubicka@ucw.cz>
-
- PR middle-end/83189
- * gimple-ssa-isolate-paths.c (isolate_path): Fix profile update.
-
-2018-01-11 Jan Hubicka <hubicka@ucw.cz>
-
- PR middle-end/83718
- * tree-inline.c (copy_cfg_body): Adjust num&den for scaling
- after they are computed.
-
-2018-01-11 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/83695
- * gimple-loop-linterchange.cc
- (tree_loop_interchange::interchange_loops): Call scev_reset_htab to
- reset cached scev information after interchange.
- (pass_linterchange::execute): Remove call to scev_reset_htab.
-
-2018-01-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm_neon.h (vfmlal_lane_low_u32, vfmlal_lane_high_u32,
- vfmlalq_laneq_low_u32, vfmlalq_lane_low_u32, vfmlal_laneq_low_u32,
- vfmlalq_laneq_high_u32, vfmlalq_lane_high_u32, vfmlal_laneq_high_u32,
- vfmlsl_lane_low_u32, vfmlsl_lane_high_u32, vfmlslq_laneq_low_u32,
- vfmlslq_lane_low_u32, vfmlsl_laneq_low_u32, vfmlslq_laneq_high_u32,
- vfmlslq_lane_high_u32, vfmlsl_laneq_high_u32): Define.
- * config/arm/arm_neon_builtins.def (vfmal_lane_low,
- vfmal_lane_lowv4hf, vfmal_lane_lowv8hf, vfmal_lane_high,
- vfmal_lane_highv4hf, vfmal_lane_highv8hf, vfmsl_lane_low,
- vfmsl_lane_lowv4hf, vfmsl_lane_lowv8hf, vfmsl_lane_high,
- vfmsl_lane_highv4hf, vfmsl_lane_highv8hf): New sets of builtins.
- * config/arm/iterators.md (VFMLSEL2, vfmlsel2): New mode attributes.
- (V_lane_reg): Likewise.
- * config/arm/neon.md (neon_vfm<vfml_op>l_lane_<vfml_half><VCVTF:mode>):
- New define_expand.
- (neon_vfm<vfml_op>l_lane_<vfml_half><vfmlsel2><mode>): Likewise.
- (vfmal_lane_low<mode>_intrinsic,
- vfmal_lane_low<vfmlsel2><mode>_intrinsic,
- vfmal_lane_high<vfmlsel2><mode>_intrinsic,
- vfmal_lane_high<mode>_intrinsic, vfmsl_lane_low<mode>_intrinsic,
- vfmsl_lane_low<vfmlsel2><mode>_intrinsic,
- vfmsl_lane_high<vfmlsel2><mode>_intrinsic,
- vfmsl_lane_high<mode>_intrinsic): New define_insns.
-
-2018-01-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm-cpus.in (fp16fml): New feature.
- (ALL_SIMD): Add fp16fml.
- (armv8.2-a): Add fp16fml as an option.
- (armv8.3-a): Likewise.
- (armv8.4-a): Add fp16fml as part of fp16.
- * config/arm/arm.h (TARGET_FP16FML): Define.
- * config/arm/arm-c.c (arm_cpu_builtins): Define __ARM_FEATURE_FP16_FML
- when appropriate.
- * config/arm/arm-modes.def (V2HF): Define.
- * config/arm/arm_neon.h (vfmlal_low_u32, vfmlsl_low_u32,
- vfmlal_high_u32, vfmlsl_high_u32, vfmlalq_low_u32,
- vfmlslq_low_u32, vfmlalq_high_u32, vfmlslq_high_u32): Define.
- * config/arm/arm_neon_builtins.def (vfmal_low, vfmal_high,
- vfmsl_low, vfmsl_high): New set of builtins.
- * config/arm/iterators.md (PLUSMINUS): New code iterator.
- (vfml_op): New code attribute.
- (VFMLHALVES): New int iterator.
- (VFML, VFMLSEL): New mode attributes.
- (V_reg): Define mapping for V2HF.
- (V_hi, V_lo): New mode attributes.
- (VF_constraint): Likewise.
- (vfml_half, vfml_half_selector): New int attributes.
- * config/arm/neon.md (neon_vfm<vfml_op>l_<vfml_half><mode>): New
- define_expand.
- (vfmal_low<mode>_intrinsic, vfmsl_high<mode>_intrinsic,
- vfmal_high<mode>_intrinsic, vfmsl_low<mode>_intrinsic):
- New define_insn.
- * config/arm/t-arm-elf (v8_fps): Add fp16fml.
- * config/arm/t-multilib (v8_2_a_simd_variants): Add fp16fml.
- * config/arm/unspecs.md (UNSPEC_VFML_LO, UNSPEC_VFML_HI): New unspecs.
- * doc/invoke.texi (ARM Options): Document fp16fml. Update armv8.4-a
- documentation.
- * doc/sourcebuild.texi (arm_fp16fml_neon_ok, arm_fp16fml_neon):
- Document new effective target and option set.
-
-2017-01-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm-cpus.in (armv8_4): New feature.
- (ARMv8_4a): New fgroup.
- (armv8.4-a): New arch.
- * config/arm/arm-tables.opt: Regenerate.
- * config/arm/t-aprofile: Add matching rules for -march=armv8.4-a.
- * config/arm/t-arm-elf (all_v8_archs): Add armv8.4-a.
- * config/arm/t-multilib (v8_4_a_simd_variants): New variable.
- Add matching rules for -march=armv8.4-a and extensions.
- * doc/invoke.texi (ARM Options): Document -march=armv8.4-a.
-
-2018-01-11 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/81821
- * config/rx/rx.md (BW): New mode attribute.
- (sync_lock_test_and_setsi): Add mode suffix to insn output.
-
-2018-01-11 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/83435
- * graphite.c (canonicalize_loop_form): Ignore fake loop exit edges.
- * graphite-scop-detection.c (scop_detection::get_sese): Likewise.
- * tree-vrp.c (add_assert_info): Drop TREE_OVERFLOW if they appear.
-
-2018-01-11 Richard Sandiford <richard.sandiford@linaro.org>
- Alan Hayward <alan.hayward@arm.com>
- David Sherwood <david.sherwood@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_address_info): Add a const_offset
- field.
- (aarch64_classify_address): Initialize it. Track polynomial offsets.
- (aarch64_print_address_internal): Use it to check for a zero offset.
-
-2018-01-11 Richard Sandiford <richard.sandiford@linaro.org>
- Alan Hayward <alan.hayward@arm.com>
- David Sherwood <david.sherwood@arm.com>
-
- * config/aarch64/aarch64-modes.def (NUM_POLY_INT_COEFFS): Set to 2.
- * config/aarch64/aarch64-protos.h (aarch64_initial_elimination_offset):
- Return a poly_int64 rather than a HOST_WIDE_INT.
- (aarch64_offset_7bit_signed_scaled_p): Take the offset as a poly_int64
- rather than a HOST_WIDE_INT.
- * config/aarch64/aarch64.h (aarch64_frame): Protect with
- HAVE_POLY_INT_H rather than HOST_WIDE_INT. Change locals_offset,
- hard_fp_offset, frame_size, initial_adjust, callee_offset and
- final_offset from HOST_WIDE_INT to poly_int64.
- * config/aarch64/aarch64-builtins.c (aarch64_simd_expand_args): Use
- to_constant when getting the number of units in an Advanced SIMD
- mode.
- (aarch64_builtin_vectorized_function): Check for a constant number
- of units.
- * config/aarch64/aarch64-simd.md (mov<mode>): Handle polynomial
- GET_MODE_SIZE.
- (aarch64_ld<VSTRUCT:nregs>_lane<VALLDIF:mode>): Use the nunits
- attribute instead of GET_MODE_NUNITS.
- * config/aarch64/aarch64.c (aarch64_hard_regno_nregs)
- (aarch64_class_max_nregs): Use the constant_lowest_bound of the
- GET_MODE_SIZE for fixed-size registers.
- (aarch64_const_vec_all_same_in_range_p): Use const_vec_duplicate_p.
- (aarch64_hard_regno_call_part_clobbered, aarch64_classify_index)
- (aarch64_mode_valid_for_sched_fusion_p, aarch64_classify_address)
- (aarch64_legitimize_address_displacement, aarch64_secondary_reload)
- (aarch64_print_operand, aarch64_print_address_internal)
- (aarch64_address_cost, aarch64_rtx_costs, aarch64_register_move_cost)
- (aarch64_short_vector_p, aapcs_vfp_sub_candidate)
- (aarch64_simd_attr_length_rglist, aarch64_operands_ok_for_ldpstp):
- Handle polynomial GET_MODE_SIZE.
- (aarch64_hard_regno_caller_save_mode): Likewise. Return modes
- wider than SImode without modification.
- (tls_symbolic_operand_type): Use strip_offset instead of split_const.
- (aarch64_pass_by_reference, aarch64_layout_arg, aarch64_pad_reg_upward)
- (aarch64_gimplify_va_arg_expr): Assert that we don't yet handle
- passing and returning SVE modes.
- (aarch64_function_value, aarch64_layout_arg): Use gen_int_mode
- rather than GEN_INT.
- (aarch64_emit_probe_stack_range): Take the size as a poly_int64
- rather than a HOST_WIDE_INT, but call sorry if it isn't constant.
- (aarch64_allocate_and_probe_stack_space): Likewise.
- (aarch64_layout_frame): Cope with polynomial offsets.
- (aarch64_save_callee_saves, aarch64_restore_callee_saves): Take the
- start_offset as a poly_int64 rather than a HOST_WIDE_INT. Track
- polynomial offsets.
- (offset_9bit_signed_unscaled_p, offset_12bit_unsigned_scaled_p)
- (aarch64_offset_7bit_signed_scaled_p): Take the offset as a
- poly_int64 rather than a HOST_WIDE_INT.
- (aarch64_get_separate_components, aarch64_process_components)
- (aarch64_expand_prologue, aarch64_expand_epilogue)
- (aarch64_use_return_insn_p): Handle polynomial frame offsets.
- (aarch64_anchor_offset): New function, split out from...
- (aarch64_legitimize_address): ...here.
- (aarch64_builtin_vectorization_cost): Handle polynomial
- TYPE_VECTOR_SUBPARTS.
- (aarch64_simd_check_vect_par_cnst_half): Handle polynomial
- GET_MODE_NUNITS.
- (aarch64_simd_make_constant, aarch64_expand_vector_init): Get the
- number of elements from the PARALLEL rather than the mode.
- (aarch64_shift_truncation_mask): Use GET_MODE_UNIT_BITSIZE
- rather than GET_MODE_BITSIZE.
- (aarch64_evpc_trn, aarch64_evpc_uzp, aarch64_evpc_ext)
- (aarch64_evpc_rev, aarch64_evpc_dup, aarch64_evpc_zip)
- (aarch64_expand_vec_perm_const_1): Handle polynomial
- d->perm.length () and d->perm elements.
- (aarch64_evpc_tbl): Likewise. Use nelt rather than GET_MODE_NUNITS.
- Apply to_constant to d->perm elements.
- (aarch64_simd_valid_immediate, aarch64_vec_fpconst_pow_of_2): Handle
- polynomial CONST_VECTOR_NUNITS.
- (aarch64_move_pointer): Take amount as a poly_int64 rather
- than an int.
- (aarch64_progress_pointer): Avoid temporary variable.
- * config/aarch64/aarch64.md (aarch64_<crc_variant>): Use
- the mode attribute instead of GET_MODE.
-
-2018-01-11 Richard Sandiford <richard.sandiford@linaro.org>
- Alan Hayward <alan.hayward@arm.com>
- David Sherwood <david.sherwood@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_force_temporary): Assert that
- x exists before using it.
- (aarch64_add_constant_internal): Rename to...
- (aarch64_add_offset_1): ...this. Replace regnum with separate
- src and dest rtxes. Handle the case in which they're different,
- including when the offset is zero. Replace scratchreg with an rtx.
- Use 2 additions if there is no spare register into which we can
- move a 16-bit constant.
- (aarch64_add_constant): Delete.
- (aarch64_add_offset): Replace reg with separate src and dest
- rtxes. Take a poly_int64 offset instead of a HOST_WIDE_INT.
- Use aarch64_add_offset_1.
- (aarch64_add_sp, aarch64_sub_sp): Take the scratch register as
- an rtx rather than an int. Take the delta as a poly_int64
- rather than a HOST_WIDE_INT. Use aarch64_add_offset.
- (aarch64_expand_mov_immediate): Update uses of aarch64_add_offset.
- (aarch64_expand_prologue): Update calls to aarch64_sub_sp,
- aarch64_allocate_and_probe_stack_space and aarch64_add_offset.
- (aarch64_expand_epilogue): Update calls to aarch64_add_offset
- and aarch64_add_sp.
- (aarch64_output_mi_thunk): Use aarch64_add_offset rather than
- aarch64_add_constant.
-
-2018-01-11 Richard Sandiford <richard.sandiford@linaro.org>
-
- * config/aarch64/aarch64.c (aarch64_reinterpret_float_as_int):
- Use scalar_float_mode.
-
-2018-01-11 Richard Sandiford <richard.sandiford@linaro.org>
-
- * config/aarch64/aarch64-simd.md
- (aarch64_fml<f16mac1>l<f16quad>_low<mode>): Avoid GET_MODE_NUNITS.
- (aarch64_fml<f16mac1>l<f16quad>_high<mode>): Likewise.
- (aarch64_fml<f16mac1>l_lane_lowv2sf): Likewise.
- (aarch64_fml<f16mac1>l_lane_highv2sf): Likewise.
- (aarch64_fml<f16mac1>lq_laneq_lowv4sf): Likewise.
- (aarch64_fml<f16mac1>lq_laneq_highv4sf): Likewise.
- (aarch64_fml<f16mac1>l_laneq_lowv2sf): Likewise.
- (aarch64_fml<f16mac1>l_laneq_highv2sf): Likewise.
- (aarch64_fml<f16mac1>lq_lane_lowv4sf): Likewise.
- (aarch64_fml<f16mac1>lq_lane_highv4sf): Likewise.
-
-2018-01-11 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-
- PR target/83514
- * config/arm/arm.c (arm_declare_function_name): Set arch_to_print if
- targ_options->x_arm_arch_string is non NULL.
-
-2018-01-11 Tamar Christina <tamar.christina@arm.com>
-
- * config/aarch64/aarch64.h
- (AARCH64_FL_FOR_ARCH8_4): Add AARCH64_FL_DOTPROD.
-
-2018-01-11 Sudakshina Das <sudi.das@arm.com>
-
- PR target/82096
- * expmed.c (emit_store_flag_force): Swap if const op0
- and change VOIDmode to mode of op0.
-
-2018-01-11 Richard Sandiford <richard.sandiford@linaro.org>
-
- PR rtl-optimization/83761
- * caller-save.c (replace_reg_with_saved_mem): Pass bits rather
- than bytes to mode_for_size.
-
-2018-01-10 Jan Hubicka <hubicka@ucw.cz>
-
- PR middle-end/83189
- * gfortran.fortran-torture/compile/pr83189.f90: New testcase.
- * tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Handle zero
- profile.
-
-2018-01-10 Jan Hubicka <hubicka@ucw.cz>
-
- PR middle-end/83575
- * cfgrtl.c (rtl_verify_edges): Only verify fixability of partition
- when in layout mode.
- (cfg_layout_finalize): Do not verify cfg before we are out of layout.
- * cfgcleanup.c (try_optimize_cfg): Only verify flow info when doing
- partition fixup.
-
-2018-01-10 Michael Collison <michael.collison@arm.com>
-
- * config/aarch64/aarch64-modes.def (V2HF): New VECTOR_MODE.
- * config/aarch64/aarch64-option-extension.def: Add
- AARCH64_OPT_EXTENSION of 'fp16fml'.
- * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins):
- (__ARM_FEATURE_FP16_FML): Define if TARGET_F16FML is true.
- * config/aarch64/predicates.md (aarch64_lane_imm3): New predicate.
- * config/aarch64/constraints.md (Ui7): New constraint.
- * config/aarch64/iterators.md (VFMLA_W): New mode iterator.
- (VFMLA_SEL_W): Ditto.
- (f16quad): Ditto.
- (f16mac1): Ditto.
- (VFMLA16_LOW): New int iterator.
- (VFMLA16_HIGH): Ditto.
- (UNSPEC_FMLAL): New unspec.
- (UNSPEC_FMLSL): Ditto.
- (UNSPEC_FMLAL2): Ditto.
- (UNSPEC_FMLSL2): Ditto.
- (f16mac): New code attribute.
- * config/aarch64/aarch64-simd-builtins.def
- (aarch64_fmlal_lowv2sf): Ditto.
- (aarch64_fmlsl_lowv2sf): Ditto.
- (aarch64_fmlalq_lowv4sf): Ditto.
- (aarch64_fmlslq_lowv4sf): Ditto.
- (aarch64_fmlal_highv2sf): Ditto.
- (aarch64_fmlsl_highv2sf): Ditto.
- (aarch64_fmlalq_highv4sf): Ditto.
- (aarch64_fmlslq_highv4sf): Ditto.
- (aarch64_fmlal_lane_lowv2sf): Ditto.
- (aarch64_fmlsl_lane_lowv2sf): Ditto.
- (aarch64_fmlal_laneq_lowv2sf): Ditto.
- (aarch64_fmlsl_laneq_lowv2sf): Ditto.
- (aarch64_fmlalq_lane_lowv4sf): Ditto.
- (aarch64_fmlsl_lane_lowv4sf): Ditto.
- (aarch64_fmlalq_laneq_lowv4sf): Ditto.
- (aarch64_fmlsl_laneq_lowv4sf): Ditto.
- (aarch64_fmlal_lane_highv2sf): Ditto.
- (aarch64_fmlsl_lane_highv2sf): Ditto.
- (aarch64_fmlal_laneq_highv2sf): Ditto.
- (aarch64_fmlsl_laneq_highv2sf): Ditto.
- (aarch64_fmlalq_lane_highv4sf): Ditto.
- (aarch64_fmlsl_lane_highv4sf): Ditto.
- (aarch64_fmlalq_laneq_highv4sf): Ditto.
- (aarch64_fmlsl_laneq_highv4sf): Ditto.
- * config/aarch64/aarch64-simd.md:
- (aarch64_fml<f16mac1>l<f16quad>_low<mode>): New pattern.
- (aarch64_fml<f16mac1>l<f16quad>_high<mode>): Ditto.
- (aarch64_simd_fml<f16mac1>l<f16quad>_low<mode>): Ditto.
- (aarch64_simd_fml<f16mac1>l<f16quad>_high<mode>): Ditto.
- (aarch64_fml<f16mac1>l_lane_lowv2sf): Ditto.
- (aarch64_fml<f16mac1>l_lane_highv2sf): Ditto.
- (aarch64_simd_fml<f16mac>l_lane_lowv2sf): Ditto.
- (aarch64_simd_fml<f16mac>l_lane_highv2sf): Ditto.
- (aarch64_fml<f16mac1>lq_laneq_lowv4sf): Ditto.
- (aarch64_fml<f16mac1>lq_laneq_highv4sf): Ditto.
- (aarch64_simd_fml<f16mac>lq_laneq_lowv4sf): Ditto.
- (aarch64_simd_fml<f16mac>lq_laneq_highv4sf): Ditto.
- (aarch64_fml<f16mac1>l_laneq_lowv2sf): Ditto.
- (aarch64_fml<f16mac1>l_laneq_highv2sf): Ditto.
- (aarch64_simd_fml<f16mac>l_laneq_lowv2sf): Ditto.
- (aarch64_simd_fml<f16mac>l_laneq_highv2sf): Ditto.
- (aarch64_fml<f16mac1>lq_lane_lowv4sf): Ditto.
- (aarch64_fml<f16mac1>lq_lane_highv4sf): Ditto.
- (aarch64_simd_fml<f16mac>lq_lane_lowv4sf): Ditto.
- (aarch64_simd_fml<f16mac>lq_lane_highv4sf): Ditto.
- * config/aarch64/arm_neon.h (vfmlal_low_u32): New intrinsic.
- (vfmlsl_low_u32): Ditto.
- (vfmlalq_low_u32): Ditto.
- (vfmlslq_low_u32): Ditto.
- (vfmlal_high_u32): Ditto.
- (vfmlsl_high_u32): Ditto.
- (vfmlalq_high_u32): Ditto.
- (vfmlslq_high_u32): Ditto.
- (vfmlal_lane_low_u32): Ditto.
- (vfmlsl_lane_low_u32): Ditto.
- (vfmlal_laneq_low_u32): Ditto.
- (vfmlsl_laneq_low_u32): Ditto.
- (vfmlalq_lane_low_u32): Ditto.
- (vfmlslq_lane_low_u32): Ditto.
- (vfmlalq_laneq_low_u32): Ditto.
- (vfmlslq_laneq_low_u32): Ditto.
- (vfmlal_lane_high_u32): Ditto.
- (vfmlsl_lane_high_u32): Ditto.
- (vfmlal_laneq_high_u32): Ditto.
- (vfmlsl_laneq_high_u32): Ditto.
- (vfmlalq_lane_high_u32): Ditto.
- (vfmlslq_lane_high_u32): Ditto.
- (vfmlalq_laneq_high_u32): Ditto.
- (vfmlslq_laneq_high_u32): Ditto.
- * config/aarch64/aarch64.h (AARCH64_FL_F16SML): New flag.
- (AARCH64_FL_FOR_ARCH8_4): New.
- (AARCH64_ISA_F16FML): New ISA flag.
- (TARGET_F16FML): New feature flag for fp16fml.
- (doc/invoke.texi): Document new fp16fml option.
-
-2018-01-10 Michael Collison <michael.collison@arm.com>
-
- * config/aarch64/aarch64-builtins.c:
- (aarch64_types_ternopu_imm_qualifiers, TYPES_TERNOPUI): New.
- * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins):
- (__ARM_FEATURE_SHA3): Define if TARGET_SHA3 is true.
- * config/aarch64/aarch64.h (AARCH64_FL_SHA3): New flags.
- (AARCH64_ISA_SHA3): New ISA flag.
- (TARGET_SHA3): New feature flag for sha3.
- * config/aarch64/iterators.md (sha512_op): New int attribute.
- (CRYPTO_SHA512): New int iterator.
- (UNSPEC_SHA512H): New unspec.
- (UNSPEC_SHA512H2): Ditto.
- (UNSPEC_SHA512SU0): Ditto.
- (UNSPEC_SHA512SU1): Ditto.
- * config/aarch64/aarch64-simd-builtins.def
- (aarch64_crypto_sha512hqv2di): New builtin.
- (aarch64_crypto_sha512h2qv2di): Ditto.
- (aarch64_crypto_sha512su0qv2di): Ditto.
- (aarch64_crypto_sha512su1qv2di): Ditto.
- (aarch64_eor3qv8hi): Ditto.
- (aarch64_rax1qv2di): Ditto.
- (aarch64_xarqv2di): Ditto.
- (aarch64_bcaxqv8hi): Ditto.
- * config/aarch64/aarch64-simd.md:
- (aarch64_crypto_sha512h<sha512_op>qv2di): New pattern.
- (aarch64_crypto_sha512su0qv2di): Ditto.
- (aarch64_crypto_sha512su1qv2di): Ditto.
- (aarch64_eor3qv8hi): Ditto.
- (aarch64_rax1qv2di): Ditto.
- (aarch64_xarqv2di): Ditto.
- (aarch64_bcaxqv8hi): Ditto.
- * config/aarch64/arm_neon.h (vsha512hq_u64): New intrinsic.
- (vsha512h2q_u64): Ditto.
- (vsha512su0q_u64): Ditto.
- (vsha512su1q_u64): Ditto.
- (veor3q_u16): Ditto.
- (vrax1q_u64): Ditto.
- (vxarq_u64): Ditto.
- (vbcaxq_u16): Ditto.
- * config/arm/types.md (crypto_sha512): New type attribute.
- (crypto_sha3): Ditto.
- (doc/invoke.texi): Document new sha3 option.
-
-2018-01-10 Michael Collison <michael.collison@arm.com>
-
- * config/aarch64/aarch64-builtins.c:
- (aarch64_types_quadopu_imm_qualifiers, TYPES_QUADOPUI): New.
- * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins):
- (__ARM_FEATURE_SM3): Define if TARGET_SM4 is true.
- (__ARM_FEATURE_SM4): Define if TARGET_SM4 is true.
- * config/aarch64/aarch64.h (AARCH64_FL_SM4): New flags.
- (AARCH64_ISA_SM4): New ISA flag.
- (TARGET_SM4): New feature flag for sm4.
- * config/aarch64/aarch64-simd-builtins.def
- (aarch64_sm3ss1qv4si): Ditto.
- (aarch64_sm3tt1aq4si): Ditto.
- (aarch64_sm3tt1bq4si): Ditto.
- (aarch64_sm3tt2aq4si): Ditto.
- (aarch64_sm3tt2bq4si): Ditto.
- (aarch64_sm3partw1qv4si): Ditto.
- (aarch64_sm3partw2qv4si): Ditto.
- (aarch64_sm4eqv4si): Ditto.
- (aarch64_sm4ekeyqv4si): Ditto.
- * config/aarch64/aarch64-simd.md:
- (aarch64_sm3ss1qv4si): Ditto.
- (aarch64_sm3tt<sm3tt_op>qv4si): Ditto.
- (aarch64_sm3partw<sm3part_op>qv4si): Ditto.
- (aarch64_sm4eqv4si): Ditto.
- (aarch64_sm4ekeyqv4si): Ditto.
- * config/aarch64/iterators.md (sm3tt_op): New int iterator.
- (sm3part_op): Ditto.
- (CRYPTO_SM3TT): Ditto.
- (CRYPTO_SM3PART): Ditto.
- (UNSPEC_SM3SS1): New unspec.
- (UNSPEC_SM3TT1A): Ditto.
- (UNSPEC_SM3TT1B): Ditto.
- (UNSPEC_SM3TT2A): Ditto.
- (UNSPEC_SM3TT2B): Ditto.
- (UNSPEC_SM3PARTW1): Ditto.
- (UNSPEC_SM3PARTW2): Ditto.
- (UNSPEC_SM4E): Ditto.
- (UNSPEC_SM4EKEY): Ditto.
- * config/aarch64/constraints.md (Ui2): New constraint.
- * config/aarch64/predicates.md (aarch64_imm2): New predicate.
- * config/arm/types.md (crypto_sm3): New type attribute.
- (crypto_sm4): Ditto.
- * config/aarch64/arm_neon.h (vsm3ss1q_u32): New intrinsic.
- (vsm3tt1aq_u32): Ditto.
- (vsm3tt1bq_u32): Ditto.
- (vsm3tt2aq_u32): Ditto.
- (vsm3tt2bq_u32): Ditto.
- (vsm3partw1q_u32): Ditto.
- (vsm3partw2q_u32): Ditto.
- (vsm4eq_u32): Ditto.
- (vsm4ekeyq_u32): Ditto.
- (doc/invoke.texi): Document new sm4 option.
-
-2018-01-10 Michael Collison <michael.collison@arm.com>
-
- * config/aarch64/aarch64-arches.def (armv8.4-a): New architecture.
- * config/aarch64/aarch64.h (AARCH64_ISA_V8_4): New ISA flag.
- (AARCH64_FL_FOR_ARCH8_4): New.
- (AARCH64_FL_V8_4): New flag.
- (doc/invoke.texi): Document new armv8.4-a option.
-
-2018-01-10 Michael Collison <michael.collison@arm.com>
-
- * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins):
- (__ARM_FEATURE_AES): Define if TARGET_AES is true.
- (__ARM_FEATURE_SHA2): Define if TARGET_SHA2 is true.
- * config/aarch64/aarch64-option-extension.def: Add
- AARCH64_OPT_EXTENSION of 'sha2'.
- (aes): Add AARCH64_OPT_EXTENSION of 'aes'.
- (crypto): Disable sha2 and aes if crypto disabled.
- (crypto): Enable aes and sha2 if enabled.
- (simd): Disable sha2 and aes if simd disabled.
- * config/aarch64/aarch64.h (AARCH64_FL_AES, AARCH64_FL_SHA2):
- New flags.
- (AARCH64_ISA_AES, AARCH64_ISA_SHA2): New ISA flags.
- (TARGET_SHA2): New feature flag for sha2.
- (TARGET_AES): New feature flag for aes.
- * config/aarch64/aarch64-simd.md:
- (aarch64_crypto_aes<aes_op>v16qi): Make pattern
- conditional on TARGET_AES.
- (aarch64_crypto_aes<aesmc_op>v16qi): Ditto.
- (aarch64_crypto_sha1hsi): Make pattern conditional
- on TARGET_SHA2.
- (aarch64_crypto_sha1hv4si): Ditto.
- (aarch64_be_crypto_sha1hv4si): Ditto.
- (aarch64_crypto_sha1su1v4si): Ditto.
- (aarch64_crypto_sha1<sha1_op>v4si): Ditto.
- (aarch64_crypto_sha1su0v4si): Ditto.
- (aarch64_crypto_sha256h<sha256_op>v4si): Ditto.
- (aarch64_crypto_sha256su0v4si): Ditto.
- (aarch64_crypto_sha256su1v4si): Ditto.
- (doc/invoke.texi): Document new aes and sha2 options.
-
-2018-01-10 Martin Sebor <msebor@redhat.com>
-
- PR tree-optimization/83781
- * gimple-fold.c (get_range_strlen): Avoid treating arrays of pointers
- as string arrays.
-
-2018-01-11 Martin Sebor <msebor@gmail.com>
- Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-
- PR tree-optimization/83501
- PR tree-optimization/81703
-
- * tree-ssa-strlen.c (get_string_cst): Rename...
- (get_string_len): ...to this. Handle global constants.
- (handle_char_store): Adjust.
-
-2018-01-10 Kito Cheng <kito.cheng@gmail.com>
- Jim Wilson <jimw@sifive.com>
-
- * config/riscv/riscv-protos.h (riscv_output_return): New.
- * config/riscv/riscv.c (struct machine_function): New naked_p field.
- (riscv_attribute_table, riscv_output_return),
- (riscv_handle_fndecl_attribute, riscv_naked_function_p),
- (riscv_allocate_stack_slots_for_args, riscv_warn_func_return): New.
- (riscv_compute_frame_info): Only compute frame->mask if not a naked
- function.
- (riscv_expand_prologue): Add early return for naked function.
- (riscv_expand_epilogue): Likewise.
- (riscv_function_ok_for_sibcall): Return false for naked function.
- (riscv_set_current_function): New.
- (TARGET_SET_CURRENT_FUNCTION, TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS),
- (TARGET_ATTRIBUTE_TABLE, TARGET_WARN_FUNC_RETURN): New.
- * config/riscv/riscv.md (simple_return): Call riscv_output_return.
- * doc/extend.texi (RISC-V Function Attributes): New.
-
-2018-01-10 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.c (is_complex_IBM_long_double): Explicitly
- check for 128-bit long double before checking TCmode.
- * config/rs6000/rs6000.h (FLOAT128_IEEE_P): Explicitly check for
- 128-bit long doubles before checking TFmode or TCmode.
- (FLOAT128_IBM_P): Likewise.
-
-2018-01-10 Martin Sebor <msebor@redhat.com>
-
- PR tree-optimization/83671
- * builtins.c (c_strlen): Unconditionally return zero for the empty
- string.
- Use -Warray-bounds for warnings.
- * gimple-fold.c (get_range_strlen): Handle non-constant lengths
- for non-constant array indices with COMPONENT_REF, arrays of
- arrays, and pointers to arrays.
- (gimple_fold_builtin_strlen): Determine and set length range for
- non-constant character arrays.
-
-2018-01-10 Aldy Hernandez <aldyh@redhat.com>
-
- PR middle-end/81897
- * tree-ssa-uninit.c (convert_control_dep_chain_into_preds): Skip
- empty blocks.
-
-2018-01-10 Eric Botcazou <ebotcazou@adacore.com>
-
- * dwarf2out.c (dwarf2out_var_location): Do not pass NULL to fprintf.
-
-2018-01-10 Peter Bergner <bergner@vnet.ibm.com>
-
- PR target/83399
- * config/rs6000/rs6000.c (print_operand) <'y'>: Use
- VECTOR_MEM_ALTIVEC_OR_VSX_P.
- * config/rs6000/vsx.md (*vsx_le_perm_load_<mode> for VSX_D): Use
- indexed_or_indirect_operand predicate.
- (*vsx_le_perm_load_<mode> for VSX_W): Likewise.
- (*vsx_le_perm_load_v8hi): Likewise.
- (*vsx_le_perm_load_v16qi): Likewise.
- (*vsx_le_perm_store_<mode> for VSX_D): Likewise.
- (*vsx_le_perm_store_<mode> for VSX_W): Likewise.
- (*vsx_le_perm_store_v8hi): Likewise.
- (*vsx_le_perm_store_v16qi): Likewise.
- (eight unnamed splitters): Likewise.
-
-2018-01-10 Peter Bergner <bergner@vnet.ibm.com>
-
- * config/rs6000/x86intrin.h: Change #warning to #error. Update message.
- * config/rs6000/emmintrin.h: Likewise.
- * config/rs6000/mmintrin.h: Likewise.
- * config/rs6000/xmmintrin.h: Likewise.
-
-2018-01-10 David Malcolm <dmalcolm@redhat.com>
-
- PR c++/43486
- * tree-core.h: Document EXPR_LOCATION_WRAPPER_P's usage of
- "public_flag".
- * tree.c (tree_nop_conversion): Return true for location wrapper
- nodes.
- (maybe_wrap_with_location): New function.
- (selftest::check_strip_nops): New function.
- (selftest::test_location_wrappers): New function.
- (selftest::tree_c_tests): Call it.
- * tree.h (STRIP_ANY_LOCATION_WRAPPER): New macro.
- (maybe_wrap_with_location): New decl.
- (EXPR_LOCATION_WRAPPER_P): New macro.
- (location_wrapper_p): New inline function.
- (tree_strip_any_location_wrapper): New inline function.
-
-2018-01-10 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/83735
- * config/i386/i386.c (ix86_compute_frame_layout): Always adjust
- stack_realign_offset for the largest alignment of stack slot
- actually used.
- (ix86_find_max_used_stack_alignment): New function.
- (ix86_finalize_stack_frame_flags): Use it. Set
- max_used_stack_alignment if we don't realign stack.
- * config/i386/i386.h (machine_function): Add
- max_used_stack_alignment.
-
-2018-01-10 Christophe Lyon <christophe.lyon@linaro.org>
-
- * config/arm/arm.opt (-mbranch-cost): New option.
- * config/arm/arm.h (BRANCH_COST): Take arm_branch_cost into
- account.
-
-2018-01-10 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR target/83629
- * config/rs6000/rs6000.md (load_toc_v4_PIC_2, load_toc_v4_PIC_3b,
- load_toc_v4_PIC_3c): Wrap const term in CONST RTL.
-
-2018-01-10 Richard Biener <rguenther@suse.de>
-
- PR debug/83765
- * dwarf2out.c (gen_subprogram_die): Hoist old_die && declaration
- early out so it also covers the case where we have a non-NULL
- origin.
-
-2018-01-10 Richard Sandiford <richard.sandiford@linaro.org>
-
- PR tree-optimization/83753
- * tree-vect-stmts.c (get_group_load_store_type): Use VMAT_CONTIGUOUS
- for non-strided grouped accesses if the number of elements is 1.
-
-2018-01-10 Jan Hubicka <hubicka@ucw.cz>
-
- PR target/81616
- * i386.c (ix86_vectorize_builtin_gather): Check TARGET_USE_GATHER.
- * i386.h (TARGET_USE_GATHER): Define.
- * x86-tune.def (X86_TUNE_USE_GATHER): New.
-
-2018-01-10 Martin Liska <mliska@suse.cz>
-
- PR bootstrap/82831
- * basic-block.h (CLEANUP_NO_PARTITIONING): New define.
- * bb-reorder.c (pass_reorder_blocks::execute): Do not clean up
- partitioning.
- * cfgcleanup.c (try_optimize_cfg): Fix up partitioning if
- CLEANUP_NO_PARTITIONING is not set.
-
-2018-01-10 Richard Sandiford <richard.sandiford@linaro.org>
-
- * doc/rtl.texi: Remove documentation of (const ...) wrappers
- for vectors, as a partial revert of r254296.
- * rtl.h (const_vec_p): Delete.
- (const_vec_duplicate_p): Don't test for vector CONSTs.
- (unwrap_const_vec_duplicate, const_vec_series_p): Likewise.
- * expmed.c (make_tree): Likewise.
+ 2010-06-30 Jakub Jelinek <jakub@redhat.com>
+
+ * config/rs6000/rs6000.c (rs6000_elf_end_indicate_exec_stack): New.
+ * config/rs6000/linux64.h (TARGET_ASM_FILE_END): Use
+ rs6000_elf_end_indicate_exec_stack.
+ * config/ia64/ia64.c (ia64_linux_file_end): New.
+ * config/ia64/linux.h (TARGET_ASM_FILE_END): Use ia64_linux_file_end.
+
+ * cppbuiltin.c (define__GNUC__): Also define __GNUC_RH_RELEASE__.
+
+ * config/ia64/ia64.h (FRAME_GROWS_DOWNWARD): Define to 1 if
+ -fstack-protect.
+ * config/ia64/ia64.c (ia64_compute_frame_size): Make sure
+ size is a multiple of 16 if FRAME_GROWS_DOWNWARD.
+ (ia64_initial_elimination_offset): Support FRAME_GROWS_DOWNWARD
+ layout.
+ * config/ia64/linux.h (TARGET_LIBC_PROVIDES_SSP): Define.
+ * config/ia64/ia64.md (stack_protect_set, stack_protect_test): New
+ expanders.
+
+ Revert:
+ 2005-04-29 Alan Modra <amodra@bigpond.net.au>
+ PR target/21098
+ * config/rs6000/rs6000.c (rs6000_elf_end_indicate_exec_stack): New.
+ * config/rs6000/linux64.h (TARGET_ASM_FILE_END): Use the above.
+
+ * config/rs6000/ppc-asm.h: Add .note.GNU-stack section also
+ on ppc64-linux.
+
+ * config/ia64/linux.h (TARGET_ASM_FILE_END): Define.
+
+ * configure.ac (HAVE_LD_OVERLAPPING_OPD): New test.
+ * configure: Rebuilt.
+ * config.in: Rebuilt.
+ * config/rs6000/rs6000.c (OVERLAPPING_OPD): Define.
+ (rs6000_elf_declare_function_name): Use it.
+
+2019-01-09 Jelinek <jakub@redhat.com>
+
+ PR middle-end/88758
+ * tree.c (initializer_each_zero_or_onep) <case VECTOR_CST>: Use
+ vector_cst_elt instead of VECTOR_CST_ENCODED_ELT.
- Revert:
- * common.md (E, F): Use CONSTANT_P instead of checking for
- CONST_VECTOR.
- * emit-rtl.c (gen_lowpart_common): Use const_vec_p instead of
- checking for CONST_VECTOR.
-
-2018-01-09 Jan Hubicka <hubicka@ucw.cz>
-
- PR middle-end/83575
- * predict.c (force_edge_cold): Handle in more sane way edges
- with no prediction.
-
-2018-01-09 Carl Love <cel@us.ibm.com>
-
- * config/rs6002/altivec.md (p8_vmrgow): Add support for V2DI, V2DF,
- V4SI, V4SF types.
- (p8_vmrgew): Add support for V2DI, V2DF, V4SF types.
- * config/rs6000/rs6000-builtin.def: Add definitions for FLOAT2_V2DF,
- VMRGEW_V2DI, VMRGEW_V2DF, VMRGEW_V4SF, VMRGOW_V4SI, VMRGOW_V4SF,
- VMRGOW_V2DI, VMRGOW_V2DF. Remove definition for VMRGOW.
- * config/rs6000/rs6000-c.c (VSX_BUILTIN_VEC_FLOAT2,
- P8V_BUILTIN_VEC_VMRGEW, P8V_BUILTIN_VEC_VMRGOW): Add definitions.
- * config/rs6000/rs6000-protos.h: Add extern defition for
- rs6000_generate_float2_double_code.
- * config/rs6000/rs6000.c (rs6000_generate_float2_double_code): Add
+ PR rtl-optimization/88331
+ * function.c (assign_stack_local_1): Don't set dynamic_align_addr if
+ not currently_expanding_to_rtl.
+
+2019-01-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * doc/invoke.texi (-Os): Remove trailing spaces.
+ (-finline-functions): Remove reference to -O2.
+
+2019-01-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/79593
+ * config/i386/i386.md (reg = mem; mem = reg): New define_peephole2.
+
+ * config/rs6000/rs6000.c (rs6000_delegitimize_address): Delegitimize
+ UNSPEC_FUSION_GPR to its argument. Formatting fixes.
+
+2019-01-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR bootstrap/88721
+ * config/sparc/sparc.c (function_arg_slotno): Set *PPREGNO & *PPADDING
+ to -1 on entry.
+
+ PR debug/88723
+ * config/sparc/sparc.c (sparc_delegitimize_address): Deal with naked
+ UNSPECs and UNSPEC_MOVE_GOTDATA specifically.
+
+2019-01-08 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/88717
+ * config/i386/i386.c (ix86_avx_u128_mode_exit): Call
+ ix86_avx_u128_mode_entry.
+
+2019-01-08 Martin Liska <mliska@suse.cz>
+
+ PR tree-optimization/88753
+ * tree-switch-conversion.c (switch_conversion::build_one_array):
+ Come up with local variable constructor. Convert first to
+ type of constructor values.
+
+2019-01-08 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/86554
+ * tree-ssa-sccvn.c (eliminate_dom_walker, rpo_elim,
+ rpo_avail): Move earlier.
+ (visit_nary_op): When value-numbering to expressions
+ with different overflow behavior make sure there's an
+ available expression on the path.
+
+2019-01-08 Sam Tebbs <sam.tebbs@arm.com>
+
+ * config/aarch64/aarch64.c (BRANCH_PROTECT_STR_MAX,
+ aarch64_parse_branch_protection,
+ struct aarch64_branch_protect_type,
+ aarch64_handle_no_branch_protection,
+ aarch64_handle_standard_branch_protection,
+ aarch64_validate_mbranch_protection,
+ aarch64_handle_pac_ret_protection,
+ aarch64_handle_attr_branch_protection,
+ accepted_branch_protection_string,
+ aarch64_pac_ret_subtypes,
+ aarch64_branch_protect_types,
+ aarch64_handle_pac_ret_leaf): Define.
+ (aarch64_override_options_after_change_1, aarch64_override_options):
+ Add check for accepted_branch_protection_string.
+ (aarch64_option_save): Save accepted_branch_protection_string.
+ (aarch64_option_restore): Save accepted_branch_protection_string.
+ * config/aarch64/aarch64.c (aarch64_attributes): Add branch-protection.
+ * config/aarch64/aarch64.opt: Add mbranch-protection. Deprecate
+ msign-return-address.
+ * doc/invoke.texi: Add mbranch-protection.
+
+2019-01-08 Alan Modra <amodra@gmail.com>
+
+ PR target/88614
+ * genattrtab.c (max_attr_value, min_attr_value, or_attr_value):
+ Delete "unknownp" parameter. Adjust callers. Handle
+ CONST_INT, PLUS, MINUS, and MULT.
+ (attr_value_aligned): Renamed from or_attr_value.
+ (min_attr_value): Return INT_MIN for unhandled rtl case..
+ (min_fn): ..and translate to INT_MAX here.
+ (write_length_unit_log): Modify to cope without "unknown".
+ (write_attr_value): Handle IF_THEN_ELSE.
+
+2019-01-07 Richard Sandiford <richard.sandiford@arm.com>
+
+ * tree-vect-stmts.c (vectorizable_store): Don't use the dataref_offset
+ optimization for masked stores.
+
+2019-01-07 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR middle-end/88567
+ * tree-vect-loop.c (get_initial_defs_for_reduction): Pass the
+ output vector directly to duplicate_and_interleave instead of
+ going through a temporary. Postpone insertion of ctor_seq to
+ the end of the loop.
+
+2019-01-07 Richard Earnshaw <rearnsha@arm.com>
+
+ PR target/86891
+ * config/aarch64/aarch64.c (aarch64_expand_subvti): New parameter
+ unsigned_p. Handle signed and unsigned overflow correction as
+ required.
+ * config/aarch64/aarch64-protos.h (aarch64_expand_subvti): Update
+ prototype.
+ * config/aarch64/aarch64.md (addv<mode>4): Use aarch64_plus_operand
+ for operand 2.
+ (add<mode>3_compareV_imm): Make this callable for expanding.
+ (subv<GPI:mode>4): Use register_operand for operand 1. Use
+ aarch64_plus_operand for operand 2.
+ (subv<GPI:mode>_insn): New insn pattern.
+ (subv<GPI:mode>_imm): Likewise.
+ (negv<GPI:mode>3): New expand pattern.
+ (negv<GPI:mode>_insn): New insn pattern.
+ (negv<GPI:mode>_cmp_only): Likewise.
+ (cmpv<GPI:mode>_insn): Likewise.
+ (subvti4): Use register_operand for operand 1. Update call to
+ aarch64_expand_subvti.
+ (usubvti4): Likewise.
+ (negvti3): New expand pattern.
+ (negdi_carryout): New insn pattern.
+ (negvdi_carryinV): New insn pattern.
+ (sub<mode3>_compare1_imm): Delete named insn pattern, make anonymous
+ version the named version.
+ (peepholes to convert to sub<mode3>_compare1_imm): Adjust order of
+ operands.
+ (usub<GPI:mode>3_carryinC, usub<GPI:mode>3_carryinC_z1): New insn
+ patterns.
+ (usub<GPI:mode>3_carryinC_z2, usub<GPI:mode>3_carryinC): New insn
+ patterns.
+ (sub<mode>3_carryinCV, sub<mode>3_carryinCV_z1_z2): Delete.
+ (sub<mode>3_carryinCV_z1, sub<mode>3_carryinCV_z2): Delete.
+ (sub<mode>3_carryinCV): Delete.
+ (sub<GPI:mode>3_carryinV): New expand pattern.
+ sub<mode>3_carryinV, sub<mode>3_carryinV_z2): New insn patterns.
+
+2019-01-07 Richard Biener <rguenther@suse.de>
+
+ * tree-ssa-uncprop.c (ssa_equip_hash_traits): Remove in favor
+ of tree_operand_hash.
+
+2019-01-07 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR tree-optimization/88598
+ * tree.h (single_nonzero_element): Declare.
+ * tree.c (single_nonzero_element): New function.
+ * match.pd: Fold certain reductions of X & CST to X[I] & CST[I]
+ if I is the only nonzero element of CST.
+
+2019-01-07 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR tree-optimization/88598
+ * tree.h (initializer_each_zero_or_onep): Declare.
+ * tree.c (initializer_each_zero_or_onep): New function.
+ (signed_or_unsigned_type_for): Handle float types too.
+ (unsigned_type_for, signed_type_for): Update comments accordingly.
+ * match.pd: Fold x * { 0 or 1, 0 or 1, ...} to
+ x & { 0 or -1, 0 or -1, ... }.
+
+2019-01-07 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/install.texi: Replace references to x86_64-unknown-linux-gnu
+ with x86_64-pc-linux-gnu.
+
+2019-01-07 Tom de Vries <tdevries@suse.de>
+
+ PR target/85486
+ * config/nvptx/nvptx.c (has_vector_partitionable_routine_calls_p): New
function.
- * config/rs6000/vsx.md (vsx_xvcdpsp): Add define_insn.
- (float2_v2df): Add define_expand.
-
-2018-01-09 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/83628
- * combine.c (force_int_to_mode) <case ASHIFT>: Use mode instead of
- op_mode in the force_to_mode call.
-
-2018-01-09 Richard Sandiford <richard.sandiford@linaro.org>
-
- * config/aarch64/aarch64.c (aarch64_evpc_trn): Use d.perm.series_p
- instead of checking each element individually.
- (aarch64_evpc_uzp): Likewise.
- (aarch64_evpc_zip): Likewise.
- (aarch64_evpc_ext): Likewise.
- (aarch64_evpc_rev): Likewise.
- (aarch64_evpc_dup): Test the encoding for a single duplicated element,
- instead of checking each element individually. Return true without
- generating rtl if
- (aarch64_vectorize_vec_perm_const): Use all_from_input_p to test
- whether all selected elements come from the same input, instead of
- checking each element individually. Remove calls to gen_rtx_REG,
- start_sequence and end_sequence and instead assert that no rtl is
- generated.
-
-2018-01-09 Richard Sandiford <richard.sandiford@linaro.org>
-
- * config/aarch64/aarch64.c (aarch64_legitimate_constant_p): Fix
- order of HIGH and CONST checks.
-
-2018-01-09 Richard Sandiford <richard.sandiford@linaro.org>
-
- * tree-vect-stmts.c (permute_vec_elements): Create a fresh variable
- if the destination isn't an SSA_NAME.
-
-2018-01-09 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/83668
- * graphite.c (canonicalize_loop_closed_ssa): Add edge argument,
- move prologue...
- (canonicalize_loop_form): ... here, renamed from ...
- (canonicalize_loop_closed_ssa_form): ... this and amended to
- swap successor edges for loop exit blocks to make us use
- the RPO order we need for initial schedule generation.
-
-2018-01-09 Joseph Myers <joseph@codesourcery.com>
-
- PR tree-optimization/64811
- * match.pd: When optimizing comparisons with Inf, avoid
- introducing or losing exceptions from comparisons with NaN.
-
-2018-01-09 Martin Liska <mliska@suse.cz>
-
- PR sanitizer/82517
- * asan.c (shadow_mem_size): Add gcc_assert.
-
-2018-01-09 Georg-Johann Lay <avr@gjlay.de>
-
- Don't save registers in main().
-
- PR target/83738
- * doc/invoke.texi (AVR Options) [-mmain-is-OS_task]: Document it.
- * config/avr/avr.opt (-mmain-is-OS_task): New target option.
- * config/avr/avr.c (avr_set_current_function): Don't error if
- naked, OS_task or OS_main are specified at the same time.
- (avr_function_ok_for_sibcall): Don't disable sibcalls for OS_task,
- OS_main.
- (avr_insert_attributes) [-mmain-is-OS_task] <main>: Add OS_task
- attribute.
- * common/config/avr/avr-common.c (avr_option_optimization_table):
- Switch on -mmain-is-OS_task for optimizing compilations.
-
-2018-01-09 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/83572
- * graphite.c: Include cfganal.h.
- (graphite_transform_loops): Connect infinite loops to exit
- and remove fake edges at the end.
-
-2018-01-09 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-inline.c (edge_badness): Revert accidental checkin.
-
-2018-01-09 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/80763
- * ipa-comdats.c (set_comdat_group): Only set comdat group of real
- symbols; not inline clones.
-
-2018-01-09 Jakub Jelinek <jakub@redhat.com>
-
- PR target/83507
- * modulo-sched.c (schedule_reg_moves): Punt if we'd need to move
- hard registers. Formatting fixes.
-
- PR preprocessor/83722
- * gcc.c (try_generate_repro): Pass
- &temp_stderr_files[RETRY_ICE_ATTEMPTS - 1] rather than
- &temp_stdout_files[RETRY_ICE_ATTEMPTS - 1] as last argument to
- do_report_bug.
-
-2018-01-08 Monk Chiang <sh.chiang04@gmail.com>
- Kito Cheng <kito.cheng@gmail.com>
-
- * config/riscv/riscv.c (machine_function::is_leaf): Remove field.
- (riscv_leaf_function_p): Delete.
- (riscv_function_ok_for_sibcall): Return false when TARGET_SAVE_RESTORE.
-
-2018-01-08 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
+ (nvptx_goacc_validate_dims): Force vl32 if calling vector-partitionable
+ routines.
+
+2019-01-07 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/sse.md (vec_extract<mode><ssehalfvecmodelower>): Use
+ V_256_512 iterator instead of V_512 and TARGET_AVX instead of
+ TARGET_AVX512F as condition.
+
+ PR debug/88723
+ * dwarf2out.c (const_ok_for_output_1): Remove redundant call to
+ const_not_ok_for_debug_p target hook.
+ (mem_loc_descriptor) <case UNSPEC>: Only call const_ok_for_output_1
+ on UNSPEC and subexpressions thereof if all subexpressions of the
+ UNSPEC are CONSTANT_P.
+
+ PR tree-optimization/88676
+ * tree-ssa-phiopt.c (two_value_replacement): New function.
+ (tree_ssa_phiopt_worker): Call it.
+
+ PR sanitizer/88619
+ * cfgexpand.c (expand_stack_vars): Only align prev_offset to
+ ASAN_MIN_RED_ZONE_SIZE, not to maximum of that and alignb.
+
+ PR c++/85052
+ * tree-vect-generic.c: Include insn-config.h and recog.h.
+ (expand_vector_piecewise): Add defaulted ret_type argument,
+ if non-NULL, use that in preference to type for the result type.
+ (expand_vector_parallel): Formatting fix.
+ (do_vec_conversion, do_vec_narrowing_conversion,
+ expand_vector_conversion): New functions.
+ (expand_vector_operations_1): Call expand_vector_conversion
+ for VEC_CONVERT ifn calls.
+ * internal-fn.def (VEC_CONVERT): New internal function.
+ * internal-fn.c (expand_VEC_CONVERT): New function.
+ * fold-const-call.c (fold_const_vec_convert): New function.
+ (fold_const_call): Use it for CFN_VEC_CONVERT.
+ * doc/extend.texi (__builtin_convertvector): Document.
+
+2019-01-07 Tom de Vries <tdevries@suse.de>
+
+ * config/nvptx/nvptx-protos.h (nvptx_output_red_partition): Declare.
+ * config/nvptx/nvptx.c (vector_red_size, vector_red_align,
+ vector_red_partition, vector_red_sym): New global variables.
+ (nvptx_option_override): Initialize vector_red_sym.
+ (nvptx_declare_function_name): Restore red_partition register.
+ (nvptx_file_end): Emit code to declare the vector reduction variables.
+ (nvptx_output_red_partition): New function.
+ (nvptx_expand_shared_addr): Add vector argument. Use it to handle
+ large vector reductions.
+ (enum nvptx_builtins): Add NVPTX_BUILTIN_VECTOR_ADDR.
+ (nvptx_init_builtins): Add VECTOR_ADDR.
+ (nvptx_expand_builtin): Update call to nvptx_expand_shared_addr.
+ Handle nvptx_expand_shared_addr.
+ (nvptx_get_shared_red_addr): Add vector argument and handle large
+ vectors.
+ (nvptx_goacc_reduction_setup): Add offload_attrs argument and handle
+ large vectors.
+ (nvptx_goacc_reduction_init): Likewise.
+ (nvptx_goacc_reduction_fini): Likewise.
+ (nvptx_goacc_reduction_teardown): Likewise.
+ (nvptx_goacc_reduction): Update calls to nvptx_goacc_reduction_{setup,
+ init,fini,teardown}.
+ (nvptx_init_axis_predicate): Initialize vector_red_partition.
+ (nvptx_set_current_function): Init vector_red_partition.
+ * config/nvptx/nvptx.md (UNSPECV_RED_PART): New unspecv.
+ (nvptx_red_partition): New insn.
+ * config/nvptx/nvptx.h (struct machine_function): Add red_partition.
+
+2019-01-07 Tom de Vries <tdevries@suse.de>
+
+ PR target/85381
+ * config/nvptx/nvptx.c (nvptx_process_pars): Don't emit barriers for
+ empty loops.
+
+2019-01-07 Tom de Vries <tdevries@suse.de>
+
+ * config/nvptx/nvptx.c (oacc_bcast_partition): Declare.
+ (nvptx_option_override): Init oacc_bcast_partition.
+ (nvptx_init_oacc_workers): New function.
+ (nvptx_declare_function_name): Call nvptx_init_oacc_workers.
+ (nvptx_needs_shared_bcast): New function.
+ (nvptx_find_par): Generalize to enable vectors to use shared-memory
+ to propagate state.
+ (nvptx_shared_propagate): Initialize vector bcast partition and
+ synchronization state.
+ (nvptx_single): Generalize to enable vectors to use shared-memory
+ to propagate state.
+ (nvptx_process_pars): Likewise.
+ (nvptx_set_current_function): Initialize oacc_broadcast_partition.
+ * config/nvptx/nvptx.h (struct machine_function): Add
+ bcast_partition and sync_bar members.
+
+2019-01-07 Tom de Vries <tdevries@suse.de>
+
+ * config/nvptx/nvptx.c (nvptx_welformed_vector_length_p)
+ (nvptx_apply_dim_limits): New function.
+ (nvptx_goacc_validate_dims_1): Allow PTX_MAX_VECTOR_LENGTH larger than
+ PTX_WARP_SIZE.
+
+2019-01-07 Tom de Vries <tdevries@suse.de>
+
+ * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Move warnings to
+ as late as possible.
+
+2019-01-07 Tom de Vries <tdevries@suse.de>
+
+ * config/nvptx/nvptx.c (PTX_VECTOR_LENGTH): Remove.
+ (PTX_DEFAULT_VECTOR_LENGTH, PTX_MAX_VECTOR_LENGTH): Define.
+ (nvptx_goacc_validate_dims_1, nvptx_dim_limit)
+ (nvptx_goacc_reduction_fini): Use PTX_DEFAULT_VECTOR_LENGTH,
+ PTX_MAX_VECTOR_LENGTH and PTX_WARP_SIZE instead of PTX_VECTOR_LENGTH.
+
+2019-01-07 Tom de Vries <tdevries@suse.de>
+
+ * config/nvptx/nvptx.c (nvptx_goacc_validate_dims): Add asserts.
+
+2019-01-07 Tom de Vries <tdevries@suse.de>
+
+ * omp-offload.c (oacc_get_min_dim): New function.
+ * omp-offload.h (oacc_get_min_dim): Declare.
+
+2018-12-26 Mateusz B <mateuszb@poczta.onet.pl>
+
+ PR target/88521
+ * config/i386/i386.c (function_value_ms_64): Return small sturct in
+ AX_REG and float/double in FIRST_SSE_REG for 4 or 8 byte modes.
+
+2019-01-05 Jan Hubicka <hubicka@ucw.cz>
+
+ PR tree-opt/86020
+ Revert:
+ 2017-05-22 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-inline.c (edge_badness): Use inlined_time instead of
+ inline_summaries->get.
+
+2019-01-05 Jan Hubicka <hubicka@ucw.cz>
+
+ * opts.c (enable_fdo_optimizations): Enable
+ version-loops-for-strides, loop-interchange, unrol-and-jam
+ and tree-loop-distribution.
+ * invoke.texi: Document newly enabled options.
+
+2019-01-05 Jan Hubicka <hubicka@ucw.cz>
+
+ * doc/invoke.texi (max-inline-insns-small): New parameters.
+ * ipa-inline.c (want_early_inline_function_p): simplify.
+ (want_inline_small_function_p): Fix pasto from previous patch;
+ use max-inline-insns-small bound.
+ * params.def (max-inline-insns-small): New param.
+ * ipa-fnsummary.c (analyze_function_body): Initialize time/size
+ variables correctly.
+
+2019-01-05 Jan Hubicka <hubicka@ucw.cz>
+
+ * doc/invoke.texi: Document max-inline-insns-size,
+ uninlined-function-insns, uninlined-function-time,
+ uninlined-thunk-insns and uninlined-thunk-time.
+ * params.def: Add max-inline-insns-size,
+ uninlined-function-insns, uninlined-function-time,
+ uninlined-thunk-insns and uninlined-thunk-time.
+ * ipa-fnsummary.c (compute_fn_summary, analyze_function_body): Use
+ new parameters.
+ * ipa-inline.c (can_inline_edge_by_limits_p,
+ want_inline_small_function_p): Use new parameters.
+
+2019-01-05 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-fnsummary.c (analyze_function_body): Fix accounting of time.
+
+2019-01-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/82564
+ PR target/88620
+ * expr.c (expand_assignment): For calls returning VLA structures
+ if to_rtx is not a MEM, force it into a stack temporary.
+
+ PR debug/88635
+ * dwarf2out.c (const_ok_for_output_1): Reject MINUS that contains
+ SYMBOL_REF, CODE_LABEL or UNSPEC in subexpressions of second argument.
+ Reject PLUS that contains SYMBOL_REF, CODE_LABEL or UNSPEC in
+ subexpressions of both operands.
+ (mem_loc_descriptor): Handle UNSPEC if target hook acks it and all the
+ subrtxes are CONSTANT_P.
+ * config/i386/i386.c (ix86_const_not_ok_for_debug_p): Revert
+ 2018-11-09 changes.
+
+2019-01-04 Jan Hubicka <hubicka@ucw.cz>
+
+ * params.def (hot-bb-count-ws-permille): Set to 990.
+
+2019-01-04 Martin Sebor <msebor@redhat.com>
+
+ PR c/88546
+ * attribs.c (decls_mismatched_attributes): Avoid warning for attribute
+ leaf.
+
+2019-01-04 Martin Sebor <msebor@redhat.com>
+
+ PR c/88363
+ * doc/extend.texi (attribute alloc_align, alloc_size): Update.
+
+2019-01-04 Jakub Jelinek <jakub@redhat.com>
+
+ * gdbinit.in: Turn off pagination for the skip commands, restore
+ it to previous state afterwards.
+
+2019-01-04 Sam Tebbs <sam.tebbs@arm.com>
+
+ PR gcc/87763
+ * gcc.target/aarch64/combine_bfxil.c: Change scan-assembler-times bfxil
+ count to 18.
+
+2019-01-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/88594
+ * config/i386/i386.c (ix86_expand_divmod_libfunc): Use mode instead
+ of GET_MODE (opN) as modes of the libcall arguments.
+
+2019-01-04 Jan Beulich <jbeulich@suse.com>
+
+ * config/i386/sse.md
+ (<avx512>_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>,
+ <avx512>_cmp<mode>3<mask_scalar_merge_name>,
+ <avx512>_ucmp<mode>3<mask_scalar_merge_name>,
+ <avx512>_ucmp<mode>3<mask_scalar_merge_name>,
+ avx512f_vmcmp<mode>3<round_saeonly_name>,
+ avx512f_vmcmp<mode>3_mask<round_saeonly_name>,
+ avx512f_maskcmp<mode>3,
+ <avx512>_cvt<ssemodesuffix>2mask<mode>,
+ <avx512>_cvt<ssemodesuffix>2mask<mode>,
+ *<avx512>_cvtmask2<ssemodesuffix><mode>,
+ *<avx512>_cvtmask2<ssemodesuffix><mode>,
+ <avx512>_eq<mode>3<mask_scalar_merge_name>_1,
+ <avx512>_eq<mode>3<mask_scalar_merge_name>_1,
+ <avx512>_gt<mode>3<mask_scalar_merge_name>,
+ <avx512>_gt<mode>3<mask_scalar_merge_name>,
+ <avx512>_testm<mode>3<mask_scalar_merge_name>,
+ <avx512>_testnm<mode>3<mask_scalar_merge_name>,
+ *<avx512>_testm<VI1248_AVX512VLBW:mode>3_zext,
+ *<avx512>_testm<VI1248_AVX512VLBW:mode>3_zext_mask,
+ *<avx512>_testnm<VI1248_AVX512VLBW:mode>3_zext,
+ *<avx512>_testnm<VI1248_AVX512VLBW:mode>3_zext_mask,
+ avx512cd_maskb_vec_dup<mode>,
+ avx512cd_maskw_vec_dup<mode>,
+ avx512dq_fpclass<mode><mask_scalar_merge_name>,
+ avx512dq_vmfpclass<mode>,
+ avx512vl_vpshufbitqmb<mode><mask_scalar_merge_name>): Use =k
+ instead of =Yk.
+
+2019-01-03 Martin Sebor <msebor@redhat.com>
+
+ PR tree-optimization/88659
+ * calls.c (maybe_warn_nonstring_arg): Avoid assuming maxlen is set.
+
+2019-01-03 Aaron Sawdey <acsawdey@linux.ibm.com>
+
+ * config/rs6000/rs6000-string.c (expand_block_move): Don't use
+ unaligned vsx and avoid lxvd2x/stxvd2x.
+ (gen_lvx_v4si_move): New function.
+
+2019-01-03 Tom de Vries <tdevries@suse.de>
- * config/rs6000/rs6000-string.c (do_load_for_compare_from_addr): New
+ * config/nvptx/nvptx.c (MACH_VECTOR_LENGTH, MACH_MAX_WORKERS): Define.
+ (init_axis_dim, nvptx_mach_max_workers, nvptx_mach_vector_length): New
function.
- (do_ifelse): New function.
- (do_isel): New function.
- (do_sub3): New function.
- (do_add3): New function.
- (do_load_mask_compare): New function.
- (do_overlap_load_compare): New function.
- (expand_compare_loop): New function.
- (expand_block_compare): Call expand_compare_loop() when appropriate.
- * config/rs6000/rs6000.opt (-mblock-compare-inline-limit): Change
- option description.
- (-mblock-compare-inline-loop-limit): New option.
-
-2018-01-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR target/83677
- * config/rs6000/altivec.md (*altivec_vpermr_<mode>_internal):
- Reverse order of second and third operands in first alternative.
- * config/rs6000/rs6000.c (rs6000_expand_vector_set): Reverse order
- of first and second elements in UNSPEC_VPERMR vector.
- (altivec_expand_vec_perm_le): Likewise.
-
-2017-01-08 Jeff Law <law@redhat.com>
-
- PR rtl-optimizatin/81308
- * tree-switch-conversion.c (cfg_altered): New file scoped static.
- (process_switch): If group_case_labels makes a change, then set
- cfg_altered.
- (pass_convert_switch::execute): If a switch is converted, then
- set cfg_altered. Return TODO_cfg_cleanup if cfg_altered is true.
-
- PR rtl-optimization/81308
- * recog.c (split_all_insns): Conditionally cleanup the CFG after
- splitting insns.
-
-2018-01-08 Vidya Praveen <vidyapraveen@arm.com>
-
- PR target/83663 - Revert r255946
- * config/aarch64/aarch64.c (aarch64_expand_vector_init): Modify code
- generation for cases where splatting a value is not useful.
- * simplify-rtx.c (simplify_ternary_operation): Simplify vec_merge
- across a vec_duplicate and a paradoxical subreg forming a vector
- mode to a vec_concat.
-
-2018-01-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/t-aprofile (MULTILIB_MATCHES): Add mapping rules for
- -march=armv8.3-a variants.
- * config/arm/t-multilib: Likewise.
- * config/arm/t-arm-elf: Likewise. Handle dotprod extension.
-
-2018-01-08 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.md (cceq_ior_compare): Remove * so I can use it
- to generate rtl.
- (cceq_ior_compare_complement): Give it a name so I can use it, and
- change boolean_or_operator predicate to boolean_operator so it can
- be used to generate a crand.
- (eqne): New code iterator.
- (bd/bd_neg): New code_attrs.
- (<bd>_<mode>): New name for ctr<mode>_internal[12] now combined into
- a single define_insn.
- (<bd>tf_<mode>): A new insn pattern for the conditional form branch
- decrement (bdnzt/bdnzf/bdzt/bdzf).
- * config/rs6000/rs6000.c (rs6000_legitimate_combined_insn): Updated
- with the new names of the branch decrement patterns, and added the
- names of the branch decrement conditional patterns.
-
-2018-01-08 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/83563
- * graphite.c (canonicalize_loop_closed_ssa_form): Reset the SCEV
- cache.
-
-2018-01-08 Richard Biener <rguenther@suse.de>
-
- PR middle-end/83713
- * convert.c (do_narrow): Properly guard TYPE_OVERFLOW_WRAPS checks.
-
-2018-01-08 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/83685
- * tree-ssa-pre.c (create_expression_by_pieces): Do not insert
- references to abnormals.
-
-2018-01-08 Richard Biener <rguenther@suse.de>
-
- PR lto/83719
- * dwarf2out.c (output_indirect_strings): Handle empty
- skeleton_debug_str_hash.
- (dwarf2out_early_finish): Index strings for -gsplit-dwarf.
-
-2018-01-08 Claudiu Zissulescu <claziss@synopsys.com>
-
- * config/arc/arc.c (TARGET_TRAMPOLINE_ADJUST_ADDRESS): Delete.
- (emit_store_direct): Likewise.
- (arc_trampoline_adjust_address): Likewise.
- (arc_asm_trampoline_template): New function.
- (arc_initialize_trampoline): Use asm_trampoline_template.
- (TARGET_ASM_TRAMPOLINE_TEMPLATE): Define.
- * config/arc/arc.h (TRAMPOLINE_SIZE): Adjust to 16.
- * config/arc/arc.md (flush_icache): Delete pattern.
-
-2018-01-08 Claudiu Zissulescu <claziss@synopsys.com>
-
- * config/arc/arc-c.def (__ARC_UNALIGNED__): New define.
- * config/arc/arc.h (STRICT_ALIGNMENT): Control this macro using
- munaligned-access.
-
-2018-01-08 Sebastian Huber <sebastian.huber@embedded-brains.de>
-
- PR target/83681
- * config/epiphany/epiphany.h (make_pass_mode_switch_use): Guard
- by not USED_FOR_TARGET.
- (make_pass_resolve_sw_modes): Likewise.
-
-2018-01-08 Sebastian Huber <sebastian.huber@embedded-brains.de>
-
- * config/nios2/nios2.h (nios2_section_threshold): Guard by not
- USED_FOR_TARGET.
-
-2018-01-08 Richard Biener <rguenther@suse.de>
-
- PR middle-end/83580
- * tree-data-ref.c (split_constant_offset): Remove STRIP_NOPS.
-
-2018-01-08 Richard Biener <rguenther@suse.de>
-
- PR middle-end/83517
- * match.pd ((t * 2) / 2) -> t): Add missing :c.
-
-2018-01-06 Aldy Hernandez <aldyh@redhat.com>
-
- PR middle-end/81897
- * tree-ssa-uninit.c (compute_control_dep_chain): Do not bail on
- basic blocks with a small number of successors.
- (convert_control_dep_chain_into_preds): Improve handling of
- forwarder blocks.
- (dump_predicates): Split apart into...
- (dump_pred_chain): ...here...
- (dump_pred_info): ...and here.
- (can_one_predicate_be_invalidated_p): Add debugging printfs.
- (can_chain_union_be_invalidated_p): Improve check for invalidation
- of paths.
- (uninit_uses_cannot_happen): Avoid unnecessary if
- convert_control_dep_chain_into_preds yielded nothing.
-
-2018-01-06 Martin Sebor <msebor@redhat.com>
-
- PR tree-optimization/83640
- * gimple-ssa-warn-restrict.c (builtin_access::builtin_access): Avoid
- subtracting negative offset from size.
- (builtin_access::overlap): Adjust offset bounds of the access to fall
- within the size of the object if possible.
-
-2018-01-06 Richard Sandiford <richard.sandiford@linaro.org>
-
- PR rtl-optimization/83699
- * expmed.c (extract_bit_field_1): Restrict the vector usage of
- extract_bit_field_as_subreg to cases in which the extracted
- value is also a vector.
-
- * lra-constraints.c (process_alt_operands): Test for the equivalence
- substitutions when detecting a possible reload cycle.
-
-2018-01-06 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/83480
- * toplev.c (process_options): Don't enable debug_nonbind_markers_p
- by default if flag_selective_schedling{,2}. Formatting fixes.
-
- PR rtl-optimization/83682
- * rtl.h (const_vec_duplicate_p): Only return true for VEC_DUPLICATE
- if it has non-VECTOR_MODE element mode.
- (vec_duplicate_p): Likewise.
-
- PR middle-end/83694
- * cfgexpand.c (expand_debug_expr): Punt if mode1 is VOIDmode
- and bitsize might be greater than MAX_BITSIZE_MODE_ANY_INT.
-
-2018-01-05 Jakub Jelinek <jakub@redhat.com>
-
- PR target/83604
- * config/i386/i386-builtin.def
- (__builtin_ia32_vgf2p8affineinvqb_v64qi,
- __builtin_ia32_vgf2p8affineqb_v64qi, __builtin_ia32_vgf2p8mulb_v64qi):
- Require also OPTION_MASK_ISA_AVX512F in addition to
- OPTION_MASK_ISA_GFNI.
- (__builtin_ia32_vgf2p8affineinvqb_v16qi_mask,
- __builtin_ia32_vgf2p8affineqb_v16qi_mask): Require
- OPTION_MASK_ISA_AVX512VL instead of OPTION_MASK_ISA_SSE in addition
- to OPTION_MASK_ISA_GFNI.
- (__builtin_ia32_vgf2p8mulb_v32qi_mask): Require
- OPTION_MASK_ISA_AVX512VL in addition to OPTION_MASK_ISA_GFNI and
- OPTION_MASK_ISA_AVX512BW.
- (__builtin_ia32_vgf2p8mulb_v16qi_mask): Require
- OPTION_MASK_ISA_AVX512VL instead of OPTION_MASK_ISA_AVX512BW in
- addition to OPTION_MASK_ISA_GFNI.
- (__builtin_ia32_vgf2p8affineinvqb_v16qi,
- __builtin_ia32_vgf2p8affineqb_v16qi, __builtin_ia32_vgf2p8mulb_v16qi):
- Require OPTION_MASK_ISA_SSE2 instead of OPTION_MASK_ISA_SSE in addition
- to OPTION_MASK_ISA_GFNI.
- * config/i386/i386.c (def_builtin): Change to builtin isa/isa2 being
- a requirement for all ISAs rather than any of them with a few
- exceptions.
- (ix86_add_new_builtins): Clear OPTION_MASK_ISA_64BIT from isa before
- processing.
- (ix86_expand_builtin): Require all ISAs from builtin's isa and isa2
- bitmasks to be enabled with 3 exceptions, instead of requiring any
- enabled ISA with lots of exceptions.
- * config/i386/sse.md (vgf2p8affineinvqb_<mode><mask_name>,
- vgf2p8affineqb_<mode><mask_name>, vgf2p8mulb_<mode><mask_name>):
- Change avx512bw in isa attribute to avx512f.
- * config/i386/sgxintrin.h: Add license boilerplate.
- * config/i386/vaesintrin.h: Likewise. Fix macro spelling __AVX512F
- to __AVX512F__ and __AVX512VL to __AVX512VL__.
- (_mm256_aesdec_epi128, _mm256_aesdeclast_epi128, _mm256_aesenc_epi128,
- _mm256_aesenclast_epi128): Enable temporarily avx if __AVX__ is not
- defined.
- * config/i386/gfniintrin.h (_mm_gf2p8mul_epi8,
- _mm_gf2p8affineinv_epi64_epi8, _mm_gf2p8affine_epi64_epi8): Enable
- temporarily sse2 rather than sse if not enabled already.
-
- PR target/83604
- * config/i386/sse.md (VI248_VLBW): Rename to ...
- (VI248_AVX512VL): ... this. Don't guard V32HI with TARGET_AVX512BW.
- (vpshrd_<mode><mask_name>, vpshld_<mode><mask_name>,
- vpshrdv_<mode>, vpshrdv_<mode>_mask, vpshrdv_<mode>_maskz,
- vpshrdv_<mode>_maskz_1, vpshldv_<mode>, vpshldv_<mode>_mask,
- vpshldv_<mode>_maskz, vpshldv_<mode>_maskz_1): Use VI248_AVX512VL
- mode iterator instead of VI248_VLBW.
-
-2018-01-05 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-fnsummary.c (record_modified_bb_info): Add OP.
- (record_modified): Skip clobbers; add debug output.
- (param_change_prob): Use sreal frequencies.
-
-2018-01-05 Richard Sandiford <richard.sandiford@linaro.org>
-
- * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Don't
- punt for user-aligned variables.
+ * config/nvptx/nvptx.h (struct machine_function): Add axis_dims.
-2018-01-05 Richard Sandiford <richard.sandiford@linaro.org>
+2019-01-03 Tom de Vries <tdevries@suse.de>
- * tree-chrec.c (chrec_contains_symbols): Return true for
- POLY_INT_CST.
-
-2018-01-05 Sudakshina Das <sudi.das@arm.com>
-
- PR target/82439
- * simplify-rtx.c (simplify_relational_operation_1): Add simplifications
- of (x|y) == x for BICS pattern.
-
-2018-01-05 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/83605
- * gimple-ssa-strength-reduction.c: Include tree-eh.h.
- (find_candidates_dom_walker::before_dom_children): Ignore stmts that
- can throw.
-
-2018-01-05 Sebastian Huber <sebastian.huber@embedded-brains.de>
-
- * config.gcc (epiphany-*-elf*): Add (epiphany-*-rtems*) configuration.
- * config/epiphany/rtems.h: New file.
-
-2018-01-04 Jakub Jelinek <jakub@redhat.com>
- Uros Bizjak <ubizjak@gmail.com>
-
- PR target/83554
- * config/i386/i386.md (*<rotate_insn>hi3_1 splitter): Use
- QIreg_operand instead of register_operand predicate.
- * config/i386/i386.c (ix86_rop_should_change_byte_p,
- set_rop_modrm_reg_bits, ix86_mitigate_rop): Use -mmitigate-rop in
- comments instead of -fmitigate[-_]rop.
-
-2018-01-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR bootstrap/81926
- * cgraphunit.c (symbol_table::compile): Switch to text_section
- before calling assembly_start debug hook.
- * run-rtl-passes.c (run_rtl_passes): Likewise.
- Include output.h.
-
-2018-01-04 Richard Sandiford <richard.sandiford@linaro.org>
-
- * tree-vrp.c (extract_range_from_binary_expr_1): Check
- range_int_cst_p rather than !symbolic_range_p before calling
- extract_range_from_multiplicative_op_1.
-
-2017-01-04 Jeff Law <law@redhat.com>
+ * config/nvptx/nvptx.c (struct offload_attrs): New.
+ (populate_offload_attrs): New function. Factor mask extraction out of
+ nvptx_reorg. Add extraction of dimensions.
+ (nvptx_reorg): Use populate_offload_attrs.
- * tree-ssa-math-opts.c (execute_cse_reciprocals_1): Remove
- redundant test in assertion.
+2019-01-03 Tom de Vries <tdevries@suse.de>
-2018-01-04 Richard Sandiford <richard.sandiford@linaro.org>
+ * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Add early-out
+ cases for oacc_min_dims_p and routine_p. Add asserts for
+ oacc_default_dims_p and offload_region_p.
- * doc/rtl.texi: Document machine_mode wrapper classes.
+2019-01-03 Tom de Vries <tdevries@suse.de>
-2018-01-04 Richard Sandiford <richard.sandiford@linaro.org>
+ * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): New function,
+ factored out of ...
+ (nvptx_goacc_validate_dims): ... here.
- * fold-const.c (fold_ternary_loc): Check tree_fits_uhwi_p before
- using tree_to_uhwi.
+2019-01-03 Jan Hubicka <hubicka@ucw.cz>
-2018-01-04 Richard Sandiford <richard.sandiford@linaro.org>
+ PR tree-optimization/85574
+ * tree-ssa-uncprop.c (struct equiv_hash_elt): Remove unused
+ structure.
+ (struct ssa_equip_hash_traits): Declare.
+ (val_ssa_equiv): Use custom hash traits using operand_equal_p.
- * tree-ssa-forwprop.c (is_combined_permutation_identity): Allow
- the VEC_PERM_EXPR fold to fail.
+2019-01-03 Jakub Jelinek <jakub@redhat.com>
-2018-01-04 Jakub Jelinek <jakub@redhat.com>
+ PR debug/88644
+ * dwarf2out.c (modified_type_die): If type is equal to sizetype,
+ change it to qualified_type.
- PR debug/83585
- * bb-reorder.c (insert_section_boundary_note): Set has_bb_partition
- to switched_sections.
+2019-01-03 Jan Hubicka <hubicka@ucw.cz>
-2018-01-04 Richard Sandiford <richard.sandiford@linaro.org>
+ * ipa-utils.c (scale_ipa_profile_for_fn): Break out from ...
+ (ipa_merge_profiles): ... here; do not ICE on thunks and aliases.
- PR target/83680
- * config/arm/arm.c (arm_vectorize_vec_perm_const): Fix inverted
- test for d.testing.
+2019-01-02 Martin Sebor <msebor@redhat.com>
+ Jeff Law <law@redhat.com>
-2018-01-04 Peter Bergner <bergner@vnet.ibm.com>
+ * gimple-fold.c (strlen_range_kind): Remove SRK_LENRANGE_2.
+ (get_range_strlen_tree): Update appropriately.
+ (get_range_strlen)
+ * gimple-fold.h (get_range_strlen): Drop unused last argument.
- PR target/83387
- * config/rs6000/rs6000.c (rs6000_discover_homogeneous_aggregate): Do not
- allow arguments in FP registers if TARGET_HARD_FLOAT is false.
+ * gimple-fold.c (gimple_fold_builtin_strlen): Use set_strlen_range
+ rather than set_range_info.
+ * tree-ssa-strlen.c (set_strlen_range): Extracted from
+ maybe_set_strlen_range. Handle potentially boundary crossing
+ cases more conservatively.
+ (maybe_set_strlen_range): Parts refactored into set_strlen_range.
+ Call set_strlen_range.
+ * tree-ssa-strlen.h (set_strlen_range): Add prototype.
-2018-01-04 Jakub Jelinek <jakub@redhat.com>
+ PR middle-end/88663
+ * gimple-fold.c (get_range_strlen): Update prototype to no longer
+ need the flexp argument.
+ (get_range_strlen_tree): Drop flexp argument. Drop flexp argument
+ from calls to get_range_strlen. Update comments. Just update
+ VAL for an unterminated const char array and let the reset of the
+ code handle it normally. No longer try to set *flexp. Adjust
+ return value.
+ (get_range_strlen): Update for the new get_range_strlen API.
+ (get_maxval_strlen): Similarly.
+ (gimple_fold_builtin_strlen): Handle update meaning of return value
+ from get_range_strlen.
+ * gimple-ssa-sprintf.c (get_string_length): Update for the new
+ get_range_strlen API.
- PR debug/83666
- * cfgexpand.c (expand_debug_expr) <case BIT_FIELD_REF>: Punt if mode
- is BLKmode and bitpos not zero or mode change is needed.
+2019-01-02 Jan Hubicka <hubicka@ucw.cz>
-2018-01-04 Richard Sandiford <richard.sandiford@linaro.org>
+ PR lto/88130
+ * varpool.c (varpool_node::ctor_useable_for_folding_p): Also return
+ false at WPA time when body was removed.
- PR target/83675
- * config/sparc/sparc.c (sparc_vectorize_vec_perm_const): Require
- TARGET_VIS2.
+2019-01-02 Martin Liska <mliska@suse.cz>
-2018-01-04 Uros Bizjak <ubizjak@gmail.com>
+ PR tree-optimization/88650
+ * predict.c (set_even_probabilities): Calculate probability
+ remainer only when really used.
- PR target/83628
- * config/alpha/alpha.md (*sadd<modesuffix>): Use ASHIFT
- instead of MULT rtx. Update all corresponding splitters.
- (*saddl_se): Ditto.
- (*ssub<modesuffix>): Ditto.
- (*ssubl_se): Ditto.
- (*cmp_sadd_di): Update split patterns.
- (*cmp_sadd_si): Ditto.
- (*cmp_sadd_sidi): Ditto.
- (*cmp_ssub_di): Ditto.
- (*cmp_ssub_si): Ditto.
- (*cmp_ssub_sidi): Ditto.
- * config/alpha/predicates.md (const23_operand): New predicate.
- * config/alpha/alpha.c (alpha_rtx_costs) [PLUS, MINUS]:
- Look for ASHIFT, not MULT inner operand.
- (alpha_split_conditional_move): Update for *sadd<modesuffix> change.
+2019-01-02 Richard Biener <rguenther@suse.de>
-2018-01-04 Martin Liska <mliska@suse.cz>
+ PR middle-end/88651
+ * tree-data-ref.c (analyze_subscript_affine_affine): Use
+ widest_ints when mangling max_stmt_execution results.
- PR gcov-profile/83669
- * gcov.c (output_intermediate_file): Add version to intermediate
- gcov file.
- * doc/gcov.texi: Document new field 'version' in intermediate
- file format. Fix location of '-k' option of gcov command.
+2019-01-02 Richard Biener <rguenther@suse.de>
-2018-01-04 Martin Liska <mliska@suse.cz>
+ PR tree-optimization/88621
+ * tree-ssa-loop-im.c (gather_mem_refs_stmt): Fix pastos, avoid
+ bitfields when canoncalizing.
- PR ipa/82352
- * ipa-icf.c (sem_function::merge): Do not cross comdat boundary.
+2019-01-02 Richard Biener <rguenther@suse.de>
-2018-01-04 Jakub Jelinek <jakub@redhat.com>
+ PR target/87545
+ * config/i386/x86-tune-costs.h (intel_cost): Adjust
+ cost of cheap SSE instruction.
- * gimple-ssa-sprintf.c (parse_directive): Cast second dir.len to uhwi.
+2019-01-02 Richard Biener <rguenther@suse.de>
-2018-01-03 Martin Sebor <msebor@redhat.com>
-
- PR tree-optimization/83655
- * gimple-ssa-warn-restrict.c (wrestrict_dom_walker::check_call): Avoid
- checking calls with invalid arguments.
-
-2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
-
- * tree-vect-stmts.c (vect_get_store_rhs): New function.
- (vectorizable_mask_load_store): Delete.
- (vectorizable_call): Return false for masked loads and stores.
- (vectorizable_store): Handle IFN_MASK_STORE. Use vect_get_store_rhs
- instead of gimple_assign_rhs1.
- (vectorizable_load): Handle IFN_MASK_LOAD.
- (vect_transform_stmt): Don't set is_store for call_vec_info_type.
-
-2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
-
- * tree-vect-stmts.c (vect_build_gather_load_calls): New function,
- split out from..,
- (vectorizable_mask_load_store): ...here.
- (vectorizable_load): ...and here.
-
-2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
-
- * tree-vect-stmts.c (vect_build_all_ones_mask)
- (vect_build_zero_merge_argument): New functions, split out from...
- (vectorizable_load): ...here.
-
-2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
-
- * tree-vect-stmts.c (vect_check_store_rhs): New function,
- split out from...
- (vectorizable_mask_load_store): ...here.
- (vectorizable_store): ...and here.
-
-2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
-
- * tree-vect-stmts.c (vect_check_load_store_mask): New function,
- split out from...
- (vectorizable_mask_load_store): ...here.
-
-2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
-
- * tree-vectorizer.h (vec_load_store_type): Moved from tree-vec-stmts.c
- (vect_model_store_cost): Take a vec_load_store_type instead of a
- vect_def_type.
- * tree-vect-stmts.c (vec_load_store_type): Move to tree-vectorizer.h.
- (vect_model_store_cost): Take a vec_load_store_type instead of a
- vect_def_type.
- (vectorizable_mask_load_store): Update accordingly.
- (vectorizable_store): Likewise.
- * tree-vect-slp.c (vect_analyze_slp_cost_1): Update accordingly.
-
-2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
-
- * tree-vect-loop.c (vect_transform_loop): Stub out scalar
- IFN_MASK_LOAD calls here rather than...
- * tree-vect-stmts.c (vectorizable_mask_load_store): ...here.
-
-2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
- Alan Hayward <alan.hayward@arm.com>
- David Sherwood <david.sherwood@arm.com>
-
- * expmed.c (extract_bit_field_1): For vector extracts,
- fall back to extract_bit_field_as_subreg if vec_extract
- isn't available.
-
-2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
- Alan Hayward <alan.hayward@arm.com>
- David Sherwood <david.sherwood@arm.com>
-
- * lra-spills.c (pseudo_reg_slot_compare): Sort slots by whether
- they are variable or constant sized.
- (assign_stack_slot_num_and_sort_pseudos): Don't reuse variable-sized
- slots for constant-sized data.
-
-2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
- Alan Hayward <alan.hayward@arm.com>
- David Sherwood <david.sherwood@arm.com>
-
- * tree-vect-patterns.c (vect_recog_mask_conversion_pattern): When
- handling COND_EXPRs with boolean comparisons, try to find a better
- basis for the mask type than the boolean itself.
-
-2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
-
- * doc/rtl.texi (MAX_BITSIZE_MODE_ANY_MODE): Describe how the default
- is calculated and how it can be overridden.
- * genmodes.c (max_bitsize_mode_any_mode): New variable.
- (create_modes): Initialize it from MAX_BITSIZE_MODE_ANY_MODE,
- if defined.
- (emit_max_int): Use it to set the output MAX_BITSIZE_MODE_ANY_MODE,
- if nonzero.
-
-2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
- Alan Hayward <alan.hayward@arm.com>
- David Sherwood <david.sherwood@arm.com>
-
- * config/aarch64/aarch64-protos.h (aarch64_output_simd_mov_immediate):
- Remove the mode argument.
- (aarch64_simd_valid_immediate): Remove the mode and inverse
- arguments.
- * config/aarch64/iterators.md (bitsize): New iterator.
- * config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>, and<mode>3)
- (ior<mode>3): Update calls to aarch64_output_simd_mov_immediate.
- * config/aarch64/constraints.md (Do, Db, Dn): Update calls to
- aarch64_simd_valid_immediate.
- * config/aarch64/predicates.md (aarch64_reg_or_orr_imm): Likewise.
- (aarch64_reg_or_bic_imm): Likewise.
- * config/aarch64/aarch64.c (simd_immediate_info): Replace mvn
- with an insn_type enum and msl with a modifier_type enum.
- Replace element_width with a scalar_mode. Change the shift
- to unsigned int. Add constructors for scalar_float_mode and
- scalar_int_mode elements.
- (aarch64_vect_float_const_representable_p): Delete.
- (aarch64_can_const_movi_rtx_p)
- (aarch64_simd_scalar_immediate_valid_for_move)
- (aarch64_simd_make_constant): Update call to
- aarch64_simd_valid_immediate.
- (aarch64_advsimd_valid_immediate_hs): New function.
- (aarch64_advsimd_valid_immediate): Likewise.
- (aarch64_simd_valid_immediate): Remove mode and inverse
- arguments. Rewrite to use the above. Use const_vec_duplicate_p
- to detect duplicated constants and use aarch64_float_const_zero_rtx_p
- and aarch64_float_const_representable_p on the result.
- (aarch64_output_simd_mov_immediate): Remove mode argument.
- Update call to aarch64_simd_valid_immediate and use of
- simd_immediate_info.
- (aarch64_output_scalar_simd_mov_immediate): Update call
- accordingly.
-
-2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
- Alan Hayward <alan.hayward@arm.com>
- David Sherwood <david.sherwood@arm.com>
-
- * machmode.h (mode_precision): Prefix with CONST_MODE_PRECISION.
- (mode_nunits): Likewise CONST_MODE_NUNITS.
- * machmode.def (ADJUST_NUNITS): Document.
- * genmodes.c (mode_data::need_nunits_adj): New field.
- (blank_mode): Update accordingly.
- (adj_nunits): New variable.
- (print_maybe_const_decl): Replace CATEGORY with a NEEDS_ADJ
- parameter.
- (emit_mode_size_inline): Set need_bytesize_adj for all modes
- listed in adj_nunits.
- (emit_mode_nunits_inline): Set need_nunits_adj for all modes
- listed in adj_nunits. Don't emit case statements for such modes.
- (emit_insn_modes_h): Emit definitions of CONST_MODE_NUNITS
- and CONST_MODE_PRECISION. Make CONST_MODE_SIZE expand to
- nothing if adj_nunits is nonnull.
- (emit_mode_precision, emit_mode_nunits): Use print_maybe_const_decl.
- (emit_mode_unit_size, emit_mode_base_align, emit_mode_ibit)
- (emit_mode_fbit): Update use of print_maybe_const_decl.
- (emit_move_size): Likewise. Treat the array as non-const
- if adj_nunits.
- (emit_mode_adjustments): Handle adj_nunits.
-
-2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
-
- * machmode.def (VECTOR_MODES_WITH_PREFIX): Document.
- * genmodes.c (VECTOR_MODES_WITH_PREFIX): New macro.
- (VECTOR_MODES): Use it.
- (make_vector_modes): Take the prefix as an argument.
-
-2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
- Alan Hayward <alan.hayward@arm.com>
- David Sherwood <david.sherwood@arm.com>
-
- * mode-classes.def (MODE_VECTOR_BOOL): New mode class.
- * machmode.h (INTEGRAL_MODE_P, VECTOR_MODE_P): Return true
- for MODE_VECTOR_BOOL.
- * machmode.def (VECTOR_BOOL_MODE): Document.
- * genmodes.c (VECTOR_BOOL_MODE): New macro.
- (make_vector_bool_mode): New function.
- (complete_mode, emit_mode_wider, emit_mode_adjustments): Handle
- MODE_VECTOR_BOOL.
- * lto-streamer-in.c (lto_input_mode_table): Likewise.
- * rtx-vector-builder.c (rtx_vector_builder::find_cached_value):
- Likewise.
- * stor-layout.c (int_mode_for_mode): Likewise.
- * tree.c (build_vector_type_for_mode): Likewise.
- * varasm.c (output_constant_pool_2): Likewise.
- * emit-rtl.c (init_emit_once): Make sure that CONST1_RTX (BImode) and
- CONSTM1_RTX (BImode) are the same thing. Initialize const_tiny_rtx
- for MODE_VECTOR_BOOL.
- * expr.c (expand_expr_real_1): Use VECTOR_MODE_P instead of a list
- of mode class checks.
- * tree-vect-generic.c (expand_vector_operation): Use VECTOR_MODE_P
- instead of a list of mode class checks.
- (expand_vector_scalar_condition): Likewise.
- (type_for_widest_vector_mode): Handle BImode as an inner mode.
-
-2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
- Alan Hayward <alan.hayward@arm.com>
- David Sherwood <david.sherwood@arm.com>
-
- * machmode.h (mode_size): Change from unsigned short to
- poly_uint16_pod.
- (mode_to_bytes): Return a poly_uint16 rather than an unsigned short.
- (GET_MODE_SIZE): Return a constant if ONLY_FIXED_SIZE_MODES,
- or if measurement_type is not polynomial.
- (fixed_size_mode::includes_p): Check for constant-sized modes.
- * genmodes.c (emit_mode_size_inline): Make mode_size_inline
- return a poly_uint16 rather than an unsigned short.
- (emit_mode_size): Change the type of mode_size from unsigned short
- to poly_uint16_pod. Use ZERO_COEFFS for the initializer.
- (emit_mode_adjustments): Cope with polynomial vector sizes.
- * lto-streamer-in.c (lto_input_mode_table): Use bp_unpack_poly_value
- for GET_MODE_SIZE.
- * lto-streamer-out.c (lto_write_mode_table): Use bp_pack_poly_value
- for GET_MODE_SIZE.
- * auto-inc-dec.c (try_merge): Treat GET_MODE_SIZE as polynomial.
- * builtins.c (expand_ifn_atomic_compare_exchange_into_call): Likewise.
- * caller-save.c (setup_save_areas): Likewise.
- (replace_reg_with_saved_mem): Likewise.
- * calls.c (emit_library_call_value_1): Likewise.
- * combine-stack-adj.c (combine_stack_adjustments_for_block): Likewise.
- * combine.c (simplify_set, make_extraction, simplify_shift_const_1)
- (gen_lowpart_for_combine): Likewise.
- * convert.c (convert_to_integer_1): Likewise.
- * cse.c (equiv_constant, cse_insn): Likewise.
- * cselib.c (autoinc_split, cselib_hash_rtx): Likewise.
- (cselib_subst_to_values): Likewise.
- * dce.c (word_dce_process_block): Likewise.
- * df-problems.c (df_word_lr_mark_ref): Likewise.
- * dwarf2cfi.c (init_one_dwarf_reg_size): Likewise.
- * dwarf2out.c (multiple_reg_loc_descriptor, mem_loc_descriptor)
- (concat_loc_descriptor, concatn_loc_descriptor, loc_descriptor)
- (rtl_for_decl_location): Likewise.
- * emit-rtl.c (gen_highpart, widen_memory_access): Likewise.
- * expmed.c (extract_bit_field_1, extract_integral_bit_field): Likewise.
- * expr.c (emit_group_load_1, clear_storage_hints): Likewise.
- (emit_move_complex, emit_move_multi_word, emit_push_insn): Likewise.
- (expand_expr_real_1): Likewise.
- * function.c (assign_parm_setup_block_p, assign_parm_setup_block)
- (pad_below): Likewise.
- * gimple-fold.c (optimize_atomic_compare_exchange_p): Likewise.
- * gimple-ssa-store-merging.c (rhs_valid_for_store_merging_p): Likewise.
- * ira.c (get_subreg_tracking_sizes): Likewise.
- * ira-build.c (ira_create_allocno_objects): Likewise.
- * ira-color.c (coalesced_pseudo_reg_slot_compare): Likewise.
- (ira_sort_regnos_for_alter_reg): Likewise.
- * ira-costs.c (record_operand_costs): Likewise.
- * lower-subreg.c (interesting_mode_p, simplify_gen_subreg_concatn)
- (resolve_simple_move): Likewise.
- * lra-constraints.c (get_reload_reg, operands_match_p): Likewise.
- (process_addr_reg, simplify_operand_subreg, curr_insn_transform)
- (lra_constraints): Likewise.
- (CONST_POOL_OK_P): Reject variable-sized modes.
- * lra-spills.c (slot, assign_mem_slot, pseudo_reg_slot_compare)
- (add_pseudo_to_slot, lra_spill): Likewise.
- * omp-low.c (omp_clause_aligned_alignment): Likewise.
- * optabs-query.c (get_best_extraction_insn): Likewise.
- * optabs-tree.c (expand_vec_cond_expr_p): Likewise.
- * optabs.c (expand_vec_perm_var, expand_vec_cond_expr): Likewise.
- (expand_mult_highpart, valid_multiword_target_p): Likewise.
- * recog.c (offsettable_address_addr_space_p): Likewise.
- * regcprop.c (maybe_mode_change): Likewise.
- * reginfo.c (choose_hard_reg_mode, record_subregs_of_mode): Likewise.
- * regrename.c (build_def_use): Likewise.
- * regstat.c (dump_reg_info): Likewise.
- * reload.c (complex_word_subreg_p, push_reload, find_dummy_reload)
- (find_reloads, find_reloads_subreg_address): Likewise.
- * reload1.c (eliminate_regs_1): Likewise.
- * rtlanal.c (for_each_inc_dec_find_inc_dec, rtx_cost): Likewise.
- * simplify-rtx.c (avoid_constant_pool_reference): Likewise.
- (simplify_binary_operation_1, simplify_subreg): Likewise.
- * targhooks.c (default_function_arg_padding): Likewise.
- (default_hard_regno_nregs, default_class_max_nregs): Likewise.
- * tree-cfg.c (verify_gimple_assign_binary): Likewise.
- (verify_gimple_assign_ternary): Likewise.
- * tree-inline.c (estimate_move_cost): Likewise.
- * tree-ssa-forwprop.c (simplify_vector_constructor): Likewise.
- * tree-ssa-loop-ivopts.c (add_autoinc_candidates): Likewise.
- (get_address_cost_ainc): Likewise.
- * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Likewise.
- (vect_supportable_dr_alignment): Likewise.
- * tree-vect-loop.c (vect_determine_vectorization_factor): Likewise.
- (vectorizable_reduction): Likewise.
- * tree-vect-stmts.c (vectorizable_assignment, vectorizable_shift)
- (vectorizable_operation, vectorizable_load): Likewise.
- * tree.c (build_same_sized_truth_vector_type): Likewise.
- * valtrack.c (cleanup_auto_inc_dec): Likewise.
- * var-tracking.c (emit_note_insn_var_location): Likewise.
- * config/arc/arc.h (ASM_OUTPUT_CASE_END): Use as_a <scalar_int_mode>.
- (ADDR_VEC_ALIGN): Likewise.
-
-2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
- Alan Hayward <alan.hayward@arm.com>
- David Sherwood <david.sherwood@arm.com>
-
- * machmode.h (mode_to_bits): Return a poly_uint16 rather than an
- unsigned short.
- (GET_MODE_BITSIZE): Return a constant if ONLY_FIXED_SIZE_MODES,
- or if measurement_type is polynomial.
- * calls.c (shift_return_value): Treat GET_MODE_BITSIZE as polynomial.
- * combine.c (make_extraction): Likewise.
- * dse.c (find_shift_sequence): Likewise.
- * dwarf2out.c (mem_loc_descriptor): Likewise.
- * expmed.c (store_integral_bit_field, extract_bit_field_1): Likewise.
- (extract_bit_field, extract_low_bits): Likewise.
- * expr.c (convert_move, convert_modes, emit_move_insn_1): Likewise.
- (optimize_bitfield_assignment_op, expand_assignment): Likewise.
- (store_expr_with_bounds, store_field, expand_expr_real_1): Likewise.
- * fold-const.c (optimize_bit_field_compare, merge_ranges): Likewise.
- * gimple-fold.c (optimize_atomic_compare_exchange_p): Likewise.
- * reload.c (find_reloads): Likewise.
- * reload1.c (alter_reg): Likewise.
- * stor-layout.c (bitwise_mode_for_mode, compute_record_mode): Likewise.
- * targhooks.c (default_secondary_memory_needed_mode): Likewise.
- * tree-if-conv.c (predicate_mem_writes): Likewise.
- * tree-ssa-strlen.c (handle_builtin_memcmp): Likewise.
- * tree-vect-patterns.c (adjust_bool_pattern): Likewise.
- * tree-vect-stmts.c (vectorizable_simd_clone_call): Likewise.
- * valtrack.c (dead_debug_insert_temp): Likewise.
- * varasm.c (mergeable_constant_section): Likewise.
- * config/sh/sh.h (LOCAL_ALIGNMENT): Use as_a <fixed_size_mode>.
-
-2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
- Alan Hayward <alan.hayward@arm.com>
- David Sherwood <david.sherwood@arm.com>
-
- * expr.c (expand_assignment): Cope with polynomial mode sizes
- when assigning to a CONCAT.
-
-2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
- Alan Hayward <alan.hayward@arm.com>
- David Sherwood <david.sherwood@arm.com>
-
- * machmode.h (mode_precision): Change from unsigned short to
- poly_uint16_pod.
- (mode_to_precision): Return a poly_uint16 rather than an unsigned
- short.
- (GET_MODE_PRECISION): Return a constant if ONLY_FIXED_SIZE_MODES,
- or if measurement_type is not polynomial.
- (HWI_COMPUTABLE_MODE_P): Turn into a function. Optimize the case
- in which the mode is already known to be a scalar_int_mode.
- * genmodes.c (emit_mode_precision): Change the type of mode_precision
- from unsigned short to poly_uint16_pod. Use ZERO_COEFFS for the
- initializer.
- * lto-streamer-in.c (lto_input_mode_table): Use bp_unpack_poly_value
- for GET_MODE_PRECISION.
- * lto-streamer-out.c (lto_write_mode_table): Use bp_pack_poly_value
- for GET_MODE_PRECISION.
- * combine.c (update_rsp_from_reg_equal): Treat GET_MODE_PRECISION
- as polynomial.
- (try_combine, find_split_point, combine_simplify_rtx): Likewise.
- (expand_field_assignment, make_extraction): Likewise.
- (make_compound_operation_int, record_dead_and_set_regs_1): Likewise.
- (get_last_value): Likewise.
- * convert.c (convert_to_integer_1): Likewise.
- * cse.c (cse_insn): Likewise.
- * expr.c (expand_expr_real_1): Likewise.
- * lra-constraints.c (simplify_operand_subreg): Likewise.
- * optabs-query.c (can_atomic_load_p): Likewise.
- * optabs.c (expand_atomic_load): Likewise.
- (expand_atomic_store): Likewise.
- * ree.c (combine_reaching_defs): Likewise.
- * rtl.h (partial_subreg_p, paradoxical_subreg_p): Likewise.
- * rtlanal.c (nonzero_bits1, lsb_bitfield_op_p): Likewise.
- * tree.h (type_has_mode_precision_p): Likewise.
- * ubsan.c (instrument_si_overflow): Likewise.
-
-2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
- Alan Hayward <alan.hayward@arm.com>
- David Sherwood <david.sherwood@arm.com>
-
- * tree.h (TYPE_VECTOR_SUBPARTS): Turn into a function and handle
- polynomial numbers of units.
- (SET_TYPE_VECTOR_SUBPARTS): Likewise.
- (valid_vector_subparts_p): New function.
- (build_vector_type): Remove temporary shim and take the number
- of units as a poly_uint64 rather than an int.
- (build_opaque_vector_type): Take the number of units as a
- poly_uint64 rather than an int.
- * tree.c (build_vector_from_ctor): Handle polynomial
- TYPE_VECTOR_SUBPARTS.
- (type_hash_canon_hash, type_cache_hasher::equal): Likewise.
- (uniform_vector_p, vector_type_mode, build_vector): Likewise.
- (build_vector_from_val): If the number of units is variable,
- use build_vec_duplicate_cst for constant operands and
- VEC_DUPLICATE_EXPR otherwise.
- (make_vector_type): Remove temporary is_constant ().
- (build_vector_type, build_opaque_vector_type): Take the number of
- units as a poly_uint64 rather than an int.
- (check_vector_cst): Handle polynomial TYPE_VECTOR_SUBPARTS and
- VECTOR_CST_NELTS.
- * cfgexpand.c (expand_debug_expr): Likewise.
- * expr.c (count_type_elements, categorize_ctor_elements_1): Likewise.
- (store_constructor, expand_expr_real_1): Likewise.
- (const_scalar_mask_from_tree): Likewise.
- * fold-const-call.c (fold_const_reduction): Likewise.
- * fold-const.c (const_binop, const_unop, fold_convert_const): Likewise.
- (operand_equal_p, fold_vec_perm, fold_ternary_loc): Likewise.
- (native_encode_vector, vec_cst_ctor_to_array): Likewise.
- (fold_relational_const): Likewise.
- (native_interpret_vector): Likewise. Change the size from an
- int to an unsigned int.
- * gimple-fold.c (gimple_fold_stmt_to_constant_1): Handle polynomial
- TYPE_VECTOR_SUBPARTS.
- (gimple_fold_indirect_ref, gimple_build_vector): Likewise.
- (gimple_build_vector_from_val): Use VEC_DUPLICATE_EXPR when
- duplicating a non-constant operand into a variable-length vector.
- * hsa-brig.c (hsa_op_immed::emit_to_buffer): Handle polynomial
- TYPE_VECTOR_SUBPARTS and VECTOR_CST_NELTS.
- * ipa-icf.c (sem_variable::equals): Likewise.
- * match.pd: Likewise.
- * omp-simd-clone.c (simd_clone_subparts): Likewise.
- * print-tree.c (print_node): Likewise.
- * stor-layout.c (layout_type): Likewise.
- * targhooks.c (default_builtin_vectorization_cost): Likewise.
- * tree-cfg.c (verify_gimple_comparison): Likewise.
- (verify_gimple_assign_binary): Likewise.
- (verify_gimple_assign_ternary): Likewise.
- (verify_gimple_assign_single): Likewise.
- * tree-pretty-print.c (dump_generic_node): Likewise.
- * tree-ssa-forwprop.c (simplify_vector_constructor): Likewise.
- (simplify_bitfield_ref, is_combined_permutation_identity): Likewise.
- * tree-vect-data-refs.c (vect_permute_store_chain): Likewise.
- (vect_grouped_load_supported, vect_permute_load_chain): Likewise.
- (vect_shift_permute_load_chain): Likewise.
- * tree-vect-generic.c (nunits_for_known_piecewise_op): Likewise.
- (expand_vector_condition, optimize_vector_constructor): Likewise.
- (lower_vec_perm, get_compute_type): Likewise.
- * tree-vect-loop.c (vect_determine_vectorization_factor): Likewise.
- (get_initial_defs_for_reduction, vect_transform_loop): Likewise.
- * tree-vect-patterns.c (vect_recog_bool_pattern): Likewise.
- (vect_recog_mask_conversion_pattern): Likewise.
- * tree-vect-slp.c (vect_supported_load_permutation_p): Likewise.
- (vect_get_constant_vectors, vect_transform_slp_perm_load): Likewise.
- * tree-vect-stmts.c (perm_mask_for_reverse): Likewise.
- (get_group_load_store_type, vectorizable_mask_load_store): Likewise.
- (vectorizable_bswap, simd_clone_subparts, vectorizable_assignment)
- (vectorizable_shift, vectorizable_operation, vectorizable_store)
- (vectorizable_load, vect_is_simple_cond, vectorizable_comparison)
- (supportable_widening_operation): Likewise.
- (supportable_narrowing_operation): Likewise.
- * tree-vector-builder.c (tree_vector_builder::binary_encoded_nelts):
- Likewise.
- * varasm.c (output_constant): Likewise.
-
-2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
- Alan Hayward <alan.hayward@arm.com>
- David Sherwood <david.sherwood@arm.com>
-
- * tree-vect-data-refs.c (vect_permute_store_chain): Reorganize
- so that both the length == 3 and length != 3 cases set up their
- own permute vectors. Add comments explaining why we know the
- number of elements is constant.
- (vect_permute_load_chain): Likewise.
-
-2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
- Alan Hayward <alan.hayward@arm.com>
- David Sherwood <david.sherwood@arm.com>
-
- * machmode.h (mode_nunits): Change from unsigned char to
- poly_uint16_pod.
- (ONLY_FIXED_SIZE_MODES): New macro.
- (pod_mode::measurement_type, scalar_int_mode::measurement_type)
- (scalar_float_mode::measurement_type, scalar_mode::measurement_type)
- (complex_mode::measurement_type, fixed_size_mode::measurement_type):
- New typedefs.
- (mode_to_nunits): Return a poly_uint16 rather than an unsigned short.
- (GET_MODE_NUNITS): Return a constant if ONLY_FIXED_SIZE_MODES,
- or if measurement_type is not polynomial.
- * genmodes.c (ZERO_COEFFS): New macro.
- (emit_mode_nunits_inline): Make mode_nunits_inline return a
- poly_uint16.
- (emit_mode_nunits): Change the type of mode_nunits to poly_uint16_pod.
- Use ZERO_COEFFS when emitting initializers.
- * data-streamer.h (bp_pack_poly_value): New function.
- (bp_unpack_poly_value): Likewise.
- * lto-streamer-in.c (lto_input_mode_table): Use bp_unpack_poly_value
- for GET_MODE_NUNITS.
- * lto-streamer-out.c (lto_write_mode_table): Use bp_pack_poly_value
- for GET_MODE_NUNITS.
- * tree.c (make_vector_type): Remove temporary shim and make
- the real function take the number of units as a poly_uint64
- rather than an int.
- (build_vector_type_for_mode): Handle polynomial nunits.
- * dwarf2out.c (loc_descriptor, add_const_value_attribute): Likewise.
- * emit-rtl.c (const_vec_series_p_1): Likewise.
- (gen_rtx_CONST_VECTOR): Likewise.
- * fold-const.c (test_vec_duplicate_folding): Likewise.
- * genrecog.c (validate_pattern): Likewise.
- * optabs-query.c (can_vec_perm_var_p, can_mult_highpart_p): Likewise.
- * optabs-tree.c (expand_vec_cond_expr_p): Likewise.
- * optabs.c (expand_vector_broadcast, expand_binop_directly): Likewise.
- (shift_amt_for_vec_perm_mask, expand_vec_perm_var): Likewise.
- (expand_vec_cond_expr, expand_mult_highpart): Likewise.
- * rtlanal.c (subreg_get_info): Likewise.
- * tree-vect-data-refs.c (vect_grouped_store_supported): Likewise.
- (vect_grouped_load_supported): Likewise.
- * tree-vect-generic.c (type_for_widest_vector_mode): Likewise.
- * tree-vect-loop.c (have_whole_vector_shift): Likewise.
- * simplify-rtx.c (simplify_unary_operation_1): Likewise.
- (simplify_const_unary_operation, simplify_binary_operation_1)
- (simplify_const_binary_operation, simplify_ternary_operation)
- (test_vector_ops_duplicate, test_vector_ops): Likewise.
- (simplify_immed_subreg): Use GET_MODE_NUNITS on a fixed_size_mode
- instead of CONST_VECTOR_NUNITS.
- * varasm.c (output_constant_pool_2): Likewise.
- * rtx-vector-builder.c (rtx_vector_builder::build): Only include the
- explicit-encoded elements in the XVEC for variable-length vectors.
-
-2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
-
- * lra-constraints.c (curr_insn_transform): Use partial_subreg_p.
-
-2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
- Alan Hayward <alan.hayward@arm.com>
- David Sherwood <david.sherwood@arm.com>
-
- * coretypes.h (fixed_size_mode): Declare.
- (fixed_size_mode_pod): New typedef.
- * builtins.h (target_builtins::x_apply_args_mode)
- (target_builtins::x_apply_result_mode): Change type to
- fixed_size_mode_pod.
- * builtins.c (apply_args_size, apply_result_size, result_vector)
- (expand_builtin_apply_args_1, expand_builtin_apply)
- (expand_builtin_return): Update accordingly.
-
-2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
-
- * cse.c (hash_rtx_cb): Hash only the encoded elements.
- * cselib.c (cselib_hash_rtx): Likewise.
- * expmed.c (make_tree): Build VECTOR_CSTs directly from the
- CONST_VECTOR encoding.
-
-2017-01-03 Jakub Jelinek <jakub@redhat.com>
- Jeff Law <law@redhat.com>
-
- PR target/83641
- * config/i386/i386.c (ix86_adjust_stack_and_probe_stack_clash): For
- noreturn probe, use gen_pop instead of ix86_emit_restore_reg_using_pop,
- only set RTX_FRAME_RELATED_P on both the push and pop if cfa_reg is sp
- and add REG_CFA_ADJUST_CFA notes in that case to both insns.
-
- PR target/83641
- * config/i386/i386.c (ix86_adjust_stack_and_probe_stack_clash): Do not
- explicitly probe *sp in a noreturn function if there were any callee
- register saves or frame pointer is needed.
-
-2018-01-03 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/83621
- * cfgexpand.c (expand_debug_expr): Return NULL if mode is
- BLKmode for ternary, binary or unary expressions.
-
- PR debug/83645
- * var-tracking.c (delete_vta_debug_insn): New inline function.
- (delete_vta_debug_insns): Add USE_CFG argument, if true, walk just
- insns from get_insns () to NULL instead of each bb separately.
- Use delete_vta_debug_insn. No longer static.
- (vt_debug_insns_local, variable_tracking_main_1): Adjust
- delete_vta_debug_insns callers.
- * rtl.h (delete_vta_debug_insns): Declare.
- * final.c (rest_of_handle_final): Call delete_vta_debug_insns
- instead of variable_tracking_main.
-
-2018-01-03 Martin Sebor <msebor@redhat.com>
-
- PR tree-optimization/83603
- * calls.c (maybe_warn_nonstring_arg): Avoid accessing function
- arguments past the endof the argument list in functions declared
- without a prototype.
- * gimple-ssa-warn-restrict.c (wrestrict_dom_walker::check_call):
- Avoid checking when arguments are null.
-
-2018-01-03 Martin Sebor <msebor@redhat.com>
-
- PR c/83559
- * doc/extend.texi (attribute const): Fix a typo.
- * ipa-pure-const.c ((warn_function_const, warn_function_pure): Avoid
- issuing -Wsuggest-attribute for void functions.
-
-2018-01-03 Martin Sebor <msebor@redhat.com>
-
- * gimple-ssa-warn-restrict.c (builtin_memref::builtin_memref): Use
- offset_int::from instead of wide_int::to_shwi.
- (maybe_diag_overlap): Remove assertion.
- Use HOST_WIDE_INT_PRINT_DEC instead of %lli.
- * gimple-ssa-sprintf.c (format_directive): Same.
- (parse_directive): Same.
- (sprintf_dom_walker::compute_format_length): Same.
- (try_substitute_return_value): Same.
-
-2017-01-03 Jeff Law <law@redhat.com>
-
- PR middle-end/83654
- * explow.c (anti_adjust_stack_and_probe_stack_clash): Test a
- non-constant residual for zero at runtime and avoid probing in
- that case. Reorganize code for trailing problem to mirror handling
- of the residual.
-
-2018-01-03 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-
- PR tree-optimization/83501
- * tree-ssa-strlen.c (get_string_cst): New.
- (handle_char_store): Call get_string_cst.
-
-2018-01-03 Martin Liska <mliska@suse.cz>
-
- PR tree-optimization/83593
- * tree-ssa-strlen.c: Include tree-cfg.h.
- (strlen_check_and_optimize_stmt): Add new argument cleanup_eh.
- (strlen_dom_walker): Add new member variable m_cleanup_cfg.
- (strlen_dom_walker::strlen_dom_walker): Initialize m_cleanup_cfg
- to false.
- (strlen_dom_walker::before_dom_children): Call
- gimple_purge_dead_eh_edges. Dump tranformation with details
- dump flags.
- (strlen_dom_walker::before_dom_children): Update call by adding
- new argument cleanup_eh.
- (pass_strlen::execute): Return TODO_cleanup_cfg if needed.
-
-2018-01-03 Martin Liska <mliska@suse.cz>
-
- PR ipa/83549
- * cif-code.def (VARIADIC_THUNK): New enum value.
- * ipa-fnsummary.c (compute_fn_summary): Do not inline variadic
- thunks.
-
-2018-01-03 Jan Beulich <jbeulich@suse.com>
-
- * sse.md (mov<mode>_internal): Tighten condition for when to use
- vmovdqu<ssescalarsize> for TI and OI modes.
-
-2018-01-03 Jakub Jelinek <jakub@redhat.com>
+ PR ipa/85574
+ * ipa-icf.h (sem_item_optimizer::sort_congruence_split): Declare.
+ * ipa-icf.c (sem_item_optimizer::sort_congruence_split): New
+ function.
+ (sem_item_optimizer::do_congruence_step_f): Sort the congruence
+ set after UIDs before splitting them.
+
+2019-01-01 Martin Sebor <msebor@redhat.com>
+ Jeff Law <law@redhat.com>
+
+ * gimple-fold.c (get_range_strlen_tree): Record if the computed
+ length is optimistic. If it is, then arrange to compute the
+ conservative length as well.
+
+ * gimple-fold.h (get_range_strlen): Update prototype.
+ * builtins.c (check_access): Update call to get_range_strlen to use
+ c_strlen_data pointer. Change various variable accesses to instead
+ pull data from the c_strlen_data structure.
+ (check_strncat_sizes, expand_builtin_strncat): Likewise.
+ * calls.c (maybe_warn_nonstring_arg): Likewise.
+ * tree-ssa-strlen.c (maybe_diag_stxncpy_trunc): Likewise. Reset
+ minimum length if maximum lengh is unknown.
+ * gimple-ssa-sprintf.c (get_string_length): Likewise. Drop code
+ that used c_strlen, it's no longer needed. Restructure slightly.
+ (format_string): Set unlikely range appropriately.
+ * gimple-fold.c (get_range_strlen): Update comments. Fix minor
+ formatting issues.
+ (get_range_strlen): Accept c_strlen_data pointer for external
+ call sites as well. Pass through to call to internal get_range_strlen.
+ Adjust minlen, maxlen and maxbound as needed.
+ (get_maxval_strlen): Update comments.
+ (gimple_fold_builtin_strlen): Update call to get_range_strlen
+ to use c_strlen_data pointer. Change variable accesses to instead
+ use c_strlen_data data members.
+
+ * gimple-fold.c (get_range_strlen): Update prototype.
+ (get_range_strlen_tree): Update prototype. Drop minlen/maxlen
+ local variables. Use pdata to return information to caller.
+ Update calls to get_range_strlen. Update pdata->maxbound.
+ (get_range_strlen -- static version): Similarly.
+ (get_range_strlen -- extern version): Update for internal
+ get_range_strlen API change. Convert to external data format.
+ (get_maxval_strlen): Similarly.
+
+2019-01-01 Jan Hubicka <hubicka@ucw.cz>
+
+ * coverage.c (get_coverage_counts): Use current_function_decl.
+ * profile.c (read_thunk_profile): New function.
+ (branch_prob): Add THUNK parameter.
+ * tree-profile.c (tree_profiling): Handle thunks.
+ * value-prof.c (init_node_map): Handle thunks.
+ * value-prof.h (branch_prob): Upate prototype.
+ (read_thunk_profile): Declare.
+
+2019-01-01 Jakub Jelinek <jakub@redhat.com>
Update copyright years.
-2018-01-12 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.target/powerpc/float128-hw7.c: Use scan-assembler-times
- instead of scan-assembler-not for xsnabsqp.
-
-2018-01-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/83525
- * gfortran.dg/newunit_5.f90: New test.
-
-2018-01-12 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/80481
- * g++.dg/pr80481.C: New.
-
-2018-01-12 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/83628
- * gcc.target/alpha/pr83628-3.c: New test.
-
-2018-01-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * lib/target-supports.exp (check_effective_target_avx512f): Also
- check for __builtin_ia32_addsd_round,
- __builtin_ia32_getmantsd_round.
- * gcc.target/i386/i386.exp (check_effective_target_avx512f):
- Remove.
-
-2018-01-12 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR target/83629
- * gcc.target/powerpc/pr83629.c: Require ilp32.
-
-2018-01-12 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/80846
- * gcc.target/i386/pr80846-1.c: New testcase.
- * gcc.target/i386/pr80846-2.c: Likewise.
-
-2018-01-12 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.c-torture/execute/20180112-1.c: New test.
+ 2010-06-30 Jakub Jelinek <jakub@redhat.com>
+
+ * g++.dg/opt/ctor1.C: New test.
+
+2019-01-09 Jakub Jelinek <jakub@redhat.com>
-2018-01-12 Tom de Vries <tom@codesourcery.com>
-
- * g++.dg/ext/label13.C: Add dg-require-effective-target indirect_jumps.
- * g++.dg/ext/label13a.C: Same.
- * g++.dg/ext/label14.C: Same.
- * g++.dg/ext/label2.C: Same.
- * g++.dg/ext/label3.C: Same.
- * g++.dg/torture/pr42462.C: Same.
- * g++.dg/torture/pr42739.C: Same.
- * g++.dg/warn/Wunused-label-3.C: Same.
-
-2018-01-12 Tom de Vries <tom@codesourcery.com>
-
- * c-c++-common/dwarf2/vla1.c: Add dg-require-effective-target alloca.
- * g++.dg/Walloca1.C: Same.
- * g++.dg/cpp0x/pr70338.C: Same.
- * g++.dg/cpp1y/lambda-generic-vla1.C: Same.
- * g++.dg/cpp1y/vla10.C: Same.
- * g++.dg/cpp1y/vla2.C: Same.
- * g++.dg/cpp1y/vla6.C: Same.
- * g++.dg/cpp1y/vla8.C: Same.
- * g++.dg/debug/debug5.C: Same.
- * g++.dg/debug/debug6.C: Same.
- * g++.dg/debug/pr54828.C: Same.
- * g++.dg/diagnostic/pr70105.C: Same.
- * g++.dg/eh/cleanup5.C: Same.
- * g++.dg/eh/spbp.C: Same.
- * g++.dg/ext/tmplattr9.C: Same.
- * g++.dg/ext/vla10.C: Same.
- * g++.dg/ext/vla11.C: Same.
- * g++.dg/ext/vla12.C: Same.
- * g++.dg/ext/vla15.C: Same.
- * g++.dg/ext/vla16.C: Same.
- * g++.dg/ext/vla17.C: Same.
- * g++.dg/ext/vla3.C: Same.
- * g++.dg/ext/vla6.C: Same.
- * g++.dg/ext/vla7.C: Same.
- * g++.dg/init/array24.C: Same.
- * g++.dg/init/new47.C: Same.
- * g++.dg/init/pr55497.C: Same.
- * g++.dg/opt/pr78201.C: Same.
- * g++.dg/template/vla2.C: Same.
- * g++.dg/torture/Wsizeof-pointer-memaccess1.C: Same.
- * g++.dg/torture/Wsizeof-pointer-memaccess2.C: Same.
- * g++.dg/torture/pr62127.C: Same.
- * g++.dg/torture/pr67055.C: Same.
- * g++.dg/torture/stackalign/eh-alloca-1.C: Same.
- * g++.dg/torture/stackalign/eh-inline-2.C: Same.
- * g++.dg/torture/stackalign/eh-vararg-1.C: Same.
- * g++.dg/torture/stackalign/eh-vararg-2.C: Same.
- * g++.dg/warn/Wplacement-new-size-5.C: Same.
- * g++.dg/warn/Wsizeof-pointer-memaccess-1.C: Same.
- * g++.dg/warn/Wvla-1.C: Same.
- * g++.dg/warn/Wvla-3.C: Same.
- * g++.old-deja/g++.ext/array2.C: Same.
- * g++.old-deja/g++.ext/constructor.C: Same.
- * g++.old-deja/g++.law/builtin1.C: Same.
- * g++.old-deja/g++.other/crash12.C: Same.
- * g++.old-deja/g++.other/eh3.C: Same.
- * g++.old-deja/g++.pt/array6.C: Same.
- * g++.old-deja/g++.pt/dynarray.C: Same.
+ PR rtl-optimization/88331
+ * gcc.target/i386/pr88331.c: New test.
-2018-01-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+2019-01-08 Paolo Carlini <paolo.carlini@oracle.com>
- * g++.dg/cpp0x/inh-ctor30.C: Allow for alternate mangled form.
+ * g++.dg/diagnostic/constexpr2.C: New.
+ * g++.dg/diagnostic/ref3.C: Likewise.
-2018-01-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+2019-01-08 Marek Polacek <polacek@redhat.com>
- PR libfortran/67412
- * gfortran.dg/execute_command_line_2.f90: Remove dg-xfail-run-if
- on *-*-solaris2.10.
+ PR c++/88538 - braced-init-list in template-argument-list.
+ * g++.dg/cpp2a/nontype-class11.C: New test.
-2018-01-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+ PR c++/88744
+ * g++.dg/cpp2a/nontype-class12.C: New test.
- * lib/target-supports.exp (check_effective_target_branch_cost):
- Accept all x86 targets.
+2019-01-08 Jakub Jelinek <jakub@redhat.com>
-2018-01-12 Martin Liska <mliska@suse.cz>
+ PR target/88457
+ * gcc.target/powerpc/pr88457.c: Remove -m32, -c and -mcpu=e300c3 from
+ dg-options. Require ppc_cpu_supports_hw effective target instead of
+ powerpc64*-*-*.
- PR ipa/83054
- * g++.dg/warn/pr83054.C: New test.
+2019-01-08 Janus Weil <janus@gcc.gnu.org>
-2018-01-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+ PR fortran/88047
+ * gfortran.dg/class_69.f90: New test case.
- * gcc.target/powerpc/spec-barr-1.c: New file.
+2019-01-08 H.J. Lu <hongjiu.lu@intel.com>
-2018-01-11 H.J. Lu <hongjiu.lu@intel.com>
+ PR target/88717
+ * gcc.target/i386/pr88717.c: New test.
- PR target/83330
- * gcc.target/i386/pr83330.c: New test.
+2019-01-08 Marek Polacek <polacek@redhat.com>
-2018-01-11 Steven G. Kargl <kargl@gcc.gnu.org>
+ PR c++/88548 - this accepted in static member functions.
+ * g++.dg/cpp0x/this1.C: New test.
- PR fortran/79383
- * gfortran.dg/dtio_31.f03: New test.
- * gfortran.dg/dtio_32.f03: New test.
+2019-01-08 Martin Liska <mliska@suse.cz>
-2018-01-11 David Malcolm <dmalcolm@redhat.com>
+ PR tree-optimization/88753
+ * gcc.dg/tree-ssa/pr88753.c: New test.
- PR c++/43486
- * g++.dg/wrappers: New subdirectory.
- * g++.dg/wrappers/README: New file.
- * g++.dg/wrappers/alloc.C: New test case.
- * g++.dg/wrappers/cow-istream-string.C: New test case.
- * g++.dg/wrappers/cp-stdlib.C: New test case.
- * g++.dg/wrappers/sanitizer_coverage_libcdep_new.C: New test case.
- * g++.dg/wrappers/wrapper-around-type-pack-expansion.C: New test
- case.
+2019-01-08 Richard Biener <rguenther@suse.de>
-2018-01-11 Jan Hubicka <hubicka@ucw.cz>
+ PR tree-optimization/86554
+ * gcc.dg/torture/pr86554-1.c: New testcase.
+ * gcc.dg/torture/pr86554-2.c: Likewise.
- PR middle-end/83718
- * g++.dg/torture/pr83718.C: New testcase.
+2019-01-08 Paolo Carlini <paolo.carlini@oracle.com>
-2018-01-11 Martin Jambor <mjambor@suse.cz>
+ * g++.dg/diagnostic/thread1.C: Tweak expected error #line 13 to
+ cover target variance.
- PR ipa/83178
- * g++.dg/ipa/devirt-22.C: Adjust scan-dump-times count.
+2019-01-08 Richard Biener <rguenther@suse.de>
-2018-01-11 Bin Cheng <bin.cheng@arm.com>
+ PR fortran/88611
+ * trans-expr.c (gfc_conv_initializer): For ISOCBINDING_NULL_*
+ directly build the expected GENERIC tree.
- PR tree-optimization/83695
- * gcc.dg/tree-ssa/pr83695.c: New test.
+2019-01-08 Sam Tebbs <sam.tebbs@arm.com>
-2018-01-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+ * gcc.target/aarch64/(return_address_sign_1.c,
+ return_address_sign_2.c, return_address_sign_3.c (__attribute__)):
+ Change option to -mbranch-protection.
+ * gcc.target/aarch64/(branch-protection-option.c,
+ branch-protection-option-2.c, branch-protection-attr.c,
+ branch-protection-attr-2.c): New file.
- * gcc.target/arm/simd/fp16fml_lane_high.c: New test.
- * gcc.target/arm/simd/fp16fml_lane_low.c: New test.
+2019-01-08 Paolo Carlini <paolo.carlini@oracle.com>
-2018-01-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+ * g++.dg/diagnostic/out-of-class-redeclaration.C: New.
- * gcc.target/arm/multilib.exp: Add combination tests for fp16fml.
- * gcc.target/arm/simd/fp16fml_high.c: New test.
- * gcc.target/arm/simd/fp16fml_low.c: Likewise.
- * lib/target-supports.exp
- (check_effective_target_arm_fp16fml_neon_ok_nocache,
- check_effective_target_arm_fp16fml_neon_ok,
- add_options_for_arm_fp16fml_neon): New procedures.
+2019-01-08 Iain Sandoe <iain@sandoe.co.uk>
-2017-01-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+ * c-c++-common/builtin-has-attribute-3.c: Skip tests requiring symbol
+ alias support.
+ * c-c++-common/builtin-has-attribute-4.c: Likewise.
+ Append match for warning that ‘protected’ attribute is not supported.
- * gcc.target/arm/multilib.exp: Add some -march=armv8.4-a
- combination tests.
+2019-01-08 Iain Sandoe <iain@sandoe.co.uk>
-2018-01-11 Richard Biener <rguenther@suse.de>
+ * gcc.dg/Wmissing-attributes.c: Require alias support.
+ * gcc.dg/attr-copy-2.c: Likewise.
+ * gcc.dg/attr-copy-5.c: Likewise.
- PR tree-optimization/83435
- * gcc.dg/graphite/pr83435.c: New testcase.
+2019-01-08 Jonathan Wakely <jwakely@redhat.com>
+ Jakub Jelinek <jakub@redhat.com>
-2018-01-11 Richard Sandiford <richard.sandiford@linaro.org>
- Alan Hayward <alan.hayward@arm.com>
- David Sherwood <david.sherwood@arm.com>
+ PR c++/88554
+ * g++.dg/warn/Wreturn-type-11.C: New test.
- * gcc.target/aarch64/pr70044.c: Allow "mov x29, sp" too.
+2019-01-07 David Malcolm <dmalcolm@redhat.com>
-2018-01-11 Tamar Christina <tamar.christina@arm.com>
+ PR jit/88747
+ * jit.dg/test-sum-of-squares.c (verify_code): Update expected vrp
+ dump to reflect r266077.
- * gcc.target/aarch64/advsimd-intrinsics/vdot-compile-2.c: New.
+2019-01-07 Jakub Jelinek <jakub@redhat.com>
-2018-01-11 Sudakshina Das <sudi.das@arm.com>
+ PR c/88701
+ * gcc.dg/pr88701.c: New test.
- PR target/82096
- * gcc.c-torture/compile/pr82096.c: New test.
+2019-01-07 Joseph Myers <joseph@codesourcery.com>
-2018-01-11 Ed Schonberg <schonberg@adacore.com>
+ PR c/88720
+ PR c/88726
+ * gcc.dg/inline-40.c, gcc.dg/inline-41.c: New tests.
- * gnat.dg/bip_overlay.adb, gnat.dg/bip_overlay.ads: New testcase.
+2019-01-07 Paolo Carlini <paolo.carlini@oracle.com>
-2018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
+ * g++.dg/diagnostic/constexpr1.C: New.
+ * g++.dg/diagnostic/thread1.C: Likewise.
- * gnat.dg/protected_func.adb, gnat.dg/protected_func.ads: New testcase.
+2019-01-07 Thomas Koenig <tkoenig@gcc.gnu.org>
+ Harald Anlauf <anlauf@gmx.de>
+ Tobias Burnus <burnus@gcc.gnu.org>
-2018-01-11 Justin Squirek <squirek@adacore.com>
+ * gfortran.dg/is_contiguous_1.f90: New test.
+ * gfortran.dg/is_contiguous_2.f90: New test.
+ * gfortran.dg/is_contiguous_3.f90: New test.
- * gnat.dg/expr_func4.adb: New testcase.
+2019-01-07 Marek Polacek <polacek@redhat.com>
-2018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
+ PR c++/88741 - wrong error with initializer-string.
+ * g++.dg/init/array50.C: New test.
- * gnat.dg/pure_subp_body.adb, gnat.dg/pure_subp_body_pkg.ads: New
- testcase.
+2019-01-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
-2018-01-11 Bob Duff <duff@adacore.com>
+ PR c++/88261
+ PR c++/69338
+ PR c++/69696
+ PR c++/69697
+ * gcc.dg/array-6.c: Move from here ...
+ * c-c++-common/array-6.c: ... to here and add some more test coverage.
+ * g++.dg/pr69338.C: New test.
+ * g++.dg/pr69697.C: Likewise.
+ * g++.dg/ext/flexary32.C: Likewise.
+ * g++.dg/ext/flexary3.C: Adjust test.
+ * g++.dg/ext/flexary12.C: Likewise.
+ * g++.dg/ext/flexary13.C: Likewise.
+ * g++.dg/ext/flexary15.C: Likewise.
+ * g++.dg/warn/Wplacement-new-size-1.C: Likewise.
+ * g++.dg/warn/Wplacement-new-size-2.C: Likewise.
+ * g++.dg/warn/Wplacement-new-size-6.C: Likewise.
- * gnat.dg/protected_null.adb: New testcase.
+2019-01-07 Richard Earnshaw <rearnsha@arm.com>
-2018-01-11 Ed Schonberg <schonberg@adacore.com>
+ * gcc.target/aarch64/subs_compare_2.c: Make '#' immediate prefix
+ optional in scan pattern.
- * gnat.dg/expr_func3.adb, gnat.dg/expr_func3.ads: New testcase.
+2019-01-07 Richard Sandiford <richard.sandiford@arm.com>
-2018-01-11 Ed Schonberg <schonberg@adacore.com>
+ PR tree-optimization/88598
+ * gcc.dg/vect/pr88598-1.c: New test.
+ * gcc.dg/vect/pr88598-2.c: Likewise.
+ * gcc.dg/vect/pr88598-3.c: Likewise.
+ * gcc.dg/vect/pr88598-4.c: Likewise.
+ * gcc.dg/vect/pr88598-5.c: Likewise.
+ * gcc.dg/vect/pr88598-6.c: Likewise.
- * gnat.dg/fixedpnt2.adb, gnat.dg/fixedpnt2.ads: New testcase.
+2019-01-07 Richard Sandiford <richard.sandiford@arm.com>
-2018-01-11 Justin Squirek <squirek@adacore.com>
+ PR tree-optimization/88598
+ * gcc.dg/pr88598-1.c: New test.
+ * gcc.dg/pr88598-2.c: Likewise.
+ * gcc.dg/pr88598-3.c: Likewise.
+ * gcc.dg/pr88598-4.c: Likewise.
+ * gcc.dg/pr88598-5.c: Likewise.
- * gnat.dg/loopvar.adb: New testcase.
+2019-01-07 Jakub Jelinek <jakub@redhat.com>
-2018-01-10 Jan Hubicka <hubicka@ucw.cz>
+ PR tree-optimization/88676
+ * gcc.dg/tree-ssa/pr88676.c: New test.
+ * gcc.dg/pr88676.c: New test.
+ * gcc.dg/tree-ssa/pr15826.c: Just verify there is no goto,
+ allow &.
- PR middle-end/83189
- * gfortran.fortran-torture/compile/pr83189.f90: New testcase.
+ PR sanitizer/88619
+ * c-c++-common/asan/pr88619.c: New test.
-2018-01-10 Jan Hubicka <hubicka@ucw.cz>
+ PR c++/85052
+ * c-c++-common/builtin-convertvector-1.c: New test.
+ * c-c++-common/torture/builtin-convertvector-1.c: New test.
+ * g++.dg/ext/builtin-convertvector-1.C: New test.
+ * g++.dg/cpp0x/constexpr-builtin4.C: New test.
- * gcc.c-torture/compile/pr83575.c: New testcase.
+2018-12-26 Mateusz B <mateuszb@poczta.onet.pl>
-2018-01-10 Michael Collison <michael.collison@arm.com>
+ PR target/88521
+ * gcc.target/i386/pr88521.c: New testcase.
- gcc.target/aarch64/fp16_fmul_high_1.c: New testcase.
- gcc.target/aarch64/fp16_fmul_high_2.c: New testcase.
- gcc.target/aarch64/fp16_fmul_high_3.c: New testcase.
- gcc.target/aarch64/fp16_fmul_high.h: New shared testcase.
- gcc.target/aarch64/fp16_fmul_lane_high_1.c: New testcase.
- gcc.target/aarch64/fp16_fmul_lane_high_1.c: New testcase.
- gcc.target/aarch64/fp16_fmul_lane_high_1.c: New testcase.
- gcc.target/aarch64/fp16_fmul_lane_high.h: New shared testcase.
- gcc.target/aarch64/fp16_fmul_low_1.c: New testcase.
- gcc.target/aarch64/fp16_fmul_low_2.c: New testcase.
- gcc.target/aarch64/fp16_fmul_low_2.c: New testcase.
- gcc.target/aarch64/fp16_fmul_low.h: New sharedtestcase.
- gcc.target/aarch64/fp16_fmul_lane_low_1.c: New testcase.
- gcc.target/aarch64/fp16_fmul_lane_low_2.c: New testcase.
- gcc.target/aarch64/fp16_fmul_lane_low_3.c: New testcase.
- gcc.target/aarch64/fp16_fmul_lane_low.h: New shared testcase.
+2019-01-06 Thomas Koenig <tkoenig@gcc.gnu.org>
-2018-01-10 Michael Collison <michael.collison@arm.com>
+ PR fortran/88658
+ * gfortran.dg/min_max_type_2.f90: New test.
+
+2019-01-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/88363
+ * c-c++-common/attributes-4.c (falloc_align_int128,
+ falloc_size_int128): Guard with #ifdef __SIZEOF_INT128__.
+
+2019-01-05 Jan Hubicka <hubicka@ucw.cz>
+
+ * gcc.dg/ipa/ipcp-2.c: Update bounds.
+
+2019-01-05 Dominique d'Humieres <dominiq@gcc.gnu.org>
+
+ * gcc.dg/plugin/plugindir1.c: Adjust dg-prune-output for Darwin.
+ * gcc.dg/plugin/plugindir2.c: Likewise.
+ * gcc.dg/plugin/plugindir3.c: Likewise.
+ * gcc.dg/plugin/plugindir4.c: Likewise.
+
+2019-01-05 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/88009
+ * gfortran.dg/blockdata_10.f90: New test case.
+
+2019-01-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/82564
+ PR target/88620
+ * gcc.dg/nested-func-12.c: New test.
+ * gcc.c-torture/compile/pr82564.c: New test.
+
+ PR debug/88635
+ * gcc.dg/debug/dwarf2/pr88635.c: New test.
+
+2019-01-05 Dominique d'Humieres <dominiq@gcc.gnu.org>
+
+ PR target/60563
+ * g++.dg/ext/sync-4.C: Add dg-xfail-run-if for darwin.
+
+2019-01-04 Martin Sebor <msebor@redhat.com>
+
+ PR c/88546
+ * g++.dg/ext/attr-copy.C: New test.
+ * gcc.dg/attr-copy-4.c: Disable macro expansion tracking.
+ * gcc.dg/attr-copy-6.c: New test.
+ * gcc.dg/attr-copy-7.c: New test.
+
+2019-01-04 Martin Sebor <msebor@redhat.com>
+
+ PR c/88363
+ * c-c++-common/attributes-4.c: New test.
+
+2019-01-04 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/48543
+ * gfortran.dg/const_chararacter_merge.f90: Actually remove.
+ * gfortran.dg/merge_char_const.f90: Restore.
+
+2019-01-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/88594
+ * gcc.dg/pr88594.c: New test.
+
+2019-01-04 Jan Beulich <jbeulich@suse.com>
+
+ * gcc.target/i386/avx512bitalg-vpshufbitqmb.c,
+ gcc.target/i386/avx512bw-vpcmpeqb-1.c,
+ gcc.target/i386/avx512bw-vpcmpequb-1.c,
+ gcc.target/i386/avx512bw-vpcmpequw-1.c,
+ gcc.target/i386/avx512bw-vpcmpeqw-1.c,
+ gcc.target/i386/avx512bw-vpcmpgeb-1.c,
+ gcc.target/i386/avx512bw-vpcmpgeub-1.c,
+ gcc.target/i386/avx512bw-vpcmpgeuw-1.c,
+ gcc.target/i386/avx512bw-vpcmpgew-1.c,
+ gcc.target/i386/avx512bw-vpcmpgtb-1.c,
+ gcc.target/i386/avx512bw-vpcmpgtub-1.c,
+ gcc.target/i386/avx512bw-vpcmpgtuw-1.c,
+ gcc.target/i386/avx512bw-vpcmpgtw-1.c,
+ gcc.target/i386/avx512bw-vpcmpleb-1.c,
+ gcc.target/i386/avx512bw-vpcmpleub-1.c,
+ gcc.target/i386/avx512bw-vpcmpleuw-1.c,
+ gcc.target/i386/avx512bw-vpcmplew-1.c,
+ gcc.target/i386/avx512bw-vpcmpltb-1.c,
+ gcc.target/i386/avx512bw-vpcmpltub-1.c,
+ gcc.target/i386/avx512bw-vpcmpltuw-1.c,
+ gcc.target/i386/avx512bw-vpcmpltw-1.c,
+ gcc.target/i386/avx512bw-vpcmpneqb-1.c,
+ gcc.target/i386/avx512bw-vpcmpnequb-1.c,
+ gcc.target/i386/avx512bw-vpcmpnequw-1.c,
+ gcc.target/i386/avx512bw-vpcmpneqw-1.c,
+ gcc.target/i386/avx512bw-vpmovb2m-1.c,
+ gcc.target/i386/avx512bw-vpmovm2b-1.c,
+ gcc.target/i386/avx512bw-vpmovm2w-1.c,
+ gcc.target/i386/avx512bw-vpmovw2m-1.c,
+ gcc.target/i386/avx512bw-vptestmb-1.c,
+ gcc.target/i386/avx512bw-vptestmw-1.c,
+ gcc.target/i386/avx512bw-vptestnmb-1.c,
+ gcc.target/i386/avx512bw-vptestnmw-1.c,
+ gcc.target/i386/avx512cd-vpbroadcastmb2q-1.c,
+ gcc.target/i386/avx512cd-vpbroadcastmw2d-1.c,
+ gcc.target/i386/avx512dq-vfpclasssd-1.c,
+ gcc.target/i386/avx512dq-vfpclassss-1.c,
+ gcc.target/i386/avx512dq-vpmovd2m-1.c,
+ gcc.target/i386/avx512dq-vpmovm2d-1.c,
+ gcc.target/i386/avx512dq-vpmovm2q-1.c,
+ gcc.target/i386/avx512dq-vpmovq2m-1.c,
+ gcc.target/i386/avx512vl-vpbroadcastmb2q-1.c,
+ gcc.target/i386/avx512vl-vpbroadcastmw2d-1.c,
+ gcc.target/i386/avx512vl-vpcmpeqd-1.c,
+ gcc.target/i386/avx512vl-vpcmpeqq-1.c,
+ gcc.target/i386/avx512vl-vpcmpequd-1.c,
+ gcc.target/i386/avx512vl-vpcmpequq-1.c,
+ gcc.target/i386/avx512vl-vpcmpged-1.c,
+ gcc.target/i386/avx512vl-vpcmpgeq-1.c,
+ gcc.target/i386/avx512vl-vpcmpgeud-1.c,
+ gcc.target/i386/avx512vl-vpcmpgeuq-1.c,
+ gcc.target/i386/avx512vl-vpcmpgtd-1.c,
+ gcc.target/i386/avx512vl-vpcmpgtq-1.c,
+ gcc.target/i386/avx512vl-vpcmpgtud-1.c,
+ gcc.target/i386/avx512vl-vpcmpgtuq-1.c,
+ gcc.target/i386/avx512vl-vpcmpled-1.c,
+ gcc.target/i386/avx512vl-vpcmpleq-1.c,
+ gcc.target/i386/avx512vl-vpcmpleud-1.c,
+ gcc.target/i386/avx512vl-vpcmpleuq-1.c,
+ gcc.target/i386/avx512vl-vpcmpltd-1.c,
+ gcc.target/i386/avx512vl-vpcmpltq-1.c,
+ gcc.target/i386/avx512vl-vpcmpltud-1.c,
+ gcc.target/i386/avx512vl-vpcmpltuq-1.c,
+ gcc.target/i386/avx512vl-vpcmpneqd-1.c,
+ gcc.target/i386/avx512vl-vpcmpneqq-1.c,
+ gcc.target/i386/avx512vl-vpcmpnequd-1.c,
+ gcc.target/i386/avx512vl-vpcmpnequq-1.c,
+ gcc.target/i386/avx512vl-vptestmd-1.c,
+ gcc.target/i386/avx512vl-vptestmq-1.c,
+ gcc.target/i386/avx512vl-vptestnmd-1.c,
+ gcc.target/i386/avx512vl-vptestnmq-1.c: Permit %k0 as ordinary
+ operand.
+ * gcc.target/i386/avx512bw-vpcmpb-1.c,
+ gcc.target/i386/avx512bw-vpcmpub-1.c,
+ gcc.target/i386/avx512bw-vpcmpuw-1.c,
+ gcc.target/i386/avx512bw-vpcmpw-1.c,
+ gcc.target/i386/avx512dq-vfpclasspd-1.c,
+ gcc.target/i386/avx512dq-vfpclassps-1.c,
+ gcc.target/i386/avx512f-vcmppd-1.c,
+ gcc.target/i386/avx512f-vcmpps-1.c,
+ gcc.target/i386/avx512f-vcmpsd-1.c,
+ gcc.target/i386/avx512f-vcmpss-1.c,
+ gcc.target/i386/avx512f-vpcmpd-1.c,
+ gcc.target/i386/avx512f-vpcmpq-1.c,
+ gcc.target/i386/avx512f-vpcmpud-1.c,
+ gcc.target/i386/avx512f-vpcmpuq-1.c,
+ gcc.target/i386/avx512f-vptestmd-1.c,
+ gcc.target/i386/avx512f-vptestmq-1.c,
+ gcc.target/i386/avx512f-vptestnmd-1.c,
+ gcc.target/i386/avx512f-vptestnmq-1.c,
+ gcc.target/i386/avx512vl-vcmppd-1.c,
+ gcc.target/i386/avx512vl-vcmpps-1.c,
+ gcc.target/i386/avx512vl-vpcmpd-1.c,
+ gcc.target/i386/avx512vl-vpcmpq-1.c,
+ gcc.target/i386/avx512vl-vpcmpud-1.c,
+ gcc.target/i386/avx512vl-vpcmpuq-1.c: Likewise. Don't permit %k0
+ as mask operand.
+
+2019-01-03 Martin Sebor <msebor@redhat.com>
+
+ PR tree-optimization/88659
+ * gcc.dg/Wstringop-truncation-6.c: New test.
+
+2019-01-02 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/48543
+ * gfortran.dg/const_chararacter_merge.f90: Remove.
+
+2019-01-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/88644
+ * gcc.dg/debug/dwarf2/pr88644.c: New test.
+ * gcc.dg/debug/dwarf2/pr80263.c: Remove darwin hack.
+
+2019-01-03 Iain Sandoe <iain@sandoe.co.uk>
+
+ * gcc.dg/pubtypes-2.c: Adjust expected pubtypes length.
+ * gcc.dg/pubtypes-3.c: Likewise.
+ * gcc.dg/pubtypes-4.c: Likewise.
+
+2019-01-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/88636
+ * g++.target/i386/pr88636.C: New test.
+
+2019-01-03 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * g++.dg/cpp1z/nodiscard3.C: Test locations too.
+
+2019-01-03 Martin Liska <mliska@suse.cz>
+
+ PR testsuite/88436
+ * gcc.target/powerpc/pr54240.c: Scan phiopt2.
+
+2019-01-02 Marek Polacek <polacek@redhat.com>
+
+ PR c++/88612 - ICE with -Waddress-of-packed-member.
+ * g++.dg/warn/Waddress-of-packed-member1.C: New test.
+
+ PR c++/88631 - CTAD failing for value-initialization.
+ * g++.dg/cpp1z/class-deduction59.C: New test.
+
+ PR c++/81486 - CTAD failing with ().
+ * g++.dg/cpp1z/class-deduction60.C: New test.
+ * g++.dg/cpp1z/class-deduction61.C: New test.
+
+2019-01-02 Martin Sebor <msebor@redhat.com>
+ Jeff Law <law@redhat.com>
- gcc.target/aarch64/sha2.h: New shared testcase.
- gcc.target/aarch64/sha2_1.c: New testcase.
- gcc.target/aarch64/sha2_2.c: New testcase.
- gcc.target/aarch64/sha2_3.c: New testcase.
- gcc.target/aarch64/sha3.h: New shared testcase.
- gcc.target/aarch64/sha3_1.c: New testcase.
- gcc.target/aarch64/sha3_2.c: New testcase.
- gcc.target/aarch64/sha3_3.c: New testcase.
+ * gcc.dg/strlenopt-36.c: Update.
+ * gcc.dg/strlenopt-45.c: Update.
+ * gcc.c-torture/execute/strlen-5.c: New test.
+ * gcc.c-torture/execute/strlen-6.c: New test.
+ * gcc.c-torture/execute/strlen-7.c: New test.
-2018-01-10 Michael Collison <michael.collison@arm.com>
+2019-01-02 Jakub Jelinek <jakub@redhat.com>
- gcc.target/aarch64/sm3_sm4.c: New testcase.
+ PR testsuite/87304
+ * gcc.dg/vect/bb-slp-over-widen-1.c: Expect basic block vectorized
+ messages only on vect_hw_misalign targets.
-2018-01-10 Martin Sebor <msebor@redhat.com>
+2019-01-02 Steven G. Kargl <kargl@gcc.gnu.org>
- PR tree-optimization/83781
- * gcc.dg/strlenopt-42.c: New test.
+ * gfortran.dg/argument_checking_7.f90: Remove run-on error message.
+ * gfortran.dg/dec_d_lines_3.f: Ditto.
+ * gfortran.dg/dec_structure_24.f90: Ditto.
+ * gfortran.dg/dec_structure_26.f90: Ditto.
+ * gfortran.dg/dec_structure_27.f90: Ditto.
+ * gfortran.dg/dec_type_print_3.f90: Ditto.
+ * gfortran.dg/derived_name_1.f90: Ditto.
+ * gfortran.dg/error_recovery_1.f90: Ditto.
+ * gfortran.dg/gomp/pr29759.f90: Ditto.
+ * gfortran.dg/pr36192.f90: Ditto.
+ * gfortran.dg/pr56007.f90: Ditto.
+ * gfortran.dg/pr56520.f90: Ditto.
+ * gfortran.dg/pr78741.f90: Ditto.
+ * gfortran.dg/print_fmt_2.f90: Ditto.
+ * gfortran.dg/select_type_20.f90: Ditto.
-2018-01-11 Martin Sebor <msebor@gmail.com>
- Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
+2019-01-02 Marek Polacek <polacek@redhat.com>
- PR tree-optimization/83501
- PR tree-optimization/81703
+ PR c++/86875
+ * g++.dg/cpp1y/lambda-generic-86875.C: New test.
- * gcc.dg/strlenopt-39.c: New test-case.
- * gcc.dg/pr81703.c: Likewise.
+2019-01-02 Thomas Koenig <tkoenig@gcc.gnu.org>
-2018-01-10 Eric Botcazou <ebotcazou@adacore.com>
+ PR fortran/48543
+ * gfortran.dg/const_chararacter_merge.f90: New test.
- * gnat.dg/atomic10.adb: New test.
+2019-01-02 Jan Hubicka <hubicka@ucw.cz>
-2018-01-10 Steven G. Kargl <kargl@gcc.gnu.org>
+ PR lto/88130
+ * g++.dg/torture/pr88130.C: New testcase.
- PR fortran/82367
- * gfortran.dg/deferred_character_18.f90: New test.
+2019-01-02 Martin Liska <mliska@suse.cz>
-2018-01-10 Martin Sebor <msebor@redhat.com>
+ PR tree-optimization/88650
+ * gfortran.dg/predict-3.f90: New test.
- PR tree-optimization/83671
- * gcc.dg/strlenopt-40.c: New test.
- * gcc.dg/strlenopt-41.c: New test.
+2019-01-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-2018-01-10 Steven G. Kargl <kargl@gcc.gnu.org>
+ * g++.dg/gcov/pr88263.C: Rename namespace log to logging.
- PR fortran/83093
- * gfortran.dg/allocate_with_typespec_7.f90: New test.
+2019-01-02 Richard Biener <rguenther@suse.de>
-2018-01-10 Peter Bergner <bergner@vnet.ibm.com>
+ PR tree-optimization/88621
+ * gcc.dg/torture/pr88621.c: New testcase.
- PR target/83399
- * gcc.target/powerpc/pr83399.c: New test.
+2019-01-02 Jakub Jelinek <jakub@redhat.com>
-2018-01-10 David Malcolm <dmalcolm@redhat.com>
+ PR ipa/88561
+ * g++.dg/tree-prof/devirt.C: Expect _ZThn16 only for lp64 and llp64
+ targets and expect _ZThn8 for ilp32 targets.
- PR c++/43486
- * g++.dg/diagnostic/param-type-mismatch.C: Update expected results
- to reflect that the arguments are correctly underlined.
- * g++.dg/plugin/diagnostic-test-expressions-1.C: Add test coverage
- for globals, params, locals and literals.
- (test_sizeof): Directly test the location of "sizeof", rather than
- when used in compound expressions.
- (test_alignof): Likewise for "alignof".
- (test_string_literals): Likewise for string literals.
- (test_numeric_literals): Likewise for numeric literals.
- (test_builtin_offsetof): Likewise for "__builtin_offsetof".
- (test_typeid): Likewise for typeid.
- (test_unary_plus): New.
- * g++.dg/warn/Wformat-1.C: Add tests of pointer arithmetic on
- format strings.
+2019-01-01 Martin Sebor <msebor@redhat.com>
+ Jeff Law <law@redhat.com>
-2018-01-10 Uros Bizjak <ubizjak@gmail.com>
+ * gcc.dg/strlenopt-40.c: Update.
+ * gcc.dg/strlenopt-51.c: Likewise.
+ * gcc.dg/tree-ssa/pr79376.c: Likewise.
- * gcc.target/i386/pr82618.c (dg-options): Add -mno-stv.
+ * gcc.dg/strlenopt-40.c: Disable a couple tests.
+ * gcc.dg/strlenopt-48.c: Twiddle test slightly.
+ * gcc.dg/strlenopt-59.c: New test.
+ * gcc.dg/tree-ssa/builtin-snprintf-5.c: New test.
+ * g++.dg/init/strlen.C: New test.
-2018-01-10 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
+2019-01-01 Thomas Koenig <tkoenig@gcc.gnu.org>
- * gcc.dg/memcmp-1.c: Reduce runtime to something reasonable.
+ PR fortran/82743
+ * gfortran.dg/structure_constructor_16.f90: New test.
-2018-01-10 Marek Polacek <polacek@redhat.com>
+2019-01-01 Jan Hubicka <hubicka@ucw.cz>
- PR c++/82541
- * g++.dg/warn/Wduplicated-branches4.C: New test.
+ * g++.dg/ipa/devirt-36.C: Add dg-do-compile.
+ * g++.dg/ipa/devirt-53.C: Fix scan template.
-2018-01-10 Jakub Jelinek <jakub@redhat.com>
+2019-01-01 Jan Hubicka <hubicka@ucw.cz>
- PR c++/81327
- * g++.dg/Wclass-memaccess-2.C: Don't expect a warning when explicitly
- cast to void *.
+ * g++.dg/lto/devirt-13_0.C: Drop broken scan of ssa dump.
+ * g++.dg/lto/devirt-14_0.C: Drop broken scan of ssa dump.
+ * g++.dg/lto/devirt-23_0.C: Add -fdump-ipa-cp.
-2018-01-10 Paolo Carlini <paolo.carlini@oracle.com>
+2019-01-01 Jan Hubicka <hubicka@ucw.cz>
- PR c++/81055
- * g++.dg/cpp0x/new2.C: New.
+ * g++.dg/tree-prof/devirt.C: Update testcase.
-2018-01-10 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/83735
- * gcc.target/i386/pr83735.c: New test.
-
-2018-01-10 Christophe Lyon <christophe.lyon@linaro.org>
-
- * lib/target-supports.exp (check_effective_target_branch_cost):
- New function.
- * gcc.dg/builtin-bswap-7.c: Use branch_cost effective target.
- * gcc.dg/pr21643.c: Likewise.
- * gcc.dg/pr46309.c: Likewise.
- * gcc.dg/tree-ssa/phi-opt-11.c: Likewise.
- * gcc.dg/tree-ssa/phi-opt-2.c: Likewise.
- * gcc.dg/tree-ssa/reassoc-32.c: Likewise.
- * gcc.dg/tree-ssa/reassoc-33.c: Likewise.
- * gcc.dg/tree-ssa/reassoc-34.c: Likewise.
- * gcc.dg/tree-ssa/reassoc-35.c: Likewise.
- * gcc.dg/tree-ssa/reassoc-36.c: Likewise.
- * gcc.dg/tree-ssa/ssa-ifcombine-13.c: Likewise.
- * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-1.c: Likewise.
- * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-2.c: Likewise.
- * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-3.c: Likewise.
- * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-4.c: Likewise.
- * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-5.c: Likewise.
- * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-6.c: Likewise.
-
-2018-01-10 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR target/83629
- * gcc.target/powerpc/pr83629.c: New testcase.
-
-2018-01-10 Richard Biener <rguenther@suse.de>
-
- PR testsuite/78768
- * gcc.dg/pr78768.c: Un-XFAIL.
-
-2018-01-10 Richard Biener <rguenther@suse.de>
-
- PR debug/82425
- * gcc.dg/guality/inline-params-2.c: Un-XFAIL for slim LTO.
-
-2018-01-10 Richard Sandiford <richard.sandiford@linaro.org>
-
- PR tree-optimization/83753
- * gcc.dg/torture/pr83753.c: New test.
-
-2018-01-09 Jan Hubicka <hubicka@ucw.cz>
-
- * gcc.target/i386/avx2-gather-1.c: Add -march.
- * gcc.target/i386/avx2-gather-2.c: Add -march.
- * gcc.target/i386/avx2-gather-3.c: Add -march.
- * gcc.target/i386/avx2-gather-4.c: Add -march.
- * gcc.target/i386/avx2-gather-5.c: Add -march.
- * gcc.target/i386/avx2-gather-6.c: Add -march.
- * gcc.target/i386/avx512f-gather-1.c: Add -march.
- * gcc.target/i386/avx512f-gather-2.c: Add -march.
- * gcc.target/i386/avx512f-gather-3.c: Add -march.
- * gcc.target/i386/avx512f-gather-4.c: Add -march.
- * gcc.target/i386/avx512f-gather-5.c: Add -march.
- * gcc.target/i386/avx512f-i32gatherd512-1.c: Add -march.
- * gcc.target/i386/avx512f-i32gatherd512-2.c: Add -march.
- * gcc.target/i386/avx512f-i32gatherpd512-1.c: Add -march.
- * gcc.target/i386/avx512f-i32gatherpd512-2.c: Add -march.
- * gcc.target/i386/avx512f-i32gatherps512-1.c: Add -march.
-
-2018-01-09 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/78585:
- * gcc.target/i386/pr78585.c: New test.
-
-2018-01-09 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/83734
- * g++.dg/cpp0x/pr83734.C: New test.
-
-2017-01-09 Carl Love <cel@us.ibm.com>
-
- * gcc.target/powerpc/builtins-1.c (main): Add tests for vec_mergee and
- vec_mergeo builtins with float, double, long long, unsigned long long,
- bool long long arguments.
- * gcc.target/powerpc/builtins-3-runnable.c (main): Add test for
- vec_float2 with double arguments.
- * gcc.target/powerpc/builtins-mergew-mergow.c: New runable test for the
- vec_mergew and vec_mergow builtins.
-
-2018-01-09 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/83742
- * gfortran.dg/contiguous_6.f90: New test.
-
-2018-01-09 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/83668
- * gcc.dg/graphite/pr83668.c: New testcase.
-
-2018-01-09 Joseph Myers <joseph@codesourcery.com>
-
- PR tree-optimization/64811
- * gcc.dg/torture/inf-compare-1.c, gcc.dg/torture/inf-compare-2.c,
- gcc.dg/torture/inf-compare-3.c, gcc.dg/torture/inf-compare-4.c,
- gcc.dg/torture/inf-compare-5.c, gcc.dg/torture/inf-compare-6.c,
- gcc.dg/torture/inf-compare-7.c, gcc.dg/torture/inf-compare-8.c:
- New tests.
- * gcc.c-torture/execute/ieee/fp-cmp-7.x: New file.
-
-2018-01-09 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/79883
- * gcc.target/avr/torture/pr57631.c (dg-warning): Quote 'signal'.
-
-2018-01-09 Tamar Christina <tamar.christina@arm.com>
-
- PR target/82641
- * gcc.target/arm/pragma_fpu_attribute.c: Rewrite to use
- no NEON and require softfp or hard float-abi.
- * gcc.target/arm/pragma_fpu_attribute_2.c: Likewise.
-
-2018-01-09 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/83572
- * gcc.dg/graphite/pr83572.c: New testcase.
-
-2018-01-09 Jakub Jelinek <jakub@redhat.com>
-
- PR target/83507
- * gcc.dg/sms-13.c: New test.
-
-2018-01-08 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/83741
- * gfortran.dg/allocate_assumed_charlen_3.f90: New test.
-
-2018-01-08 Chih-Mao Chen <pkmx.tw@gmail.com>
- Monk Chiang <sh.chiang04@gmail.com>
-
- * gcc.target/riscv/save-restore-1.c: New.
-
-2018-01-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR target/83677
- * gcc.target/powerpc/pr83677.c: New file.
-
-2018-01-08 Jeff Law <law@redhat.com>
-
- PR rtl-optimizatin/81308
- * g++.dg/pr81308-1.C: New test.
- * g++.dg/pr81308-2.C: New test.
-
-2018-01-08 Vidya Praveen <vidyapraveen@arm.com>
-
- PR target/83663 - Revert r255946
- * gcc.target/aarch64/vect-slp-dup.c: New.
-
-2018-01-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * gcc.target/arm/multilib.exp: Add fp16, dotprod and armv8.3-a
- combination tests.
-
-2018-01-08 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/83563
- * gcc.dg/graphite/pr83563.c: New testcase.
-
-2018-01-08 Richard Biener <rguenther@suse.de>
-
- PR middle-end/83713
- * g++.dg/torture/pr83713.C: New testcase.
-
-2018-01-08 Tom de Vries <tom@codesourcery.com>
-
- * gcc.dg/tree-ssa/ssa-dom-cse-2.c: Xfail scan for nvptx.
-
-2018-01-08 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/83685
- * gcc.dg/torture/pr83685.c: New testcase.
-
-2018-01-08 Richard Biener <rguenther@suse.de>
-
- PR lto/83719
- * gcc.dg/lto/pr83719_0.c: New testcase.
-
-2018-01-08 Tom de Vries <tom@codesourcery.com>
-
- * gcc.dg/graphite/interchange-7.c: Add dg-require-stack-size.
- * gcc.dg/graphite/run-id-1.c: Same.
- * gcc.dg/tree-ssa/loop-interchange-4.c: Same.
-
-2018-01-08 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/83611
- * gfortran.dg/pdt_15.f03 : Bump count of 'n.data = 0B' to 8.
- * gfortran.dg/pdt_26.f03 : Bump count of '_malloc' to 9.
- * gfortran.dg/pdt_27.f03 : New test.
-
- PR fortran/83731
- * gfortran.dg/pdt_28.f03 : New test.
-
-2018-01-08 Tom de Vries <tom@codesourcery.com>
-
- * c-c++-common/builtins.c: Require effective target alloca.
- * gcc.dg/Wrestrict.c: Same.
- * gcc.dg/tree-ssa/loop-interchange-15.c: Same.
-
-2018-01-08 Richard Biener <rguenther@suse.de>
-
- PR middle-end/83580
- * gcc.dg/torture/pr83580.c: New testcase.
-
-2018-01-08 Richard Biener <rguenther@suse.de>
-
- PR middle-end/83517
- * gcc.dg/pr83517.c: New testcase.
-
-2018-01-06 Aldy Hernandez <aldyh@redhat.com>
-
- PR middle-end/81897
- * gcc.dg/uninit-pr81897.c: New test.
-
-2018-01-06 Martin Sebor <msebor@redhat.com>
-
- PR tree-optimization/83640
- * gcc.dg/Wrestrict-6.c: New test.
- * gcc.dg/pr83640.c: New test.
-
-2018-01-06 Richard Sandiford <richard.sandiford@linaro.org>
-
- * gcc.target/aarch64/reg-alloc-1.c: New test.
-
-2018-01-06 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR fortran/50892
- * gfortran.dg/char_pointer_assign_icb_1.f90: New test.
-
-2018-01-06 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/83480
- * gcc.dg/pr83480.c: New test.
-
- PR rtl-optimization/83682
- * gcc.target/i386/pr83682.c: New test.
-
-2018-01-05 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR fortran/78534
- PR fortran/66310
- * gfortran.dg/char_cast_1.f90: Update scan pattern.
- * gfortran.dg/dependency_49.f90: Likewise.
- * gfortran.dg/repeat_4.f90: Use integers of kind C_SIZE_T.
- * gfortran.dg/repeat_7.f90: New test for PR 66310.
- * gfortran.dg/scan_2.f90: Handle potential cast in assignment.
- * gfortran.dg/string_1.f90: Limit to ilp32 targets.
- * gfortran.dg/string_1_lp64.f90: New test.
- * gfortran.dg/string_3.f90: Limit to ilp32 targets.
- * gfortran.dg/string_3_lp64.f90: New test.
-
-2018-01-05 Jakub Jelinek <jakub@redhat.com>
-
- PR target/83604
- * gcc.target/i386/sse-26.c: New test.
-
- PR target/83604
- * gcc.target/i386/pr83604.c: New test.
-
-2018-01-05 Richard Sandiford <richard.sandiford@linaro.org>
-
- * gcc.dg/vect/vect-align-4.c: New test.
- * gcc.dg/vect/vect-nb-iter-ub-2.c (cc): Remove alignment attribute
- and redefine as a structure with an unaligned member "b".
- (foo): Update accordingly.
-
-2018-01-05 Sudakshina Das <sudi.das@arm.com>
-
- PR target/82439
- * gcc.target/aarch64/bics_5.c: New test.
- * gcc.target/arm/bics_5.c: Likewise.
-
-2018-01-05 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/83605
- * gcc.dg/pr83605.c: New test.
-
-2018-01-04 Jakub Jelinek <jakub@redhat.com>
-
- PR target/83554
- * gcc.target/i386/pr83554.c: New test.
-
- PR ipa/82352
- * g++.dg/ipa/pr82352.C (size_t): Define to __SIZE_TYPE__ instead of
- long unsigned int.
-
-2018-01-04 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/83683
- PR fortran/45689
- * gfortran.dg/eoshift_8.f90: New test.
- * gfortran.dg/simplify_eoshift_1.f90: New test.
-
-2018-01-04 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/83585
- * gcc.dg/pr83585.c: New test.
-
-2018-01-04 Nathan Sidwell <nathan@acm.org>
-
- PR c++/83667
- * g++.dg/ipa/pr83667.C: Fix regex, require alias.
-
-2018-01-04 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/83666
- * gcc.dg/pr83666.c: New test.
-
-2018-01-04 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/83628
- * gcc.target/alpha/pr83628-1.c: New test.
- * gcc.target/alpha/pr83628-2.c: Ditto.
-
-2018-01-04 Martin Liska <mliska@suse.cz>
-
- PR ipa/82352
- * g++.dg/ipa/pr82352.C: New test.
-
-2018-01-04 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.dg/vect-opt-info-1.c: Moved to ...
- * gcc.dg/vect/nodump-vect-opt-info-1.c: ... here. Only run on
- vect_int targets, use dg-additional-options instead of dg-options and
- use relative line numbers instead of absolute.
-
-2018-01-03 Martin Sebor <msebor@redhat.com>
-
- PR tree-optimization/83655
- * gcc.dg/Wrestrict-5.c: New test.
- * c-c++-common/builtins.c: New test.
-
-2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
- Alan Hayward <alan.hayward@arm.com>
- David Sherwood <david.sherwood@arm.com>
-
- * gcc.target/aarch64/vect-movi.c (movi_float_lsl24): New function.
- (main): Call it.
-
-2018-01-03 Jeff Law <law@redhat.com>
-
- PR target/83641
- * gcc.target/i386/stack-check-17.c: New test.
- * gcc.target/i386/stack-check-12.c: Drop unnecessary asm.
-
-2018-01-03 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/83621
- * gcc.dg/pr83621.c: New test.
-
- PR debug/83645
- * gcc.dg/pr83645.c: New test.
-
-2018-01-03 Martin Sebor <msebor@redhat.com>
-
- PR tree-optimization/83603
- * gcc.dg/Wrestrict-4.c: New test.
-
- PR c/83559
- * gcc.dg/const-2.c: New test.
- * gcc.dg/pure-3.c: New test.
-
-2018-01-03 Martin Sebor <msebor@redhat.com>
-
- * gcc.dg/Wrestrict-3.c: New test.
-
-2018-01-03 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/83555
- * g++.dg/opt/pr83555.C: New test.
- * g++.dg/ubsan/pr83555.C: New test.
-
-2018-01-03 David Malcolm <dmalcolm@redhat.com>
-
- PR c/82050
- * gcc.dg/plugin/expensive-selftests-1.c: Update regexp to handle
- the !CHECKING_P case by expecting a note.
- * gcc.dg/plugin/expensive_selftests_plugin.c (plugin_init): Issue
- a note for the !CHECKING_P case, and move the return statement
- outside of #if CHECKING_P guard.
-
-2018-01-03 Jeff Law <law@redhat.com>
-
- PR middle-end/83654
- * gcc.target/i386/stack-check-18.c: New test.
- * gcc.target/i386/stack-check-19.c: New test.
-
-2018-01-03 Martin Sebor <msebor@redhat.com>
-
- PR tree-optimization/83501
- * c-c++-common/Warray-bounds-3.c: Remove xfail.
-
-2018-01-03 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-
- PR tree-optimization/83501
- * gcc.dg/tree-ssa/pr83501-1.c: New test.
-
-2018-01-03 Nathan Sidwell <nathan@acm.org>
-
- PR c++/83667
- * g++.dg/ipa/pr83667.C: New.
-
-2018-01-03 Martin Liska <mliska@suse.cz>
-
- PR tree-optimization/83593
- * gcc.dg/pr83593.c: New test.
-
-2018-01-03 Martin Liska <mliska@suse.cz>
-
- PR ipa/83549
- * g++.dg/ipa/pr83549.C: New test.
-
-2018-01-03 Marek Polacek <polacek@redhat.com>
-
- PR c++/83592
- * g++.dg/warn/mvp2.C: New test.
-
-2018-01-03 Jakub Jelinek <jakub@redhat.com>
-
- PR preprocessor/83602
- * g++.dg/cpp/pr83602.C: New test.
-
- PR c++/83634
- * g++.dg/parse/pr83634.C: New test.
-
-2018-01-03 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/83664
- * gfortran.dg/eoshift_7.f90: New test.
-
-2018-01-03 Jan Beulich <jbeulich@suse.com>
-
- * gcc.target/i386/avx512vl-no-vmovdqu8.c,
- gcc.target/i386/avx512vl-no-vmovdqu16.c: New.
-
-2018-01-03 Jakub Jelinek <jakub@redhat.com>
+2019-01-01 Jakub Jelinek <jakub@redhat.com>
Update copyright years.
-
-2018-01-03 Martin Liska <mliska@suse.cz>
-
- PR ipa/83594
- * gcc.dg/ipa/pr83594.c: New test.
-
-2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
- Alan Hayward <alan.hayward@arm.com>
- David Sherwood <david.sherwood@arm.com>
-
- * gcc.dg/vect-opt-info-1.c: New test.
-
-2018-01-02 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * gcc.target/powerpc/float128-hw2.c: Add tests for ceilf128,
- floorf128, truncf128, and roundf128.
- * gcc.target/powerpc/float128-hw5.c: New tests for _Float128
- optimizations added in match.pd.
- * gcc.target/powerpc/float128-hw6.c: Likewise.
- * gcc.target/powerpc/float128-hw7.c: Likewise.
- * gcc.target/powerpc/float128-hw8.c: Likewise.
- * gcc.target/powerpc/float128-hw9.c: Likewise.
- * gcc.target/powerpc/float128-hw10.c: Likewise.
- * gcc.target/powerpc/float128-hw11.c: Likewise.
-
-2018-01-02 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/83556
- * g++.dg/cpp0x/pr83556.C: New test.
-
-2018-01-02 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/45689
- PR fortran/83650
- * gfortran.dg/simplify_cshift_1.f90: Correct erroneous case.
- * gfortran.dg/simplify_cshift_4.f90: New test.
-
-2018-01-02 Marek Polacek <polacek@redhat.com>
-
- PR c++/81860
- * g++.dg/cpp0x/inh-ctor30.C: New test.
-
- PR c++/83644
- * g++.dg/cpp1z/pr83644.C: New test.
-
-2018-01-01 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/83076
- * gfortran.dg/coarray_45.f90 : New test.
-
- PR fortran/83319
- * gfortran.dg/coarray_46.f90 : New test.
-
-2018-01-01 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/83581
- * gcc.dg/pr83581.c: New test.
-
- PR c/83595
- * gcc.dg/pr83595.c: New test.
-
- PR middle-end/83608
- * g++.dg/opt/pr83608.C: New test.
-
- PR middle-end/83609
- * gcc.dg/pr83609.c: New test.
- * g++.dg/opt/pr83609.C: New test.
-
- PR middle-end/83623
- * gcc.dg/pr83623.c: New test.
-
- * gcc.target/i386/i386.exp
- (check_effective_target_avx512vpopcntdqvl): New proc.
- * gcc.target/i386/avx512vpopcntdqvl-vpopcntd-1.c: Use
- avx512vpopcntdqvl effective target rather than avx512vpopcntdq.
- * gcc.target/i386/avx512vpopcntdqvl-vpopcntq-1.c: Likewise.
\f
-Copyright (C) 2018 Free Software Foundation, Inc.
+Copyright (C) 2019 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
+ 2010-06-30 Jakub Jelinek <jakub@redhat.com>
+
+ * config/ia64/lib1funcs.S: Add .note.GNU-stack section on
+ ia64-linux.
+ * config/ia64/crtbegin.S: Likewise.
+ * config/ia64/crtend.S: Likewise.
+ * config/ia64/crti.S: Likewise.
+ * config/ia64/crtn.S: Likewise.
+
+2019-01-01 Jakub Jelinek <jakub@redhat.com>
+
+ Update copyright years.
+
+2018-12-20 H.J. Lu <hongjiu.lu@intel.com>
+
+ * unwind-pe.h (read_encoded_value_with_base): Add GCC pragma
+ to ignore -Waddress-of-packed-member.
+
+2018-12-19 Thomas Preud'homme <thomas.preudhomme@linaro.org>
+
+ * /config/arm/lib1funcs.S (FUNC_START): Remove unused sp_section
+ parameter and corresponding code.
+ (ARM_FUNC_START): Likewise in both definitions.
+ Also update footer comment about condition that need to match with
+ gcc/config/arm/elf.h to also include libgcc/config/arm/t-arm.
+ * config/arm/ieee754-df.S (muldf3): Also build it if L_arm_muldf3 is
+ defined. Weakly define it in this case.
+ * config/arm/ieee754-sf.S (mulsf3): Likewise with L_arm_mulsf3.
+ * config/arm/t-elf (LIB1ASMFUNCS): Build _arm_muldf3.o and
+ _arm_mulsf3.o before muldiv versions if targeting Thumb-1 only. Add
+ comment to keep condition in sync with the one in
+ libgcc/config/arm/lib1funcs.S and gcc/config/arm/elf.h.
+
+2018-12-18 Wei Xiao <wei3.xiao@intel.com>
+
+ * config/i386/cpuinfo.c (get_intel_cpu): Handle cascadelake.
+ * config/i386/cpuinfo.h: Add INTEL_COREI7_CASCADELAKE.
+
+2018-12-12 Rasmus Villemoes <rv@rasmusvillemoes.dk>
+
+ * config/rs6000/tramp.S (__trampoline_setup): Also emit .size
+ and .cfi_endproc directives for VxWorks targets.
+
+2018-12-05 Paul Koning <ni1d@arrl.net>
+
+ * udivmodhi4.c (__udivmodhi4): Fix loop end check.
+
+2018-11-27 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/morestack.S (__stack_split_initialize),
+ (__morestack_get_guard, __morestack_set_guard),
+ (__morestack_make_guard): Provide CFI covering these functions.
+ * config/rs6000/tramp.S (__trampoline_setup): Likewise.
+
+2018-11-15 Xianmiao Qu <xianmiao_qu@c-sky.com>
+
+ * config/csky/linux-unwind.h (sc_pt_regs): Update for kernel.
+ (sc_pt_regs_lr): Update for kernel.
+ (sc_pt_regs_tls): Update for kernel.
+
+2018-11-15 Xianmiao Qu <xianmiao_qu@c-sky.com>
+
+ * config/csky/linux-unwind.h: Fix coding style.
+
+2018-11-13 Xianmiao Qu <xianmiao_qu@c-sky.com>
+
+ * config/csky/linux-unwind.h (_sig_ucontext_t): Remove.
+ (csky_fallback_frame_state): Modify the check of the
+ instructions to adapt to changes in the kernel
+
+2018-11-09 Stafford Horne <shorne@gmail.com>
+ Richard Henderson <rth@twiddle.net>
+
+ * config.host: Add OpenRISC support.
+ * config/or1k/*: New.
+
+2018-11-08 Kito Cheng <kito@andestech.com>
+
+ * soft-fp/adddf3.c: Update from glibc.
+ * soft-fp/addsf3.c: Likewise.
+ * soft-fp/addtf3.c: Likewise.
+ * soft-fp/divdf3.c: Likewise.
+ * soft-fp/divsf3.c: Likewise.
+ * soft-fp/divtf3.c: Likewise.
+ * soft-fp/double.h: Likewise.
+ * soft-fp/eqdf2.c: Likewise.
+ * soft-fp/eqsf2.c: Likewise.
+ * soft-fp/eqtf2.c: Likewise.
+ * soft-fp/extenddftf2.c: Likewise.
+ * soft-fp/extended.h: Likewise.
+ * soft-fp/extendhftf2.c: Likewise.
+ * soft-fp/extendsfdf2.c: Likewise.
+ * soft-fp/extendsftf2.c: Likewise.
+ * soft-fp/extendxftf2.c: Likewise.
+ * soft-fp/fixdfdi.c: Likewise.
+ * soft-fp/fixdfsi.c: Likewise.
+ * soft-fp/fixdfti.c: Likewise.
+ * soft-fp/fixhfti.c: Likewise.
+ * soft-fp/fixsfdi.c: Likewise.
+ * soft-fp/fixsfsi.c: Likewise.
+ * soft-fp/fixsfti.c: Likewise.
+ * soft-fp/fixtfdi.c: Likewise.
+ * soft-fp/fixtfsi.c: Likewise.
+ * soft-fp/fixtfti.c: Likewise.
+ * soft-fp/fixunsdfdi.c: Likewise.
+ * soft-fp/fixunsdfsi.c: Likewise.
+ * soft-fp/fixunsdfti.c: Likewise.
+ * soft-fp/fixunshfti.c: Likewise.
+ * soft-fp/fixunssfdi.c: Likewise.
+ * soft-fp/fixunssfsi.c: Likewise.
+ * soft-fp/fixunssfti.c: Likewise.
+ * soft-fp/fixunstfdi.c: Likewise.
+ * soft-fp/fixunstfsi.c: Likewise.
+ * soft-fp/fixunstfti.c: Likewise.
+ * soft-fp/floatdidf.c: Likewise.
+ * soft-fp/floatdisf.c: Likewise.
+ * soft-fp/floatditf.c: Likewise.
+ * soft-fp/floatsidf.c: Likewise.
+ * soft-fp/floatsisf.c: Likewise.
+ * soft-fp/floatsitf.c: Likewise.
+ * soft-fp/floattidf.c: Likewise.
+ * soft-fp/floattihf.c: Likewise.
+ * soft-fp/floattisf.c: Likewise.
+ * soft-fp/floattitf.c: Likewise.
+ * soft-fp/floatundidf.c: Likewise.
+ * soft-fp/floatundisf.c: Likewise.
+ * soft-fp/floatunditf.c: Likewise.
+ * soft-fp/floatunsidf.c: Likewise.
+ * soft-fp/floatunsisf.c: Likewise.
+ * soft-fp/floatunsitf.c: Likewise.
+ * soft-fp/floatuntidf.c: Likewise.
+ * soft-fp/floatuntihf.c: Likewise.
+ * soft-fp/floatuntisf.c: Likewise.
+ * soft-fp/floatuntitf.c: Likewise.
+ * soft-fp/gedf2.c: Likewise.
+ * soft-fp/gesf2.c: Likewise.
+ * soft-fp/getf2.c: Likewise.
+ * soft-fp/half.h: Likewise.
+ * soft-fp/ledf2.c: Likewise.
+ * soft-fp/lesf2.c: Likewise.
+ * soft-fp/letf2.c: Likewise.
+ * soft-fp/muldf3.c: Likewise.
+ * soft-fp/mulsf3.c: Likewise.
+ * soft-fp/multf3.c: Likewise.
+ * soft-fp/negdf2.c: Likewise.
+ * soft-fp/negsf2.c: Likewise.
+ * soft-fp/negtf2.c: Likewise.
+ * soft-fp/op-1.h: Likewise.
+ * soft-fp/op-2.h: Likewise.
+ * soft-fp/op-4.h: Likewise.
+ * soft-fp/op-8.h: Likewise.
+ * soft-fp/op-common.h: Likewise.
+ * soft-fp/quad.h: Likewise.
+ * soft-fp/single.h: Likewise.
+ * soft-fp/soft-fp.h: Likewise.
+ * soft-fp/subdf3.c: Likewise.
+ * soft-fp/subsf3.c: Likewise.
+ * soft-fp/subtf3.c: Likewise.
+ * soft-fp/truncdfsf2.c: Likewise.
+ * soft-fp/trunctfdf2.c: Likewise.
+ * soft-fp/trunctfhf2.c: Likewise.
+ * soft-fp/trunctfsf2.c: Likewise.
+ * soft-fp/trunctfxf2.c: Likewise.
+ * soft-fp/unorddf2.c: Likewise.
+ * soft-fp/unordsf2.c: Likewise.
+ * soft-fp/unordtf2.c: Likewise.
+
+2018-11-04 Venkataramanan Kumar <Venkataramanan.kumar@amd.com>
+
+ * config/i386/cpuinfo.c: (get_amd_cpu): Add znver2.
+ * config/i386/cpuinfo.h (processor_types): Add znver2.
+
+2018-11-01 Paul Koning <ni1d@arrl.net>
+
+ * config/pdp11/t-pdp11 (LIB2ADD): Add divmod.c.
+ (HOST_LIBGCC2_CFLAGS): Change to optimize for size.
+
+2018-10-31 Joseph Myers <joseph@codesourcery.com>
+
+ PR bootstrap/82856
+ * configure.ac: Remove AC_PREREQ. Use AC_LANG_SOURCE.
+ * configure: Regenerate.
+
+2018-10-31 Claudiu Zissulescu <claziss@synopsys.com>
+
+ * config/arc/lib1funcs.S (_muldi3): New function.
+ * config/arc/t-arc (LIB1ASMFUNCS): Add _muldi3.
+
+2018-10-30 Rasmus Villemoes <rv@rasmusvillemoes.dk>
+
+ * config/gthr-vxworks.h (__gthread_mutex_destroy): Call semDelete.
+
+2018-10-25 Martin Liska <mliska@suse.cz>
+
+ PR other/87735
+ * libgcov-profiler.c: Revert.
+
+2018-10-24 Martin Liska <mliska@suse.cz>
+
+ * libgcov-profiler.c: Start from 1 in order to distinguish
+ functions which were seen and these that were not.
+
+2018-10-18 Paul Koning <ni1d@arrl.net>
+
+ * udivmodsi4.c (__udivmodsi4): Rename to conform to coding
+ standard.
+ * divmod.c: Update references to __udivmodsi4.
+ * udivmod.c: Ditto.
+ * udivhi3.c: New file.
+ * udivmodhi4.c: New file.
+ * config/pdp11/t-pdp11 (LIB2ADD): Add the new files.
+
+2018-10-17 Rasmus Villemoes <rv@rasmusvillemoes.dk>
+
+ * Makefile.in (LIB2FUNCS_ST): Filter out LIB2FUNCS_EXCLUDE.
+
+2018-10-12 Olivier Hainque <hainque@adacore.com>
+
+ * config/rs6000/ibm-ldouble.c: Augment the toplevel guard with
+ defined (__FLOAT128_TYPE__) || defined (__LONG_DOUBLE_128__).
+
+2018-10-08 Paul Koning <ni1d@arrl.net>
+
+ * config/pdp11/t-pdp11: Remove -mfloat32 switch.
+
+2018-10-04 Martin Liska <mliska@suse.cz>
+
+ PR gcov-profile/84107
+ * libgcov-profiler.c (__gcov_indirect_call):
+ Change type to indirect_call_tuple.
+ (struct indirect_call_tuple): New struct.
+ (__gcov_indirect_call_topn_profiler): Change type.
+ (__gcov_indirect_call_profiler_v2): Use the new
+ variables.
+ * libgcov.h (struct indirect_call_tuple): New struct
+ definition.
+
+2018-10-03 Uros Bizjak <ubizjak@gmail.com>
+
+ * libgcc2.c (isnan): Use __builtin_isnan.
+ (isfinite): Use __builtin_isfinite.
+ (isinf): Use __builtin_isinf.
+
+2018-09-26 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/crtprec.c (set_precision): Use fnstcw instead of fstcw.
+
+2018-09-21 Alexandre Oliva <oliva@adacore.com>
+
+ * config/vxcache.c: New file. Provide __clear_cache, based on
+ the cacheTextUpdate VxWorks service.
+ * config/t-vxworks (LIB2ADD): Add vxcache.c.
+ (LIB2FUNCS_EXCLUDE): Add _clear_cache.
+ * config/t-vxwoks7: Likewise.
+
+2018-09-21 Martin Liska <mliska@suse.cz>
+
+ * libgcov-driver.c (crc32_unsigned): Remove.
+ (gcov_histogram_insert): Likewise.
+ (gcov_compute_histogram): Likewise.
+ (compute_summary): Simplify rapidly.
+ (merge_one_data): Do not handle PROGRAM_SUMMARY tag.
+ (merge_summary): Rapidly simplify.
+ (dump_one_gcov): Ignore gcov_summary.
+ (gcov_do_dump): Do not handle program summary, it's not
+ used.
+ * libgcov-util.c (tag_summary): Remove.
+ (read_gcda_finalize): Fix coding style.
+ (read_gcda_file): Initialize curr_object_summary.
+ (compute_summary): Remove.
+ (calculate_overlap): Remove settings of run_max.
+
+2018-09-21 Monk Chiang <sh.chiang04@gmail.com>
+
+ * config/nds32/linux-unwind.h (struct _rt_sigframe): Use struct
+ ucontext_t type instead.
+ (nds32_fallback_frame_state): Remove struct _sigframe statement.
+
+2018-09-21 Kito Cheng <kito.cheng@gmail.com>
+
+ * config/nds32/t-nds32-glibc: New file.
+
+2018-09-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure.ac (solaris_ld_v2_maps): New test.
+ * configure: Regenerate.
+ * Makefile.in (solaris_ld_v2_maps): New variable.
+ * config/t-slibgcc-sld (libgcc-unwind.map): Emit v2 mapfile syntax
+ if supported.
+
+2018-08-23 Richard Earnshaw <rearnsha@arm.com>
+
+ PR target/86951
+ * config/arm/lib1funcs.asm (speculation_barrier): New function.
+ * config/arm/t-arm (LIB1ASMFUNCS): Add it to list of functions
+ to build.
+
+2018-08-22 Iain Sandoe <iain@sandoe.co.uk>
+
+ * config/unwind-dw2-fde-darwin.c
+ (_darwin10_Unwind_FindEnclosingFunction): move from here ...
+ * config/darwin10-unwind-find-enc-func.c: … to here.
+ * config/t-darwin: Build Darwin10 unwinder shim crt.
+ * libgcc/config.host: Add the Darwin10 unwinder shim.
+
+2018-08-21 Rasmus Villemoes <rv@rasmusvillemoes.dk>
+
+ * config.host: Add crtbegin.o and crtend.o for
+ powerpc-wrs-vxworks target.
+
+2018-08-17 Jojo <jijie_rong@c-sky.com>
+ Huibin Wang <huibin_wang@c-sky.com>
+ Sandra Loosemore <sandra@codesourcery.com>
+ Chung-Lin Tang <cltang@codesourcery.com>
+
+ C-SKY port: libgcc
+
+ * config.host: Add C-SKY support.
+ * config/csky/*: New.
+
+2018-08-12 Chung-Ju Wu <jasonwucj@gmail.com>
+
+ * config/nds32/t-nds32-isr: Rearrange object dependency.
+ * config/nds32/initfini.c: Add dwarf2 unwinding support.
+ * config/nds32/isr-library/adj_intr_lvl.inc: Consider new extensions
+ and registers usage.
+ * config/nds32/isr-library/excp_isr.S: Ditto.
+ * config/nds32/isr-library/intr_isr.S: Ditto.
+ * config/nds32/isr-library/reset.S: Ditto.
+ * config/nds32/isr-library/restore_all.inc: Ditto.
+ * config/nds32/isr-library/restore_mac_regs.inc: Ditto.
+ * config/nds32/isr-library/restore_partial.inc: Ditto.
+ * config/nds32/isr-library/restore_usr_regs.inc: Ditto.
+ * config/nds32/isr-library/save_all.inc: Ditto.
+ * config/nds32/isr-library/save_mac_regs.inc: Ditto.
+ * config/nds32/isr-library/save_partial.inc: Ditto.
+ * config/nds32/isr-library/save_usr_regs.inc: Ditto.
+ * config/nds32/isr-library/vec_vid*.S: Consider 4-byte vector size.
+
+2018-08-11 John David Anglin <danglin@gcc.gnu.org>
+
+ * config/pa/linux-atomic.c: Update comment.
+ (FETCH_AND_OP_2, OP_AND_FETCH_2, FETCH_AND_OP_WORD, OP_AND_FETCH_WORD,
+ COMPARE_AND_SWAP_2, __sync_val_compare_and_swap_4,
+ SYNC_LOCK_TEST_AND_SET_2, __sync_lock_test_and_set_4): Use
+ __ATOMIC_RELAXED for atomic loads.
+ (SYNC_LOCK_RELEASE_1): New define. Use __sync_synchronize() and
+ unordered store to release lock.
+ (__sync_lock_release_8): Likewise.
+ (SYNC_LOCK_RELEASE_2): Remove define.
+
+2018-08-02 Nicolas Pitre <nico@fluxnic.net>
+
+ PR libgcc/86512
+ * config/arm/ieee754-df.S: Don't shortcut denormal handling when
+ exponent goes negative. Update my email address.
+ * config/arm/ieee754-sf.S: Likewise.
+
+2018-08-01 Martin Liska <mliska@suse.cz>
+
+ * libgcov-profiler.c (__gcov_indirect_call_profiler_v2): Do not
+ check that __gcov_indirect_call_callee is non-null.
+
+2018-07-30 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * config/arm/ieee754-df.S: Fix comment for code working on
+ architectures >= 4.
+ * config/arm/ieee754-sf.S: Likewise.
+
+2018-07-27 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR libgcc/85334
+ * config/i386/shadow-stack-unwind.h (_Unwind_Frames_Increment):
+ Removed.
+
+2018-07-05 James Clarke <jrtc27@jrtc27.com>
+
+ * configure: Regenerated.
+
+2018-06-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * Makefile.in (install_leaf): Use enable_gcov instead of
+ enable_libgcov.
+
+2018-06-27 Rasmus Villemoes <rv@rasmusvillemoes.dk>
+
+ * configure.ac: Add --disable-gcov option.
+ * configure: Regenerate.
+ * Makefile.in: Honour @enable_gcov@.
+
+2018-06-21 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * config/arm/lib1funcs.S (__ARM_ARCH__): Remove definitions, use
+ __ARM_ARCH and __ARM_FEATURE_CLZ instead.
+ (HAVE_ARM_CLZ): Remove definition, use __ARM_FEATURE_CLZ instead.
+ * config/arm/ieee754-df.S: Use __ARM_FEATURE_CLZ instead of
+ __ARM_ARCH__.
+ * config/arm/ieee754-sf.S: Likewise.
+ * config/arm/libunwind.S: Use __ARM_ARCH instead of __ARM_ARCH__.
+
+2018-06-21 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * config/arm/ieee754-df.S: Remove code for __ARM_ARCH__ < 4, no
+ longer supported.
+ * config/arm/ieee754-sf.S: Likewise.
+
+2018-06-20 Than McIntosh <thanm@google.com>
+
+ PR libgcc/86213
+ * generic-morestack.c (allocate_segment): Move calls to getenv and
+ getpagesize to __morestack_load_mmap.
+ (__morestack_load_mmap) Initialize static_pagesize and
+ use_guard_page here so as to avoid clobbering SSE regs during a
+ __morestack call.
+
+2018-06-18 Michael Meissner <meissner@linux.ibm.com>
+
+ * config/rs6000/t-float128 (FP128_CFLAGS_SW): Compile float128
+ support modules with -mno-gnu-attribute.
+ * config/rs6000/t-float128-hw (FP128_CFLAGS_HW): Likewise.
+
+2018-06-07 Olivier Hainque <hainque@adacore.com>
+
+ * config/t-vxworks (LIBGCC_INCLUDES): Add
+ -I$(MULTIBUILDTOP)../../gcc/include.
+ * config/t-vxworks7: Likewise. Reformat a bit to match
+ the t-vxworks layout.
+
+2018-06-07 Olga Makhotina <olga.makhotina@intel.com>
+
+ * config/i386/cpuinfo.h (processor_types): Add INTEL_TREMONT.
+
+2018-06-07 Martin Liska <mliska@suse.cz>
+
+ * libgcov-driver.c: Rename cs_all to all and assign it from
+ all_prg.
+
+2018-06-07 Martin Liska <mliska@suse.cz>
+
+ PR bootstrap/86057
+ * libgcov-driver-system.c (replace_filename_variables): Use
+ memcpy instead of mempcpy.
+ (allocate_filename_struct): Do not allocate filename, allocate
+ prefix and set it.
+ (gcov_exit_open_gcda_file): Allocate memory for gf->filename
+ here and properly copy content into it.
+ * libgcov-driver.c (struct gcov_filename): Remove max_length
+ field, change prefix from size_t into char *.
+ (compute_summary): Do not calculate longest filename.
+ (gcov_do_dump): Release memory of gf.filename after each file.
+ * libgcov-util.c (compute_summary): Use new signature of
+ compute_summary.
+ (calculate_overlap): Likewise.
+
+2018-06-05 Martin Liska <mliska@suse.cz>
+
+ PR gcov-profile/47618
+ * libgcov-driver-system.c (replace_filename_variables): New
+ function.
+ (gcov_exit_open_gcda_file): Use it.
+
+2018-06-05 Martin Liska <mliska@suse.cz>
+
+ * libgcov-driver.c (gcov_compute_histogram): Remove usage
+ of gcov_ctr_summary.
+ (compute_summary): Do it just for a single summary.
+ (merge_one_data): Likewise.
+ (merge_summary): Simplify as we read just single summary.
+ (dump_one_gcov): Pass proper argument.
+ * libgcov-util.c (compute_one_gcov): Simplify as we have just
+ single summary.
+ (gcov_info_count_all_cold): Likewise.
+ (calculate_overlap): Likewise.
+
+2018-06-02 Chung-Ju Wu <jasonwucj@gmail.com>
+ Monk Chiang <sh.chiang04@gmail.com>
+
+ * config.host (nds32*-linux*): New.
+ * config/nds32/linux-atomic.c: New file.
+ * config/nds32/linux-unwind.h: New file.
+
+2018-05-31 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/85591
+ * config/i386/cpuinfo.c (get_amd_cpu): Return
+ AMDFAM15H_BDVER2 for AMDFAM15H model 0x2.
+
+2018-05-30 Rasmus Villemoes <rasmus.villemoes@prevas.dk>
+
+ * crtstuff.c: Remove declaration of _Jv_RegisterClasses.
+
+2018-05-29 Martin Liska <mliska@suse.cz>
+
+ PR gcov-profile/85759
+ * libgcov-driver-system.c (gcov_error): Introduce usage of
+ GCOV_EXIT_AT_ERROR env. variable.
+ * libgcov-driver.c (merge_one_data): Print error that we
+ overwrite a gcov file with a different timestamp.
+
+2018-05-23 Kalamatee <kalamatee@gmail.com>
+
+ * config/m68k/lb1sf68.S (Laddsf$nf): Fix sign bit handling in
+ path to Lf$finfty.
+
+2018-05-18 Kito Cheng <kito.cheng@gmail.com>
+ Monk Chiang <sh.chiang04@gmail.com>
+ Jim Wilson <jimw@sifive.com>
+
+ * config/riscv/save-restore.S: Add support for rv32e.
+
+2018-05-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/arm/libunwind.S: Update comment relating to armv5.
+
+2018-05-17 Jerome Lambourg <lambourg@adacore.com>
+
+ * config/arm/cmse.c (cmse_check_address_range): Replace
+ UINTPTR_MAX with __UINTPTR_MAX__ and uintptr_t with __UINTPTR_TYPE__.
+
+2018-05-17 Olga Makhotina <olga.makhotina@intel.com>
+
+ * config/i386/cpuinfo.h (processor_types): Add INTEL_GOLDMONT_PLUS.
+ * config/i386/cpuinfo.c (get_intel_cpu): Detect Goldmont Plus.
+
+2018-05-08 Olga Makhotina <olga.makhotina@intel.com>
+
+ * config/i386/cpuinfo.h (processor_types): Add INTEL_GOLDMONT.
+ * config/i386/cpuinfo.c (get_intel_cpu): Detect Goldmont.
+
+2018-05-07 Amaan Cheval <amaan.cheval@gmail.com>
+
+ * config.host (x86_64-*-rtems*): Build crti.o and crtn.o.
+
+2018-04-27 Andreas Tobler <andreast@gcc.gnu.org>
+ Maryse Levavasseur <maryse.levavasseur@stormshield.eu>
+
+ PR libgcc/84292
+ * config/arm/freebsd-atomic.c (SYNC_OP_AND_FETCH_N): Fix the
+ op_and_fetch to return the right result.
+
+2018-04-27 Alan Modra <amodra@gmail.com>
+
+ PR libgcc/85532
+ * config/rs6000/t-crtstuff (CRTSTUFF_T_CFLAGS): Add
+ -fno-asynchronous-unwind-tables.
+
+2018-04-25 Chung-Ju Wu <jasonwucj@gmail.com>
+
+ * config/nds32/sfp-machine.h: Fix settings for NDS32_ABI_2FP_PLUS.
+ * config/nds32/t-nds32-newlib (HOST_LIBGCC2_CFLAGS): Use -fwrapv.
+
+2018-04-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/linux-unwind.h: Add (__CET__ & 2) != 0 check
+ when including "config/i386/shadow-stack-unwind.h".
+
+2018-04-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ * configure: Regenerated.
+
+2018-04-20 Michael Meissner <meissner@linux.ibm.com>
+
+ PR target/85456
+ * config/rs6000/_powikf2.c: New file. Add support for the
+ __builtin_powil function when long double is IEEE 128-bit floating
+ point.
+ * config/rs6000/float128-ifunc.c (__powikf2_resolve): Add
+ __powikf2 support.
+ (__powikf2): Likewise.
+ * config/rs6000/quad-float128.h (__powikf2_sw): Likewise.
+ (__powikf2_hw): Likewise.
+ (__powikf2): Likewise.
+ * config/rs6000/t-float128 (fp128_ppc_funcs): Likewise.
+ * config/rs6000/t-float128-hw (fp128_hw_func): Likewise.
+ (_powikf2-hw.c): Likewise.
+
+2018-04-19 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR libgcc/85334
+ * unwind-generic.h (_Unwind_Frames_Increment): New.
+ * config/i386/shadow-stack-unwind.h (_Unwind_Frames_Increment):
+ Likewise.
+ * unwind.inc (_Unwind_RaiseException_Phase2): Increment frame
+ count with _Unwind_Frames_Increment.
+ (_Unwind_ForcedUnwind_Phase2): Likewise.
+
+2018-04-19 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR libgcc/85379
+ * config/i386/morestack.S (__stack_split_initialize): Add
+ _CET_ENDBR.
+
+2018-04-19 Jakub Jelinek <jakub@redhat.com>
+
+ * configure: Regenerated.
+
+2018-04-18 David Malcolm <dmalcolm@redhat.com>
+
+ PR jit/85384
+ * configure: Regenerate.
+
+2018-04-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/84945
+ * config/i386/cpuinfo.c (set_feature): Wrap into do while (0) to avoid
+ -Wdangling-else warnings. Mask shift counts to avoid
+ -Wshift-count-negative and -Wshift-count-overflow false positives.
+
+2018-04-06 Ruslan Bukin <br@bsdpad.com>
+
+ * config.host (riscv*-*-freebsd*): Add RISC-V FreeBSD support.
+
+2018-03-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/85100
+ * config/i386/cpuinfo.c (XCR_XFEATURE_ENABLED_MASK): New.
+ (XSTATE_FP): Likewise.
+ (XSTATE_SSE): Likewise.
+ (XSTATE_YMM): Likewise.
+ (XSTATE_OPMASK): Likewise.
+ (XSTATE_ZMM): Likewise.
+ (XSTATE_HI_ZMM): Likewise.
+ (XCR_AVX_ENABLED_MASK): Likewise.
+ (XCR_AVX512F_ENABLED_MASK): Likewise.
+ (get_available_features): Enable AVX and AVX512 features only
+ if their states are supported by OSXSAVE.
+
+2018-03-22 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
+
+ PR target/85025
+ * config/i386/shadow-stack-unwind.h (_Unwind_Frames_Extra):
+ Fix a typo, tmp => 255.
+
+2018-03-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/84945
+ * config/i386/cpuinfo.h (__cpu_features2): Declare.
+ * config/i386/cpuinfo.c (__cpu_features2): New variable for
+ ifndef SHARED only.
+ (set_feature): Define.
+ (get_available_features): Use set_feature macro. Set __cpu_features2
+ to the second word of features ifndef SHARED.
+
+2018-03-15 Julia Koval <julia.koval@intel.com>
+
+ * config/i386/cpuinfo.c (get_available_features): Add
+ FEATURE_AVX512VBMI2, FEATURE_GFNI, FEATURE_VPCLMULQDQ,
+ FEATURE_AVX512VNNI, FEATURE_AVX512BITALG.
+ * config/i386/cpuinfo.h (processor_features): Add FEATURE_AVX512VBMI2,
+ FEATURE_GFNI, FEATURE_VPCLMULQDQ, FEATURE_AVX512VNNI,
+ FEATURE_AVX512BITALG.
+
+2018-03-14 Julia Koval <julia.koval@intel.com>
+
+ * config/i386/cpuinfo.h (processor_subtypes): Split up icelake on
+ icelake client and icelake server.
+
+2018-03-06 John David Anglin <danglin@gcc.gnu.org>
+
+ * config/pa/fptr.c (_dl_read_access_allowed): New.
+ (__canonicalize_funcptr_for_compare): Use it.
+
+2018-02-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/83917
+ * configure.ac (AS_HIDDEN_DIRECTIVE): AC_DEFINE_UNQUOTED this to
+ $asm_hidden_op if visibility ("hidden") attribute works.
+ (HAVE_AS_CFI_SECTIONS): New AC_DEFINE.
+ * config/i386/i386-asm.h: Don't include auto-host.h.
+ (PACKAGE_VERSION, PACKAGE_NAME, PACKAGE_STRING, PACKAGE_TARNAME,
+ PACKAGE_URL): Don't undefine.
+ (USE_GAS_CFI_DIRECTIVES): Don't use nor define this macro, instead
+ guard cfi_startproc only on ifdef __GCC_HAVE_DWARF2_CFI_ASM.
+ (FN_HIDDEN): Change guard from #ifdef HAVE_GAS_HIDDEN to
+ #ifdef AS_HIDDEN_DIRECTIVE, use AS_HIDDEN_DIRECTIVE macro in the
+ definition instead of hardcoded .hidden.
+ * config/i386/cygwin.S: Include i386-asm.h first before .cfi_sections
+ directive. Use #ifdef HAVE_AS_CFI_SECTIONS rather than
+ #ifdef HAVE_GAS_CFI_SECTIONS_DIRECTIVE to guard .cfi_sections.
+ (USE_GAS_CFI_DIRECTIVES): Don't define.
+ * configure: Regenerated.
+ * config.in: Likewise.
+
+2018-02-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/83917
+ * config/i386/i386-asm.h (PACKAGE_VERSION, PACKAGE_NAME,
+ PACKAGE_STRING, PACKAGE_TARNAME, PACKAGE_URL): Undefine between
+ inclusion of auto-target.h and auto-host.h.
+ (USE_GAS_CFI_DIRECTIVES): Define if not defined already based on
+ __GCC_HAVE_DWARF2_CFI_ASM.
+ (cfi_startproc, cfi_endproc, cfi_adjust_cfa_offset,
+ cfi_def_cfa_register, cfi_def_cfa, cfi_register, cfi_offset, cfi_push,
+ cfi_pop): Define.
+ * config/i386/cygwin.S: Don't include auto-host.h here, just
+ define USE_GAS_CFI_DIRECTIVES to 1 or 0 and include i386-asm.h.
+ (cfi_startproc, cfi_endproc, cfi_adjust_cfa_offset,
+ cfi_def_cfa_register, cfi_register, cfi_push, cfi_pop): Remove.
+ * config/i386/resms64fx.h: Add cfi_* directives.
+ * config/i386/resms64x.h: Likewise.
+
+2018-02-20 Max Filippov <jcmvbkbc@gmail.com>
+
+ * config/xtensa/ieee754-df.S (__adddf3_aux): Add
+ .literal_position directive.
+ * config/xtensa/ieee754-sf.S (__addsf3_aux): Likewise.
+
+2018-02-14 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
+
+ PR target/84148
+ * configure: Regenerate.
+
+2018-02-16 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
+
+ PR target/84239
+ * config/i386/shadow-stack-unwind.h (_Unwind_Frames_Extra):
+ Include cetintrin.h not x86intrin.h.
+
+2018-02-08 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
+
+ PR target/84239
+ * config/i386/shadow-stack-unwind.h (_Unwind_Frames_Extra):
+ Use new _get_ssp and _inc_ssp intrinsics.
+
+2018-02-02 Julia Koval <julia.koval@intel.com>
+
+ * config/i386/cpuinfo.h (processor_subtypes): Add INTEL_COREI7_ICELAKE.
+
+2018-01-26 Claudiu Zissulescu <claziss@synopsys.com>
+
+ * config/arc/lib1funcs.S (__udivmodsi4): Use safe version for RF16
+ option.
+ (__divsi3): Use RF16 safe registers.
+ (__modsi3): Likewise.
+
+2018-01-23 Max Filippov <jcmvbkbc@gmail.com>
+
+ * config/xtensa/ieee754-df.S (__addsf3, __subsf3, __mulsf3)
+ (__divsf3): Make NaN return value quiet.
+ * config/xtensa/ieee754-sf.S (__adddf3, __subdf3, __muldf3)
+ (__divdf3): Make NaN return value quiet.
+
+2018-01-22 Sebastian Perta <sebastian.perta@renesas.com>
+
+ * config/rl78/anddi3.S: New assembly file.
+ * config/rl78/t-rl78: Added anddi3.S to LIB2ADD.
+
+2018-01-22 Sebastian Perta <sebastian.perta@renesas.com>
+
+ * config/rl78/umindi3.S: New assembly file.
+ * config/rl78/t-rl78: Added umindi3.S to LIB2ADD.
+
+2018-01-22 Sebastian Perta <sebastian.perta@renesas.com>
+
+ * config/rl78/smindi3.S: New assembly file.
+ * config/rl78/t-rl78: Added smindi3.S to LIB2ADD.
+
+2018-01-22 Sebastian Perta <sebastian.perta@renesas.com>
+
+ * config/rl78/smaxdi3.S: New assembly file.
+ * config/rl78/t-rl78: Added smaxdi3.S to LIB2ADD.
+
+2018-01-22 Sebastian Perta <sebastian.perta@renesas.com>
+
+ * config/rl78/umaxdi3.S: New assembly file.
+ * config/rl78/t-rl78: Added umaxdi3.S to LIB2ADD.
+
+2018-01-21 John David Anglin <danglin@gcc.gnu.org>
+
+ PR lto/83452
+ * config/pa/stublib.c (L_gnu_lto_v1): New stub definition.
+ * config/pa/t-stublib (gnu_lto_v1-stub.o): Add make fragment.
+
+2018-01-13 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * config/aarch64/value-unwind.h (aarch64_vg): New function.
+ (DWARF_LAZY_REGISTER_VALUE): Define.
+ * unwind-dw2.c (_Unwind_GetGR): Use DWARF_LAZY_REGISTER_VALUE
+ to provide a fallback register value.
+
2018-01-08 Michael Meissner <meissner@linux.vnet.ibm.com>
* config/rs6000/quad-float128.h (IBM128_TYPE): Explicitly use