+2019-12-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/92908
+ * simplify-rtx.c (simplify_relational_operation): Punt for vector
+ cmp_mode and scalar mode, if simplify_relational_operation returned
+ const_true_rtx.
+ (simplify_const_relational_operation): Change VOID_mode in function
+ comment to VOIDmode.
+
+2019-12-13 Kewen Lin <linkw@gcc.gnu.org>
+
+ * config/rs6000/rs6000.c (adjust_vectorization_cost): New function.
+ (rs6000_add_stmt_cost): Call adjust_vectorization_cost and update
+ stmt_cost.
+
+2019-12-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/92904
+ * config/i386/i386.c (ix86_gimplify_va_arg): If need_intregs and
+ not need_temp, decrease alignment of the read because the GPR save
+ area only guarantees 8-byte alignment.
+
+2019-12-12 Georg-Johann Lay <avr@gjlay.de>
+
+ Add support for some more AVR devices from avrxmega3 family.
+
+ * config/avr/avr-mcus.def (attiny1604, attiny1606, attiny1607)
+ (attiny402, attiny404, attiny406)
+ (attiny804, attiny806, attiny807)
+ (attiny202, attiny204): Add AVR_MCU lines to support them.
+ * doc/avr-mmcu.texi: Regenerate.
+
+2019-12-12 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-prop.c (read_ipcp_transformation_info): Fix undefined ordering
+ of execution of function call parameters.
+
+2019-12-12 Vineet Gupta <vgupta@synopsys.com>
+
+ * config/arc/arc-modes.def (CC_FPUE): New Mode CC_FPUE which
+ helps codegen generate exceptions even for quiet NaN.
+ * config/arc/arc.c (arc_init_reg_tables): Handle New CC_FPUE mode.
+ (get_arc_condition_code): Likewise.
+ (arc_select_cc_mode): LT, LE, GT, GE to use the New CC_FPUE mode.
+ * config/arc/arc.h (REVERSE_CONDITION): Handle New CC_FPUE mode.
+ * config/arc/predicates.md (proper_comparison_operator): Likewise.
+ * config/arc/fpu.md (cmpsf_fpu_trap): New Pattern for CC_FPUE.
+ (cmpdf_fpu_trap): Likewise.
+
+2019-12-12 Claudiu Zissulescu <claziss@synopsys.com>
+
+ * config/arc/arc.md (iterator SDF): Check TARGET_FP_DP_BASE.
+ (cstoredi4): Use TARGET_HARD_FLOAT.
+
+2019-12-11 Jakub Jelinek <jakub@redhat.com>
+
+ * opts.c (default_options_table): Move -ftree-loop-distribute-patterns
+ entry from -O3 or later section to -O2 or later section.
+ * doc/invoke.texi (-ftree-loop-distribute-patterns): Mention the
+ option is enabled by default at -O2+ rather than just at -O3.
+
+ PR target/92723
+ * tree-vect-patterns.c (vect_recog_rotate_pattern): If dt is not
+ vect_internal_def, use oprnd1 as is, without trying to cast it.
+ Formatting fix.
+
+2019-12-11 Martin Sebor <msebor@redhat.com>
+
+ * builtins.c (compute_objsize): Add an argument and set it to offset
+ into destination.
+ * builtins.h (compute_objsize): Add an argument.
+ * tree-object-size.c (addr_object_size): Add an argument and set it
+ to offset into destination.
+ (compute_builtin_object_size): Same.
+ * tree-object-size.h (compute_builtin_object_size): Add an argument.
+ * tree-ssa-strlen.c (get_addr_stridx): Add an argument and set it
+ to offset into destination.
+ (maybe_warn_overflow): New function.
+ (handle_store): Call maybe_warn_overflow to issue warnings.
+
+2019-12-11 Jozef Lawrynowicz <jozef.l@mittosystems.com>
+
+ * config/msp430/msp430.h (STARTFILE_SPEC) [!fexceptions]: Use
+ crtbegin_no_eh.o if building for the C language.
+ [fno-exceptions]: Use crtbegin_no_eh.o if building for any language
+ except C.
+ (ENDFILE_SPEC) [!fexceptions]: Use crtend_no_eh.o if building for
+ the C language.
+ [fno-exceptions]: Use crtend_no_eh.o if building for any language
+ except C.
+ * config/msp430/t-msp430: Add -fno-exceptions multilib.
+ * doc/install.texi: Document --disable-no-exceptions multilib configure
+ option.
+ * doc/sourcebuild.texi: Document exceptions_enabled effective target.
+
+2019-12-11 David Malcolm <dmalcolm@redhat.com>
+
+ * pretty-print.c (pretty_printer::pretty_printer): New copy-ctor.
+ (pretty_printer::clone): New vfunc implementation.
+ * pretty-print.h (format_postprocessor::clone): New pure vfunc
+ decl.
+ (pretty_printer::pretty_printer): New copy-ctor decl.
+ (pretty_printer::clone): New vfunc decl.
+
+2019-12-11 David Malcolm <dmalcolm@redhat.com>
+
+ * function-tests.c (selftest::make_fndecl): Make non-static.
+ * selftest.h (selftest::make_fndecl): New decl.
+
+2019-12-11 Lewis Hyatt <lhyatt@gmail.com>
+
+ PR 91853
+ * pretty-print.c (pp_quoted_string): Avoid hex-escaping valid
+ multibyte input. Fix off-by-one-bug printing the last byte before a
+ hex-escaped output.
+ (pp_character): Don't apply line wrapping in the middle of multibyte
+ characters.
+ (test_utf8): New test.
+ (pretty_print_c_tests): Call the new test.
+
+2019-12-11 Richard Earnshaw <rearnsha@arm.com>
+
+ * config/arm/arm-cpus.in (ALL_SIMD_EXTERNAL): New fgroup.
+ (ALL_SIMD): Use it.
+ (ALL_FPU_EXTERNAL): New fgroup.
+ (ALL_FP): Use it.
+ (cortex-a55, cortex-a75, cortex-a76, cortex-a76ae): Remove redundant
+ +simd from architecture specification.
+ (cortex-a77, neoverse-n1, cortex-a75.cortex-a55): Likewise.
+ * config/arm/arm.c (isa_all_fpubits, fpu_bitlist): Rename to ...
+ (isa_all_fpubits_internal, fpu_bitlist_internal): ... these.
+ (isa_all_fpbits): New bitmap.
+ (arm_option_override): Initialize it.
+ (arm_configure_build_target): If the target isa does not have any
+ FP enabled, do not warn about mismatches in FP-related feature bits.
+
+2019-12-11 Stam Markianos-Wright <stam.markianos-wright@arm.com>
+
+ * real.c (struct arm_bfloat_half_format,
+ encode_arm_bfloat_half, decode_arm_bfloat_half): New.
+ * real.h (arm_bfloat_half_format): New.
+
+2019-12-11 Hongtao Liu <hongtao.liu@intel.com>
+
+ PR target/92865
+ * config/i386/i386-expand.c (ix86_valid_mask_cmp_mode): Enable
+ integer mask cmov when available even with TARGET_XOP.
+
+2019-12-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/92891
+ * builtins.c (gimple_call_alloc_size): Convert size to sizetype
+ before returning it.
+
+2019-12-10 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/92796
+ * lra-int.h (lra_risky_transformations_p): Rename to
+ check_and_force_assignment_correctness_p.
+ * lra-assigns.c: Ditto.
+ (lra_assign): Reset check_and_force_assignment_correctness_p.
+ * lra-constraints.c (lra_risky_transformations_p): Rename to
+ check_and_force_assignment_correctness_p.
+ (lra_constraints): Set up check_and_force_assignment_correctness_p
+ only for the 1st sub-pass.
+ * lra-eliminations.c (process_insn_for_elimination): Set up
+ check_and_force_assignment_correctness_p if the insn chnaged its
+ code.
+
+2019-12-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/92882
+ * regstat.c (regstat_bb_compute_calls_crossed): Don't check
+ INSN_UID against DF_INSN_SIZE or use DF_INSN_INFO_GET unless
+ NONDEBUG_INSN_P.
+
+ PR ipa/92883
+ * ipa-cp.c (propagate_vr_across_jump_function): Pass jvr rather
+ than *jfunc->m_vr to intersect. Formatting fix.
+
+ PR middle-end/92825
+ * cfgexpand.c (add_stack_protection_conflicts): Change return type
+ from void to bool, return true if at least one stack_vars[i].decl
+ is addressable.
+ (record_or_union_type_has_array_p, stack_protect_decl_p): Remove.
+ (expand_used_vars): Don't call stack_protect_decl_p, instead for
+ -fstack-protector-strong set gen_stack_protect_signal to true
+ if add_stack_protection_conflicts returned true. Formatting fixes.
+ * doc/invoke.texi (-fstack-protector-strong): Clarify that optimized
+ out variables or variables not living on the stack don't count.
+ (-fstack-protector): Likewise. Clarify it affects >= 8 byte arrays
+ rather than > 8 byte.
+
+ * ipa-param-manipulation.c
+ (ipa_param_body_adjustments::register_replacement): Fix comment typo
+ - accross -> across.
+ * ipa-sra.c (propagate_used_across_scc_edge, ipa_sra_analysis):
+ Likewise.
+ (param_splitting_across_edge): Fix typo in dump message - accross
+ -> across.
+
+2019-12-10 Jan Hubicka <hubicka@ucw.cz>
+
+ * cgraph.c (cgraph_node::verify_node): Verify tp_first_run.
+ * cgraph.h (cgrpah_node): Turn tp_first_run back to int.
+ * cgraphunit.c (tp_first_run_node_cmp): Do not watch for overflows.
+ (expand_all_functions): First expand ordered section and then
+ unordered.
+ * profile.c (compute_value_histograms): Error on out of range
+ tp_first_runs.
+
+2019-12-10 Jan Hubicka <hubicka@ucw.cz>
+
+ * predict.c (compute_function_frequency): Check for presence of IPA
+ profile.
+
+2019-12-10 Jan Hubicka <hubicka@ucw.cz>
+
+ * varasm.c (default_function_section): Fix confused tests for
+ tp_first_run reordering.
+
+2019-12-10 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_hard_regno_mode_ok): Don't
+ allow SVE modes in GPRs.
+
+2019-12-10 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/iterators.md (vccore): New iterator.
+ * config/aarch64/aarch64-sve.md (vec_series<mode>): Use it instead
+ of vwcore.
+ (*vec_series<mode>_plus): Likewise.
+
+2019-12-10 Frederik Harwath <frederik@codesourcery.com>
+
+ * omp-low.c (scan_omp_for): Use clause location in warning.
+
+2019-12-10 Richard Sandiford <richard.sandiford@arm.com>
+
+ * dwarf2out.c (loc_descriptor): Punt for MODE_VECTOR_BOOL.
+ (add_const_value_attribute): Likewise.
+
+2019-12-10 Richard Sandiford <richard.sandiford@arm.com>
+
+ * tree-vect-loop.c (vect_create_epilog_for_reduction): When
+ handling direct_slp_reduc, allow the PHI arguments to have
+ a different type from the vector elements.
+
+2019-12-10 Richard Sandiford <richard.sandiford@arm.com>
+
+ * tree-vect-stmts.c (vectorizable_condition): Record the loop
+ masks required for extract-last reductions.
+
+2019-12-10 Richard Sandiford <richard.sandiford@arm.com>
+
+ * tree-vect-stmts.c (vect_finish_replace_stmt): Always use the
+ original scalar statement rather than a pattern statement.
+ (vectorizable_condition): Likewise, in the handling of extract-last
+ reductions.
+
+2019-12-10 Richard Sandiford <richard.sandiford@arm.com>
+
+ * tree-vect-loop.c (vectorizable_reduction): Don't use
+ EXTRACT_LAST_REDUCTION for chained reductions.
+
+2019-12-10 Richard Sandiford <richard.sandiford@arm.com>
+
+ * ipa-utils.h (get_odr_name_for_type): Check for a TYPE_DECL.
+ * ipa-devirt.c (warn_types_mismatch): Don't call xstrdup for the
+ second demangled name.
+
+2019-12-10 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/i386.c (IX86_LEA_PRIORITY): Fix comment typos.
+
+2019-12-10 Martin Liska <mliska@suse.cz>
+
+ PR tree-optimization/92862
+ * predict.c (predict_paths_leading_to_edge): Fix typo from e to e2.
+ * tree-ssa-loop-niter.c (loop_only_exit_p): Return false
+ instead of true;
+
+2019-12-09 David Malcolm <dmalcolm@redhat.com>
+
+ * gcc-rich-location.c
+ (maybe_range_label_for_tree_type_mismatch::get_text): Replace
+ label_text ctor call with label_text::borrow.
+ * gcc-rich-location.h (text_range_label::get_text): Replace
+ label_text ctor called with false with label_text::borrow.
+
+2019-12-09 David Malcolm <dmalcolm@redhat.com>
+
+ * diagnostic-show-locus.c (diagnostic_show_locus): Remove initial
+ newline.
+ (selftest::test_diagnostic_show_locus_unknown_location): Remove
+ initial newline from expected outputs.
+ (selftest::test_one_liner_simple_caret): Likewise.
+ (selftest::test_one_liner_caret_and_range): Likewise.
+ (selftest::test_one_liner_multiple_carets_and_ranges): Likewise.
+ (selftest::test_one_liner_fixit_insert_before): Likewise.
+ (selftest::test_one_liner_fixit_insert_after): Likewise.
+ (selftest::test_one_liner_fixit_remove): Likewise.
+ (selftest::test_one_liner_fixit_replace): Likewise.
+ (selftest::test_one_liner_fixit_replace_non_equal_range):
+ Likewise.
+ (selftest::test_one_liner_fixit_replace_equal_secondary_range):
+ Likewise.
+ (selftest::test_one_liner_fixit_validation_adhoc_locations):
+ Likewise.
+ (selftest::test_one_liner_many_fixits_1): Likewise.
+ (selftest::test_one_liner_many_fixits_2): Likewise.
+ (selftest::test_one_liner_labels): Likewise.
+ (selftest::test_one_liner_simple_caret_utf8): Likewise.
+ (selftest::test_one_liner_caret_and_range_utf8): Likewise.
+ (selftest::test_one_liner_multiple_carets_and_ranges_utf8):
+ Likewise.
+ (selftest::test_one_liner_fixit_insert_before_utf8): Likewise.
+ (selftest::test_one_liner_fixit_insert_after_utf8): Likewise.
+ (selftest::test_one_liner_fixit_remove_utf8): Likewise.
+ (selftest::test_one_liner_fixit_replace_utf8): Likewise.
+ (selftest::test_one_liner_fixit_replace_non_equal_range_utf8):
+ Likewise.
+ (selftest::test_one_liner_fixit_replace_equal_secondary_range_utf8):
+ Likewise.
+ (selftest::test_one_liner_fixit_validation_adhoc_locations_utf8):
+ Likewise.
+ (selftest::test_one_liner_many_fixits_1_utf8): Likewise.
+ (selftest::test_one_liner_many_fixits_2_utf8): Likewise.
+ (selftest::test_one_liner_labels_utf8): Likewise.
+ (selftest::test_add_location_if_nearby): Likewise.
+ (selftest::test_diagnostic_show_locus_fixit_lines): Likewise.
+ (selftest::test_overlapped_fixit_printing): Likewise.
+ (selftest::test_overlapped_fixit_printing_utf8): Likewise.
+ (selftest::test_overlapped_fixit_printing_2): Likewise.
+ (selftest::test_fixit_insert_containing_newline): Likewise.
+ (selftest::test_fixit_insert_containing_newline_2): Likewise.
+ (selftest::test_fixit_replace_containing_newline): Likewise.
+ (selftest::test_fixit_deletion_affecting_newline): Likewise.
+ (selftest::test_line_numbers_multiline_range): Likewise.
+ * diagnostic.c (default_diagnostic_finalizer): Add pp_newline call
+ before call to diagnostic_show_locus.
+ (diagnostic_append_note): Likewise.
+
+2019-12-09 Martin Sebor <msebor@redhat.com>
+
+ PR middle-end/92761
+ PR middle-end/92762
+ * hash-map-tests.c (test_map_of_type_with_ctor_and_dtor): Tighten
+ up tests.
+ * hash-table.h (hash_table::expand): Use placement new to copy
+ construct objects in uninitialized storage.
+ (hash_table::empty_slow): Avoid invoking copy assignment on
+ uninitialized objects.
+
+2019-12-09 Lewis Hyatt <lhyatt@gmail.com>
+
+ PR preprocessor/49973
+ * input.c (location_compute_display_column): New function to help with
+ multibyte awareness in diagnostics.
+ (test_cpp_utf8): New self-test.
+ (input_c_tests): Call the new test.
+ * input.h (location_compute_display_column): Declare.
+ * diagnostic-show-locus.c: Pervasive changes to add multibyte awareness
+ to all classes and functions.
+ (enum column_unit): New enum.
+ (class exploc_with_display_col): New class.
+ (class layout_point): Convert m_column member to array m_columns[2].
+ (layout_range::contains_point): Add col_unit argument.
+ (test_layout_range_for_single_point): Pass new argument.
+ (test_layout_range_for_single_line): Likewise.
+ (test_layout_range_for_multiple_lines): Likewise.
+ (line_bounds::convert_to_display_cols): New function.
+ (layout::get_state_at_point): Add col_unit argument.
+ (make_range): Use empty filename rather than dummy filename.
+ (get_line_width_without_trailing_whitespace): Rename to...
+ (get_line_bytes_without_trailing_whitespace): ...this.
+ (test_get_line_width_without_trailing_whitespace): Rename to...
+ (test_get_line_bytes_without_trailing_whitespace): ...this.
+ (class layout): m_exploc changed to exploc_with_display_col from
+ plain expanded_location.
+ (layout::get_linenum_width): New accessor member function.
+ (layout::get_x_offset_display): Likewise.
+ (layout::calculate_linenum_width): New subroutine for the constuctor.
+ (layout::calculate_x_offset_display): Likewise.
+ (layout::layout): Use the new subroutines. Add multibyte awareness.
+ (layout::print_source_line): Add multibyte awareness.
+ (layout::print_line): Likewise.
+ (layout::print_annotation_line): Likewise.
+ (line_label::line_label): Likewise.
+ (layout::print_any_labels): Likewise.
+ (layout::annotation_line_showed_range_p): Likewise.
+ (get_printed_columns): Likewise.
+ (class line_label): Rename m_length to m_display_width.
+ (get_affected_columns): Rename to...
+ (get_affected_range): ...this; add col_unit argument and multibyte
+ awareness.
+ (class correction): Add m_affected_bytes and m_display_cols
+ members. Rename m_len to m_byte_length for clarity. Add multibyte
+ awareness throughout.
+ (correction::insertion_p): Add multibyte awareness.
+ (correction::compute_display_cols): New function.
+ (correction::ensure_terminated): Use new member name m_byte_length.
+ (line_corrections::add_hint): Add multibyte awareness.
+ (layout::print_trailing_fixits): Likewise.
+ (layout::get_x_bound_for_row): Likewise.
+ (test_one_liner_simple_caret_utf8): New self-test analogous to the one
+ with _utf8 suffix removed, testing multibyte awareness.
+ (test_one_liner_caret_and_range_utf8): Likewise.
+ (test_one_liner_multiple_carets_and_ranges_utf8): Likewise.
+ (test_one_liner_fixit_insert_before_utf8): Likewise.
+ (test_one_liner_fixit_insert_after_utf8): Likewise.
+ (test_one_liner_fixit_remove_utf8): Likewise.
+ (test_one_liner_fixit_replace_utf8): Likewise.
+ (test_one_liner_fixit_replace_non_equal_range_utf8): Likewise.
+ (test_one_liner_fixit_replace_equal_secondary_range_utf8): Likewise.
+ (test_one_liner_fixit_validation_adhoc_locations_utf8): Likewise.
+ (test_one_liner_many_fixits_1_utf8): Likewise.
+ (test_one_liner_many_fixits_2_utf8): Likewise.
+ (test_one_liner_labels_utf8): Likewise.
+ (test_diagnostic_show_locus_one_liner_utf8): Likewise.
+ (test_overlapped_fixit_printing_utf8): Likewise.
+ (test_overlapped_fixit_printing): Adapt for changes to
+ get_affected_columns, get_printed_columns and class corrections.
+ (test_overlapped_fixit_printing_2): Likewise.
+ (test_linenum_sep): New constant.
+ (test_left_margin): Likewise.
+ (test_offset_impl): Helper function for new test.
+ (test_layout_x_offset_display_utf8): New test.
+ (diagnostic_show_locus_c_tests): Call new tests.
+
+2019-12-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree.c (build_array_type_1): Add SET_CANONICAL parameter and compute
+ TYPE_CANONICAL from the element type only if it is true. Remove a few
+ obsolete lines and adjust recursive call.
+ (fld_process_array_type): Adjust call to build_array_type_1.
+ (build_array_type): Likewise.
+ (build_nonshared_array_type): Likewise.
+
+2019-12-09 Andrew Stubbs <ams@codesourcery.com>
+
+ * config/gcn/gcn-valu.md (gather<mode>_insn_1offset<exec>): Change
+ %s to %o in asm output.
+ (gather<mode>_insn_2offsets<exec>): Likewise.
+
2019-12-09 Richard Earnshaw <rearnsha@arm.com>
* config/arm/t-multilib: Use arm->thumb multilib reuse rules