+2021-01-19 Martin Sebor <msebor@redhat.com>
+
+ PR middle-end/98664
+ * tree-ssa-live.c (remove_unused_scope_block_p): Keep scopes for
+ all functions, even if they're not declared artificial or inline.
+ * tree.c (tree_inlined_location): Use macro expansion location
+ only if scope traversal fails to expose one.
+
+2021-01-19 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR rtl-optimization/92294
+ * alias.c (compare_base_symbol_refs): Take an extra parameter
+ and add the distance between two symbols to it. Enshrine in
+ comments that -1 means "either 0 or 1, but we can't tell
+ which at compile time".
+ (memrefs_conflict_p): Update call accordingly.
+ (rtx_equal_for_memref_p): Likewise. Take the distance between symbols
+ into account.
+
+2021-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64-simd-builtins.def (sqshl, uqshl,
+ sqrshl, uqrshl, sqadd, uqadd, sqsub, uqsub, suqadd, usqadd, sqmovn,
+ uqmovn, sqxtn2, uqxtn2, sqabs, sqneg, sqdmlal, sqdmlsl, sqdmlal_lane,
+ sqdmlsl_lane, sqdmlal_laneq, sqdmlsl_laneq, sqdmlal_n, sqdmlsl_n,
+ sqdmlal2, sqdmlsl2, sqdmlal2_lane, sqdmlsl2_lane, sqdmlal2_laneq,
+ sqdmlsl2_laneq, sqdmlal2_n, sqdmlsl2_n, sqdmull, sqdmull_lane,
+ sqdmull_laneq, sqdmull_n, sqdmull2, sqdmull2_lane, sqdmull2_laneq,
+ sqdmull2_n, sqdmulh, sqrdmulh, sqdmulh_lane, sqdmulh_laneq,
+ sqrdmulh_lane, sqrdmulh_laneq, sqshrun_n, sqrshrun_n, sqshrn_n,
+ uqshrn_n, sqrshrn_n, uqrshrn_n, sqshlu_n, sqshl_n, uqshl_n, sqrdmlah,
+ sqrdmlsh, sqrdmlah_lane, sqrdmlsh_lane, sqrdmlah_laneq, sqrdmlsh_laneq,
+ sqmovun): Use NONE flags.
+
+2021-01-19 Richard Biener <rguenther@suse.de>
+
+ PR ipa/98330
+ * ipa-modref.c (analyze_stmt): Only record a summary for a
+ direct call.
+
+2021-01-19 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/98638
+ * tree-ssanames.c (fini_ssanames): Zero SSA_NAME_DEF_STMT.
+
+2021-01-19 Daniel Hellstrom <daniel@gaisler.com>
+
+ * config/sparc/rtemself.h (TARGET_OS_CPP_BUILTINS): Add
+ built-in define __FIX_LEON3FT_TN0018.
+
+2021-01-19 Richard Biener <rguenther@suse.de>
+
+ PR ipa/97673
+ * tree-inline.c (tree_function_versioning): Set input_location
+ to UNKNOWN_LOCATION throughout the function.
+
+2021-01-19 Tobias Burnus <tobias@codesourcery.com>
+
+ PR fortran/98476
+ * omp-low.c (lower_omp_target): Handle nonpointer is_device_ptr.
+
+2021-01-19 Martin Jambor <mjambor@suse.cz>
+
+ PR ipa/98690
+ * ipa-sra.c (ssa_name_only_returned_p): New parameter fun. Check
+ whether non-call exceptions allow removal of a statement.
+ (isra_analyze_call): Pass the appropriate function to
+ ssa_name_only_returned_p.
+
+2021-01-19 Geng Qi <gengqi@linux.alibaba.com>
+
+ * config/riscv/arch-canonicalize (longext_sort): New function for
+ sorting 'multi-letter'.
+ * config/riscv/multilib-generator: Adjusting the loop of 'alt' in
+ 'alts'. The 'arch' may not be the first of 'alts'.
+ (_expand_combination): Add underline for the 'ext' without '*'.
+ This is because, a single-letter extension can always be treated well
+ with a '_' prefix, but it cannot be separated out if it is appended
+ to a multi-letter.
+
+2021-01-18 Vladimir N. Makarov <vmakarov@redhat.com>
+
+ PR target/97847
+ * ira.c (ira): Skip abnormal critical edge splitting.
+
+2021-01-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/98727
+ * tree-ssa-math-opts.c (match_arith_overflow): Fix up computation of
+ second .MUL_OVERFLOW operand for signed multiplication with overflow
+ checking if the second operand of multiplication is not constant.
+
+2021-01-18 David Edelsohn <dje.gcc@gmail.com>
+
+ * doc/invoke.texi (-gdwarf): TPF defaults to version 2 and AIX
+ defaults to version 4.
+
+2021-01-18 David Malcolm <dmalcolm@redhat.com>
+
+ * attribs.h (fndecl_dealloc_argno): New decl.
+ * builtins.c (call_dealloc_argno): Split out second half of
+ function into...
+ (fndecl_dealloc_argno): New.
+ * doc/extend.texi (Common Function Attributes): Document the
+ interaction between the analyzer and the malloc attribute.
+ * doc/invoke.texi (Static Analyzer Options): Likewise.
+
+2021-01-17 David Edelsohn <dje.gcc@gmail.com>
+
+ * config/rs6000/aix71.h (SUBTARGET_OVERRIDE_OPTIONS): Override
+ dwarf_version to 4.
+ * config/rs6000/aix72.h (SUBTARGET_OVERRIDE_OPTIONS): Same.
+
+2021-01-17 Martin Jambor <mjambor@suse.cz>
+
+ PR ipa/98222
+ * cgraph.c (clone_of_p): Check also former_clone_of as we climb
+ the clone tree.
+
+2021-01-17 Mark Wielaard <mark@klomp.org>
+
+ * common.opt (gdwarf-): Init(5).
+ * doc/invoke.texi (-gdwarf): Document default to 5.
+
+2021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
+
+ * builtin-types.def
+ (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT): Rename
+ to...
+ (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT_PTR):
+ ...this. Add extra argument.
+ * gimplify.c (omp_default_clause): Ensure that event handle is
+ firstprivate in a task region.
+ (gimplify_scan_omp_clauses): Handle OMP_CLAUSE_DETACH.
+ (gimplify_adjust_omp_clauses): Likewise.
+ * omp-builtins.def (BUILT_IN_GOMP_TASK): Change function type to
+ BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT_PTR.
+ * omp-expand.c (expand_task_call): Add GOMP_TASK_FLAG_DETACH to flags
+ if detach clause specified. Add detach argument when generating
+ call to GOMP_task.
+ * omp-low.c (scan_sharing_clauses): Setup data environment for detach
+ clause.
+ (finish_taskreg_scan): Move field for variable containing the event
+ handle to the front of the struct.
+ * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_DETACH. Fix
+ ordering.
+ * tree-nested.c (convert_nonlocal_omp_clauses): Handle
+ OMP_CLAUSE_DETACH clause.
+ (convert_local_omp_clauses): Handle OMP_CLAUSE_DETACH clause.
+ * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE_DETACH.
+ * tree.c (omp_clause_num_ops): Add entry for OMP_CLAUSE_DETACH.
+ Fix ordering.
+ (omp_clause_code_name): Add entry for OMP_CLAUSE_DETACH. Fix
+ ordering.
+ (walk_tree_1): Handle OMP_CLAUSE_DETACH.
+
+2021-01-16 Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+ * config/nios2/t-rtems: Reset all MULTILIB_* variables. Shorten
+ multilib directory names. Use MULTILIB_REQUIRED instead of
+ MULTILIB_EXCEPTIONS. Add -mhw-mul -mhw-mulx -mhw-div
+ -mcustom-fpu-cfg=fph2 multilib.
+
+2021-01-16 Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+ * config/nios2/nios2.c (NIOS2_FPU_CONFIG_NUM): Adjust value.
+ (nios2_init_fpu_configs): Provide register values for new
+ -mcustom-fpu-cfg=fph2 option variant.
+ * doc/invoke.texi (-mcustom-fpu-cfg=fph2): Document new option
+ variant.
+
+2021-01-16 Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+ * config/nios2/nios2.c (nios2_custom_check_insns): Remove
+ custom instruction warnings.
+
+2021-01-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/96669
+ * match.pd ((CST << x) & 1 -> x == 0): New simplification.
+
+2021-01-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/96271
+ * passes.def: Pass false argument to first two pass_cd_dce
+ instances and true to last instance. Add comment that
+ last instance rewrites no longer addressed locals.
+ * tree-ssa-dce.c (pass_cd_dce): Add update_address_taken_p member and
+ initialize it.
+ (pass_cd_dce::set_pass_param): New method.
+ (pass_cd_dce::execute): Return TODO_update_address_taken from
+ last cd_dce instance.
+
+2021-01-15 Carl Love <cel@us.ibm.com>
+
+ * config/rs6000/altivec.h (vec_mulh, vec_div, vec_dive, vec_mod):
+ New defines.
+ * config/rs6000/altivec.md (VIlong): Move define to file vsx.md.
+ * config/rs6000/rs6000-builtin.def (DIVES_V4SI, DIVES_V2DI,
+ DIVEU_V4SI, DIVEU_V2DI, DIVS_V4SI, DIVS_V2DI, DIVU_V4SI,
+ DIVU_V2DI, MODS_V2DI, MODS_V4SI, MODU_V2DI, MODU_V4SI,
+ MULHS_V2DI, MULHS_V4SI, MULHU_V2DI, MULHU_V4SI, MULLD_V2DI):
+ Add builtin define.
+ (MULH, DIVE, MOD): Add new BU_P10_OVERLOAD_2 definitions.
+ * config/rs6000/rs6000-call.c (VSX_BUILTIN_VEC_DIV,
+ VSX_BUILTIN_VEC_DIVE, P10_BUILTIN_VEC_MOD, P10_BUILTIN_VEC_MULH):
+ New overloaded definitions.
+ (builtin_function_type) [P10V_BUILTIN_DIVEU_V4SI,
+ P10V_BUILTIN_DIVEU_V2DI, P10V_BUILTIN_DIVU_V4SI,
+ P10V_BUILTIN_DIVU_V2DI, P10V_BUILTIN_MODU_V2DI,
+ P10V_BUILTIN_MODU_V4SI, P10V_BUILTIN_MULHU_V2DI,
+ P10V_BUILTIN_MULHU_V4SI]: Add case
+ statement for builtins.
+ * config/rs6000/rs6000.md (bits): Add new attribute sizes V4SI, V2DI.
+ * config/rs6000/vsx.md (VIlong): Moved from config/rs6000/altivec.md.
+ (UNSPEC_VDIVES, UNSPEC_VDIVEU): New unspec definitions.
+ (vsx_mul_v2di): Add if TARGET_POWER10 statement.
+ (vsx_udiv_v2di): Add if TARGET_POWER10 statement.
+ (dives_<mode>, diveu_<mode>, div<mode>3, uvdiv<mode>3,
+ mods_<mode>, modu_<mode>, mulhs_<mode>, mulhu_<mode>, mulv2di3):
+ Add define_insn, mode is VIlong.
+ * doc/extend.texi (vec_mulh, vec_mul, vec_div, vec_dive, vec_mod):
+ Add builtin descriptions.
+
+2021-01-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * final.c (final_start_function_1): Reset force_source_line.
+
+2021-01-15 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/96669
+ * match.pd (((1 << A) & 1) != 0 -> A == 0,
+ ((1 << A) & 1) == 0 -> A != 0): Generalize for 1s replaced by
+ possibly different power of two constants and to right shift too.
+
+2021-01-15 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/96681
+ * match.pd ((x < 0) ^ (y < 0) to (x ^ y) < 0): New simplification.
+ ((x >= 0) ^ (y >= 0) to (x ^ y) < 0): Likewise.
+ ((x < 0) ^ (y >= 0) to (x ^ y) >= 0): Likewise.
+ ((x >= 0) ^ (y < 0) to (x ^ y) >= 0): Likewise.
+
+2021-01-15 Alexandre Oliva <oliva@adacore.com>
+
+ * opts.c (gen_command_line_string): Exclude -dumpbase-ext.
+
+2021-01-15 Tamar Christina <tamar.christina@arm.com>
+
+ * config/aarch64/aarch64-simd.md (cml<fcmac1><conj_op><mode>4,
+ cmul<conj_op><mode>3): New.
+ * config/aarch64/iterators.md (UNSPEC_FCMUL,
+ UNSPEC_FCMUL180, UNSPEC_FCMLA_CONJ, UNSPEC_FCMLA180_CONJ,
+ UNSPEC_CMLA_CONJ, UNSPEC_CMLA180_CONJ, UNSPEC_CMUL, UNSPEC_CMUL180,
+ FCMLA_OP, FCMUL_OP, conj_op, rotsplit1, rotsplit2, fcmac1, sve_rot1,
+ sve_rot2, SVE2_INT_CMLA_OP, SVE2_INT_CMUL_OP, SVE2_INT_CADD_OP): New.
+ (rot): Add UNSPEC_FCMUL, UNSPEC_FCMUL180.
+ (rot_op): Renamed to conj_op.
+ * config/aarch64/aarch64-sve.md (cml<fcmac1><conj_op><mode>4,
+ cmul<conj_op><mode>3): New.
+ * config/aarch64/aarch64-sve2.md (cml<fcmac1><conj_op><mode>4,
+ cmul<conj_op><mode>3): New.
+
+2021-01-15 David Malcolm <dmalcolm@redhat.com>
+
+ PR bootstrap/98696
+ * diagnostic.c
+ (selftest::test_print_parseable_fixits_bytes_vs_display_columns):
+ Escape the tempfile name when constructing the expected output.
+
+2021-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64-simd.md (*aarch64_<su>mlsl_hi<mode>):
+ Rename to...
+ (aarch64_<su>mlsl_hi<mode>): ... This.
+ (aarch64_<su>mlsl_hi<mode>): Define.
+ (*aarch64_<su>mlsl<mode): Rename to...
+ (aarch64_<su>mlsl<mode): ... This.
+ * config/aarch64/aarch64-simd-builtins.def (smlsl, umlsl,
+ smlsl_hi, umlsl_hi): Define builtins.
+ * config/aarch64/arm_neon.h (vmlsl_high_s8, vmlsl_high_s16,
+ vmlsl_high_s32, vmlsl_high_u8, vmlsl_high_u16, vmlsl_high_u32,
+ vmlsl_s8, vmlsl_s16, vmlsl_s32, vmlsl_u8,
+ vmlsl_u16, vmlsl_u32): Reimplement with builtins.
+
+2021-01-15 Uroš Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386-c.c (ix86_target_macros):
+ Use cpp_define_formatted for __SIZEOF_FLOAT80__ definition.
+
+2021-01-15 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR target/88836
+ * config.gcc (aarch64*-*-*): Add aarch64-cc-fusion.o to extra_objs.
+ * Makefile.in (RTL_SSA_H): New variable.
+ * config/aarch64/t-aarch64 (aarch64-cc-fusion.o): New rule.
+ * config/aarch64/aarch64-protos.h (make_pass_cc_fusion): Declare.
+ * config/aarch64/aarch64-passes.def: Add pass_cc_fusion after
+ pass_combine.
+ * config/aarch64/aarch64-cc-fusion.cc: New file.
+
+2021-01-15 Richard Sandiford <richard.sandiford@arm.com>
+
+ * recog.h (insn_change_watermark::~insn_change_watermark): Avoid
+ calling cancel_changes for changes that no longer exist.
+
+2021-01-15 Richard Sandiford <richard.sandiford@arm.com>
+
+ * rtl-ssa/functions.h (function_info::ref_defs): Rename to...
+ (function_info::reg_defs): ...this.
+ * rtl-ssa/member-fns.inl (function_info::ref_defs): Rename to...
+ (function_info::reg_defs): ...this.
+
+2021-01-15 Christophe Lyon <christophe.lyon@linaro.org>
+
+ PR target/71233
+ * config/arm/arm_neon.h (vceqz_p64, vceqq_p64, vceqzq_p64): New.
+
+2021-01-15 Christophe Lyon <christophe.lyon@linaro.org>
+
+ Revert:
+ 2021-01-15 Christophe Lyon <christophe.lyon@linaro.org>
+
+ PR target/71233
+ * config/arm/arm_neon.h (vceqz_p64, vceqq_p64, vceqzq_p64): New.
+
+2021-01-15 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/96376
+ * tree-vect-stmts.c (get_load_store_type): Disregard alignment
+ for VMAT_INVARIANT.
+
+2021-01-15 Martin Liska <mliska@suse.cz>
+
+ * doc/install.texi: Document that some tests need pytest module.
+ * doc/sourcebuild.texi: Likewise.
+
+2021-01-15 Christophe Lyon <christophe.lyon@linaro.org>
+
+ PR target/71233
+ * config/arm/arm_neon.h (vceqz_p64, vceqq_p64, vceqzq_p64): New.
+
+2021-01-15 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * config/arm/mve.md (mve_vshrq_n_s<mode>_imm): New entry.
+ (mve_vshrq_n_u<mode>_imm): Likewise.
+ * config/arm/neon.md (vashr<mode>3, vlshr<mode>3): Move to ...
+ * config/arm/vec-common.md: ... here.
+
+2021-01-15 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * config/arm/mve.md (mve_vshlq_<supf><mode>): Move to
+ vec-commond.md.
+ * config/arm/neon.md (vashl<mode>3): Delete.
+ * config/arm/vec-common.md (mve_vshlq_<supf><mode>): New.
+ (vasl<mode>3): New expander.
+
+2021-01-15 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/98685
+ * tree-vect-slp.c (vect_schedule_slp_node): Refactor handling
+ of vector extern defs.
+
+2021-01-14 David Malcolm <dmalcolm@redhat.com>
+
+ PR jit/98586
+ * diagnostic.c (diagnostic_kind_text): Break out this array
+ from...
+ (diagnostic_build_prefix): ...here.
+ (fancy_abort): Detect when diagnostic_initialize has not yet been
+ called and fall back to a minimal implementation of printing the
+ ICE, rather than segfaulting in internal_error.
+
+2021-01-14 David Malcolm <dmalcolm@redhat.com>
+
+ * diagnostic.c (diagnostic_initialize): Eliminate
+ parseable_fixits_p in favor of initializing extra_output_kind from
+ GCC_EXTRA_DIAGNOSTIC_OUTPUT.
+ (convert_column_unit): New function, split out from...
+ (diagnostic_converted_column): ...this.
+ (print_parseable_fixits): Add "column_unit" and "tabstop" params.
+ Use them to call convert_column_unit on the column values.
+ (diagnostic_report_diagnostic): Eliminate conditional on
+ parseable_fixits_p in favor of a switch statement on
+ extra_output_kind, passing the appropriate values to the new
+ params of print_parseable_fixits.
+ (selftest::test_print_parseable_fixits_none): Update for new
+ params of print_parseable_fixits.
+ (selftest::test_print_parseable_fixits_insert): Likewise.
+ (selftest::test_print_parseable_fixits_remove): Likewise.
+ (selftest::test_print_parseable_fixits_replace): Likewise.
+ (selftest::test_print_parseable_fixits_bytes_vs_display_columns):
+ New.
+ (selftest::diagnostic_c_tests): Call it.
+ * diagnostic.h (enum diagnostics_extra_output_kind): New.
+ (diagnostic_context::parseable_fixits_p): Delete field in favor
+ of...
+ (diagnostic_context::extra_output_kind): ...this new field.
+ * doc/invoke.texi (Environment Variables): Add
+ GCC_EXTRA_DIAGNOSTIC_OUTPUT.
+ * opts.c (common_handle_option): Update handling of
+ OPT_fdiagnostics_parseable_fixits for change to diagnostic_context
+ fields.
+
+2021-01-14 Tamar Christina <tamar.christina@arm.com>
+
+ * tree-vect-slp-patterns.c (class complex_operations_pattern,
+ complex_operations_pattern::matches,
+ complex_operations_pattern::recognize,
+ complex_operations_pattern::build): New.
+ (slp_patterns): Use it.
+
+2021-01-14 Tamar Christina <tamar.christina@arm.com>
+
+ * internal-fn.def (COMPLEX_FMS, COMPLEX_FMS_CONJ): New.
+ * optabs.def (cmls_optab, cmls_conj_optab): New.
+ * doc/md.texi: Document them.
+ * tree-vect-slp-patterns.c (class complex_fms_pattern,
+ complex_fms_pattern::matches, complex_fms_pattern::recognize,
+ complex_fms_pattern::build): New.
+
+2021-01-14 Tamar Christina <tamar.christina@arm.com>
+
+ * internal-fn.def (COMPLEX_FMA, COMPLEX_FMA_CONJ): New.
+ * optabs.def (cmla_optab, cmla_conj_optab): New.
+ * doc/md.texi: Document them.
+ * tree-vect-slp-patterns.c (vect_match_call_p,
+ class complex_fma_pattern, vect_slp_reset_pattern,
+ complex_fma_pattern::matches, complex_fma_pattern::recognize,
+ complex_fma_pattern::build): New.
+
+2021-01-14 Tamar Christina <tamar.christina@arm.com>
+
+ * internal-fn.def (COMPLEX_MUL, COMPLEX_MUL_CONJ): New.
+ * optabs.def (cmul_optab, cmul_conj_optab): New.
+ * doc/md.texi: Document them.
+ * tree-vect-slp-patterns.c (vect_match_call_complex_mla,
+ vect_normalize_conj_loc, is_eq_or_top, vect_validate_multiplication,
+ vect_build_combine_node, class complex_mul_pattern,
+ complex_mul_pattern::matches, complex_mul_pattern::recognize,
+ complex_mul_pattern::build): New.
+
+2021-01-14 Tamar Christina <tamar.christina@arm.com>
+
+ * tree-vect-slp.c (optimize_load_redistribution_1): New.
+ (optimize_load_redistribution, vect_is_slp_load_node): New.
+ (vect_match_slp_patterns): Use it.
+
+2021-01-14 Tamar Christina <tamar.christina@arm.com>
+
+ * tree-vect-slp-patterns.c (complex_add_pattern::build):
+ Elide nodes.
+
+2021-01-14 Thomas Schwinge <thomas@codesourcery.com>
+
+ * config/gcn/mkoffload.c (main): Create an offload image only in
+ 64-bit configurations.
+
+2021-01-14 H.J. Lu <hjl.tools@gmail.com>
+
+ PR target/98667
+ * config/i386/i386-options.c (ix86_option_override_internal):
+ Issue an error for -fcf-protection with CF_BRANCH when compiling
+ for 32-bit non-TARGET_CMOV targets.
+
+2021-01-14 Uroš Bizjak <ubizjak@gmail.com>
+
+ PR target/98671
+ * config/i386/i386-options.c (ix86_valid_target_attribute_inner_p):
+ Remove declaration and initialization of shadow variable "ret".
+ (ix86_option_override_internal): Remove delcaration of
+ shadow variable "i". Redeclare shadowed variable to unsigned.
+ * common/config/i386/i386-common.c (pta_size): Redeclare to unsigned.
+ * config/i386/i386-builtins.c (get_builtin_code_for_version):
+ Update for redeclaration.
+ * config/i386/i386.h (pta_size): Ditto.
+
+2021-01-14 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/98674
+ * tree-data-ref.c (base_supports_access_fn_components_p): New.
+ (initialize_data_dependence_relation): For two bases without
+ possible access fns resort to type size equality when determining
+ shape compatibility.
+
+2021-01-14 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
+
+ PR target/66791
+ * config/arm/arm_neon.h: Replace calls to __builtin_vcge* by
+ <=, >= operators in vcle and vcge intrinsics respectively.
+ * config/arm/arm_neon_builtins.def: Remove entry for
+ vcge and vcgeu.
+
+2021-01-14 Uroš Bizjak <ubizjak@gmail.com>
+
+ PR target/98671
+ * config/i386/i386-options.c (ix86_function_specific_save):
+ Remove redundant assignment to opts->x_ix86_branch_cost.
+ * config/i386/i386.c (ix86_prefetch_sse):
+ Rename from x86_prefetch_sse. Update all uses.
+ * config/i386/i386.h: Update for rename.
+ * config/i386/i386-options.h: Ditto.
+
+2021-01-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/98670
+ * config/i386/sse.md (*sse4_1_zero_extendv8qiv8hi2_3,
+ *sse4_1_zero_extendv4hiv4si2_3, *sse4_1_zero_extendv2siv2di2_3):
+ Use Bm instead of m for non-avx. Add isa attribute.
+
+2021-01-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/96688
+ * match.pd (~(X >> Y) -> ~X >> Y): New simplification if
+ ~X can be simplified.
+
+2021-01-14 Richard Sandiford <richard.sandiford@arm.com>
+
+ * tree-vect-stmts.c (vect_model_load_cost): Account for unused
+ IFN_LOAD_LANES results.
+
+2021-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64-simd.md (aarch64_<su>xtl<mode>):
+ Define.
+ (aarch64_xtn<mode>): Likewise.
+ * config/aarch64/aarch64-simd-builtins.def (sxtl, uxtl, xtn):
+ Define
+ builtins.
+ * config/aarch64/arm_neon.h (vmovl_s8): Reimplement using
+ builtin.
+ (vmovl_s16): Likewise.
+ (vmovl_s32): Likewise.
+ (vmovl_u8): Likewise.
+ (vmovl_u16): Likewise.
+ (vmovl_u32): Likewise.
+ (vmovn_s16): Likewise.
+ (vmovn_s32): Likewise.
+ (vmovn_s64): Likewise.
+ (vmovn_u16): Likewise.
+ (vmovn_u32): Likewise.
+ (vmovn_u64): Likewise.
+
+2021-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64-simd.md (aarch64_<su>qxtn2<mode>_le):
+ Define.
+ (aarch64_<su>qxtn2<mode>_be): Likewise.
+ (aarch64_<su>qxtn2<mode>): Likewise.
+ * config/aarch64/aarch64-simd-builtins.def (sqxtn2, uqxtn2):
+ Define builtins.
+ * config/aarch64/iterators.md (SAT_TRUNC): Define code_iterator.
+ (su): Handle ss_truncate and us_truncate.
+ * config/aarch64/arm_neon.h (vqmovn_high_s16): Reimplement using
+ builtin.
+ (vqmovn_high_s32): Likewise.
+ (vqmovn_high_s64): Likewise.
+ (vqmovn_high_u16): Likewise.
+ (vqmovn_high_u32): Likewise.
+ (vqmovn_high_u64): Likewise.
+
+2021-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64-simd.md (aarch64_xtn2<mode>_le):
+ Define.
+ (aarch64_xtn2<mode>_be): Likewise.
+ (aarch64_xtn2<mode>): Likewise.
+ * config/aarch64/aarch64-simd-builtins.def (xtn2): Define
+ builtins.
+ * config/aarch64/arm_neon.h (vmovn_high_s16): Reimplement using
+ builtins.
+ (vmovn_high_s32): Likewise.
+ (vmovn_high_s64): Likewise.
+ (vmovn_high_u16): Likewise.
+ (vmovn_high_u32): Likewise.
+ (vmovn_high_u64): Likewise.
+
+2021-01-13 Stafford Horne <shorne@gmail.com>
+
+ * config/or1k/or1k.h (ASM_PREFERRED_EH_DATA_FORMAT): New macro.
+
+2021-01-13 Stafford Horne <shorne@gmail.com>
+
+ * config/or1k/linux.h (TARGET_ASM_FILE_END): Define macro.
+
+2021-01-13 Stafford Horne <shorne@gmail.com>
+
+ * config/or1k/or1k.h (TARGET_CPU_CPP_BUILTINS): Add builtin
+ define for __or1k_hard_float__.
+
+2021-01-13 Stafford Horne <shorne@gmail.com>
+
+ * config/or1k/or1k.h (NO_PROFILE_COUNTERS): Define as 1.
+ (PROFILE_HOOK): Define to call _mcount.
+ (FUNCTION_PROFILER): Change from abort to no-op.
+
+2021-01-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/96691
+ * match.pd ((~X | C) ^ D -> (X | C) ^ (~D ^ C),
+ (~X & C) ^ D -> (X & C) ^ (D ^ C)): New simplifications if
+ (~D ^ C) or (D ^ C) can be simplified.
+
+2021-01-13 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/92645
+ * match.pd (BIT_FIELD_REF to conversion): Delay canonicalization
+ until after vector lowering.
+
+2021-01-13 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/aarch64-sve.md (fnma<mode>4): Extend from SVE_FULL_I
+ to SVE_I.
+ (@aarch64_pred_fnma<mode>, cond_fnma<mode>, *cond_fnma<mode>_2)
+ (*cond_fnma<mode>_4, *cond_fnma<mode>_any): Likewise.
+
+2021-01-13 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/aarch64-sve.md (fma<mode>4): Extend from SVE_FULL_I
+ to SVE_I.
+ (@aarch64_pred_fma<mode>, cond_fma<mode>, *cond_fma<mode>_2)
+ (*cond_fma<mode>_4, *cond_fma<mode>_any): Likewise.
+
+2021-01-13 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/92645
+ * tree-vect-slp.c (vect_build_slp_tree_1): Relax supported
+ BIT_FIELD_REF argument.
+ (vect_build_slp_tree_2): Record the desired vector type
+ on the external vector def.
+ (vectorizable_slp_permutation): Handle required punning
+ of existing vector defs.
+
+2021-01-13 Richard Sandiford <richard.sandiford@arm.com>
+
+ * rtl-ssa/accesses.h (def_lookup): Fix order of comparison results.
+
+2021-01-13 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/sh/sh.md (movsf_ie): Remove operands[2] test.
+
+2021-01-13 Samuel Thibault <samuel.thibault@ens-lyon.org>
+
+ * config.gcc [$target == *-*-gnu*]: Enable
+ 'default_gnu_indirect_function'.
+
+2021-01-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/95905
+ * optabs.c (expand_vec_perm_const): Don't force v0 and v1 into
+ registers before calling targetm.vectorize.vec_perm_const, only after
+ that.
+ * config/i386/i386-expand.c (ix86_vectorize_vec_perm_const): Handle
+ two argument permutation when one operand is zero vector and only
+ after that force operands into registers.
+ * config/i386/sse.md (*avx2_zero_extendv16qiv16hi2_1): New
+ define_insn_and_split pattern.
+ (*avx512bw_zero_extendv32qiv32hi2_1): Likewise.
+ (*avx512f_zero_extendv16hiv16si2_1): Likewise.
+ (*avx2_zero_extendv8hiv8si2_1): Likewise.
+ (*avx512f_zero_extendv8siv8di2_1): Likewise.
+ (*avx2_zero_extendv4siv4di2_1): Likewise.
+ * config/mips/mips.c (mips_vectorize_vec_perm_const): Force operands
+ into registers.
+ * config/arm/arm.c (arm_vectorize_vec_perm_const): Likewise.
+ * config/sparc/sparc.c (sparc_vectorize_vec_perm_const): Likewise.
+ * config/ia64/ia64.c (ia64_vectorize_vec_perm_const): Likewise.
+ * config/aarch64/aarch64.c (aarch64_vectorize_vec_perm_const): Likewise.
+ * config/rs6000/rs6000.c (rs6000_vectorize_vec_perm_const): Likewise.
+ * config/gcn/gcn.c (gcn_vectorize_vec_perm_const): Likewise. Use std::swap.
+
+2021-01-13 Martin Liska <mliska@suse.cz>
+
+ PR tree-optimization/98455
+ * gimple-if-to-switch.cc (condition_info::record_phi_mapping):
+ Record also virtual PHIs.
+ (pass_if_to_switch::execute): Return TODO_cleanup_cfg only
+ conditionally.
+
+2021-01-13 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/invoke.texi (C++ Modules): Fix typos.
+
+2021-01-13 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/98640
+ * tree-ssa-sccvn.c (visit_nary_op): Do not try to
+ handle plus or minus from a truncated operand to be
+ sign-extended.
+
+2021-01-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/96938
+ * config/i386/i386.md (*btr<mode>_1, *btr<mode>_2): New
+ define_insn_and_split patterns.
+ (splitter after *btr<mode>_2): New splitter.
+
+2021-01-13 Martin Liska <mliska@suse.cz>
+
+ PR ipa/98652
+ * cgraphunit.c (analyze_functions): Remove dead code.
+
+2021-01-13 Qian Jianhua <qianjh@cn.fujitsu.com>
+
+ * config/aarch64/aarch64-cost-tables.h (a64fx_extra_costs): New.
+ * config/aarch64/aarch64.c (a64fx_addrcost_table): New.
+ (a64fx_regmove_cost, a64fx_vector_cost): New.
+ (a64fx_tunings): Use the new added cost tables.
+
+2021-01-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/95905
+ * config/i386/predicates.md (pmovzx_parallel): New predicate.
+ * config/i386/sse.md (*sse4_1_zero_extendv8qiv8hi2_3): New
+ define_insn_and_split pattern.
+ (*sse4_1_zero_extendv4hiv4si2_3): Likewise.
+ (*sse4_1_zero_extendv2siv2di2_3): Likewise.
+
+2021-01-13 Julian Brown <julian@codesourcery.com>
+
+ * config/gcn/gcn.c (gcn_conditional_register_usage): Remove dead code
+ to fix v0 register.
+
+2021-01-13 Julian Brown <julian@codesourcery.com>
+
+ * config/gcn/gcn.c (gcn_md_reorg): Fix case where EXEC reg is live
+ on entry to a BB.
+
+2021-01-13 Julian Brown <julian@codesourcery.com>
+
+ * config/gcn/gcn-valu.md (recip<mode>2<exec>, recip<mode>2): Use unspec
+ for reciprocal-approximation instructions.
+ (div<mode>3): Use fused multiply-accumulate operations for reciprocal
+ refinement and division result.
+ * config/gcn/gcn.md (UNSPEC_RCP): New unspec constant.
+
+2021-01-13 Julian Brown <julian@codesourcery.com>
+
+ * config/gcn/gcn-valu.md (subdf): Rename to...
+ (subdf3): This.
+
+2021-01-12 Martin Liska <mliska@suse.cz>
+
+ * gcov.c (source_info::debug): Fix printf format for 32-bit hosts.
+
+2021-01-12 Andrea Corallo <andrea.corallo@arm.com>
+
+ * function-abi.h: Fix typo.
+
+2021-01-12 Christophe Lyon <christophe.lyon@linaro.org>
+
+ PR target/97875
+ PR target/97875
+ * config/arm/arm.h (ARM_HAVE_NEON_V8QI_LDST): New macro.
+ (ARM_HAVE_NEON_V16QI_LDST, ARM_HAVE_NEON_V4HI_LDST): Likewise.
+ (ARM_HAVE_NEON_V8HI_LDST, ARM_HAVE_NEON_V2SI_LDST): Likewise.
+ (ARM_HAVE_NEON_V4SI_LDST, ARM_HAVE_NEON_V4HF_LDST): Likewise.
+ (ARM_HAVE_NEON_V8HF_LDST, ARM_HAVE_NEON_V4BF_LDST): Likewise.
+ (ARM_HAVE_NEON_V8BF_LDST, ARM_HAVE_NEON_V2SF_LDST): Likewise.
+ (ARM_HAVE_NEON_V4SF_LDST, ARM_HAVE_NEON_DI_LDST): Likewise.
+ (ARM_HAVE_NEON_V2DI_LDST): Likewise.
+ (ARM_HAVE_V8QI_LDST, ARM_HAVE_V16QI_LDST): Likewise.
+ (ARM_HAVE_V4HI_LDST, ARM_HAVE_V8HI_LDST): Likewise.
+ (ARM_HAVE_V2SI_LDST, ARM_HAVE_V4SI_LDST, ARM_HAVE_V4HF_LDST): Likewise.
+ (ARM_HAVE_V8HF_LDST, ARM_HAVE_V4BF_LDST, ARM_HAVE_V8BF_LDST): Likewise.
+ (ARM_HAVE_V2SF_LDST, ARM_HAVE_V4SF_LDST, ARM_HAVE_DI_LDST): Likewise.
+ (ARM_HAVE_V2DI_LDST): Likewise.
+ * config/arm/mve.md (*movmisalign<mode>_mve_store): New pattern.
+ (*movmisalign<mode>_mve_load): New pattern.
+ * config/arm/neon.md (movmisalign<mode>): Move to ...
+ * config/arm/vec-common.md: ... here.
+
+2021-01-12 Vladimir N. Makarov <vmakarov@redhat.com>
+
+ PR target/97969
+ * lra-eliminations.c (eliminate_regs_in_insn): Add transformation
+ of pattern 'plus (plus (hard reg, const), pseudo)'.
+
+2021-01-12 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/98550
+ * tree-vect-slp.c (vect_record_max_nunits): Check whether
+ the group size is a multiple of the vector element count.
+ (vect_build_slp_tree_1): When we need to fail because
+ the vector type choosen causes unrolling do so lazily
+ without affecting matches only at the end to guide group splitting.
+
+2021-01-12 Martin Liska <mliska@suse.cz>
+
+ PR c++/97284
+ * optc-save-gen.awk: Compare also n_target_save vars with
+ strcmp.
+
+2021-01-12 Martin Liska <mliska@suse.cz>
+
+ * gcov.c (source_info::debug): New.
+ (print_usage): Add --debug (-D) option.
+ (process_args): Likewise.
+ (generate_results): Call src->debug after
+ accumulate_line_counts.
+ (read_graph_file): Properly assign id for EXIT_BLOCK.
+ * profile.c (branch_prob): Dump function body before it is
+ instrumented.
+
+2021-01-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/98629
+ * tree-ssa-math-opts.c (arith_overflow_check_p): Don't update use_stmt
+ unless returning non-zero.
+
+2021-01-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/95731
+ * tree-ssa-reassoc.c (optimize_range_tests_cmp_bitwise): Also optimize
+ x < 0 && y < 0 && z < 0 into (x | y | z) < 0 for signed x, y, z.
+ (optimize_range_tests): Call optimize_range_tests_cmp_bitwise
+ only after optimize_range_tests_var_bound.
+
+2021-01-12 Jakub Jelinek <jakub@redhat.com>
+
+ * configure.ac: Ensure c/Make-lang.in comes first in @all_lang_makefrags@.
+ * configure: Regenerated.
+
+2021-01-12 liuhongt <hongtao.liu@intel.com>
+
+ PR target/98612
+ * config/i386/i386-builtins.h (BUILTIN_DESC_SWAP_OPERANDS):
+ Deleted.
+ * config/i386/i386-expand.c (ix86_expand_sse_comi): Delete
+ dead code.
+
+2021-01-12 Alexandre Oliva <oliva@adacore.com>
+
+ * ssa-iterators.h (end_imm_use_stmt_traverse): Forward
+ declare.
+ (auto_end_imm_use_stmt_traverse): New struct.
+ (FOR_EACH_IMM_USE_STMT): Use it.
+ (BREAK_FROM_IMM_USE_STMT, RETURN_FROM_IMM_USE_STMT): Remove,
+ along with uses...
+ * gimple-ssa-strength-reduction.c: ... here, ...
+ * graphite-scop-detection.c: ... here, ...
+ * ipa-modref.c, ipa-pure-const.c, ipa-sra.c: ... here, ...
+ * tree-predcom.c, tree-ssa-ccp.c: ... here, ...
+ * tree-ssa-dce.c, tree-ssa-dse.c: ... here, ...
+ * tree-ssa-loop-ivopts.c, tree-ssa-math-opts.c: ... here, ...
+ * tree-ssa-phiprop.c, tree-ssa.c: ... here, ...
+ * tree-vect-slp.c: ... and here, ...
+ * doc/tree-ssa.texi: ... and the example here.
+
+2021-01-11 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/aarch64-sve.md (sdiv_pow2<mode>3): Extend from
+ SVE_FULL_I to SVE_I. Generate an UNSPEC_PRED_X.
+ (*sdiv_pow2<mode>3): New pattern.
+ (@cond_<sve_int_op><mode>): Extend from SVE_FULL_I to SVE_I.
+ Wrap the ASRD in an UNSPEC_PRED_X.
+ (*cond_<sve_int_op><mode>_2): Likewise. Replace the UNSPEC_PRED_X
+ predicate with a constant PTRUE, if it isn't already.
+ (*cond_<sve_int_op><mode>_z): Replace with...
+ (*cond_<sve_int_op><mode>_any): ...this new pattern.
+
+2021-01-11 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/aarch64-sve.md (*cond_bic<mode>_2): Extend from
+ SVE_FULL_I to SVE_I.
+ (*cond_bic<mode>_any): Likewise.
+
+2021-01-11 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/aarch64-sve.md (<su>mul<mode>3_highpart)
+ (@aarch64_pred_<MUL_HIGHPART:optab><mode>): Extend from SVE_FULL_I
+ to SVE_I.
+
+2021-01-11 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/aarch64-sve.md (<su>abd<mode>_3): Extend from
+ SVE_FULL_I to SVE_I.
+ (*aarch64_cond_<su>abd<mode>_2): Likewise.
+ (*aarch64_cond_<su>abd<mode>_any): Likewise.
+ (@aarch64_pred_<su>abd<mode>): Likewise. Use UNSPEC_PRED_X
+ for the max and min but not for the minus.
+ (*aarch64_cond_<su>abd<mode>_3): New pattern.
+
+2021-01-11 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/iterators.md (SVE_24I): New iterator.
+ * config/aarch64/aarch64-sve.md (*aarch64_adr<mode>_shift): Extend from
+ SVE_FULL_SDI to SVE_24I. Use containers rather than elements.
+
+2021-01-11 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/aarch64-sve.md (@cond_<SVE_INT_BINARY:optab><mode>)
+ (*cond_<SVE_INT_BINARY:optab><mode>_2): Extend from SVE_FULL_I
+ to SVE_I.
+ (*cond_<SVE_INT_BINARY:optab><mode>_3): Likewise.
+ (*cond_<SVE_INT_BINARY:optab><mode>_any): Likewise.
+ (*cond_<SVE_INT_BINARY:optab><mode>_2_const): Likewise.
+ (*cond_<SVE_INT_BINARY:optab><mode>_any_const): Likewise.
+
+2021-01-11 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/aarch64-sve.md (<SVE_INT_BINARY_IMM:optab><mode>3)
+ (@aarch64_pred_<SVE_INT_BINARY_IMM:optab><mode>)
+ (*post_ra_<SVE_INT_BINARY_IMM:optab><mode>3): Extend from SVE_FULL_I
+ to SVE_I.
+
+2021-01-11 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/aarch64-sve.md (<ASHIFT:optab><mode>3)
+ (v<ASHIFT:optab><mode>3, @aarch64_pred_<optab><mode>)
+ (*post_ra_v<ASHIFT:optab><mode>3): Extend from SVE_FULL_I to SVE_I.
+
+2021-01-11 Martin Liska <mliska@suse.cz>
+
+ PR jit/98615
+ * symtab-clones.h (clone_info::release): Release
+ symtab::m_clones with ggc_delete as it's a GGC memory.
+
+2021-01-11 Matthias Klose <doko@ubuntu.com>
+
+ * Makefile.in (LINK_PROGRESS): Show the link target.
+
+2021-01-11 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/91403
+ * tree-vect-data-refs.c (vect_analyze_group_access_1): Cap
+ single-element interleaving group size at 4096 elements.
+
+2021-01-11 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/98526
+ * tree-vect-loop.c (vect_model_reduction_cost): Remove costing
+ of the actual reduction op for the regular case.
+ (vectorizable_reduction): Cost the stmts
+ vect_transform_reduction produces here.
+
+2021-01-11 Andreas Krebbel <krebbel@linux.ibm.com>
+
+ * tree-ssa-forwprop.c (simplify_vector_constructor): For
+ big-endian, use UNPACK[_FLOAT]_HI.
+
+2021-01-11 Tamar Christina <tamar.christina@arm.com>
+
+ * tree-vect-slp-patterns.c (class complex_pattern,
+ class complex_add_pattern): Add parameters to matches.
+ (complex_add_pattern::build): Free memory.
+ (complex_add_pattern::matches): Move validation end of match.
+ (complex_add_pattern::recognize): Likewise.
+
+2021-01-11 Tamar Christina <tamar.christina@arm.com>
+
+ * tree-vect-slp-patterns.c (linear_loads_p): Fix externals.
+
+2021-01-11 Tamar Christina <tamar.christina@arm.com>
+
+ * tree-vect-slp-patterns.c (is_linear_load_p): Fix ambiguity.
+
+2021-01-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/95867
+ * tree-ssa-math-opts.h: New header.
+ * tree-ssa-math-opts.c: Include tree-ssa-math-opts.h.
+ (powi_as_mults): No longer static. Use build_one_cst instead of
+ build_real. Formatting fix.
+ * tree-ssa-reassoc.c: Include tree-ssa-math-opts.h.
+ (attempt_builtin_powi): Handle multiplication reassociation without
+ powi_fndecl using powi_as_mults.
+ (reassociate_bb): For integral types don't require
+ -funsafe-math-optimizations to call attempt_builtin_powi.
+
+2021-01-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/95852
+ * tree-ssa-math-opts.c (maybe_optimize_guarding_check): Change
+ mul_stmts parameter type to vec<gimple *> &. Before cond_stmt
+ allow in the bb any of the stmts in that vector, div_stmt and
+ up to 3 cast stmts.
+ (arith_cast_equal_p): New function.
+ (arith_overflow_check_p): Add cast_stmt argument, handle signed
+ multiply overflow checks.
+ (match_arith_overflow): Adjust caller. Handle signed multiply
+ overflow checks.
+
+2021-01-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/95852
+ * tree-ssa-math-opts.c (maybe_optimize_guarding_check): New function.
+ (uaddsub_overflow_check_p): Renamed to ...
+ (arith_overflow_check_p): ... this. Handle also multiplication
+ with overflow check.
+ (match_uaddsub_overflow): Renamed to ...
+ (match_arith_overflow): ... this. Add cfg_changed argument. Handle
+ also multiplication with overflow check. Adjust function comment.
+ (math_opts_dom_walker::after_dom_children): Adjust callers. Call
+ match_arith_overflow also for MULT_EXPR.
+
+2021-01-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/arm_neon.h (vmovl_s8): Reimplement using
+ __builtin_convertvector.
+ (vmovl_s16): Likewise.
+ (vmovl_s32): Likewise.
+ (vmovl_u8): Likewise.
+ (vmovl_u16): Likewise.
+ (vmovl_u32): Likewise.
+ (vmovn_s16): Likewise.
+ (vmovn_s32): Likewise.
+ (vmovn_s64): Likewise.
+ (vmovn_u16): Likewise.
+ (vmovn_u32): Likewise.
+ (vmovn_u64): Likewise.
+
+2021-01-11 Martin Liska <mliska@suse.cz>
+
+ * gimple-if-to-switch.cc (struct condition_info): Use auto_var.
+ (if_chain::is_beneficial): Delete clusters
+ (find_conditions): Make second argument of conditions_in_bbs a
+ pointer so that we control over it's lifetime.
+ (pass_if_to_switch::execute): Delete them.
+
+2021-01-11 Kewen Lin <linkw@linux.ibm.com>
+
+ * ira.c (move_unallocated_pseudos): Check other_reg and skip if
+ it isn't set.
+
+2021-01-09 Maciej W. Rozycki <macro@linux-mips.org>
+
+ * config/vax/vax.md (cc): Remove mode attribute.
+ (subst_<cc>, subst_f<cc>): Rename to...
+ (subst_<mode>, subst_f<VAXccnz:mode>): ... these respectively.
+ (*cbranch<VAXint:mode>4_<VAXcc:mode>): Update for `cc' removal.
+ (*cbranch<VAXfp:mode>4_<VAXccnz:mode>): Likewise.
+ (*branch_<mode>, *branch_<mode>_reversed): Likewise.
+
+2021-01-09 Maciej W. Rozycki <macro@linux-mips.org>
+
+ * config/vax/vax.md (subst_f<cc>): Add mode to operands and
+ `const_double_zero'.
+
+2021-01-09 Maciej W. Rozycki <macro@linux-mips.org>
+
+ * config/pdp11/pdp11.md (PDPfp): New mode iterator.
+ (fcc_cc, fcc_ccnz): Use it. Add mode to `const_double_zero' and
+ operands.
+
+2021-01-09 Maciej W. Rozycki <macro@linux-mips.org>
+
+ * genemit.c (gen_exp) <CONST_DOUBLE>: Handle `const_double_zero'
+ rtx.
+ * read-rtl.c (rtx_reader::read_rtx_code): Handle machine mode
+ with `const_double_zero'.
+ * doc/rtl.texi (Constant Expression Types): Document it.
+
+2021-01-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/98556
+ * tree-cfg.c (verify_gimple_assign_binary): Allow lhs of
+ POINTER_DIFF_EXPR to be any integral type.
+
+2021-01-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/98603
+ * function.c (instantiate_virtual_regs_in_insn): For asm goto
+ with impossible constraints, drop all SETs, CLOBBERs, drop PARALLEL
+ if any, set ASM_OPERANDS mode to VOIDmode and change
+ ASM_OPERANDS_OUTPUT_CONSTRAINT and ASM_OPERANDS_OUTPUT_IDX.
+
+2021-01-09 Alexandre Oliva <oliva@gnu.org>
+
+ PR debug/97714
+ * final.c (notice_source_line): Narrow down the condition to
+ skip a line-0 marker.
+
2021-01-08 Sergei Trofimovich <siarheit@google.com>
* ipa-modref.c (merge_call_side_effects): Fix