re PR target/92908 (wrong code with -Og -fno-tree-fre -mavx512bw and vector compare)
[gcc.git] / gcc / ChangeLog
index 1c1501eba5b8eadbe9820949aff9bdf9ccdcdf1f..b3d8398ca5f4bd4c1e2ccff519c879e1847d7490 100644 (file)
@@ -1,3 +1,256 @@
+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