]> gcc.gnu.org Git - gcc.git/blobdiff - gcc/ChangeLog
tree-optimization/93868 copy SLP tree before re-arranging stmts
[gcc.git] / gcc / ChangeLog
index e6eb6ab4c21f76e72fb934fd8c6187bb10d2e3e9..dba986dfdff54f2db45b83955a86a7e82be98613 100644 (file)
@@ -1,3 +1,479 @@
+2020-02-25  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/93868
+       * tree-vect-slp.c (slp_copy_subtree): New function.
+       (vect_attempt_slp_rearrange_stmts): Copy the SLP tree before
+       re-arranging stmts in it.
+
+2020-02-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/93874
+       * passes.c (pass_manager::dump_passes): Create a cgraph node for the
+       dummy function and remove it at the end.
+
+       PR translation/93864
+       * config/lm32/lm32.c (lm32_setup_incoming_varargs): Fix comment typo
+       paramter -> parameter.
+       * config/aarch64/aarch64.c (aarch64_is_extend_from_extract): Likewise.
+       * ipa-prop.h (struct ipa_agg_replacement_value): Likewise.
+
+2020-02-24  Roman Zhuykov  <zhroma@ispras.ru>
+
+       * doc/install.texi (--enable-checking): Properly document current
+       behavior.
+       (--enable-stage1-checking): Minor clarification about bootstrap.
+
+2020-02-24  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93032
+       * doc/invoke.texi (-Wnanalyzer-tainted-array-index): Note that
+       -fanalyzer-checker=taint is also required.
+       (-fanalyzer-checker=): Note that providing this option enables the
+       given checker, and doing so may be required for checkers that are
+       disabled by default.
+
+2020-02-24  David Malcolm  <dmalcolm@redhat.com>
+
+       * doc/invoke.texi (-fanalyzer-verbosity=): "2" only shows
+       significant control flow events; add a "3" which shows all
+       control flow events; the old "3" becomes "4".
+
+2020-02-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/93582
+       * tree-ssa-sccvn.c (vn_walk_cb_data::push_partial_def): Consider
+       pd.offset and pd.size to be counted in bits rather than bytes, add
+       support for maxsizei that is not a multiple of BITS_PER_UNIT and
+       handle bitfield stores and loads.
+       (vn_reference_lookup_3): Don't call ranges_known_overlap_p with
+       uncomparable quantities - bytes vs. bits.  Allow push_partial_def
+       on offsets/sizes that aren't multiple of BITS_PER_UNIT and adjust
+       pd.offset/pd.size to be counted in bits rather than bytes.
+       Formatting fix.  Rename shadowed len variable to buflen.
+
+2020-02-24  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+           Kugan Vivekandarajah  <kugan.vivekanandarajah@linaro.org>
+
+       PR driver/47785
+       * gcc.c (putenv_COLLECT_AS_OPTIONS): New function.
+       (driver::main): Call putenv_COLLECT_AS_OPTIONS.
+       * opts-common.c (parse_options_from_collect_gcc_options): New function.
+       (prepend_xassembler_to_collect_as_options): Likewise.
+       * opts.h (parse_options_from_collect_gcc_options): Declare prototype.
+       (prepend_xassembler_to_collect_as_options): Likewise.
+       * lto-opts.c (lto_write_options): Stream assembler options
+       in COLLECT_AS_OPTIONS.
+       * lto-wrapper.c (xassembler_options_error): New static variable.
+       (get_options_from_collect_gcc_options): Move parsing options code to
+       parse_options_from_collect_gcc_options and call it.
+       (merge_and_complain): Validate -Xassembler options.
+       (append_compiler_options): Handle OPT_Xassembler.
+       (run_gcc): Append command line -Xassembler options to
+       collect_gcc_options.
+       * doc/invoke.texi: Add documentation about using Xassembler
+       options with LTO.
+
+2020-02-24  Kito Cheng  <kito.cheng@sifive.com>
+
+       * config/riscv/riscv.c (riscv_emit_float_compare): Change the code gen
+       for LTGT.
+       (riscv_rtx_costs): Update cost model for LTGT.
+
+2020-02-23  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/93564
+       * ira-color.c (struct update_cost_queue_elem): New member start.
+       (queue_update_cost, get_next_update_cost): Add new arg start.
+       (allocnos_conflict_p): New function.
+       (update_costs_from_allocno): Add new arg conflict_cost_update_p.
+       Add checking conflicts with allocnos_conflict_p.
+       (update_costs_from_prefs, restore_costs_from_copies): Adjust
+       update_costs_from_allocno calls.
+       (update_conflict_hard_regno_costs): Add checking conflicts with
+       allocnos_conflict_p.  Adjust calls of queue_update_cost and
+       get_next_update_cost.
+       (assign_hard_reg): Adjust calls of queue_update_cost.  Add
+       debugging print.
+       (bucket_allocno_compare_func): Restore previous version.
+
+2020-02-21  John David Anglin  <danglin@gcc.gnu.org>
+
+       * gcc/config/pa/pa.c (pa_function_value): Fix check for word and
+       double-word size when handling aggregate return values.
+       * gcc/config/pa/som.h (ASM_DECLARE_FUNCTION_NAME): Fix to indicate
+       that homogeneous SFmode and DFmode aggregates are passed and returned
+       in general registers.
+
+2020-02-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR translation/93759
+       * opts.c (print_filtered_help): Translate help before appending
+       messages to it rather than after that.
+
+2020-02-19  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR rtl-optimization/PR92989
+       * lra-lives.c (process_bb_lives): Restore the original order
+       of the bb liveness update.  Call make_hard_regno_dead for each
+       register clobbered at the start of an EH receiver.
+
+2020-02-18  Feng Xue  <fxue@os.amperecomputing.com>
+
+       PR ipa/93763
+       * ipa-cp.c (self_recursively_generated_p): Mark self-dependent value as
+       self-recursively generated.
+
+2020-02-21  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR target/93860
+       * config/darwin-c.c (pop_field_alignment): Adjust quoting of
+       error string.
+
+2020-02-21  Mihail Ionescu  <mihail.ionescu@arm.com>
+
+       * doc/sourcebuild.texi (arm_v8_1m_mve_ok):
+       Document new target supports option.
+
+2020-02-21  Dennis Zhang  <dennis.zhang@arm.com>
+
+       * config/arm/arm_neon.h (vmmlaq_s32, vmmlaq_u32, vusmmlaq_s32): New.
+       * config/arm/arm_neon_builtins.def (smmla, ummla, usmmla): New.
+       * config/arm/iterators.md (MATMUL): New iterator.
+       (sup): Add UNSPEC_MATMUL_S, UNSPEC_MATMUL_U, and UNSPEC_MATMUL_US.
+       (mmla_sfx): New attribute.
+       * config/arm/neon.md (neon_<sup>mmlav16qi): New.
+       * config/arm/unspecs.md (UNSPEC_MATMUL_S, UNSPEC_MATMUL_U): New.
+       (UNSPEC_MATMUL_US): New.
+
+2020-02-21  Mihail-Calin Ionescu  <mihail.ionescu@arm.com>
+
+       * config/arm/arm.md: Prevent scalar shifts from being used when big
+       endian is enabled.
+
+2020-02-21  Jan Hubicka  <hubicka@ucw.cz>
+           Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/93586
+       * tree-ssa-alias.c (nonoverlapping_array_refs_p): Finish array walk
+       after mismatched array refs; do not sure type size information to
+       recover from unmatched referneces with !flag_strict_aliasing_p.
+
+2020-02-21  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn-valu.md (gather_load<mode>): Rename to ...
+       (gather_load<mode>v64si): ... this and set operand 2 to V64SI.
+       (scatter_store<mode>): Rename to ...
+       (scatter_store<mode>v64si): ... this and set operand 1 to V64SI.
+       (scatter<mode>_exec): Delete. Move contents ...
+       (mask_scatter_store<mode>): ... here, and rename that to ...
+       (mask_gather_load<mode>v64si): ... this. Set operand 2 to V64SI.
+       Remove mode conversion.
+       (mask_gather_load<mode>): Rename to ...
+       (mask_scatter_store<mode>v64si): ... this. Set operand 1 to V64SI.
+       Remove mode conversion.
+       * config/gcn/gcn.c (gcn_expand_scaled_offsets): Remove mode conversion.
+
+2020-02-21  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/93845
+       * tree-sra.c (verify_sra_access_forest): Only test access size of
+       scalar types.
+
+2020-02-21  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn.c (gcn_hard_regno_mode_ok): Align VGPR pairs.
+       * config/gcn/gcn-valu.md (addv64di3): Remove early-clobber.
+       (addv64di3_exec): Likewise.
+       (subv64di3): Likewise.
+       (subv64di3_exec): Likewise.
+       (addv64di3_zext): Likewise.
+       (addv64di3_zext_exec): Likewise.
+       (addv64di3_zext_dup): Likewise.
+       (addv64di3_zext_dup_exec): Likewise.
+       (addv64di3_zext_dup2): Likewise.
+       (addv64di3_zext_dup2_exec): Likewise.
+       (addv64di3_sext_dup2): Likewise.
+       (addv64di3_sext_dup2_exec): Likewise.
+       (<expander>v64di3): Likewise.
+       (<expander>v64di3_exec): Likewise.
+       (*<reduc_op>_dpp_shr_v64di): Likewise.
+       (*plus_carry_dpp_shr_v64di): Likewise.
+       * config/gcn/gcn.md (adddi3): Likewise.
+       (addptrdi3): Likewise.
+       (<expander>di3): Likewise.
+
+2020-02-21  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn-valu.md (vec_seriesv64di): Use gen_vec_duplicatev64di.
+
+2020-02-21  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_emit_approx_sqrt): Add SVE
+       support.  Use aarch64_emit_mult instead of emitting multiplication
+       instructions directly.
+       * config/aarch64/aarch64-sve.md (sqrt<mode>2, rsqrt<mode>2)
+       (@aarch64_rsqrte<mode>, @aarch64_rsqrts<mode>): New expanders.
+
+2020-02-21  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_emit_mult): New function.
+       (aarch64_emit_approx_div): Add SVE support.  Use aarch64_emit_mult
+       instead of emitting multiplication instructions directly.
+       * config/aarch64/iterators.md (SVE_COND_FP_BINARY_OPTAB): New iterator.
+       * config/aarch64/aarch64-sve.md (div<mode>3, @aarch64_frecpe<mode>)
+       (@aarch64_frecps<mode>): New expanders.
+
+2020-02-21  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64-protos.h (AARCH64_APPROX_MODE): Operate
+       on and produce uint64_ts rather than ints.
+       (AARCH64_APPROX_NONE, AARCH64_APPROX_ALL): Change to uint64_ts.
+       (cpu_approx_modes): Change the fields from unsigned int to uint64_t.
+
+2020-02-21  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_emit_approx_sqrt): Don't create
+       an unused xmsk register when handling approximate rsqrt.
+
+2020-02-21  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_emit_approx_sqrt): Fix inverted
+       flag_finite_math_only condition.
+
+2020-02-20  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/93828
+       * config/i386/mmx.md (*vec_extractv2sf_1): Match source operand
+       to destination operand for shufps alternative.
+       (*vec_extractv2si_1): Ditto.
+
+2020-02-20  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR target/93658
+       * config/rs6000/rs6000.c (rs6000_legitimate_address_p): Handle VSX
+       vector modes.
+
+2020-02-20  Martin Liska  <mliska@suse.cz>
+
+       PR translation/93831
+       * config/darwin.c (darwin_override_options): Change 64b to 64-bit mode.
+
+2020-02-20  Martin Liska  <mliska@suse.cz>
+
+       PR translation/93830
+       * common/config/avr/avr-common.c: Remote trailing "|".
+
+2020-02-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       * collect2.c (maybe_run_lto_and_relink): Fix typo in
+       comment.
+
+2020-02-19  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/93767
+       * tree-vect-data-refs.c (vect_compile_time_alias): Remove the
+       access-size bias from the offset calculations for negative strides.
+
+2020-02-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       * collect2.c (c_file, o_file): Make const again.
+       (ldout,lderrout, dump_ld_file): Remove.
+       (tool_cleanup): Avoid calling not signal-safe functions.
+       (maybe_run_lto_and_relink): Avoid possible signal handler
+       access to unintialzed memory (lto_o_files).
+       (main): Avoid leaking temp files in $TMPDIR.
+       Initialize c_file/o_file with concat, which avoids exposing
+       uninitialized memory to signal handler, which calls unlink(!).
+       Avoid calling maybe_unlink when the main function returns,
+       since the atexit handler is already doing this.
+       * collect2.h (dump_ld_file, ldout, lderrout): Remove.
+
+2020-02-19  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/93776
+       * tree-sra.c (create_access): Do not create zero size accesses.
+       (get_access_for_expr): Do not search for zero sized accesses.
+
+2020-02-19  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/93667
+       * tree-sra.c (scalarizable_type_p): Return false if record fields
+       do not follow wach other.
+
+2020-01-21  Kito Cheng  <kito.cheng@sifive.com>
+
+       * config/riscv/riscv.c (riscv_output_move) Using fmv.x.w/fmv.w.x
+       rather than fmv.x.s/fmv.s.x.
+
+2020-02-18  James Greenhalgh  <james.greenhalgh@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def
+       (intrinsic_vec_smult_lo_): New.
+       (intrinsic_vec_umult_lo_): Likewise.
+       (vec_widen_smult_hi_): Likewise.
+       (vec_widen_umult_hi_): Likewise.
+       * config/aarch64/aarch64-simd.md
+       (aarch64_intrinsic_vec_<su>mult_lo_<mode>): New.
+       * config/aarch64/arm_neon.h (vmull_high_s8): Use intrinsics.
+       (vmull_high_s16): Likewise.
+       (vmull_high_s32): Likewise.
+       (vmull_high_u8): Likewise.
+       (vmull_high_u16): Likewise.
+       (vmull_high_u32): Likewise.
+       (vmull_s8): Likewise.
+       (vmull_s16): Likewise.
+       (vmull_s32): Likewise.
+       (vmull_u8): Likewise.
+       (vmull_u16): Likewise.
+       (vmull_u32): Likewise.
+
+2020-02-18  Martin Liska  <mliska@suse.cz>
+
+       * value-prof.c (stream_out_histogram_value): Restore LTO PGO
+       bootstrap by missing removal of invalid sanity check.
+
+2020-02-18  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/92518
+       * ipa-icf-gimple.c (func_checker::compare_gimple_assign):
+       Always compare LHS of gimple_assign.
+
+2020-02-18  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/93583
+       * cgraph.c (cgraph_node::verify_node): Verify MALLOC attribute
+       and return type of functions.
+       * ipa-param-manipulation.c (ipa_param_adjustments::adjust_decl):
+       Drop MALLOC attribute for void functions.
+       * ipa-pure-const.c (funct_state_summary_t::duplicate): Drop
+       malloc_state for a new VOID clone.
+
+2020-02-18  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/92924
+       * common.opt: Add -fprofile-reproducibility.
+       * doc/invoke.texi: Document it.
+       * value-prof.c (dump_histogram_value):
+       Document and support behavior for counters[0]
+       being a negative value.
+       (get_nth_most_common_value): Handle negative
+       counters[0] in respect to flag_profile_reproducible.
+
+2020-02-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR ipa/93797
+       * cgraph.c (verify_speculative_call): Use speculative_id instead of
+       speculative_uid in messages.  Remove trailing whitespace from error
+       message.  Use num_speculative_call_targets instead of
+       num_speculative_targets in a message.
+       (cgraph_node::verify_node): Use call_stmt instead of cal_stmt in
+       edge messages and stmt instead of cal_stmt in reference message.
+
+       PR tree-optimization/93780
+       * tree-ssa.c (non_rewritable_lvalue_p): Check valid_vector_subparts_p
+       before calling build_vector_type.
+       (execute_update_addresses_taken): Likewise.
+
+       PR driver/93796
+       * params.opt (-param=ipa-max-switch-predicate-bounds=): Fix help
+       typo, functoin -> function.
+       * tree.c (free_lang_data_in_decl): Fix comment typo,
+       functoin -> function.
+       * ipa-visibility.c (cgraph_externally_visible_p): Likewise.
+
+2020-02-17  David Malcolm  <dmalcolm@redhat.com>
+
+       * diagnostic.c (print_any_cwe): Don't call get_cwe_url if URLs
+       won't be printed.
+       (print_option_information): Don't call get_option_url if URLs
+       won't be printed.
+
+2020-02-17  Alexandre Oliva  <oliva@adacore.com>
+
+       * tree-emutls.c (new_emutls_decl, emutls_common_1): Complete
+       handling of register_common-less targets.
+
+2020-02-17  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/93760
+       * ipa-devirt.c (odr_types_equivalent_p): Fix grammar.
+
+2020-02-17  Martin Liska  <mliska@suse.cz>
+
+       PR translation/93755
+       * config/rs6000/rs6000.c (rs6000_option_override_internal):
+       Fix double quotes.
+
+2020-02-17  Martin Liska  <mliska@suse.cz>
+
+       PR other/93756
+       * config/rx/elf.opt: Fix typo.
+
+2020-02-17  Richard Biener  <rguenther@suse.de>
+
+       PR c/86134
+       * opts-global.c (print_ignored_options): Use inform and
+       amend message.
+
+2020-02-17  Jiufu Guo  <guojiufu@linux.ibm.com>
+
+       PR target/93047
+       * config/rs6000/rs6000.md (untyped_call): Add emit_clobber.
+
+2020-02-16  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/93743
+       * config/i386/i386.md (atan2xf3): Swap operands 1 and 2.
+       (atan2<mode>3): Update operand order in the call to gen_atan2xf3.
+
+2020-02-15  Jason Merrill  <jason@redhat.com>
+
+       * doc/invoke.texi (C Dialect Options): Add -std=c++20.
+
+2020-02-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/93744
+       * match.pd (((m1 >/</>=/<= m2) * d -> (m1 >/</>=/<= m2) ? d : 0,
+       A - ((A - B) & -(C cmp D)) -> (C cmp D) ? B : A,
+       A + ((B - A) & -(C cmp D)) -> (C cmp D) ? B : A): For GENERIC, make
+       sure @2 in the first and @1 in the other patterns has no side-effects.
+
+2020-02-15  David Malcolm  <dmalcolm@redhat.com>
+           Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       PR 87488
+       PR other/93168
+       * config.in (DIAGNOSTICS_URLS_DEFAULT): New define.
+       * configure.ac (--with-diagnostics-urls): New configuration
+       option, based on --with-diagnostics-color.
+       (DIAGNOSTICS_URLS_DEFAULT): New define.
+       * config.h: Regenerate.
+       * configure: Regenerate.
+       * diagnostic.c (diagnostic_urls_init): Handle -1 for
+       DIAGNOSTICS_URLS_DEFAULT from configure-time
+       --with-diagnostics-urls=auto-if-env by querying for a GCC_URLS
+       and TERM_URLS environment variable.
+       * diagnostic-url.h (diagnostic_url_format): New enum type.
+       (diagnostic_urls_enabled_p): rename to...
+       (determine_url_format): ... this, and change return type.
+       * diagnostic-color.c (parse_env_vars_for_urls): New helper function.
+       (auto_enable_urls): Disable URLs on xfce4-terminal, gnome-terminal,
+       the linux console, and mingw.
+       (diagnostic_urls_enabled_p): rename to...
+       (determine_url_format): ... this, and adjust.
+       * pretty-print.h (pretty_printer::show_urls): rename to...
+       (pretty_printer::url_format): ... this, and change to enum.
+       * pretty-print.c (pretty_printer::pretty_printer,
+       pp_begin_url, pp_end_url, test_urls): Adjust.
+       * doc/install.texi (--with-diagnostics-urls): Document the new
+       configuration option.
+       (--with-diagnostics-color): Document the existing interaction
+       with GCC_COLORS better.
+       * doc/invoke.texi (-fdiagnostics-urls): Add GCC_URLS and TERM_URLS
+       vindex reference.  Update description of defaults based on the above.
+       (-fdiagnostics-color): Update description of how -fdiagnostics-color
+       interacts with GCC_COLORS.
+
 2020-02-14  Eric Botcazou  <ebotcazou@adacore.com>
 
        PR target/93704
This page took 0.039925 seconds and 5 git commands to generate.