dwww Home | Show directory contents | Find package

2022-08-19  Release Manager

        * GCC 12.2.0 released.

2022-08-17  Ilya Leoshkevich  <iii@linux.ibm.com>

        Backported from master:
        2022-08-04  Ilya Leoshkevich  <iii@linux.ibm.com>

        * config/s390/vector.md (V_HW_FT): New iterator.
        * config/s390/vx-builtins.md (vsel<mode>): Use V_HW_FT instead
        of V_HW.

2022-08-12  Peter Bergner  <bergner@linux.ibm.com>

        Backported from master:
        2022-07-26  Peter Bergner  <bergner@linux.ibm.com>

        PR c/106016
        * expr.cc (count_type_elements): Handle OPAQUE_TYPE.

2022-08-11  Andre Simoes Dias Vieira  <andre.simoesdiasvieira@arm.com>

        Backported from master:
        2022-07-25  Andre Vieira  <andre.simoesdiasvieira@arm.com>

        * config/aarch64/aarch64.md (rbit<mode>2): Rename this ...
        (@aarch64_rbit<mode>): ... to this and change it in...
        (ffs<mode>2,ctz<mode>2): ... here.
        (@aarch64_rev16<mode>): New.
        * config/aarch64/aarch64-builtins.cc: (aarch64_builtins):
        Define the following enum AARCH64_REV16, AARCH64_REV16L,
        AARCH64_REV16LL, AARCH64_RBIT, AARCH64_RBITL, AARCH64_RBITLL.
        (aarch64_init_data_intrinsics): New.
        (aarch64_general_init_builtins): Add call to
        aarch64_init_data_intrinsics.
        (aarch64_expand_builtin_data_intrinsic): New.
        (aarch64_general_expand_builtin): Add call to
        aarch64_expand_builtin_data_intrinsic.
        * config/aarch64/arm_acle.h (__clz, __clzl, __clzll, __cls, __clsl,
        __clsll, __rbit, __rbitl, __rbitll, __rev, __revl, __revll, __rev16,
        __rev16l, __rev16ll, __ror, __rorl, __rorll, __revsh): New.

2022-08-10  Tobias Burnus  <tobias@codesourcery.com>

        Backported from master:
        2022-08-09  Tobias Burnus  <tobias@codesourcery.com>

        PR middle-end/106492
        * omp-low.cc (lower_rec_input_clauses): Add missing folding
        to data type of linear-clause list item.

2022-08-10  Richard Biener  <rguenther@suse.de>

        Backported from master:
        2022-08-10  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/106513
        * gimple-ssa-store-merging.cc (do_shift_rotate): Use uint64_t
        for head_marker.

2022-08-10  Richard Biener  <rguenther@suse.de>

        Backported from master:
        2022-08-08  Richard Biener  <rguenther@suse.de>

        PR lto/106540
        PR lto/106334
        * lto-streamer-in.cc (lto_read_tree_1): Use lto_input_tree_1
        to input DECL_INITIAL, avoiding to commit drefs.

2022-08-05   Michael Meissner  <meissner@linux.ibm.com>

        * config/rs6000/rs6000.cc (rs6000_option_override_internal): Remove code
        setting -mblock-ops-vector-pair.  Back port patch from trunk on 8/3.

2022-08-02  Peter Bergner  <bergner@linux.ibm.com>

        Backported from master:
        2022-07-25  Peter Bergner  <bergner@linux.ibm.com>
                    Kewen Lin  <linkw@linux.ibm.com>

        PR testsuite/106345
        * config/rs6000/rs6000.h (DRIVER_SELF_SPECS): Adjust -mdejagnu-cpu
        to filter out all -mtune options.

2022-08-02  Kewen Lin  <linkw@linux.ibm.com>

        Backported from master:
        2022-07-26  Kewen Lin  <linkw@linux.ibm.com>

        PR target/106091
        * config/rs6000/rs6000-p8swap.cc (replace_swapped_aligned_store): Copy
        REG_EH_REGION when replacing one store insn having it.
        (replace_swapped_aligned_load): Likewise.

2022-07-30  Jakub Jelinek  <jakub@redhat.com>

        Backported from master:
        2022-07-29  Jakub Jelinek  <jakub@redhat.com>

        PR middle-end/106449
        * omp-expand.cc (expand_omp_simd): Fix up handling of pointer
        iterators in non-rectangular simd loops.  Unshare fd->loops[i].n2
        or n2 before regimplifying it inside of a condition.

2022-07-30  Jakub Jelinek  <jakub@redhat.com>

        Backported from master:
        2022-07-27  Jakub Jelinek  <jakub@redhat.com>

        PR debug/106261
        * cgraphunit.cc (cgraph_node::assemble_thunks_and_aliases): Don't
        output asm thunks for -dx.

2022-07-30  Jakub Jelinek  <jakub@redhat.com>

        Backported from master:
        2022-07-01  Jakub Jelinek  <jakub@redhat.com>

        PR middle-end/106144
        * wide-int.cc (wi::shifted_mask): If end >= prec, return right after
        emitting element for shift or if shift is 0 first element after start.
        (wide_int_cc_tests): Add tests for equivalency of wi::mask and
        wi::shifted_mask with 0 start.

2022-07-27  David Malcolm  <dmalcolm@redhat.com>

        * json.cc (string::print): Fix escaping of '\'.

2022-07-27  David Malcolm  <dmalcolm@redhat.com>

        * doc/invoke.texi (-fdump-analyzer-feasibility): Mention the
        fpath.txt output.

2022-07-27  Maciej W. Rozycki  <macro@embecosm.com>

        Backported from master:
        2022-07-27  Maciej W. Rozycki  <macro@embecosm.com>

        * config/riscv/riscv.md (stack_protect_set_<mode>): Remove
        duplicate backslashes.

2022-07-27  Richard Biener  <rguenther@suse.de>

        Backported from master:
        2022-07-26  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/106189
        * gimple-array-bounds.cc (array_bounds_checker::check_mem_ref):
        Divide using offset_ints.

2022-07-27  Joseph Myers  <joseph@codesourcery.com>

        Backported from master:
        2022-06-30  Joseph Myers  <joseph@codesourcery.com>

        PR lto/106129
        * lto-wrapper.cc (find_option): Add argument start.
        (merge_and_complain): Loop over existing_opt_index and
        existing_opt2_index for Xassembler check.  Update calls to
        find_option.
        (find_and_merge_options): Add argument first to determine whether
        to merge options with those passed in *opts.
        (run_gcc): Update calls to find_and_merge_options.

2022-07-27  Andrew Pinski  <apinski@marvell.com>

        Backported from master:
        2022-07-09  Andrew Pinski  <apinski@marvell.com>

        PR tree-optimization/106087
        * tree-ssa-dce.cc (simple_dce_from_worklist): Check
        to make sure the statement is only defining one operand.

2022-07-27  Tamar Christina  <tamar.christina@arm.com>

        Backported from master:
        2022-07-08  Tamar Christina  <tamar.christina@arm.com>

        PR tree-optimization/106063
        * match.pd: Do not apply pattern after veclower is not supported.

2022-07-27  Alexandre Oliva  <oliva@adacore.com>

        Backported from master:
        2022-06-03  Alexandre Oliva  <oliva@adacore.com>

        PR tree-optimization/105665
        PR tree-optimization/100810
        * tree-ssa-loop-ivopts.cc
        (ssa_name_maybe_undef_p, ssa_name_set_maybe_undef): New.
        (ssa_name_any_use_dominates_bb_p, mark_ssa_maybe_undefs): New.
        (find_ssa_undef): Check precomputed flag and intervening uses.
        (tree_ssa_iv_optimize): Call mark_ssa_maybe_undefs.

2022-07-25  Sebastian Huber  <sebastian.huber@embedded-brains.de>

        Backported from master:
        2022-07-25  Sebastian Huber  <sebastian.huber@embedded-brains.de>

        * config/rs6000/rtems.h (CPLUSPLUS_CPP_SPEC): Undef.

2022-07-19  Richard Biener  <rguenther@suse.de>

        Backported from master:
        2022-07-19  Richard Biener  <rguenther@suse.de>

        PR middle-end/106331
        * builtins.cc (get_memory_rtx): Compute alignment from
        the original address and set MEM_OFFSET to unknown when
        we create a MEM_EXPR from the base object of the address.

2022-07-19  Richard Biener  <rguenther@suse.de>

        Backported from master:
        2022-07-01  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/106131
        * tree-ssa-sccvn.cc (vn_reference_lookup_3): Force alias-set
        zero when offsetting the read looking through an aggregate
        copy.

2022-07-19  Richard Biener  <rguenther@suse.de>

        Backported from master:
        2022-06-29  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/106112
        * tree-ssa-sccvn.cc (valueized_wider_op): Properly extend
        a constant operand according to its type.

2022-07-19  Richard Biener  <rguenther@suse.de>

        Backported from master:
        2022-06-20  Richard Biener  <rguenther@suse.de>

        PR middle-end/106027
        * fold-const.cc (fold_to_nonsharp_ineq_using_bound): Use the
        type of the prevailing comparison for the new comparison type.
        (fold_binary_loc): Use proper types for the A < X && A + 1 > Y
        to A < X && A >= Y folding.

2022-07-19  Richard Biener  <rguenther@suse.de>

        Backported from master:
        2022-06-15  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/105971
        * tree-ssa-alias.cc (refs_may_alias_p_2): Put bail-out for
        FUNCTION_DECL and LABEL_DECL refs after decl-decl disambiguation
        to leak less surprising alias results.

2022-07-19  Richard Biener  <rguenther@suse.de>

        Backported from master:
        2022-06-15  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/105969
        * gimple-ssa-sprintf.cc (get_origin_and_offset_r): Avoid division
        by zero in overflow check.

2022-07-19  Richard Biener  <rguenther@suse.de>

        Backported from master:
        2022-06-14  Richard Biener  <rguenther@suse.de>

        PR middle-end/105965
        * match.pd (view_convert CONSTRUCTOR): Handle single-element
        CTOR case.

2022-07-19  Richard Biener  <rguenther@suse.de>

        Backported from master:
        2022-06-14  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/105946
        * tree-ssa-uninit.cc (maybe_warn_pass_by_reference):
        Do not look at arguments not specified in the function call.

2022-07-19  Richard Biener  <rguenther@suse.de>

        Backported from master:
        2022-07-11  Richard Biener  <rguenthert@suse.de>

        PR target/105459
        * config/i386/i386-options.cc (ix86_set_current_function):
        Rebuild the target optimization node whenever necessary,
        not only when the optimization node didn't change.

2022-07-14   Michael Meissner  <meissner@linux.ibm.com>

        * config/rs6000/rs6000.cc (rs6000_option_override_internal): Do
        not generate block copies with vector pair instructions if we are
        tuning for power10.  Back port from master branch.

2022-07-14  Surya Kumari Jangala  <jskumari@linux.vnet.ibm.com>

        Backported from master:
        2022-06-14  Surya Kumari Jangala  <jskumari@linux.ibm.com>

        PR rtl-optimization/105041
        * regrename.cc (check_new_reg_p): Use nregs value from du chain.

2022-07-11  Martin Jambor  <mjambor@suse.cz>

        Backported from master:
        2022-07-04  Martin Jambor  <mjambor@suse.cz>

        PR tree-optimization/105860
        * tree-sra.cc (build_reconstructed_reference): Start expr
        traversal only just below the outermost union.

2022-07-10  Xi Ruoyao  <xry111@xry111.site>

        Backported from master:
        2022-07-10  Xi Ruoyao  <xry111@xry111.site>

        * config/loongarch/loongarch.md (mulsidi3_64bit): Use mulw.d.w
        instead of mul.d.

2022-07-09  Roger Sayle  <roger@nextmovesoftware.com>
            Uroš Bizjak  <ubizjak@gmail.com>

        PR target/105930
        * config/i386/i386.md (*<any_or>di3_doubleword): Split after
        reload.  Use rtx_equal_p to avoid creating memory-to-memory moves,
        and emit NOTE_INSN_DELETED if operand[2] is zero (i.e. with -O0).

2022-07-08  Lulu Cheng  <chenglulu@loongson.cn>

        Backported from master:
        2022-07-08  Lulu Cheng  <chenglulu@loongson.cn>

        * config/loongarch/loongarch.cc (loongarch_compute_frame_info):
        Modify fp_sp_offset and gp_sp_offset's calculation method,
        when frame->mask or frame->fmask is zero, don't minus UNITS_PER_WORD
        or UNITS_PER_FP_REG.

2022-07-04  Andrew MacLeod  <amacleod@redhat.com>

        PR tree-optimization/106114
        * gimple-range-fold.cc (fold_using_range::relation_fold_and_or): Check
        statement operands instead of GORI cache.

2022-07-04  Roger Sayle  <roger@nextmovesoftware.com>
            Marek Polacek  <polacek@redhat.com>
            Segher Boessenkool  <segher@kernel.crashing.org>
            Kewen Lin  <linkw@linux.ibm.com>

        PR target/105991
        * config/rs6000/rs6000.md (rotl<mode>3_insert_3): Check that
        exact_log2 doesn't return -1 (or zero).
        (plus_xor): New code iterator.
        (*rotl<mode>3_insert_3_<code>): New define_insn_and_split.

2022-07-04  Xi Ruoyao  <xry111@xry111.site>

        Backported from master:
        2022-07-03  Xi Ruoyao  <xry111@xry111.site>
                    Lulu Cheng  <chenglulu@loongson.cn>

        * config/loongarch/loongarch.cc (loongarch_check_zero_div_p):
        New static function.
        (loongarch_idiv_insns): Use loongarch_check_zero_div_p instead
        of TARGET_CHECK_ZERO_DIV.
        (loongarch_output_division): Likewise.
        * common/config/loongarch/loongarch-common.cc
        (TARGET_DEFAULT_TARGET_FLAGS): Remove unneeded hook.
        * doc/invoke.texi: Update to match the new behavior.

2022-07-03  Roger Sayle  <roger@nextmovesoftware.com>

        PR target/106122
        * config/i386/i386.md (peephole2): Avoid generating pop %esp
        when optimizing for size.

2022-07-02  Sergei Trofimovich  <siarheit@google.com>

        Backported from master:
        2022-06-29  Sergei Trofimovich  <siarheit@google.com>

        PR c++/106102
        * system.h: Introduce INCLUDE_PTHREAD_H macros to include <pthread.h>.

2022-07-01  Vladimir Makarov  <vmakarov@gcc.gnu.org>

        Backported from master:
        2022-05-28  Vladimir Makarov  <vmakarov@gcc.gnu.org>

        PR target/103722
        * config/sh/sh.cc (sh_register_move_cost): Avoid cost "2" (which
        is special) for various scenarios.

2022-06-29  Richard Biener  <rguenther@suse.de>

        Backported from master:
        2022-05-11  Richard Biener  <rguenther@suse.de>

        PR bootstrap/105551
        * opts.cc (finish_options): Also disable var-tracking if
        !DWARF2_DEBUGGING_INFO.

2022-06-29  Lulu Cheng  <chenglulu@loongson.cn>

        Backported from master:
        2022-06-29  Lulu Cheng  <chenglulu@loongson.cn>

        PR target/106097
        * config/loongarch/loongarch.cc (loongarch_build_integer):
        Remove undefined behavior from code.

2022-06-28  Jakub Jelinek  <jakub@redhat.com>

        Backported from master:
        2022-06-21  Jakub Jelinek  <jakub@redhat.com>

        PR rtl-optimization/106032
        * ifcvt.cc (noce_try_sign_mask): Punt if !t_unconditional, and
        t may_trap_or_fault_p, even if it is cheap.

2022-06-28  Jakub Jelinek  <jakub@redhat.com>

        Backported from master:
        2022-06-21  Jakub Jelinek  <jakub@redhat.com>

        PR middle-end/106030
        * expr.cc (expand_cond_expr_using_cmove): Pass NULL_RTX instead of
        temp to expand_operands if mode has been promoted.

2022-06-28  Xi Ruoyao  <xry111@xry111.site>

        Backported from master:
        2022-06-28  Xi Ruoyao  <xry111@xry111.site>

        PR target/106096
        * config/loongarch/loongarch.h (REG_CLASS_CONTENTS): Exclude
        $r13 from SIBCALL_REGS.
        * config/loongarch/loongarch.cc (loongarch_regno_to_class):
        Change $r13 to JIRL_REGS.

2022-06-24  Iain Buclaw  <ibuclaw@gdcproject.org>

        Backported from master:
        2022-06-24  Iain Buclaw  <ibuclaw@gdcproject.org>

        * config/tilepro/gen-mul-tables.cc (tilegx_emit): Adjust loop
        condition to avoid overflow.

2022-06-23  Martin Liska  <mliska@suse.cz>

        Backported from master:
        2022-06-23  Martin Liska  <mliska@suse.cz>

        PR ipa/105600
        * ipa-icf.cc (sem_item_optimizer::filter_removed_items):
        Skip variables with body_removed.

2022-06-23  Siddhesh Poyarekar  <siddhesh@gotplt.org>

        Backported from master:
        2022-06-21  Siddhesh Poyarekar  <siddhesh@gotplt.org>

        PR tree-optimization/105736
        * tree-object-size.cc (addr_object_size): Return size_unknown
        when object offset computation returns an error.

2022-06-23  Richard Sandiford  <richard.sandiford@arm.com>

        Backported from master:
        2022-06-15  Richard Sandiford  <richard.sandiford@arm.com>

        PR tree-optimization/105254
        PR tree-optimization/105940
        Revert:
        * config/aarch64/aarch64.cc
        (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
        loop_vec_info as argument.  Restrict the unroll factor to values
        that divide the VF.
        (aarch64_vector_costs::finish_cost): Update call accordingly.

2022-06-23  Kewen Lin  <linkw@linux.ibm.com>

        Backported from master:
        2022-06-14  Kewen Lin  <linkw@linux.ibm.com>

        PR tree-optimization/105940
        * tree-vect-loop.cc (vect_analyze_loop_2): Move the place of
        applying suggested_unroll_factor after start_over.

2022-06-21  H.J. Lu  <hjl.tools@gmail.com>

        Backported from master:
        2022-06-20  H.J. Lu  <hjl.tools@gmail.com>

        PR target/105960
        * config/i386/i386.cc (ix86_function_ok_for_sibcall): Return
        false if PIC register is used when calling ifunc functions.

2022-06-20  Uros Bizjak  <ubizjak@gmail.com>

        Backported from master:
        2022-06-17  Uroš Bizjak  <ubizjak@gmail.com>

        PR target/105209
        * config/alpha/alpha-protos.h (alpha_store_data_bypass_p): New.
        * config/alpha/alpha.cc (alpha_store_data_bypass_p): New function.
        (alpha_store_data_bypass_p_1): Ditto.
        * config/alpha/ev4.md: Use alpha_store_data_bypass_p instead
        of generic store_data_bypass_p.
        (ev4_ist_c): Remove insn reservation.

2022-06-20  Uros Bizjak  <ubizjak@gmail.com>

        Backported from master:
        2022-06-17  Uroš Bizjak  <ubizjak@gmail.com>

        PR target/105970
        * config/i386/i386.cc (ix86_function_arg): Assert that
        the mode of pointer argumet is equal to ptr_mode, not Pmode.

2022-06-19  Jakub Jelinek  <jakub@redhat.com>

        Backported from master:
        2022-06-18  Jakub Jelinek  <jakub@redhat.com>

        PR middle-end/105998
        * varasm.cc (narrowing_initializer_constant_valid_p): Check
        SCALAR_INT_MODE_P instead of INTEGRAL_MODE_P, also break on
        ! INTEGRAL_TYPE_P and do the same check also on op{0,1}'s type.

2022-06-19  Jakub Jelinek  <jakub@redhat.com>

        Backported from master:
        2022-06-16  Jakub Jelinek  <jakub@redhat.com>

        PR middle-end/105951
        * tree-ssa-ccp.cc (optimize_atomic_bit_test_and,
        optimize_atomic_op_fetch_cmp_0): Remember gimple_call_fn (call)
        as last argument to the internal functions.
        * builtins.cc (expand_ifn_atomic_bit_test_and): Adjust for the
        extra call argument to ifns.  If expand_atomic_fetch_op fails for the
        lhs == NULL_TREE case, fall through into the optab code with
        gen_reg_rtx (mode) as target.  If second expand_atomic_fetch_op
        fails, construct a CALL_EXPR and expand that.
        (expand_ifn_atomic_op_fetch_cmp_0): Adjust for the extra call argument
        to ifns.  If expand_atomic_fetch_op fails, construct a CALL_EXPR and
        expand that.

2022-06-19  Jan Hubicka  <jh@suse.cz>

        Backported from master:
        2022-06-14  Jan Hubicka  <hubicka@ucw.cz>

        PR ipa/105739
        * ipa-prop.cc (ipa_load_from_parm_agg): Punt on volatile loads.

2022-06-16  Richard Earnshaw  <rearnsha@arm.com>

        Backported from master:
        2022-06-15  Richard Earnshaw  <rearnsha@arm.com>

        PR target/105981
        * config/arm/arm.cc (gen_cpymem_ldrd_strd): Rename low_reg and hi_reg
        to first_reg and second_reg respectively.  Initialize them correctly
        when generating big-endian code.

2022-06-15  Simon Wright  <simon@pushface.org>

        Backported from master:
        2022-06-12  Simon Wright  <simon@pushface.org>

        PR target/104871
        * config/darwin-driver.cc (darwin_find_version_from_kernel): If the OS
        version is darwin20 (macOS 11) or greater, truncate the version to the
        major number.

2022-06-15  Mark Mentovai  <mark@mentovai.com>

        Backported from master:
        2022-06-12  Mark Mentovai  <mark@mentovai.com>

        * config/darwin-c.cc: Make -mmacosx-version-min more future-proof.

2022-06-15  Iain Sandoe  <iain@sandoe.co.uk>

        Backported from master:
        2022-05-29  Iain Sandoe  <iain@sandoe.co.uk>

        PR target/105599
        * config/darwin.h: Move versions-specific handling of multiply_defined
        from SUBTARGET_DRIVER_SELF_SPECS to LINK_SPEC.

2022-06-15  liuhongt  <hongtao.liu@intel.com>

        PR target/105953
        * config/i386/sse.md (*avx_cmp<mode>3_ltint_not): Force_reg
        operands[3].

2022-06-14  H.J. Lu  <hjl.tools@gmail.com>

        Backported from master:
        2022-06-13  H.J. Lu  <hjl.tools@gmail.com>

        * common/config/i386/cpuinfo.h (get_available_features): Require
        AVX for F16C and VAES.

2022-06-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>

        Backported from master:
        2022-06-02  Philipp Tomsich  <philipp.tomsich@vrull.eu>

        * config/riscv/riscv.cc (riscv_build_integer_1): Rewrite value as
        (-1 << 31) for the single-bit case, when operating on (1 << 31)
        in SImode.
        * config/riscv/riscv.h (SINGLE_BIT_MASK_OPERAND): Allow for
        any single-bit value, moving the special case for (1 << 31) to
        riscv_build_integer_1 (in riscv.c).

2022-06-08  Max Filippov  <jcmvbkbc@gmail.com>

        Backported from master:
        2022-06-08  Max Filippov  <jcmvbkbc@gmail.com>

        PR target/105879
        * config/xtensa/xtensa.md (movdi): Rename 'first' and 'second'
        to 'lowpart' and 'highpart' so that they match 'gen_lowpart' and
        'gen_highpart' bitwise semantics and fix order of highpart and
        lowpart depending on target endianness.

2022-06-08  liuhongt  <hongtao.liu@intel.com>

        PR target/105854
        * config/i386/sse.md (ssse3_palignrdi): Change alternative 2
        from Yv to Yw.

2022-06-02  Philipp Tomsich  <philipp.tomsich@vrull.eu>

        Backported from master:
        2022-05-13  Philipp Tomsich  <philipp.tomsich@vrull.eu>
                    Manolis Tsamis  <manolis.tsamis@vrull.eu>

        * config/riscv/riscv.h (CLZ_DEFINED_VALUE_AT_ZERO): Implement.
        (CTZ_DEFINED_VALUE_AT_ZERO): Same.
        * doc/sourcebuild.texi: add documentation for RISC-V specific
        test target keywords

2022-06-02  Richard Biener  <rguenther@suse.de>

        Backported from master:
        2022-06-01  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/105786
        * tree-loop-distribution.cc
        (loop_distribution::transform_reduction_loop): Only do strlen
        replacement for integer type reductions.

2022-06-02  Richard Biener  <rguenther@suse.de>

        Backported from master:
        2022-05-27  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/105726
        * gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset):
        Constrain array-of-flexarray case more.

2022-06-02  Richard Biener  <rguenther@suse.de>

        Backported from master:
        2022-05-24  Richard Biener  <rguenther@suse.de>

        PR middle-end/105711
        * expmed.cc (extract_bit_field_as_subreg): Add op0_mode parameter
        and use it.
        (extract_bit_field_1): Pass down the mode of op0 to
        extract_bit_field_as_subreg.

2022-06-02  Martin Sebor  <msebor@redhat.com>

        Backported from master:
        2022-05-24  Martin Sebor  <msebor@redhat.com>
                    Richard Biener  <rguenther@suse.de>

        PR middle-end/105604
        * gimple-ssa-sprintf.cc (set_aggregate_size_and_offset): Add comments.
        (get_origin_and_offset_r): Remove null handling.  Handle variable array
        sizes.
        (get_origin_and_offset): Handle null argument here.  Simplify.
        (alias_offset): Update comment.
        * pointer-query.cc (field_at_offset): Update comment.  Handle members
        of variable-length types.

2022-06-02  Vineet Gupta  <vineetg@rivosinc.com>

        Backported from master:
        2022-05-24  Vineet Gupta  <vineetg@rivosinc.com>

        * config/riscv/riscv.cc: (struct riscv_tune_param): Add
          fmv_cost.
        (rocket_tune_info): Add default fmv_cost 8.
        (sifive_7_tune_info): Ditto.
        (thead_c906_tune_info): Ditto.
        (optimize_size_tune_info): Ditto.
        (riscv_register_move_cost): Use fmv_cost for int<->fp moves.

2022-05-30  Martin Jambor  <mjambor@suse.cz>

        Backported from master:
        2022-05-27  Martin Jambor  <mjambor@suse.cz>

        PR ipa/105639
        * ipa-prop.cc (propagate_controlled_uses): Check type of the
        constant before adding a LOAD reference.

2022-05-30  Jakub Jelinek  <jakub@redhat.com>

        Backported from master:
        2022-05-27  Jakub Jelinek  <jakub@redhat.com>

        PR sanitizer/105729
        * fold-const.cc (fold_unary_loc): Don't optimize (X &) ((Y *) z + w)
        to (X &) z + w if -fsanitize=null during GENERIC folding.

2022-05-30  Jakub Jelinek  <jakub@redhat.com>

        Backported from master:
        2022-05-25  Jakub Jelinek  <jakub@redhat.com>

        PR sanitizer/105714
        * asan.cc (has_stmt_been_instrumented_p): For assignments which
        are both stores and loads, return true only if both destination
        and source have been instrumented.

2022-05-30  Jakub Jelinek  <jakub@redhat.com>

        Backported from master:
        2022-05-19  Jakub Jelinek  <jakub@redhat.com>

        PR c/105635
        * pointer-query.cc (gimple_parm_array_size): Return NULL if var
        doesn't have pointer or reference type.

2022-05-26  Simon Cook  <simon.cook@embecosm.com>

        Backported from master:
        2022-05-25  Simon Cook  <simon.cook@embecosm.com>

        * config/riscv/arch-canonicalize: Only add mafd extension if
        base was rv32/rv64g.

2022-05-26  Kito Cheng  <kito.cheng@sifive.com>

        Backported from master:
        2022-05-09  Kito Cheng  <kito.cheng@sifive.com>

        * config/riscv/arch-canonicalize: Handle g correctly.

2022-05-24  Qing Zhao  <qing.zhao@oracle.com>

        Backported from master:
        2022-05-09  Qing Zhao  <qing.zhao@oracle.com>

        PR target/101891
        * config/i386/i386.cc (zero_call_used_regno_mode): use V2SImode
        as a generic MMX mode instead of V4HImode.
        (zero_all_mm_registers): Use SET to zero instead of MOV for
        zeroing scratch registers.
        (ix86_zero_call_used_regs): Likewise.

2022-05-24  Bruno Haible  <bruno@clisp.org>

        Backported from master:
        2022-05-24  Bruno Haible  <bruno@clisp.org>

        PR other/105527
        * doc/install.texi (Configuration): Add more details about --with-zstd.
        Document --with-zstd-include and --with-zstd-lib

2022-05-24  Martin Liska  <mliska@suse.cz>

        Backported from master:
        2022-05-11  Martin Liska  <mliska@suse.cz>

        PR other/105527
        * doc/install.texi: Document the configure option --with-zstd.

2022-05-20  Peter Bergner  <bergner@linux.ibm.com>

        Backported from master:
        2022-05-18  Peter Bergner  <bergner@linux.ibm.com>
                    Segher Boessenkool  <segher@kernel.crashing.org>

        PR target/105556
        * config/rs6000/mma.md (mma_<vv>, mma_<avv>, mma_<pv>, mma_<apv>,
        mma_<vvi4i4i8>, mma_<avvi4i4i8>, mma_<vvi4i4i2>, mma_<avvi4i4i2>,
        mma_<vvi4i4>, mma_<avvi4i4>, mma_<pvi4i2>, mma_<apvi4i2>,
        mma_<vvi4i4i4>, mma_<avvi4i4i4>): Replace "wa" constraints with "v,?wa".
        Update other operands accordingly.

2022-05-20  Richard Biener  <rguenther@suse.de>

        Backported from master:
        2022-05-04  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/103116
        * tree-vect-stmts.cc (get_group_load_store_type): Handle the
        case we need peeling for gaps even though GROUP_GAP is zero.

2022-05-19  Richard Biener  <rguenther@suse.de>

        Backported from master:
        2022-05-17  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/105618
        * tree-ssa-sink.cc (statement_sink_location): For virtual
        PHI uses ignore those defining the used virtual operand.

2022-05-19  Richard Biener  <rguenther@suse.de>

        Backported from master:
        2022-05-12  Richard Biener  <rguenther@suse.de>

        PR rtl-optimization/105577
        * dse.cc (rest_of_handle_dse): Make sure to purge dead EH
        edges before running fast DCE via df_analyze.

2022-05-19  Richard Biener  <rguenther@suse.de>

        Backported from master:
        2022-05-12  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/105562
        * tree-ssa-sccvn.cc (vn_reference_lookup_3): Disambiguate
        against all CLOBBER defs if there's not an obvious must-alias
        and we are not doing redundant store elimination.
        (vn_walk_cb_data::redundant_store_removal_p): New field.
        (vn_reference_lookup_pieces): Initialize it.
        (vn_reference_lookup): Add argument to specify if we are
        doing redundant store removal.
        (eliminate_dom_walker::eliminate_stmt): Specify we do.
        * tree-ssa-sccvn.h (vn_reference_lookup): Adjust.

2022-05-19  Richard Biener  <rguenther@suse.de>

        Backported from master:
        2022-05-11  Richard Biener  <rguenther@suse.de>

        PR rtl-optimization/105559
        * cfgrtl.cc (delete_insn_and_edges): Only perform search to BB_END
        for non-debug insns.

2022-05-19  Richard Biener  <rguenther@suse.de>

        Backported from master:
        2022-05-10  Richard Biener  <rguenther@suse.de>

        PR middle-end/105537
        * toplev.cc (process_options): Move flag_var_tracking
        handling ...
        * opts.cc (finish_options): ... here.

2022-05-19  Richard Biener  <rguenther@suse.de>

        Backported from master:
        2022-05-10  Richard Biener  <rguenther@suse.de>

        * flags.h (dwarf_debuginfo_p): Add opts argument, guard
        API with !GENERATOR_FILE.
        * opts.cc (global_options): Poison.
        (global_options_set): Likewise.
        (finish_options): Refer to options via opts.

2022-05-19  Richard Biener  <rguenther@suse.de>

        Backported from master:
        2022-04-29  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/105431
        * tree-ssa-math-opts.cc (powi_as_mults_1): Make n unsigned.
        (powi_as_mults): Use absu_hwi.
        (gimple_expand_builtin_powi): Remove now pointless n != -n
        check.

2022-05-18  Andrew MacLeod  <amacleod@redhat.com>

        PR tree-optimization/105458
        * value-relation.cc (path_oracle::register_relation): Merge, then check
        for equivalence.

2022-05-16  Sebastian Pop  <spop@amazon.com>

        PR target/105162
        * config/aarch64/aarch64-protos.h (atomic_ool_names): Increase dimension
        of str array.
        * config/aarch64/aarch64.cc (aarch64_atomic_ool_func): Call
        memmodel_from_int and handle MEMMODEL_SYNC_*.
        (DEF0): Add __aarch64_*_sync functions.

2022-05-16  Eric Botcazou  <ebotcazou@adacore.com>

        * dwarf2out.cc (loc_list_from_tree_1) <TRUTH_NOT_EXPR>: Do a logical
        instead of a bitwise negation.
        <COND_EXPR>: Swap the operands if the condition is TRUTH_NOT_EXPR.

2022-05-13  Eric Botcazou  <ebotcazou@adacore.com>

        * tree-sra.cc (sra_modify_assign): Check that scalar storage order
        is the same on the LHS and RHS before rewriting one with the model
        of the other.

2022-05-13  Alexandre Oliva  <oliva@adacore.com>

        Backported from master:
        2022-05-13  Alexandre Oliva  <oliva@adacore.com>

        PR rtl-optimization/105455
        * gimple-harden-conditionals.cc (insert_check_and_trap): Set
        probabilities for newly-conditional edges.

2022-05-11  Martin Jambor  <mjambor@suse.cz>

        Backported from master:
        2022-04-29  Martin Jambor  <mjambor@suse.cz>

        PR ipa/100413
        * cgraph.cc (cgraph_node::remove): Release body of the node this
        is clone_of if appropriate.

2022-05-10  Jakub Jelinek  <jakub@redhat.com>

        Backported from master:
        2022-05-10  Jakub Jelinek  <jakub@redhat.com>

        PR tree-optimization/105528
        * gimple-isel.cc (gimple_expand_vec_set_expr): After gsi_remove
        set *gsi to gsi_for_stmt (ass_stmt).  Fix up function comment.

2022-05-10  Eric Botcazou  <ebotcazou@adacore.com>

        PR target/105292
        * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Return
        true only for 8-byte vector modes.

2022-05-06  Michael Meissner  <meissner@linux.ibm.com>

        Backported from master:
        2022-05-06   Michael Meissner  <meissner@linux.ibm.com>

        PR target/102059
        * config/rs6000/rs6000.cc (rs6000_can_inline_p): Ignore -mpower8-fusion
        and -mpower10-fusion options for inlining purposes.

2022-05-06  Richard Biener  <rguenther@suse.de>

        Backported from master:
        2022-04-29  Richard Biener  <rguenther@suse.de>

        PR middle-end/105376
        * tree.cc (build_real): Special case dconst* arguments
        for decimal floating point types.

2022-05-06  Richard Biener  <rguenther@suse.de>

        Backported from master:
        2022-05-05  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/105484
        * gimple-isel.cc (gimple_expand_vec_set_expr): Clean EH, return
        whether the CFG changed.
        (gimple_expand_vec_exprs): When the CFG changed, clean it up.

2022-05-06  Richard Biener  <rguenther@suse.de>

        Backported from master:
        2022-05-03  Richard Biener  <rguenther@suse.de>

        PR middle-end/105461
        * opts.cc (finish_options): Match the condition to
        disable flag_var_tracking to that of process_options.

2022-05-06  Richard Biener  <rguenther@suse.de>

        Backported from master:
        2022-05-03  Richard Biener  <rguenther@suse.de>

        * opts.cc: #undef OPTIONS_SET_P.
        (finish_options): Use opts_set instead of OPTIONS_SET_P.

2022-05-06  Richard Biener  <rguenther@suse.de>

        Backported from master:
        2022-05-02  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/105437
        * tree-vect-slp.cc (vect_schedule_slp_node): Handle the
        case where last_stmt alters control flow.

2022-05-06  Richard Biener  <rguenther@suse.de>

        Backported from master:
        2022-05-03  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/105394
        * tree-vect-generic.cc (expand_vector_condition): Adjust
        comp_width for non-integer mode masks as well.

2022-05-06  Release Manager

        * GCC 12.1.0 released.

2022-05-02  Jakub Jelinek  <jakub@redhat.com>

        Backported from master:
        2022-05-02  Jakub Jelinek  <jakub@redhat.com>

        * system.h: Include initializer_list.

2022-04-28  Jakub Jelinek  <jakub@redhat.com>

        PR lto/105399
        * cgraph.cc (cgraph_node::verify_node): Don't verify
        semantic_interposition flag against
        opt_for_fn (decl, flag_semantic_interposition) for aliases in lto1.

2022-04-28  Jakub Jelinek  <jakub@redhat.com>

        PR target/105331
        * config/i386/i386.cc (ix86_gimplify_va_arg): Mark va_arg_tmp
        temporary TREE_ADDRESSABLE before trying to gimplify ADDR_EXPR
        of it.

2022-04-28  Jonathan Wakely  <jwakely@redhat.com>

        * doc/install.texi (Configuration): Remove misleading text
        around LE PowerPC Linux multilibs.

2022-04-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

        PR d/103528
        * doc/install.texi (Tools/packages necessary for building GCC)
        (GDC): Document libphobos requirement.
        (Host/target specific installation notes for GCC, *-*-solaris2*):
        Document libphobos and GDC specifics.

2022-04-28  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/105219
        * tree-vect-loop.cc (vect_transform_loop): Disable
        special code narrowing the vectorized epilogue max
        iterations when peeling for alignment or gaps was in effect.

2022-04-28  Xi Ruoyao  <xry111@mengyan1223.wang>

        * config/loongarch/loongarch.cc
        (loongarch_flatten_aggregate_field): Ignore empty fields for
        RECORD_TYPE.

2022-04-27  Lulu Cheng  <chenglulu@loongson.cn>

        * config/loongarch/loongarch.md: Add fdiv define_expand template,
        then generate floating-point division and floating-point reciprocal
        instructions.

2022-04-27  Lulu Cheng  <chenglulu@loongson.cn>

        * config/loongarch/loongarch.md: Add '(clobber (mem:BLK (scratch)))'
        to PLV instruction templates.

2022-04-27  Richard Biener  <rguenther@suse.de>

        PR middle-end/104492
        * gimple-ssa-warn-access.cc
        (pass_waccess::warn_invalid_pointer): Exclude equality compare
        diagnostics for all kind of invalidations.
        (pass_waccess::check_dangling_uses): Fix post-dominator query.
        (pass_waccess::check_pointer_uses): Likewise.

2022-04-27  Andreas Krebbel  <krebbel@linux.ibm.com>

        PR target/102024
        * config/s390/s390-protos.h (s390_function_arg_vector): Remove
        prototype.
        * config/s390/s390.cc (s390_single_field_struct_p): New function.
        (s390_function_arg_vector): Invoke s390_single_field_struct_p.
        (s390_function_arg_float): Likewise.

2022-04-27  Jakub Jelinek  <jakub@redhat.com>

        PR sanitizer/105396
        * asan.cc (asan_redzone_buffer::emit_redzone_byte): Handle the case
        where offset is bigger than off but smaller than m_prev_offset + 32
        bits by pushing one or more 0 bytes.  Sink the
        m_shadow_bytes.safe_push (value); flush_if_full (); statements from
        all cases to the end of the function.

2022-04-27  Kewen Lin  <linkw@linux.ibm.com>

        PR target/105271
        * config/rs6000/rs6000-builtins.def (NEG_V2DI): Move to [power8-vector]
        stanza.

2022-04-26  Thomas Schwinge  <thomas@codesourcery.com>

        * config/gcn/gcn.cc (gcn_print_lds_decl): Make "gang-private
        data-share memory exhausted" error more verbose.

2022-04-26  Martin Liska  <mliska@suse.cz>

        PR lto/105364
        * lto-wrapper.cc (print_lto_docs_link): Use global_dc.
        (run_gcc): Parse OPT_fdiagnostics_urls_.
        (main): Initialize global_dc.

2022-04-26  Jakub Jelinek  <jakub@redhat.com>

        PR rtl-optimization/105314
        * ifcvt.cc (noce_try_store_flag_mask): Don't require that the non-zero
        operand is equal to if_info->x, instead use the non-zero operand
        as one of the operands of AND with if_info->x as target.

2022-04-26  Jakub Jelinek  <jakub@redhat.com>

        PR tree-optimization/105374
        * tree-ssa-reassoc.cc (eliminate_redundant_comparison): Punt if
        !fold_convertible_p rather than assuming fold_convert must succeed.

2022-04-26  Jakub Jelinek  <jakub@redhat.com>

        PR target/105367
        * config/i386/i386.cc (ix86_veclibabi_svml, ix86_veclibabi_acml): Pass
        el_mode == DFmode ? double_type_node : float_type_node instead of
        TREE_TYPE (type_in) as first arguments to mathfn_built_in.

2022-04-25  David Malcolm  <dmalcolm@redhat.com>

        PR analyzer/104308
        * gimple-fold.cc (gimple_fold_builtin_memory_op): Explicitly set
        the location of new_stmt in all places that don't already set it,
        whether explicitly, or via a call to gsi_replace.

2022-04-25  Paul A. Clarke  <pc@us.ibm.com>

        * doc/extend.texi (Other Builtins): Correct reference to 'modff'.

2022-04-25  Andrew MacLeod  <amacleod@redhat.com>

        PR tree-optimization/105276
        * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Include
        existing global range with calculated value.

2022-04-25  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/105368
        * tree-ssa-math-opts.cc (powi_cost): Use absu_hwi.

2022-04-25  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/100810
        * tree-ssa-loop-ivopts.cc (struct iv_cand): Add involves_undefs flag.
        (find_ssa_undef): New function.
        (add_candidate_1): Avoid adding derived candidates with
        undefined SSA names and mark the original ones.
        (determine_group_iv_cost_generic): Reject rewriting
        uses with a different IV when that involves undefined SSA names.

2022-04-25  Steven G. Kargl  <kargl@gcc.gnu.org>

        PR target/89125
        * config/freebsd.h: Define TARGET_LIBC_HAS_FUNCTION to be
        bsd_libc_has_function.
        * targhooks.cc (bsd_libc_has_function): New function.
        Expand the supported math functions to inclue C99 libm.
        * targhooks.h (bsd_libc_has_function): New Prototype.

2022-04-25  Richard Biener  <rguenther@suse.de>

        PR rtl-optimization/105231
        * combine.cc (distribute_notes): Assert that a REG_EH_REGION
        with landing pad > 0 is from i3.  Put any REG_EH_REGION note
        on i3 or drop it if the insn can not trap.
        (try_combine): Ensure that we can merge REG_EH_REGION notes
        with non-call exceptions.  Ensure we are not splitting a
        trapping part of an insn with non-call exceptions when there
        is any REG_EH_REGION note to preserve.

2022-04-25  Hongyu Wang  <hongyu.wang@intel.com>

        PR target/105339
        * config/i386/avx512fintrin.h (_mm512_scalef_round_pd):
        Add parentheses for parameters and djust format.
        (_mm512_mask_scalef_round_pd): Ditto.
        (_mm512_maskz_scalef_round_pd): Ditto.
        (_mm512_scalef_round_ps): Ditto.
        (_mm512_mask_scalef_round_ps): Ditto.
        (_mm512_maskz_scalef_round_ps): Ditto.
        (_mm_scalef_round_sd): Use _mm_undefined_pd.
        (_mm_scalef_round_ss): Use _mm_undefined_ps.
        (_mm_mask_scalef_round_sd): New macro.
        (_mm_mask_scalef_round_ss): Ditto.
        (_mm_maskz_scalef_round_sd): Ditto.
        (_mm_maskz_scalef_round_ss): Ditto.

2022-04-23  Jakub Jelinek  <jakub@redhat.com>

        PR target/105338
        * config/i386/i386-expand.cc (ix86_expand_int_movcc): Handle
        op0 == cst1 ? op0 : op3 like op0 == cst1 ? cst1 : op3 for the non-cmov
        cases.

2022-04-22  Segher Boessenkool  <segher@kernel.crashing.org>

        PR target/105334
        * config/rs6000/rs6000.md (pack<mode> for FMOVE128): New expander.
        (pack<mode> for FMOVE128): Rename and split the insn_and_split to...
        (pack<mode>_hard for FMOVE128): ... this...
        (pack<mode>_soft for FMOVE128): ... and this.

2022-04-22  Paul A. Clarke  <pc@us.ibm.com>

        * doc/extend.texi: Correct "This" to "These".

2022-04-22  Jakub Jelinek  <jakub@redhat.com>

        PR rtl-optimization/105333
        * rtlanal.cc (replace_rtx): Use simplify_subreg or
        simplify_unary_operation if CONST_SCALAR_INT_P rather than just
        CONST_INT_P.

2022-04-21  Segher Boessenkool  <segher@kernel.crashing.org>

        PR target/103197
        PR target/102146
        * config/rs6000/rs6000.md (zero_extendqi<mode>2 for EXTQI): Disparage
        the "Z" alternatives in {l,st}{f,xs}iwzx.
        (zero_extendhi<mode>2 for EXTHI): Ditto.
        (zero_extendsi<mode>2 for EXTSI): Ditto.
        (*movsi_internal1): Ditto.
        (*mov<mode>_internal1 for QHI): Ditto.
        (movsd_hardfloat): Ditto.

2022-04-21  Martin Liska  <mliska@suse.cz>

        * configure.ac: Enable compressed debug sections for mold
        linker.
        * configure: Regenerate.

2022-04-21  Jakub Jelinek  <jakub@redhat.com>

        PR debug/105203
        * emit-rtl.cc (emit_copy_of_insn_after): Don't call mark_jump_label
        on DEBUG_INSNs.

2022-04-20  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/104912
        * tree-vect-loop-manip.cc (vect_loop_versioning): Split
        the cost model check to a separate BB to make sure it is
        checked first and not combined with other version checks.

2022-04-20  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/105312
        * gimple-isel.cc (gimple_expand_vec_cond_expr): Query both
        VCOND and VCONDU for EQ and NE.

2022-04-20  Jan Hubicka  <hubicka@ucw.cz>

        PR ipa/103818
        * ipa-modref-tree.cc (modref_access_node::closer_pair_p): Use
        poly_offset_int to avoid overflow.
        (modref_access_node::update2): likewise.

2022-04-20  Jakub Jelinek  <jakub@redhat.com>

        PR ipa/105306
        * cgraph.cc (cgraph_node::create): Set node->semantic_interposition
        to opt_for_fn (decl, flag_semantic_interposition).
        * cgraphclones.cc (cgraph_node::create_clone): Copy over
        semantic_interposition flag.

2022-04-19  Sergei Trofimovich  <siarheit@google.com>

        PR gcov-profile/105282
        * value-prof.cc (stream_out_histogram_value): Allow negative counts
        on HIST_TYPE_INDIR_CALL.

2022-04-19  Jakub Jelinek  <jakub@redhat.com>

        PR target/105257
        * config/sparc/sparc.cc (epilogue_renumber): If ORIGINAL_REGNO,
        use gen_raw_REG instead of gen_rtx_REG and copy over also
        ORIGINAL_REGNO.  Use return 0; instead of /* fallthrough */.

2022-04-19  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/104010
        PR tree-optimization/103941
        * tree-vect-slp.cc (vect_bb_slp_scalar_cost): When
        we run into stmts in patterns continue walking those
        for uses outside of the vectorized region instead of
        marking the lane live.

2022-04-18  Hans-Peter Nilsson  <hp@axis.com>

        * doc/install.texi <CRIS>: Remove references to removed websites and
        adjust for cris-*-elf being the only remaining toolchain.

2022-04-18  Hans-Peter Nilsson  <hp@axis.com>

        * doc/invoke.texi <CRIS>: Remove references to options for removed
        subtarget cris-axis-linux-gnu and tweak wording accordingly.

2022-04-16  Gerald Pfeifer  <gerald@pfeifer.com>

        * doc/install.texi (Specific): Adjust mingw-w64 download link.

2022-04-15  Hongyu Wang  <hongyu.wang@intel.com>

        * config/i386/smmintrin.h: Correct target pragma from sse4.1
        and sse4.2 to crc32 for crc32 intrinsics.

2022-04-14  Indu Bhagat  <indu.bhagat@oracle.com>

        PR debug/105089
        * ctfc.cc (ctf_dvd_ignore_insert): New function.
        (ctf_dvd_ignore_lookup): Likewise.
        (ctf_add_variable): Keep track of non-defining decl DIEs.
        (new_ctf_container): Initialize the new hash-table.
        (ctfc_delete_container): Empty hash-table.
        * ctfc.h (struct ctf_container): Add new hash-table.
        (ctf_dvd_ignore_lookup): New declaration.
        (ctf_add_variable): Add additional argument.
        * ctfout.cc (ctf_dvd_preprocess_cb): Skip adding CTF variable
        record for non-defining decl for which a defining decl exists
        in the same TU.
        (ctf_preprocess): Defer updating the number of global objts
        until here.
        (output_ctf_header): Use ctfc_vars_list_count as some CTF
        variables may not make it to the final output.
        (output_ctf_vars): Likewise.
        * dwarf2ctf.cc (gen_ctf_variable): Skip generating CTF variable
        if this is known to be a non-defining decl DIE.

2022-04-14  Indu Bhagat  <indu.bhagat@oracle.com>

        * ctfc.h (struct ctf_container): Introduce a new member.
        * ctfout.cc (ctf_list_add_ctf_vars): Use it instead of static
        variable.

2022-04-14  Jakub Jelinek  <jakub@redhat.com>

        PR target/105247
        * simplify-rtx.cc (simplify_const_binary_operation): For shifts
        or rotates by VOIDmode constant integer shift count use word_mode
        for the operand if int_mode is narrower than word.

2022-04-14  Robin Dapp  <rdapp@linux.ibm.com>

        * config/s390/s390.cc (s390_get_sched_attrmask): Add z16.
        (s390_get_unit_mask): Likewise.
        (s390_is_fpd): Likewise.
        (s390_is_fxd): Likewise.
        * config/s390/s390.h (s390_tune_attr): Set max tune level to z16.
        * config/s390/s390.md (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15):
        Add z16.
        (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15,z16):
        Likewise.
        * config/s390/3931.md: New file.

2022-04-13  Richard Sandiford  <richard.sandiford@arm.com>

        PR tree-optimization/105254
        * config/aarch64/aarch64.cc
        (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
        loop_vec_info as argument.  Restrict the unroll factor to values
        that divide the VF.
        (aarch64_vector_costs::finish_cost): Update call accordingly.

2022-04-13  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/105263
        * tree-ssa-reassoc.cc (try_special_add_to_ops): Do not consume
        negates in multiplication chains with DFP.

2022-04-13  Jakub Jelinek  <jakub@redhat.com>

        PR middle-end/105253
        * tree.cc (tree_builtin_call_types_compatible_p): If PROP_gimple,
        use useless_type_conversion_p checks instead of TYPE_MAIN_VARIANT
        comparisons or tree_nop_conversion_p checks.

2022-04-13  Hongyu Wang  <hongyu.wang@intel.com>

        PR target/103069
        * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop):
          Add missing set to target_val at pause label.

2022-04-13  Jakub Jelinek  <jakub@redhat.com>

        PR target/105234
        * attribs.cc (decl_attributes): Don't set
        DECL_FUNCTION_SPECIFIC_TARGET if target_option_default_node is
        NULL.

2022-04-13  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/105250
        * fold-const.cc (fold_convertible_p): Revert
        r12-7979-geaaf77dd85c333, instead check for size equality
        of the vector types involved.

2022-04-13  Richard Biener  <rguenther@suse.de>

        Revert:
        2022-04-13  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/104912
        * tree-vect-loop-manip.cc (vect_loop_versioning): Split
        the cost model check to a separate BB to make sure it is
        checked first and not combined with other version checks.

2022-04-13  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/104912
        * tree-vect-loop-manip.cc (vect_loop_versioning): Split
        the cost model check to a separate BB to make sure it is
        checked first and not combined with other version checks.

2022-04-13  Jakub Jelinek  <jakub@redhat.com>

        * tree-scalar-evolution.cc (expression_expensive_p): Fix a comment typo.

2022-04-12  Antoni Boucher  <bouanto@zoho.com>

        PR jit/104072
        * reginfo.cc: New functions (clear_global_regs_cache,
        reginfo_cc_finalize) to avoid an issue where compiling the same
        code multiple times gives an error about assigning the same
        register to 2 global variables.
        * rtl.h: New function (reginfo_cc_finalize).
        * toplev.cc: Call it.

2022-04-12  Antoni Boucher  <bouanto@zoho.com>

        PR jit/104071
        * toplev.cc: Call the new function tree_cc_finalize in
        toplev::finalize.
        * tree.cc: New functions (clear_nonstandard_integer_type_cache
        and tree_cc_finalize) to clear the cache of non-standard integer
        types to avoid having issues with some optimizations of
        bitcast where the SSA_NAME will have a size of a cached
        integer type that should have been invalidated, causing a
        comparison of integer constant to fail.
        * tree.h: New function (tree_cc_finalize).

2022-04-12  Thomas Schwinge  <thomas@codesourcery.com>

        PR target/97348
        * config/nvptx/nvptx.h (ASM_SPEC): Don't set.
        * config/nvptx/nvptx.opt (misa): Adjust comment.

2022-04-12  Thomas Schwinge  <thomas@codesourcery.com>

        Revert:
        2022-03-03  Tom de Vries  <tdevries@suse.de>

        * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.

2022-04-12  Thomas Schwinge  <thomas@codesourcery.com>

        Revert:
        2022-03-31  Tom de Vries  <tdevries@suse.de>

        * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.

2022-04-12  Richard Biener  <rguenther@suse.de>

        PR ipa/104303
        * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Do not
        include local escaped memory as obviously necessary stores.

2022-04-12  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/105235
        * tree-ssa-math-opts.cc (execute_cse_conv_1): Clean EH and
        return whether the CFG changed.
        (execute_cse_sincos_1): Adjust.

2022-04-12  Przemyslaw Wirkus  <Przemyslaw.Wirkus@arm.com>

        PR target/104144
        * config/arm/t-aprofile (MULTI_ARCH_OPTS_A): Remove Armv9-a options.
        (MULTI_ARCH_DIRS_A): Remove Armv9-a diretories.
        (MULTILIB_REQUIRED): Don't require Armv9-a libraries.
        (MULTILIB_MATCHES): Treat Armv9-a as equivalent to Armv8-a.
        (MULTILIB_REUSE): Remove remap rules for Armv9-a.
        * config/arm/t-multilib (v9_a_nosimd_variants): Delete.
        (MULTILIB_MATCHES): Remove mappings for v9_a_nosimd_variants.

2022-04-12  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/105232
        * tree.cc (component_ref_size): Bail out for too large
        or non-constant sizes.

2022-04-12  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/105226
        * tree-vect-loop-manip.cc (vect_loop_versioning): Verify
        we can split the exit of an outer loop we choose to version.

2022-04-12  Jakub Jelinek  <jakub@redhat.com>

        * config/i386/i386-expand.cc (ix86_emit_i387_sinh, ix86_emit_i387_cosh,
        ix86_emit_i387_tanh, ix86_emit_i387_asinh, ix86_emit_i387_acosh,
        ix86_emit_i387_atanh, ix86_emit_i387_log1p, ix86_emit_i387_round,
        ix86_emit_swdivsf, ix86_emit_swsqrtsf,
        ix86_expand_atomic_fetch_op_loop, ix86_expand_cmpxchg_loop):
        Formatting fix.
        * config/i386/i386.cc (warn_once_call_ms2sysv_xlogues): Likewise.

2022-04-12  Jakub Jelinek  <jakub@redhat.com>

        PR target/105214
        * config/i386/i386-expand.cc (ix86_emit_i387_log1p): Call
        do_pending_stack_adjust.

2022-04-12  Jakub Jelinek  <jakub@redhat.com>

        PR rtl-optimization/105211
        * builtins.cc (expand_builtin_int_roundingfn_2): If mathfn_built_in_1
        fails for TREE_TYPE (arg), retry it with
        TREE_VALUE (TYPE_ARG_TYPES (TREE_TYPE (fndecl))) and if even that
        fails, emit call normally.

2022-04-12  Andreas Krebbel  <krebbel@linux.ibm.com>

        * common/config/s390/s390-common.cc: Rename PF_ARCH14 to PF_Z16.
        * config.gcc: Add z16 as march/mtune switch.
        * config/s390/driver-native.cc (s390_host_detect_local_cpu):
        Recognize z16 with -march=native.
        * config/s390/s390-opts.h (enum processor_type): Rename
        PROCESSOR_ARCH14 to PROCESSOR_3931_Z16.
        * config/s390/s390.cc (PROCESSOR_ARCH14): Rename to ...
        (PROCESSOR_3931_Z16): ... throughout the file.
        (s390_processor processor_table): Add z16 as cpu string.
        * config/s390/s390.h (enum processor_flags): Rename PF_ARCH14 to
        PF_Z16.
        (TARGET_CPU_ARCH14): Rename to ...
        (TARGET_CPU_Z16): ... this.
        (TARGET_CPU_ARCH14_P): Rename to ...
        (TARGET_CPU_Z16_P): ... this.
        (TARGET_ARCH14): Rename to ...
        (TARGET_Z16): ... this.
        (TARGET_ARCH14_P): Rename to ...
        (TARGET_Z16_P): ... this.
        * config/s390/s390.md (cpu_facility): Rename arch14 to z16 and
        check TARGET_Z16 instead of TARGET_ARCH14.
        * config/s390/s390.opt: Add z16 to processor_type.
        * doc/invoke.texi: Document z16 and arch14.

2022-04-12  chenglulu  <chenglulu@loongson.cn>

        * config/loongarch/loongarch.cc: Fix bug for
        tmpdir-g++.dg-struct-layout-1/t033.

2022-04-11  Peter Bergner  <bergner@linux.ibm.com>

        PR target/104894
        * config/rs6000/rs6000.cc (rs6000_sibcall_aix): Handle pcrel sibcalls
        to longcall functions.

2022-04-11  Jason Merrill  <jason@redhat.com>

        * ipa-free-lang-data.cc (free_lang_data_in_decl): Fix typos.

2022-04-11  Segher Boessenkool  <segher@kernel.crashing.org>

        PR target/105213
        PR target/103623
        * config/rs6000/rs6000.md (unpack<mode>_nodm): Add m,r,i alternative.

2022-04-11  Jakub Jelinek  <jakub@redhat.com>

        PR tree-optimization/105218
        * tree-ssa-phiopt.cc (value_replacement): If middle_bb has
        more than one predecessor or phi's bb more than 2 predecessors,
        reset phi result uses instead of adding a debug temp.

2022-04-11  Kito Cheng  <kito.cheng@sifive.com>

        PR target/104853
        * config.gcc: Pass -misa-spec to arch-canonicalize and
        multilib-generator.
        * config/riscv/arch-canonicalize: Adding -misa-spec option.
        (SUPPORTED_ISA_SPEC): New.
        (arch_canonicalize): New argument `isa_spec`.
        Handle multiple ISA spec versions.
        * config/riscv/multilib-generator: Adding -misa-spec option.

2022-04-11  Kito Cheng  <kito.cheng@sifive.com>

        * config/riscv/arch-canonicalize: Add TODO item.
        (IMPLIED_EXT): Sync.
        (arch_canonicalize): Checking until no change.

2022-04-11  Tamar Christina  <tamar.christina@arm.com>

        PR target/105197
        * tree-vect-stmts.cc (vectorizable_condition): Prevent cond swap when
        not masked.

2022-04-11  Jason Merrill  <jason@redhat.com>

        PR c++/100370
        * pointer-query.cc (compute_objsize_r) [POINTER_PLUS_EXPR]: Require
        deref == -1.

2022-04-11  Jakub Jelinek  <jakub@redhat.com>

        PR tree-optimization/104639
        * tree-ssa-phiopt.cc: Include tree-ssa-propagate.h.
        (value_replacement): Optimize (x != cst1 ? x : cst2) != cst3
        into x != cst3.

2022-04-11  Jeff Law  <jeffreyalaw@gmail.com>

        * config/bfin/bfin.md (rol_one): Fix pattern to indicate the
        sign bit of the source ends up in CC.

2022-04-09  Jan Hubicka  <hubicka@ucw.cz>

        PR ipa/103376
        * cgraphunit.cc (cgraph_node::analyze): update semantic_interposition
        flag.

2022-04-09  Jan Hubicka  <hubicka@ucw.cz>

        * ipa-modref.cc (ipa_merge_modref_summary_after_inlining): Propagate
        nondeterministic and side_effects flags.

2022-04-08  Andre Vieira  <andre.simoesdiasvieira@arm.com>

        PR target/105157
        * config.gcc: Shift ext_mask by TARGET_CPU_NBITS.
        * config/aarch64/aarch64.h (TARGET_CPU_NBITS): New macro.
        (TARGET_CPU_MASK): Likewise.
        (TARGET_CPU_DEFAULT): Use TARGET_CPU_NBITS.
        * config/aarch64/aarch64.cc (aarch64_get_tune_cpu): Use TARGET_CPU_MASK.
        (aarch64_get_arch): Likewise.
        (aarch64_override_options): Use TARGET_CPU_NBITS.

2022-04-08  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/105198
        * tree-predcom.cc (find_looparound_phi): Check whether
        the found memory location of the entry value is clobbered
        inbetween the value we want to use and loop entry.

2022-04-08  Jakub Jelinek  <jakub@redhat.com>

        PR tree-optimization/105189
        * fold-const.cc (make_range_step): Fix up handling of
        (unsigned) x +[low, -] ranges for signed x if low fits into
        typeof (x).

2022-04-08  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/105175
        * tree-vect-stmts.cc (vectorizable_operation): Suppress
        -Wvector-operation-performance if using emulated vectors.
        * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
        -Wvector-operation-performance when suppressed.
        (expand_vector_parallel): Likewise.
        (expand_vector_comparison): Likewise.
        (expand_vector_condition): Likewise.
        (lower_vec_perm): Likewise.
        (expand_vector_conversion): Likewise.

2022-04-07  Tamar Christina  <tamar.christina@arm.com>

        PR target/104409
        * config/aarch64/aarch64-builtins.cc (handle_arm_acle_h): New.
        (aarch64_general_init_builtins): Move LS64 code.
        * config/aarch64/aarch64-c.cc (aarch64_pragma_aarch64): Support
        arm_acle.h
        * config/aarch64/aarch64-protos.h (handle_arm_acle_h): New.
        * config/aarch64/arm_acle.h: Add pragma GCC aarch64 "arm_acle.h".

2022-04-07  Richard Biener  <rguenther@suse.de>
            Jan Hubicka  <hubicka@ucw.cz>

        PR ipa/104303
        * tree-ssa-alias.h (ptr_deref_may_alias_global_p,
        ref_may_alias_global_p, ref_may_alias_global_p,
        stmt_may_clobber_global_p, pt_solution_includes_global): Add
        bool parameters indicating whether escaped locals should be
        considered global.
        * tree-ssa-structalias.cc (pt_solution_includes_global):
        When the new escaped_nonlocal_p flag is true also consider
        pt->vars_contains_escaped.
        * tree-ssa-alias.cc (ptr_deref_may_alias_global_p):
        Pass down new escaped_nonlocal_p flag.
        (ref_may_alias_global_p): Likewise.
        (stmt_may_clobber_global_p): Likewise.
        (ref_may_alias_global_p_1): Likewise.  For decls also
        query the escaped solution if true.
        (ref_may_access_global_memory_p): Remove.
        (modref_may_conflict): Use ref_may_alias_global_p with
        escaped locals considered global.
        (ref_maybe_used_by_stmt_p): Adjust.
        * ipa-fnsummary.cc (points_to_local_or_readonly_memory_p):
        Likewise.
        * tree-ssa-dse.cc (dse_classify_store): Likewise.
        * trans-mem.cc (thread_private_new_memory): Likewise, but
        consider escaped locals global.
        * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Likewise.

2022-04-07  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/105185
        * tree-ssa-sccvn.cc (visit_reference_op_call): Simplify
        modref query again.

2022-04-07  Tamar Christina  <tamar.christina@arm.com>

        PR target/104049
        * config/aarch64/aarch64-simd.md
        (aarch64_reduc_plus_internal<mode>): Fix RTL and rename to...
        (reduc_plus_scal_<mode>): ... This.
        (reduc_plus_scal_v4sf): Moved.
        (aarch64_reduc_plus_internalv2si): Fix RTL and rename to...
        (reduc_plus_scal_v2si): ... This.

2022-04-07  Jakub Jelinek  <jakub@redhat.com>

        PR tree-optimization/102586
        * langhooks.h (struct lang_hooks_for_types): Add classtype_as_base
        langhook.
        * langhooks-def.h (LANG_HOOKS_CLASSTYPE_AS_BASE): Define.
        (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add it.
        * gimple-fold.cc (clear_padding_type): Use ftype instead of
        TREE_TYPE (field) some more.  For artificial FIELD_DECLs without
        name try the lang_hooks.types.classtype_as_base langhook and
        if it returns non-NULL, use that instead of ftype for recursive call.

2022-04-07  Jakub Jelinek  <jakub@redhat.com>

        PR tree-optimization/105150
        * tree.cc (tree_builtin_call_types_compatible_p): New function.
        (get_call_combined_fn): Use it.

2022-04-07  Richard Biener  <rguenther@suse.de>

        PR middle-end/105165
        * tree-complex.cc (expand_complex_asm): Sorry for asm goto
        _Complex outputs.

2022-04-07  liuhongt  <hongtao.liu@intel.com>

        * config/i386/sse.md (<sse2_avx2>_andnot<mode>3_mask):
        Removed.
        (<sse>_andnot<mode>3<mask_name>): Disable V*HFmode patterns
        for mask_applied.
        (<code><mode>3<mask_name>): Ditto.
        (*<code><mode>3<mask_name>): Ditto.
        (VFB_128_256): Adjust condition of V8HF/V16HFmode according to
        real instruction.
        (VFB_512): Ditto.
        (VFB): Ditto.

2022-04-06  Jakub Jelinek  <jakub@redhat.com>

        PR rtl-optimization/104985
        * combine.cc (struct undo): Add where.regno member.
        (do_SUBST_MODE): Rename to ...
        (subst_mode): ... this.  Change first argument from rtx * into int,
        operate on regno_reg_rtx[regno] and save regno into where.regno.
        (SUBST_MODE): Remove.
        (try_combine): Use subst_mode instead of SUBST_MODE, change first
        argument from regno_reg_rtx[whatever] to whatever.  For UNDO_MODE, use
        regno_reg_rtx[undo->where.regno] instead of *undo->where.r.
        (undo_to_marker): For UNDO_MODE, use regno_reg_rtx[undo->where.regno]
        instead of *undo->where.r.
        (simplify_set): Use subst_mode instead of SUBST_MODE, change first
        argument from regno_reg_rtx[whatever] to whatever.

2022-04-06  Jakub Jelinek  <jakub@redhat.com>

        PR target/105069
        * config/sh/sh.opt (mdiv=): Add Save.

2022-04-06  Martin Liska  <mliska@suse.cz>

        PR driver/105096
        * common.opt: Document properly based on what it does.
        * gcc.cc (display_help): Unify with what we have in common.opt.
        * opts.cc (common_handle_option): Do not print undocumented
        options.

2022-04-06  Xi Ruoyao  <xry111@mengyan1223.wang>

        * config/mips/mips.cc (mips_fpr_return_fields): Ignore
        cxx17_empty_base_field_p fields and set an indicator.
        (mips_return_in_msb): Adjust for mips_fpr_return_fields change.
        (mips_function_value_1): Inform psABI change about C++17 empty
        bases.

2022-04-06  Jakub Jelinek  <jakub@redhat.com>

        PR tree-optimization/105150
        * gimple.cc (gimple_builtin_call_types_compatible_p): Use
        builtin_decl_explicit here...
        (gimple_call_builtin_p, gimple_call_combined_fn): ... rather than
        here.

2022-04-06  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/105173
        * tree-ssa-reassoc.cc (find_insert_point): Get extra
        insert_before output argument and compute it.
        (insert_stmt_before_use): Adjust.
        (rewrite_expr_tree): Likewise.

2022-04-06  Richard Biener  <rguenther@suse.de>

        PR ipa/105166
        * ipa-modref-tree.cc (modref_access_node::get_ao_ref ): Bail
        out for non-pointer arguments.

2022-04-06  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/105163
        * tree-ssa-reassoc.cc (repropagate_negates): Avoid propagating
        negated abnormals.

2022-04-06  Jakub Jelinek  <jakub@redhat.com>

        PR tree-optimization/105150
        * gimple.cc (gimple_call_builtin_p, gimple_call_combined_fn):
        For BUILT_IN_NORMAL calls, call gimple_builtin_call_types_compatible_p
        preferrably on builtin_decl_explicit decl rather than fndecl.
        * tree-ssa-strlen.cc (valid_builtin_call): Don't call
        gimple_builtin_call_types_compatible_p here.

2022-04-06  Richard Sandiford  <richard.sandiford@arm.com>

        PR tree-optimization/103761
        * tree-vect-stmts.cc (check_load_store_for_partial_vectors): Replace
        the ncopies parameter with an slp_node parameter.  Calculate the
        number of vectors based on it and vectype.  Rename lambda to
        group_memory_nvectors.
        (vectorizable_store, vectorizable_load): Update calls accordingly.

2022-04-06  Martin Liska  <mliska@suse.cz>

        * doc/invoke.texi: Document it.

2022-04-06  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/105148
        * tree-ssa-loop-ivopts.cc (idx_record_use): Walk raw operands
        2 and 3 of ARRAY_REFs.

2022-04-06  Roger Sayle  <roger@nextmovesoftware.com>

        * config/i386/sse.md (ANDNOT_MODE): New mode iterator for TF and V1TI.
        (*andnottf3): Replace with...
        (*andnot<mode>3): New define_insn using ANDNOT_MODE.

2022-04-06  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/105142
        * gimple-fold.h (maybe_fold_and_comparisons): Add defaulted
        basic-block parameter.
        (maybe_fold_or_comparisons): Likewise.
        * gimple-fold.cc (follow_outer_ssa_edges): New.
        (maybe_fold_comparisons_from_match_pd): Use follow_outer_ssa_edges
        when an outer condition basic-block is specified.
        (and_comparisons_1, and_var_with_comparison,
        and_var_with_comparison_1, or_comparisons_1,
        or_var_with_comparison, or_var_with_comparison_1): Receive and pass
        down the outer condition basic-block.
        * tree-ssa-ifcombine.cc (ifcombine_ifandif): Pass down the
        basic-block of the outer condition.

2022-04-06  Kewen Lin  <linkw@linux.ibm.com>

        PR target/105002
        * config/rs6000/rs6000.cc (rs6000_maybe_emit_maxc_minc): Support more
        comparison codes UNLT/UNLE/UNGT/UNGE.

2022-04-05  David Malcolm  <dmalcolm@redhat.com>

        * doc/extend.texi (Common Function Attributes): Document that
        'access' does not imply 'nonnull'.

2022-04-05  Uroš Bizjak  <ubizjak@gmail.com>

        PR target/105139
        * config/i386/mmx.md (*movv2qi_internal):
        Change insn mode of alternative 5 to HF for TARGET_AVX512FP16.

2022-04-05  Richard Sandiford  <richard.sandiford@arm.com>

        * config/aarch64/aarch64.md (aarch64_cpymemdi): Turn into a
        define_expand and turn operands 0 and 1 from REGs to MEMs.
        (*aarch64_cpymemdi): New pattern.
        (aarch64_setmemdi): Turn into a define_expand and turn operand 0
        from a REG to a MEM.
        (*aarch64_setmemdi): New pattern.
        * config/aarch64/aarch64.cc (aarch64_expand_cpymem_mops): Use
        copy_to_mode_reg on all three registers.  Replace the original
        MEM addresses rather than creating wild reads and writes.
        (aarch64_expand_setmem_mops): Likewise for the size and for the
        destination memory and address.

2022-04-05  Richard Sandiford  <richard.sandiford@arm.com>

        PR target/103147
        * config/aarch64/aarch64-protos.h (aarch64_simd_switcher): New class.
        * config/aarch64/aarch64-sve-builtins.h (sve_switcher): Inherit
        from aarch64_simd_switcher.
        * config/aarch64/aarch64-builtins.cc (aarch64_simd_tuple_modes):
        New variable.
        (aarch64_lookup_simd_builtin_type): Use it instead of TYPE_MODE.
        (register_tuple_type): Add more asserts.  Expect the alignment
        of the structure to be subject to flag_pack_struct and
        maximum_field_alignment.  Set aarch64_simd_tuple_modes.
        (aarch64_simd_switcher::aarch64_simd_switcher): New function.
        (aarch64_simd_switcher::~aarch64_simd_switcher): Likewise.
        (handle_arm_neon_h): Hold an aarch64_simd_switcher throughout.
        (aarch64_general_init_builtins): Hold an aarch64_simd_switcher
        while calling aarch64_init_simd_builtins.
        * config/aarch64/aarch64-sve-builtins.cc (sve_switcher::sve_switcher)
        (sve_switcher::~sve_switcher): Remove code now performed by
        aarch64_simd_switcher.

2022-04-05  Richard Sandiford  <richard.sandiford@arm.com>

        PR target/104897
        * config/aarch64/aarch64-sve-builtins.cc
        (function_resolver::infer_vector_or_tuple_type): Use error_n
        for "%d vectors" messages.

2022-04-05  Chung-Lin Tang  <cltang@codesourcery.com>

        * omp-low.cc (lower_omp_target): Use outer context looked-up 'var' as
        argument to lang_hooks.decls.omp_array_data, instead of 'ovar' from
        current clause.

2022-04-05  Richard Biener  <rguenther@suse.de>

        PR c/105151
        * passes.def (pass_walloca): Move early instance into
        pass_build_ssa_passes to make SSA form available.

2022-04-05  liuhongt  <hongtao.liu@intel.com>

        PR target/101908
        * config/i386/i386.cc (ix86_split_stlf_stall_load): New
        function
        (ix86_reorg): Call ix86_split_stlf_stall_load.
        * config/i386/i386.opt (-param=x86-stlf-window-ninsns=): New
        param.

2022-04-05  Alexandre Oliva  <oliva@adacore.com>

        * targhooks.cc (default_zero_call_used_regs): Attempt to group
        regs that the target refuses to use in their natural modes.
        (zcur_select_mode_rtx): New.
        * regs.h (struct target_regs): Add x_hard_regno_max_nregs.
        (hard_regno_max_nregs): Define.
        * reginfo.cc (init_reg_modes_target): Set hard_regno_max_nregs.

2022-04-04  Alex Coplan  <alex.coplan@arm.com>

        * doc/match-and-simplify.texi: Fix typos.

2022-04-04  Jakub Jelinek  <jakub@redhat.com>

        PR target/105144
        * config/aarch64/t-aarch64 (s-aarch64-tune-md): Do move-if-change
        only if configured with --enable-maintainer-mode, otherwise compare
        tmp-aarch64-tune.md with $(srcdir)/config/aarch64/aarch64-tune.md and
        if they differ, emit a message and fail.

2022-04-04  Jakub Jelinek  <jakub@redhat.com>

        PR target/105144
        * config/aarch64/t-aarch64 (s-mddeps): Depend on s-aarch64-tune-md.
        * config/aarch64/aarch64-tune.md: Regenerated.

2022-04-04  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/105132
        * tree-vect-stmts.cc (vectorizable_operation): Check that
        the input vectors have the same number of elements.

2022-04-04  Richard Biener  <rguenther@suse.de>

        PR middle-end/105140
        * fold-const.cc (fold_convertible_p): Allow a TYPE_P arg.

2022-04-03  Jeff Law  <jeffreyalaw@gmail.com>

        PR target/104987
        * config/iq2000/iq2000.md (bbi): New attribute,  default to no.
        (delay slot descripts): Use different delay slot description when
        the insn as the "bbi" attribute.
        (bbi, bbin patterns): Set the bbi attribute to yes.

2022-04-03  Jakub Jelinek  <jakub@redhat.com>

        PR target/105123
        * config/i386/i386-expand.cc (ix86_expand_vector_init_general): Avoid
        using word as target for expand_simple_binop when doing ASHIFT and
        IOR.

2022-04-02  Xi Ruoyao  <xry111@mengyan1223.wang>

        * config/mips/mips.cc (mips_function_arg): Check if DECL_SIZE is
        NULL before dereferencing it.

2022-04-01  Qing Zhao  <qing.zhao@oracle.com>

        * config/i386/i386.cc (zero_all_st_registers): Return the value of
        num_of_st.
        (ix86_zero_call_used_regs): Update zeroed_hardregs set according to
        the return value of zero_all_st_registers.
        * doc/tm.texi: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
        * function.cc (gen_call_used_regs_seq): Add an assertion.
        * target.def: Update the documentation of TARGET_ZERO_CALL_USED_REGS.

2022-04-01  Xi Ruoyao  <xry111@mengyan1223.wang>

        PR target/102024
        * config/mips/mips.cc (mips_function_arg): Ignore zero-width
        fields, and inform if it causes a psABI change.

2022-04-01  Xi Ruoyao  <xry111@mengyan1223.wang>

        PR target/102024
        * config/mips/mips.cc (mips_fpr_return_fields): Detect C++
        zero-width bit-fields and set up an indicator.
        (mips_return_in_msb): Adapt for mips_fpr_return_fields change.
        (mips_function_value_1): Diagnose when the presense of a C++
        zero-width bit-field changes function returning in GCC 12.

2022-04-01  Jakub Jelinek  <jakub@redhat.com>

        PR tree-optimization/104645
        * tree-ssa-phiopt.cc (value_replacement): If assign has
        CONVERT_EXPR_CODE_P rhs_code, treat it like a preparation
        statement with constant evaluation.

2022-04-01  YunQiang Su  <yunqiang.su@cipunited.com>

        * config/mips/mips.cc (mips_expand_prologue):
          IPL is 8bit for MCU ASE.

2022-03-31  Bill Schmidt  <wschmidt@linux.ibm.com>

        PR target/104004
        * config/rs6000/rs6000-builtins.def (MFFSL): Mark nosoft.
        (MTFSB0): Likewise.
        (MTFSB1): Likewise.
        (SET_FPSCR_RN): Likewise.
        (SET_FPSCR_DRN): Mark nosoft and no32bit.

2022-03-31  Thomas Schwinge  <thomas@codesourcery.com>

        * doc/options.texi (Option file format): Clarifications around
        option definition records' help texts.

2022-03-31  Thomas Schwinge  <thomas@codesourcery.com>

        * optc-gen.awk <END>: Fix "Multiple different help strings" error
        diagnostic.

2022-03-31  Andre Vieira  <andre.simoesdiasvieira@arm.com>

        * config/aarch64/aarch64.cc (aarch64_vector_costs): Define
        determine_suggested_unroll_factor and m_has_avg.
        (determine_suggested_unroll_factor): New function.
        (aarch64_vector_costs::add_stmt_cost): Check for a qualifying pattern
        to set m_nosve_pattern.
        (aarch64_vector_costs::finish_costs): Use
        determine_suggested_unroll_factor.
        * config/aarch64/aarch64.opt (aarch64-vect-unroll-limit): New.
        * doc/invoke.texi: (aarch64-vect-unroll-limit): Document new option.

2022-03-31  Martin Jambor  <mjambor@suse.cz>

        PR ipa/103083
        * ipa-prop.h (ipa_ancestor_jf_data): New flag keep_null;
        (ipa_get_jf_ancestor_keep_null): New function.
        * ipa-prop.cc (ipa_set_ancestor_jf): Initialize keep_null field of the
        ancestor function.
        (compute_complex_assign_jump_func): Pass false to keep_null
        parameter of ipa_set_ancestor_jf.
        (compute_complex_ancestor_jump_func): Pass true to keep_null
        parameter of ipa_set_ancestor_jf.
        (update_jump_functions_after_inlining): Carry over keep_null from the
        original ancestor jump-function or merge them.
        (ipa_write_jump_function): Stream keep_null flag.
        (ipa_read_jump_function): Likewise.
        (ipa_print_node_jump_functions_for_edge): Print the new flag.
        * ipa-cp.cc (class ipcp_bits_lattice): Make various getters const.  New
        member function known_nonzero_p.
        (ipcp_bits_lattice::known_nonzero_p): New.
        (ipcp_bits_lattice::meet_with_1): New parameter drop_all_ones,
        observe it.
        (ipcp_bits_lattice::meet_with): Likewise.
        (propagate_bits_across_jump_function): Simplify.  Pass true in
        drop_all_ones when it is necessary.
        (propagate_aggs_across_jump_function): Take care of keep_null
        flag.
        (ipa_get_jf_ancestor_result): Propagate NULL accross keep_null
        jump functions.

2022-03-31  Martin Jambor  <mjambor@suse.cz>

        PR ipa/102513
        * ipa-cp.cc (decide_whether_version_node): Skip scalar values
        which do not fit the known value_range.

2022-03-31  Martin Jambor  <mjambor@suse.cz>

        PR ipa/103171
        * ipa-prop.cc (propagate_controlled_uses): Add a LOAD reference
        always when an ADDR_EXPR constant is known to reach a load because
        of inlining, not just when removing an ADDR reference.

2022-03-31  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/105109
        * tree-ssa.cc (execute_update_addresses_taken): Suppress
        diagnostics on the load of the other complex component.

2022-03-31  Tom de Vries  <tdevries@suse.de>

        * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.

2022-03-31  Richard Biener  <rguenther@suse.de>

        PR rtl-optimization/105091
        * gimple-expr.cc (mark_addressable): Handle TARGET_MEM_REF
        bases.

2022-03-31  Richard Biener  <rguenther@suse.de>

        Revert:
        2021-09-13  Richard Earnshaw  <rearnsha@arm.com>

        PR target/102125
        * gimple-fold.c (gimple_fold_builtin_memory_op): Allow folding
        memcpy if the size is not more than MOVE_MAX * MOVE_RATIO.

2022-03-31  Sebastian Huber  <sebastian.huber@embedded-brains.de>

        * gcov-io.cc (gcov_read_string): Reword documentation comment.

2022-03-30  Bill Schmidt  <wschmidt@linux.ibm.com>

        * config/rs6000/rs6000-builtins.def (NEG_V16QI): Move to [altivec]
        stanza.
        (NEG_V4SF): Likewise.
        (NEG_V4SI): Likewise.
        (NEG_V8HI): Likewise.
        (NEG_V2DF): Move to [vsx] stanza.
        (NEG_V2DI): Likewise.

2022-03-30  Vladimir N. Makarov  <vmakarov@redhat.com>

        PR middle-end/105032
        * lra-assigns.cc (find_reload_regno_insns): Modify loop condition.

2022-03-30  Tom de Vries  <tdevries@suse.de>
            Tobias Burnus  <tobias@codesourcery.com>

        * doc/invoke.texi (march): Document __PTX_SM__.
         (mptx): Document __PTX_ISA_VERSION_MAJOR__ and
         __PTX_ISA_VERSION_MINOR__.

2022-03-30  Jakub Jelinek  <jakub@redhat.com>

        PR sanitizer/105093
        * ubsan.cc (instrument_object_size): If t is equal to inner and
        is a decl other than global var, punt.  When emitting call to
        UBSAN_OBJECT_SIZE ifn, make sure base is addressable.

2022-03-30  Jakub Jelinek  <jakub@redhat.com>

        PR tree-optimization/105094
        * gimple-ssa-store-merging.cc (mem_valid_for_store_merging): Punt if
        bitsize <= 0 rather than just == 0.

2022-03-30  Tom de Vries  <tdevries@suse.de>

        * doc/invoke.texi (misa, mptx): Update.
        (march, march-map): Add.

2022-03-30  Thomas Schwinge  <thomas@codesourcery.com>

        * opt-functions.awk (n_args): New function.
        (lang_enabled_by): Merge function into...
        * optc-gen.awk <END>: ... sole user here.
        Improve diagnostics.

2022-03-29  Marek Polacek  <polacek@redhat.com>
            Jakub Jelinek  <jakub@redhat.com>

        PR middle-end/103597
        * gimplify.cc (collect_fallthrough_labels): Don't push UNUSED_LABEL_Ps
        into labels.  Maybe set prev to the statement preceding UNUSED_LABEL_P.
        (gimplify_cond_expr): Set UNUSED_LABEL_P.
        * tree.h (UNUSED_LABEL_P): New.

2022-03-29   Michael Meissner  <meissner@linux.ibm.com>

        * config/rs6000/vsx.md (vsx_extract_<mode>): Allow destination to
        be any VSX register.

2022-03-29  Richard Earnshaw  <rearnsha@arm.com>

        PR target/102024
        * config/aarch64/aarch64.cc (aapcs_vfp_sub_candidate): Handle
        zero-sized bit-fields.  Detect cases where a warning may be needed.
        (aarch64_vfp_is_call_or_return_candidate): Emit a note if a
        zero-sized bit-field has caused parameter passing to change.

2022-03-29  Richard Earnshaw  <rearnsha@arm.com>

        PR target/102024
        * config/arm/arm.cc (aapcs_vfp_sub_candidate): Handle zero-sized
        bit-fields.  Detect cases where a warning may be needed.
        (aapcs_vfp_is_call_or_return_candidate): Emit a note if
        a zero-sized bit-field has caused parameter passing to change.

2022-03-29  Richard Earnshaw  <rearnsha@arm.com>

        PR target/96882
        * config/arm/arm.cc (arm_get_pcs_model): Disable selection of
        ARM_PCS_AAPCS_LOCAL.

2022-03-29  Tom de Vries  <tdevries@suse.de>

        PR target/104857
        * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Emit
        __PTX_ISA_VERSION_MAJOR__ and __PTX_ISA_VERSION_MINOR__.
        * config/nvptx/nvptx.cc (ptx_version_to_number): New function.
        * config/nvptx/nvptx-protos.h (ptx_version_to_number): Declare.

2022-03-29  Tom de Vries  <tdevries@suse.de>

        * config/nvptx/nvptx.opt (m64): Update help text to reflect that it
        is ignored.

2022-03-29  Tom de Vries  <tdevries@suse.de>

        PR target/104714
        * config/nvptx/nvptx.opt (march-map=*): Add aliases.

2022-03-29  Jan Hubicka  <hubicka@ucw.cz>

        * config/i386/i386-builtins.cc (ix86_vectorize_builtin_gather): Test
        TARGET_USE_GATHER_2PARTS and TARGET_USE_GATHER_4PARTS.
        * config/i386/i386.h (TARGET_USE_GATHER_2PARTS): New macro.
        (TARGET_USE_GATHER_4PARTS): New macro.
        * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): New tune
        (X86_TUNE_USE_GATHER_4PARTS): New tune

2022-03-29  Tom de Vries  <tdevries@suse.de>

        * config/nvptx/nvptx.opt (march): Add alias of misa.

2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
            Lulu Cheng  <chenglulu@loongson.cn>

        * doc/install.texi: Add LoongArch options section.
        * doc/invoke.texi: Add LoongArch options section.
        * doc/md.texi: Add LoongArch options section.

2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
            Lulu Cheng  <chenglulu@loongson.cn>

        * config/loongarch/loongarch-c.cc

2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
            Lulu Cheng  <chenglulu@loongson.cn>

        * config/loongarch/larchintrin.h: New file.
        * config/loongarch/loongarch-builtins.cc: New file.

2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
            Lulu Cheng  <chenglulu@loongson.cn>

        * config/host-linux.cc: Add LoongArch support.
        * config/loongarch/loongarch-protos.h: New file.
        * config/loongarch/loongarch-tune.h: Likewise.
        * config/loongarch/loongarch.cc: Likewise.
        * config/loongarch/loongarch.h: Likewise.

2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
            Lulu Cheng  <chenglulu@loongson.cn>

        * config/loongarch/constraints.md: New file.
        * config/loongarch/generic.md: New file.
        * config/loongarch/la464.md: New file.
        * config/loongarch/loongarch-ftypes.def: New file.
        * config/loongarch/loongarch-modes.def: New file.
        * config/loongarch/loongarch.md: New file.
        * config/loongarch/predicates.md: New file.
        * config/loongarch/sync.md: New file.

2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
            Lulu Cheng  <chenglulu@loongson.cn>

        * configure: Regenerate file.

2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
            Lulu Cheng  <chenglulu@loongson.cn>

        * common/config/loongarch/loongarch-common.cc: New file.
        * config/loongarch/genopts/genstr.sh: New file.
        * config/loongarch/genopts/loongarch-strings: New file.
        * config/loongarch/genopts/loongarch.opt.in: New file.
        * config/loongarch/loongarch-str.h: New file.
        * config/loongarch/gnu-user.h: New file.
        * config/loongarch/linux.h: New file.
        * config/loongarch/loongarch-cpu.cc: New file.
        * config/loongarch/loongarch-cpu.h: New file.
        * config/loongarch/loongarch-def.c: New file.
        * config/loongarch/loongarch-def.h: New file.
        * config/loongarch/loongarch-driver.cc: New file.
        * config/loongarch/loongarch-driver.h: New file.
        * config/loongarch/loongarch-opts.cc: New file.
        * config/loongarch/loongarch-opts.h: New file.
        * config/loongarch/loongarch.opt: New file.
        * config/loongarch/t-linux: New file.
        * config/loongarch/t-loongarch: New file.
        * config.gcc: Add LoongArch support.
        * configure.ac: Add LoongArch support.

2022-03-29  Thomas Schwinge  <thomas@codesourcery.com>

        * opt-functions.awk (lang_enabled_by): Fix 'enabledby_negargs'
        typo.

2022-03-29  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/105080
        * tree-ssa-strlen.cc (printf_strlen_execute): Always init
        loops and SCEV.

2022-03-28  Indu Bhagat  <indu.bhagat@oracle.com>

        * ctfout.cc (ctf_preprocess): Use ctfc_get_num_ctf_vars instead.
        (output_ctf_vars): Likewise.

2022-03-28  Jason Merrill  <jason@redhat.com>

        PR c++/59426
        * doc/extend.texi: Refer to __is_trivial instead of __is_pod.

2022-03-28  H.J. Lu  <hjl.tools@gmail.com>

        PR target/105068
        * config/i386/sse.md (*ssse3_pshufbv8qi3): Also replace "Yv" with
        "Yw" in clobber.

2022-03-28  Tom de Vries  <tdevries@suse.de>

        PR target/104818
        * config/nvptx/gen-opt.sh (ptx_isa): Improve help text.
        * config/nvptx/nvptx-gen.opt: Regenerate.
        * config/nvptx/nvptx.opt (misa, mptx, ptx_version): Improve help text.
        * config/nvptx/t-nvptx (s-nvptx-gen-opt): Add missing dependency on
        gen-opt.sh.

2022-03-28  David Malcolm  <dmalcolm@redhat.com>

        PR analyzer/104308
        * gimple-fold.cc (gimple_fold_builtin_memory_op): When optimizing
        to loads then stores, set the location of the new load stmt.

2022-03-28  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/105070
        * tree-switch-conversion.h
        (bit_test_cluster::hoist_edge_and_branch_if_true): Add location
        argument.
        * tree-switch-conversion.cc
        (bit_test_cluster::hoist_edge_and_branch_if_true): Annotate
        cond with location.
        (bit_test_cluster::emit): Annotate all generated expressions
        with location.

2022-03-28  Andre Vieira  <andre.simoesdiasvieira@arm.com>

        * config/aarch64/aarch64-cores.def: Update Neoverse N2 core entry.

2022-03-28  liuhongt  <hongtao.liu@intel.com>

        PR target/105066
        * config/i386/sse.md (vec_set<mode>_0): Change attr "isa" of
        alternative 4 from sse4_noavx to noavx.

2022-03-28  Jakub Jelinek  <jakub@redhat.com>

        PR tree-optimization/105056
        * tree-predcom.cc (component::component): Initialize also comp_step.

2022-03-27  H.J. Lu  <hjl.tools@gmail.com>

        PR target/105068
        * config/i386/sse.md (*ssse3_pshufbv8qi3): Replace "Yv" with
        "Yw".

2022-03-26  Roger Sayle  <roger@nextmovesoftware.com>

        PR middle-end/104885
        * calls.cc (mark_stack_region_used): Check that the region
        is within the allocated size of stack_usage_map.

2022-03-26  Jakub Jelinek  <jakub@redhat.com>

        PR rtl-optimization/103775
        * recog.cc (check_invalid_inc_dec): New function.
        (insn_invalid_p): Return 1 if REG_INC operand overlaps
        any stored REGs.

2022-03-26  H.J. Lu  <hjl.tools@gmail.com>

        PR target/105058
        * config/i386/sse.md (loadiwkey): Replace "v" with "x".
        (aes<aesklvariant>u8): Likewise.

2022-03-26  H.J. Lu  <hjl.tools@gmail.com>

        PR target/105052
        * config/i386/sse.md (ssse3_ph<plusminus_mnemonic>wv4hi3):
        Replace "Yv" with "x".
        (ssse3_ph<plusminus_mnemonic>dv2si3): Likewise.
        (ssse3_psign<mode>3): Likewise.

2022-03-26  Hans-Peter Nilsson  <hp@axis.com>

        * reload.cc (find_reloads): Align comment with code where
        considering the intersection of register classes then tweaking the
        regclass for the current alternative or rejecting it.

2022-03-25  Christophe Lyon  <christohe.lyon@arm.com>

        PR target/104882
        Revert
        2021-06-11  Christophe Lyon  <christophe.lyon@linaro.org>

        * config/arm/mve.md (mve_vec_unpack<US>_lo_<mode>): Delete.
        (mve_vec_unpack<US>_hi_<mode>): Delete.
        (@mve_vec_pack_trunc_lo_<mode>): Delete.
        (mve_vmovntq_<supf><mode>): Remove '@' prefix.
        * config/arm/neon.md (vec_unpack<US>_hi_<mode>): Move back
        from vec-common.md.
        (vec_unpack<US>_lo_<mode>): Likewise.
        (vec_pack_trunc_<mode>): Rename from
        neon_quad_vec_pack_trunc_<mode>.
        * config/arm/vec-common.md (vec_unpack<US>_hi_<mode>): Delete.
        (vec_unpack<US>_lo_<mode>): Delete.
        (vec_pack_trunc_<mode>): Delete.

2022-03-25  Vladimir N. Makarov  <vmakarov@redhat.com>

        PR middle-end/104971
        * lra-lives.cc (process_bb_lives): Check hard_regs_live for hard
        regs to clear remove_p flag.

2022-03-25  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/105053
        * tree-vect-loop.cc (vect_create_epilog_for_reduction): Pick
        the correct live-out stmt for a reduction chain.

2022-03-25  Richard Biener  <rguenther@suse.de>

        PR middle-end/105049
        * tree.cc (uniform_vector_p): Recurse for VECTOR_CST or
        CONSTRUCTOR first elements.

2022-03-25  Tobias Burnus  <tobias@codesourcery.com>

        PR analyzer/103533
        * doc/invoke.texi (Static Analyzer Options): Move
        @ignore block after @gccoptlist's '}' for 'make pdf'.

2022-03-25  David Malcolm  <dmalcolm@redhat.com>

        PR analyzer/104954
        * doc/invoke.texi (Static Analyzer Options): Add
        -fdump-analyzer-untracked.

2022-03-25  Avinash Sonawane  <rootkea@gmail.com>

        PR analyzer/103533
        * doc/invoke.texi: Document that enabling taint analyzer
        checker disables some warnings from `-fanalyzer`.

2022-03-24  Alexandre Oliva  <oliva@adacore.com>

        PR debug/104564
        * gimple-harden-conditionals.cc (detach_value): Keep temps
        anonymous.

2022-03-24  Alexandre Oliva  <oliva@adacore.com>

        PR middle-end/104975
        * gimple-harden-conditionals.cc
        (pass_harden_compares::execute): Force split in case of
        multiple edges.

2022-03-24  Jakub Jelinek  <jakub@redhat.com>

        PR c++/105035
        * fold-const.cc (operand_equal_p) <case COMPONENT_REF>: If either
        field0 or field1 is not a FIELD_DECL, return false.

2022-03-24  Richard Biener  <rguenther@suse.de>

        * tree-predcom.cc (chain::chain): Add CTOR.
        (component::component): Likewise.
        (pcom_worker::release_chain): Use delete.
        (release_components): Likewise.
        (pcom_worker::filter_suitable_components): Likewise.
        (pcom_worker::split_data_refs_to_components): Use new.
        (make_invariant_chain): Likewise.
        (make_rooted_chain): Likewise.
        (pcom_worker::combine_chains): Likewise.
        * tree-vect-loop.cc (vect_create_epilog_for_reduction):
        Make sure to release previously constructed scalar_results.
        * tree-vect-stmts.cc (vectorizable_load): Use auto_vec
        for vec_offsets.
        * vr-values.cc (simplify_using_ranges::~simplify_using_ranges):
        Release m_flag_set_edges.

2022-03-24  Siddhesh Poyarekar  <siddhesh@gotplt.org>

        PR tree-optimization/104970
        * tree-object-size.cc (parm_object_size): Restrict size
        computation scenarios to explicit access attributes.

2022-03-24  Kewen Lin  <linkw@linux.ibm.com>

        PR target/104967
        * config/rs6000/rs6000-c.cc (find_instance): Skip instances with null
        function types.

2022-03-23  Richard Biener  <rguenther@suse.de>

        PR target/102125
        * gimple-fold.cc (gimple_fold_builtin_memory_op): Allow the
        use of movmisalign when either the source or destination
        decl is properly aligned.

2022-03-23  Richard Biener  <rguenther@suse.de>

        PR rtl-optimization/105028
        * ira-color.cc (form_threads_from_copies): Remove unnecessary
        copying of the sorted_copies tail.

2022-03-23  Martin Liska  <mliska@suse.cz>

        * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
        Use %qs in format.
        * config/rs6000/rs6000.cc (rs6000_option_override_internal):
        Reword the error message.

2022-03-23  liuhongt  <hongtao.liu@intel.com>

        PR target/104976
        * config/i386/sse.md (ssePSmodelower): New.
        (*avx_cmp<mode>3_ltint_not): Force_reg operand before
        lowpart_subreg to avoid NULL_RTX.
        (<avx512>_fmaddc_<mode>_mask1<round_expand_name>,
        <avx512>_fcmaddc_<mode>_mask1<round_expand_name>,
        fma_<mode>_fmaddc_bcst, fma_<mode>_fcmaddc_bcst,
        <avx512>_<complexopname>_<mode>_mask<round_name>,
        avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name>,
        avx512fp16_fcmaddcsh_v8hf_mask3<round_expand_name>,
        avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
        avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
        float<floatunssuffix><mode>v4hf2,
        float<floatunssuffix>v2div2hf2,
        fix<fixunssuffix>_truncv4hf<mode>2,
        fix<fixunssuffix>_truncv2hfv2di2, extendv4hf<mode>2,
        extendv2hfv2df2,
        trunc<mode>v4hf2,truncv2dfv2hf2,
        *avx512bw_permvar_truncv16siv16hi_1,
        *avx512bw_permvar_truncv16siv16hi_1_hf,
        *avx512f_permvar_truncv8siv8hi_1,
        *avx512f_permvar_truncv8siv8hi_1_hf,
        *avx512f_vpermvar_truncv8div8si_1,
        *avx512f_permvar_truncv32hiv32qi_1,
        *avx512f_permvar_truncv16hiv16qi_1,
        *avx512f_permvar_truncv4div4si_1,
        *avx512f_pshufb_truncv8hiv8qi_1,
        *avx512f_pshufb_truncv4siv4hi_1,
        *avx512f_pshufd_truncv2div2si_1,
        sdot_prod<mode>, avx2_pblend<ssemodesuffix>_1,
        ashrv2di3,ashrv2di3,usdot_prod<mode>): Ditto.

2022-03-22  Tom de Vries  <tdevries@suse.de>

        PR target/104925
        * config/nvptx/nvptx.md (define_insn "nvptx_uniform_warp_check"):
        Use % as register prefix.

2022-03-22  Tom de Vries  <tdevries@suse.de>

        * config/nvptx/nvptx.cc (nvptx_scalar_mode_supported_p)
        (nvptx_libgcc_floating_mode_supported_p): Only enable HFmode for
        mexperimental.

2022-03-22  Tom de Vries  <tdevries@suse.de>

        * config/nvptx/nvptx.opt (mexperimental): New option.

2022-03-22  Tom de Vries  <tdevries@suse.de>

        PR target/104957
        * config/nvptx/nvptx-protos.h (nvptx_asm_output_def_from_decls): Declare.
        * config/nvptx/nvptx.cc (write_fn_proto_1): Don't add function marker
        for alias.
        (SET_ASM_OP, NVPTX_ASM_OUTPUT_DEF): New macro def.
        (nvptx_asm_output_def_from_decls): New function.
        * config/nvptx/nvptx.h (ASM_OUTPUT_DEF): New macro def, define to
        gcc_unreachable ().
        (ASM_OUTPUT_DEF_FROM_DECLS): New macro def, define to
        nvptx_asm_output_def_from_decls.
        * config/nvptx/nvptx.opt (malias): New opt.

2022-03-22  Tom de Vries  <tdevries@suse.de>

        PR target/104916
        PR target/104783
        * config/nvptx/nvptx.md (define_expand "omp_simt_exit"): Emit warp
        sync (or uniform warp check for mptx < 6.0).

2022-03-22  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/105012
        * tree-if-conv.cc (ifcvt_local_dce): Only call
        dse_classify_store when we have a VDEF.

2022-03-22  Martin Liska  <mliska@suse.cz>

        PR target/104902
        * config/nvptx/nvptx.cc (handle_ptx_version_option):
        Fix option wrapping in an error message.

2022-03-22  Martin Liska  <mliska@suse.cz>

        PR target/104903
        * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
        Wrap const keyword.

2022-03-22  Martin Liska  <mliska@suse.cz>

        * config/v850/v850-c.cc (pop_data_area): Fix typo in pragma
        name.

2022-03-22  Martin Liska  <mliska@suse.cz>

        PR target/104898
        * config/rs6000/rs6000.cc (rs6000_option_override_internal):
        Use %qs instead of (%qs).

2022-03-22  Martin Liska  <mliska@suse.cz>

        PR target/104898
        * config/i386/i386-options.cc (ix86_option_override_internal):
          Use '%qs' instead of '(%qs)'.

2022-03-22  Martin Liska  <mliska@suse.cz>

        PR target/104898
        * config/aarch64/aarch64.cc (aarch64_handle_attr_arch):
        Use 'qs' and remove usage '(%qs)'.
        (aarch64_handle_attr_cpu): Likewise.
        (aarch64_handle_attr_tune): Likewise.
        (aarch64_handle_attr_isa_flags): Likewise.

2022-03-22  Tamar Christina  <tamar.christina@arm.com>
            Andre Vieira  <andre.simoesdiasvieira@arm.com>

        * config/aarch64/aarch64.cc (neoversev1_regmove_cost): New tuning
        struct.
        (neoversev1_tunings): Use neoversev1_regmove_cost and update store_int
        cost.
        (neoverse512tvb_tunings): Likewise.

2022-03-22  Tamar Christina  <tamar.christina@arm.com>
            Andre Vieira  <andre.simoesdiasvieira@arm.com>

        * config/aarch64/aarch64.cc (demeter_addrcost_table,
        demeter_regmove_cost, demeter_advsimd_vector_cost,
        demeter_sve_vector_cost, demeter_scalar_issue_info,
        demeter_advsimd_issue_info, demeter_sve_issue_info,
        demeter_vec_issue_info, demeter_vector_cost,
        demeter_tunings): New tuning structs.
        (aarch64_ve_op_count::rename_cycles_per_iter): Enable for demeter
        tuning.
        * config/aarch64/aarch64-cores.def: Add entry for demeter.
        * config/aarch64/aarch64-tune.md (tune): Add demeter to list.

2022-03-22  Tamar Christina  <tamar.christina@arm.com>
            Andre Vieira  <andre.simoesdiasvieira@arm.com>

        * config/aarch64/aarch64-protos.h (struct cpu_memmov_cost): New struct.
        (struct tune_params): Change type of memmov_cost to use cpu_memmov_cost.
        * config/aarch64/aarch64.cc (aarch64_memory_move_cost): Update all
        tunings to use cpu_memmov_cost struct.

2022-03-22  Tamar Christina  <tamar.christina@arm.com>
            Andre Vieira  <andre.simoesdiasvieira@arm.com>

        * config/aarch64/aarch64.cc (neoversen2_addrcost_table,
        neoversen2_regmove_cost, neoversen2_advsimd_vector_cost,
        neoversen2_sve_vector_cost, neoversen2_scalar_issue_info,
        neoversen2_advsimd_issue_info, neoversen2_sve_issue_info,
        neoversen2_vec_issue_info, neoversen2_tunings): New structs.
        (neoversen2_tunings): Use new structs and update tuning flags.
        (aarch64_vec_op_count::rename_cycles_per_iter): Enable for neoversen2
        tuning.

2022-03-22  Andre Vieira  <andre.simoesdiasvieira@arm.com>

        * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH9): Add FP16 feature
        bit.

2022-03-22  liuhongt  <hongtao.liu@intel.com>

        PR target/104982
        * config/i386/i386.md (*jcc_bt<mode>_mask): Extend the
        following splitter to reversed condition.

2022-03-22  Jakub Jelinek  <jakub@redhat.com>

        PR rtl-optimization/104989
        * calls.cc (expand_call): Don't set ECF_NORETURN in flags after
        sorry for passing too large argument, instead set sibcall_failure
        for pass == 0, or a new normal_failure flag otherwise.  If
        normal_failure is set, don't assert all stack has been deallocated
        at the end and throw away the whole insn sequence.

2022-03-22  Qian Jianhua  <qianjh@cn.fujitsu.com>

        * print-tree.cc: Change array length

2022-03-22  Hongyu Wang  <hongyu.wang@intel.com>

        PR target/104978
        * config/i386/sse.md
        (avx512fp16_fmaddcsh_v8hf_mask1<round_expand_name):
        Use avx512f_movsf_mask instead of vmovaps or vblend, and
        force_reg before lowpart_subreg.
        (avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name): Likewise.

2022-03-21  H.J. Lu  <hjl.tools@gmail.com>

        PR target/105000
        * common/config/i386/i386-common.cc
        (OPTION_MASK_ISA2_GENERAL_REGS_ONLY_UNSET): Replace
        OPTION_MASK_ISA2_AVX512F_UNSET with OPTION_MASK_ISA2_SSE_UNSET.

2022-03-21  H.J. Lu  <hjl.tools@gmail.com>

        PR target/104998
        * common/config/i386/cpuinfo.h (get_available_features): Pass
        0x19 to __cpuid for bit_AESKLE.  Enable FEATURE_AESKLE only if
        bit_AESKLE is set.

2022-03-21  Richard Sandiford  <richard.sandiford@arm.com>

        PR middle-end/104869
        * rtl-ssa/accesses.h (clobber_group::prev_clobber): Declare.
        (clobber_group::next_clobber): Likewise.
        (def_lookup::prev_def): Rename to...
        (def_lookup::last_def_of_prev_group): ...this.
        (def_lookup::next_def): Rename to...
        (def_lookup::first_def_of_next_group): ...this.
        (def_lookup::matching_or_prev_def): Rename to...
        (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
        (def_lookup::matching_or_next_def): Rename to...
        (def_lookup::matching_set_or_first_def_of_next_group): ...this.
        (def_lookup::prev_def): New function, taking the lookup insn as
        argument.
        (def_lookup::next_def): Likewise.
        * rtl-ssa/member-fns.inl (def_lookup::prev_def): Rename to...
        (def_lookup::last_def_of_prev_group): ...this.
        (def_lookup::next_def): Rename to...
        (def_lookup::first_def_of_next_group): ...this.
        (def_lookup::matching_or_prev_def): Rename to...
        (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
        (def_lookup::matching_or_next_def): Rename to...
        (def_lookup::matching_set_or_first_def_of_next_group): ...this.
        * rtl-ssa/movement.h (restrict_movement_for_dead_range): Update after
        above renaming.
        * rtl-ssa/accesses.cc (clobber_group::prev_clobber): New function.
        (clobber_group::next_clobber): Likewise.
        (def_lookup::prev_def): Likewise.
        (def_lookup::next_def): Likewise.
        (function_info::make_use_available): Pass the lookup insn to
        def_lookup::prev_def and def_lookup::next_def.

2022-03-21  Martin Liska  <mliska@suse.cz>

        * doc/invoke.texi: Document min-pagesize parameter.

2022-03-21  Richard Biener  <rguenther@suse.de>

        * tree-ssa-loop-niter.cc (estimate_numbers_of_iterations): Dump
        we are estimating niter of loop.

2022-03-21  Kito Cheng  <kito.cheng@sifive.com>

        * common/config/riscv/riscv-common.cc (riscv_ext_flag_table):
        Update flag name and mask name.
        * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Define
        misc macro for vector extensions.
        * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): Rename to ...
        (MASK_VECTOR_ELEN_32): ... this.
        (MASK_VECTOR_EEW_64): Rename to ...
        (MASK_VECTOR_ELEN_64): ... this.
        (MASK_VECTOR_EEW_FP_32): Rename to ...
        (MASK_VECTOR_ELEN_FP_32): ... this.
        (MASK_VECTOR_EEW_FP_64): Rename to ...
        (MASK_VECTOR_ELEN_FP_64): ... this.
        (TARGET_VECTOR_ELEN_32): New.
        (TARGET_VECTOR_ELEN_64): Ditto.
        (TARGET_VECTOR_ELEN_FP_32): Ditto.
        (TARGET_VECTOR_ELEN_FP_64): Ditto.
        (TARGET_MIN_VLEN): Ditto.
        * config/riscv/riscv.opt (riscv_vector_eew_flags): Rename to ...
        (riscv_vector_elen_flags): ... this.

2022-03-21  Hongyu Wang  <hongyu.wang@intel.com>

        PR target/104977
        * config/i386/sse.md
        (avx512fp16_fma<complexopname>sh_v8hf<mask_scalarcz_name><round_scalarcz_name>):
        Correct round operand for intel dialect.

2022-03-19  Arthur Cohen  <arthur.cohen@embecosm.com>

        * diagnostic.cc (diagnostic_cc_tests): Rename to...
        (c_diagnostic_cc_tests): ...this.
        * opt-problem.cc (opt_problem_cc_tests): Rename to...
        (c_opt_problem_cc_tests): ...this.
        * selftest-run-tests.cc (selftest::run_tests): No longer run
        opt_problem_cc_tests or diagnostic_cc_tests.
        * selftest.h (diagnostic_cc_tests): Remove declaration.
        (opt_problem_cc_tests): Likewise.

2022-03-19  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>

        PR jit/63854
        * hash-traits.h (struct typed_const_free_remove): New.
        (struct free_string_hash): New.
        * pass_manager.h: Use free_string_hash.
        * passes.cc (pass_manager::register_pass_name): Use free_string_hash.
        (pass_manager::~pass_manager): Delete allocated m_name_to_pass_map.

2022-03-19  Jakub Jelinek  <jakub@redhat.com>

        PR middle-end/104971
        * config/i386/i386-expand.cc
        (ix86_expand_builtin) <case IX86_BUILTIN_READ_FLAGS>: If ignore,
        don't push/pop anything and just return const0_rtx.

2022-03-18  Vladimir N. Makarov  <vmakarov@redhat.com>

        PR rtl-optimization/104961
        * lra-assigns.cc (find_reload_regno_insns): Process reload pseudo clobber.

2022-03-18  Jason Merrill  <jason@redhat.com>

        * tree.h (IDENTIFIER_LENGTH): Add comment.

2022-03-18  Jakub Jelinek  <jakub@redhat.com>

        PR middle-end/99578
        PR middle-end/100680
        PR tree-optimization/100834
        * params.opt (--param=min-pagesize=): New parameter.
        * pointer-query.cc
        (compute_objsize_r) <case ARRAY_REF>: Formatting fix.
        (compute_objsize_r) <case INTEGER_CST>: Use maximum object size instead
        of zero for pointer constants equal or larger than min-pagesize.

2022-03-18  Tom de Vries  <tdevries@suse.de>

        * gimplify.cc (gimplify_omp_for): Set location using 'input_location'.
        Set gfor location only when dealing with a OMP_TASKLOOP.

2022-03-18  Tom de Vries  <tdevries@suse.de>

        * gimplify.cc (gimplify_omp_for): Set taskloop location.

2022-03-18  Tom de Vries  <tdevries@suse.de>

        PR target/104952
        * omp-low.cc (lower_rec_input_clauses): Make sure GOMP_SIMT_XCHG_BFLY
        is executed unconditionally.

2022-03-18  liuhongt  <hongtao.liu@intel.com>

        PR target/104974
        * config/i386/i386.md (*movhi_internal): Set attr type from HI
        to HF for alternative 12 under TARGET_AVX512FP16.

2022-03-18  Cui,Lili  <lili.cui@intel.com>

        PR target/104963
        * config/i386/i386.h (PTA_SAPPHIRERAPIDS): change it to base on ICX.
        * doc/invoke.texi: Update documents for Intel sapphirerapids.

2022-03-17  Roger Sayle  <roger@nextmovesoftware.com>

        PR target/86722
        PR tree-optimization/90356
        * config/i386/i386.md (*movtf_internal): Don't guard
        standard_sse_constant_p clause by optimize_function_for_size_p.
        (*movdf_internal): Likewise.
        (*movsf_internal): Likewise.

2022-03-17  Andrew MacLeod  <amacleod@redhat.com>

        PR tree-optimization/102943
        * gimple-range-cache.cc (ranger_cache::range_from_dom): Find range via
        dominators and apply intermediary outgoing edge ranges.

2022-03-17  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/104960
        * passes.def: Add pass parameter to pass_sink_code, mark
        last one to unsplit edges.
        * tree-ssa-sink.cc (pass_sink_code::set_pass_param): New.
        (pass_sink_code::execute): Always execute TODO_cleanup_cfg
        when we need to unsplit edges.

2022-03-17  Jakub Jelinek  <jakub@redhat.com>

        PR middle-end/103984
        * gimplify.cc (gimplify_target_expr): Gimplify type sizes and
        TARGET_EXPR_INITIAL into a temporary sequence, then push clobbers
        and asan unpoisioning, then append the temporary sequence and
        finally the TARGET_EXPR_CLEANUP clobbers.

2022-03-16  Roger Sayle  <roger@nextmovesoftware.com>

        * config/i386/sse.md: Delete corrupt character/typo.

2022-03-16  Roger Sayle  <roger@nextmovesoftware.com>

        PR target/94680
        * config/i386/sse.md (sse2_movq128): New define_expand to
        preserve previous named instruction.
        (*sse2_movq128_<mode>): Renamed from sse2_movq128, and
        generalized to VI8F_128 (both V2DI and V2DF).

2022-03-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>

        PR tree-optimization/104941
        * tree-object-size.cc (size_for_offset): Make useless conversion
        check lighter and assign result of fold_convert to OFFSET.

2022-03-16  H.J. Lu  <hjl.tools@gmail.com>

        PR target/104890
        * config/i386/x86gprintrin.h: Also check _SOFT_FLOAT before
        pushing target("general-regs-only").

2022-03-16  Kito Cheng  <kito.cheng@sifive.com>

        * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
        Add version info for zk, zks and zkn.

2022-03-16  LiaoShihua  <shihua@iscas.ac.cn>

        * common/config/riscv/riscv-common.cc
        (riscv_combine_info): New.
        (riscv_subset_list::handle_combine_ext): Combine back into zk to
        maintain the canonical order in isa strings.
        (riscv_subset_list::parse): Ditto.
        * config/riscv/riscv-subset.h (handle_combine_ext): New.

2022-03-16  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/102008
        * passes.def: Move the added code sinking pass before the
        preceeding phiopt pass.

2022-03-16  Patrick Palka  <ppalka@redhat.com>

        PR c++/96780
        * doc/invoke.texi (C++ Dialect Options): Document
        -ffold-simple-inlines.

2022-03-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>

        PR tree-optimization/104942
        * tree-object-size.cc (alloc_object_size): Remove STRIP_NOPS.

2022-03-16  Jakub Jelinek  <jakub@redhat.com>

        PR target/104910
        * config/aarch64/aarch64.cc (aarch64_load_symref_appropriately): Copy
        imm rtx.

2022-03-16  Roger Sayle  <roger@nextmovesoftware.com>
            Richard Biener  <rguenther@suse.de>

        * gimple-match-head.cc (single_use): Implement inline using a
        single loop.

2022-03-16  Roger Sayle  <roger@nextmovesoftware.com>

        * match.pd (X CMP X -> true): Test tree_expr_maybe_nan_p
        instead of HONOR_NANS.
        (X LTGT X -> false): Enable if X is not tree_expr_maybe_nan_p, as
        this can't trap/signal.

2022-03-16  liuhongt  <hongtao.liu@intel.com>

        PR target/104946
        * config/i386/i386-builtin.def (BDESC): Add
        CODE_FOR_sse4_1_blendvpd for IX86_BUILTIN_BLENDVPD.
        * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
        __builtin_ia32_blendvpd w/o sse4.2

2022-03-15  Peter Bergner  <bergner@linux.ibm.com>

        PR target/104923
        * config/rs6000/predicates.md (mma_disassemble_output_operand): Restrict
        acceptable MEM addresses.

2022-03-15  Jakub Jelinek  <jakub@redhat.com>

        PR target/91229
        * config/riscv/riscv.cc (riscv_pass_aggregate_in_fpr_pair_p,
        riscv_pass_aggregate_in_fpr_and_gpr_p): Pass OPT_Wpsabi instead of 0
        to warning calls.

2022-03-15  Jakub Jelinek  <jakub@redhat.com>

        PR target/104890
        * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Use no-mmx,no-sse
        instead of general-regs-only.

2022-03-15  Roger Sayle  <roger@nextmovesoftware.com>
            Marc Glisse  <marc.glisse@inria.fr>
            Richard Biener  <rguenther@suse.de>

        PR tree-optimization/101895
        * match.pd (vec_same_elem_p): Handle CONSTRUCTOR_EXPR def.
        (plus (vec_perm (mult ...) ...) ...): New reordering simplification.

2022-03-15  Jakub Jelinek  <jakub@redhat.com>

        PR rtl-optimization/104814
        * ifcvt.cc (find_if_case_1, find_if_case_2): Punt if test_bb doesn't
        end with onlyjump_p.  Assume BB_END (test_bb) is always non-NULL.

2022-03-15  Martin Sebor  <msebor@redhat.com>

        PR middle-end/104436
        * gimple-ssa-warn-access.cc (pass_waccess::check_dangling_stores):
        Check for warning suppression.  Avoid by-value arguments transformed
        into by-transparent-reference.

2022-03-14  Roger Sayle  <roger@nextmovesoftware.com>
            Uroš Bizjak  <ubizjak@gmail.com>

        * config/i386/i386.md (peephole2 xorl;movb -> movzbl): Disable
        transformation when *zero_extend<mode>si2 is not available.

2022-03-14  Xi Ruoyao  <xry111@mengyan1223.wang>

        * config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Define.
        * config/mips/mips.cc (mips_option_override): Make
        -fsanitize=address imply -fasynchronous-unwind-tables.  This is
        needed by libasan for stack backtrace on MIPS.
        (mips_asan_shadow_offset): Return SUBTARGET_SHADOW_OFFSET.

2022-03-14  Jakub Jelinek  <jakub@redhat.com>

        PR debug/104778
        * lra.cc (lra_substitute_pseudo): For debug_p mode, simplify
        SUBREG, ZERO_EXTEND, SIGN_EXTEND, FLOAT or UNSIGNED_FLOAT if recursive
        call simplified the first operand into VOIDmode constant.

2022-03-14  Jakub Jelinek  <jakub@redhat.com>

        PR tree-optimization/102586
        * doc/extend.texi (__builtin_clear_padding): Clearify that for C++
        argument type should be pointer to trivially-copyable type unless it
        is address of a variable or parameter.

2022-03-14  Jakub Jelinek  <jakub@redhat.com>

        PR target/99754
        * config/i386/emmintrin.h (_mm_loadu_si32): Put loaded value into
        first   rather than last element of the vector, use __m32_u to do
        a really unaligned load, use just 0 instead of (int)0.
        (_mm_loadu_si16): Put loaded value into first rather than last
        element of the vector, use __m16_u to do a really unaligned load,
        use just 0 instead of (short)0.

2022-03-14  Jakub Jelinek  <jakub@redhat.com>

        PR other/104899
        * config/bfin/bfin.cc (bfin_handle_longcall_attribute): Fix a typo
        in diagnostic message - cannott -> cannot.  Use %< and %> around
        names of attribute.  Avoid too long line.
        * range-op.cc (operator_logical_and::op1_range): Fix up a typo
        in comment - cannott -> cannot.  Use 2 spaces after . instead of one.

2022-03-14  liuhongt  <hongtao.liu@intel.com>

        PR target/104666
        * config/i386/i386-expand.cc
        (ix86_check_builtin_isa_match): New func.
        (ix86_expand_builtin): Move code to
        ix86_check_builtin_isa_match and call it.
        * config/i386/i386-protos.h
        (ix86_check_builtin_isa_match): Declare.
        * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
        builtin into gimple when isa mismatches.

2022-03-13  Tobias Burnus  <tobias@codesourcery.com>

        * doc/invoke.texi: Fix typos.
        * doc/tm.texi.in: Remove duplicated word.
        * doc/tm.texi: Regenerate.

2022-03-12  Segher Boessenkool  <segher@kernel.crashing.org>

        PR target/104829
        * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Don't output
        "ppc" and "ppc64" based on rs6000_cpu.

2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>

        PR middle-end/100280
        PR middle-end/104892
        * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
        Remove special handling of 'GOMP_MAP_FORCE_TOFROM'.

2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>

        PR middle-end/100280
        PR middle-end/104086
        * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
        Mark variables used in 'present' clauses as addressable.
        * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Gracefully
        handle duplicate 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.

2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>

        PR other/65095
        * tree-core.h (user_omp_claus_code_name): Declare function.
        * tree.cc (user_omp_clause_code_name): New function.

2022-03-12  Roger Sayle  <roger@nextmovesoftware.com>

        PR middle-end/98420
        * match.pd (minus @0 @0): Additional checks for -fno-rounding-math
        (the defaut) or -fno-signed-zeros.

2022-03-12   Michael Meissner  <meissner@linux.ibm.com>

        PR target/104868
        * config/rs6000/vsx.md (extendditi2): Use a 'b' constraint when
        moving from a GPR register to an Altivec register.

2022-03-11  Roger Sayle  <roger@nextmovesoftware.com>

        PR tree-optimization/98335
        * config/i386/i386.md (peephole2): Eliminate redundant insv.
        Combine movl followed by movb.  Transform xorl followed by
        a suitable movb or movw into the equivalent movz[bw]l.

2022-03-11  Roger Sayle  <roger@nextmovesoftware.com>
            Richard Biener  <rguenther@suse.de>

        PR tree-optimization/98335
        * builtins.cc (get_object_alignment_2): Export.
        * builtins.h (get_object_alignment_2): Likewise.
        * tree-ssa-alias.cc (ao_ref_alignment): New.
        * tree-ssa-alias.h (ao_ref_alignment): Declare.
        * tree-ssa-dse.cc (compute_trims): Improve logic deciding whether
        to align head/tail, writing more bytes but using fewer store insns.

2022-03-11  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/104880
        * tree-ssa.cc (execute_update_address_taken): Remember if we
        optimistically made something not addressable and
        prepare to undo it.

2022-03-11  Richard Biener  <rguenther@suse.de>

        PR target/104762
        * config/i386/i386.cc (ix86_builtin_vectorization_cost): Do not
        cost the first lane of SSE pieces as inserts for vec_construct.

2022-03-10  Roger Sayle  <roger@nextmovesoftware.com>

        PR c++/84964
        * calls.cc (expand_call): Ignore stack adjustments after sorry.

2022-03-10  Vladimir N. Makarov  <vmakarov@redhat.com>

        PR target/103074
        * lra-constraints.cc (split_reg): Set up
        check_and_force_assignment_correctness_p when splitting hard
        register live range.

2022-03-10  Martin Jambor  <mjambor@suse.cz>

        PR ipa/104813
        * ipa-cp.cc (create_specialized_node): Move removal of
        self-recursive calls from callers vector before refrence
        adjustments.

2022-03-10  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/102943
        * gimple-range-cache.cc (sbr_sparse_bitmap::bitvec):
        Make a bitmap_head.
        (sbr_sparse_bitmap::sbr_sparse_bitmap): Adjust and switch
        to tree view.
        (sbr_sparse_bitmap::set_bb_range): Adjust.
        (sbr_sparse_bitmap::get_bb_range): Likewise.

2022-03-10  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/102943
        * tree-ssa-dom.cc (back_propagate_equivalences): Only
        populate the dominance bitmap if fast queries are not
        available.  Use a tree view bitmap.
        (record_temporary_equivalences): Cache the dominance bitmap
        across all equivalences on the edge.

2022-03-10  Tom de Vries  <tdevries@suse.de>

        PR target/104840
        * config/nvptx/nvptx.md (define_attr "predicable"): Use no,yes instead
        of false,true.

2022-03-10  Tom de Vries  <tdevries@suse.de>

        PR target/104783
        * config/nvptx/nvptx.cc (nvptx_init_unisimt_predicate)
        (nvptx_output_unisimt_switch): Handle unisimt_outside_simt_predicate.
        (nvptx_get_unisimt_outside_simt_predicate): New function.
        (predicate_insn): New function, factored out of ...
        (nvptx_reorg_uniform_simt): ... here.  Predicate all emitted insns.
        * config/nvptx/nvptx.h (struct machine_function): Add
        unisimt_outside_simt_predicate field.
        * config/nvptx/nvptx.md (define_insn "nvptx_warpsync")
        (define_insn "nvptx_uniform_warp_check"): Make predicable.

2022-03-10  Tom de Vries  <tdevries@suse.de>

        * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Handle unused
        result.

2022-03-10  Tom de Vries  <tdevries@suse.de>

        PR target/104815
        * config/nvptx/nvptx.cc (nvptx_print_operand): Handle 'x' operand
        modifier.
        * config/nvptx/nvptx.md: Use %x0 destination operand in atom insns.

2022-03-10  Tom de Vries  <tdevries@suse.de>

        * config/nvptx/nvptx.md (define_insn "atomic_fetch_<logic><mode>"):
        Emit atom.and.b64 instead of atom.b64.and.

2022-03-10  Tom de Vries  <tdevries@suse.de>

        * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Move mptx=3.1 ...
        (MULTILIB_OPTIONS): ... here.

2022-03-10  Tom de Vries  <tdevries@suse.de>

        PR target/104758
        * config/nvptx/nvptx.opt (misa): Set default to sm_30.
        * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Remove misa=sm_30.

2022-03-10  Thomas Schwinge  <thomas@codesourcery.com>

        PR middle-end/90115
        PR middle-end/102330
        PR middle-end/104774
        * omp-low.cc (oacc_privatization_candidate_p)
        (oacc_privatization_scan_clause_chain)
        (oacc_privatization_scan_decl_chain, lower_oacc_private_marker):
        Analyze 'lookup_decl'-translated DECL.

2022-03-10  Jakub Jelinek  <jakub@redhat.com>

        PR target/99708
        * config/rs6000/rs6000.h (enum rs6000_builtin_type_index): Remove
        RS6000_BTI_ptr_ieee128_float and RS6000_BTI_ptr_ibm128_float.
        (ptr_ieee128_float_type_node, ptr_ibm128_float_type_node): Remove.
        * config/rs6000/rs6000-builtin.cc (rs6000_type_string): Return
        "**NULL**" if type_node is NULL first.  Handle
        ieee128_float_type_node.
        (rs6000_init_builtins): Don't initialize ptr_ieee128_float_type_node
        and ptr_ibm128_float_type_node.  Set ibm128_float_type_node and
        ieee128_float_type_node to NULL rather than long_double_type_node if
        they aren't supported.  Do support __ibm128 even if
        !TARGET_FLOAT128_TYPE when long double is double double.
        (rs6000_expand_builtin): Error if bif_is_ibm128 and
        !ibm128_float_type_node.  Remap RS6000_BIF_{,UN}PACK_IF to
        RS6000_BIF_{,UN}PACK_TF much earlier and only use bif_is_ibm128 check
        for it.
        * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Define
        __SIZEOF_FLOAT128__ here and only iff __float128 macro is defined.
        (rs6000_cpu_cpp_builtins): Don't define __SIZEOF_FLOAT128__ here.
        Define __SIZEOF_IBM128__=16 if ieee128_float_type_node is non-NULL.
        Formatting fix.
        * config/rs6000/rs6000-gen-builtins.cc: Document ibm128 attribute.
        (struct attrinfo): Add isibm128 member.
        (TYPE_MAP_SIZE): Remove.
        (type_map): Use [] instead of [TYPE_MAP_SIZE].  For "if" use
        ibm128_float_type_node only if it is non-NULL, otherwise fall back
        to long_double_type_node.  Remove "pif" entry.
        (parse_bif_attrs): Handle ibm128 attribute and print it for debugging.
        (write_decls): Output bif_ibm128_bit and bif_is_ibm128.
        (write_type_node): Use sizeof type_map / sizeof type_map[0]
        instead of TYPE_MAP_SIZE.
        (write_bif_static_init): Handle isibm128.
        * config/rs6000/rs6000-builtins.def: Document ibm128 attribute.
        (__builtin_pack_ibm128, __builtin_unpack_ibm128): Add ibm128
        attribute.

2022-03-09  Richard Biener  <rguenther@suse.de>

        * cfgexpand.cc (expand_gimple_asm): Special-case MEM_REF
        with non-decl operand, avoiding a copy.

2022-03-09  Jakub Jelinek  <jakub@redhat.com>

        PR target/104781
        * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Define for ia32.

2022-03-09  Richard Biener  <rguenther@suse.de>

        PR middle-end/104786
        * cfgexpand.cc (expand_asm_stmt): Do not generate a copy
        for VLAs without an upper size bound.

2022-03-09  Xi Ruoyao  <xry111@mengyan1223.wang>

        PR tree-optimization/104851
        * optabs-query.cc (supports_vec_convert_optab_p): Fix off-by-one
        error.

2022-03-09  Jakub Jelinek  <jakub@redhat.com>

        PR c/104711
        * doc/invoke.texi (-Wextra): Document that -Wshift-negative-value
        is enabled by it only for C++11 to C++17 rather than for C++03 or
        later.
        (-Wshift-negative-value): Similarly (except here we stated
        that it is enabled for C++11 or later).

2022-03-09  Jakub Jelinek  <jakub@redhat.com>

        PR rtl-optimization/104839
        * simplify-rtx.cc (simplify_unary_operation_1) <case SIGN_EXTEND>:
        Use SRP_SIGNED instead of incorrect 1 in SUBREG_PROMOTED_SET.
        (simplify_unary_operation_1) <case ZERO_EXTEND>: Use SRP_UNSIGNED
        instead of incorrect 0 in SUBREG_PROMOTED_SET.

2022-03-09  Xi Ruoyao  <xry111@mengyan1223.wang>

        PR target/104842
        * config/mips/mips.h (LUI_OPERAND): Cast the input to an unsigned
        value before adding an offset.

2022-03-08  Christophe Lyon  <christophe.lyon@arm.com>

        * config/arm/arm-builtins.cc
        (arm_binop_none_none_unone_qualifiers): Delete.
        (BINOP_NONE_NONE_UNONE_QUALIFIERS): Delete.

2022-03-08  Iain Sandoe  <iain@sandoe.co.uk>

        PR translation/104552
        * config/host-darwin.cc (darwin_gt_pch_get_address): Amend
        the PCH out of memory error message punctuation and wording.

2022-03-08  Marek Polacek  <polacek@redhat.com>

        PR rtl-optimization/104777
        * rtl.cc (classify_insn): For ASM_OPERANDS, return JUMP_INSN only if
        ASM_OPERANDS_LABEL_VEC has at least one element.

2022-03-08  H.J. Lu  <hjl.tools@gmail.com>

        PR target/104781
        * config/i386/i386.cc (ix86_expand_epilogue): Sorry if there is
        stack realignment or regparm nested function with EH return.

2022-03-08  Andre Vieira  <andre.simoesdiasvieira@arm.com>

        PR target/104790
        * config/arm/arm.h (MVE_STN_LDW_MODE): New MACRO.
        * config/arm/arm.cc (mve_vector_mem_operand): Relax constraint on base
        register for non widening loads or narrowing stores.

2022-03-08  Eric Gallager  <egallager@gcc.gnu.org>

        PR translation/104552
        * params.opt: Fix typo.

2022-03-08  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/84201
        * params.opt (-param=vect-induction-float): Add.
        * doc/invoke.texi (vect-induction-float): Document.
        * tree-vect-loop.cc (vectorizable_induction): Honor
        param_vect_induction_float.

2022-03-08  Martin Jambor  <mjambor@suse.cz>

        PR translation/104552
        * params.opt (ipa-cp-recursive-freq-factor): Remove repeated word
        "that" in the description.

2022-03-08  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/104825
        * tree-ssa-sccvn.cc (visit_reference_op_call): Properly
        guard modref get_ao_ref on a pointer typed argument.

2022-03-08  liuhongt  <hongtao.liu@intel.com>

        * config/i386/sse.md (*vec_dupv4si): Disable memory operand
        for !TARGET_INTER_UNIT_MOVES_TO_VEC when prefer_for_speed.

2022-03-07  Jonathan Wakely  <jwakely@redhat.com>

        * doc/invoke.texi (C++ Modules): Remove anachronism.

2022-03-07  Martin Liska  <mliska@suse.cz>

        PR middle-end/104381
        * opts.cc (finish_options): If debug info is disabled
        (debug_info_level) and -fvar-tracking is unset, disable it.

2022-03-07  Jakub Jelinek  <jakub@redhat.com>

        * tree-ssa-propagate.cc: Fix up duplicated word issue in a comment.
        * config/riscv/riscv.cc: Likewise.
        * config/darwin.h: Likewise.
        * config/i386/i386.cc: Likewise.
        * config/aarch64/thunderx3t110.md: Likewise.
        * config/aarch64/fractional-cost.h: Likewise.
        * config/vax/vax.cc: Likewise.
        * config/rs6000/pcrel-opt.md: Likewise.
        * config/rs6000/predicates.md: Likewise.
        * ctfc.h: Likewise.
        * tree-ssa-uninit.cc: Likewise.
        * value-relation.h: Likewise.
        * gimple-range-gori.cc: Likewise.
        * ipa-polymorphic-call.cc: Likewise.
        * pointer-query.cc: Likewise.
        * ipa-sra.cc: Likewise.
        * internal-fn.cc: Likewise.
        * varasm.cc: Likewise.
        * gimple-ssa-warn-access.cc: Likewise.

2022-03-07  Martin Liska  <mliska@suse.cz>

        PR target/104794
        * config/arm/arm.cc (arm_option_override_internal): Add missing
        space.

2022-03-07  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/104782
        * tree-vect-slp.cc (vectorize_slp_instance_root_stmt):
        Re-instantiate r10-5979 fix, add comment.

2022-03-07  Martin Liska  <mliska@suse.cz>

        PR target/104797
        * config/msp430/msp430.cc (msp430_expand_delay_cycles): Remove
        parenthesis from built-in name.

2022-03-07  Martin Liska  <mliska@suse.cz>

        PR target/104794
        * config/arm/arm.cc (arm_option_override_internal): Fix quoting
        of options in error messages.
        (arm_option_reconfigure_globals): Likewise.

2022-03-07  Martin Liska  <mliska@suse.cz>

        PR target/104794
        * config/arm/arm-builtins.cc (arm_expand_builtin): Reuse error
        message.  Fix ARM_BUILTIN_WRORHI and ARM_BUILTIN_WRORH that can
        have only range [0,32].

2022-03-07  Jakub Jelinek  <jakub@redhat.com>

        PR target/104775
        * config/s390/s390.md (*cmp_and_trap_unsigned_int<mode>): Use
        S constraint instead of T in the last alternative.

2022-03-07  Martin Liska  <mliska@suse.cz>

        * plugin.cc (default_plugin_dir_name): Remove <dir> from error
        message.

2022-03-07  Martin Liska  <mliska@suse.cz>

        PR translation/90148
        * config/rs6000/rs6000.cc (rs6000_linux64_override_options): Put
        quote to a proper place.
        * plugin.cc (default_plugin_dir_name): Likewise.

2022-03-07  Martin Liska  <mliska@suse.cz>

        PR target/99297
        * config/rx/rx.cc (rx_expand_builtin_mvtc): Fix translation
        string.

2022-03-07  Jakub Jelinek  <jakub@redhat.com>

        PR target/104779
        * config/i386/sse.md (avx512dq_mul<mode>3<mask_name>): New
        define_expand pattern.  Rename define_insn to ...
        (*avx512dq_mul<mode>3<mask_name>): ... this.
        (<code><mode>3_mask): New any_logic define_expand pattern.
        (<mask_codefor><code><mode>3<mask_name>): Rename to ...
        (*<code><mode>3<mask_name>): ... this.

2022-03-05  Jakub Jelinek  <jakub@redhat.com>

        * gimple-ssa-warn-access.cc (pass_waccess::use_after_inval_p): Remove
        visited bitmap and its use.  Also punt on EDGE_ABNORMAL edges.

2022-03-05  Roger Sayle  <roger@nextmovesoftware.com>
            Uroš Bizjak  <ubizjak@gmail.com>

        PR testsuite/104732
        * config/i386/i386.md (SWIM1248x): Renamed from SWIM1248s.
        Include DI mode unconditionally.
        (*anddi3_doubleword): Remove && TARGET_STV && TARGET_SSE2 condition,
        i.e. always split on !TARGET_64BIT.
        (*<any_or>di3_doubleword): Likewise.
        (*one_cmpldi2_doubleword): Likewise.
        (and<mode>3 expander): Update to use SWIM1248x from SWIM1248s.
        (<any_or><mode>3 expander): Likewise.
        (one_cmpl<mode>2 expander): Likewise.

2022-03-05   Michael Meissner  <meissner@linux.ibm.com>

        PR target/104698
        * config/rs6000/vsx.md (UNSPEC_MTVSRD_DITI_W1): Delete.
        (mtvsrdd_diti_w1): Delete.
        (extendditi2): Convert from define_expand to
        define_insn_and_split.  Replace with code to deal with both GPR
        registers and with altivec registers.

2022-03-04  Segher Boessenkool  <segher@kernel.crashing.org>

        * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Restructure a
        bit.  Handle most older CPUs.

2022-03-04  Iain Sandoe  <iain@sandoe.co.uk>

        * config/darwin.cc (darwin_fold_builtin): Make fcode an int to
        avoid a mismatch with DECL_MD_FUNCTION_CODE().

2022-03-04  Iain Sandoe  <iain@sandoe.co.uk>

        PR target/104117
        * config/rs6000/darwin.md (@machopic_high_<mode>): New.
        (@machopic_low_<mode>): New.
        * config/rs6000/predicates.md (macho_pic_address): New.
        * config/rs6000/rs6000.cc (rs6000_legitimize_address): Do not
        apply the TLS processing to Darwin.
        * lra-constraints.cc (process_address_1): Revert the changes
        in r12-7209.

2022-03-04  Peter Bergner  <bergner@linux.ibm.com>

        PR target/87496
        PR target/104208
        * config/rs6000/rs6000.cc (rs6000_option_override_internal): Make the
        ISA 2.06 requirement for -mabi=ieeelongdouble conditional on
        -mlong-double-128.
        Move the -mabi=ieeelongdouble and -mabi=ibmlongdouble error checking
        from here...
        * common/config/rs6000/rs6000-common.cc (rs6000_handle_option):
        ... to here.

2022-03-04  Jakub Jelinek  <jakub@redhat.com>

        PR middle-end/104529
        * gimplify.cc (gimplify_init_constructor): Clear TREE_READONLY
        on automatic objects which will be runtime initialized.

2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>

        PR middle-end/100280
        PR middle-end/104132
        PR middle-end/104133
        * omp-low.cc (task_shared_vars): Rename to
        'make_addressable_vars'.  Adjust all users.
        (scan_sharing_clauses) <OMP_CLAUSE_MAP> Use it for
        'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' DECLs, too.

2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>

        PR middle-end/100280
        * tree.h (OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE): New.
        * tree-core.h: Document it.
        * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Handle
        'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
        * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
        Set 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' instead of
        'TREE_ADDRESSABLE'.

2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>

        PR middle-end/100280
        * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
        Add diagnostic: "note: OpenACC 'kernels' decomposition: variable
        '[...]' declared in block made addressable".

2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>

        PR middle-end/100400
        PR middle-end/103836
        PR middle-end/104061
        * omp-oacc-kernels-decompose.cc (decompose_kernels_region_body):
        Catch 'GIMPLE_DEBUG'.

2022-03-04  Jakub Jelinek  <jakub@redhat.com>

        PR c/104627
        * tree.cc (warn_deprecated_use): For types prefer to use node
        and only use TYPE_MAIN_VARIANT (node) if TYPE_STUB_DECL (node) is
        NULL.

2022-03-04  H.J. Lu  <hjl.tools@gmail.com>

        PR target/104704
        * config/i386/i386.cc (ix86_gen_scratch_sse_rtx): Always return
        a pseudo register.

2022-03-03  Martin Sebor  <msebor@redhat.com>

        PR middle-end/104761
        * gimple-ssa-warn-access.cc (pass_waccess::execute): Call
        mark_dfs_back_edges.

2022-03-03  Martin Liska  <mliska@suse.cz>

        * configure.ac: Use linker plug-in by default.
        * configure: Regenerate.

2022-03-03  Martin Liska  <mliska@suse.cz>

        * configure.ac: Now ld.mold support LTO plugin API, use it.
        * configure: Regenerate.

2022-03-03  Tom de Vries  <tdevries@suse.de>

        * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add mptx=3.1.

2022-03-03  Tom de Vries  <tdevries@suse.de>

        PR target/104758
        * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add misa=sm_30.

2022-03-03  Tom de Vries  <tdevries@suse.de>

        * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.

2022-03-03  Jakub Jelinek  <jakub@redhat.com>

        PR middle-end/104757
        * gimplify.cc (gimplify_omp_loop): Call gimplify_expr rather than
        gimplify_omp_for.
        (gimplify_expr) <case OMP_SIMD>: Temporarily disable
        gimplify_ctxp->into_ssa around call to gimplify_omp_for.

2022-03-03  Jakub Jelinek  <jakub@redhat.com>

        PR middle-end/104558
        * calls.cc (store_one_arg): When not calling emit_push_insn
        because size_rtx is const0_rtx, call at least anti_adjust_stack
        on arg->locate.alignment_pad if !argblock and the alignment might
        be non-zero.

2022-03-02  Alexandre Oliva  <oliva@adacore.com>

        * lra-constraints.cc (undo_optional_reloads): Recognize and
        drop insns of multi-word move sequences, tolerate removal
        iteration on an already-removed clobber, and refuse to
        substitute original pseudos into clobbers.

2022-03-02  Qing Zhao  <qing.zhao@oracle.com>

        PR middle-end/102276
        * common.opt (-Wtrivial-auto-var-init): New option.
        * doc/invoke.texi (-Wtrivial-auto-var-init): Document new option.
        (-ftrivial-auto-var-init): Update option;
        * gimplify.cc (emit_warn_switch_unreachable): New function.
        (warn_switch_unreachable_r): Rename to ...
        (warn_switch_unreachable_and_auto_init_r): This.
        (maybe_warn_switch_unreachable): Rename to ...
        (maybe_warn_switch_unreachable_and_auto_init): This.
        (gimplify_switch_expr): Update calls to renamed function.

2022-03-02  Richard Biener  <rguenther@suse.de>

        PR rtl-optimization/104686
        * ira-color.cc (object_conflicts_with_allocno_p): New function
        using a bitvector test instead of iterating when possible.
        (allocnos_conflict_p): Choose the best allocno to iterate over
        object conflicts.
        (update_conflict_hard_regno_costs): Do allocnos_conflict_p test
        last.

2022-03-02  Jakub Jelinek  <jakub@redhat.com>

        * cfg.cc (dump_edge_info): Dump goto_locus if present.

2022-03-02  Jakub Jelinek  <jakub@redhat.com>

        PR rtl-optimization/104589
        * cfgrtl.cc (fixup_reorder_chain): Use loc_equal instead of direct
        INSN_LOCATION comparison with goto_locus.

2022-03-02  Jakub Jelinek  <jakub@redhat.com>

        * tree-ssa-strlen.cc (strlen_pass::handle_assign,
        strlen_pass::before_dom_children): Comment spelling fixes.

2022-03-02  Jakub Jelinek  <jakub@redhat.com>

        * ipa-modref-tree.cc (modref_access_node::contains,
        modref_access_node::closer_pair_p, modref_access_node::insert,
        modref_access_node::insert_kill): Comment spelling fixes.
        * ipa-modref.cc: Likewise.
        (modref_summary::finalize, ignore_nondeterminism_p,
        class modref_access_analysis,
        modref_access_analysis::set_side_effects,
        modref_access_analysis::set_nondeterministic,
        modref_access_analysis::record_global_memory_load,
        modref_access_analysis::propagate, modref_access_analysis::analyze,
        struct escape_point, class modref_lattice, modref_lattice::merge,
        modref_lattice::merge_deref, class modref_eaf_analysis,
        modref_eaf_analysis::merge_call_lhs_flags,
        modref_eaf_analysis::analyze_ssa_name, modref_eaf_analysis::propagate,
        modref_eaf_analysis::record_escape_points, remap_kills,
        update_escape_summary, remove_useless_summaries,
        ipa_merge_modref_summary_after_inlining, pass_ipa_modref::execute):
        Likewise.
        * ipa-modref.h (struct modref_summary, interposable_eaf_flags):
        Likewise.
        * ipa-modref-tree.h (enum modref_special_parms,
        struct modref_access_node): Likewise.

2022-03-01  Jakub Jelinek  <jakub@redhat.com>

        PR tree-optimization/104715
        * gimple-ssa-warn-access.cc (pass_waccess::check_pointer_uses): Don't
        unnecessarily test if ptr is a SSA_NAME, it has to be.  Only push lhs
        of a call if gimple_call_return_arg is equal to ptr, not just when it
        is non-NULL.

2022-03-01  Jakub Jelinek  <jakub@redhat.com>

        * gimple-ssa-warn-access.cc (warn_string_no_nul,
        maybe_warn_nonstring_arg, fndecl_alloc_p, new_delete_mismatch_p,
        matching_alloc_calls_p, maybe_warn_alloc_args_overflow,
        pass_waccess::check_alloca, pass_waccess::check_strcat,
        memmodel_to_uhwi, fntype_argno_type,
        pass_waccess::maybe_check_access_sizes,
        pass_waccess::check_call_access,
        pass_waccess::maybe_check_dealloc_call, pass_waccess::check_stmt):
        Comment spelling fixes.

2022-03-01  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/104716
        * tree-loop-distribution.cc (find_seed_stmts_for_distribution):
        Check if we can copy the loop.

2022-03-01  H.J. Lu  <hjl.tools@gmail.com>

        PR middle-end/104721
        * cfgexpand.cc (expand_gimple_basic_block): Clear
        currently_expanding_gimple_stmt when returning inside the loop.

2022-03-01  Martin Liska  <mliska@suse.cz>

        PR ipa/104533
        * multiple_target.cc (get_attr_len): Move to tree.c.
        (expand_target_clones): Remove single value checking.
        * tree.cc (get_target_clone_attr_len): New fn.
        * tree.h (get_target_clone_attr_len): Likewise.

2022-03-01  Martin Liska  <mliska@suse.cz>

        PR gcov-profile/104677
        * doc/invoke.texi: Document more .gcda file name generation.

2022-03-01  Tom de Vries  <tdevries@suse.de>

        PR target/102429
        * config/nvptx/nvptx.cc (nvptx_gen_shuffle): Handle DCmode and CDImode.
        * config/nvptx/nvptx.md
        (define_predicate "nvptx_register_or_complex_di_df_register_operand"):
        New predicate.
        (define_expand "omp_simt_xchg_bfly", define_expand "omp_simt_xchg_idx"):
        Use nvptx_register_or_complex_di_df_register_operand.

2022-03-01  Tom de Vries  <tdevries@suse.de>

        * config.gcc (nvptx*-*-*): Add nvptx/nvptx-gen.opt to extra_options.
        * config/nvptx/gen-copyright.sh: New file.
        * config/nvptx/gen-h.sh: New file.
        * config/nvptx/gen-opt.sh: New file.
        * config/nvptx/nvptx.h (TARGET_SM35, TARGET_SM53, TARGET_SM70)
        (TARGET_SM75, TARGET_SM80): Move ...
        * config/nvptx/nvptx-gen.h: ... here.  New file, generate.
        * config/nvptx/nvptx.opt (Enum ptx_isa): Move ...
        * config/nvptx/nvptx-gen.opt: ... here.  New file, generate.
        * config/nvptx/t-nvptx ($(srcdir)/config/nvptx/nvptx-gen.h)
        ($(srcdir)/config/nvptx/nvptx-gen.opt): New make target.

2022-03-01  Tom de Vries  <tdevries@suse.de>

        * config/nvptx/gen-omp-device-properties.sh: New file.
        * config/nvptx/t-omp-device: Use gen-omp-device-properties.sh.

2022-03-01  Tom de Vries  <tdevries@suse.de>

        * config/nvptx/nvptx-sm.def: New file.
        * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Use nvptx-sm.def.
        * config/nvptx/nvptx-opts.h (enum ptx_isa): Same.
        * config/nvptx/nvptx.cc (sm_version_to_string)
        (nvptx_omp_device_kind_arch_isa): Same.

2022-03-01  Robin Dapp  <rdapp@linux.ibm.com>

        PR rtl-optimization/104154
        * config/arc/arc.cc (gen_compare_reg):  Return the CC-mode
        comparison ifcvt passed us.

2022-03-01  Hongyu Wang  <hongyu.wang@intel.com>

        PR target/104664
        * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
          Use vec_setv8hf_0 for HF to V8HFmode move instead of subreg.

2022-02-28  Roger Sayle  <roger@nextmovesoftware.com>

        PR tree-optimization/91384
        * config/i386/i386.md (peephole2): Eliminate final testl insn
        from the sequence *movsi_internal, *negsi_1, *cmpsi_ccno_1 by
        transforming using *negsi_2 for the negation.

2022-02-28  Roger Sayle  <roger@nextmovesoftware.com>
            Eric Botcazou  <ebotcazou@adacore.com>

        PR middle-end/80270
        * expmed.cc (extract_integral_bit_field): If OP0 is a hard
        register, copy it to a pseudo before calling simplify_gen_subreg.

2022-02-28  Vladimir N. Makarov  <vmakarov@redhat.com>

        PR rtl-optimization/104637
        * lra-assigns.cc (lra_split_hard_reg_for): Split hard regs as many
        as possible on one subpass.

2022-02-28  Qing Zhao  <qing.zhao@oracle.com>

        PR middle-end/104550
        * gimple-fold.cc (clear_padding_flush): Suppress warnings for new
        created uses.

2022-02-28  Martin Liska  <mliska@suse.cz>

        PR ipa/104648
        * main.cc (main): Use flag_checking instead of CHECKING_P
        and run toplev::finalize only if there is not error seen.

2022-02-28  Richard Biener  <rguenther@suse.de>

        * tree-ssa-pre.cc (compute_avail): Revert part of last change.

2022-02-28  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/104700
        * tree-ssa-pre.cc (get_or_alloc_expr_for): Remove and inline
        into ...
        (find_or_generate_expression): ... here, simplifying code.

2022-02-28  Tom de Vries  <tdevries@suse.de>

        * config/nvptx/nvptx-opts.h (enum ptx_version): Add
        PTX_VERSION_default.
        * config/nvptx/nvptx.cc (handle_ptx_version_option): Handle
        PTX_VERSION_default.
        * config/nvptx/nvptx.opt: Add EnumValue "_" / PTX_VERSION_default.

2022-02-28  Richard Biener  <rguenther@suse.de>

        PR rtl-optimization/104686
        * ira-int.h (minmax_set_iter_cond): Use ctz_hwi to elide loop
        skipping bits that are zero.
        (ira_object_conflict_iter_cond): Likewise.

2022-02-28  Hongyu Wang  <hongyu.wang@intel.com>

        * config/i386/avx512fintrin.h (_MM_TERNLOG_ENUM): New enum.
        (_mm512_ternarylogic_epi64): Truncate imm to unsigned
        char to avoid error when using ~enum as parameter.
        (_mm512_mask_ternarylogic_epi64): Likewise.
        (_mm512_maskz_ternarylogic_epi64): Likewise.
        (_mm512_ternarylogic_epi32): Likewise.
        (_mm512_mask_ternarylogic_epi32): Likewise.
        (_mm512_maskz_ternarylogic_epi32): Likewise.
        * config/i386/avx512vlintrin.h (_mm256_ternarylogic_epi64):
        Adjust imm param type to unsigned char.
        (_mm256_mask_ternarylogic_epi64): Likewise.
        (_mm256_maskz_ternarylogic_epi64): Likewise.
        (_mm256_ternarylogic_epi32): Likewise.
        (_mm256_mask_ternarylogic_epi32): Likewise.
        (_mm256_maskz_ternarylogic_epi32): Likewise.
        (_mm_ternarylogic_epi64): Likewise.
        (_mm_mask_ternarylogic_epi64): Likewise.
        (_mm_maskz_ternarylogic_epi64): Likewise.
        (_mm_ternarylogic_epi32): Likewise.
        (_mm_mask_ternarylogic_epi32): Likewise.
        (_mm_maskz_ternarylogic_epi32): Likewise.

2022-02-25  Jakub Jelinek  <jakub@redhat.com>
            Marc Glisse  <marc.glisse@inria.fr>

        PR tree-optimization/104675
        * match.pd (t * 2U / 2 -> t & (~0 / 2), t / 2U * 2 -> t & ~1):
        Restrict simplifications to INTEGRAL_TYPE_P.

2022-02-25  Jakub Jelinek  <jakub@redhat.com>

        PR target/104681
        * config/rs6000/vector.md (movmisalign<mode>): Use rs6000_emit_move.

2022-02-25  Claudiu Zissulescu  <claziss@synopsys.com>

        * config/arc/arc.cc (gen_compare_reg): Return NULL_RTX if the
        comparison is not valid.
        * config/arc/arc.md (movsicc): Fail if comparison is not valid.
        (movdicc): Likewise.
        (movsfcc): Likewise.
        (movdfcc): Likewise.

2022-02-25  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/103037
        * tree-ssa-sccvn.h (alloc_vn_nary_op_noinit): Declare.
        (vn_nary_length_from_stmt): Likewise.
        (init_vn_nary_op_from_stmt): Likewise.
        (vn_nary_op_compute_hash): Likewise.
        * tree-ssa-sccvn.cc (alloc_vn_nary_op_noinit): Export.
        (vn_nary_length_from_stmt): Likewise.
        (init_vn_nary_op_from_stmt): Likewise.
        (vn_nary_op_compute_hash): Likewise.
        * tree-ssa-pre.cc (pre_expr_obstack): New obstack.
        (get_or_alloc_expr_for_nary): Pass in the value-id to use,
        (re-)compute the hash value and if the expression is not
        found allocate it from pre_expr_obstack.
        (phi_translate_1): Do not insert the NARY found in the
        VN tables but build a PRE expression from the valueized
        NARY with the value-id we eventually found.
        (find_or_generate_expression): Assert we have an entry
        for constant values.
        (compute_avail): Insert not valueized expressions into
        EXP_GEN using the value-id from the VN tables.
        (init_pre): Allocate pre_expr_obstack.
        (fini_pre): Free pre_expr_obstack.

2022-02-25  Jakub Jelinek  <jakub@redhat.com>

        PR target/104674
        * config/i386/i386.h (enum ix86_stack_slot): Add SLOT_FLOATxFDI_387.
        * config/i386/i386.md (splitter to floatdi<mode>2_i387_with_xmm): Use
        SLOT_FLOATxFDI_387 rather than SLOT_TEMP.

2022-02-25  Jakub Jelinek  <jakub@redhat.com>

        * warning-control.cc (get_nowarn_spec): Comment spelling fix.

2022-02-25  Jakub Jelinek  <jakub@redhat.com>

        PR middle-end/104679
        * internal-fn.cc (expand_SPACESHIP): Call do_pending_stack_adjust.

2022-02-25  Jakub Jelinek  <jakub@redhat.com>

        PR tree-optimization/104675
        * match.pd (-A - 1 -> ~A, -1 - A -> ~A): Don't simplify for
        COMPLEX_TYPE.

2022-02-25  Alexandre Oliva  <oliva@adacore.com>

        PR target/104121
        PR target/103302
        * expr.cc (emit_move_multi_word): Restore clobbers during LRA.

2022-02-25  Alexandre Oliva  <oliva@adacore.com>

        PR middle-end/104540
        * dwarf2cfi.cc (cfi_oprnd_equal_p): Cope with NULL
        dw_cfi_cfa_loc.

2022-02-25  Alexandre Oliva  <oliva@adacore.com>

        PR tree-optimization/103856
        * gimple-harden-conditionals.cc (non_eh_succ_edge): Enable the
        eh edge to be requested through an extra parameter.
        (pass_harden_compares::execute): Copy PHI args in the EH dest
        block for the new EH edge added for the inverted compare.

2022-02-24  Palmer Dabbelt  <palmer@rivosinc.com>

        * doc/invoke.texi (RISC-V -mcmodel=medany): Document the degree
        of position independence that -mcmodel=medany affords.

2022-02-24  Jose E. Marchesi  <jose.marchesi@oracle.com>

        PR target/104656
        * configure.ac: --disable-gcov if targetting bpf-*.
        * configure: Regenerate.

2022-02-24  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/104676
        * tree-loop-distribution.cc (loop_distribution::execute):
        Do a full scev_reset.

2022-02-24  Jakub Jelinek  <jakub@redhat.com>

        PR tree-optimization/104601
        * tree-ssa-sccvn.cc (visit_reference_op_call): For calls with
        non-SSA_NAME lhs value number vdef to itself instead of e.g. the
        vuse value number.

2022-02-24  Tom de Vries  <tdevries@suse.de>
            Tobias Burnus  <tobias@codesourcery.com>

        * config/nvptx/nvptx.cc (nvptx_omp_device_kind_arch_isa): Handle
        sm_70, sm_75 and sm_80.
        * config/nvptx/t-omp-device: Add sm_53, sm_70, sm_75 and sm_80.

2022-02-24  Tom de Vries  <tdevries@suse.de>

        * config/nvptx/nvptx.md (define_insn "rotlsi3", define_insn
        "rotrsi3"): New define_insn.

2022-02-24  Tom de Vries  <tdevries@suse.de>

        * config/nvptx/nvptx.cc (gen_comment): Use
        DECL_SOURCE_LOCATION (cfun->decl) instead of cfun->function_start_locus.

2022-02-24  liuhongt  <hongtao.liu@intel.com>

        * config/i386/sse.md (<code>v1ti3): Add suffix and replace
        isa attr of alternative 2 from avx to avx512vl.

2022-02-23  Richard Biener  <rguenther@suse.de>
            Jakub Jelinek  <jakub@redhat.com>

        PR tree-optimization/104644
        * doc/match-and-simplify.texi: Amend ! documentation.
        * genmatch.cc (expr::gen_transform): Code-generate ! support
        for GENERIC.
        (parser::parse_expr): Allow ! for GENERIC.
        * match.pd (cmp (bswap @0) INTEGER_CST@1): Use ! modifier on
        bswap.

2022-02-23  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/101636
        * tree-vect-slp.cc (vect_print_slp_tree): Dump the
        vector type of the node.
        (vect_slp_analyze_operations): Make sure the CTOR
        is vectorized with an expected type.
        (vectorize_slp_instance_root_stmt): Revert r10-5979 fix.

2022-02-23  Jakub Jelinek  <jakub@redhat.com>

        PR c/104633
        * gimple-warn-recursion.cc (pass_warn_recursion::find_function_exit):
        Don't warn about calls to corresponding builtin from extern inline
        gnu_inline wrappers.

2022-02-23  Roger Sayle  <roger@nextmovesoftware.com>

        PR target/104489
        * config/nvptx/nvptx.md (*movhf_insn): Add subregs_ok attribute.

2022-02-23  Christophe Lyon  <christophe.lyon@arm.com>

        PR target/100757
        PR target/101325
        * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Fix
        typo.

2022-02-23  Cui,Lili  <lili.cui@intel.com>

        * doc/invoke.texi: Update documents for Intel architectures.

2022-02-22  Roger Sayle  <roger@nextmovesoftware.com>

        * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop): Restore
        bootstrap.

2022-02-22  Thomas Schwinge  <thomas@codesourcery.com>

        * omp-low.cc (omp_build_component_ref): Move function...
        * omp-general.cc (omp_build_component_ref): ... here.  Remove
        'static'.
        * omp-general.h (omp_build_component_ref): Declare function.
        * omp-oacc-neuter-broadcast.cc (oacc_build_component_ref): Remove
        function.
        (build_receiver_ref, build_sender_ref): Call
        'omp_build_component_ref' instead.

2022-02-22  Thomas Schwinge  <thomas@codesourcery.com>

        * omp-oacc-neuter-broadcast.cc (record_field_map_t): Further
        simplify.  Adjust all users.

2022-02-22  Segher Boessenkool  <segher@kernel.crashing.org>

        PR target/88134
        * config/rs6000/rs6000.cc (atomic_hold_decl, atomic_clear_decl,
        atomic_update_decl): Add GTY markup.

2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>

        * config/arm/arm.h (REG_CLASS_CONTENTS): Add VPR_REG to ALL_REGS.

2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>

        PR target/100757
        PR target/101325
        * config/arm/arm-builtins.cc (CX_UNARY_UNONE_QUALIFIERS): Use
        predicate.
        (CX_BINARY_UNONE_QUALIFIERS): Likewise.
        (CX_TERNARY_UNONE_QUALIFIERS): Likewise.
        (TERNOP_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
        (QUADOP_NONE_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
        (QUADOP_UNONE_UNONE_UNONE_UNONE_UNONE_QUALIFIERS): Delete.
        * config/arm/arm_mve_builtins.def: Use predicated qualifiers.
        * config/arm/mve.md: Use VxBI instead of HI.

2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>

        PR target/100757
        PR target/101325
        * config/arm/arm-builtins.cc (STRSBS_P_QUALIFIERS): Use predicate
        qualifier.
        (STRSBU_P_QUALIFIERS): Likewise.
        (LDRGBS_Z_QUALIFIERS): Likewise.
        (LDRGBU_Z_QUALIFIERS): Likewise.
        (LDRGBWBXU_Z_QUALIFIERS): Likewise.
        (LDRGBWBS_Z_QUALIFIERS): Likewise.
        (LDRGBWBU_Z_QUALIFIERS): Likewise.
        (STRSBWBS_P_QUALIFIERS): Likewise.
        (STRSBWBU_P_QUALIFIERS): Likewise.
        * config/arm/mve.md: Use VxBI instead of HI.

2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>

        PR target/100757
        PR target/101325
        * config/arm/arm-builtins.cc (TERNOP_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
        (TERNOP_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
        (TERNOP_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
        (TERNOP_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
        (TERNOP_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
        (TERNOP_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
        (TERNOP_NONE_NONE_UNONE_UNONE_QUALIFIERS): Change to ...
        (TERNOP_NONE_NONE_UNONE_PRED_QUALIFIERS): ... this.
        (QUADOP_UNONE_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
        (QUADOP_UNONE_UNONE_NONE_NONE_PRED_QUALIFIERS): ... this.
        (QUADOP_NONE_NONE_NONE_NONE_PRED_QUALIFIERS): New.
        (QUADOP_NONE_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
        (QUADOP_NONE_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
        (QUADOP_UNONE_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
        (QUADOP_UNONE_UNONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
        (QUADOP_UNONE_UNONE_NONE_IMM_PRED_QUALIFIERS): ... this.
        (QUADOP_NONE_NONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
        (QUADOP_NONE_NONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
        (QUADOP_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
        (QUADOP_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
        (QUADOP_UNONE_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
        (QUADOP_UNONE_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
        (STRS_P_QUALIFIERS): Use predicate qualifier.
        (STRU_P_QUALIFIERS): Likewise.
        (STRSU_P_QUALIFIERS): Likewise.
        (STRSS_P_QUALIFIERS): Likewise.
        (LDRGS_Z_QUALIFIERS): Likewise.
        (LDRGU_Z_QUALIFIERS): Likewise.
        (LDRS_Z_QUALIFIERS): Likewise.
        (LDRU_Z_QUALIFIERS): Likewise.
        (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
        (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
        (BINOP_NONE_NONE_PRED_QUALIFIERS): New.
        (BINOP_UNONE_UNONE_PRED_QUALIFIERS): New.
        * config/arm/arm_mve_builtins.def: Use new predicated qualifiers.
        * config/arm/mve.md: Use MVE_VPRED instead of HI.

2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>

        PR target/100757
        PR target/101325
        * config/arm/arm-builtins.cc (BINOP_UNONE_NONE_NONE_QUALIFIERS):
        Delete.
        (TERNOP_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
        (TERNOP_PRED_NONE_NONE_PRED_QUALIFIERS): ... this.
        (TERNOP_PRED_UNONE_UNONE_PRED_QUALIFIERS): New.
        * config/arm/arm_mve_builtins.def (vcmp*q_n_, vcmp*q_m_f): Use new
        predicated qualifiers.
        * config/arm/mve.md (mve_vcmp<mve_cmp_op>q_n_<mode>)
        (mve_vcmp*q_m_f<mode>): Use MVE_VPRED instead of HI.

2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>

        PR target/100757
        * config/arm/arm-protos.h (arm_get_mask_mode): New prototype.
        (arm_expand_vector_compare): Update prototype.
        * config/arm/arm.cc (TARGET_VECTORIZE_GET_MASK_MODE): New.
        (arm_vector_mode_supported_p): Add support for VxBI modes.
        (arm_expand_vector_compare): Remove useless generation of vpsel.
        (arm_expand_vcond): Fix select operands.
        (arm_get_mask_mode): New.
        * config/arm/mve.md (vec_cmp<mode><MVE_vpred>): New.
        (vec_cmpu<mode><MVE_vpred>): New.
        (vcond_mask_<mode><MVE_vpred>): New.
        * config/arm/vec-common.md (vec_cmp<mode><v_cmp_result>)
        (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): Move to ...
        * config/arm/neon.md (vec_cmp<mode><v_cmp_result>)
        (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): ... here
        and disable for MVE.
        * doc/sourcebuild.texi (arm_mve): Document new effective-target.

2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>

        PR target/100757
        PR target/101325
        * config/arm/arm-builtins.cc (BINOP_PRED_UNONE_UNONE_QUALIFIERS)
        (BINOP_PRED_NONE_NONE_QUALIFIERS)
        (TERNOP_NONE_NONE_NONE_PRED_QUALIFIERS)
        (TERNOP_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
        * config/arm/arm-protos.h (mve_bool_vec_to_const): New.
        * config/arm/arm.cc (arm_hard_regno_mode_ok): Handle new VxBI
        modes.
        (arm_mode_to_pred_mode): New.
        (arm_expand_vector_compare): Use the right VxBI mode instead of
        HI.
        (arm_expand_vcond): Likewise.
        (simd_valid_immediate): Handle MODE_VECTOR_BOOL.
        (mve_bool_vec_to_const): New.
        (neon_make_constant): Call mve_bool_vec_to_const when needed.
        * config/arm/arm_mve_builtins.def (vcmpneq_, vcmphiq_, vcmpcsq_)
        (vcmpltq_, vcmpleq_, vcmpgtq_, vcmpgeq_, vcmpeqq_, vcmpneq_f)
        (vcmpltq_f, vcmpleq_f, vcmpgtq_f, vcmpgeq_f, vcmpeqq_f, vpselq_u)
        (vpselq_s, vpselq_f): Use new predicated qualifiers.
        * config/arm/constraints.md (DB): New.
        * config/arm/iterators.md (MVE_7, MVE_7_HI): New mode iterators.
        (MVE_VPRED, MVE_vpred): New attribute iterators.
        * config/arm/mve.md (@mve_vcmp<mve_cmp_op>q_<mode>)
        (@mve_vcmp<mve_cmp_op>q_f<mode>, @mve_vpselq_<supf><mode>)
        (@mve_vpselq_f<mode>): Use MVE_VPRED instead of HI.
        (@mve_vpselq_<supf>v2di): Define separately.
        (mov<mode>): New expander for VxBI modes.
        * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Use
        MVE_7_HI iterator and add support for DB constraint.

2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
            Richard Sandiford  <richard.sandiford@arm.com>

        PR target/100757
        PR target/101325
        * config/aarch64/aarch64-modes.def (VNx16BI, VNx8BI, VNx4BI,
        VNx2BI): Update definition.
        * config/arm/arm-builtins.cc (arm_init_simd_builtin_types): Add new
        simd types.
        (arm_init_builtin): Map predicate vectors arguments to HImode.
        (arm_expand_builtin_args): Move HImode predicate arguments to VxBI
        rtx. Move return value to HImode rtx.
        * config/arm/arm-builtins.h (arm_type_qualifiers): Add qualifier_predicate.
        * config/arm/arm-modes.def (B2I, B4I, V16BI, V8BI, V4BI): New modes.
        * config/arm/arm-simd-builtin-types.def (Pred1x16_t,
        Pred2x8_t,Pred4x4_t): New.
        * emit-rtl.cc (init_emit_once): Handle all boolean modes.
        * genmodes.cc (mode_data): Add boolean field.
        (blank_mode): Initialize it.
        (make_complex_modes): Fix handling of boolean modes.
        (make_vector_modes): Likewise.
        (VECTOR_BOOL_MODE): Use new COMPONENT parameter.
        (make_vector_bool_mode): Likewise.
        (BOOL_MODE): New.
        (make_bool_mode): New.
        (emit_insn_modes_h): Fix generation of boolean modes.
        (emit_class_narrowest_mode): Likewise.
        * machmode.def: (VECTOR_BOOL_MODE): Document new COMPONENT
        parameter.  Use new BOOL_MODE instead of FRACTIONAL_INT_MODE to
        define BImode.
        * rtx-vector-builder.cc (rtx_vector_builder::find_cached_value):
        Fix handling of constm1_rtx for VECTOR_BOOL.
        * simplify-rtx.cc (native_encode_rtx): Fix support for VECTOR_BOOL.
        (native_decode_vector_rtx): Likewise.
        (test_vector_ops_duplicate): Skip vec_merge test
        with vectors of booleans.
        * varasm.cc (output_constant_pool_2): Likewise.

2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>

        * config/arm/mve.md (mve_vmvnq_n_<supf><mode>): Use V_elem mode
        for operand 1.

2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>

        * config/arm/arm.cc (arm_class_likely_spilled_p): Handle VPR_REG.

2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>

        * config/arm/arm.h (reg_class): Add GENERAL_AND_VPR_REGS.
        (REG_CLASS_NAMES): Likewise.
        (REG_CLASS_CONTENTS): Likewise.
        (CLASS_MAX_NREGS): Handle VPR.
        * config/arm/arm.cc (arm_hard_regno_nregs): Handle VPR.

2022-02-22  Tobias Burnus  <tobias@codesourcery.com>
            Tom de Vries  <tdevries@suse.de>

        * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Handle SM70.
        * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm):
        Likewise.
        * config/nvptx/nvptx.opt (misa): Add sm_70 alias PTX_ISA_SM70.

2022-02-22  Tobias Burnus  <tobias@codesourcery.com>
            Tom de Vries  <tdevries@suse.de>

        * config/nvptx/nvptx.opt (mptx): Add 6.0 alias PTX_VERSION_6_0.
        * doc/invoke.texi (-mptx): Update for new values and defaults.

2022-02-22  Tom de Vries  <tdevries@suse.de>

        * config/nvptx/nvptx.cc (gen_comment): New function.
        (workaround_uninit_method_1, workaround_uninit_method_2)
        (workaround_uninit_method_3): : Use gen_comment.
        * config/nvptx/nvptx.opt (mptx-comment): New option.

2022-02-22  Richard Biener  <rguenther@suse.de>

        * tree-vect-slp.cc (vect_build_slp_tree_2): Dump the def used
        for a splat.

2022-02-22  Roger Sayle  <roger@nextmovesoftware.com>
            Richard Biener  <rguenther@suse.de>

        * fold-const.cc (ctor_single_nonzero_element): New function to
        return the single non-zero element of a (vector) constructor.
        * fold-const.h (ctor_single_nonzero_element): Prototype here.
        * match.pd (reduc (constructor@0)): Simplify reductions of a
        constructor containing a single non-zero element.
        (reduc (@0 op VECTOR_CST) ->  (reduc @0) op CONST): Simplify
        reductions of vector operations of the same operator with
        constant vector operands.

2022-02-22  Jakub Jelinek  <jakub@redhat.com>

        PR tree-optimization/104604
        * gimple-range-fold.cc (adjust_imagpart_expr, adjust_realpart_expr):
        Only check if gimple_assign_rhs1 is COMPLEX_CST if
        gimple_assign_rhs_code is COMPLEX_CST.

2022-02-22  Jakub Jelinek  <jakub@redhat.com>

        PR target/104612
        * config/i386/i386-expand.cc (ix86_expand_copysign): Call force_reg
        on input operands before calling lowpart_subreg on it.  For output
        operand, use a vmode pseudo as destination and then move its lowpart
        subreg into operands[0] if lowpart_subreg fails on dest.
        (ix86_expand_xorsign): Likewise.

2022-02-22  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/104582
        PR target/99881
        * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
        Cost GPR to vector register moves for integer vector construction.

2022-02-22  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/104582
        * tree-vectorizer.h (stmt_info_for_cost::node): New field.
        (vector_costs::add_stmt_cost): Add SLP node parameter.
        (dump_stmt_cost): Likewise.
        (add_stmt_cost): Likewise, new overload and adjust.
        (add_stmt_costs): Adjust.
        (record_stmt_cost): New overload.
        * tree-vectorizer.cc (dump_stmt_cost): Dump the SLP node.
        (vector_costs::add_stmt_cost): Adjust.
        * tree-vect-loop.cc (vect_estimate_min_profitable_iters):
        Adjust.
        * tree-vect-slp.cc (vect_prologue_cost_for_slp): Record
        the SLP node for costing.
        (vectorizable_slp_permutation): Likewise.
        * tree-vect-stmts.cc (record_stmt_cost): Adjust and add
        new overloads.
        * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
        Adjust.
        * config/aarch64/aarch64.cc (aarch64_vector_costs::add_stmt_cost):
        Adjust.
        * config/rs6000/rs6000.cc (rs6000_vector_costs::add_stmt_cost):
        Adjust.
        (rs6000_cost_data::adjust_vect_cost_per_loop): Likewise.

2022-02-22  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/104582
        * tree-vectorizer.h (add_stmt_cost): New overload.
        (record_stmt_cost): Likewise.
        * tree-vect-loop.cc (vect_compute_single_scalar_iteration_cost):
        Use add_stmt_costs.
        (vect_get_known_peeling_cost): Use new overloads.
        (vect_estimate_min_profitable_iters): Likewise.  Consistently
        use scalar_stmt for costing versioning checks.
        * tree-vect-stmts.cc (record_stmt_cost): New overload.

2022-02-22  Hongyu Wang  <hongyu.wang@intel.com>

        PR target/103069
        * config/i386/i386-expand.cc (ix86_expand_atomic_fetch_op_loop):
        Split atomic fetch and loop part.
        (ix86_expand_cmpxchg_loop): New expander for cmpxchg loop.
        * config/i386/i386-protos.h (ix86_expand_cmpxchg_loop): New
        prototype.
        * config/i386/sync.md (atomic_compare_and_swap<mode>): Call new
        expander under TARGET_RELAX_CMPXCHG_LOOP.
        (atomic_compare_and_swap<mode>): Likewise for doubleword modes.

2022-02-21  Dan Li  <ashimida@linux.alibaba.com>

        * config/aarch64/aarch64.cc (SLOT_REQUIRED):
        Change wb_candidate[12] to wb_push_candidate[12].
        (aarch64_layout_frame): Likewise, and
        change callee_adjust when scs is enabled.
        (aarch64_save_callee_saves):
        Change wb_candidate[12] to wb_push_candidate[12].
        (aarch64_restore_callee_saves):
        Change wb_candidate[12] to wb_pop_candidate[12].
        (aarch64_get_separate_components):
        Change wb_candidate[12] to wb_push_candidate[12].
        (aarch64_expand_prologue): Push x30 onto SCS before it's
        pushed onto stack.
        (aarch64_expand_epilogue): Pop x30 frome SCS, while
        preventing it from being popped from the regular stack again.
        (aarch64_override_options_internal): Add SCS compile option check.
        (TARGET_HAVE_SHADOW_CALL_STACK): New hook.
        * config/aarch64/aarch64.h (struct GTY): Add is_scs_enabled,
        wb_pop_candidate[12], and rename wb_candidate[12] to
        wb_push_candidate[12].
        * config/aarch64/aarch64.md (scs_push): New template.
        (scs_pop): Likewise.
        * doc/invoke.texi: Document -fsanitize=shadow-call-stack.
        * doc/tm.texi: Regenerate.
        * doc/tm.texi.in: Add hook have_shadow_call_stack.
        * flag-types.h (enum sanitize_code):
        Add SANITIZE_SHADOW_CALL_STACK.
        * opts.cc (parse_sanitizer_options): Add shadow-call-stack
        and exclude SANITIZE_SHADOW_CALL_STACK.
        * target.def: New hook.
        * toplev.cc (process_options): Add SCS compile option check.
        * ubsan.cc (ubsan_expand_null_ifn): Enum type conversion.

2022-02-21  Tom de Vries  <tdevries@suse.de>

        PR target/104440
        * config/nvptx/nvptx.cc (workaround_uninit_method_1)
        (workaround_uninit_method_2, workaround_uninit_method_3)
        (workaround_uninit): New function.
        (nvptx_reorg): Use workaround_uninit.
        * config/nvptx/nvptx.opt (minit-regs): New option.

2022-02-21  Andre Vieira  <andre.simoesdiasvieira@arm.com>

        PR rtl-optimization/104498
        * alias.cc (compare_base_symbol_refs): Correct distance computation
        when swapping x and y.

2022-02-21  Andrew Pinski  <apinski@marvell.com>

        PR c/104506
        * tree-ssa.cc (tree_ssa_useless_type_conversion):
        Check the inner type before calling useless_type_conversion_p.

2022-02-19  Tom de Vries  <tdevries@suse.de>

        * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle SET insn.
        * config/nvptx/nvptx.md
        (define_insn "nvptx_atomic_store<mode>"): Rename to ...
        (define_insn "nvptx_atomic_store_sm70<mode>"): This.
        (define_insn "nvptx_atomic_store<mode>"): New define_insn.
        (define_expand "atomic_store<mode>"): Handle rename.  Use
        nvptx_atomic_store instead of atomic_exchange.

2022-02-19  Tom de Vries  <tdevries@suse.de>

        * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle all
        insns with atomic attribute.  Assert that all handled insns are
        PARALLELs.
        * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"):
        Set atomic attribute to false.

2022-02-19  Tom de Vries  <tdevries@suse.de>

        * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Change return
        type to bool.
        (nvptx_reorg_uniform_simt): Insert nvptx_uniform_warp_check or
        nvptx_warpsync, if necessary.

2022-02-19  Jakub Jelinek  <jakub@redhat.com>

        PR sanitizer/102656
        * asan.cc (instrument_derefs): If inner is a RESULT_DECL and access is
        known to be within bounds, treat it like automatic variables.
        If instrumenting access and inner is {VAR,PARM,RESULT}_DECL from
        current function and !TREE_STATIC which is not TREE_ADDRESSABLE, mark
        it addressable.

2022-02-18  Pat Haugen  <pthaugen@linux.ibm.com>

        * config/rs6000/rs6000.opt (mpower10-fusion): Mark Undocumented.
        (mpower10-fusion-ld-cmpi, mpower10-fusion-2logical,
        mpower10-fusion-logical-add, mpower10-fusion-add-logical,
        mpower10-fusion-2add, mpower10-fusion-2store): Remove.
        * config/rs6000/rs6000-cpus.def (ISA_3_1_MASKS_SERVER,
        OTHER_P9_VECTOR_MASKS): Remove Power10 fusion sub-options.
        * config/rs6000/rs6000.cc (rs6000_option_override_internal,
        power10_sched_reorder): Likewise.
        * config/rs6000/genfusion.pl (gen_ld_cmpi_p10, gen_logical_addsubf,
        gen_addadd): Likewise
        * config/rs6000/fusion.md: Regenerate.

2022-02-18  Jakub Jelinek  <jakub@redhat.com>

        PR target/104257
        PR target/104598
        * config/rs6000/mm_malloc.h (_mm_malloc): Call posix_memalign
        rather than __posix_memalign.

2022-02-18  Richard Biener  <rguenther@suse.de>

        PR target/104581
        * config/i386/i386.cc (ix86_avx_u128_mode_source): Remove.
        (ix86_avx_u128_mode_needed): Return AVX_U128_DIRTY instead
        of calling ix86_avx_u128_mode_source which would eventually
        have returned AVX_U128_ANY in some very special case.

2022-02-18  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/96881
        * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Comment
        CLOBBER handling.
        (control_parents_preserved_p): New function.
        (eliminate_unnecessary_stmts): Check that we preserved control
        parents before retaining a CLOBBER.
        (perform_tree_ssa_dce): Pass down aggressive flag
        to eliminate_unnecessary_stmts.

2022-02-17  Jason Merrill  <jason@redhat.com>

        * tree.cc (warn_deprecated_use): Look for TYPE_STUB_DECL
        on TYPE_MAIN_VARIANT.

2022-02-17  Paul A. Clarke  <pc@us.ibm.com>

        PR target/104257
        * config/rs6000/bmi2intrin.h: Uglify local variables.
        * config/rs6000/emmintrin.h: Likewise.
        * config/rs6000/mm_malloc.h: Likewise.
        * config/rs6000/mmintrin.h: Likewise.
        * config/rs6000/pmmintrin.h: Likewise.
        * config/rs6000/smmintrin.h: Likewise.
        * config/rs6000/tmmintrin.h: Likewise.
        * config/rs6000/xmmintrin.h: Likewise.

2022-02-17  Robin Dapp  <rdapp@linux.ibm.com>

        PR target/104335
        * config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Return false
        if the expected comparison's first operand is of mode MODE_CC.

2022-02-17  Vladimir N. Makarov  <vmakarov@redhat.com>

        PR rtl-optimization/104447
        * lra-constraints.cc (spill_hard_reg_in_range): Initiate ignore
        hard reg set by lra_no_alloc_regs.

2022-02-17  liuhongt  <hongtao.liu@intel.com>

        PR tree-optimization/104551
        PR tree-optimization/103771
        * match.pd (cond_expr_convert_p): Add types_match check when
        convert is extension.
        * tree-vect-patterns.cc
        (gimple_cond_expr_convert_p): Adjust comments.
        (vect_recog_cond_expr_convert_pattern): Ditto.

2022-02-17  Jakub Jelinek  <jakub@redhat.com>

        PR debug/104557
        * valtrack.cc (debug_lowpart_subreg): Don't call gen_rtx_raw_SUBREG
        if expr has VOIDmode.

2022-02-17  liuhongt  <hongtao.liu@intel.com>

        * config/i386/cpuid.h (bit_MPX): Removed.
        (bit_BNDREGS): Ditto.
        (bit_BNDCSR): Ditto.

2022-02-17  Michael Meissner  <meissner@the-meissners.org>

        PR target/99708
        * config/rs6000/rs6000-c.cc (rs6000_cpu_cpp_builtins): Define
        __SIZEOF_IBM128__ if the IBM 128-bit long double type is created.
        Define __SIZEOF_FLOAT128__ if the IEEE 128-bit floating point type
        is created.

2022-02-16  Andrew MacLeod  <amacleod@redhat.com>

        * gimple-range-gori.cc (gori_compute::condexpr_adjust): Use
        range_compatible_p instead of direct type comparison.

2022-02-16  Jakub Jelinek  <jakub@redhat.com>

        PR rtl-optimization/104544
        * combine.cc (try_combine): When looking for insn whose links
        should be updated from i3 to i2, don't stop on debug insns, instead
        skip over them.

2022-02-16  Richard Sandiford  <richard.sandiford@arm.com>

        PR target/100056
        * config/aarch64/iterators.md (LOGICAL_OR_PLUS): New iterator.
        * config/aarch64/aarch64.md: Extend the PR100056 patterns
        to handle plus in the same way as ior, if the operands have
        no set bits in common.

2022-02-15  Andrew MacLeod  <amacleod@redhat.com>

        PR tree-optimization/104526
        * gimple-range-fold.cc (fold_using_range::range_of_cond_expr): Call
        new routine.
        * gimple-range-gori.cc (range_def_chain::get_def_chain): Force a build
        of dependency chain if there isn't one.
        (gori_compute::condexpr_adjust): New.
        * gimple-range-gori.h (class gori_compute): New prototype.

2022-02-15  Richard Sandiford  <richard.sandiford@arm.com>

        PR target/100874
        * config/aarch64/aarch64-protos.h (aarch64_maxmin_plus_const):
        Declare.
        * config/aarch64/aarch64.cc (aarch64_maxmin_plus_const): New function.
        * config/aarch64/aarch64.md (*aarch64_minmax_plus): New pattern.

2022-02-15  Richard Sandiford  <richard.sandiford@arm.com>

        * tree-vectorizer.h (vect_scalar_ops_slice): New struct.
        (vect_scalar_ops_slice_hash): Likewise.
        (vect_scalar_ops_slice::op): New function.
        * tree-vect-slp.cc (vect_scalar_ops_slice::all_same_p): New function.
        (vect_scalar_ops_slice_hash::hash): Likewise.
        (vect_scalar_ops_slice_hash::equal): Likewise.
        (vect_prologue_cost_for_slp): Check for duplicate vectors.
        * config/aarch64/aarch64.cc
        (aarch64_vector_costs::m_stp_sequence_cost): New member variable.
        (aarch64_aligned_constant_offset_p): New function.
        (aarch64_stp_sequence_cost): Likewise.
        (aarch64_vector_costs::add_stmt_cost): Handle new STP heuristic.
        (aarch64_vector_costs::finish_cost): Likewise.

2022-02-15  Richard Sandiford  <richard.sandiford@arm.com>

        * tree-vect-slp.cc (vect_bb_vectorization_profitable_p): Fix
        use after free.

2022-02-15  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/104543
        * gimple-loop-jam.cc (unroll_jam_possible_p): Check outer loop exits
        come after the inner loop.

2022-02-15  Jakub Jelinek  <jakub@redhat.com>

        PR target/104536
        * config/i386/host-cygwin.cc (cygwin_gt_pch_get_address): Use
        cannot instead of can%'t in diagnostics.  Formatting fixes.

2022-02-15  Jakub Jelinek  <jakub@redhat.com>

        PR middle-end/104522
        * fold-const.h (native_interpret_real): Declare.
        * fold-const.cc (native_interpret_real): No longer static.  Don't
        perform MODE_COMPOSITE_P verification here.
        (native_interpret_expr) <case REAL_TYPE>: But perform it here instead
        for all modes.
        * gimple-fold.cc (clear_padding_type): Call native_interpret_real
        instead of native_interpret_expr.
        * simplify-rtx.cc (simplify_immed_subreg): Perform the native_encode_rtx
        and comparison verification for all FLOAT_MODE_P modes, not just
        MODE_COMPOSITE_P.

2022-02-15  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/104519
        * fold-const.cc (multiple_of_p): Remove never true condition.
        * tree-ssa-loop-niter.cc (number_of_iterations_ne): Use
        the appropriate types for determining whether the difference
        of final and base is a multiple of the step.

2022-02-15  Jakub Jelinek  <jakub@redhat.com>

        PR debug/104517
        * omp-low.cc (task_cpyfns): New variable.
        (delete_omp_context): Don't call finalize_task_copyfn from here.
        (create_task_copyfn): Push task_stmt into task_cpyfns.
        (execute_lower_omp): Call finalize_task_copyfn here on entries from
        task_cpyfns vector and release the vector.

2022-02-14  Martin Sebor  <msebor@redhat.com>

        PR middle-end/104355
        * doc/invoke.texi (-Warray-bounds): Update documentation.

2022-02-14  Michael Meissner  <meissner@the-meissners.org>

        PR target/104253
        * config/rs6000/rs6000.cc (init_float128_ibm): Update the
        conversion functions used to convert IFmode types.

2022-02-14  Andrew Stubbs  <ams@codesourcery.com>

        * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Use force_reg.

2022-02-14  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/104528
        * tree-ssa.h (find_released_ssa_name): Declare.
        * tree-ssa.cc (find_released_ssa_name): Export.
        * cfgloop.cc (verify_loop_structure): Look for released
        SSA names in loops nb_iterations.
        * tree-ssa-dse.cc (pass_dse::execute): Release number of iteration
        estimates.

2022-02-14  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/104511
        * tree-ssa-forwprop.cc (simplify_vector_constructor): Avoid
        touching DFP <-> FP conversions.

2022-02-14  Richard Biener  <rguenther@suse.de>

        PR middle-end/104497
        * gimplify.cc (gimplify_compound_lval): Make sure the
        base is a non-register if needed and possible.

2022-02-13  liuhongt  <hongtao.liu@intel.com>

        PR target/103771
        * match.pd (cond_expr_convert_p): New match.
        * tree-vect-patterns.cc (gimple_cond_expr_convert_p): Declare.
        (vect_recog_cond_expr_convert_pattern): New.

2022-02-12  Jakub Jelinek  <jakub@redhat.com>

        PR sanitizer/104449
        * asan.cc: Include tree-eh.h.
        (handle_builtin_alloca): Handle the case when __builtin_alloca or
        __builtin_alloca_with_align can throw.

2022-02-12  Jakub Jelinek  <jakub@redhat.com>

        PR target/104502
        * config/i386/i386.md (cvtsd2ss splitter): If operands[1] is xmm16+
        and AVX512VL isn't available, move operands[1] to operands[0] first.

2022-02-12  Uroš Bizjak  <ubizjak@gmail.com>

        PR target/79754
        * config/i386/i386.cc (type_natural_mode):
        Skip decimal float vector modes.

2022-02-11  Iain Sandoe  <iain@sandoe.co.uk>
            Vladimir Makarov  <vmakarov@redhat.com>

        PR target/104117
        * config/rs6000/rs6000.cc (darwin_rs6000_legitimate_lo_sum_const_p):
        Check for UNSPEC_MACHOPIC_OFFSET wrappers on symbolic addresses when
        emitting PIC code.
        (legitimate_lo_sum_address_p): Likewise.
        * lra-constraints.cc (process_address_1): Do not attempt to emit a reg
        load from an invalid lo_sum address.

2022-02-11  Jakub Jelinek  <jakub@redhat.com>

        PR tree-optimization/104499
        * match.pd ((X & Y) CMP 0 -> X CMP2 ~Y): Use view_convert instead
        of convert.

2022-02-11  Jakub Jelinek  <jakub@redhat.com>

        * tree.cc (build_common_builtin_nodes): Fix up formatting in
        __builtin_clear_padding decl creation.
        * gimplify.cc (gimple_add_padding_init_for_auto_var): Encode
        for_auto_init in the value of 2nd BUILT_IN_CLEAR_PADDING
        argument rather than in 3rd argument.
        (gimplify_call_expr): Likewise.  Fix up comment formatting.
        * gimple-fold.cc (gimple_fold_builtin_clear_padding): Expect
        2 arguments instead of 3, take for_auto_init from the value
        of 2nd argument.

2022-02-11  Vladimir N. Makarov  <vmakarov@redhat.com>

        PR rtl-optimization/104400
        * lra-constraints.cc (process_alt_operands): Don't make union of
        this_alternative_exclude_start_hard_regs when reg class in insn
        alternative covers other reg classes in the same alternative.

2022-02-11  Jakub Jelinek  <jakub@redhat.com>

        PR middle-end/104446
        * combine.cc (subst): Don't substitute CONST_INTs into RTX_AUTOINC
        operands.

2022-02-11  Richard Biener  <rguenther@suse.de>

        PR middle-end/104496
        * internal-fn.cc (vectorized_internal_fn_supported_p):
        Bail out for integer mode vector types.

2022-02-11  Jakub Jelinek  <jakub@redhat.com>

        PR rtl-optimization/104459
        * df-scan.cc (df_insn_change_bb): Don't call df_set_bb_dirty when
        moving DEBUG_INSNs between bbs.

2022-02-11  liuhongt  <hongtao.liu@intel.com>

        PR tree-optimization/104479
        * match.pd (uncond_op + vec_cond -> cond_op): Add single_use
        for the dest of uncond_op.

2022-02-11  Tom de Vries  <tdevries@suse.de>

        PR target/104456
        * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle asm
        insn.

2022-02-10  Qing Zhao  <qing.zhao@oracle.com>

        PR middle-end/100775
        * function.cc (gen_call_used_regs_seq): Call
        df_update_exit_block_uses when updating df.

2022-02-10  Uroš Bizjak  <ubizjak@gmail.com>

        PR target/104469
        * config/i386/sse.md (vec_unpacks_float_lo_v4si):
        Change operand 1 constraint to register_operand.

2022-02-10  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/104373
        * tree-ssa-sccvn.h (do_rpo_vn): New export exposing the
        walk kind.
        * tree-ssa-sccvn.cc (do_rpo_vn): Export, get the default
        walk kind as argument.
        (run_rpo_vn): Adjust.
        (pass_fre::execute): Likewise.
        * tree-ssa-uninit.cc (warn_uninitialized_vars): Skip
        blocks not reachable.
        (execute_late_warn_uninitialized): Mark all edges as
        executable.
        (execute_early_warn_uninitialized): Use VN to compute
        executable edges.
        (pass_data_early_warn_uninitialized): Enable a dump file,
        change dump name to warn_uninit.

2022-02-10  Richard Biener  <rguenther@suse.de>

        PR middle-end/104467
        * match.pd (vector extract simplification): Multiply the
        number of CTOR elements with the number of element elements.

2022-02-10  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/104466
        * tree-ssa-alias.cc (refs_may_alias_p_2): Use rbase1/rbase2
        for the MR_DEPENDENCE checks as intended.

2022-02-10  Tom de Vries  <tdevries@suse.de>

        * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"): New
        define_insn.
        (define_expand "atomic_store<mode>"): Use nvptx_atomic_store<mode> for
        TARGET_SM70.
        (define_c_enum "unspecv"): Add UNSPECV_ST.

2022-02-10  Tom de Vries  <tdevries@suse.de>

        * config/nvptx/nvptx-protos.h (nvptx_mem_maybe_shared_p): Declare.
        * config/nvptx/nvptx.cc (nvptx_mem_data_area): New static function.
        (nvptx_mem_maybe_shared_p): New function.
        * config/nvptx/nvptx.md (define_expand "atomic_store<mode>"): New
        define_expand.

2022-02-10  Tom de Vries  <tdevries@suse.de>

        PR target/97005
        * config/nvptx/nvptx.md (define_insn "sub<mode>3"): Workaround
        driver JIT bug by using sub.s16 instead of sub.u16.

2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>

        * config/nvptx/nvptx.md (copysign<mode>3): Allow immediate
        floating point constants as operands 1 and/or 2.

2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>

        PR target/104345
        * config/nvptx/nvptx.md (sel_true<mode>): Fix indentation.
        (sel_false<mode>): Likewise.
        (define_code_iterator eqne): New code iterator for EQ and NE.
        (*selp<mode>_neg_<code>): New define_insn_and_split to optimize
        the negation of a selp instruction.
        (*selp<mode>_not_<code>): New define_insn_and_split to optimize
        the bitwise not of a selp instruction.
        (*setcc_int<mode>): Use set instruction for neg:SI of a selp.

2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>

        * config/nvptx/nvptx.md (any_logic): Move code iterator earlier
        in machine description.
        (logic): Move code attribute earlier in machine description.
        (ilogic): New code attribute, like logic but "ior" for IOR.
        (and<mode>3, ior<mode>3, xor<mode>3): Delete. Replace with...
        (<ilogic><mode>3): New define_insn for HSDIM logic operations.
        (<ilogic>bi3): New define_insn for BI mode logic operations.
        (define_split): Lower logic operations from integer modes to
        BI mode predicate operations.

2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>

        * config/nvptx/nvptx.md (UNSPEC_ISINF): New UNSPEC.
        (one_cmplbi2): New define_insn for not.pred.
        (mulditi3): New define_expand for signed widening multiply.
        (umulditi3): New define_expand for unsigned widening multiply.
        (smul<mode>3_highpart): New define_insn for signed highpart mult.
        (umul<mode>3_highpart): New define_insn for unsigned highpart mult.
        (*smulhi3_highpart_2): Renamed from smulhi3_highpart.
        (*smulsi3_highpart_2): Renamed from smulsi3_highpart.
        (*umulhi3_highpart_2): Renamed from umulhi3_highpart.
        (*umulsi3_highpart_2): Renamed from umulsi3_highpart.
        (*setcc<mode>_from_not_bi): New define_insn.
        (*setcc_isinf<mode>): New define_insn for testp.infinite.
        (isinf<mode>2): New define_expand.

2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>

        * config/nvptx/nvptx.md (cmp<mode>): Renamed from *cmp<mode>.
        (setcc<mode>_from_bi): Additionally support QImode.
        (extendbi<mode>2): Additionally support QImode.
        (zero_extendbi<mode>2): Additionally support QImode.
        (any_sbinary, any_ubinary, any_sunary, any_uunary): New code
        iterators for signed and unsigned, binary and unary operations.
        (<sbinary>qi3, <ubinary>qi3, <sunary>qi2, <uunary>qi2): New
        expanders to perform QImode operations using SImode instructions.
        (cstoreqi4): New define_expand.
        (*ext_truncsi2_qi): New define_insn.
        (*zext_truncsi2_qi): New define_insn.

2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>

        * config/nvptx/nvptx.md (*cmpf): New define_insn.
        (cstorehf4): New define_expand.
        (fmahf4): New define_insn.
        (neghf2): New define_insn.
        (abshf2): New define_insn.

2022-02-10  Gerald Pfeifer  <gerald@pfeifer.com>

        * doc/install.texi (Specific): Change the www.bitwizard.nl
        reference to use https.

2022-02-10  Marcel Vollweiler  <marcel@codesourcery.com>

        * gimplify.cc (gimplify_scan_omp_clauses): Added cases for
        OMP_CLAUSE_HAS_DEVICE_ADDR
        and handle array sections.
        (gimplify_adjust_omp_clauses): Added OMP_CLAUSE_HAS_DEVICE_ADDR case.
        * omp-low.cc (scan_sharing_clauses): Handle OMP_CLAUSE_HAS_DEVICE_ADDR.
        (lower_omp_target): Same.
        * tree-core.h (enum omp_clause_code): Same.
        * tree-nested.cc (convert_nonlocal_omp_clauses): Same.
        (convert_local_omp_clauses): Same.
        * tree-pretty-print.cc (dump_omp_clause): Same.
        * tree.cc: Same.

2022-02-10  Eugene Rozenfeld  <erozen@microsoft.com>

        * auto-profile.cc (afdo_indirect_call): Don't attempt to promote indirect calls
        that will result in direct recursive calls.

2022-02-10  Andrew Pinski  <apinski@marvell.com>

        PR target/104474
        * config/aarch64/aarch64.cc
        (aarch64_sve_expand_vector_init_handle_trailing_constants):
        Use CONST0_RTX instead of const0_rtx for the non-constant elements.

2022-02-09  Uroš Bizjak  <ubizjak@gmail.com>

        PR target/104462
        * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_XSAVE_UNSET):
        Also include OPTION_MASK_ISA2_AVX2_UNSET.

2022-02-09  Uroš Bizjak  <ubizjak@gmail.com>

        PR target/104458
        * config/i386/i386-expand.cc (ix86_split_idivmod):
        Force operands[2] and operands[3] into a register..

2022-02-09  Jeff Law  <jeffreyalaw@gmail.com>

        PR target/97040
        * config/v850/v850.md (*v850_fnmasf4): Renamed from fnmasf4.
        (*v850_fnmssf4): Renamed from fnmssf4

2022-02-09  Ian Lance Taylor  <iant@golang.org>

        * godump.cc (go_force_record_alignment): Really name the alignment
        field "_" (complete 2021-12-29 change).

2022-02-09  Bill Schmidt  <wschmidt@linux.ibm.com>

        * config/rs6000/rs6000-builtins.def (VREPLACE_UN_UV2DI): Change
        function prototype.
        (VREPLACE_UN_UV4SI): Likewise.
        (VREPLACE_UN_V2DF): Likewise.
        (VREPLACE_UN_V2DI): Likewise.
        (VREPLACE_UN_V4SF): Likewise.
        (VREPLACE_UN_V4SI): Likewise.
        * config/rs6000/rs6000-overload.def (VEC_REPLACE_UN): Change all
        function prototypes.
        * config/rs6000/vsx.md (vreplace_un_<mode>): Remove define_expand.
        (vreplace_un_<mode>): New define_insn.

2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>

        * config/aarch64/iterators.md (VDCSIF): New mode iterator.
        (VDBL): Handle SF.
        (single_wx, single_type, single_dtype, dblq): New mode attributes.
        * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Extend
        from VDC to VDCSIF.
        (store_pair_lanes<mode>): Likewise.
        (*aarch64_combine_internal<mode>): Likewise.
        (*aarch64_combine_internal_be<mode>): Likewise.
        (*aarch64_combinez<mode>): Likewise.
        (*aarch64_combinez_be<mode>): Likewise.
        * config/aarch64/aarch64.cc (aarch64_classify_address): Handle
        8-byte modes for ADDR_QUERY_LDP_STP_N.
        (aarch64_print_operand): Likewise for %y.

2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>

        * config/aarch64/aarch64-simd.md (@aarch64_split_simd_mov<mode>):
        Use aarch64_combine instead of move_lo/hi_quad.  Tabify.
        (move_lo_quad_<mode>, aarch64_simd_move_hi_quad_<mode>): Delete.
        (aarch64_simd_move_hi_quad_be_<mode>, move_hi_quad_<mode>): Delete.
        (vec_pack_trunc_<mode>): Take general_operand elements and use
        aarch64_combine rather than move_lo/hi_quad to combine them.
        (vec_pack_trunc_df): Likewise.

2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>

        * config/aarch64/aarch64-protos.h (aarch64_split_simd_combine):
        Delete.
        * config/aarch64/aarch64-simd.md (@aarch64_combinez<mode>): Rename
        to...
        (*aarch64_combinez<mode>): ...this.
        (@aarch64_combinez_be<mode>): Rename to...
        (*aarch64_combinez_be<mode>): ...this.
        (@aarch64_vec_concat<mode>): New expander.
        (aarch64_combine<mode>): Use it.
        (@aarch64_simd_combine<mode>): Delete.
        * config/aarch64/aarch64.cc (aarch64_split_simd_combine): Delete.
        (aarch64_expand_vector_init): Use aarch64_vec_concat.

2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>

        * config/aarch64/predicates.md (aarch64_reg_or_mem_pair_operand):
        New predicate.
        * config/aarch64/aarch64-simd.md (*aarch64_combine_internal<mode>)
        (*aarch64_combine_internal_be<mode>): New patterns.

2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>

        * config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>)
        (move_lo_quad_internal_be_<mode>): Delete.
        (move_lo_quad_<mode>): Use aarch64_combine<Vhalf> instead of the above.

2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>

        * config/aarch64/aarch64-protos.h (aarch64_mergeable_load_pair_p):
        Declare.
        * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Use
        aarch64_mergeable_load_pair_p instead of inline check.
        * config/aarch64/aarch64.cc (aarch64_expand_vector_init): Likewise.
        (aarch64_check_consecutive_mems): Allow the reversed parameter
        to be null.
        (aarch64_mergeable_load_pair_p): New function.

2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>

        * config/aarch64/aarch64-simd.md (vec_set<mode>): Allow the
        element to be an aarch64_simd_nonimmediate_operand.

2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>

        * config/aarch64/aarch64-simd.md (aarch64_simd_vec_set<mode>): Use
        aarch64_simd_nonimmediate_operand instead of
        aarch64_simd_general_operand.
        (@aarch64_combinez<mode>): Use nonimmediate_operand instead of
        general_operand.
        (@aarch64_combinez_be<mode>): Likewise.

2022-02-09  Richard Biener  <rguenther@suse.de>

        PR middle-end/104464
        * gimple-isel.cc (gimple_expand_vec_cond_expr): Postpone
        throwing check to after unproblematic replacement.

2022-02-09  Roger Sayle  <roger@nextmovesoftware.com>

        PR tree-optimization/104420
        * match.pd (mult @0 real_zerop): Tweak conditions for constant
        folding X*0.0 (or X*-0.0) to HONOR_SIGNED_ZEROS when appropriate.

2022-02-09  Jakub Jelinek  <jakub@redhat.com>

        PR debug/104407
        * dwarf2out.cc (mangle_referenced_decls): New function.
        (tree_add_const_value_attribute): Don't call rtl_for_decl_init if
        early_dwarf.  Instead walk the initializer and try to mangle vars or
        functions referenced from it.

2022-02-09  Andrew MacLeod  <amacleod@redhat.com>

        PR tree-optimization/104288
        * gimple-range-cache.cc (non_null_ref::set_nonnull): New.
        (non_null_ref::adjust_range): Move to header.
        (ranger_cache::range_of_def): Don't check non-null.
        (ranger_cache::entry_range): Don't check non-null.
        (ranger_cache::range_on_edge): Check for nonnull on normal edges.
        (ranger_cache::update_to_nonnull): New.
        (non_null_loadstore): New.
        (ranger_cache::block_apply_nonnull): New.
        * gimple-range-cache.h (class non_null_ref): Update prototypes.
        (non_null_ref::adjust_range): Move to here and inline.
        (class ranger_cache): Update prototypes.
        * gimple-range-path.cc (path_range_query::range_defined_in_block): Do
        not search dominators.
        (path_range_query::adjust_for_non_null_uses): Ditto.
        * gimple-range.cc (gimple_ranger::range_of_expr): Check on-entry for
        def overrides.  Do not check nonnull.
        (gimple_ranger::range_on_entry): Check dominators for nonnull.
        (gimple_ranger::range_on_edge): Check for nonnull on normal edges..
        (gimple_ranger::register_side_effects): New.
        * gimple-range.h (gimple_ranger::register_side_effects): New.
        * tree-vrp.cc (rvrp_folder::fold_stmt): Call register_side_effects.

2022-02-09  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/104445
        PR tree-optimization/102832
        * optabs-query.h (can_vec_extract): New.
        * optabs-query.cc (can_vec_extract): Likewise.
        * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
        we can extract a hi/lo part from the larger vector, rework
        check iteration from larger to smaller sizes.

2022-02-09  H.J. Lu  <hjl.tools@gmail.com>

        PR target/35513
        PR target/100593
        * config/i386/gnu-property.cc: Include "i386-protos.h".
        (file_end_indicate_exec_stack_and_gnu_property): Generate
        a GNU_PROPERTY_1_NEEDED note for -mno-direct-extern-access or
        nodirect_extern_access attribute.
        * config/i386/i386-options.cc
        (handle_nodirect_extern_access_attribute): New function.
        (ix86_attribute_table): Add nodirect_extern_access attribute.
        * config/i386/i386-protos.h (ix86_force_load_from_GOT_p): Add a
        bool argument.
        (ix86_has_no_direct_extern_access): New.
        * config/i386/i386.cc (ix86_has_no_direct_extern_access): New.
        (ix86_force_load_from_GOT_p): Add a bool argument to indicate
        call operand.  Force non-call load from GOT for
        -mno-direct-extern-access or nodirect_extern_access attribute.
        (legitimate_pic_address_disp_p): Avoid copy relocation in PIE
        for -mno-direct-extern-access or nodirect_extern_access attribute.
        (ix86_print_operand): Pass true to ix86_force_load_from_GOT_p
        for call operand.
        (asm_preferred_eh_data_format): Use PC-relative format for
        -mno-direct-extern-access to avoid copy relocation.  Check
        ptr_mode instead of TARGET_64BIT when selecting DW_EH_PE_sdata4.
        (ix86_binds_local_p): Set ix86_has_no_direct_extern_access to
        true for -mno-direct-extern-access or nodirect_extern_access
        attribute.  Don't treat protected data as extern and avoid copy
        relocation on common symbol with -mno-direct-extern-access or
        nodirect_extern_access attribute.
        (ix86_reloc_rw_mask): New to avoid copy relocation for
        -mno-direct-extern-access.
        (TARGET_ASM_RELOC_RW_MASK): New.
        * config/i386/i386.opt: Add -mdirect-extern-access.
        * doc/extend.texi: Document nodirect_extern_access attribute.
        * doc/invoke.texi: Document -m[no-]direct-extern-access.

2022-02-09  H.J. Lu  <hjl.tools@gmail.com>

        PR target/104441
        * config/i386/i386.cc (ix86_avx_u128_mode_source): New function.
        (ix86_avx_u128_mode_needed): Return AVX_U128_ANY for debug INSN.
        Call ix86_avx_u128_mode_source to check mode for each component
        of source operand.

2022-02-09  liuhongt  <hongtao.liu@intel.com>

        PR target/104451
        * config/i386/sse.md (<insn><mode>3): lowpart_subreg
        operands[2] from SImode to QImode.

2022-02-09  Richard Biener  <rguenther@suse.de>

        PR middle-end/104450
        * gimple-isel.cc: Pass cfun around.
        (+gimple_expand_vec_cond_expr): Do not combine a throwing
        comparison with the select.

2022-02-09  Richard Biener  <rguenther@suse.de>

        PR target/104453
        * config/i386/i386.cc (ix86_gimple_fold_builtin): Guard shift
        folding for NULL LHS.

2022-02-08  Robin Dapp  <rdapp@linux.ibm.com>

        PR rtl-optimization/104198
        PR rtl-optimization/104153
        * ifcvt.cc (noce_convert_multiple_sets_1): Copy rtx instead of
        using it directly.  Rework comparison handling and always
        perform a second pass.

2022-02-08  Jakub Jelinek  <jakub@redhat.com>

        PR target/102140
        * config/rs6000/rs6000.cc (vspltis_shifted): Return false also if
        split1 pass has finished already.

2022-02-08  Bill Schmidt  <wschmidt@linux.ibm.com>

        * config/rs6000/rs6000-builtins.def (VMSUMCUD): New.
        * config/rs6000/rs6000-overload.def (VEC_MSUMC): New.
        * config/rs6000/vsx.md (UNSPEC_VMSUMCUD): New constant.
        (vmsumcud): New define_insn.

2022-02-08  Tom de Vries  <tdevries@suse.de>

        * config/nvptx/nvptx-opts.h (enum ptx_isa): Add PTX_ISA_SM70.
        * config/nvptx/nvptx.h (TARGET_SM70): Define.

2022-02-08  Robin Dapp  <rdapp@linux.ibm.com>

        * config/s390/s390.cc (s390_rtx_costs): Increase costs for load
        on condition.
        * config/s390/s390.md: Use paradoxical subreg.

2022-02-08  Robin Dapp  <rdapp@linux.ibm.com>

        * combine.cc (reg_subword_p): Check for paradoxical subreg.

2022-02-08  Tom de Vries  <tdevries@suse.de>

        PR target/104283
        * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_3_0
        and PTX_VERSION_4_2.
        * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm)
        (default_ptx_version_option, ptx_version_to_string)
        (sm_version_to_string, handle_ptx_version_option): New function.
        (nvptx_option_override): Call handle_ptx_version_option.
        (nvptx_file_start): Use ptx_version_to_string and sm_version_to_string.
        * config/nvptx/nvptx.md (define_insn "nvptx_shuffle<mode>")
        (define_insn "nvptx_vote_ballot"): Use TARGET_PTX_6_0.
        * config/nvptx/nvptx.opt (mptx): Remove 'Init'.

2022-02-08  Maciej W. Rozycki  <macro@embecosm.com>

        * doc/install.texi (Configuration): Document `--with-isa-spec='
        RISC-V option.
        * doc/invoke.texi (Option Summary): List `-misa-spec=' RISC-V
        option.
        (RISC-V Options): Document it.

2022-02-08  Maciej W. Rozycki  <macro@embecosm.com>

        * config/riscv/t-riscv (riscv-sr.o): Add $(TM_H) dependency.

2022-02-08  Tom de Vries  <tdevries@suse.de>

        * config/nvptx/nvptx.cc (write_fn_proto_1): Handle 'main (int)'.

2022-02-08  Tom de Vries  <tdevries@suse.de>

        PR target/104364
        * config/nvptx/nvptx-protos.h (nvptx_mem_local_p): Declare.
        * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Assert that
        change is validated.
        (nvptx_mem_local_p): New function.
        * config/nvptx/nvptx.md: Use nvptx_mem_local_p.
        (define_c_enum "unspecv"): Add UNSPECV_CAS_LOCAL.
        (define_insn "atomic_compare_and_swap<mode>_1_local"): New
        non-atomic, non-predicable define_insn, factored out of ...
        (define_insn "atomic_compare_and_swap<mode>_1"): ... here.
        Make predicable again.
        (define_expand "atomic_compare_and_swap<mode>"): Use
        atomic_compare_and_swap<mode>_1_local.

2022-02-08  liuhongt  <hongtao.liu@intel.com>

        PR rtl-optimization/104059
        * regcprop.cc (copyprop_hardreg_forward_1): Don't propagate
        for a more expensive reg-reg move.

2022-02-07  Tamar Christina  <tamar.christina@arm.com>

        * config/arm/arm_neon.h (vusdotq_s32, vusdot_laneq_s32,
        vusdotq_laneq_s32, vsudot_laneq_s32, vsudotq_laneq_s32): New
        * config/arm/arm_neon_builtins.def (usdot): Add V16QI.
        (usdot_laneq, sudot_laneq): New.
        * config/arm/neon.md (neon_<sup>dot_laneq<vsi2qi>): New.
        (neon_<sup>dot_lane<vsi2qi>): Remote unneeded code.

2022-02-07  Tamar Christina  <tamar.christina@arm.com>

        * config/arm/arm_neon.h (vdot_laneq_u32, vdotq_laneq_u32,
        vdot_laneq_s32, vdotq_laneq_s32): New.
        * config/arm/arm_neon_builtins.def (sdot_laneq, udot_laneq): New.
        * config/arm/neon.md (neon_<sup>dot<vsi2qi>): New.
        (<sup>dot_prod<vsi2qi>): Re-order rtl.
        (neon_<sup>dot_lane<vsi2qi>): Fix rtl order and endiannes.
        (neon_<sup>dot_laneq<vsi2qi>): New.

2022-02-07  Andreas Krebbel  <krebbel@linux.ibm.com>

        PR target/104327
        * config/s390/s390.cc (s390_can_inline_p): Accept a few more flags
        if always_inline is set. Don't inline when tune differs without
        always_inline.

2022-02-07  Richard Biener  <rguenther@suse.de>

        PR middle-end/104402
        * gimple-expr.cc (is_gimple_condexpr): _Complex typed
        compares are not valid.
        * tree-cfg.cc (verify_gimple_assign_ternary): For COND_EXPR
        check is_gimple_condexpr.

2022-02-07  Kewen Lin  <linkw@linux.ibm.com>

        PR target/103627
        * config/rs6000/rs6000.cc (rs6000_option_override_internal): Move the
        hunk affecting VSX and ALTIVEC to appropriate place.

2022-02-07  Kewen Lin  <linkw@linux.ibm.com>

        PR target/103627
        * config/rs6000/rs6000.cc (rs6000_option_override_internal): Disable
        MMA if !TARGET_VSX.

2022-02-06  Jakub Jelinek  <jakub@redhat.com>

        PR c++/89074
        PR c++/104033
        * fold-const.h (folding_initializer): Adjust comment.
        (folding_cxx_constexpr): Declare.
        * fold-const.cc (folding_initializer): Adjust comment.
        (folding_cxx_constexpr): New variable.
        (address_compare): Restrict the decl vs. STRING_CST
        or vice versa or STRING_CST vs. STRING_CST or
        is_global_var != is_global_var optimizations to !folding_cxx_constexpr.
        Punt for FUNCTION_DECLs with non-zero offsets.  If folding_initializer,
        assume non-aliased functions have non-zero size and have different
        addresses.  For folding_cxx_constexpr, punt on comparisons of start
        of some object and end of another one, regardless whether it is a decl
        or string literal.  Also punt for folding_cxx_constexpr on
        STRING_CST vs. STRING_CST comparisons if the two literals could be
        overlapping.

2022-02-05  Jakub Jelinek  <jakub@redhat.com>

        PR tree-optimization/104389
        * match.pd (x * 0 -> 0): Punt if x maybe infinite and NaNs are
        honored.

2022-02-05  Kito Cheng  <kito.cheng@sifive.com>

        * configure.ac: Fix detection for zifencei support.
        * configure: Regenerate.

2022-02-05  Kito Cheng  <kito.cheng@sifive.com>

        PR target/104219
        * config.gcc (riscv*-*-*): Normalize the with_isa_spec value.
        (all_defaults): Add isa_spec.
        * config/riscv/riscv.h (OPTION_DEFAULT_SPECS): Add isa_spec.

2022-02-04  Bill Schmidt  <wschmidt@linux.ibm.com>

        * config/rs6000/rs6000-c.cc (resolve_vec_mul): Accept args and types
        parameters instead of arglist and nargs.  Simplify accordingly.  Remove
        unnecessary test for argument count mismatch.
        (resolve_vec_cmpne): Likewise.
        (resolve_vec_adde_sube): Likewise.
        (resolve_vec_addec_subec): Likewise.
        (altivec_resolve_overloaded_builtin): Move overload special handling
        after the gathering of arguments into args[] and types[] and the test
        for correct number of arguments.  Don't perform the test for correct
        number of arguments for certain special cases.  Call the other special
        cases with args and types instead of arglist and nargs.

2022-02-04  Bill Schmidt  <wschmidt@linux.ibm.com>

        PR target/100808
        * doc/extend.texi (Basic PowerPC Built-in Functions Available on ISA
        3.1): Provide consistent type names.  Remove unnecessary semicolons.
        Fix bad line breaks.

2022-02-04  Jakub Jelinek  <jakub@redhat.com>

        PR target/104380
        * config/rs6000/rs6000.cc (rs6000_mangle_decl_assembler_name): Also
        adjust mangling of __builtin*printf_chk.

2022-02-04  Jonathan Wakely  <jwakely@redhat.com>

        * doc/cpp.texi (Variadic Macros): Replace C++2a with C++20.

2022-02-04  Richard Biener  <rguenther@suse.de>
            Bin Cheng   <bin.cheng@linux.alibaba.com>

        PR tree-optimization/100499
        * fold-const.h (multiple_of_p): Add nowrap parameter, defaulted
        to true.
        * fold-const.cc (multiple_of_p): Likewise.  Honor it for
        MULT_EXPR, PLUS_EXPR and MINUS_EXPR and pass it along,
        switching to false for conversions.
        * tree-ssa-loop-niter.cc (number_of_iterations_ne): Do not
        claim the outermost expression does not wrap when calling
        multiple_of_p.  Refactor the check done to check the
        original IV, avoiding a bias that might wrap.

2022-02-04  Richard Biener  <rguenther@suse.de>

        * fold-const.cc (multiple_of_p): Re-write and move LSHIFT_EXPR
        handling.

2022-02-04  Eric Botcazou  <ebotcazou@adacore.com>

        PR debug/104366
        * dwarf2out.cc (dwarf2out_finish): Empty base_types.
        (dwarf2out_early_finish): Likewise.

2022-02-04  Eric Botcazou  <ebotcazou@adacore.com>

        PR tree-optimization/104356
        * match.pd (X / bool_range_Y is X): Add guard.
        (X / X is one): Likewise.
        (X / abs (X) is X < 0 ? -1 : 1): Likewise.
        (X / -X is -1): Likewise.
        (1 / X -> X == 1): Likewise.

2022-02-04  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/103641
        * tree-vect-patterns.cc (vect_synth_mult_by_constant):
        Pass the vector mode to choose_mult_variant.

2022-02-04  Roger Sayle  <roger@nextmovesoftware.com>

        PR rtl-optimization/101885
        * combine.cc (try_combine): When splitting a parallel into two
        sequential sets, check not only that the first doesn't clobber
        the second but also that the second doesn't clobber the first.

2022-02-04  Richard Biener  <rguenther@suse.de>

        PR middle-end/90348
        PR middle-end/104092
        * tree-core.h (clobber_kind): New enum.
        (tree_base::u::bits::address_space): Document use in CONSTRUCTORs.
        * tree.h (CLOBBER_KIND): Add.
        (build_clobber): Add clobber kind argument, defaulted to
        CLOBBER_UNDEF.
        * tree.cc (build_clobber): Likewise.
        * gimple.h (gimple_clobber_p): New overload with specified kind.
        * tree-streamer-in.cc (streamer_read_tree_bitfields): Stream
        CLOBBER_KIND.
        * tree-streamer-out.cc (streamer_write_tree_bitfields):
        Likewise.
        * tree-pretty-print.cc (dump_generic_node): Mark EOL CLOBBERs.
        * gimplify.cc (gimplify_bind_expr): Build storage end-of-life clobbers
        with CLOBBER_EOL.
        (gimplify_target_expr): Likewise.
        * tree-inline.cc (expand_call_inline): Likewise.
        * tree-ssa-ccp.cc (insert_clobber_before_stack_restore): Likewise.
        * gimple-ssa-warn-access.cc (pass_waccess::check_stmt): Only treat
        CLOBBER_EOL clobbers as ending lifetime of storage.

2022-02-04  Martin Sebor  <msebor@redhat.com>

        * pointer-query.h (pointer_query::cache_type): Use auto_vec for auto
        cleanup.

2022-02-03  Martin Sebor  <msebor@redhat.com>

        PR middle-end/104260
        * passes.def (pass_warn_access): Adjust pass placement.

2022-02-03  Uroš Bizjak  <ubizjak@gmail.com>

        PR target/104362
        * config/i386/i386.cc (find_drap_reg): For 32bit targets
        return DI_REG if function uses __builtin_eh_return.

2022-02-03  Martin Sebor  <msebor@redhat.com>

        * gimple-ssa-warn-restrict.cc (class pass_wrestrict): Outline ctor.
        (pass_wrestrict::m_ptr_qry): New member.
        (wrestrict_walk): Rename...
        (pass_wrestrict::check_block): ...to this.
        (pass_wrestrict::execute): Set up and tear down pointer_query and
        ranger.
        (builtin_memref::builtin_memref): Change ctor argument.  Simplify.
        (builtin_access::builtin_access): Same.
        (builtin_access::m_ptr_qry): New member.
        (check_call): Rename...
        (pass_wrestrict::check_call): ...to this.
        (check_bounds_or_overlap): Change argument.
        * gimple-ssa-warn-restrict.h (check_bounds_or_overlap): Same.

2022-02-03  Martin Sebor  <msebor@redhat.com>

        * gimple-array-bounds.cc (array_bounds_checker::array_bounds_checker):
        Define ctor.
        (array_bounds_checker::get_value_range): Use new member.
        (array_bounds_checker::check_mem_ref): Same.
        * gimple-array-bounds.h (array_bounds_checker::array_bounds_checker):
        Outline ctor.
        (array_bounds_checker::m_ptr_query): New member.

2022-02-03  Martin Sebor  <msebor@redhat.com>

        * gimple-ssa-warn-access.cc (pass_waccess::pass_waccess): Remove
        pointer_query cache.
        * pointer-query.cc (pointer_query::pointer_query): Remove cache
        argument.  Zero-initialize new cache member.
        (pointer_query::get_ref): Replace cache pointer with direct access.
        (pointer_query::put_ref): Same.
        (pointer_query::flush_cache): Same.
        (pointer_query::dump): Same.
        * pointer-query.h (class pointer_query): Remove cache argument from
        ctor.  Change cache pointer to cache subobject member.
        * tree-ssa-strlen.cc: Remove pointer_query cache.

2022-02-03  Martin Sebor  <msebor@redhat.com>

        PR tree-optimization/104119
        * gimple-ssa-sprintf.cc (struct directive): Change argument type.
        (format_none): Same.
        (format_percent): Same.
        (format_integer): Same.
        (format_floating): Same.
        (get_string_length): Same.
        (format_character): Same.
        (format_string): Same.
        (format_plain): Same.
        (format_directive): Same.
        (compute_format_length): Same.
        (handle_printf_call): Same.
        * tree-ssa-strlen.cc (get_range_strlen_dynamic): Same.   Call
        get_maxbound.
        (get_range_strlen_phi): Same.
        (get_maxbound): New function.
        (strlen_pass::get_len_or_size): Adjust to parameter change.
        * tree-ssa-strlen.h (get_range_strlen_dynamic): Change argument type.

2022-02-03  Bill Schmidt  <wschmidt@linux.ibm.com>

        PR target/103686
        * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Remove
        test for !rs6000_fold_gimple.
        * config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise.
        * config/rs6000/rs6000.opt (mfold-gimple): Remove.

2022-02-03  Bill Schmidt  <wschmidt@linux.ibm.com>

        PR target/95082
        * config/rs6000/rs6000-builtin.cc (rs6000_expand_builtin): Handle
        endianness for vclzlsbb and vctzlsbb.
        * config/rs6000/rs6000-builtins.def (VCLZLSBB_V16QI): Change
        default pattern and indicate a different pattern will be used for
        big endian.
        (VCLZLSBB_V4SI): Likewise.
        (VCLZLSBB_V8HI): Likewise.
        (VCTZLSBB_V16QI): Likewise.
        (VCTZLSBB_V4SI): Likewise.
        (VCTZLSBB_V8HI): Likewise.

2022-02-03  Bill Schmidt  <wschmidt@linux.ibm.com>

        * config.gcc (powerpc*-*-*): Add rs6000-builtin.o to extra_objs.
        * config/rs6000/rs6000-builtin.cc: New file, containing code moved
        from other files.
        * config/rs6000/rs6000-call.cc (cpu_is_info): Move to
        rs6000-builtin.cc.
        (cpu_supports_info): Likewise.
        (rs6000_type_string): Likewise.
        (altivec_expand_predicate_builtin): Likewise.
        (rs6000_htm_spr_icode): Likewise.
        (altivec_expand_vec_init_builtin): Likewise.
        (get_element_number): Likewise.
        (altivec_expand_vec_set_builtin): Likewise.
        (altivec_expand_vec_ext_builtin): Likewise.
        (rs6000_invalid_builtin): Likewise.
        (rs6000_fold_builtin): Likewise.
        (fold_build_vec_cmp): Likewise.
        (fold_compare_helper): Likewise.
        (map_to_integral_tree_type): Likewise.
        (fold_mergehl_helper): Likewise.
        (fold_mergeeo_helper): Likewise.
        (rs6000_builtin_valid_without_lhs): Likewise.
        (rs6000_builtin_is_supported): Likewise.
        (rs6000_gimple_fold_mma_builtin): Likewise.
        (rs6000_gimple_fold_builtin): Likewise.
        (rs6000_expand_ldst_mask): Likewise.
        (cpu_expand_builtin): Likewise.
        (elemrev_icode): Likewise.
        (ldv_expand_builtin): Likewise.
        (lxvrse_expand_builtin): Likewise.
        (lxvrze_expand_builtin): Likewise.
        (stv_expand_builtin): Likewise.
        (mma_expand_builtin): Likewise.
        (htm_spr_num): Likewise.
        (htm_expand_builtin): Likewise.
        (rs6000_expand_builtin): Likewise.
        (rs6000_vector_type): Likewise.
        (rs6000_init_builtins): Likewise.  Remove initialization of
        builtin_mode_to_type entries.
        (rs6000_builtin_decl): Move to rs6000-builtin.cc.
        * config/rs6000/rs6000.cc (rs6000_builtin_mask_for_load): New
        external declaration.
        (rs6000_builtin_md_vectorized_function): Likewise.
        (rs6000_builtin_reciprocal): Likewise.
        (altivec_builtin_mask_for_load): Move to rs6000-builtin.cc.
        (rs6000_builtin_types): Likewise.
        (builtin_mode_to_type): Remove.
        (rs6000_builtin_mask_for_load): Move to rs6000-builtin.cc.  Remove
        static qualifier.
        (rs6000_builtin_md_vectorized_function): Likewise.
        (rs6000_builtin_reciprocal): Likewise.
        * config/rs6000/rs6000.h (builtin_mode_to_type): Remove.
        * config/rs6000/t-rs6000 (rs6000-builtin.o): New target.

2022-02-03  Richard Biener  <rguenther@suse.de>

        PR debug/104337
        * tree-nrv.cc (pass_nrv::execute): Remove tieing result and found
        together via DECL_ABSTRACT_ORIGIN.

2022-02-03  Bill Schmidt  <wschmidt@linux.ibm.com>

        * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Revise error
        message for RES_BITS case.

2022-02-03  Aldy Hernandez  <aldyh@redhat.com>

        * gimple-range-fold.cc (fur_list::fur_list): Set m_local[1] correctly.

2022-02-03  Jakub Jelinek  <jakub@redhat.com>

        * config/arm/arm.opt (mfix-cortex-a57-aes-1742098,
        mfix-cortex-a72-aes-1655431): Ensure description ends with full stop.

2022-02-03  Aldy Hernandez  <aldyh@redhat.com>

        * cfganal.cc (verify_marked_backedges): New.
        * cfganal.h (verify_marked_backedges): New.
        * gimple-range-path.cc (path_range_query::path_range_query):
        Verify freshness of back edges.
        * tree-ssa-loop-ch.cc (ch_base::copy_headers): Call
        mark_dfs_back_edges.
        * tree-ssa-threadbackward.cc (back_threader::back_threader): Move
        path_range_query construction after backedges have been
        updated.

2022-02-03  Richard Sandiford  <richard.sandiford@arm.com>

        * config/aarch64/aarch64-simd.md (movmisalign<mode>): Extend from
        VALL to VALL_F16.

2022-02-03  Richard Sandiford  <richard.sandiford@arm.com>

        * config/aarch64/iterators.md (VALL_F16MOV): Delete.
        * config/aarch64/aarch64-simd.md (mov<mode>): Use VALL_F16 instead
        of VALL_F16MOV.

2022-02-03  Martin Liska  <mliska@suse.cz>

        * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p):
        Change subject and object in the error message.
        * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
        Likewise.

2022-02-03  Martin Liska  <mliska@suse.cz>

        * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
        Use the error message for i386 target.

2022-02-03  Jakub Jelinek  <jakub@redhat.com>

        PR tree-optimization/104334
        * range-op.cc (range_operator::wi_fold_in_parts): Change lh_range
        and rh_range type to widest_int and subtract in widest_int.  Remove
        ov_rh, ov_lh and sign vars, always perform comparisons as signed
        and use >, < and == operators for it.

2022-02-03  Martin Sebor  <msebor@redhat.com>

        * common.opt (-Wuse-after-free): Correct typos.

2022-02-02  David Malcolm  <dmalcolm@redhat.com>

        PR analyzer/104270
        * doc/invoke.texi (-ftrivial-auto-var-init=): Add reference to
        -Wanalyzer-use-of-uninitialized-value to paragraph documenting that
        -ftrivial-auto-var-init= doesn't suppress warnings.

2022-02-02  Martin Liska  <mliska@suse.cz>

        * dwarf2out.cc (TEXT_SECTION_NAME): Remove unused macro.

2022-02-02  Bernd Kuhls  <bernd.kuhls@t-online.de>

        PR target/94372
        * config/or1k/linux.h (CPP_SPEC): Define.

2022-02-02  Tamar Christina  <tamar.christina@arm.com>

        PR tree-optimization/102819
        PR tree-optimization/103169
        * config/arm/vec-common.md (cml<fcmac1><conj_op><mode>4): Use
        canonical order.

2022-02-02  Tamar Christina  <tamar.christina@arm.com>

        PR tree-optimization/102819
        PR tree-optimization/103169
        * config/aarch64/aarch64-simd.md (cml<fcmac1><conj_op><mode>4): Use
        canonical order.
        * config/aarch64/aarch64-sve.md (cml<fcmac1><conj_op><mode>4): Likewise.

2022-02-02  Tamar Christina  <tamar.christina@arm.com>

        PR tree-optimization/102819
        PR tree-optimization/103169
        * doc/md.texi: Update docs for cfms, cfma.
        * tree-data-ref.h (same_data_refs): Accept optional offset.
        * tree-vect-slp-patterns.cc (is_linear_load_p): Fix issue with repeating
        patterns.
        (vect_normalize_conj_loc): Remove.
        (is_eq_or_top): Change to take two nodes.
        (enum _conj_status, compatible_complex_nodes_p,
        vect_validate_multiplication): New.
        (class complex_add_pattern, complex_add_pattern::matches,
        complex_add_pattern::recognize, class complex_mul_pattern,
        complex_mul_pattern::recognize, class complex_fms_pattern,
        complex_fms_pattern::recognize, class complex_operations_pattern,
        complex_operations_pattern::recognize, addsub_pattern::recognize): Pass
        new cache.
        (complex_fms_pattern::matches, complex_mul_pattern::matches): Pass new
        cache and use new validation code.
        * tree-vect-slp.cc (vect_match_slp_patterns_2, vect_match_slp_patterns,
        vect_analyze_slp): Pass along cache.
        (compatible_calls_p): Expose.
        * tree-vectorizer.h (compatible_calls_p, slp_node_hash,
        slp_compat_nodes_map_t): New.
        (class vect_pattern): Update signatures include new cache.

2022-02-02  Hans-Peter Nilsson  <hp@axis.com>

        * config/cris/cris.cc (cris_preferred_reload_class): Reject
        "eliminated" registers and small-enough constants unless
        reloaded into a class that is a subset of GENERAL_REGS.
        * config/cris/cris.md (attribute "cpu_variant"): New.
        (attribute "enabled"): Conditionalize on a matching attribute
        cpu_variant, if specified.
        ("*movsi_internal<setcc><setnz><setnzvc>"): For moves to and from
        memory, add cpu-variant-enabled variants for "r" alternatives on
        the far side of the "x" alternatives, preferring the "x" ones
        only for variants where MOF is present (in addition to SRP).

2022-02-02  Hans-Peter Nilsson  <hp@axis.com>

        * config/cris/cris.cc (cris_register_move_cost): Remove special pre-ira
        extra cost for ALL_REGS.

2022-02-02  Hans-Peter Nilsson  <hp@axis.com>

        * config/cris/constraints.md (define_register_constraint "b"): Now
        GENERAL_REGS.
        * config/cris/cris.md (CRIS_ACR_REGNUM): Remove.
        * config/cris/cris.h: (reg_class, REG_CLASS_NAMES)
        (REG_CLASS_CONTENTS): Remove ACR_REGS, SPEC_ACR_REGS, GENNONACR_REGS,
        and SPEC_GENNONACR_REGS.
        * config/cris/cris.cc (cris_preferred_reload_class): Don't mention
        ACR_REGS and return GENERAL_REGS instead of GENNONACR_REGS.

2022-02-02  Hans-Peter Nilsson  <hp@axis.com>

        * config/cris/cris.md ("*movsi_internal<setcc><setnz><setnzvc>"):
        Conditionalize on (sub-)register operands or operand 1 being 0.

2022-02-02  Hans-Peter Nilsson  <hp@axis.com>

        * config/cris/cris.h (TARGET_DEFAULT): Don't include MASK_MUL_BUG.
        (MUL_BUG_ASM_DEFAULT): New macro.
        (MAYBE_AS_NO_MUL_BUG_ABORT): Define in terms of MUL_BUG_ASM_DEFAULT.
        * doc/invoke.texi (CRIS Options, -mmul-bug-workaround): Adjust
        accordingly.

2022-02-01  Eugene Rozenfeld  <erozen@microsoft.com>

        * opts.cc (common_handle_option): Don't set param_early_inliner_max_iterations
        to 10 for AutoFDO.

2022-02-01  Eugene Rozenfeld  <erozen@microsoft.com>

        * auto-profile.cc (auto_profile): Hard-code the number of iterations (10).

2022-02-01  Andrew Pinski  <apinski@marvell.com>

        * doc/install.texi:

2022-02-01  Ilya Leoshkevich  <iii@linux.ibm.com>

        * config/s390/s390.cc (s390_code_end): Do not switch back to
        code section.

2022-02-01  Jakub Jelinek  <jakub@redhat.com>

        PR target/104323
        * config/rs6000/t-rs6000 (EXTRA_GTYPE_DEPS): Append rs6000-builtins.h
        rather than $(srcdir)/config/rs6000/rs6000-builtins.def.
        * config/rs6000/rs6000-gen-builtins.cc (write_decls): Don't use
        GTY((user)) for struct bifdata and struct ovlddata.  Instead add
        GTY((skip(""))) to members with pointer and enum types that don't need
        to be tracked.  Add GTY(()) to rs6000_builtin_info and rs6000_instance_info
        declarations.  Don't emit gt_ggc_mx and gt_pch_nx declarations.
        (write_extern_fntype, write_fntype): Remove.
        (write_fntype_init): Emit the fntype vars as automatic vars instead
        of file scope ones.
        (write_header_file): Don't iterate with write_extern_fntype.
        (write_init_file): Don't iterate with write_fntype.  Don't emit
        gt_ggc_mx and gt_pch_nx definitions.

2022-02-01  Jason Merrill  <jason@redhat.com>

        * tree.h (struct tree_vec_map_cache_hasher): Move from...
        * tree.cc (struct tree_vec_map_cache_hasher): ...here.

2022-02-01  Tom de Vries  <tdevries@suse.de>

        * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_uniform_warp_check.
        * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
        UNSPECV_UNIFORM_WARP_CHECK.
        (define_insn "nvptx_uniform_warp_check"): New define_insn.

2022-02-01  Tom de Vries  <tdevries@suse.de>

        * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_warpsync.
        * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
        UNSPECV_WARPSYNC.
        (define_insn "nvptx_warpsync"): New define_insn.

2022-02-01  Tom de Vries  <tdevries@suse.de>

        * config/nvptx/nvptx.opt (mptx): Set to PTX_VERSION_6_3 by default.

2022-02-01  Tom de Vries  <tdevries@suse.de>

        * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_6_0.
        * config/nvptx/nvptx.h (TARGET_PTX_6_0): New macro.
        * config/nvptx/nvptx.md (define_insn "nvptx_barsync"): Use barrier
        insn for TARGET_PTX_6_0.

2022-02-01  Tom de Vries  <tdevries@suse.de>

        PR target/100428
        * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle nop
        insn.

2022-02-01  Tom de Vries  <tdevries@suse.de>

        * config/nvptx/nvptx.md (define_insn "atomic_compare_and_swap<mode>_1")
        (define_insn "atomic_exchange<mode>")
        (define_insn "atomic_fetch_add<mode>")
        (define_insn "atomic_fetch_addsf")
        (define_insn "atomic_fetch_<logic><mode>"): Output non-atomic version
        if memory operands is frame-relative.

2022-02-01  Tom de Vries  <tdevries@suse.de>

        * config/nvptx/nvptx.cc (enum nvptx_builtins): Add
        NVPTX_BUILTIN_MEMBAR_GL and NVPTX_BUILTIN_MEMBAR_CTA.
        (VOID): New macro.
        (nvptx_init_builtins): Add MEMBAR_GL and MEMBAR_CTA.
        (nvptx_expand_builtin): Handle NVPTX_BUILTIN_MEMBAR_GL and
        NVPTX_BUILTIN_MEMBAR_CTA.
        (nvptx_lockfull_update): Add level parameter.  Emit barriers.
        (nvptx_reduction_update, nvptx_goacc_reduction_fini): Update call to
        nvptx_lockfull_update.
        * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
        UNSPECV_MEMBAR_GL.
        (define_expand "nvptx_membar_gl"): New expand.
        (define_insn "*nvptx_membar_gl"): New insn.

2022-02-01  Martin Liska  <mliska@suse.cz>

        * doc/install.texi: Remove option for GCC < 4.8.

2022-02-01  Jakub Jelinek  <jakub@redhat.com>

        PR middle-end/104307
        * tree-vect-generic.cc (expand_vector_comparison): Don't push debug
        stmts to uses vector, just set vec_cond_expr_only to false for
        non-VEC_COND_EXPRs instead of pushing them into uses.  Treat
        VEC_COND_EXPRs that use lhs not just in rhs1, but rhs2 or rhs3 too
        like non-VEC_COND_EXPRs.

2022-02-01  Bill Schmidt  <wschmidt@linux.ibm.com>

        * config/rs6000/rs6000-overload.def (VEC_ABSD): Remove #ifdef token.
        (VEC_BLENDV): Likewise.
        (VEC_BPERM): Likewise.
        (VEC_CFUGE): Likewise.
        (VEC_CIPHER_BE): Likewise.
        (VEC_CIPHERLAST_BE): Likewise.
        (VEC_CLRL): Likewise.
        (VEC_CLRR): Likewise.
        (VEC_CMPNEZ): Likewise.
        (VEC_CNTLZ): Likewise.
        (VEC_CNTLZM): Likewise.
        (VEC_CNTTZM): Likewise.
        (VEC_CNTLZ_LSBB): Likewise.
        (VEC_CNTM): Likewise.
        (VEC_CNTTZ): Likewise.
        (VEC_CNTTZ_LSBB): Likewise.
        (VEC_CONVERT_4F32_8F16): Likewise.
        (VEC_DIV): Likewise.
        (VEC_DIVE): Likewise.
        (VEC_EQV): Likewise.
        (VEC_EXPANDM): Likewise.
        (VEC_EXTRACT_FP_FROM_SHORTH): Likewise.
        (VEC_EXTRACT_FP_FROM_SHORTL): Likewise.
        (VEC_EXTRACTH): Likewise.
        (VEC_EXTRACTL): Likewise.
        (VEC_EXTRACTM): Likewise.
        (VEC_EXTRACT4B): Likewise.
        (VEC_EXTULX): Likewise.
        (VEC_EXTURX): Likewise.
        (VEC_FIRSTMATCHINDEX): Likewise.
        (VEC_FIRSTMACHOREOSINDEX): Likewise.
        (VEC_FIRSTMISMATCHINDEX): Likewise.
        (VEC_FIRSTMISMATCHOREOSINDEX): Likewise.
        (VEC_GB): Likewise.
        (VEC_GENBM): Likewise.
        (VEC_GENHM): Likewise.
        (VEC_GENWM): Likewise.
        (VEC_GENDM): Likewise.
        (VEC_GENQM): Likewise.
        (VEC_GENPCVM): Likewise.
        (VEC_GNB): Likewise.
        (VEC_INSERTH): Likewise.
        (VEC_INSERTL): Likewise.
        (VEC_INSERT4B): Likewise.
        (VEC_LXVL): Likewise.
        (VEC_MERGEE): Likewise.
        (VEC_MERGEO): Likewise.
        (VEC_MOD): Likewise.
        (VEC_MSUB): Likewise.
        (VEC_MULH): Likewise.
        (VEC_NAND): Likewise.
        (VEC_NCIPHER_BE): Likewise.
        (VEC_NCIPHERLAST_BE): Likewise.
        (VEC_NEARBYINT): Likewise.
        (VEC_NMADD): Likewise.
        (VEC_ORC): Likewise.
        (VEC_PDEP): Likewise.
        (VEC_PERMX): Likewise.
        (VEC_PEXT): Likewise.
        (VEC_POPCNT): Likewise.
        (VEC_PARITY_LSBB): Likewise.
        (VEC_REPLACE_ELT): Likewise.
        (VEC_REPLACE_UN): Likewise.
        (VEC_REVB): Likewise.
        (VEC_RINT): Likewise.
        (VEC_RLMI): Likewise.
        (VEC_RLNM): Likewise.
        (VEC_SBOX_BE): Likewise.
        (VEC_SIGNEXTI): Likewise.
        (VEC_SIGNEXTLL): Likewise.
        (VEC_SIGNEXTQ): Likewise.
        (VEC_SLDB): Likewise.
        (VEC_SLV): Likewise.
        (VEC_SPLATI): Likewise.
        (VEC_SPLATID): Likewise.
        (VEC_SPLATI_INS): Likewise.
        (VEC_SQRT): Likewise.
        (VEC_SRDB): Likewise.
        (VEC_SRV): Likewise.
        (VEC_STRIL): Likewise.
        (VEC_STRIL_P): Likewise.
        (VEC_STRIR): Likewise.
        (VEC_STRIR_P): Likewise.
        (VEC_STXVL): Likewise.
        (VEC_TERNARYLOGIC): Likewise.
        (VEC_TEST_LSBB_ALL_ONES): Likewise.
        (VEC_TEST_LSBB_ALL_ZEROS): Likewise.
        (VEC_VEE): Likewise.
        (VEC_VES): Likewise.
        (VEC_VIE): Likewise.
        (VEC_VPRTYB): Likewise.
        (VEC_VSCEEQ): Likewise.
        (VEC_VSCEGT): Likewise.
        (VEC_VSCELT): Likewise.
        (VEC_VSCEUO): Likewise.
        (VEC_VSEE): Likewise.
        (VEC_VSES): Likewise.
        (VEC_VSIE): Likewise.
        (VEC_VSTDC): Likewise.
        (VEC_VSTDCN): Likewise.
        (VEC_VTDC): Likewise.
        (VEC_XL): Likewise.
        (VEC_XL_BE): Likewise.
        (VEC_XL_LEN_R): Likewise.
        (VEC_XL_SEXT): Likewise.
        (VEC_XL_ZEXT): Likewise.
        (VEC_XST): Likewise.
        (VEC_XST_BE): Likewise.
        (VEC_XST_LEN_R): Likewise.
        (VEC_XST_TRUNC): Likewise.
        (VEC_XXPERMDI): Likewise.
        (VEC_XXSLDWI): Likewise.
        (VEC_TSTSFI_EQ_DD): Likewise.
        (VEC_TSTSFI_EQ_TD): Likewise.
        (VEC_TSTSFI_GT_DD): Likewise.
        (VEC_TSTSFI_GT_TD): Likewise.
        (VEC_TSTSFI_LT_DD): Likewise.
        (VEC_TSTSFI_LT_TD): Likewise.
        (VEC_TSTSFI_OV_DD): Likewise.
        (VEC_TSTSFI_OV_TD): Likewise.
        (VEC_VADDCUQ): Likewise.
        (VEC_VADDECUQ): Likewise.
        (VEC_VADDEUQM): Likewise.
        (VEC_VADDUDM): Likewise.
        (VEC_VADDUQM): Likewise.
        (VEC_VBPERMQ): Likewise.
        (VEC_VCLZB): Likewise.
        (VEC_VCLZD): Likewise.
        (VEC_VCLZH): Likewise.
        (VEC_VCLZW): Likewise.
        (VEC_VCTZB): Likewise.
        (VEC_VCTZD): Likewise.
        (VEC_VCTZH): Likewise.
        (VEC_VCTZW): Likewise.
        (VEC_VEEDP): Likewise.
        (VEC_VEESP): Likewise.
        (VEC_VESDP): Likewise.
        (VEC_VESSP): Likewise.
        (VEC_VIEDP): Likewise.
        (VEC_VIESP): Likewise.
        (VEC_VPKSDSS): Likewise.
        (VEC_VPKSDUS): Likewise.
        (VEC_VPKUDUM): Likewise.
        (VEC_VPKUDUS): Likewise.
        (VEC_VPOPCNT): Likewise.
        (VEC_VPOPCNTB): Likewise.
        (VEC_VPOPCNTD): Likewise.
        (VEC_VPOPCNTH): Likewise.
        (VEC_VPOPCNTW): Likewise.
        (VEC_VPRTYBD): Likewise.
        (VEC_VPRTYBQ): Likewise.
        (VEC_VPRTYBW): Likewise.
        (VEC_VRLD): Likewise.
        (VEC_VSLD): Likewise.
        (VEC_VSRAD): Likewise.
        (VEC_VSRD): Likewise.
        (VEC_VSTDCDP): Likewise.
        (VEC_VSTDCNDP): Likewise.
        (VEC_VSTDCNQP): Likewise.
        (VEC_VSTDCNSP): Likewise.
        (VEC_VSTDCQP): Likewise.
        (VEC_VSTDCSP): Likewise.
        (VEC_VSUBECUQ): Likewise.
        (VEC_VSUBEUQM): Likewise.
        (VEC_VSUBUDM): Likewise.
        (VEC_VSUBUQM): Likewise.
        (VEC_VTDCDP): Likewise.
        (VEC_VTDCSP): Likewise.
        (VEC_VUPKHSW): Likewise.
        (VEC_VUPKLSW): Likewise.

2022-02-01  Andreas Krebbel  <krebbel@linux.ibm.com>

        PR rtl-optimization/101260
        * regcprop.cc (maybe_mode_change): Invoke mode_change_ok also for
        copy_regno.

2022-02-01  Xi Ruoyao  <xry111@mengyan1223.wang>

        PR middle-end/95115
        * fold-const.cc (const_binop): Do not fold NaN result from
          non-NaN operands.

2022-02-01  Tom de Vries  <tdevries@suse.de>

        * tree-loop-distribution.cc (generate_reduction_builtin_1): Check for
        -ftree-loop-distribute-patterns.
        (loop_distribution::execute): Don't call transform_reduction_loop for
        -fno-tree-loop-distribute-patterns.

2022-01-31  Andrew Pinski  <apinski@marvell.com>

        * fold-const.h (operand_compare::operand_equal_p):
        Fix comment about OEP_* flags.

2022-01-31  Jakub Jelinek  <jakub@redhat.com>

        PR target/104298
        * config/rs6000/aix.h (OPTION_GLIBC): Remove.
        * config/rs6000/darwin.h (OPTION_GLIBC): Likewise.
        * config/rs6000/option-defaults.h (OPTION_GLIBC): Define to 0
        if not already defined.

2022-01-31  Martin Sebor  <msebor@redhat.com>

        PR middle-end/104232
        * gimple-ssa-warn-access.cc (pointers_related_p): Add argument.
        Handle PHIs.  Add a synonymous overload.
        (pass_waccess::check_pointer_uses): Call pointers_related_p.

2022-01-31  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/100499
        * fold-const.cc (multiple_of_p): Pass the correct type of
        the expression to the recursive invocation of multiple_of_p
        for conversions and use CASE_CONVERT.

2022-01-31  Eric Botcazou  <ebotcazou@adacore.com>

        PR target/104189
        * config/sparc/linux64.h (TARGET_DEFAULT): Add MASK_V8PLUS.

2022-01-31  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/100499
        * tree-cfg.cc (verify_gimple_assign_ternary): Use multiple_p
        on poly-ints instead of multiple_of_p.
        * tree-ssa.cc (maybe_rewrite_mem_ref_base): Likewise.
        (non_rewritable_mem_ref_base): Likewise.
        (non_rewritable_lvalue_p): Likewise.
        (execute_update_addresses_taken): Likewise.

2022-01-29  Jakub Jelinek  <jakub@redhat.com>
            Andrew Pinski  <apinski@marvell.com>

        PR tree-optimization/104279
        PR tree-optimization/104280
        PR tree-optimization/104281
        * match.pd (1 / X -> X == 1 for unsigned X): Build eq with
        boolean_type_node and convert to type.  Formatting fixes.

2022-01-28  Yoshinori Sato  <yo-satoh@sios.com>

        * config/sh/t-linux (MULTILIB_EXCEPTIONS): Add m1, mb/m1 and m2a.

2022-01-28  Navid Rahimi  <navidrahimi@microsoft.com>

        PR tree-optimization/103514
        * match.pd (a & b) ^ (a == b) -> !(a | b): New optimization.
        (a & b) == (a ^ b) -> !(a | b): New optimization.

2022-01-28  Marek Polacek  <polacek@redhat.com>

        * doc/invoke.texi: Update -Wbidi-chars documentation.

2022-01-28  Iain Sandoe  <iain@sandoe.co.uk>

        * config/rs6000/darwin.h (OPTION_GLIBC): Define to 0.

2022-01-28  Zhao Wei Liew  <zhaoweiliew@gmail.com>

        PR tree-optimization/95424
        * match.pd: Simplify 1 / X where X is an integer.

2022-01-28  Jakub Jelinek  <jakub@redhat.com>

        PR tree-optimization/104263
        * gimple-ssa-store-merging.cc (get_status_for_store_merging): For
        cfun->can_throw_non_call_exceptions && cfun->eh test whether
        last non-debug stmt in the bb is store_valid_for_store_merging_p
        rather than last stmt.

2022-01-28  Martin Liska  <mliska@suse.cz>

        * diagnostic.cc (diagnostic_action_after_output): Remove extra
        newline.

2022-01-28  Martin Liska  <mliska@suse.cz>

        * config/rs6000/host-darwin.cc (segv_crash_handler):
        Do not use leading capital letter.
        (segv_handler): Likewise.
        * ipa-sra.cc (verify_splitting_accesses): Likewise.
        * varasm.cc (get_section): Likewise.

2022-01-28  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/104267
        * tree-vect-stmts.cc (vectorizable_call): Properly use the
        per-argument determined vector type for externals and
        invariants.

2022-01-28  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/104263
        * tree-cfg.cc (gimple_purge_dead_abnormal_call_edges):
        Purge edges also when !cfun->has_nonlocal_label
        and !cfun->calls_setjmp.

2022-01-28  Maciej W. Rozycki  <macro@embecosm.com>

        * config/riscv/riscv.md: Document `auipc' and `bitmanip' `type'
        attributes.

2022-01-28  Jakub Jelinek  <jakub@redhat.com>

        PR lto/104237
        * cfgrtl.cc (loc_equal): New function.
        (unique_locus_on_edge_between_p): Use it.

2022-01-28  Richard Biener  <rguenther@suse.de>

        * cfganal.h (mark_dfs_back_edges): Provide API with struct
        function argument.
        * cfganal.cc (mark_dfs_back_edges): Take a struct function
        to work on, add a wrapper passing cfun.
        * graph.cc (draw_cfg_nodes_no_loops): Replace stray cfun
        uses with fun which is already passed.
        (draw_cfg_edges): Likewise.
        (draw_cfg_nodes_for_loop): Do not use draw_cfg_nodes_for_loop
        for fun != cfun.

2022-01-27  Patrick Palka  <ppalka@redhat.com>

        PR c++/99895
        * tree.cc (build_call_vec): Add const to second parameter.
        * tree.h (build_call_vec): Likewise.

2022-01-27  Martin Liska  <mliska@suse.cz>

        PR web/104254
        * diagnostic.cc (diagnostic_initialize):
        Initialize report_bug flag.
        (diagnostic_action_after_output):
        Explain that -freport-bug option can be used for pre-processed
        file creation.  Make the message shorter.
        (error_recursion): Rename Internal to internal.
        * diagnostic.h (struct diagnostic_context): New field.
        * opts.cc (common_handle_option): Init the field here.

2022-01-27  Kewen Lin  <linkw@linux.ibm.com>

        PR target/103702
        * config/rs6000/rs6000.cc
        (rs6000_cost_data::update_target_cost_per_stmt): Fix one wrong
        assertion with early return.

2022-01-27  Chung-Lin Tang  <cltang@codesourcery.com>

        PR middle-end/103642
        * gimplify.cc (gimplify_scan_omp_clauses): Do not do indir_p handling
        for non-pointer or non-reference-to-pointer cases.

2022-01-27  Jakub Jelinek  <jakub@redhat.com>

        PR tree-optimization/104196
        * gimple-fold.h (rewrite_to_defined_overflow): Add IN_PLACE argument.
        * gimple-fold.cc (rewrite_to_defined_overflow): Likewise.  If true,
        return NULL and emit needed stmts before and after stmt.
        * tree-ssa-reassoc.cc (update_range_test): For inter-bb range opt
        pick as operand_entry that will hold the merged test the one feeding
        earliest condition, ensure that by swapping range->idx with some
        other range's idx if needed.  If seq is non-NULL, don't actually swap
        it but instead rewrite stmts with undefined overflow in between
        the two locations.
        (maybe_optimize_range_tests): Set ops[]->id to bb->index with the
        corresponding condition even if they have non-NULL ops[]->op.
        Formatting fix.

2022-01-26  Jakub Jelinek  <jakub@redhat.com>

        PR target/104239
        * config/rs6000/emmintrin.h (_mm_sad_epu8): Use __asm__ instead of
        asm.
        * config/rs6000/smmintrin.h (_mm_minpos_epu16): Declare iterator
        before for loop instead of for init clause.
        * config/rs6000/bmi2intrin.h (_pext_u64): Likewise.

2022-01-26  Jakub Jelinek  <jakub@redhat.com>

        PR target/104239
        * config/rs6000/bmiintrin.h: Test _X86GPRINTRIN_H_INCLUDED instead of
        _X86INTRIN_H_INCLUDED and adjust #error wording.
        * config/rs6000/bmi2intrin.h: Likewise.

2022-01-26  Jakub Jelinek  <jakub@redhat.com>

        PR debug/104194
        * dwarf2out.cc (long_double_as_float128): New function.
        (modified_type_die): For powerpc64le IEEE 754 quad long double
        and complex long double emit those as DW_TAG_typedef to
        _Float128 or complex _Float128 base type.

2022-01-26  Marek Polacek  <polacek@redhat.com>

        PR target/104213
        * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer): Don't
        warn when the SSA_NAME_VAR of REF has supressed -Wuse-after-free.

2022-01-26  Martin Liska  <mliska@suse.cz>

        * ipa-modref-tree.cc (modref_access_node::update):
        Remove "--param param=foo" with "--param foo".
        (modref_access_node::insert): Likewise.
        (modref_access_node::insert_kill): Likewise.
        * ipa-modref-tree.h (struct modref_ref_node): Likewise.
        (struct modref_base_node): Likewise.
        (struct modref_tree): Likewise.

2022-01-26  Raoni Fassina Firmino  <raoni@linux.ibm.com>

        PR target/94193
        * builtins.cc (expand_builtin_feclear_feraise_except): Add op0
        predicate check.

2022-01-25  Martin Sebor  <msebor@redhat.com>

        PR tree-optimization/104203
        * gimple-ssa-warn-access.cc (pass_data pass_data_waccess): Use
        TV_WARN_ACCESS.
        * pointer-query.cc (access_ref::merge_ref): Change return type.
        Convert failure to a conservative success.
        (access_ref::get_ref): Adjust to the change above.  Short-circuit
        PHI evaluation after first failure turned into conservative success.
        * pointer-query.h (access_ref::merge_ref): Change return type.
        * timevar.def (TV_WARN_ACCESS): New timer variable.

2022-01-25  David Edelsohn  <dje.gcc@gmail.com>

        * config/rs6000/aix.h (OPTION_GLIBC): Define as 0.

2022-01-25  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/104214
        * tree-ssa-loop-niter.cc (number_of_iterations_cond): Use
        stronger guarantees for relational pointer compares when
        rewriting BASE0 + STEP0 cmp BASE1 + STEP1 as
        BASE0 + STEP0 - STEP1 cmp BASE1.

2022-01-25  Jakub Jelinek  <jakub@redhat.com>

        PR target/104172
        * config/rs6000/rs6000-internal.h (rs6000_passes_ieee128): Don't
        declare.
        * config/rs6000/rs6000.cc (rs6000_passes_ieee128,
        ieee128_mangling_gcc_8_1): Remove.
        (TARGET_ASM_GLOBALIZE_DECL_NAME): Don't redefine.
        (rs6000_mangle_type): Return "u9__ieee128" instead of
        ieee128_mangling_gcc_8_1 ? "U10__float128" : "u9__ieee128".
        (rs6000_globalize_decl_name): Remove.
        * config/rs6000/rs6000-call.cc (init_cumulative_args,
        rs6000_function_arg_advance_1): Don't set rs6000_passes_ieee128.

2022-01-24  Martin Sebor  <msebor@redhat.com>

        * pointer-query.cc (pointer_query::dump): Remove duplicate
        block.

2022-01-24  Marek Polacek  <polacek@redhat.com>

        PR preprocessor/104030
        * doc/invoke.texi: Update documentation for -Wbidi-chars.

2022-01-24  Raoni Fassina Firmino  <raoni@linux.ibm.com>

        PR target/94193
        * builtins.cc (expand_builtin_fegetround): New function.
        (expand_builtin_feclear_feraise_except): New function.
        (expand_builtin): Add cases for BUILT_IN_FEGETROUND,
        BUILT_IN_FECLEAREXCEPT and BUILT_IN_FERAISEEXCEPT.
        * config/rs6000/rs6000.md (fegetroundsi): New pattern.
        (feclearexceptsi): New Pattern.
        (feraiseexceptsi): New Pattern.
        * doc/extend.texi: Add a new introductory paragraph about the
        new builtins.
        * doc/md.texi: (fegetround@var{m}): Document new optab.
        (feclearexcept@var{m}): Document new optab.
        (feraiseexcept@var{m}): Document new optab.
        * optabs.def (fegetround_optab): New optab.
        (feclearexcept_optab): New optab.
        (feraiseexcept_optab): New optab.

2022-01-24  Richard Biener  <rguenther@suse.de>
            Jiufu Guo  <guojiufu@linux.ibm.com>

        PR tree-optimization/100740
        PR tree-optimization/101508
        PR tree-optimization/101972
        PR tree-optimization/102131
        * tree-ssa-loop-niter.cc (number_of_iterations_cond): Properly
        constrain BASE0 + STEP0 cmp BASE1 + STEP1 to
        BASE0 + STEP0 - STEP1 cmp BASE1 transform.

2022-01-24  Jakub Jelinek  <jakub@redhat.com>

        PR sanitizer/104158
        * opt-functions.awk (var_set): Handle EnumBitSet property.
        * optc-gen.awk: Don't disallow RejectNegative if EnumBitSet is
        specified.
        * opts.h (enum cl_enum_var_value): New type.
        * opts-common.cc (decode_cmdline_option): Use CLEV_* values.
        Handle CLEV_BITSET.
        (cmdline_handle_error): Handle CLEV_BITSET.
        * opts.cc (test_enum_sets): Also test EnumBitSet requirements.
        * doc/options.texi (EnumBitSet): Document.
        * common.opt (fsanitize-coverage=): Use EnumBitSet instead of
        EnumSet.
        (trace-pc, trace-cmp): Drop Set properties.

2022-01-24  Jakub Jelinek  <jakub@redhat.com>

        PR sanitizer/104158
        * common.opt (flag_sanitize_coverage): Remove Variable entry.
        (fsanitize-coverage=): Remove RejectNegative property, add
        Var(flag_sanitize_coverage) and EnumSet properties.
        (trace-pc): Add Set(1) property.
        (trace-cmp): Add Set(2) property.
        * opts.cc (common_handle_option): Don't handle
        OPT_fsanitize_coverage_.

2022-01-24  Jakub Jelinek  <jakub@redhat.com>

        PR sanitizer/104158
        * opt-functions.awk (var_set): Handle EnumSet property.
        * optc-gen.awk: Don't disallow RejectNegative if EnumSet is
        specified.
        * opt-read.awk: Handle Set property.
        * opts.h (CL_ENUM_SET_SHIFT, CL_ERR_ENUM_SET_ARG): Define.
        (struct cl_decoded_option): Mention enum in value description.
        Add mask member.
        (set_option): Add mask argument defaulted to 0.
        * opts.cc (test_enum_sets): New function.
        (opts_cc_tests): Call it.
        * opts-common.cc (enum_arg_to_value): Change return argument
        from bool to int, on success return index into the cl_enum_arg
        array, on failure -1.  Add len argument, if non-0, use strncmp
        instead of strcmp.
        (opt_enum_arg_to_value): Adjust caller.
        (decode_cmdline_option): Handle EnumSet represented as
        CLVC_ENUM with non-zero var_value.  Initialize decoded->mask.
        (decode_cmdline_options_to_array): CLear opt_array[0].mask.
        (handle_option): Pass decoded->mask to set_options last argument.
        (generate_option): Clear decoded->mask.
        (generate_option_input_file): Likewise.
        (cmdline_handle_error): Handle CL_ERR_ENUM_SET_ARG.
        (set_option): Add mask argument, use it for CLVC_ENUM.
        (control_warning_option): Adjust enum_arg_to_value caller.
        * doc/options.texi: Document Set and EnumSet properties.

2022-01-24  Jakub Jelinek  <jakub@redhat.com>

        PR bootstrap/104170
        * config/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
        OPTION_BIONIC_P, OPTION_MUSL_P): Define.
        (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
        using OPTION_*_P macros.
        * config/alpha/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
        OPTION_BIONIC_P, OPTION_MUSL_P): Define.
        (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
        using OPTION_*_P macros.
        * config/rs6000/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
        OPTION_BIONIC_P, OPTION_MUSL_P): Define.
        (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
        using OPTION_*_P macros.
        * config/rs6000/linux64.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
        OPTION_BIONIC_P, OPTION_MUSL_P): Define.
        (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
        using OPTION_*_P macros.
        * config/fuchsia.h (OPTION_MUSL_P): Redefine.
        * config/glibc-stdint.h (OPTION_MUSL_P): Define if not defined.
        * common/config/s390/s390-common.cc (s390_supports_split_stack): Re-add
        ATTRIBUTE_UNUSED to opts parameter.  If OPTION_GLIBC_P is defined, use
        OPTION_GLIBC_P (opts) as condition, otherwise assume if (false).
        * common/config/i386/i386-common.cc (ix86_supports_split_stack): If
        OPTION_GLIBC_P is defined use !OPTION_GLIBC_P (opts) as condition,
        otherwise assume if (true).

2022-01-24  Kito Cheng  <kito.cheng@sifive.com>

        * common/config/riscv/riscv-common.cc (riscv_subset_list::to_string):
        Skip zicsr and zifencei if I-ext is 2.0.

2022-01-24  Jia-Wei Chen  <jiawei@iscas.ac.cn>

        * config.gcc: Modify default isa_spec version.

2022-01-24  Jiufu Guo  <guojiufu@linux.ibm.com>

        PR tree-optimization/102087
        * tree-ssa-loop-niter.cc (number_of_iterations_until_wrap):
        Correct PLUS result type.

2022-01-24  H.J. Lu  <hjl.tools@gmail.com>

        PR target/104188
        * config/i386/predicates.md (bcst_mem_operand): Also check mode
        of memory broadcast.

2022-01-23  Andrew Pinski  <apinski@marvell.com>

        PR target/64821
        * config/aarch64/aarch64-builtins.cc
        (aarch64_general_gimple_fold_builtin): Handle
        __builtin_aarch64_sqrt* and simplify into SQRT internal
        function.

2022-01-22  Jakub Jelinek  <jakub@redhat.com>

        PR other/104176
        * opts-global.cc (handle_common_deferred_options): Quote
        --enable-plugin in diagnostics to avoid -Werror=format-diag.

2022-01-21  Michael Meissner  <meissner@the-meissners.org>

        PR target/104136
        * config/rs6000/rs6000-protos.h (prefixed_xxsplti_p): Delete.
        * config/rs6000/rs6000.cc (prefixed_xxsplti_p): Delete.
        * config/rs6000/rs6000.md (prefixed attribute): Delete section
        that sets the prefixed attribute for xxspltiw, xxspltidp, and
        xxsplti32dx instructions.
        (movsf_hardfloat): Explicitly set the prefixed attribute
        when xxspltiw and xxspltidp instructions are generated.
        (mov<mode>_hardfloat32): Likewise.
        (mov<mode>_hardfloat64): Likewise.
        * config/rs6000/vsx.md (vsx_mov<mode>_64bit): Explicitly set the
        prefixed attribute for xxspltiw and xxspltidp instructions.
        (vsx_mov<mode>_32bit): Likewise.

2022-01-21  H.J. Lu  <hjl.tools@gmail.com>

        PR bootstrap/104170
        * common/config/i386/i386-common.cc (ix86_supports_split_stack):
        Return true only on glibc.
        * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN):
        Revert commit c163647ffbc.
        * config/i386/gnu.h (TARGET_LIBC_PROVIDES_SSP): Likewise.

2022-01-21  Sören Tempel  <soeren@soeren-tempel.net>

        * common/config/s390/s390-common.cc (s390_supports_split_stack):
        Only support split-stack on glibc targets.
        * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN): Ditto.
        * config/i386/gnu.h (defined): Ditto.

2022-01-21  Bill Schmidt  <wschmidt@linux.ibm.com>

        * config/rs6000/rs6000-overload.def (VEC_SLDW): Add instances for
        vector float and vector double.

2022-01-21  Bill Seurer  <seurer@gcc.gnu.org>

        * config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher):
        Fix mention of ifunc in string.

2022-01-21  Roger Sayle  <roger@nextmovesoftware.com>

        PR middle-end/104140
        * tree-ssa-math-opts.cc (convert_mult_to_highpart): Check that the
        operands of the widening multiplication are either both signed or
        both unsigned, and abort the conversion if mismatched.
        * doc/generic.texi (WIDEN_MULT_EXPR): Describe expression node.
        (MULT_HIGHPART_EXPR): Clarify that operands must have the same
        signedness.
        * tree.def (MULT_HIGHPART_EXPR): Document both operands must have
        integer types with the same precision and signedness.
        (WIDEN_MULT_EXPR): Document that operands must have integer types
        with the same precision, but possibly differing signedness.
        * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Defend against
        riscv_current_subset_list returning a NULL pointer (empty list).

2022-01-21  Vladimir N. Makarov  <vmakarov@redhat.com>

        PR target/103676
        * ira.h (struct target_ira): Add member
        x_ira_exclude_class_mode_regs.
        (ira_exclude_class_mode_regs): New macro.
        * lra.h (lra_create_new_reg): Add arg exclude_start_hard_regs and
        move from here ...
        * lra-int.h: ... to here.
        (lra_create_new_reg_with_unique_value): Add arg
        exclude_start_hard_regs.
        (class lra_reg): Add member exclude_start_hard_regs.
        * lra-assigns.cc (find_hard_regno_for_1): Setup
        impossible_start_hard_regs from exclude_start_hard_regs.
        * lra-constraints.cc (get_reload_reg): Add arg exclude_start_hard_regs and pass
        it lra_create_new_reg[_with_unique_value].
        (match_reload): Ditto.
        (check_and_process_move): Pass NULL
        exclude_start_hard_regs to lra_create_new_reg_with_unique_value.
        (goal_alt_exclude_start_hard_regs): New static variable.
        (process_addr_reg, simplify_operand_subreg): Pass NULL
        exclude_start_hard_regs to lra_create_new_reg_with_unique_value
        and get_reload_reg.
        (process_alt_operands): Setup goal_alt_exclude_start_hard_regs.
        Use this_alternative_exclude_start_hard_regs additionally to find
        winning operand alternative.
        (base_to_reg, base_plus_disp_to_reg, index_part_to_reg): Pass NULL
        exclude_start_hard_regs to lra_create_new_reg.
        (process_address_1, emit_inc): Ditto.
        (curr_insn_transform): Pass exclude_start_hard_regs value to
        lra_create_new_reg, get_reload_reg, match_reload.
        (inherit_reload_reg, split_reg): Pass NULL exclude_start_hard_regs
        to lra_create_new_reg.
        (process_invariant_for_inheritance): Ditto.
        * lra-remat.cc (update_scratch_ops): Ditto.
        * lra.cc (lra_create_new_reg_with_unique_value): Add arg
        exclude_start_hard_regs.  Setup the corresponding member of
        lra reg info.
        (lra_create_new_reg): Add arg exclude_start_hard_regs and pass it
        to lra_create_new_reg_with_unique_value.
        (initialize_lra_reg_info_element): Initialize member
        exclude_start_hard_regs.
        (get_scratch_reg): Pass NULL to lra_create_new_reg.
        * ira.cc (setup_prohibited_class_mode_regs): Rename to
        setup_prohibited_and_exclude_class_mode_regs and calculate
        ira_exclude_class_mode_regs.

2022-01-21  Martin Liska  <mliska@suse.cz>

        * configure.ac: Detect ld_is_mold and use it for
        comdat_group=yes and gcc_cv_ld_hidden=yes.
        * configure: Regenerate.

2022-01-21  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/100089
        * tree-vect-slp.cc (vect_slp_region): Reject BB vectorization
        of if-converted loops with unvectorized COND_EXPRs for
        all but the unlimited cost models.

2022-01-21  Ard Biesheuvel  <ardb@kernel.org>

        * config/arm/arm-opts.h (enum stack_protector_guard): New.
        * config/arm/arm-protos.h (arm_stack_protect_tls_canary_mem):
        New.
        * config/arm/arm.cc (TARGET_STACK_PROTECT_GUARD): Define.
        (arm_option_override_internal): Handle and put in error checks.
        for stack protector guard options.
        (arm_option_reconfigure_globals): Likewise.
        (arm_stack_protect_tls_canary_mem): New.
        (arm_stack_protect_guard): New.
        * config/arm/arm.md (stack_protect_set): New.
        (stack_protect_set_tls): Likewise.
        (stack_protect_test): Likewise.
        (stack_protect_test_tls): Likewise.
        (reload_tp_hard): Likewise.
        * config/arm/arm.opt (-mstack-protector-guard): New
        (-mstack-protector-guard-offset): New.
        * doc/invoke.texi: Document new options.

2022-01-21  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/104156
        * tree-ssa-loop-unswitch.cc (tree_unswitch_outer_loop):
        Collect and reset debug stmts with out-of-loop uses when
        hoisting guards.
        (find_loop_guard): Adjust.
        (empty_bb_without_guard_p): Likewise.  Ignore debug stmts.
        (used_outside_loop_p): Push debug uses to a vector of
        debug stmts to reset.
        (hoist_guard): Adjust -fopt-info category.

2022-01-21  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/104152
        * tree-vect-slp.cc (vect_build_slp_tree_2): Add missing
        can_duplicate_and_interleave_p check.

2022-01-21  Jakub Jelinek  <jakub@redhat.com>

        * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer):
        Avoid passing var to warning_at when the format string doesn't
        refer to it.

2022-01-21  Aldy Hernandez  <aldyh@redhat.com>

        PR tree-optimization/103721
        * gimple-range-path.cc
        (path_range_query::relations_may_be_invalidated): New.
        (path_range_query::compute_ranges_in_block): Reset relations if
        they may be invalidated.
        (path_range_query::maybe_register_phi_relation): Exit if relations
        may be invalidated on incoming edge.
        (path_range_query::compute_phi_relations): Pass incoming PHI edge
        to maybe_register_phi_relation.
        * gimple-range-path.h (relations_may_be_invalidated): New.
        (maybe_register_phi_relation): Pass edge instead of tree.
        * tree-ssa-threadbackward.cc (back_threader::back_threader):
        Mark DFS edges.
        * value-relation.cc (path_oracle::path_oracle): Call
        mark_dfs_back_edges.
        (path_oracle::register_relation): Add SSA names to m_registered
        bitmap.
        (path_oracle::reset_path): Clear m_registered bitmap.
        * value-relation.h (path_oracle::set_root_oracle): New.

2022-01-21  Jakub Jelinek  <jakub@redhat.com>

        PR rtl-optimization/102478
        * optabs.cc (prepare_cmp_insn): If !can_create_pseudo_p (), don't
        force_reg constants and for -fnon-call-exceptions fail if copy_to_reg
        would be needed.

2022-01-20  Richard Biener  <rguenther@suse.de>

        PR middle-end/100786
        * gimple-fold.cc (get_symbol_constant_value): Only return
        values of compatible type to the symbol.

2022-01-20  Andrew MacLeod  <amacleod@redhat.com>

        * value-relation.cc (relation_oracle::valid_equivs): Query and add
        if valid members of a set.
        (equiv_oracle::register_equiv): Call valid_equivs rather than
        bitmap direct operations.
        (path_oracle::register_equiv): Ditto.
        * value-relation.h (relation_oracle::valid_equivs): New prototype.

2022-01-20  Richard Biener  <rguenther@suse.de>

        PR target/100784
        * config/i386/i386.cc (ix86_gimple_fold_builtin): Check for
        LHS before folding __builtin_ia32_shufpd and friends.

2022-01-20  Richard Earnshaw  <rearnsha@arm.com>

        * config/arm/crypto.md (aes_op_protect): Allow moves from core
        registers and from memory.
        (aes_op_protect_misalign_load): New pattern.
        (aes_op_protect_neon_vld1v16qi): New pattern.

2022-01-20  Richard Earnshaw  <rearnsha@arm.com>

        * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>_protected):
        New pattern.
        (aarch32_crypto_aese_fused_protected): Likewise.
        (aarch32_crypto_aesd_fused_protected): Likewise.

2022-01-20  Richard Earnshaw  <rearnsha@arm.com>

        * config/arm/crypto.md (crypto_<CRYPTO_AES:crypto_pattern>): Convert
        to define_expand.  Add mitigation for the Cortex-A AES erratum
        when enabled.
        (*crypto_<CRYPTO_AES:crypto_pattern>_insn): New pattern, based
        on original crypto_<CRYPTO_AES:crypto_pattern> insn.
        (aes_op_protect): New pattern.
        * config/arm/unspecs.md (unspec): Add UNSPEC_AES_PROTECT.

2022-01-20  Richard Earnshaw  <rearnsha@arm.com>

        * config/arm/arm-cpus.in (quirk_aes_1742098): New quirk feature
        (ALL_QUIRKS): Add it.
        (cortex-a57, cortex-a72): Enable it.
        (cortex-a57.cortex-a53, cortex-a72.cortex-a53): Likewise.
        * config/arm/arm.opt (mfix-cortex-a57-aes-1742098): New command-line
        option.
        (mfix-cortex-a72-aes-1655431): New option alias.
        * config/arm/arm.cc (arm_option_override): Handle default settings
        for AES erratum switch.
        * doc/invoke.texi (Arm Options): Document new options.

2022-01-20  Richard Earnshaw  <rearnsha@arm.com>

        * config/arm/crypto.md (crypto_<CYRPTO_AES:crypto_pattern>): Use
        <crypto_mode> rather than hard-coding the mode.
        (crypto_<CRYPTO_AESMC:crypto_pattern>): Fix white space.
        (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
        (*aarch32_crypto_aese_fused): Likewise.
        (*aarch32_crypto_aesd_fused): Likewise.
        (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
        (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
        (crypto_sha1h_lb): Likewise.
        (crypto_vmullp64): Likewise.
        (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
        (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.

2022-01-20  Richard Earnshaw  <rearnsha@arm.com>

        * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>): Add
        iterator to pattern name to disambiguate.
        (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
        (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
        (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
        (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
        (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.

2022-01-20  Martin Liska  <mliska@suse.cz>

        PR bootstrap/104135
        * emit-rtl.cc (make_insn_raw): Fix -Wformat-diag warnings.
        * rtl.cc: Partially disable -Wformat-diag for RTL checking
        error messages.

2022-01-20  Jakub Jelinek  <jakub@redhat.com>

        PR debug/103874
        * dwarf2out.cc (index_rnglists): For !HAVE_AS_LEB128 and
        block_num > 0, index entry even if !have_multiple_function_sections.

2022-01-20  liuhongt  <hongtao.liu@intel.com>

        PR target/103771
        * tree-vect-stmts.cc (supportable_narrowing_operation): Enhance
        integral mode mask pack by multi steps which takes
        vec_pack_sbool_trunc_optab as start when elements number is
        less than BITS_PER_UNITS.

2022-01-20  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/104114
        * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
        single element vector decomposition.

2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>

        * ifcvt.cc (noce_convert_multiple_sets_1): New function.
        (noce_convert_multiple_sets): Call function a second time if we can
        improve the first try.

2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>

        * ifcvt.cc (cond_exec_get_condition): New parameter to allow getting the
        reversed comparison.
        (try_emit_cmove_seq): New function to facilitate creating a cmov
        sequence.
        (noce_convert_multiple_sets): Create two sequences and use the less
        expensive one.

2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>

        * rtl.h (struct rtx_comparison): New struct that holds an rtx
        comparison.
        * config/rs6000/rs6000.cc (rs6000_emit_minmax): Use struct instead of
        single parameters.
        (rs6000_emit_swsqrt): Likewise.
        * expmed.cc (expand_sdiv_pow2): Likewise.
        (emit_store_flag): Likewise.
        * expr.cc (expand_cond_expr_using_cmove): Likewise.
        (expand_expr_real_2): Likewise.
        * ifcvt.cc (noce_emit_cmove): Add compare and reversed compare
        parameters.
        * optabs.cc (emit_conditional_move_1): New function.
        (expand_doubleword_shift_condmove): Use struct.
        (emit_conditional_move): Use struct and allow to call directly
        without going through preparation steps.
        * optabs.h (emit_conditional_move): Use struct.

2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>

        * ifcvt.cc (bb_ok_for_noce_convert_multiple_sets): Estimate insns costs.
        (noce_process_if_block): Use potential costs.

2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>

        * ifcvt.cc (noce_convert_multiple_sets): Allow constants.
        (bb_ok_for_noce_convert_multiple_sets): Likewise.

2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>

        * ifcvt.cc (need_cmov_or_rewire): New function.
        (noce_convert_multiple_sets): Call it.

2022-01-19  David Malcolm  <dmalcolm@redhat.com>

        * attribs.cc (attribute_c_tests): Rename to...
        (attribs_cc_tests): ...this.
        * bitmap.cc (bitmap_c_tests): Rename to...
        (bitmap_cc_tests): ...this.
        * cgraph.cc (cgraph_c_finalize): Rename to...
        (cgraph_cc_finalize): ...this.
        (cgraph_c_tests): Rename to...
        (cgraph_cc_tests): ...this.
        * cgraph.h (cgraph_c_finalize): Rename to...
        (cgraph_cc_finalize): ...this.
        (cgraphunit_c_finalize): Rename to...
        (cgraphunit_cc_finalize): ...this.
        * cgraphunit.cc (cgraphunit_c_finalize): Rename to...
        (cgraphunit_cc_finalize): ...this.
        * convert.cc (convert_c_tests): Rename to...
        (convert_cc_tests): ...this.
        * dbgcnt.cc (dbgcnt_c_tests): Rename to...
        (dbgcnt_cc_tests): ...this.
        * diagnostic-show-locus.cc (diagnostic_show_locus_c_tests): Rename to...
        (diagnostic_show_locus_cc_tests): ...this.
        * diagnostic.cc (diagnostic_c_tests): Rename to...
        (diagnostic_cc_tests): ...this.
        * dumpfile.cc (dumpfile_c_tests): Rename to...
        (dumpfile_cc_tests): ...this.
        * dwarf2out.cc (dwarf2out_c_finalize): Rename to...
        (dwarf2out_cc_finalize): ...this.
        * dwarf2out.h (dwarf2out_c_finalize): Rename to...
        (dwarf2out_cc_finalize): ...this.
        * edit-context.cc (edit_context_c_tests): Rename to...
        (edit_context_cc_tests): ...this.
        * et-forest.cc (et_forest_c_tests): Rename to...
        (et_forest_cc_tests): ...this.
        * fibonacci_heap.cc (fibonacci_heap_c_tests): Rename to...
        (fibonacci_heap_cc_tests): ...this.
        * fold-const.cc (fold_const_c_tests): Rename to...
        (fold_const_cc_tests): ...this.
        * function-tests.cc (function_tests_c_tests): Rename to...
        (function_tests_cc_tests): ...this.
        * gcse.cc (gcse_c_finalize): Rename to...
        (gcse_cc_finalize): ...this.
        * gcse.h (gcse_c_finalize): Rename to...
        (gcse_cc_finalize): ...this.
        * ggc-tests.cc (ggc_tests_c_tests): Rename to...
        (ggc_tests_cc_tests): ...this.
        * gimple-ssa-store-merging.cc (store_merging_c_tests): Rename to...
        (store_merging_cc_tests): ...this.
        * gimple.cc (gimple_c_tests): Rename to...
        (gimple_cc_tests): ...this.
        * hash-map-tests.cc (hash_map_tests_c_tests): Rename to...
        (hash_map_tests_cc_tests): ...this.
        * hash-set-tests.cc (hash_set_tests_c_tests): Rename to...
        (hash_set_tests_cc_tests): ...this.
        * input.cc (input_c_tests): Rename to...
        (input_cc_tests): ...this.
        * ipa-cp.cc (ipa_cp_c_finalize): Rename to...
        (ipa_cp_cc_finalize): ...this.
        * ipa-fnsummary.cc (ipa_fnsummary_c_finalize): Rename to...
        (ipa_fnsummary_cc_finalize): ...this.
        * ipa-fnsummary.h (ipa_fnsummary_c_finalize): Rename to...
        (ipa_fnsummary_cc_finalize): ...this.
        * ipa-modref-tree.cc (ipa_modref_tree_c_tests): Rename to...
        (ipa_modref_tree_cc_tests): ...this.
        * ipa-modref-tree.h (modref_c_tests): Delete bogus decl.
        * ipa-modref.cc (ipa_modref_c_finalize): Rename to...
        (ipa_modref_cc_finalize): ...this.
        * ipa-modref.h (ipa_modref_c_finalize): Rename to...
        (ipa_modref_cc_finalize): ...this.
        * ipa-prop.h (ipa_cp_c_finalize): Rename to...
        (ipa_cp_cc_finalize): ...this.
        * ipa-reference.cc (ipa_reference_c_finalize): Rename to...
        (ipa_reference_cc_finalize): ...this.
        * ipa-reference.h (ipa_reference_c_finalize): Rename to...
        (ipa_reference_cc_finalize): ...this.
        * ira-costs.cc (ira_costs_c_finalize): Rename to...
        (ira_costs_cc_finalize): ...this.
        * ira.h (ira_costs_c_finalize): Rename to...
        (ira_costs_cc_finalize): ...this.
        * opt-suggestions.cc (opt_proposer_c_tests): Rename to...
        (opt_suggestions_cc_tests): ...this.
        * opts.cc (opts_c_tests): Rename to...
        (opts_cc_tests): ...this.
        * predict.cc (predict_c_tests): Rename to...
        (predict_cc_tests): ...this.
        * pretty-print.cc (pretty_print_c_tests): Rename to...
        (pretty_print_cc_tests): ...this.
        * read-rtl-function.cc (read_rtl_function_c_tests): Rename to...
        (read_rtl_function_cc_tests): ...this.
        * rtl-tests.cc (rtl_tests_c_tests): Rename to...
        (rtl_tests_cc_tests): ...this.
        * sbitmap.cc (sbitmap_c_tests): Rename to...
        (sbitmap_cc_tests): ...this.
        * selftest-run-tests.cc (selftest::run_tests): Update calls for
        _c_ to _cc_ function renamings; fix names of attribs and
        opt-suggestions tests.
        * selftest.cc (selftest_c_tests): Rename to...
        (selftest_cc_tests): ...this.
        * selftest.h (attribute_c_tests): Rename to...
        (attribs_cc_tests): ...this.
        (bitmap_c_tests): Rename to...
        (bitmap_cc_tests): ...this.
        (cgraph_c_tests): Rename to...
        (cgraph_cc_tests): ...this.
        (convert_c_tests): Rename to...
        (convert_cc_tests): ...this.
        (diagnostic_c_tests): Rename to...
        (diagnostic_cc_tests): ...this.
        (diagnostic_show_locus_c_tests): Rename to...
        (diagnostic_show_locus_cc_tests): ...this.
        (dumpfile_c_tests): Rename to...
        (dumpfile_cc_tests): ...this.
        (edit_context_c_tests): Rename to...
        (edit_context_cc_tests): ...this.
        (et_forest_c_tests): Rename to...
        (et_forest_cc_tests): ...this.
        (fibonacci_heap_c_tests): Rename to...
        (fibonacci_heap_cc_tests): ...this.
        (fold_const_c_tests): Rename to...
        (fold_const_cc_tests): ...this.
        (function_tests_c_tests): Rename to...
        (function_tests_cc_tests): ...this.
        (ggc_tests_c_tests): Rename to...
        (ggc_tests_cc_tests): ...this.
        (gimple_c_tests): Rename to...
        (gimple_cc_tests): ...this.
        (hash_map_tests_c_tests): Rename to...
        (hash_map_tests_cc_tests): ...this.
        (hash_set_tests_c_tests): Rename to...
        (hash_set_tests_cc_tests): ...this.
        (input_c_tests): Rename to...
        (input_cc_tests): ...this.
        (opts_c_tests): Rename to...
        (opts_cc_tests): ...this.
        (predict_c_tests): Rename to...
        (predict_cc_tests): ...this.
        (pretty_print_c_tests): Rename to...
        (pretty_print_cc_tests): ...this.
        (read_rtl_function_c_tests): Rename to...
        (read_rtl_function_cc_tests): ...this.
        (rtl_tests_c_tests): Rename to...
        (rtl_tests_cc_tests): ...this.
        (sbitmap_c_tests): Rename to...
        (sbitmap_cc_tests): ...this.
        (selftest_c_tests): Rename to...
        (selftest_cc_tests): ...this.
        (simplify_rtx_c_tests): Rename to...
        (simplify_rtx_cc_tests): ...this.
        (spellcheck_c_tests): Rename to...
        (spellcheck_cc_tests): ...this.
        (spellcheck_tree_c_tests): Rename to...
        (spellcheck_tree_cc_tests): ...this.
        (sreal_c_tests): Rename to...
        (sreal_cc_tests): ...this.
        (store_merging_c_tests): Rename to...
        (store_merging_cc_tests): ...this.
        (tree_c_tests): Rename to...
        (tree_cc_tests): ...this.
        (tree_cfg_c_tests): Rename to...
        (tree_cfg_cc_tests): ...this.
        (typed_splay_tree_c_tests): Rename to...
        (typed_splay_tree_cc_tests): ...this.
        (vec_c_tests): Rename to...
        (vec_cc_tests): ...this.
        (vec_perm_indices_c_tests): Rename to...
        (vec_perm_indices_cc_tests): ..this.
        (opt_proposer_c_tests): Rename to...
        (opt_suggestions_cc_tests): ...this.
        (dbgcnt_c_tests): Rename to...
        (dbgcnt_cc_tests): ...this.
        (ipa_modref_tree_c_tests): Rename to...
        (ipa_modref_tree_cc_tests): ...this.
        * simplify-rtx.cc (simplify_rtx_c_tests): Rename to...
        (simplify_rtx_cc_tests): ...this.
        * spellcheck-tree.cc (spellcheck_tree_c_tests): Rename to...
        (spellcheck_tree_cc_tests): ...this.
        * spellcheck.cc (spellcheck_c_tests): Rename to...
        (spellcheck_cc_tests): ...this.
        * sreal.cc (sreal_c_tests): Rename to...
        (sreal_cc_tests): ...this.
        * toplev.cc (toplev::finalize): Update calls for _c_ to _cc_
        function renamings.
        * tree-cfg.cc (tree_cfg_c_tests): Rename to...
        (tree_cfg_cc_tests): ...this.
        * tree.cc (tree_c_tests): Rename to...
        (tree_cc_tests): ...this.
        * typed-splay-tree.cc (typed_splay_tree_c_tests): Rename to...
        (typed_splay_tree_cc_tests): ...this.
        * vec-perm-indices.cc (vec_perm_indices_c_tests): Rename to...
        (vec_perm_indices_cc_tests): ...this.
        * vec.cc (vec_c_tests): Rename to...
        (vec_cc_tests): ...this.

2022-01-19  Andre Vieira  <andre.simoesdiasvieira@arm.com>

        PR tree-optimization/103997
        * tree-vect-loop.cc (vect_analyze_loop): Fix mode skipping for epilogue
        vectorization.

2022-01-19  Jakub Jelinek  <jakub@redhat.com>

        PR middle-end/102860
        * match.pd (x %[fl] y -> x % y): New simplification for
        unsigned integral types.
        * optabs-tree.cc (optab_for_tree_code): Return unknown_optab
        for {CEIL,FLOOR,ROUND}_{DIV,MOD}_EXPR with VECTOR_TYPE.

2022-01-19  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/104112
        * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
        for required intermediate vector types.

2022-01-19  Jakub Jelinek  <jakub@redhat.com>

        * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Add default:.

2022-01-19  Martin Liska  <mliska@suse.cz>

        * configure.ac: Remove -Wno-error=format-diag.
        * configure: Regenerate.

2022-01-19  Martin Liska  <mliska@suse.cz>

        * config/riscv/riscv.cc (riscv_handle_type_attribute):
        Update one -Wformat-diag string in warning message.

2022-01-19  Jakub Jelinek  <jakub@redhat.com>

        PR middle-end/104103
        * gimple-ssa-warn-access.cc (pass_waccess::check_call): Don't check
        .ASAN_MARK calls.

2022-01-19  Jakub Jelinek  <jakub@redhat.com>

        PR c++/89074
        * fold-const.cc (address_compare): Consider different STRING_CSTs
        with the same lengths that memcmp the same as equal, not different.

2022-01-19  Jakub Jelinek  <jakub@redhat.com>

        * config/i386/sse.md (*aes<aeswideklvariant>u*): Use %0 instead of
        {%0}.

2022-01-19  Martin Liska  <mliska@suse.cz>
            Thomas Schwinge  <thomas@codesourcery.com>

        * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Update
        warning messages.

2022-01-19  Sebastian Huber  <sebastian.huber@embedded-brains.de>

        PR target/104090
        * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Use also
        rs6000_cpu.

2022-01-19  Jakub Jelinek  <jakub@redhat.com>

        PR target/104104
        * config/i386/sse.md
        (<avx512>_<complexopname>_<mode><maskc_name><round_name>,
        avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>,
        avx512dq_mul<mode>3<mask_name>, <avx2_avx512>_permvar<mode><mask_name>,
        avx2_perm<mode>_1<mask_name>, avx512f_perm<mode>_1<mask_name>,
        avx512dq_rangep<mode><mask_name><round_saeonly_name>,
        avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>,
        <avx512>_getmant<mode><mask_name><round_saeonly_name>,
        avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
        Use vxorps\t%x0, %x0, %x0 instead of vxorps\t{%x0, %x0, %x0}.

2022-01-19  Martin Sebor  <msebor@redhat.com>

        PR middle-end/104069
        * gimple-ssa-warn-access.cc (pointers_related_p): Return false for
        an unknown result as documented.

2022-01-18  Andrew Pinski  <apinski@marvell.com>

        * ipa-split.cc (visit_bb): Fix comment before the
        warning/error attribute checking code.

2022-01-18  David Faust  <david.faust@oracle.com>

        * config/bpf/coreout.cc (bpf_core_reloc_add): Do not account
        for base strtab offset yet as it may change.
        (output_asm_btfext_core_reloc): Do so here instead.
        (output_btfext_core_sections): Likewise.

2022-01-18  David Faust  <david.faust@oracle.com>

        * config/bpf/coreout.cc (output_btfext_header): Account for
        4-byte record size in core_relo_len.
        (output_btfext_core_sections): Only write record size once.
        * config/bpf/coreout.h (btf_ext_section_header): Delete unused
        member.

2022-01-18  Maciej W. Rozycki  <macro@embecosm.com>

        * common/config/riscv/riscv-common.cc
        (riscv_subset_list::parse_multiletter_ext): Move pointer
        arithmetic ahead of `free'.

2022-01-18  Jason Merrill  <jason@redhat.com>

        PR c++/104007
        * gimplify.cc (gimple_push_cleanup): Handle eh_only in conditional
        context.

2022-01-18  Sandra Loosemore  <sandra@codesourcery.com>

        PR middle-end/103163
        * emit-rtl.cc (init_emit_regs): Initialize stack_limit_rtx here...
        (init_emit_once): ...not here.

2022-01-18  Martin Liska  <mliska@suse.cz>

        * collect2.cc (scan_libraries): Fix -Wformat-diag issues.
        * config/aarch64/aarch64-builtins.cc (aarch64_simd_expand_builtin): Likewise.
        * config/arc/arc.md: Likewise.
        * config/avr/avr.cc (avr_section_type_flags): Likewise.
        * config/bfin/bfin.cc (bfin_option_override): Likewise.
        (bfin_handle_longcall_attribute): Likewise.
        * config/cris/cris.h (FUNCTION_PROFILER): Likewise.
        * config/frv/frv.cc (frv_expand_builtin): Likewise.
        * config/ia64/ia64-c.cc (ia64_hpux_handle_builtin_pragma): Likewise.
        * config/iq2000/iq2000.cc (save_restore_insns): Likewise.
        (iq2000_print_operand_address): Likewise.
        (iq2000_print_operand): Likewise.
        * config/m32c/m32c-pragma.cc (m32c_pragma_memregs): Likewise.
        (m32c_pragma_address): Likewise.
        * config/m68k/m68k.cc (m68k_handle_fndecl_attribute): Likewise.
        * config/mips/mips.cc (mips_handle_interrupt_attr): Likewise.
        (mips_set_compression_mode): Likewise.
        * config/mmix/mmix.cc (mmix_function_profiler): Likewise.
        (mmix_print_operand): Likewise.
        (mmix_output_shiftvalue_op_from_str): Likewise.
        (mmix_output_shifted_value): Likewise.
        * config/msp430/driver-msp430.cc (msp430_select_hwmult_lib): Likewise.
        * config/msp430/msp430.cc (msp430_option_override): Likewise.
        (msp430_attr): Likewise.
        (msp430_expand_delay_cycles): Likewise.
        (msp430_expand_builtin): Likewise.
        * config/rs6000/aix73.h: Likewise.
        * config/rs6000/rtems.h (INVALID_64BIT): Likewise.
        * config/rx/rx.cc (rx_expand_builtin_mvtc): Likewise.
        (valid_psw_flag): Likewise.
        * config/sh/sh.cc (parse_validate_atomic_model_option): Likewise.
        * config/stormy16/stormy16.cc (xstormy16_function_profiler): Likewise.
        (xstormy16_expand_builtin_va_start): Likewise.
        (xstormy16_handle_below100_attribute): Likewise.

2022-01-18  Martin Liska  <mliska@suse.cz>

        * config/vms/vms-c.cc (vms_pragma_nostandard): Fix -Wformat-diag
        warning.
        (vms_pragma_standard): Likewise.
        (vms_pragma_extern_prefix): Likewise.

2022-01-18  Martin Liska  <mliska@suse.cz>

        * config/xtensa/xtensa.cc (print_operand): Fix warnings.
        (print_operand_address): Likewise.
        (xtensa_multibss_section_type_flags): Likewise.

2022-01-18  Martin Liska  <mliska@suse.cz>

        * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Change
        wording of an error message.

2022-01-18  Martin Liska  <mliska@suse.cz>

        * config/v850/v850-c.cc (pop_data_area): Fix -Wformat-diag
        warning.
        (ghs_pragma_section): Likewise.
        (ghs_pragma_interrupt): Likewise.
        (ghs_pragma_starttda): Likewise.
        (ghs_pragma_startsda): Likewise.
        (ghs_pragma_startzda): Likewise.
        (ghs_pragma_endtda): Likewise.
        (ghs_pragma_endsda): Likewise.
        (ghs_pragma_endzda): Likewise.

2022-01-18  Martin Liska  <mliska@suse.cz>

        * config/nds32/nds32-intrinsic.cc (nds32_expand_builtin_impl):
        Fix warnings.
        * config/nds32/nds32-intrinsic.md: Likewise.
        * config/nds32/nds32-isr.cc (nds32_check_isr_attrs_conflict): Likewise.
        * config/nds32/nds32.cc (nds32_print_operand): Likewise.
        (nds32_insert_attributes): Likewise.

2022-01-18  Martin Liska  <mliska@suse.cz>

        * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Wrap
        keyword.
        * config/nvptx/nvptx.md: Remove trailing dot.

2022-01-18  Martin Liska  <mliska@suse.cz>

        * common/config/riscv/riscv-common.cc (riscv_subset_list::add):
        Wrap keywords with quotes and remove trailing dots.
        (riscv_subset_list::parsing_subset_version): Likewise.
        (riscv_subset_list::parse_std_ext): Likewise.
        (riscv_subset_list::parse_multiletter_ext): Likewise.
        * config/riscv/riscv.cc (riscv_handle_type_attribute): Likewise.

2022-01-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>

        * tree-vect-loop.cc (vect_estimate_min_profitable_iters): Pass new
        argument suggested_unroll_factor.
        (vect_analyze_loop_costing): Likewise.
        (_loop_vec_info::_loop_vec_info): Initialize new member
        suggested_unroll_factor.
        (vect_determine_partial_vectors_and_peeling): Make epilogue of unrolled
        main loop use partial vectors.
        (vect_analyze_loop_2): Pass and use new argument
        suggested_unroll_factor.
        (vect_analyze_loop_1): Change to intialize local
        suggested_unroll_factor and use it.
        (vectorizable_reduction): Don't use single_defuse_cycle when unrolling.
        * tree-vectorizer.h (_loop_vec_info::_loop_vec_info): Add new member
        suggested_unroll_factor.
        (vector_costs::vector_costs): Add new member m_suggested_unroll_factor.
        (vector_costs::suggested_unroll_factor): New getter function.
        (finish_cost): Set return argument suggested_unroll_factor.

2022-01-18  Andrew MacLeod  <amacleod@redhat.com>

        PR tree-optimization/104038
        * doc/invoke.texi (relation-block-limit): New.
        * params.opt (relation-block-limit): New.
        * value-relation.cc (dom_oracle::register_relation): Check for NULL
        record before invoking transitive registery.
        (dom_oracle::set_one_relation): Check limit before creating record.
        (dom_oracle::register_transitives): Stop when no record created.
        * value-relation.h (relation_chain_head::m_num_relations): New.

2022-01-18  Richard Biener  <rguenther@suse.de>

        PR ipa/103989
        * ipa-inline.cc (inline_small_functions): Do not enqueue call
        edges originating in functions compiled with -Og.

2022-01-18  Richard Biener  <rguenther@suse.de>

        PR ipa/103989
        * passes.def (pass_all_optimizations_g): Remove pass_modref
        and pass_local_pure_const.

2022-01-18  Martin Liska  <mliska@suse.cz>

        * config/s390/s390.cc: Fix -Wformat-diag warnings.

2022-01-18  Martin Liska  <mliska@suse.cz>

        * config/s390/s390-c.cc (s390_expand_overloaded_builtin): Wrap
        keyword in quotes.
        (s390_resolve_overloaded_builtin): Remove trailing dot.
        * config/s390/s390.cc (s390_const_operand_ok): Use - for range.
        (s390_expand_builtin): Remove trailing dot.
        (s390_emit_prologue): Likewise, use semicolon.
        (s390_option_override_internal): Update keyword.
        * varasm.cc (do_assemble_alias): Wrap keyword in quotes.

2022-01-18  Martin Liska  <mliska@suse.cz>

        * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Wrap
        keywords and use %qs instead of %<%s%>.

2022-01-18  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/103987
        * tree-ssa-dse.cc (dse_optimize_call): Properly guard modref
        query with a pointer check.

2022-01-18  Richard Sandiford  <richard.sandiford@arm.com>

        PR target/104005
        * config/aarch64/aarch64.cc (aarch64_check_consecutive_mems):
        When using MEM_EXPR, require the base to be a decl.

2022-01-18  Richard Biener  <rguenther@suse.de>

        * cgraph.h (struct cgraph_simd_clone_arg): Re-arrange fields to
        avoid padding.
        * function.h (struct function): Likewise.

2022-01-18  Arnaud Charlet  <charlet@adacore.com>

        * doc/install.texi: Update prerequisites for GNAT

2022-01-18  Andrew Pinski  <apinski@marvell.com>

        PR tree-optimization/101941
        * ipa-split.cc (visit_bb): Disallow function calls where
        the function has either error or warning attribute.

2022-01-18  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/104064
        * tree-vect-data-refs.cc (vect_analyze_data_ref_accesses): Check
        DR_INIT fits in a signed HWI, represent the difference from the
        first DR in unsigned.

2022-01-17  Martin Liska  <mliska@suse.cz>

        * Makefile.in: Rename .c names to .cc.
        * config.gcc: Likewise.
        * configure: Regenerate. Likewise.
        * configure.ac: Likewise.
        * gengtype.cc (set_gc_used): Likewise.
        (source_dot_c_frul): Likewise.
        (source_dot_cc_frul): Likewise.
        (struct file_rule_st): Likewise.
        (close_output_files): Likewise.
        * config/avr/t-avr: Use CXXFLAGS_* and CXX_FOR_BUILD.

2022-01-17  Martin Liska  <mliska@suse.cz>

        * Makefile.in: Rename .c names to .cc.
        * alias.h: Likewise.
        * asan.cc: Likewise.
        * auto-profile.h: Likewise.
        * basic-block.h (struct basic_block_d): Likewise.
        * btfout.cc: Likewise.
        * builtins.cc (expand_builtin_longjmp): Likewise.
        (validate_arg): Likewise.
        (access_ref::offset_bounded): Likewise.
        * caller-save.cc (reg_restore_code): Likewise.
        (setup_save_areas): Likewise.
        * calls.cc (initialize_argument_information): Likewise.
        (expand_call): Likewise.
        (emit_library_call_value_1): Likewise.
        * cfg-flags.def (RTL): Likewise.
        (SIBCALL): Likewise.
        (CAN_FALLTHRU): Likewise.
        * cfganal.cc (post_order_compute): Likewise.
        * cfgcleanup.cc (try_simplify_condjump): Likewise.
        (merge_blocks_move_predecessor_nojumps): Likewise.
        (merge_blocks_move_successor_nojumps): Likewise.
        (merge_blocks_move): Likewise.
        (old_insns_match_p): Likewise.
        (try_crossjump_bb): Likewise.
        * cfgexpand.cc (expand_gimple_stmt): Likewise.
        * cfghooks.cc (split_block_before_cond_jump): Likewise.
        (profile_record_check_consistency): Likewise.
        * cfghooks.h: Likewise.
        * cfgrtl.cc (pass_free_cfg::execute): Likewise.
        (rtl_can_merge_blocks): Likewise.
        (try_redirect_by_replacing_jump): Likewise.
        (make_pass_outof_cfg_layout_mode): Likewise.
        (cfg_layout_can_merge_blocks_p): Likewise.
        * cgraph.cc (release_function_body): Likewise.
        (cgraph_node::get_fun): Likewise.
        * cgraph.h (struct cgraph_node): Likewise.
        (asmname_hasher::equal): Likewise.
        (cgraph_inline_failed_type): Likewise.
        (thunk_adjust): Likewise.
        (dump_callgraph_transformation): Likewise.
        (record_references_in_initializer): Likewise.
        (ipa_discover_variable_flags): Likewise.
        * cgraphclones.cc (GTY): Likewise.
        * cgraphunit.cc (symbol_table::finalize_compilation_unit): Likewise.
        * collect-utils.h (GCC_COLLECT_UTILS_H): Likewise.
        * collect2-aix.h (GCC_COLLECT2_AIX_H): Likewise.
        * collect2.cc (maybe_run_lto_and_relink): Likewise.
        * combine-stack-adj.cc: Likewise.
        * combine.cc (setup_incoming_promotions): Likewise.
        (combine_simplify_rtx): Likewise.
        (count_rtxs): Likewise.
        * common.opt: Likewise.
        * common/config/aarch64/aarch64-common.cc: Likewise.
        * common/config/arm/arm-common.cc (arm_asm_auto_mfpu): Likewise.
        * common/config/avr/avr-common.cc: Likewise.
        * common/config/i386/i386-isas.h (struct _isa_names_table): Likewise.
        * conditions.h: Likewise.
        * config.gcc: Likewise.
        * config/aarch64/aarch64-builtins.cc (aarch64_resolve_overloaded_memtag): Likewise.
        * config/aarch64/aarch64-protos.h (aarch64_classify_address): Likewise.
        (aarch64_get_extension_string_for_isa_flags): Likewise.
        * config/aarch64/aarch64-sve-builtins.cc (function_builder::add_function): Likewise.
        * config/aarch64/aarch64.cc (aarch64_regmode_natural_size): Likewise.
        (aarch64_sched_first_cycle_multipass_dfa_lookahead): Likewise.
        (aarch64_option_valid_attribute_p): Likewise.
        (aarch64_short_vector_p): Likewise.
        (aarch64_float_const_representable_p): Likewise.
        * config/aarch64/aarch64.h (DBX_REGISTER_NUMBER): Likewise.
        (ASM_OUTPUT_POOL_EPILOGUE): Likewise.
        (GTY): Likewise.
        * config/aarch64/cortex-a57-fma-steering.cc: Likewise.
        * config/aarch64/driver-aarch64.cc (contains_core_p): Likewise.
        * config/aarch64/t-aarch64: Likewise.
        * config/aarch64/x-aarch64: Likewise.
        * config/aarch64/x-darwin: Likewise.
        * config/alpha/alpha-protos.h: Likewise.
        * config/alpha/alpha.cc (alpha_scalar_mode_supported_p): Likewise.
        * config/alpha/alpha.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
        (enum reg_class): Likewise.
        * config/alpha/alpha.md: Likewise.
        * config/alpha/driver-alpha.cc (AMASK_LOCKPFTCHOK): Likewise.
        * config/alpha/x-alpha: Likewise.
        * config/arc/arc-protos.h (arc_eh_uses): Likewise.
        * config/arc/arc.cc (ARC_OPT): Likewise.
        (arc_ccfsm_advance): Likewise.
        (arc_arg_partial_bytes): Likewise.
        (conditionalize_nonjump): Likewise.
        * config/arc/arc.md: Likewise.
        * config/arc/builtins.def: Likewise.
        * config/arc/t-arc: Likewise.
        * config/arm/arm-c.cc (arm_resolve_overloaded_builtin): Likewise.
        (arm_pragma_target_parse): Likewise.
        * config/arm/arm-protos.h (save_restore_target_globals): Likewise.
        (arm_cpu_cpp_builtins): Likewise.
        * config/arm/arm.cc (vfp3_const_double_index): Likewise.
        (shift_op): Likewise.
        (thumb2_final_prescan_insn): Likewise.
        (arm_final_prescan_insn): Likewise.
        (arm_asm_output_labelref): Likewise.
        (arm_small_register_classes_for_mode_p): Likewise.
        * config/arm/arm.h: Likewise.
        * config/arm/arm.md: Likewise.
        * config/arm/driver-arm.cc: Likewise.
        * config/arm/symbian.h: Likewise.
        * config/arm/t-arm: Likewise.
        * config/arm/thumb1.md: Likewise.
        * config/arm/x-arm: Likewise.
        * config/avr/avr-c.cc (avr_register_target_pragmas): Likewise.
        * config/avr/avr-fixed.md: Likewise.
        * config/avr/avr-log.cc (avr_log_vadump): Likewise.
        * config/avr/avr-mcus.def: Likewise.
        * config/avr/avr-modes.def (FRACTIONAL_INT_MODE): Likewise.
        * config/avr/avr-passes.def (INSERT_PASS_BEFORE): Likewise.
        * config/avr/avr-protos.h (make_avr_pass_casesi): Likewise.
        * config/avr/avr.cc (avr_option_override): Likewise.
        (avr_build_builtin_va_list): Likewise.
        (avr_mode_dependent_address_p): Likewise.
        (avr_function_arg_advance): Likewise.
        (avr_asm_output_aligned_decl_common): Likewise.
        * config/avr/avr.h (RETURN_ADDR_RTX): Likewise.
        (SUPPORTS_INIT_PRIORITY): Likewise.
        * config/avr/avr.md: Likewise.
        * config/avr/builtins.def: Likewise.
        * config/avr/gen-avr-mmcu-specs.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
        * config/avr/gen-avr-mmcu-texi.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
        (main): Likewise.
        * config/avr/t-avr: Likewise.
        * config/bfin/bfin.cc (frame_related_constant_load): Likewise.
        * config/bpf/bpf-protos.h (GCC_BPF_PROTOS_H): Likewise.
        * config/bpf/bpf.h (enum reg_class): Likewise.
        * config/bpf/t-bpf: Likewise.
        * config/c6x/c6x-protos.h (GCC_C6X_PROTOS_H): Likewise.
        * config/cr16/cr16-protos.h: Likewise.
        * config/cris/cris.cc (cris_address_cost): Likewise.
        (cris_side_effect_mode_ok): Likewise.
        (cris_init_machine_status): Likewise.
        (cris_emit_movem_store): Likewise.
        * config/cris/cris.h (INDEX_REG_CLASS): Likewise.
        (enum reg_class): Likewise.
        (struct cum_args): Likewise.
        * config/cris/cris.opt: Likewise.
        * config/cris/sync.md: Likewise.
        * config/csky/csky.cc (csky_expand_prologue): Likewise.
        * config/darwin-c.cc: Likewise.
        * config/darwin-f.cc: Likewise.
        * config/darwin-sections.def (zobj_const_section): Likewise.
        * config/darwin.cc (output_objc_section_asm_op): Likewise.
        (fprintf): Likewise.
        * config/darwin.h (GTY): Likewise.
        * config/elfos.h: Likewise.
        * config/epiphany/epiphany-sched.md: Likewise.
        * config/epiphany/epiphany.cc (epiphany_function_value): Likewise.
        * config/epiphany/epiphany.h (GTY): Likewise.
        (NO_FUNCTION_CSE): Likewise.
        * config/epiphany/mode-switch-use.cc: Likewise.
        * config/epiphany/predicates.md: Likewise.
        * config/epiphany/t-epiphany: Likewise.
        * config/fr30/fr30-protos.h: Likewise.
        * config/frv/frv-protos.h: Likewise.
        * config/frv/frv.cc (TLS_BIAS): Likewise.
        * config/frv/frv.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
        * config/ft32/ft32-protos.h: Likewise.
        * config/gcn/gcn-hsa.h (ASM_APP_OFF): Likewise.
        * config/gcn/gcn.cc (gcn_init_libfuncs): Likewise.
        * config/gcn/mkoffload.cc (copy_early_debug_info): Likewise.
        * config/gcn/t-gcn-hsa: Likewise.
        * config/gcn/t-omp-device: Likewise.
        * config/h8300/h8300-protos.h (GCC_H8300_PROTOS_H): Likewise.
        (same_cmp_following_p): Likewise.
        * config/h8300/h8300.cc (F): Likewise.
        * config/h8300/h8300.h (struct cum_arg): Likewise.
        (BRANCH_COST): Likewise.
        * config/i386/cygming.h (DEFAULT_PCC_STRUCT_RETURN): Likewise.
        * config/i386/djgpp.h (TARGET_ASM_LTO_END): Likewise.
        * config/i386/dragonfly.h (NO_PROFILE_COUNTERS): Likewise.
        * config/i386/driver-i386.cc (detect_caches_intel): Likewise.
        * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
        * config/i386/i386-c.cc (ix86_target_macros): Likewise.
        * config/i386/i386-expand.cc (get_mode_wider_vector): Likewise.
        * config/i386/i386-options.cc (ix86_set_func_type): Likewise.
        * config/i386/i386-protos.h (ix86_extract_perm_from_pool_constant): Likewise.
        (ix86_register_pragmas): Likewise.
        (ix86_d_has_stdcall_convention): Likewise.
        (i386_pe_seh_init_sections): Likewise.
        * config/i386/i386.cc (ix86_function_arg_regno_p): Likewise.
        (ix86_function_value_regno_p): Likewise.
        (ix86_compute_frame_layout): Likewise.
        (legitimize_pe_coff_symbol): Likewise.
        (output_pic_addr_const): Likewise.
        * config/i386/i386.h (defined): Likewise.
        (host_detect_local_cpu): Likewise.
        (CONSTANT_ADDRESS_P): Likewise.
        (DEFAULT_LARGE_SECTION_THRESHOLD): Likewise.
        (struct machine_frame_state): Likewise.
        * config/i386/i386.md: Likewise.
        * config/i386/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
        * config/i386/mmx.md: Likewise.
        * config/i386/sse.md: Likewise.
        * config/i386/t-cygming: Likewise.
        * config/i386/t-djgpp: Likewise.
        * config/i386/t-gnu-property: Likewise.
        * config/i386/t-i386: Likewise.
        * config/i386/t-intelmic: Likewise.
        * config/i386/t-omp-device: Likewise.
        * config/i386/winnt-cxx.cc (i386_pe_type_dllimport_p): Likewise.
        (i386_pe_adjust_class_at_definition): Likewise.
        * config/i386/winnt.cc (gen_stdcall_or_fastcall_suffix): Likewise.
        (i386_pe_mangle_decl_assembler_name): Likewise.
        (i386_pe_encode_section_info): Likewise.
        * config/i386/x-cygwin: Likewise.
        * config/i386/x-darwin: Likewise.
        * config/i386/x-i386: Likewise.
        * config/i386/x-mingw32: Likewise.
        * config/i386/x86-tune-sched-core.cc: Likewise.
        * config/i386/x86-tune.def: Likewise.
        * config/i386/xm-djgpp.h (STANDARD_STARTFILE_PREFIX_1): Likewise.
        * config/ia64/freebsd.h: Likewise.
        * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Likewise.
        * config/ia64/ia64-protos.h (ia64_except_unwind_info): Likewise.
        * config/ia64/ia64.cc (ia64_function_value_regno_p): Likewise.
        (ia64_secondary_reload_class): Likewise.
        (bundling): Likewise.
        * config/ia64/ia64.h: Likewise.
        * config/ia64/ia64.md: Likewise.
        * config/ia64/predicates.md: Likewise.
        * config/ia64/sysv4.h: Likewise.
        * config/ia64/t-ia64: Likewise.
        * config/iq2000/iq2000.h (FUNCTION_MODE): Likewise.
        * config/iq2000/iq2000.md: Likewise.
        * config/linux.h (TARGET_HAS_BIONIC): Likewise.
        (if): Likewise.
        * config/m32c/m32c.cc (m32c_function_needs_enter): Likewise.
        * config/m32c/m32c.h (MAX_REGS_PER_ADDRESS): Likewise.
        * config/m32c/t-m32c: Likewise.
        * config/m32r/m32r-protos.h: Likewise.
        * config/m32r/m32r.cc (m32r_print_operand): Likewise.
        * config/m32r/m32r.h: Likewise.
        * config/m32r/m32r.md: Likewise.
        * config/m68k/m68k-isas.def: Likewise.
        * config/m68k/m68k-microarchs.def: Likewise.
        * config/m68k/m68k-protos.h (strict_low_part_peephole_ok): Likewise.
        (m68k_epilogue_uses): Likewise.
        * config/m68k/m68k.cc (m68k_call_tls_get_addr): Likewise.
        (m68k_sched_adjust_cost): Likewise.
        (m68k_sched_md_init): Likewise.
        * config/m68k/m68k.h (__transfer_from_trampoline): Likewise.
        (enum m68k_function_kind): Likewise.
        * config/m68k/m68k.md: Likewise.
        * config/m68k/m68kemb.h: Likewise.
        * config/m68k/uclinux.h (ENDFILE_SPEC): Likewise.
        * config/mcore/mcore-protos.h: Likewise.
        * config/mcore/mcore.cc (mcore_expand_insv): Likewise.
        (mcore_expand_prolog): Likewise.
        * config/mcore/mcore.h (TARGET_MCORE): Likewise.
        * config/mcore/mcore.md: Likewise.
        * config/microblaze/microblaze-protos.h: Likewise.
        * config/microblaze/microblaze.cc (microblaze_legitimate_pic_operand): Likewise.
        (microblaze_function_prologue): Likewise.
        (microblaze_function_epilogue): Likewise.
        (microblaze_select_section): Likewise.
        (microblaze_asm_output_mi_thunk): Likewise.
        (microblaze_eh_return): Likewise.
        * config/microblaze/microblaze.h: Likewise.
        * config/microblaze/microblaze.md: Likewise.
        * config/microblaze/t-microblaze: Likewise.
        * config/mips/driver-native.cc: Likewise.
        * config/mips/loongson2ef.md: Likewise.
        * config/mips/mips-protos.h (mips_expand_vec_cmp_expr): Likewise.
        * config/mips/mips.cc (mips_rtx_costs): Likewise.
        (mips_output_filename): Likewise.
        (mips_output_function_prologue): Likewise.
        (mips_output_function_epilogue): Likewise.
        (mips_output_mi_thunk): Likewise.
        * config/mips/mips.h: Likewise.
        * config/mips/mips.md: Likewise.
        * config/mips/t-mips: Likewise.
        * config/mips/x-native: Likewise.
        * config/mmix/mmix-protos.h: Likewise.
        * config/mmix/mmix.cc (mmix_option_override): Likewise.
        (mmix_dbx_register_number): Likewise.
        (mmix_expand_prologue): Likewise.
        * config/mmix/mmix.h: Likewise.
        * config/mmix/mmix.md: Likewise.
        * config/mmix/predicates.md: Likewise.
        * config/mn10300/mn10300.cc (mn10300_symbolic_operand): Likewise.
        (mn10300_legitimate_pic_operand_p): Likewise.
        * config/mn10300/mn10300.h (enum reg_class): Likewise.
        (NO_FUNCTION_CSE): Likewise.
        * config/moxie/moxie-protos.h: Likewise.
        * config/moxie/uclinux.h (TARGET_LIBC_HAS_FUNCTION): Likewise.
        * config/msp430/msp430-devices.cc (extract_devices_dir_from_exec_prefix): Likewise.
        * config/msp430/msp430.cc (msp430_gimplify_va_arg_expr): Likewise.
        (msp430_incoming_return_addr_rtx): Likewise.
        * config/msp430/msp430.h (msp430_get_linker_devices_include_path): Likewise.
        * config/msp430/t-msp430: Likewise.
        * config/nds32/nds32-cost.cc (nds32_rtx_costs_speed_prefer): Likewise.
        (nds32_rtx_costs_size_prefer): Likewise.
        (nds32_init_rtx_costs): Likewise.
        * config/nds32/nds32-doubleword.md: Likewise.
        * config/nds32/nds32.cc (nds32_memory_move_cost): Likewise.
        (nds32_builtin_decl): Likewise.
        * config/nds32/nds32.h (enum nds32_16bit_address_type): Likewise.
        (enum nds32_isr_nested_type): Likewise.
        (enum reg_class): Likewise.
        * config/nds32/predicates.md: Likewise.
        * config/nds32/t-nds32: Likewise.
        * config/nios2/nios2.cc (nios2_pragma_target_parse): Likewise.
        * config/nvptx/nvptx-protos.h: Likewise.
        * config/nvptx/nvptx.cc (nvptx_goacc_expand_var_decl): Likewise.
        * config/nvptx/nvptx.h (TARGET_CPU_CPP_BUILTINS): Likewise.
        * config/nvptx/t-nvptx: Likewise.
        * config/nvptx/t-omp-device: Likewise.
        * config/pa/elf.h: Likewise.
        * config/pa/pa-linux.h (GLOBAL_ASM_OP): Likewise.
        * config/pa/pa-netbsd.h (GLOBAL_ASM_OP): Likewise.
        * config/pa/pa-openbsd.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
        * config/pa/pa-protos.h (pa_eh_return_handler_rtx): Likewise.
        (pa_legitimize_reload_address): Likewise.
        (pa_can_use_return_insn): Likewise.
        * config/pa/pa.cc (mem_shadd_or_shadd_rtx_p): Likewise.
        (som_output_text_section_asm_op): Likewise.
        * config/pa/pa.h (PROFILE_BEFORE_PROLOGUE): Likewise.
        * config/pa/pa.md: Likewise.
        * config/pa/som.h: Likewise.
        * config/pa/t-pa: Likewise.
        * config/pdp11/pdp11.cc (decode_pdp11_d): Likewise.
        * config/pdp11/pdp11.h: Likewise.
        * config/pdp11/pdp11.md: Likewise.
        * config/pdp11/t-pdp11: Likewise.
        * config/pru/pru.md: Likewise.
        * config/pru/t-pru: Likewise.
        * config/riscv/riscv-protos.h (NUM_SYMBOL_TYPES): Likewise.
        (riscv_gpr_save_operation_p): Likewise.
        (riscv_d_register_target_info): Likewise.
        (riscv_init_builtins): Likewise.
        * config/riscv/riscv.cc (riscv_output_mi_thunk): Likewise.
        * config/riscv/riscv.h (CSW_MAX_OFFSET): Likewise.
        * config/riscv/t-riscv: Likewise.
        * config/rl78/rl78.cc (rl78_asm_ctor_dtor): Likewise.
        * config/rl78/t-rl78: Likewise.
        * config/rs6000/aix.h: Likewise.
        * config/rs6000/aix71.h (ASM_SPEC_COMMON): Likewise.
        * config/rs6000/aix72.h (ASM_SPEC_COMMON): Likewise.
        * config/rs6000/aix73.h (ASM_SPEC_COMMON): Likewise.
        * config/rs6000/darwin.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
        * config/rs6000/driver-rs6000.cc: Likewise.
        * config/rs6000/freebsd.h: Likewise.
        * config/rs6000/freebsd64.h: Likewise.
        * config/rs6000/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
        * config/rs6000/rbtree.cc: Likewise.
        * config/rs6000/rbtree.h: Likewise.
        * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Likewise.
        * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Likewise.
        (rs6000_expand_builtin): Likewise.
        (rs6000_init_builtins): Likewise.
        * config/rs6000/rs6000-cpus.def: Likewise.
        * config/rs6000/rs6000-gen-builtins.cc (write_init_ovld_table): Likewise.
        * config/rs6000/rs6000-internal.h (ALTIVEC_REG_BIT): Likewise.
        (quad_address_offset_p): Likewise.
        * config/rs6000/rs6000-logue.cc (interesting_frame_related_regno): Likewise.
        (rs6000_emit_epilogue): Likewise.
        * config/rs6000/rs6000-overload.def: Likewise.
        * config/rs6000/rs6000-p8swap.cc: Likewise.
        * config/rs6000/rs6000-protos.h (GCC_RS6000_PROTOS_H): Likewise.
        (rs6000_const_f32_to_i32): Likewise.
        * config/rs6000/rs6000.cc (legitimate_lo_sum_address_p): Likewise.
        (rs6000_debug_legitimize_address): Likewise.
        (rs6000_mode_dependent_address): Likewise.
        (rs6000_adjust_priority): Likewise.
        (rs6000_c_mode_for_suffix): Likewise.
        * config/rs6000/rs6000.h (defined): Likewise.
        (LONG_DOUBLE_TYPE_SIZE): Likewise.
        * config/rs6000/rs6000.md: Likewise.
        * config/rs6000/sysv4.h: Likewise.
        * config/rs6000/t-linux: Likewise.
        * config/rs6000/t-linux64: Likewise.
        * config/rs6000/t-rs6000: Likewise.
        * config/rs6000/x-darwin: Likewise.
        * config/rs6000/x-darwin64: Likewise.
        * config/rs6000/x-rs6000: Likewise.
        * config/rs6000/xcoff.h (ASM_OUTPUT_LABELREF): Likewise.
        * config/rx/rx.cc (rx_expand_builtin): Likewise.
        * config/s390/constraints.md: Likewise.
        * config/s390/driver-native.cc: Likewise.
        * config/s390/htmxlintrin.h: Likewise.
        * config/s390/s390-builtins.def (B_DEF): Likewise.
        (OB_DEF_VAR): Likewise.
        * config/s390/s390-builtins.h: Likewise.
        * config/s390/s390-c.cc: Likewise.
        * config/s390/s390-opts.h: Likewise.
        * config/s390/s390-protos.h (s390_check_symref_alignment): Likewise.
        (s390_register_target_pragmas): Likewise.
        * config/s390/s390.cc (s390_init_builtins): Likewise.
        (s390_expand_plus_operand): Likewise.
        (s390_expand_atomic): Likewise.
        (s390_valid_target_attribute_inner_p): Likewise.
        * config/s390/s390.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
        * config/s390/s390.md: Likewise.
        * config/s390/t-s390: Likewise.
        * config/s390/vx-builtins.md: Likewise.
        * config/s390/x-native: Likewise.
        * config/sh/divtab-sh4-300.cc (main): Likewise.
        * config/sh/divtab-sh4.cc (main): Likewise.
        * config/sh/divtab.cc (main): Likewise.
        * config/sh/elf.h: Likewise.
        * config/sh/sh-protos.h (sh_fsca_int2sf): Likewise.
        * config/sh/sh.cc (SYMBOL_FLAG_FUNCVEC_FUNCTION): Likewise.
        (sh_struct_value_rtx): Likewise.
        (sh_remove_reg_dead_or_unused_notes): Likewise.
        * config/sh/sh.h (MIN_UNITS_PER_WORD): Likewise.
        * config/sh/t-sh: Likewise.
        * config/sol2-protos.h (solaris_override_options): Likewise.
        * config/sol2.h: Likewise.
        * config/sparc/driver-sparc.cc: Likewise.
        * config/sparc/freebsd.h: Likewise.
        * config/sparc/sparc-protos.h (make_pass_work_around_errata): Likewise.
        * config/sparc/sparc.cc (sparc_output_mi_thunk): Likewise.
        (sparc_asan_shadow_offset): Likewise.
        * config/sparc/sparc.h: Likewise.
        * config/sparc/sparc.md: Likewise.
        * config/sparc/t-sparc: Likewise.
        * config/sparc/x-sparc: Likewise.
        * config/stormy16/stormy16.cc (xstormy16_mode_dependent_address_p): Likewise.
        * config/t-darwin: Likewise.
        * config/t-dragonfly: Likewise.
        * config/t-freebsd: Likewise.
        * config/t-glibc: Likewise.
        * config/t-linux: Likewise.
        * config/t-netbsd: Likewise.
        * config/t-openbsd: Likewise.
        * config/t-pnt16-warn: Likewise.
        * config/t-sol2: Likewise.
        * config/t-vxworks: Likewise.
        * config/t-winnt: Likewise.
        * config/tilegx/t-tilegx: Likewise.
        * config/tilegx/tilegx-c.cc: Likewise.
        * config/tilegx/tilegx-protos.h (tilegx_function_profiler): Likewise.
        * config/tilegx/tilegx.md: Likewise.
        * config/tilepro/t-tilepro: Likewise.
        * config/tilepro/tilepro-c.cc: Likewise.
        * config/v850/t-v850: Likewise.
        * config/v850/v850-protos.h: Likewise.
        * config/v850/v850.cc (F): Likewise.
        * config/v850/v850.h (enum reg_class): Likewise.
        (SLOW_BYTE_ACCESS): Likewise.
        * config/vax/vax.cc (vax_mode_dependent_address_p): Likewise.
        * config/vax/vax.h (enum reg_class): Likewise.
        * config/vax/vax.md: Likewise.
        * config/visium/visium.cc (visium_legitimate_address_p): Likewise.
        * config/visium/visium.h: Likewise.
        * config/vms/t-vms: Likewise.
        * config/vms/vms-crtlmap.map: Likewise.
        * config/vms/vms-protos.h (vms_c_get_vms_ver): Likewise.
        * config/vx-common.h: Likewise.
        * config/x-darwin: Likewise.
        * config/x-hpux: Likewise.
        * config/x-linux: Likewise.
        * config/x-netbsd: Likewise.
        * config/x-openbsd: Likewise.
        * config/x-solaris: Likewise.
        * config/xtensa/xtensa-protos.h (xtensa_mem_offset): Likewise.
        * config/xtensa/xtensa.cc (xtensa_option_override): Likewise.
        * config/xtensa/xtensa.h: Likewise.
        * configure.ac: Likewise.
        * context.cc: Likewise.
        * convert.h: Likewise.
        * coretypes.h: Likewise.
        * coverage.cc: Likewise.
        * coverage.h: Likewise.
        * cppdefault.h (struct default_include): Likewise.
        * cprop.cc (local_cprop_pass): Likewise.
        (one_cprop_pass): Likewise.
        * cse.cc (hash_rtx_cb): Likewise.
        (fold_rtx): Likewise.
        * ctfc.h (ctfc_get_num_vlen_bytes): Likewise.
        * data-streamer.h (bp_unpack_var_len_int): Likewise.
        (streamer_write_widest_int): Likewise.
        * dbgcnt.def: Likewise.
        * dbxout.cc (dbxout_early_global_decl): Likewise.
        (dbxout_common_check): Likewise.
        * dbxout.h: Likewise.
        * debug.h (struct gcc_debug_hooks): Likewise.
        (dump_go_spec_init): Likewise.
        * df-core.cc: Likewise.
        * df-scan.cc (df_insn_info_delete): Likewise.
        (df_insn_delete): Likewise.
        * df.h (debug_df_chain): Likewise.
        (can_move_insns_across): Likewise.
        * dfp.cc (decimal_from_binary): Likewise.
        * diagnostic-color.cc: Likewise.
        * diagnostic-event-id.h: Likewise.
        * diagnostic-show-locus.cc (test_one_liner_labels): Likewise.
        * diagnostic.cc (bt_callback): Likewise.
        (num_digits): Likewise.
        * doc/avr-mmcu.texi: Likewise.
        * doc/cfg.texi: Likewise.
        * doc/contrib.texi: Likewise.
        * doc/cppinternals.texi: Likewise.
        * doc/extend.texi: Likewise.
        * doc/generic.texi: Likewise.
        * doc/gimple.texi: Likewise.
        * doc/gty.texi: Likewise.
        * doc/invoke.texi: Likewise.
        * doc/loop.texi: Likewise.
        * doc/lto.texi: Likewise.
        * doc/match-and-simplify.texi: Likewise.
        * doc/md.texi: Likewise.
        * doc/optinfo.texi: Likewise.
        * doc/options.texi: Likewise.
        * doc/passes.texi: Likewise.
        * doc/plugins.texi: Likewise.
        * doc/rtl.texi: Likewise.
        * doc/sourcebuild.texi: Likewise.
        * doc/tm.texi: Likewise.
        * doc/tm.texi.in: Likewise.
        * doc/tree-ssa.texi: Likewise.
        * dojump.cc (do_jump): Likewise.
        * dojump.h: Likewise.
        * dumpfile.cc (test_impl_location): Likewise.
        (test_capture_of_dump_calls): Likewise.
        * dumpfile.h (enum dump_kind): Likewise.
        (class dump_location_t): Likewise.
        (dump_enabled_p): Likewise.
        (enable_rtl_dump_file): Likewise.
        (dump_combine_total_stats): Likewise.
        * dwarf2asm.cc (dw2_asm_output_delta_uleb128): Likewise.
        * dwarf2ctf.h (ctf_debug_finish): Likewise.
        * dwarf2out.cc (dwarf2out_begin_prologue): Likewise.
        (struct loc_descr_context): Likewise.
        (rtl_for_decl_location): Likewise.
        (gen_subprogram_die): Likewise.
        (gen_label_die): Likewise.
        (is_trivial_indirect_ref): Likewise.
        (dwarf2out_late_global_decl): Likewise.
        (dwarf_file_hasher::hash): Likewise.
        (dwarf2out_end_source_file): Likewise.
        (dwarf2out_define): Likewise.
        (dwarf2out_early_finish): Likewise.
        * dwarf2out.h (struct dw_fde_node): Likewise.
        (struct dw_discr_list_node): Likewise.
        (output_loc_sequence_raw): Likewise.
        * emit-rtl.cc (gen_raw_REG): Likewise.
        (maybe_set_max_label_num): Likewise.
        * emit-rtl.h (struct rtl_data): Likewise.
        * errors.cc (internal_error): Likewise.
        (trim_filename): Likewise.
        * et-forest.cc: Likewise.
        * except.cc (init_eh_for_function): Likewise.
        * explow.cc (promote_ssa_mode): Likewise.
        (get_dynamic_stack_size): Likewise.
        * explow.h: Likewise.
        * expmed.h: Likewise.
        * expr.cc (safe_from_p): Likewise.
        (expand_expr_real_2): Likewise.
        (expand_expr_real_1): Likewise.
        * file-prefix-map.cc (remap_filename): Likewise.
        * final.cc (app_enable): Likewise.
        (make_pass_compute_alignments): Likewise.
        (final_scan_insn_1): Likewise.
        (final_scan_insn): Likewise.
        * fixed-value.h (fixed_from_string): Likewise.
        * flag-types.h (NO_DEBUG): Likewise.
        (DWARF2_DEBUG): Likewise.
        (VMS_DEBUG): Likewise.
        (BTF_DEBUG): Likewise.
        (enum ctf_debug_info_levels): Likewise.
        * fold-const.cc (const_binop): Likewise.
        (fold_binary_loc): Likewise.
        (fold_checksum_tree): Likewise.
        * fp-test.cc: Likewise.
        * function.cc (expand_function_end): Likewise.
        * function.h (struct function): Likewise.
        * fwprop.cc (should_replace_address): Likewise.
        * gcc-main.cc: Likewise.
        * gcc-rich-location.h (class gcc_rich_location): Likewise.
        * gcc-symtab.h: Likewise.
        * gcc.cc (MIN_FATAL_STATUS): Likewise.
        (driver_handle_option): Likewise.
        (quote_spec_arg): Likewise.
        (driver::finalize): Likewise.
        * gcc.h (set_input): Likewise.
        * gcov-dump.cc: Likewise.
        * gcov.cc (solve_flow_graph): Likewise.
        * gcse-common.cc: Likewise.
        * gcse.cc (make_pass_rtl_hoist): Likewise.
        * genattr-common.cc: Likewise.
        * genattrtab.cc (min_fn): Likewise.
        (write_const_num_delay_slots): Likewise.
        * genautomata.cc: Likewise.
        * genconditions.cc (write_one_condition): Likewise.
        * genconstants.cc: Likewise.
        * genemit.cc (gen_exp): Likewise.
        * generic-match-head.cc: Likewise.
        * genextract.cc: Likewise.
        * gengenrtl.cc (always_void_p): Likewise.
        * gengtype-parse.cc (gtymarker_opt): Likewise.
        * gengtype-state.cc (state_writer::state_writer): Likewise.
        (write_state_trailer): Likewise.
        (equals_type_number): Likewise.
        (read_state): Likewise.
        * gengtype.cc (open_base_files): Likewise.
        (struct file_rule_st): Likewise.
        (header_dot_h_frul): Likewise.
        * gengtype.h: Likewise.
        * genmatch.cc (main): Likewise.
        * genmddeps.cc: Likewise.
        * genmodes.cc (emit_mode_inner): Likewise.
        (emit_mode_unit_size): Likewise.
        * genpeep.cc (gen_peephole): Likewise.
        * genpreds.cc (write_tm_preds_h): Likewise.
        * genrecog.cc (validate_pattern): Likewise.
        (write_header): Likewise.
        (main): Likewise.
        * gensupport.cc (change_subst_attribute): Likewise.
        (traverse_c_tests): Likewise.
        (add_predicate): Likewise.
        (init_predicate_table): Likewise.
        * gensupport.h (struct optab_pattern): Likewise.
        (get_num_insn_codes): Likewise.
        (maybe_eval_c_test): Likewise.
        (struct pred_data): Likewise.
        * ggc-internal.h: Likewise.
        * gimple-fold.cc (maybe_fold_reference): Likewise.
        (get_range_strlen_tree): Likewise.
        * gimple-fold.h (gimple_stmt_integer_valued_real_p): Likewise.
        * gimple-low.cc: Likewise.
        * gimple-match-head.cc (directly_supported_p): Likewise.
        * gimple-pretty-print.h: Likewise.
        * gimple-ssa-sprintf.cc (format_percent): Likewise.
        (adjust_range_for_overflow): Likewise.
        * gimple-streamer.h: Likewise.
        * gimple.h (struct GTY): Likewise.
        (is_gimple_resx): Likewise.
        * gimplify.cc (gimplify_expr): Likewise.
        (gimplify_init_constructor): Likewise.
        (omp_construct_selector_matches): Likewise.
        (gimplify_omp_target_update): Likewise.
        (gimplify_omp_ordered): Likewise.
        (gimplify_va_arg_expr): Likewise.
        * graphite-isl-ast-to-gimple.cc (should_copy_to_new_region): Likewise.
        * haifa-sched.cc (increase_insn_priority): Likewise.
        (try_ready): Likewise.
        (sched_create_recovery_edges): Likewise.
        * ifcvt.cc (find_if_case_1): Likewise.
        (find_if_case_2): Likewise.
        * inchash.h: Likewise.
        * incpath.cc (add_env_var_paths): Likewise.
        * input.cc (dump_location_info): Likewise.
        (assert_loceq): Likewise.
        (test_lexer_string_locations_concatenation_1): Likewise.
        (test_lexer_string_locations_concatenation_2): Likewise.
        (test_lexer_string_locations_concatenation_3): Likewise.
        * input.h (BUILTINS_LOCATION): Likewise.
        (class string_concat_db): Likewise.
        * internal-fn.cc (expand_MUL_OVERFLOW): Likewise.
        (expand_LOOP_VECTORIZED): Likewise.
        * ipa-cp.cc (make_pass_ipa_cp): Likewise.
        * ipa-fnsummary.cc (remap_freqcounting_preds_after_dup): Likewise.
        (ipa_fn_summary_t::duplicate): Likewise.
        (make_pass_ipa_fn_summary): Likewise.
        * ipa-fnsummary.h (enum ipa_hints_vals): Likewise.
        * ipa-free-lang-data.cc (fld_simplified_type): Likewise.
        (free_lang_data_in_decl): Likewise.
        * ipa-inline.cc (compute_inlined_call_time): Likewise.
        (inline_always_inline_functions): Likewise.
        * ipa-inline.h (free_growth_caches): Likewise.
        (inline_account_function_p): Likewise.
        * ipa-modref.cc (modref_access_analysis::analyze_stmt): Likewise.
        (modref_eaf_analysis::analyze_ssa_name): Likewise.
        * ipa-param-manipulation.cc (ipa_param_body_adjustments::mark_dead_statements): Likewise.
        (ipa_param_body_adjustments::remap_with_debug_expressions): Likewise.
        * ipa-prop.cc (ipa_set_node_agg_value_chain): Likewise.
        * ipa-prop.h (IPA_UNDESCRIBED_USE): Likewise.
        (unadjusted_ptr_and_unit_offset): Likewise.
        * ipa-reference.cc (make_pass_ipa_reference): Likewise.
        * ipa-reference.h (GCC_IPA_REFERENCE_H): Likewise.
        * ipa-split.cc (consider_split): Likewise.
        * ipa-sra.cc (isra_read_node_info): Likewise.
        * ipa-utils.h (struct ipa_dfs_info): Likewise.
        (recursive_call_p): Likewise.
        (ipa_make_function_pure): Likewise.
        * ira-build.cc (ira_create_allocno): Likewise.
        (ira_flattening): Likewise.
        * ira-color.cc (do_coloring): Likewise.
        (update_curr_costs): Likewise.
        * ira-conflicts.cc (process_regs_for_copy): Likewise.
        * ira-int.h (struct ira_emit_data): Likewise.
        (ira_prohibited_mode_move_regs): Likewise.
        (ira_get_dup_out_num): Likewise.
        (ira_destroy): Likewise.
        (ira_tune_allocno_costs): Likewise.
        (ira_implicitly_set_insn_hard_regs): Likewise.
        (ira_build_conflicts): Likewise.
        (ira_color): Likewise.
        * ira-lives.cc (process_bb_node_lives): Likewise.
        * ira.cc (class ira_spilled_reg_stack_slot): Likewise.
        (setup_uniform_class_p): Likewise.
        (def_dominates_uses): Likewise.
        * ira.h (ira_nullify_asm_goto): Likewise.
        * langhooks.cc (lhd_post_options): Likewise.
        * langhooks.h (class substring_loc): Likewise.
        (struct lang_hooks_for_tree_inlining): Likewise.
        (struct lang_hooks_for_types): Likewise.
        (struct lang_hooks): Likewise.
        * libfuncs.h (synchronize_libfunc): Likewise.
        * loop-doloop.cc (doloop_condition_get): Likewise.
        * loop-init.cc (fix_loop_structure): Likewise.
        * loop-invariant.cc: Likewise.
        * lower-subreg.h: Likewise.
        * lra-constraints.cc (curr_insn_transform): Likewise.
        * lra-int.h (struct lra_insn_reg): Likewise.
        (lra_undo_inheritance): Likewise.
        (lra_setup_reload_pseudo_preferenced_hard_reg): Likewise.
        (lra_split_hard_reg_for): Likewise.
        (lra_coalesce): Likewise.
        (lra_final_code_change): Likewise.
        * lra-spills.cc (lra_final_code_change): Likewise.
        * lra.cc (lra_process_new_insns): Likewise.
        * lto-compress.h (struct lto_compression_stream): Likewise.
        * lto-streamer-out.cc (DFS::DFS_write_tree_body): Likewise.
        (write_symbol): Likewise.
        * lto-streamer.h (enum LTO_tags): Likewise.
        (lto_value_range_error): Likewise.
        (lto_append_block): Likewise.
        (lto_streamer_hooks_init): Likewise.
        (stream_read_tree_ref): Likewise.
        (lto_prepare_function_for_streaming): Likewise.
        (select_what_to_stream): Likewise.
        (omp_lto_input_declare_variant_alt): Likewise.
        (cl_optimization_stream_in): Likewise.
        * lto-wrapper.cc (append_compiler_options): Likewise.
        * machmode.def: Likewise.
        * machmode.h (struct int_n_data_t): Likewise.
        * main.cc (main): Likewise.
        * match.pd: Likewise.
        * omp-builtins.def (BUILT_IN_GOMP_CRITICAL_NAME_END): Likewise.
        (BUILT_IN_GOMP_LOOP_ULL_ORDERED_RUNTIME_NEXT): Likewise.
        * omp-expand.cc (expand_omp_atomic_fetch_op): Likewise.
        (make_pass_expand_omp_ssa): Likewise.
        * omp-low.cc (struct omp_context): Likewise.
        (struct omp_taskcopy_context): Likewise.
        (lower_omp): Likewise.
        * omp-oacc-neuter-broadcast.cc (omp_sese_active_worker_call): Likewise.
        (mask_name): Likewise.
        (omp_sese_dump_pars): Likewise.
        (worker_single_simple): Likewise.
        * omp-offload.cc (omp_finish_file): Likewise.
        (execute_oacc_loop_designation): Likewise.
        * optabs-query.cc (lshift_cheap_p): Likewise.
        * optc-gen.awk: Likewise.
        * optc-save-gen.awk: Likewise.
        * optinfo-emit-json.cc (optrecord_json_writer::optrecord_json_writer): Likewise.
        * opts-common.cc: Likewise.
        * output.h (app_enable): Likewise.
        (output_operand_lossage): Likewise.
        (insn_current_reference_address): Likewise.
        (get_insn_template): Likewise.
        (output_quoted_string): Likewise.
        * pass_manager.h (struct register_pass_info): Likewise.
        * plugin.cc: Likewise.
        * plugin.def (PLUGIN_ANALYZER_INIT): Likewise.
        * plugin.h (invoke_plugin_callbacks): Likewise.
        * pointer-query.cc (handle_mem_ref): Likewise.
        * postreload-gcse.cc (alloc_mem): Likewise.
        * predict.h (enum prediction): Likewise.
        (add_reg_br_prob_note): Likewise.
        * prefix.h: Likewise.
        * profile.h (get_working_sets): Likewise.
        * read-md.cc: Likewise.
        * read-md.h (struct mapping): Likewise.
        (class md_reader): Likewise.
        (class noop_reader): Likewise.
        * read-rtl-function.cc (function_reader::create_function): Likewise.
        (function_reader::extra_parsing_for_operand_code_0): Likewise.
        * read-rtl.cc (initialize_iterators): Likewise.
        * real.cc: Likewise.
        * real.h (struct real_value): Likewise.
        (format_helper::format_helper): Likewise.
        (real_hash): Likewise.
        (real_can_shorten_arithmetic): Likewise.
        * recog.cc (struct target_recog): Likewise.
        (offsettable_nonstrict_memref_p): Likewise.
        (constrain_operands): Likewise.
        * recog.h (MAX_RECOG_ALTERNATIVES): Likewise.
        (which_op_alt): Likewise.
        (struct insn_gen_fn): Likewise.
        * reg-notes.def (REG_NOTE): Likewise.
        * reg-stack.cc: Likewise.
        * regs.h (reg_is_parm_p): Likewise.
        * regset.h: Likewise.
        * reload.cc (push_reload): Likewise.
        (find_reloads): Likewise.
        (find_reloads_address_1): Likewise.
        (find_replacement): Likewise.
        (refers_to_regno_for_reload_p): Likewise.
        (refers_to_mem_for_reload_p): Likewise.
        * reload.h (push_reload): Likewise.
        (deallocate_reload_reg): Likewise.
        * reload1.cc (emit_input_reload_insns): Likewise.
        * reorg.cc (relax_delay_slots): Likewise.
        * rtl.def (UNKNOWN): Likewise.
        (SEQUENCE): Likewise.
        (BARRIER): Likewise.
        (ASM_OPERANDS): Likewise.
        (EQ_ATTR_ALT): Likewise.
        * rtl.h (struct GTY): Likewise.
        (LABEL_NAME): Likewise.
        (LABEL_ALT_ENTRY_P): Likewise.
        (SUBREG_BYTE): Likewise.
        (get_stack_check_protect): Likewise.
        (dump_rtx_statistics): Likewise.
        (unwrap_const_vec_duplicate): Likewise.
        (subreg_promoted_mode): Likewise.
        (gen_lowpart_common): Likewise.
        (operand_subword): Likewise.
        (immed_wide_int_const): Likewise.
        (decide_function_section): Likewise.
        (active_insn_p): Likewise.
        (delete_related_insns): Likewise.
        (try_split): Likewise.
        (val_signbit_known_clear_p): Likewise.
        (simplifiable_subregs): Likewise.
        (set_insn_deleted): Likewise.
        (subreg_get_info): Likewise.
        (remove_free_EXPR_LIST_node): Likewise.
        (finish_subregs_of_mode): Likewise.
        (get_mem_attrs): Likewise.
        (lookup_constant_def): Likewise.
        (rtx_to_tree_code): Likewise.
        (hash_rtx): Likewise.
        (condjump_in_parallel_p): Likewise.
        (validate_subreg): Likewise.
        (make_compound_operation): Likewise.
        (schedule_ebbs): Likewise.
        (print_inline_rtx): Likewise.
        (fixup_args_size_notes): Likewise.
        (expand_dec): Likewise.
        (prepare_copy_insn): Likewise.
        (mark_elimination): Likewise.
        (valid_mode_changes_for_regno): Likewise.
        (make_debug_expr_from_rtl): Likewise.
        (delete_vta_debug_insns): Likewise.
        (simplify_using_condition): Likewise.
        (set_insn_locations): Likewise.
        (fatal_insn_not_found): Likewise.
        (word_register_operation_p): Likewise.
        * rtlanal.cc (get_call_fndecl): Likewise.
        (side_effects_p): Likewise.
        (subreg_nregs): Likewise.
        (rtx_cost): Likewise.
        (canonicalize_condition): Likewise.
        * rtlanal.h (rtx_properties::try_to_add_note): Likewise.
        * run-rtl-passes.cc (run_rtl_passes): Likewise.
        * sanitizer.def (BUILT_IN_ASAN_VERSION_MISMATCH_CHECK): Likewise.
        * sched-deps.cc (add_dependence_1): Likewise.
        * sched-ebb.cc (begin_move_insn): Likewise.
        (add_deps_for_risky_insns): Likewise.
        (advance_target_bb): Likewise.
        * sched-int.h (reemit_notes): Likewise.
        (struct _haifa_insn_data): Likewise.
        (HID): Likewise.
        (DEP_CANCELLED): Likewise.
        (debug_ds): Likewise.
        (number_in_ready): Likewise.
        (schedule_ebbs_finish): Likewise.
        (find_modifiable_mems): Likewise.
        * sched-rgn.cc (debug_rgn_dependencies): Likewise.
        * sel-sched-dump.cc (dump_lv_set): Likewise.
        * sel-sched-dump.h: Likewise.
        * sel-sched-ir.cc (sel_insn_rtx_cost): Likewise.
        (setup_id_reg_sets): Likewise.
        (has_dependence_p): Likewise.
        (sel_num_cfg_preds_gt_1): Likewise.
        (bb_ends_ebb_p): Likewise.
        * sel-sched-ir.h (struct _list_node): Likewise.
        (struct idata_def): Likewise.
        (bb_next_bb): Likewise.
        * sel-sched.cc (vinsn_writes_one_of_regs_p): Likewise.
        (choose_best_pseudo_reg): Likewise.
        (verify_target_availability): Likewise.
        (can_speculate_dep_p): Likewise.
        (sel_rank_for_schedule): Likewise.
        * selftest-run-tests.cc (selftest::run_tests): Likewise.
        * selftest.h (class auto_fix_quotes): Likewise.
        * shrink-wrap.cc (handle_simple_exit): Likewise.
        * shrink-wrap.h: Likewise.
        * simplify-rtx.cc (simplify_context::simplify_associative_operation): Likewise.
        (simplify_context::simplify_gen_vec_select): Likewise.
        * spellcheck-tree.h: Likewise.
        * spellcheck.h: Likewise.
        * statistics.h (struct function): Likewise.
        * stmt.cc (conditional_probability): Likewise.
        * stmt.h: Likewise.
        * stor-layout.h: Likewise.
        * streamer-hooks.h: Likewise.
        * stringpool.h: Likewise.
        * symtab.cc (symbol_table::change_decl_assembler_name): Likewise.
        * target.def (HOOK_VECTOR_END): Likewise.
        (type.): Likewise.
        * target.h (union cumulative_args_t): Likewise.
        (by_pieces_ninsns): Likewise.
        (class predefined_function_abi): Likewise.
        * targhooks.cc (default_translate_mode_attribute): Likewise.
        * timevar.def: Likewise.
        * timevar.h (class timer): Likewise.
        * toplev.h (enable_rtl_dump_file): Likewise.
        * trans-mem.cc (collect_bb2reg): Likewise.
        * tree-call-cdce.cc (gen_conditions_for_pow): Likewise.
        * tree-cfg.cc (remove_bb): Likewise.
        (verify_gimple_debug): Likewise.
        (remove_edge_and_dominated_blocks): Likewise.
        (push_fndecl): Likewise.
        * tree-cfgcleanup.h (GCC_TREE_CFGCLEANUP_H): Likewise.
        * tree-complex.cc (expand_complex_multiplication): Likewise.
        (expand_complex_div_straight): Likewise.
        * tree-core.h (enum tree_index): Likewise.
        (enum operand_equal_flag): Likewise.
        * tree-eh.cc (honor_protect_cleanup_actions): Likewise.
        * tree-if-conv.cc (if_convertible_gimple_assign_stmt_p): Likewise.
        * tree-inline.cc (initialize_inlined_parameters): Likewise.
        * tree-inline.h (force_value_to_type): Likewise.
        * tree-nested.cc (get_chain_decl): Likewise.
        (walk_all_functions): Likewise.
        * tree-object-size.h: Likewise.
        * tree-outof-ssa.cc: Likewise.
        * tree-parloops.cc (create_parallel_loop): Likewise.
        * tree-pretty-print.cc (print_generic_expr_to_str): Likewise.
        (dump_generic_node): Likewise.
        * tree-profile.cc (tree_profiling): Likewise.
        * tree-sra.cc (maybe_add_sra_candidate): Likewise.
        * tree-ssa-address.cc: Likewise.
        * tree-ssa-alias.cc: Likewise.
        * tree-ssa-alias.h (ao_ref::max_size_known_p): Likewise.
        (dump_alias_stats): Likewise.
        * tree-ssa-ccp.cc: Likewise.
        * tree-ssa-coalesce.h: Likewise.
        * tree-ssa-live.cc (remove_unused_scope_block_p): Likewise.
        * tree-ssa-loop-manip.cc (copy_phi_node_args): Likewise.
        * tree-ssa-loop-unswitch.cc: Likewise.
        * tree-ssa-math-opts.cc: Likewise.
        * tree-ssa-operands.cc (class operands_scanner): Likewise.
        * tree-ssa-pre.cc: Likewise.
        * tree-ssa-reassoc.cc (optimize_ops_list): Likewise.
        (debug_range_entry): Likewise.
        * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Likewise.
        * tree-ssa-sccvn.h (TREE_SSA_SCCVN_H): Likewise.
        * tree-ssa-scopedtables.cc (add_expr_commutative): Likewise.
        (equal_mem_array_ref_p): Likewise.
        * tree-ssa-strlen.cc (is_strlen_related_p): Likewise.
        * tree-ssa-strlen.h (get_range_strlen_dynamic): Likewise.
        * tree-ssa-tail-merge.cc (stmt_local_def): Likewise.
        * tree-ssa-ter.h: Likewise.
        * tree-ssa-threadupdate.h (enum bb_dom_status): Likewise.
        * tree-streamer-in.cc (lto_input_ts_block_tree_pointers): Likewise.
        * tree-streamer-out.cc (pack_ts_block_value_fields): Likewise.
        (write_ts_block_tree_pointers): Likewise.
        * tree-streamer.h (struct streamer_tree_cache_d): Likewise.
        (streamer_read_tree_bitfields): Likewise.
        (streamer_write_integer_cst): Likewise.
        * tree-vect-patterns.cc (apply_binop_and_append_stmt): Likewise.
        (vect_synth_mult_by_constant): Likewise.
        * tree-vect-stmts.cc (vectorizable_operation): Likewise.
        * tree-vectorizer.cc: Likewise.
        * tree-vectorizer.h (class auto_purge_vect_location): Likewise.
        (vect_update_inits_of_drs): Likewise.
        (vect_get_mask_type_for_stmt): Likewise.
        (vect_rgroup_iv_might_wrap_p): Likewise.
        (cse_and_gimplify_to_preheader): Likewise.
        (vect_free_slp_tree): Likewise.
        (vect_pattern_recog): Likewise.
        (vect_stmt_dominates_stmt_p): Likewise.
        * tree.cc (initialize_tree_contains_struct): Likewise.
        (need_assembler_name_p): Likewise.
        (type_with_interoperable_signedness): Likewise.
        * tree.def (SWITCH_EXPR): Likewise.
        * tree.h (TYPE_SYMTAB_ADDRESS): Likewise.
        (poly_int_tree_p): Likewise.
        (inlined_function_outer_scope_p): Likewise.
        (tree_code_for_canonical_type_merging): Likewise.
        * value-prof.cc: Likewise.
        * value-prof.h (get_nth_most_common_value): Likewise.
        (find_func_by_profile_id): Likewise.
        * value-range.cc (vrp_operand_equal_p): Likewise.
        * value-range.h: Likewise.
        * var-tracking.cc: Likewise.
        * varasm.cc (default_function_section): Likewise.
        (function_section_1): Likewise.
        (assemble_variable): Likewise.
        (handle_vtv_comdat_section): Likewise.
        * vec.h (struct vec_prefix): Likewise.
        * vmsdbgout.cc (full_name): Likewise.
        * vtable-verify.cc: Likewise.
        * vtable-verify.h (struct vtv_graph_node): Likewise.
        * xcoffout.cc: Likewise.
        * xcoffout.h (DEBUG_SYMS_TEXT): Likewise.

2022-01-17  Martin Liska  <mliska@suse.cz>

        * adjust-alignment.c: Moved to...
        * adjust-alignment.cc: ...here.
        * alias.c: Moved to...
        * alias.cc: ...here.
        * alloc-pool.c: Moved to...
        * alloc-pool.cc: ...here.
        * asan.c: Moved to...
        * asan.cc: ...here.
        * attribs.c: Moved to...
        * attribs.cc: ...here.
        * auto-inc-dec.c: Moved to...
        * auto-inc-dec.cc: ...here.
        * auto-profile.c: Moved to...
        * auto-profile.cc: ...here.
        * bb-reorder.c: Moved to...
        * bb-reorder.cc: ...here.
        * bitmap.c: Moved to...
        * bitmap.cc: ...here.
        * btfout.c: Moved to...
        * btfout.cc: ...here.
        * builtins.c: Moved to...
        * builtins.cc: ...here.
        * caller-save.c: Moved to...
        * caller-save.cc: ...here.
        * calls.c: Moved to...
        * calls.cc: ...here.
        * ccmp.c: Moved to...
        * ccmp.cc: ...here.
        * cfg.c: Moved to...
        * cfg.cc: ...here.
        * cfganal.c: Moved to...
        * cfganal.cc: ...here.
        * cfgbuild.c: Moved to...
        * cfgbuild.cc: ...here.
        * cfgcleanup.c: Moved to...
        * cfgcleanup.cc: ...here.
        * cfgexpand.c: Moved to...
        * cfgexpand.cc: ...here.
        * cfghooks.c: Moved to...
        * cfghooks.cc: ...here.
        * cfgloop.c: Moved to...
        * cfgloop.cc: ...here.
        * cfgloopanal.c: Moved to...
        * cfgloopanal.cc: ...here.
        * cfgloopmanip.c: Moved to...
        * cfgloopmanip.cc: ...here.
        * cfgrtl.c: Moved to...
        * cfgrtl.cc: ...here.
        * cgraph.c: Moved to...
        * cgraph.cc: ...here.
        * cgraphbuild.c: Moved to...
        * cgraphbuild.cc: ...here.
        * cgraphclones.c: Moved to...
        * cgraphclones.cc: ...here.
        * cgraphunit.c: Moved to...
        * cgraphunit.cc: ...here.
        * collect-utils.c: Moved to...
        * collect-utils.cc: ...here.
        * collect2-aix.c: Moved to...
        * collect2-aix.cc: ...here.
        * collect2.c: Moved to...
        * collect2.cc: ...here.
        * combine-stack-adj.c: Moved to...
        * combine-stack-adj.cc: ...here.
        * combine.c: Moved to...
        * combine.cc: ...here.
        * common/common-targhooks.c: Moved to...
        * common/common-targhooks.cc: ...here.
        * common/config/aarch64/aarch64-common.c: Moved to...
        * common/config/aarch64/aarch64-common.cc: ...here.
        * common/config/alpha/alpha-common.c: Moved to...
        * common/config/alpha/alpha-common.cc: ...here.
        * common/config/arc/arc-common.c: Moved to...
        * common/config/arc/arc-common.cc: ...here.
        * common/config/arm/arm-common.c: Moved to...
        * common/config/arm/arm-common.cc: ...here.
        * common/config/avr/avr-common.c: Moved to...
        * common/config/avr/avr-common.cc: ...here.
        * common/config/bfin/bfin-common.c: Moved to...
        * common/config/bfin/bfin-common.cc: ...here.
        * common/config/bpf/bpf-common.c: Moved to...
        * common/config/bpf/bpf-common.cc: ...here.
        * common/config/c6x/c6x-common.c: Moved to...
        * common/config/c6x/c6x-common.cc: ...here.
        * common/config/cr16/cr16-common.c: Moved to...
        * common/config/cr16/cr16-common.cc: ...here.
        * common/config/cris/cris-common.c: Moved to...
        * common/config/cris/cris-common.cc: ...here.
        * common/config/csky/csky-common.c: Moved to...
        * common/config/csky/csky-common.cc: ...here.
        * common/config/default-common.c: Moved to...
        * common/config/default-common.cc: ...here.
        * common/config/epiphany/epiphany-common.c: Moved to...
        * common/config/epiphany/epiphany-common.cc: ...here.
        * common/config/fr30/fr30-common.c: Moved to...
        * common/config/fr30/fr30-common.cc: ...here.
        * common/config/frv/frv-common.c: Moved to...
        * common/config/frv/frv-common.cc: ...here.
        * common/config/gcn/gcn-common.c: Moved to...
        * common/config/gcn/gcn-common.cc: ...here.
        * common/config/h8300/h8300-common.c: Moved to...
        * common/config/h8300/h8300-common.cc: ...here.
        * common/config/i386/i386-common.c: Moved to...
        * common/config/i386/i386-common.cc: ...here.
        * common/config/ia64/ia64-common.c: Moved to...
        * common/config/ia64/ia64-common.cc: ...here.
        * common/config/iq2000/iq2000-common.c: Moved to...
        * common/config/iq2000/iq2000-common.cc: ...here.
        * common/config/lm32/lm32-common.c: Moved to...
        * common/config/lm32/lm32-common.cc: ...here.
        * common/config/m32r/m32r-common.c: Moved to...
        * common/config/m32r/m32r-common.cc: ...here.
        * common/config/m68k/m68k-common.c: Moved to...
        * common/config/m68k/m68k-common.cc: ...here.
        * common/config/mcore/mcore-common.c: Moved to...
        * common/config/mcore/mcore-common.cc: ...here.
        * common/config/microblaze/microblaze-common.c: Moved to...
        * common/config/microblaze/microblaze-common.cc: ...here.
        * common/config/mips/mips-common.c: Moved to...
        * common/config/mips/mips-common.cc: ...here.
        * common/config/mmix/mmix-common.c: Moved to...
        * common/config/mmix/mmix-common.cc: ...here.
        * common/config/mn10300/mn10300-common.c: Moved to...
        * common/config/mn10300/mn10300-common.cc: ...here.
        * common/config/msp430/msp430-common.c: Moved to...
        * common/config/msp430/msp430-common.cc: ...here.
        * common/config/nds32/nds32-common.c: Moved to...
        * common/config/nds32/nds32-common.cc: ...here.
        * common/config/nios2/nios2-common.c: Moved to...
        * common/config/nios2/nios2-common.cc: ...here.
        * common/config/nvptx/nvptx-common.c: Moved to...
        * common/config/nvptx/nvptx-common.cc: ...here.
        * common/config/or1k/or1k-common.c: Moved to...
        * common/config/or1k/or1k-common.cc: ...here.
        * common/config/pa/pa-common.c: Moved to...
        * common/config/pa/pa-common.cc: ...here.
        * common/config/pdp11/pdp11-common.c: Moved to...
        * common/config/pdp11/pdp11-common.cc: ...here.
        * common/config/pru/pru-common.c: Moved to...
        * common/config/pru/pru-common.cc: ...here.
        * common/config/riscv/riscv-common.c: Moved to...
        * common/config/riscv/riscv-common.cc: ...here.
        * common/config/rs6000/rs6000-common.c: Moved to...
        * common/config/rs6000/rs6000-common.cc: ...here.
        * common/config/rx/rx-common.c: Moved to...
        * common/config/rx/rx-common.cc: ...here.
        * common/config/s390/s390-common.c: Moved to...
        * common/config/s390/s390-common.cc: ...here.
        * common/config/sh/sh-common.c: Moved to...
        * common/config/sh/sh-common.cc: ...here.
        * common/config/sparc/sparc-common.c: Moved to...
        * common/config/sparc/sparc-common.cc: ...here.
        * common/config/tilegx/tilegx-common.c: Moved to...
        * common/config/tilegx/tilegx-common.cc: ...here.
        * common/config/tilepro/tilepro-common.c: Moved to...
        * common/config/tilepro/tilepro-common.cc: ...here.
        * common/config/v850/v850-common.c: Moved to...
        * common/config/v850/v850-common.cc: ...here.
        * common/config/vax/vax-common.c: Moved to...
        * common/config/vax/vax-common.cc: ...here.
        * common/config/visium/visium-common.c: Moved to...
        * common/config/visium/visium-common.cc: ...here.
        * common/config/xstormy16/xstormy16-common.c: Moved to...
        * common/config/xstormy16/xstormy16-common.cc: ...here.
        * common/config/xtensa/xtensa-common.c: Moved to...
        * common/config/xtensa/xtensa-common.cc: ...here.
        * compare-elim.c: Moved to...
        * compare-elim.cc: ...here.
        * config/aarch64/aarch64-bti-insert.c: Moved to...
        * config/aarch64/aarch64-bti-insert.cc: ...here.
        * config/aarch64/aarch64-builtins.c: Moved to...
        * config/aarch64/aarch64-builtins.cc: ...here.
        * config/aarch64/aarch64-c.c: Moved to...
        * config/aarch64/aarch64-c.cc: ...here.
        * config/aarch64/aarch64-d.c: Moved to...
        * config/aarch64/aarch64-d.cc: ...here.
        * config/aarch64/aarch64.c: Moved to...
        * config/aarch64/aarch64.cc: ...here.
        * config/aarch64/cortex-a57-fma-steering.c: Moved to...
        * config/aarch64/cortex-a57-fma-steering.cc: ...here.
        * config/aarch64/driver-aarch64.c: Moved to...
        * config/aarch64/driver-aarch64.cc: ...here.
        * config/aarch64/falkor-tag-collision-avoidance.c: Moved to...
        * config/aarch64/falkor-tag-collision-avoidance.cc: ...here.
        * config/aarch64/host-aarch64-darwin.c: Moved to...
        * config/aarch64/host-aarch64-darwin.cc: ...here.
        * config/alpha/alpha.c: Moved to...
        * config/alpha/alpha.cc: ...here.
        * config/alpha/driver-alpha.c: Moved to...
        * config/alpha/driver-alpha.cc: ...here.
        * config/arc/arc-c.c: Moved to...
        * config/arc/arc-c.cc: ...here.
        * config/arc/arc.c: Moved to...
        * config/arc/arc.cc: ...here.
        * config/arc/driver-arc.c: Moved to...
        * config/arc/driver-arc.cc: ...here.
        * config/arm/aarch-common.c: Moved to...
        * config/arm/aarch-common.cc: ...here.
        * config/arm/arm-builtins.c: Moved to...
        * config/arm/arm-builtins.cc: ...here.
        * config/arm/arm-c.c: Moved to...
        * config/arm/arm-c.cc: ...here.
        * config/arm/arm-d.c: Moved to...
        * config/arm/arm-d.cc: ...here.
        * config/arm/arm.c: Moved to...
        * config/arm/arm.cc: ...here.
        * config/arm/driver-arm.c: Moved to...
        * config/arm/driver-arm.cc: ...here.
        * config/avr/avr-c.c: Moved to...
        * config/avr/avr-c.cc: ...here.
        * config/avr/avr-devices.c: Moved to...
        * config/avr/avr-devices.cc: ...here.
        * config/avr/avr-log.c: Moved to...
        * config/avr/avr-log.cc: ...here.
        * config/avr/avr.c: Moved to...
        * config/avr/avr.cc: ...here.
        * config/avr/driver-avr.c: Moved to...
        * config/avr/driver-avr.cc: ...here.
        * config/avr/gen-avr-mmcu-specs.c: Moved to...
        * config/avr/gen-avr-mmcu-specs.cc: ...here.
        * config/avr/gen-avr-mmcu-texi.c: Moved to...
        * config/avr/gen-avr-mmcu-texi.cc: ...here.
        * config/bfin/bfin.c: Moved to...
        * config/bfin/bfin.cc: ...here.
        * config/bpf/bpf.c: Moved to...
        * config/bpf/bpf.cc: ...here.
        * config/bpf/coreout.c: Moved to...
        * config/bpf/coreout.cc: ...here.
        * config/c6x/c6x.c: Moved to...
        * config/c6x/c6x.cc: ...here.
        * config/cr16/cr16.c: Moved to...
        * config/cr16/cr16.cc: ...here.
        * config/cris/cris.c: Moved to...
        * config/cris/cris.cc: ...here.
        * config/csky/csky.c: Moved to...
        * config/csky/csky.cc: ...here.
        * config/darwin-c.c: Moved to...
        * config/darwin-c.cc: ...here.
        * config/darwin-d.c: Moved to...
        * config/darwin-d.cc: ...here.
        * config/darwin-driver.c: Moved to...
        * config/darwin-driver.cc: ...here.
        * config/darwin-f.c: Moved to...
        * config/darwin-f.cc: ...here.
        * config/darwin.c: Moved to...
        * config/darwin.cc: ...here.
        * config/default-c.c: Moved to...
        * config/default-c.cc: ...here.
        * config/default-d.c: Moved to...
        * config/default-d.cc: ...here.
        * config/dragonfly-d.c: Moved to...
        * config/dragonfly-d.cc: ...here.
        * config/epiphany/epiphany.c: Moved to...
        * config/epiphany/epiphany.cc: ...here.
        * config/epiphany/mode-switch-use.c: Moved to...
        * config/epiphany/mode-switch-use.cc: ...here.
        * config/epiphany/resolve-sw-modes.c: Moved to...
        * config/epiphany/resolve-sw-modes.cc: ...here.
        * config/fr30/fr30.c: Moved to...
        * config/fr30/fr30.cc: ...here.
        * config/freebsd-d.c: Moved to...
        * config/freebsd-d.cc: ...here.
        * config/frv/frv.c: Moved to...
        * config/frv/frv.cc: ...here.
        * config/ft32/ft32.c: Moved to...
        * config/ft32/ft32.cc: ...here.
        * config/gcn/driver-gcn.c: Moved to...
        * config/gcn/driver-gcn.cc: ...here.
        * config/gcn/gcn-run.c: Moved to...
        * config/gcn/gcn-run.cc: ...here.
        * config/gcn/gcn-tree.c: Moved to...
        * config/gcn/gcn-tree.cc: ...here.
        * config/gcn/gcn.c: Moved to...
        * config/gcn/gcn.cc: ...here.
        * config/gcn/mkoffload.c: Moved to...
        * config/gcn/mkoffload.cc: ...here.
        * config/glibc-c.c: Moved to...
        * config/glibc-c.cc: ...here.
        * config/glibc-d.c: Moved to...
        * config/glibc-d.cc: ...here.
        * config/h8300/h8300.c: Moved to...
        * config/h8300/h8300.cc: ...here.
        * config/host-darwin.c: Moved to...
        * config/host-darwin.cc: ...here.
        * config/host-hpux.c: Moved to...
        * config/host-hpux.cc: ...here.
        * config/host-linux.c: Moved to...
        * config/host-linux.cc: ...here.
        * config/host-netbsd.c: Moved to...
        * config/host-netbsd.cc: ...here.
        * config/host-openbsd.c: Moved to...
        * config/host-openbsd.cc: ...here.
        * config/host-solaris.c: Moved to...
        * config/host-solaris.cc: ...here.
        * config/i386/djgpp.c: Moved to...
        * config/i386/djgpp.cc: ...here.
        * config/i386/driver-i386.c: Moved to...
        * config/i386/driver-i386.cc: ...here.
        * config/i386/driver-mingw32.c: Moved to...
        * config/i386/driver-mingw32.cc: ...here.
        * config/i386/gnu-property.c: Moved to...
        * config/i386/gnu-property.cc: ...here.
        * config/i386/host-cygwin.c: Moved to...
        * config/i386/host-cygwin.cc: ...here.
        * config/i386/host-i386-darwin.c: Moved to...
        * config/i386/host-i386-darwin.cc: ...here.
        * config/i386/host-mingw32.c: Moved to...
        * config/i386/host-mingw32.cc: ...here.
        * config/i386/i386-builtins.c: Moved to...
        * config/i386/i386-builtins.cc: ...here.
        * config/i386/i386-c.c: Moved to...
        * config/i386/i386-c.cc: ...here.
        * config/i386/i386-d.c: Moved to...
        * config/i386/i386-d.cc: ...here.
        * config/i386/i386-expand.c: Moved to...
        * config/i386/i386-expand.cc: ...here.
        * config/i386/i386-features.c: Moved to...
        * config/i386/i386-features.cc: ...here.
        * config/i386/i386-options.c: Moved to...
        * config/i386/i386-options.cc: ...here.
        * config/i386/i386.c: Moved to...
        * config/i386/i386.cc: ...here.
        * config/i386/intelmic-mkoffload.c: Moved to...
        * config/i386/intelmic-mkoffload.cc: ...here.
        * config/i386/msformat-c.c: Moved to...
        * config/i386/msformat-c.cc: ...here.
        * config/i386/winnt-cxx.c: Moved to...
        * config/i386/winnt-cxx.cc: ...here.
        * config/i386/winnt-d.c: Moved to...
        * config/i386/winnt-d.cc: ...here.
        * config/i386/winnt-stubs.c: Moved to...
        * config/i386/winnt-stubs.cc: ...here.
        * config/i386/winnt.c: Moved to...
        * config/i386/winnt.cc: ...here.
        * config/i386/x86-tune-sched-atom.c: Moved to...
        * config/i386/x86-tune-sched-atom.cc: ...here.
        * config/i386/x86-tune-sched-bd.c: Moved to...
        * config/i386/x86-tune-sched-bd.cc: ...here.
        * config/i386/x86-tune-sched-core.c: Moved to...
        * config/i386/x86-tune-sched-core.cc: ...here.
        * config/i386/x86-tune-sched.c: Moved to...
        * config/i386/x86-tune-sched.cc: ...here.
        * config/ia64/ia64-c.c: Moved to...
        * config/ia64/ia64-c.cc: ...here.
        * config/ia64/ia64.c: Moved to...
        * config/ia64/ia64.cc: ...here.
        * config/iq2000/iq2000.c: Moved to...
        * config/iq2000/iq2000.cc: ...here.
        * config/linux.c: Moved to...
        * config/linux.cc: ...here.
        * config/lm32/lm32.c: Moved to...
        * config/lm32/lm32.cc: ...here.
        * config/m32c/m32c-pragma.c: Moved to...
        * config/m32c/m32c-pragma.cc: ...here.
        * config/m32c/m32c.c: Moved to...
        * config/m32c/m32c.cc: ...here.
        * config/m32r/m32r.c: Moved to...
        * config/m32r/m32r.cc: ...here.
        * config/m68k/m68k.c: Moved to...
        * config/m68k/m68k.cc: ...here.
        * config/mcore/mcore.c: Moved to...
        * config/mcore/mcore.cc: ...here.
        * config/microblaze/microblaze-c.c: Moved to...
        * config/microblaze/microblaze-c.cc: ...here.
        * config/microblaze/microblaze.c: Moved to...
        * config/microblaze/microblaze.cc: ...here.
        * config/mips/driver-native.c: Moved to...
        * config/mips/driver-native.cc: ...here.
        * config/mips/frame-header-opt.c: Moved to...
        * config/mips/frame-header-opt.cc: ...here.
        * config/mips/mips-d.c: Moved to...
        * config/mips/mips-d.cc: ...here.
        * config/mips/mips.c: Moved to...
        * config/mips/mips.cc: ...here.
        * config/mmix/mmix.c: Moved to...
        * config/mmix/mmix.cc: ...here.
        * config/mn10300/mn10300.c: Moved to...
        * config/mn10300/mn10300.cc: ...here.
        * config/moxie/moxie.c: Moved to...
        * config/moxie/moxie.cc: ...here.
        * config/msp430/driver-msp430.c: Moved to...
        * config/msp430/driver-msp430.cc: ...here.
        * config/msp430/msp430-c.c: Moved to...
        * config/msp430/msp430-c.cc: ...here.
        * config/msp430/msp430-devices.c: Moved to...
        * config/msp430/msp430-devices.cc: ...here.
        * config/msp430/msp430.c: Moved to...
        * config/msp430/msp430.cc: ...here.
        * config/nds32/nds32-cost.c: Moved to...
        * config/nds32/nds32-cost.cc: ...here.
        * config/nds32/nds32-fp-as-gp.c: Moved to...
        * config/nds32/nds32-fp-as-gp.cc: ...here.
        * config/nds32/nds32-intrinsic.c: Moved to...
        * config/nds32/nds32-intrinsic.cc: ...here.
        * config/nds32/nds32-isr.c: Moved to...
        * config/nds32/nds32-isr.cc: ...here.
        * config/nds32/nds32-md-auxiliary.c: Moved to...
        * config/nds32/nds32-md-auxiliary.cc: ...here.
        * config/nds32/nds32-memory-manipulation.c: Moved to...
        * config/nds32/nds32-memory-manipulation.cc: ...here.
        * config/nds32/nds32-pipelines-auxiliary.c: Moved to...
        * config/nds32/nds32-pipelines-auxiliary.cc: ...here.
        * config/nds32/nds32-predicates.c: Moved to...
        * config/nds32/nds32-predicates.cc: ...here.
        * config/nds32/nds32-relax-opt.c: Moved to...
        * config/nds32/nds32-relax-opt.cc: ...here.
        * config/nds32/nds32-utils.c: Moved to...
        * config/nds32/nds32-utils.cc: ...here.
        * config/nds32/nds32.c: Moved to...
        * config/nds32/nds32.cc: ...here.
        * config/netbsd-d.c: Moved to...
        * config/netbsd-d.cc: ...here.
        * config/netbsd.c: Moved to...
        * config/netbsd.cc: ...here.
        * config/nios2/nios2.c: Moved to...
        * config/nios2/nios2.cc: ...here.
        * config/nvptx/mkoffload.c: Moved to...
        * config/nvptx/mkoffload.cc: ...here.
        * config/nvptx/nvptx-c.c: Moved to...
        * config/nvptx/nvptx-c.cc: ...here.
        * config/nvptx/nvptx.c: Moved to...
        * config/nvptx/nvptx.cc: ...here.
        * config/openbsd-d.c: Moved to...
        * config/openbsd-d.cc: ...here.
        * config/or1k/or1k.c: Moved to...
        * config/or1k/or1k.cc: ...here.
        * config/pa/pa-d.c: Moved to...
        * config/pa/pa-d.cc: ...here.
        * config/pa/pa.c: Moved to...
        * config/pa/pa.cc: ...here.
        * config/pdp11/pdp11.c: Moved to...
        * config/pdp11/pdp11.cc: ...here.
        * config/pru/pru-passes.c: Moved to...
        * config/pru/pru-passes.cc: ...here.
        * config/pru/pru-pragma.c: Moved to...
        * config/pru/pru-pragma.cc: ...here.
        * config/pru/pru.c: Moved to...
        * config/pru/pru.cc: ...here.
        * config/riscv/riscv-builtins.c: Moved to...
        * config/riscv/riscv-builtins.cc: ...here.
        * config/riscv/riscv-c.c: Moved to...
        * config/riscv/riscv-c.cc: ...here.
        * config/riscv/riscv-d.c: Moved to...
        * config/riscv/riscv-d.cc: ...here.
        * config/riscv/riscv-shorten-memrefs.c: Moved to...
        * config/riscv/riscv-shorten-memrefs.cc: ...here.
        * config/riscv/riscv-sr.c: Moved to...
        * config/riscv/riscv-sr.cc: ...here.
        * config/riscv/riscv.c: Moved to...
        * config/riscv/riscv.cc: ...here.
        * config/rl78/rl78-c.c: Moved to...
        * config/rl78/rl78-c.cc: ...here.
        * config/rl78/rl78.c: Moved to...
        * config/rl78/rl78.cc: ...here.
        * config/rs6000/driver-rs6000.c: Moved to...
        * config/rs6000/driver-rs6000.cc: ...here.
        * config/rs6000/host-darwin.c: Moved to...
        * config/rs6000/host-darwin.cc: ...here.
        * config/rs6000/host-ppc64-darwin.c: Moved to...
        * config/rs6000/host-ppc64-darwin.cc: ...here.
        * config/rs6000/rbtree.c: Moved to...
        * config/rs6000/rbtree.cc: ...here.
        * config/rs6000/rs6000-c.c: Moved to...
        * config/rs6000/rs6000-c.cc: ...here.
        * config/rs6000/rs6000-call.c: Moved to...
        * config/rs6000/rs6000-call.cc: ...here.
        * config/rs6000/rs6000-d.c: Moved to...
        * config/rs6000/rs6000-d.cc: ...here.
        * config/rs6000/rs6000-gen-builtins.c: Moved to...
        * config/rs6000/rs6000-gen-builtins.cc: ...here.
        * config/rs6000/rs6000-linux.c: Moved to...
        * config/rs6000/rs6000-linux.cc: ...here.
        * config/rs6000/rs6000-logue.c: Moved to...
        * config/rs6000/rs6000-logue.cc: ...here.
        * config/rs6000/rs6000-p8swap.c: Moved to...
        * config/rs6000/rs6000-p8swap.cc: ...here.
        * config/rs6000/rs6000-pcrel-opt.c: Moved to...
        * config/rs6000/rs6000-pcrel-opt.cc: ...here.
        * config/rs6000/rs6000-string.c: Moved to...
        * config/rs6000/rs6000-string.cc: ...here.
        * config/rs6000/rs6000.c: Moved to...
        * config/rs6000/rs6000.cc: ...here.
        * config/rx/rx.c: Moved to...
        * config/rx/rx.cc: ...here.
        * config/s390/driver-native.c: Moved to...
        * config/s390/driver-native.cc: ...here.
        * config/s390/s390-c.c: Moved to...
        * config/s390/s390-c.cc: ...here.
        * config/s390/s390-d.c: Moved to...
        * config/s390/s390-d.cc: ...here.
        * config/s390/s390.c: Moved to...
        * config/s390/s390.cc: ...here.
        * config/sh/divtab-sh4-300.c: Moved to...
        * config/sh/divtab-sh4-300.cc: ...here.
        * config/sh/divtab-sh4.c: Moved to...
        * config/sh/divtab-sh4.cc: ...here.
        * config/sh/divtab.c: Moved to...
        * config/sh/divtab.cc: ...here.
        * config/sh/sh-c.c: Moved to...
        * config/sh/sh-c.cc: ...here.
        * config/sh/sh.c: Moved to...
        * config/sh/sh.cc: ...here.
        * config/sol2-c.c: Moved to...
        * config/sol2-c.cc: ...here.
        * config/sol2-cxx.c: Moved to...
        * config/sol2-cxx.cc: ...here.
        * config/sol2-d.c: Moved to...
        * config/sol2-d.cc: ...here.
        * config/sol2-stubs.c: Moved to...
        * config/sol2-stubs.cc: ...here.
        * config/sol2.c: Moved to...
        * config/sol2.cc: ...here.
        * config/sparc/driver-sparc.c: Moved to...
        * config/sparc/driver-sparc.cc: ...here.
        * config/sparc/sparc-c.c: Moved to...
        * config/sparc/sparc-c.cc: ...here.
        * config/sparc/sparc-d.c: Moved to...
        * config/sparc/sparc-d.cc: ...here.
        * config/sparc/sparc.c: Moved to...
        * config/sparc/sparc.cc: ...here.
        * config/stormy16/stormy16.c: Moved to...
        * config/stormy16/stormy16.cc: ...here.
        * config/tilegx/mul-tables.c: Moved to...
        * config/tilegx/mul-tables.cc: ...here.
        * config/tilegx/tilegx-c.c: Moved to...
        * config/tilegx/tilegx-c.cc: ...here.
        * config/tilegx/tilegx.c: Moved to...
        * config/tilegx/tilegx.cc: ...here.
        * config/tilepro/mul-tables.c: Moved to...
        * config/tilepro/mul-tables.cc: ...here.
        * config/tilepro/tilepro-c.c: Moved to...
        * config/tilepro/tilepro-c.cc: ...here.
        * config/tilepro/tilepro.c: Moved to...
        * config/tilepro/tilepro.cc: ...here.
        * config/v850/v850-c.c: Moved to...
        * config/v850/v850-c.cc: ...here.
        * config/v850/v850.c: Moved to...
        * config/v850/v850.cc: ...here.
        * config/vax/vax.c: Moved to...
        * config/vax/vax.cc: ...here.
        * config/visium/visium.c: Moved to...
        * config/visium/visium.cc: ...here.
        * config/vms/vms-c.c: Moved to...
        * config/vms/vms-c.cc: ...here.
        * config/vms/vms-f.c: Moved to...
        * config/vms/vms-f.cc: ...here.
        * config/vms/vms.c: Moved to...
        * config/vms/vms.cc: ...here.
        * config/vxworks-c.c: Moved to...
        * config/vxworks-c.cc: ...here.
        * config/vxworks.c: Moved to...
        * config/vxworks.cc: ...here.
        * config/winnt-c.c: Moved to...
        * config/winnt-c.cc: ...here.
        * config/xtensa/xtensa.c: Moved to...
        * config/xtensa/xtensa.cc: ...here.
        * context.c: Moved to...
        * context.cc: ...here.
        * convert.c: Moved to...
        * convert.cc: ...here.
        * coverage.c: Moved to...
        * coverage.cc: ...here.
        * cppbuiltin.c: Moved to...
        * cppbuiltin.cc: ...here.
        * cppdefault.c: Moved to...
        * cppdefault.cc: ...here.
        * cprop.c: Moved to...
        * cprop.cc: ...here.
        * cse.c: Moved to...
        * cse.cc: ...here.
        * cselib.c: Moved to...
        * cselib.cc: ...here.
        * ctfc.c: Moved to...
        * ctfc.cc: ...here.
        * ctfout.c: Moved to...
        * ctfout.cc: ...here.
        * data-streamer-in.c: Moved to...
        * data-streamer-in.cc: ...here.
        * data-streamer-out.c: Moved to...
        * data-streamer-out.cc: ...here.
        * data-streamer.c: Moved to...
        * data-streamer.cc: ...here.
        * dbgcnt.c: Moved to...
        * dbgcnt.cc: ...here.
        * dbxout.c: Moved to...
        * dbxout.cc: ...here.
        * dce.c: Moved to...
        * dce.cc: ...here.
        * ddg.c: Moved to...
        * ddg.cc: ...here.
        * debug.c: Moved to...
        * debug.cc: ...here.
        * df-core.c: Moved to...
        * df-core.cc: ...here.
        * df-problems.c: Moved to...
        * df-problems.cc: ...here.
        * df-scan.c: Moved to...
        * df-scan.cc: ...here.
        * dfp.c: Moved to...
        * dfp.cc: ...here.
        * diagnostic-color.c: Moved to...
        * diagnostic-color.cc: ...here.
        * diagnostic-show-locus.c: Moved to...
        * diagnostic-show-locus.cc: ...here.
        * diagnostic-spec.c: Moved to...
        * diagnostic-spec.cc: ...here.
        * diagnostic.c: Moved to...
        * diagnostic.cc: ...here.
        * dojump.c: Moved to...
        * dojump.cc: ...here.
        * dominance.c: Moved to...
        * dominance.cc: ...here.
        * domwalk.c: Moved to...
        * domwalk.cc: ...here.
        * double-int.c: Moved to...
        * double-int.cc: ...here.
        * dse.c: Moved to...
        * dse.cc: ...here.
        * dumpfile.c: Moved to...
        * dumpfile.cc: ...here.
        * dwarf2asm.c: Moved to...
        * dwarf2asm.cc: ...here.
        * dwarf2cfi.c: Moved to...
        * dwarf2cfi.cc: ...here.
        * dwarf2ctf.c: Moved to...
        * dwarf2ctf.cc: ...here.
        * dwarf2out.c: Moved to...
        * dwarf2out.cc: ...here.
        * early-remat.c: Moved to...
        * early-remat.cc: ...here.
        * edit-context.c: Moved to...
        * edit-context.cc: ...here.
        * emit-rtl.c: Moved to...
        * emit-rtl.cc: ...here.
        * errors.c: Moved to...
        * errors.cc: ...here.
        * et-forest.c: Moved to...
        * et-forest.cc: ...here.
        * except.c: Moved to...
        * except.cc: ...here.
        * explow.c: Moved to...
        * explow.cc: ...here.
        * expmed.c: Moved to...
        * expmed.cc: ...here.
        * expr.c: Moved to...
        * expr.cc: ...here.
        * fibonacci_heap.c: Moved to...
        * fibonacci_heap.cc: ...here.
        * file-find.c: Moved to...
        * file-find.cc: ...here.
        * file-prefix-map.c: Moved to...
        * file-prefix-map.cc: ...here.
        * final.c: Moved to...
        * final.cc: ...here.
        * fixed-value.c: Moved to...
        * fixed-value.cc: ...here.
        * fold-const-call.c: Moved to...
        * fold-const-call.cc: ...here.
        * fold-const.c: Moved to...
        * fold-const.cc: ...here.
        * fp-test.c: Moved to...
        * fp-test.cc: ...here.
        * function-tests.c: Moved to...
        * function-tests.cc: ...here.
        * function.c: Moved to...
        * function.cc: ...here.
        * fwprop.c: Moved to...
        * fwprop.cc: ...here.
        * gcc-ar.c: Moved to...
        * gcc-ar.cc: ...here.
        * gcc-main.c: Moved to...
        * gcc-main.cc: ...here.
        * gcc-rich-location.c: Moved to...
        * gcc-rich-location.cc: ...here.
        * gcc.c: Moved to...
        * gcc.cc: ...here.
        * gcov-dump.c: Moved to...
        * gcov-dump.cc: ...here.
        * gcov-io.c: Moved to...
        * gcov-io.cc: ...here.
        * gcov-tool.c: Moved to...
        * gcov-tool.cc: ...here.
        * gcov.c: Moved to...
        * gcov.cc: ...here.
        * gcse-common.c: Moved to...
        * gcse-common.cc: ...here.
        * gcse.c: Moved to...
        * gcse.cc: ...here.
        * genattr-common.c: Moved to...
        * genattr-common.cc: ...here.
        * genattr.c: Moved to...
        * genattr.cc: ...here.
        * genattrtab.c: Moved to...
        * genattrtab.cc: ...here.
        * genautomata.c: Moved to...
        * genautomata.cc: ...here.
        * gencfn-macros.c: Moved to...
        * gencfn-macros.cc: ...here.
        * gencheck.c: Moved to...
        * gencheck.cc: ...here.
        * genchecksum.c: Moved to...
        * genchecksum.cc: ...here.
        * gencodes.c: Moved to...
        * gencodes.cc: ...here.
        * genconditions.c: Moved to...
        * genconditions.cc: ...here.
        * genconfig.c: Moved to...
        * genconfig.cc: ...here.
        * genconstants.c: Moved to...
        * genconstants.cc: ...here.
        * genemit.c: Moved to...
        * genemit.cc: ...here.
        * genenums.c: Moved to...
        * genenums.cc: ...here.
        * generic-match-head.c: Moved to...
        * generic-match-head.cc: ...here.
        * genextract.c: Moved to...
        * genextract.cc: ...here.
        * genflags.c: Moved to...
        * genflags.cc: ...here.
        * gengenrtl.c: Moved to...
        * gengenrtl.cc: ...here.
        * gengtype-parse.c: Moved to...
        * gengtype-parse.cc: ...here.
        * gengtype-state.c: Moved to...
        * gengtype-state.cc: ...here.
        * gengtype.c: Moved to...
        * gengtype.cc: ...here.
        * genhooks.c: Moved to...
        * genhooks.cc: ...here.
        * genmatch.c: Moved to...
        * genmatch.cc: ...here.
        * genmddeps.c: Moved to...
        * genmddeps.cc: ...here.
        * genmddump.c: Moved to...
        * genmddump.cc: ...here.
        * genmodes.c: Moved to...
        * genmodes.cc: ...here.
        * genopinit.c: Moved to...
        * genopinit.cc: ...here.
        * genoutput.c: Moved to...
        * genoutput.cc: ...here.
        * genpeep.c: Moved to...
        * genpeep.cc: ...here.
        * genpreds.c: Moved to...
        * genpreds.cc: ...here.
        * genrecog.c: Moved to...
        * genrecog.cc: ...here.
        * gensupport.c: Moved to...
        * gensupport.cc: ...here.
        * gentarget-def.c: Moved to...
        * gentarget-def.cc: ...here.
        * genversion.c: Moved to...
        * genversion.cc: ...here.
        * ggc-common.c: Moved to...
        * ggc-common.cc: ...here.
        * ggc-none.c: Moved to...
        * ggc-none.cc: ...here.
        * ggc-page.c: Moved to...
        * ggc-page.cc: ...here.
        * ggc-tests.c: Moved to...
        * ggc-tests.cc: ...here.
        * gimple-builder.c: Moved to...
        * gimple-builder.cc: ...here.
        * gimple-expr.c: Moved to...
        * gimple-expr.cc: ...here.
        * gimple-fold.c: Moved to...
        * gimple-fold.cc: ...here.
        * gimple-iterator.c: Moved to...
        * gimple-iterator.cc: ...here.
        * gimple-laddress.c: Moved to...
        * gimple-laddress.cc: ...here.
        * gimple-loop-jam.c: Moved to...
        * gimple-loop-jam.cc: ...here.
        * gimple-low.c: Moved to...
        * gimple-low.cc: ...here.
        * gimple-match-head.c: Moved to...
        * gimple-match-head.cc: ...here.
        * gimple-pretty-print.c: Moved to...
        * gimple-pretty-print.cc: ...here.
        * gimple-ssa-backprop.c: Moved to...
        * gimple-ssa-backprop.cc: ...here.
        * gimple-ssa-evrp-analyze.c: Moved to...
        * gimple-ssa-evrp-analyze.cc: ...here.
        * gimple-ssa-evrp.c: Moved to...
        * gimple-ssa-evrp.cc: ...here.
        * gimple-ssa-isolate-paths.c: Moved to...
        * gimple-ssa-isolate-paths.cc: ...here.
        * gimple-ssa-nonnull-compare.c: Moved to...
        * gimple-ssa-nonnull-compare.cc: ...here.
        * gimple-ssa-split-paths.c: Moved to...
        * gimple-ssa-split-paths.cc: ...here.
        * gimple-ssa-sprintf.c: Moved to...
        * gimple-ssa-sprintf.cc: ...here.
        * gimple-ssa-store-merging.c: Moved to...
        * gimple-ssa-store-merging.cc: ...here.
        * gimple-ssa-strength-reduction.c: Moved to...
        * gimple-ssa-strength-reduction.cc: ...here.
        * gimple-ssa-warn-alloca.c: Moved to...
        * gimple-ssa-warn-alloca.cc: ...here.
        * gimple-ssa-warn-restrict.c: Moved to...
        * gimple-ssa-warn-restrict.cc: ...here.
        * gimple-streamer-in.c: Moved to...
        * gimple-streamer-in.cc: ...here.
        * gimple-streamer-out.c: Moved to...
        * gimple-streamer-out.cc: ...here.
        * gimple-walk.c: Moved to...
        * gimple-walk.cc: ...here.
        * gimple-warn-recursion.c: Moved to...
        * gimple-warn-recursion.cc: ...here.
        * gimple.c: Moved to...
        * gimple.cc: ...here.
        * gimplify-me.c: Moved to...
        * gimplify-me.cc: ...here.
        * gimplify.c: Moved to...
        * gimplify.cc: ...here.
        * godump.c: Moved to...
        * godump.cc: ...here.
        * graph.c: Moved to...
        * graph.cc: ...here.
        * graphds.c: Moved to...
        * graphds.cc: ...here.
        * graphite-dependences.c: Moved to...
        * graphite-dependences.cc: ...here.
        * graphite-isl-ast-to-gimple.c: Moved to...
        * graphite-isl-ast-to-gimple.cc: ...here.
        * graphite-optimize-isl.c: Moved to...
        * graphite-optimize-isl.cc: ...here.
        * graphite-poly.c: Moved to...
        * graphite-poly.cc: ...here.
        * graphite-scop-detection.c: Moved to...
        * graphite-scop-detection.cc: ...here.
        * graphite-sese-to-poly.c: Moved to...
        * graphite-sese-to-poly.cc: ...here.
        * graphite.c: Moved to...
        * graphite.cc: ...here.
        * haifa-sched.c: Moved to...
        * haifa-sched.cc: ...here.
        * hash-map-tests.c: Moved to...
        * hash-map-tests.cc: ...here.
        * hash-set-tests.c: Moved to...
        * hash-set-tests.cc: ...here.
        * hash-table.c: Moved to...
        * hash-table.cc: ...here.
        * hooks.c: Moved to...
        * hooks.cc: ...here.
        * host-default.c: Moved to...
        * host-default.cc: ...here.
        * hw-doloop.c: Moved to...
        * hw-doloop.cc: ...here.
        * hwint.c: Moved to...
        * hwint.cc: ...here.
        * ifcvt.c: Moved to...
        * ifcvt.cc: ...here.
        * inchash.c: Moved to...
        * inchash.cc: ...here.
        * incpath.c: Moved to...
        * incpath.cc: ...here.
        * init-regs.c: Moved to...
        * init-regs.cc: ...here.
        * input.c: Moved to...
        * input.cc: ...here.
        * internal-fn.c: Moved to...
        * internal-fn.cc: ...here.
        * intl.c: Moved to...
        * intl.cc: ...here.
        * ipa-comdats.c: Moved to...
        * ipa-comdats.cc: ...here.
        * ipa-cp.c: Moved to...
        * ipa-cp.cc: ...here.
        * ipa-devirt.c: Moved to...
        * ipa-devirt.cc: ...here.
        * ipa-fnsummary.c: Moved to...
        * ipa-fnsummary.cc: ...here.
        * ipa-icf-gimple.c: Moved to...
        * ipa-icf-gimple.cc: ...here.
        * ipa-icf.c: Moved to...
        * ipa-icf.cc: ...here.
        * ipa-inline-analysis.c: Moved to...
        * ipa-inline-analysis.cc: ...here.
        * ipa-inline-transform.c: Moved to...
        * ipa-inline-transform.cc: ...here.
        * ipa-inline.c: Moved to...
        * ipa-inline.cc: ...here.
        * ipa-modref-tree.c: Moved to...
        * ipa-modref-tree.cc: ...here.
        * ipa-modref.c: Moved to...
        * ipa-modref.cc: ...here.
        * ipa-param-manipulation.c: Moved to...
        * ipa-param-manipulation.cc: ...here.
        * ipa-polymorphic-call.c: Moved to...
        * ipa-polymorphic-call.cc: ...here.
        * ipa-predicate.c: Moved to...
        * ipa-predicate.cc: ...here.
        * ipa-profile.c: Moved to...
        * ipa-profile.cc: ...here.
        * ipa-prop.c: Moved to...
        * ipa-prop.cc: ...here.
        * ipa-pure-const.c: Moved to...
        * ipa-pure-const.cc: ...here.
        * ipa-ref.c: Moved to...
        * ipa-ref.cc: ...here.
        * ipa-reference.c: Moved to...
        * ipa-reference.cc: ...here.
        * ipa-split.c: Moved to...
        * ipa-split.cc: ...here.
        * ipa-sra.c: Moved to...
        * ipa-sra.cc: ...here.
        * ipa-utils.c: Moved to...
        * ipa-utils.cc: ...here.
        * ipa-visibility.c: Moved to...
        * ipa-visibility.cc: ...here.
        * ipa.c: Moved to...
        * ipa.cc: ...here.
        * ira-build.c: Moved to...
        * ira-build.cc: ...here.
        * ira-color.c: Moved to...
        * ira-color.cc: ...here.
        * ira-conflicts.c: Moved to...
        * ira-conflicts.cc: ...here.
        * ira-costs.c: Moved to...
        * ira-costs.cc: ...here.
        * ira-emit.c: Moved to...
        * ira-emit.cc: ...here.
        * ira-lives.c: Moved to...
        * ira-lives.cc: ...here.
        * ira.c: Moved to...
        * ira.cc: ...here.
        * jump.c: Moved to...
        * jump.cc: ...here.
        * langhooks.c: Moved to...
        * langhooks.cc: ...here.
        * lcm.c: Moved to...
        * lcm.cc: ...here.
        * lists.c: Moved to...
        * lists.cc: ...here.
        * loop-doloop.c: Moved to...
        * loop-doloop.cc: ...here.
        * loop-init.c: Moved to...
        * loop-init.cc: ...here.
        * loop-invariant.c: Moved to...
        * loop-invariant.cc: ...here.
        * loop-iv.c: Moved to...
        * loop-iv.cc: ...here.
        * loop-unroll.c: Moved to...
        * loop-unroll.cc: ...here.
        * lower-subreg.c: Moved to...
        * lower-subreg.cc: ...here.
        * lra-assigns.c: Moved to...
        * lra-assigns.cc: ...here.
        * lra-coalesce.c: Moved to...
        * lra-coalesce.cc: ...here.
        * lra-constraints.c: Moved to...
        * lra-constraints.cc: ...here.
        * lra-eliminations.c: Moved to...
        * lra-eliminations.cc: ...here.
        * lra-lives.c: Moved to...
        * lra-lives.cc: ...here.
        * lra-remat.c: Moved to...
        * lra-remat.cc: ...here.
        * lra-spills.c: Moved to...
        * lra-spills.cc: ...here.
        * lra.c: Moved to...
        * lra.cc: ...here.
        * lto-cgraph.c: Moved to...
        * lto-cgraph.cc: ...here.
        * lto-compress.c: Moved to...
        * lto-compress.cc: ...here.
        * lto-opts.c: Moved to...
        * lto-opts.cc: ...here.
        * lto-section-in.c: Moved to...
        * lto-section-in.cc: ...here.
        * lto-section-out.c: Moved to...
        * lto-section-out.cc: ...here.
        * lto-streamer-in.c: Moved to...
        * lto-streamer-in.cc: ...here.
        * lto-streamer-out.c: Moved to...
        * lto-streamer-out.cc: ...here.
        * lto-streamer.c: Moved to...
        * lto-streamer.cc: ...here.
        * lto-wrapper.c: Moved to...
        * lto-wrapper.cc: ...here.
        * main.c: Moved to...
        * main.cc: ...here.
        * mcf.c: Moved to...
        * mcf.cc: ...here.
        * mode-switching.c: Moved to...
        * mode-switching.cc: ...here.
        * modulo-sched.c: Moved to...
        * modulo-sched.cc: ...here.
        * multiple_target.c: Moved to...
        * multiple_target.cc: ...here.
        * omp-expand.c: Moved to...
        * omp-expand.cc: ...here.
        * omp-general.c: Moved to...
        * omp-general.cc: ...here.
        * omp-low.c: Moved to...
        * omp-low.cc: ...here.
        * omp-offload.c: Moved to...
        * omp-offload.cc: ...here.
        * omp-simd-clone.c: Moved to...
        * omp-simd-clone.cc: ...here.
        * opt-suggestions.c: Moved to...
        * opt-suggestions.cc: ...here.
        * optabs-libfuncs.c: Moved to...
        * optabs-libfuncs.cc: ...here.
        * optabs-query.c: Moved to...
        * optabs-query.cc: ...here.
        * optabs-tree.c: Moved to...
        * optabs-tree.cc: ...here.
        * optabs.c: Moved to...
        * optabs.cc: ...here.
        * opts-common.c: Moved to...
        * opts-common.cc: ...here.
        * opts-global.c: Moved to...
        * opts-global.cc: ...here.
        * opts.c: Moved to...
        * opts.cc: ...here.
        * passes.c: Moved to...
        * passes.cc: ...here.
        * plugin.c: Moved to...
        * plugin.cc: ...here.
        * postreload-gcse.c: Moved to...
        * postreload-gcse.cc: ...here.
        * postreload.c: Moved to...
        * postreload.cc: ...here.
        * predict.c: Moved to...
        * predict.cc: ...here.
        * prefix.c: Moved to...
        * prefix.cc: ...here.
        * pretty-print.c: Moved to...
        * pretty-print.cc: ...here.
        * print-rtl-function.c: Moved to...
        * print-rtl-function.cc: ...here.
        * print-rtl.c: Moved to...
        * print-rtl.cc: ...here.
        * print-tree.c: Moved to...
        * print-tree.cc: ...here.
        * profile-count.c: Moved to...
        * profile-count.cc: ...here.
        * profile.c: Moved to...
        * profile.cc: ...here.
        * read-md.c: Moved to...
        * read-md.cc: ...here.
        * read-rtl-function.c: Moved to...
        * read-rtl-function.cc: ...here.
        * read-rtl.c: Moved to...
        * read-rtl.cc: ...here.
        * real.c: Moved to...
        * real.cc: ...here.
        * realmpfr.c: Moved to...
        * realmpfr.cc: ...here.
        * recog.c: Moved to...
        * recog.cc: ...here.
        * ree.c: Moved to...
        * ree.cc: ...here.
        * reg-stack.c: Moved to...
        * reg-stack.cc: ...here.
        * regcprop.c: Moved to...
        * regcprop.cc: ...here.
        * reginfo.c: Moved to...
        * reginfo.cc: ...here.
        * regrename.c: Moved to...
        * regrename.cc: ...here.
        * regstat.c: Moved to...
        * regstat.cc: ...here.
        * reload.c: Moved to...
        * reload.cc: ...here.
        * reload1.c: Moved to...
        * reload1.cc: ...here.
        * reorg.c: Moved to...
        * reorg.cc: ...here.
        * resource.c: Moved to...
        * resource.cc: ...here.
        * rtl-error.c: Moved to...
        * rtl-error.cc: ...here.
        * rtl-tests.c: Moved to...
        * rtl-tests.cc: ...here.
        * rtl.c: Moved to...
        * rtl.cc: ...here.
        * rtlanal.c: Moved to...
        * rtlanal.cc: ...here.
        * rtlhash.c: Moved to...
        * rtlhash.cc: ...here.
        * rtlhooks.c: Moved to...
        * rtlhooks.cc: ...here.
        * rtx-vector-builder.c: Moved to...
        * rtx-vector-builder.cc: ...here.
        * run-rtl-passes.c: Moved to...
        * run-rtl-passes.cc: ...here.
        * sancov.c: Moved to...
        * sancov.cc: ...here.
        * sanopt.c: Moved to...
        * sanopt.cc: ...here.
        * sbitmap.c: Moved to...
        * sbitmap.cc: ...here.
        * sched-deps.c: Moved to...
        * sched-deps.cc: ...here.
        * sched-ebb.c: Moved to...
        * sched-ebb.cc: ...here.
        * sched-rgn.c: Moved to...
        * sched-rgn.cc: ...here.
        * sel-sched-dump.c: Moved to...
        * sel-sched-dump.cc: ...here.
        * sel-sched-ir.c: Moved to...
        * sel-sched-ir.cc: ...here.
        * sel-sched.c: Moved to...
        * sel-sched.cc: ...here.
        * selftest-diagnostic.c: Moved to...
        * selftest-diagnostic.cc: ...here.
        * selftest-rtl.c: Moved to...
        * selftest-rtl.cc: ...here.
        * selftest-run-tests.c: Moved to...
        * selftest-run-tests.cc: ...here.
        * selftest.c: Moved to...
        * selftest.cc: ...here.
        * sese.c: Moved to...
        * sese.cc: ...here.
        * shrink-wrap.c: Moved to...
        * shrink-wrap.cc: ...here.
        * simplify-rtx.c: Moved to...
        * simplify-rtx.cc: ...here.
        * sparseset.c: Moved to...
        * sparseset.cc: ...here.
        * spellcheck-tree.c: Moved to...
        * spellcheck-tree.cc: ...here.
        * spellcheck.c: Moved to...
        * spellcheck.cc: ...here.
        * sreal.c: Moved to...
        * sreal.cc: ...here.
        * stack-ptr-mod.c: Moved to...
        * stack-ptr-mod.cc: ...here.
        * statistics.c: Moved to...
        * statistics.cc: ...here.
        * stmt.c: Moved to...
        * stmt.cc: ...here.
        * stor-layout.c: Moved to...
        * stor-layout.cc: ...here.
        * store-motion.c: Moved to...
        * store-motion.cc: ...here.
        * streamer-hooks.c: Moved to...
        * streamer-hooks.cc: ...here.
        * stringpool.c: Moved to...
        * stringpool.cc: ...here.
        * substring-locations.c: Moved to...
        * substring-locations.cc: ...here.
        * symtab.c: Moved to...
        * symtab.cc: ...here.
        * target-globals.c: Moved to...
        * target-globals.cc: ...here.
        * targhooks.c: Moved to...
        * targhooks.cc: ...here.
        * timevar.c: Moved to...
        * timevar.cc: ...here.
        * toplev.c: Moved to...
        * toplev.cc: ...here.
        * tracer.c: Moved to...
        * tracer.cc: ...here.
        * trans-mem.c: Moved to...
        * trans-mem.cc: ...here.
        * tree-affine.c: Moved to...
        * tree-affine.cc: ...here.
        * tree-call-cdce.c: Moved to...
        * tree-call-cdce.cc: ...here.
        * tree-cfg.c: Moved to...
        * tree-cfg.cc: ...here.
        * tree-cfgcleanup.c: Moved to...
        * tree-cfgcleanup.cc: ...here.
        * tree-chrec.c: Moved to...
        * tree-chrec.cc: ...here.
        * tree-complex.c: Moved to...
        * tree-complex.cc: ...here.
        * tree-data-ref.c: Moved to...
        * tree-data-ref.cc: ...here.
        * tree-dfa.c: Moved to...
        * tree-dfa.cc: ...here.
        * tree-diagnostic.c: Moved to...
        * tree-diagnostic.cc: ...here.
        * tree-dump.c: Moved to...
        * tree-dump.cc: ...here.
        * tree-eh.c: Moved to...
        * tree-eh.cc: ...here.
        * tree-emutls.c: Moved to...
        * tree-emutls.cc: ...here.
        * tree-if-conv.c: Moved to...
        * tree-if-conv.cc: ...here.
        * tree-inline.c: Moved to...
        * tree-inline.cc: ...here.
        * tree-into-ssa.c: Moved to...
        * tree-into-ssa.cc: ...here.
        * tree-iterator.c: Moved to...
        * tree-iterator.cc: ...here.
        * tree-loop-distribution.c: Moved to...
        * tree-loop-distribution.cc: ...here.
        * tree-nested.c: Moved to...
        * tree-nested.cc: ...here.
        * tree-nrv.c: Moved to...
        * tree-nrv.cc: ...here.
        * tree-object-size.c: Moved to...
        * tree-object-size.cc: ...here.
        * tree-outof-ssa.c: Moved to...
        * tree-outof-ssa.cc: ...here.
        * tree-parloops.c: Moved to...
        * tree-parloops.cc: ...here.
        * tree-phinodes.c: Moved to...
        * tree-phinodes.cc: ...here.
        * tree-predcom.c: Moved to...
        * tree-predcom.cc: ...here.
        * tree-pretty-print.c: Moved to...
        * tree-pretty-print.cc: ...here.
        * tree-profile.c: Moved to...
        * tree-profile.cc: ...here.
        * tree-scalar-evolution.c: Moved to...
        * tree-scalar-evolution.cc: ...here.
        * tree-sra.c: Moved to...
        * tree-sra.cc: ...here.
        * tree-ssa-address.c: Moved to...
        * tree-ssa-address.cc: ...here.
        * tree-ssa-alias.c: Moved to...
        * tree-ssa-alias.cc: ...here.
        * tree-ssa-ccp.c: Moved to...
        * tree-ssa-ccp.cc: ...here.
        * tree-ssa-coalesce.c: Moved to...
        * tree-ssa-coalesce.cc: ...here.
        * tree-ssa-copy.c: Moved to...
        * tree-ssa-copy.cc: ...here.
        * tree-ssa-dce.c: Moved to...
        * tree-ssa-dce.cc: ...here.
        * tree-ssa-dom.c: Moved to...
        * tree-ssa-dom.cc: ...here.
        * tree-ssa-dse.c: Moved to...
        * tree-ssa-dse.cc: ...here.
        * tree-ssa-forwprop.c: Moved to...
        * tree-ssa-forwprop.cc: ...here.
        * tree-ssa-ifcombine.c: Moved to...
        * tree-ssa-ifcombine.cc: ...here.
        * tree-ssa-live.c: Moved to...
        * tree-ssa-live.cc: ...here.
        * tree-ssa-loop-ch.c: Moved to...
        * tree-ssa-loop-ch.cc: ...here.
        * tree-ssa-loop-im.c: Moved to...
        * tree-ssa-loop-im.cc: ...here.
        * tree-ssa-loop-ivcanon.c: Moved to...
        * tree-ssa-loop-ivcanon.cc: ...here.
        * tree-ssa-loop-ivopts.c: Moved to...
        * tree-ssa-loop-ivopts.cc: ...here.
        * tree-ssa-loop-manip.c: Moved to...
        * tree-ssa-loop-manip.cc: ...here.
        * tree-ssa-loop-niter.c: Moved to...
        * tree-ssa-loop-niter.cc: ...here.
        * tree-ssa-loop-prefetch.c: Moved to...
        * tree-ssa-loop-prefetch.cc: ...here.
        * tree-ssa-loop-split.c: Moved to...
        * tree-ssa-loop-split.cc: ...here.
        * tree-ssa-loop-unswitch.c: Moved to...
        * tree-ssa-loop-unswitch.cc: ...here.
        * tree-ssa-loop.c: Moved to...
        * tree-ssa-loop.cc: ...here.
        * tree-ssa-math-opts.c: Moved to...
        * tree-ssa-math-opts.cc: ...here.
        * tree-ssa-operands.c: Moved to...
        * tree-ssa-operands.cc: ...here.
        * tree-ssa-phiopt.c: Moved to...
        * tree-ssa-phiopt.cc: ...here.
        * tree-ssa-phiprop.c: Moved to...
        * tree-ssa-phiprop.cc: ...here.
        * tree-ssa-pre.c: Moved to...
        * tree-ssa-pre.cc: ...here.
        * tree-ssa-propagate.c: Moved to...
        * tree-ssa-propagate.cc: ...here.
        * tree-ssa-reassoc.c: Moved to...
        * tree-ssa-reassoc.cc: ...here.
        * tree-ssa-sccvn.c: Moved to...
        * tree-ssa-sccvn.cc: ...here.
        * tree-ssa-scopedtables.c: Moved to...
        * tree-ssa-scopedtables.cc: ...here.
        * tree-ssa-sink.c: Moved to...
        * tree-ssa-sink.cc: ...here.
        * tree-ssa-strlen.c: Moved to...
        * tree-ssa-strlen.cc: ...here.
        * tree-ssa-structalias.c: Moved to...
        * tree-ssa-structalias.cc: ...here.
        * tree-ssa-tail-merge.c: Moved to...
        * tree-ssa-tail-merge.cc: ...here.
        * tree-ssa-ter.c: Moved to...
        * tree-ssa-ter.cc: ...here.
        * tree-ssa-threadbackward.c: Moved to...
        * tree-ssa-threadbackward.cc: ...here.
        * tree-ssa-threadedge.c: Moved to...
        * tree-ssa-threadedge.cc: ...here.
        * tree-ssa-threadupdate.c: Moved to...
        * tree-ssa-threadupdate.cc: ...here.
        * tree-ssa-uncprop.c: Moved to...
        * tree-ssa-uncprop.cc: ...here.
        * tree-ssa-uninit.c: Moved to...
        * tree-ssa-uninit.cc: ...here.
        * tree-ssa.c: Moved to...
        * tree-ssa.cc: ...here.
        * tree-ssanames.c: Moved to...
        * tree-ssanames.cc: ...here.
        * tree-stdarg.c: Moved to...
        * tree-stdarg.cc: ...here.
        * tree-streamer-in.c: Moved to...
        * tree-streamer-in.cc: ...here.
        * tree-streamer-out.c: Moved to...
        * tree-streamer-out.cc: ...here.
        * tree-streamer.c: Moved to...
        * tree-streamer.cc: ...here.
        * tree-switch-conversion.c: Moved to...
        * tree-switch-conversion.cc: ...here.
        * tree-tailcall.c: Moved to...
        * tree-tailcall.cc: ...here.
        * tree-vect-data-refs.c: Moved to...
        * tree-vect-data-refs.cc: ...here.
        * tree-vect-generic.c: Moved to...
        * tree-vect-generic.cc: ...here.
        * tree-vect-loop-manip.c: Moved to...
        * tree-vect-loop-manip.cc: ...here.
        * tree-vect-loop.c: Moved to...
        * tree-vect-loop.cc: ...here.
        * tree-vect-patterns.c: Moved to...
        * tree-vect-patterns.cc: ...here.
        * tree-vect-slp-patterns.c: Moved to...
        * tree-vect-slp-patterns.cc: ...here.
        * tree-vect-slp.c: Moved to...
        * tree-vect-slp.cc: ...here.
        * tree-vect-stmts.c: Moved to...
        * tree-vect-stmts.cc: ...here.
        * tree-vector-builder.c: Moved to...
        * tree-vector-builder.cc: ...here.
        * tree-vectorizer.c: Moved to...
        * tree-vectorizer.cc: ...here.
        * tree-vrp.c: Moved to...
        * tree-vrp.cc: ...here.
        * tree.c: Moved to...
        * tree.cc: ...here.
        * tsan.c: Moved to...
        * tsan.cc: ...here.
        * typed-splay-tree.c: Moved to...
        * typed-splay-tree.cc: ...here.
        * ubsan.c: Moved to...
        * ubsan.cc: ...here.
        * valtrack.c: Moved to...
        * valtrack.cc: ...here.
        * value-prof.c: Moved to...
        * value-prof.cc: ...here.
        * var-tracking.c: Moved to...
        * var-tracking.cc: ...here.
        * varasm.c: Moved to...
        * varasm.cc: ...here.
        * varpool.c: Moved to...
        * varpool.cc: ...here.
        * vec-perm-indices.c: Moved to...
        * vec-perm-indices.cc: ...here.
        * vec.c: Moved to...
        * vec.cc: ...here.
        * vmsdbgout.c: Moved to...
        * vmsdbgout.cc: ...here.
        * vr-values.c: Moved to...
        * vr-values.cc: ...here.
        * vtable-verify.c: Moved to...
        * vtable-verify.cc: ...here.
        * web.c: Moved to...
        * web.cc: ...here.
        * xcoffout.c: Moved to...
        * xcoffout.cc: ...here.

2022-01-17  qing zhao  <qing.zhao@oracle.com>

        * tree-ssa-uninit.c (warn_uninit): Delete the 4th parameter. Handle
        .DEFERRED_INIT call with an anonymous SSA_NAME specially.
        (check_defs): Handle .DEFERRED_INIT call with an anonymous SSA_NAME
        specially.
        (warn_uninit_phi_uses): Delete the 4th actual when call warn_uninit.
        (warn_uninitialized_vars): Likewise.
        (warn_uninitialized_phi): Likewise.

2022-01-17  Jason Merrill  <jason@redhat.com>

        * diagnostic.h (struct diagnostic_context): Add includes_seen.
        * diagnostic.c (diagnostic_initialize): Initialize it.
        (diagnostic_finish): Clean it up.
        (includes_seen): New function.
        (diagnostic_report_current_module): Use it.

2022-01-17  Richard Biener  <rguenther@suse.de>

        PR middle-end/101292
        * diagnostic-spec.c (copy_warning): Make sure to not
        reference old hashtable content on possible resize.
        * warning-control.cc (copy_warning): Likewise.

2022-01-17  Jakub Jelinek  <jakub@redhat.com>

        PR target/103973
        * tree-cfg.h (cond_only_block_p): Declare.
        * tree-ssa-phiopt.c (cond_only_block_p): Move function to ...
        * tree-cfg.c (cond_only_block_p): ... here.  No longer static.
        * optabs.def (spaceship_optab): New optab.
        * internal-fn.def (SPACESHIP): New internal function.
        * internal-fn.h (expand_SPACESHIP): Declare.
        * internal-fn.c (expand_PHI): Formatting fix.
        (expand_SPACESHIP): New function.
        * tree-ssa-math-opts.c (optimize_spaceship): New function.
        (math_opts_dom_walker::after_dom_children): Use it.
        * config/i386/i386.md (spaceship<mode>3): New define_expand.
        * config/i386/i386-protos.h (ix86_expand_fp_spaceship): Declare.
        * config/i386/i386-expand.c (ix86_expand_fp_spaceship): New function.
        * doc/md.texi (spaceship@var{m}3): Document.

2022-01-17  Kewen Lin  <linkw@linux.ibm.com>

        * config/rs6000/altivec.md (altivec_vreveti2): Remove.
        * config/rs6000/vsx.md (*vsx_extract_si, *vsx_extract_si_<uns>float_df,
        *vsx_extract_si_<uns>float_<mode>, *vsx_insert_extract_v4sf_p9): Use
        known constant values to simplify code.

2022-01-17  Haochen Gui  <guihaoc@gcc.gnu.org>

        PR target/103124
        * config/rs6000/vsx.md (split pattern for TI to V1TI move): Defined.

2022-01-16  wwwhhhyyy  <hongyu.wang@intel.com>

        * config/i386/i386.h (TARGET_DEST_FALSE_DEP_FOR_GLC): New macro.
        * config/i386/sse.md (<avx512>_<complexopname>_<mode><maskc_name><round_name>):
        Insert zero-idiom in output template when attr enabled, set new attribute to
        true for non-mask/maskz insn.
        (avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>):
        Likewise.
        (avx512dq_mul<mode>3<mask_name>): Likewise.
        (<avx2_avx512>_permvar<mode><mask_name>): Likewise.
        (avx2_perm<mode>_1<mask_name>): Likewise.
        (avx512f_perm<mode>_1<mask_name>): Likewise.
        (avx512dq_rangep<mode><mask_name><round_saeonly_name>): Likewise.
        (avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>):
        Likewise.
        (<avx512>_getmant<mode><mask_name><round_saeonly_name>): Likewise.
        (avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
        Likewise.
        * config/i386/subst.md (mask3_dest_false_dep_for_glc_cond): New
        subst_attr.
        (mask4_dest_false_dep_for_glc_cond): Likewise.
        (mask6_dest_false_dep_for_glc_cond): Likewise.
        (mask10_dest_false_dep_for_glc_cond): Likewise.
        (maskc_dest_false_dep_for_glc_cond): Likewise.
        (mask_scalar4_dest_false_dep_for_glc_cond): Likewise.
        (mask_scalarc_dest_false_dep_for_glc_cond): Likewise.
        * config/i386/x86-tune.def (X86_TUNE_DEST_FALSE_DEP_FOR_GLC): New
        DEF_TUNE enabled for m_SAPPHIRERAPIDS and m_ALDERLAKE

2022-01-15  Martin Sebor  <msebor@redhat.com>

        PR c/63272
        * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
        -Wdangling-pointer.
        * doc/invoke.texi (-Wdangling-pointer): Document new option.
        * gimple-ssa-warn-access.cc (pass_waccess::clone): Set new member.
        (pass_waccess::check_pointer_uses): New function.
        (pass_waccess::gimple_call_return_arg): New function.
        (pass_waccess::gimple_call_return_arg_ref): New function.
        (pass_waccess::check_call_dangling): New function.
        (pass_waccess::check_dangling_uses): New function overloads.
        (pass_waccess::check_dangling_stores): New function.
        (pass_waccess::check_dangling_stores): New function.
        (pass_waccess::m_clobbers): New data member.
        (pass_waccess::m_func): New data member.
        (pass_waccess::m_run_number): New data member.
        (pass_waccess::m_check_dangling_p): New data member.
        (pass_waccess::check_alloca): Check m_early_checks_p.
        (pass_waccess::check_alloc_size_call): Same.
        (pass_waccess::check_strcat): Same.
        (pass_waccess::check_strncat): Same.
        (pass_waccess::check_stxcpy): Same.
        (pass_waccess::check_stxncpy): Same.
        (pass_waccess::check_strncmp): Same.
        (pass_waccess::check_memop_access): Same.
        (pass_waccess::check_read_access): Same.
        (pass_waccess::check_builtin): Call check_pointer_uses.
        (pass_waccess::warn_invalid_pointer): Add arguments.
        (is_auto_decl): New function.
        (pass_waccess::check_stmt): New function.
        (pass_waccess::check_block): Call check_stmt.
        (pass_waccess::execute): Call check_dangling_uses,
        check_dangling_stores.  Empty m_clobbers.
        * passes.def (pass_warn_access): Invoke pass two more times.

2022-01-15  Martin Sebor  <msebor@redhat.com>

        PR tree-optimization/80532
        * common.opt (-Wuse-after-free): New options.
        * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
        OPT_Wreturn_local_addr and OPT_Wuse_after_free_.
        * diagnostic-spec.h (NW_DANGLING): New enumerator.
        * doc/invoke.texi (-Wuse-after-free): Document new option.
        * gimple-ssa-warn-access.cc (pass_waccess::check_call): Rename...
        (pass_waccess::check_call_access): ...to this.
        (pass_waccess::check): Rename...
        (pass_waccess::check_block): ...to this.
        (pass_waccess::check_pointer_uses): New function.
        (pass_waccess::gimple_call_return_arg): New function.
        (pass_waccess::warn_invalid_pointer): New function.
        (pass_waccess::check_builtin): Handle free and realloc.
        (gimple_use_after_inval_p): New function.
        (get_realloc_lhs): New function.
        (maybe_warn_mismatched_realloc): New function.
        (pointers_related_p): New function.
        (pass_waccess::check_call): Call check_pointer_uses.
        (pass_waccess::execute): Compute and free dominance info.

2022-01-15  Uroš Bizjak  <ubizjak@gmail.com>

        * config/i386/i386-expand.c (ix86_expand_sse_movcc): Use
        expand_simple_unop and expand_simple_binop instead of manually
        constructing NOT, AND and IOR RTXes.  Use vector_all_ones_operand
        consistently.  Eliminate common subexpressions and simplify code.
        * config/i386/sse.md (<any_logic:code><MODEF:mode>3): New expander.
        (<any_logic:code><MODEF:mode>3): Make public.

2022-01-14  Eric Botcazou  <ebotcazou@adacore.com>

        * ipa-param-manipulation.c (ipa_dump_adjusted_parameters): Dump
        reverse flag as "reverse" for the sake of consistency.
        * ipa-sra.c: Fix copyright year.
        (ipa_sra_function_summaries::duplicate): Copy the reverse flag.
        (dump_isra_access): Tweak dump line.
        (isra_write_node_summary): Write the reverse flag.
        (isra_read_node_info): Read it.
        (pull_accesses_from_callee): Test its consistency and copy it.

2022-01-14  Richard Sandiford  <richard.sandiford@arm.com>

        PR middle-end/104026
        * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize
        partial_load_store_bias.

2022-01-14  Martin Sebor  <msebor@redhat.com>

        PR middle-end/101475
        * pointer-query.cc (handle_component_ref): Use the size of
        the enclosing object if it's smaller than the member.

2022-01-14  Martin Liska  <mliska@suse.cz>

        * configure: Regenerate.

2022-01-14  Uroš Bizjak  <ubizjak@gmail.com>

        * config/i386/i386.md (*add<mode>_1_slp"):
        Mark alternative 1 output operand earlyclobbered.
        (*sub<mode>_1_slp): Ditto.
        (*and<mode>_1_slp): Ditto.
        (*<code><mode>_1_slp): Ditto.
        (*neg<mode>_1_slp): Ditto.
        (*one_cmpl<mode>_1_slp): Ditto.
        (*ashl<mode>3_1_slp): Ditto.
        (*<insn><mode>3_1_slp): Ditto.
        (*<insn><mode>3_1_slp): Ditto.

2022-01-14  Kewen Lin  <linkw@linux.ibm.com>

        PR tree-optimization/104015
        * tree-vect-loop.c (vect_analyze_loop): Check
        param_vect_partial_vector_usage for supports_partial_vectors.

2022-01-14  Jakub Jelinek  <jakub@redhat.com>

        PR c++/89074
        * fold-const.c (address_compare): Punt on comparison of address of
        one object with address of end of another object if
        folding_initializer.

2022-01-14  Jakub Jelinek  <jakub@redhat.com>

        PR target/98737
        * tree-ssa-forwprop.c (simplify_builtin_call): Canonicalize
        __atomic_fetch_op (p, x, y) op x into __atomic_op_fetch (p, x, y)
        and __atomic_op_fetch (p, x, y) iop x into
        __atomic_fetch_op (p, x, y).

2022-01-14  Claudiu Zissulescu  <claziss@synopsys.com>

        * config/arc/arc.h (DWARF_FRAME_REGNUM): Update definition.
        (DWARF_FRAME_RETURN_COLUMN): Use RETURN_ADDR_REGNUM macro.
        (INCOMING_RETURN_ADDR_RTX): Likewise.
        (DWARF_ALT_FRAME_RETURN_COLUMN): Define.

2022-01-14  Claudiu Zissulescu  <claziss@synopsys.com>

        * config/arc/arc.c (arc_compute_frame_size): Remove condition when
        computin checking accumulator regs.
        (arc_expand_prologue): Update comments.
        (arc_expand_epilogue): Likewise.

2022-01-14  Roger Sayle  <roger@nextmovesoftware.com>
            Uroš Bizjak  <ubizjak@gmail.com>

        * config/i386/i386-expand.c (ix86_expand_v1ti_to_ti): Use force_reg.
        (ix86_expand_ti_to_v1ti): Use force_reg.
        (ix86_expand_v1ti_shift): Use force_reg.
        (ix86_expand_v1ti_rotate): Use force_reg.
        (ix86_expand_v1ti_ashiftrt): Provide new three operation
        implementations for shifts by 111..126 bits.  Use force_reg.

2022-01-14  Martin Liska  <mliska@suse.cz>

        * common/config/arm/arm-common.c (arm_target_mode): Fix
        warning: unterminated quoting directive [-Wformat=].

2022-01-14  Siddhesh Poyarekar  <siddhesh@gotplt.org>

        PR tree-optimization/104009
        * tree-object-size.c (compute_builtin_object_size): Bail out on
        negative offset.
        (plus_stmt_object_size): Return maximum of wholesize and minimum
        of 0 for negative offset.

2022-01-14  liuhongt  <hongtao.liu@intel.com>

        PR target/104001
        PR target/94790
        PR target/104014
        * config/i386/i386.md (*xor2andn): Refine predicate of
        operands[0] from nonimmediate_operand to
        register_operand, remove TARGET_AVX512BW from condition.

2022-01-14  David Malcolm  <dmalcolm@redhat.com>

        * doc/extend.texi (Function Attributes): Note that "tainted_args" can
        be used on field decls.
        (Common Function Attributes): Add entry on "tainted_args" attribute.

2022-01-13  Anthony Sharp  <anthonysharp15@gmail.com>
            Jason Merrill  <jason@redhat.com>

        PR c++/70417
        * doc/invoke.texi: Documentation for Wmissing-template-keyword.

2022-01-13  Uroš Bizjak  <ubizjak@gmail.com>

        PR target/103861
        * config/i386/i386.md (*ashlqi_ext<mode>_2): New insn pattern.
        (*<any_shiftrt:insn>qi_ext<mode>_2): Ditto.
        * config/i386/mmx.md (<any_shift:insn>v2qi):
        New insn_and_split pattern.

2022-01-13  Robin Dapp  <rdapp@linux.ibm.com>

        * internal-fn.c (expand_partial_load_optab_fn): Add bias.
        (expand_partial_store_optab_fn): Likewise.
        (internal_len_load_store_bias): New function.
        * internal-fn.h (VECT_PARTIAL_BIAS_UNSUPPORTED): New define.
        (internal_len_load_store_bias): New function.
        * tree-vect-loop-manip.c (vect_set_loop_controls_directly): Set bias.
        (vect_set_loop_condition_partial_vectors): Add header_seq parameter.
        * tree-vect-loop.c (vect_verify_loop_lens): Verify bias.
        (vect_estimate_min_profitable_iters): Account for bias.
        (vect_get_loop_len): Add bias-adjusted length.
        * tree-vect-stmts.c (vectorizable_store): Use.
        (vectorizable_load): Use.
        * tree-vectorizer.h (struct rgroup_controls): Add bias-adjusted length.
        (LOOP_VINFO_PARTIAL_LOAD_STORE_BIAS): New macro.
        * config/rs6000/vsx.md: Use const0 bias predicate.
        * doc/md.texi: Document bias value.

2022-01-13  Andrew MacLeod  <amacleod@redhat.com>

        PR tree-optimization/83072
        PR tree-optimization/83073
        PR tree-optimization/97909
        * fold-const.c (expr_not_equal_to): Use a multi-range class.

2022-01-13  Andrew MacLeod  <amacleod@redhat.com>

        PR tree-optimization/96707
        * range-op.cc (operator_rshift::lhs_op1_relation): New.

2022-01-13  Uroš Bizjak  <ubizjak@gmail.com>

        * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
        Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
        (negv2qi splitters): Use lowpart_subreg instead of
        gen_lowpart to create subreg.
        (<plusminus:insn>v2qi3): Disparage GPR alternative a bit.
        Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
        (<plusminus:insn>v2qi3 splitters): Use lowpart_subreg instead of
        gen_lowpart to create subreg.
        * config/i386/i386.md (*subqi_ext<mode>_2): Move.

2022-01-13  Uroš Bizjak  <ubizjak@gmail.com>

        PR target/104003
        * config/i386/mmx.md (*xop_pcmov_<mode>): Use VI_16_32 mode iterator.

2022-01-13  Martin Liska  <mliska@suse.cz>

        * common/config/arm/arm-common.c (arm_target_mode): Wrap
        keywords with %<, %> and remove trailing punctuation char.
        (arm_canon_arch_option_1): Likewise.
        (arm_asm_auto_mfpu): Likewise.
        * config/arm/arm-builtins.c (arm_expand_builtin): Likewise.
        * config/arm/arm.c (arm_options_perform_arch_sanity_checks): Likewise.
        (use_vfp_abi): Likewise.
        (aapcs_vfp_is_call_or_return_candidate): Likewise.
        (arm_handle_cmse_nonsecure_entry): Likewise.
        (arm_handle_cmse_nonsecure_call): Likewise.
        (thumb1_md_asm_adjust): Likewise.

2022-01-13  Paul A. Clarke  <pc@us.ibm.com>

        * config/rs6000/smmintrin.h (_mm_round_pd, _mm_round_ps,
        _mm_round_sd, _mm_round_ss, _MM_FROUND_TO_NEAREST_INT,
        _MM_FROUND_TO_ZERO, _MM_FROUND_TO_POS_INF, _MM_FROUND_TO_NEG_INF,
        _MM_FROUND_CUR_DIRECTION, _MM_FROUND_RAISE_EXC, _MM_FROUND_NO_EXC,
        _MM_FROUND_NINT, _MM_FROUND_FLOOR, _MM_FROUND_CEIL, _MM_FROUND_TRUNC,
        _MM_FROUND_RINT, _MM_FROUND_NEARBYINT): New.
        (_mm_ceil_pd, _mm_ceil_ps, _mm_ceil_sd, _mm_ceil_ss, _mm_floor_pd,
        _mm_floor_ps, _mm_floor_sd, _mm_floor_ss): Convert from function to
        macro.

2022-01-13  Jakub Jelinek  <jakub@redhat.com>

        PR tree-optimization/103989
        * tree-inline.c (setup_one_parameter): Don't copy parms with
        empty type.

2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>

        * tree-streamer-out.c (pack_ts_base_value_fields): Don't pack
        'TYPE_ADDR_SPACE' for offloading.
        * tree-streamer-in.c (unpack_ts_base_value_fields): Don't unpack
        'TYPE_ADDR_SPACE' for offloading.

2022-01-13  Julian Brown  <julian@codesourcery.com>
            Thomas Schwinge  <thomas@codesourcery.com>

        * omp-oacc-kernels-decompose.cc (add_wait): New function, split out
        of...
        (add_async_clauses_and_wait): ...here. Call new outlined function.
        (decompose_kernels_region_body): Add wait at the end of
        explicitly-asynchronous kernels regions.

2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>

        PR middle-end/100280
        * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
        Mark variables used in synthesized data clauses as addressable.

2022-01-13  Martin Liska  <mliska@suse.cz>

        * config/epiphany/epiphany.c (epiphany_mode_priority):
        Use gcc_unreachable for not handled cases.

2022-01-13  Martin Liska  <mliska@suse.cz>

        * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
        Use %qs format specifier.
        (epiphany_override_options): Wrap keyword in %<, %>.

2022-01-13  Haochen Jiang  <haochen.jiang@intel.com>

        PR target/94790
        * config/i386/i386.md (*xor2andn): New define_insn_and_split.

2022-01-13  Xionghu Luo  <luoxhu@linux.ibm.com>

        * config/rs6000/altivec.md (sldoi_to_mov<mode>): New.

2022-01-12  Uroš Bizjak  <ubizjak@gmail.com>

        PR target/100637
        PR target/103861
        * config/i386/i386-expand.c (ix86_emit_vec_binop): New static function.
        (ix86_expand_sse_movcc): Use ix86_emit_vec_binop instead of gen_rtx_X
        when constructing vector logic RTXes.
        (expand_vec_perm_pshufb2): Ditto.
        * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
        (<plusminus:insn>v2qi3): Ditto.
        (vcond<mode><mode>): Re-enable for TARGET_SSE2.
        (vcondu<mode><mode>): Ditto.
        (vcond_mask_<mode><mode>): Ditto.
        (one_cmpl<VI_32:mode>2): Remove expander.
        (one_cmpl<VI_16_32:mode>2): Rename from one_cmplv2qi.
        Use VI_16_32 mode iterator.
        (one_cmpl<VI_16_32:mode>2 splitters): Use VI_16_32 mode iterator.
        Use lowpart_subreg instead of gen_lowpart to create subreg.
        (*andnot<VI_16_32:mode>3): Merge from "*andnot<VI_32:mode>" and
        "*andnotv2qi3" insn patterns using VI_16_32 mode iterator.
        Disparage GPR alternative a bit.  Add CC clobber.
        (*andnot<VI_16_32:mode>3 splitters): Use VI_16_32 mode iterator.
        Use lowpart_subreg instead of gen_lowpart to create subreg.
        (*<any_logic:code><VI_16_32:mode>3): Merge from
        "*<any_logic:code><VI_32:mode>" and "*<any_logic:code>v2qi3" insn patterns
        using VI_16_32 mode iterator.  Disparage GPR alternative a bit.
        Add CC clobber.
        (*<any_logic:code><VI_16_32:mode>3 splitters):Use VI_16_32 mode
        iterator.  Use lowpart_subreg instead of gen_lowpart to create subreg.

2022-01-12  Clément Chigot  <clement.chigot@atos.net>

        * configure.ac: Check sizeof ino_t and dev_t.
        (HOST_STAT_FOR_64BIT_INODES): New AC_DEFINE to provide stat
        syscall being able to handle 64bit inodes.
        * config.in: Regenerate.
        * configure: Regenerate.
        * incpath.c (HOST_STAT_FOR_64BIT_INODES): New define.
        (remove_duplicates): Use it.

2022-01-12  Andrew MacLeod  <amacleod@redhat.com>

        PR tree-optimization/103551
        * tree-vrp.c (execute_ranger_vrp): Always set EDGE_EXECUTABLE.

2022-01-12  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/103990
        * tree-pass.h (tail_merge_optimize): Drop unused argument.
        * tree-ssa-tail-merge.c (tail_merge_optimize): Likewise.
        * tree-ssa-pre.c (pass_pre::execute): Retain TODO_cleanup_cfg
        and adjust call to tail_merge_optimize.

2022-01-12  Andre Vieira  <andre.simoesdiasvieira@arm.com>

        * tree-vect-loop.c (vect-analyze-loop): Handle scenario where target
        does not add autovectorize_vector_modes.

2022-01-12  Martin Liska  <mliska@suse.cz>

        * config/aarch64/aarch64.c (aarch64_parse_boolean_options): Use
        %qs where possible.
        (aarch64_parse_sve_width_string): Likewise.
        (aarch64_override_options_internal): Likewise.
        (aarch64_print_hint_for_extensions): Likewise.
        (aarch64_validate_sls_mitigation): Likewise.
        (aarch64_handle_attr_arch): Likewise.
        (aarch64_handle_attr_cpu): Likewise.
        (aarch64_handle_attr_tune): Likewise.
        (aarch64_handle_attr_isa_flags): Likewise.

2022-01-12  Martin Liska  <mliska@suse.cz>

        * config.gcc: Include elfos.h before ${tm_file}.

2022-01-12  Hans-Peter Nilsson  <hp@axis.com>

        * config/cris/cris.c: Quote identifiers in parameters to error
        and internal_error, and remove extraneous spaces with punctuation.
        * config/cris/cris.h (CRIS_ASSERT): When passing on stringified
        expression to internal_error, pass it as a parameter instead of
        appending it to the format part.

2022-01-12  Hans-Peter Nilsson  <hp@axis.com>

        * config/cris/cris.c (cris_postdbr_cmpelim): Parenthesize
        parameter to as_a.

2022-01-11  qing zhao  <qing.zhao@oracle.com>

        * gimplify.c (gimple_add_init_for_auto_var): Delete the 3rd argument.
        Change the 3rd argument of function .DEFERRED_INIT to the name of the
        decl.
        (gimplify_decl_expr): Delete the 3rd argument when call
        gimple_add_init_for_auto_var.
        * internal-fn.c (expand_DEFERRED_INIT): Update comments to reflect
        the 3rd argument change of function .DEFERRED_INIT.
        * tree-cfg.c (verify_gimple_call): Update comments and verification
        to reflect the 3rd argument change of function .DEFERRED_INIT.
        * tree-sra.c (generate_subtree_deferred_init): Delete the 3rd argument.
        (sra_modify_deferred_init): Change the 3rd argument of function
        .DEFERRED_INIT to the name of the decl.

2022-01-11  Thomas Koenig  <tkoenig@gcc.gnu.org>

        * flag-types.h (enum gfc_convert): Add flags for
        conversion.

2022-01-11  Michael Meissner  <meissner@the-meissners.org>

        * config/rs6000/rs6000.c (rs6000_option_override_internal): Remove
        checks for only C/C++ front ends before allowing the long double
        format to change without a warning.

2022-01-11  Richard Sandiford  <richard.sandiford@arm.com>

        PR rtl-optimization/103974
        * ira-int.h (ira_subloop_allocnos_can_differ_p): Take an
        extra argument, default true, that says whether old-reload
        targets should be excluded.
        * ira-color.c (color_pass): Pass false.

2022-01-11  Uroš Bizjak  <ubizjak@gmail.com>

        PR target/103861
        * config/i386/mmx.md (vcond<mode><mode>):
        Use VI_16_32 mode iterator.  Enable for TARGET_SSE4_1.
        (vcondu<mode><mode>): Ditto.
        (vcond_mask_<mode><mode>): Ditto.
        (mmx_pblendvb_v8qi): Rename from mmx_pblendvb64.
        (mmx_pblendvb_<mode>): Rename from mmx_pblendvb32.
        Use VI_16_32 mode iterator.
        * config/i386/i386-expand.c (ix86_expand_sse_movcc):
        Update for rename.  Handle V2QImode.
        (expand_vec_perm_blend): Update for rename.

2022-01-11  Jakub Jelinek  <jakub@redhat.com>

        PR c++/101597
        * tree.def (OBJ_TYPE_REF): Document type of OBJ_TYPE_REF_TOKEN.

2022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>

        PR middle-end/70090
        * tree-object-size.c (size_valid_p): New function.
        (size_for_offset): Remove OFFSET constness assertion.
        (addr_object_size): Build dynamic expressions for object
        sizes and use size_valid_p to decide if it is valid for the
        given OBJECT_SIZE_TYPE.
        (compute_builtin_object_size): Allow dynamic offsets when
        computing size at O0.
        (call_object_size): Call size_valid_p.
        (plus_stmt_object_size): Allow non-constant offset and use
        size_valid_p to decide if it is valid for the given
        OBJECT_SIZE_TYPE.

2022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>

        PR middle-end/70090
        * tree-object-size.c (alloc_object_size): Make and return
        non-constant size expression.
        (call_object_size): Return expression or unknown based on
        whether dynamic object size is requested.

2022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>

        PR middle-end/70090
        * tree-object-size.c: Include tree-dfa.h.
        (parm_object_size): New function.
        (collect_object_sizes_for): Call it.

2022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>

        PR middle-end/70090
        * builtins.c (fold_builtin_object_size): Adjust for dynamic size
        expressions.
        * tree-object-size.c: Include gimplify-me.h.
        (struct object_size_info): New member UNKNOWNS.
        (size_initval_p, size_usable_p, object_sizes_get_raw): New
        functions.
        (object_sizes_get): Return suitable gimple variable for
        object size.
        (bundle_sizes): New function.
        (object_sizes_set): Use it and handle dynamic object size
        expressions.
        (object_sizes_set_temp): New function.
        (size_for_offset): Adjust for dynamic size expressions.
        (emit_phi_nodes, propagate_unknowns, gimplify_size_expressions):
        New functions.
        (compute_builtin_object_size): Call gimplify_size_expressions
        for OST_DYNAMIC.
        (dynamic_object_size): New function.
        (cond_expr_object_size): Use it.
        (phi_dynamic_object_size): New function.
        (collect_object_sizes_for): Call it for OST_DYNAMIC.  Adjust to
        accommodate dynamic object sizes.

2022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
            Jakub Jelinek  <jakub@redhat.com>

        PR tree-optimization/103961
        * tree-object-size.c (plus_stmt_object_size): Always avoid
        computing offset for -1 size.

2022-01-11  Andrew MacLeod  <amacleod@redhat.com>

        PR tree-optimization/103821
        * range-op.cc (range_operator::fold_range): Only do precise ranges
        when there are not too many subranges.

2022-01-11  Richard Sandiford  <richard.sandiford@arm.com>

        * ira-costs.c (ira_tune_allocno_costs): Fix missing rclass
        definition in IRA_HARD_REGNO_ADD_COST_MULTIPLIER code.

2022-01-11  Roger Sayle  <roger@nextmovesoftware.com>
            Richard Biener  <rguenther@suse.de>

        * tree-ssa-math-opts.c (struct widen_mul_stats): Add a
        highpart_mults_inserted field.
        (convert_mult_to_highpart): New function to convert right shift
        of a widening multiply into a MULT_HIGHPART_EXPR.
        (math_opts_dom_walker::after_dom_children) [RSHIFT_EXPR]:
        Call new convert_mult_to_highpart function.
        (pass_optimize_widening_mul::execute): Add a statistics counter
        for tracking "highpart multiplications inserted" events.

2022-01-11  Xionghu Luo  <luoxhu@linux.ibm.com>

        PR target/102239
        * config/rs6000/rs6000-protos.h (rs6000_is_valid_rotate_dot_mask): New
        declare.
        * config/rs6000/rs6000.c (rs6000_is_valid_rotate_dot_mask): New
        function.
        * config/rs6000/rs6000.md (*branch_anddi3_dot): New.

2022-01-11  Olivier Hainque  <hainque@adacore.com>

        * gcc.c (driver_handle_option): State --sysroot as
        validated.

2022-01-11  Kewen Lin  <linkw@linux.ibm.com>

        * config/rs6000/rs6000.c (rs6000_disable_incompatible_switches): Remove
        useless related to option -mno-power10.

2022-01-11  Haochen Jiang  <haochen.jiang@intel.com>

        PR target/53652
        * config/i386/sse.md (*andnot<mode>3): Extend predicate of
        operands[1] from register_operand to vector_operand.

2022-01-10  Uroš Bizjak  <ubizjak@gmail.com>

        PR target/103861
        * config/i386/i386-expand.c (ix86_expand_int_sse_cmp):
        Handle V2QImode.
        * config/i386/mmx.md (<sat_plusminus:insn><mode>3):
        Use VI1_16_32 mode iterator.
        (*eq<mode>3): Ditto.
        (*gt<mode>3): Ditto.
        (*xop_maskcmp<mode>3): Ditto.
        (*xop_maskcmp_uns<mode>3): Ditto.
        (vec_cmp<mode><mode>): Ditto.
        (vec_cmpu<mode><mode>): Ditto.

2022-01-10  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/103948
        * tree-vect-generic.c (expand_vector_condition): Return true if
        all ones vector is returned for true, all zeros vector for false
        and the target defines corresponding vec_cmp{,u}MN named RTX pattern.

2022-01-10  Paul A. Clarke  <pc@us.ibm.com>

        * config/rs6000/smmintrin.h (_mm_blendv_epi8): Use vec_blendv
        when _ARCH_PWR10. Use signed types.
        (_mm_blendv_ps): Use vec_blendv when _ARCH_PWR10.
        (_mm_blendv_pd): Likewise.

2022-01-10  Andre Vieira  <andre.simoesdiasvieira@arm.com>

        * tree-vectorizer.c (better_epilogue_loop_than_p): Round factors up for
        epilogue costing.
        * tree-vect-loop.c (vect_analyze_loop): Re-analyze all modes for
        epilogues, unless we are guaranteed that we can't have partial vectors.
        * genopinit.c: (partial_vectors_supported): Generate new function.

2022-01-10  Jakub Jelinek  <jakub@redhat.com>

        PR target/102024
        * config/i386/i386.c (classify_argument): Add zero_width_bitfields
        argument, when seeing DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD bitfields,
        always ignore them, when seeing other zero sized bitfields, either
        set zero_width_bitfields to 1 and ignore it or if equal to 2 process
        it.  Pass it to recursive calls.  Add wrapper
        with old arguments and diagnose ABI differences for C structures
        with zero width bitfields.  Formatting fixes.

2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>

        PR rtl-optimization/98782
        * ira-int.h (ira_soft_conflict): Declare.
        * ira-color.c (max_soft_conflict_loop_depth): New constant.
        (ira_soft_conflict): New function.
        (spill_soft_conflicts): Likewise.
        (assign_hard_reg): Use them to handle the case described by
        the comment above ira_soft_conflict.
        (improve_allocation): Likewise.
        * ira.c (check_allocation): Allow allocnos with "soft" conflicts
        to share the same register.

2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>

        PR rtl-optimization/98782
        * ira-int.h (ira_caller_save_cost): New function.
        (ira_caller_save_loop_spill_p): Likewise.
        * ira-build.c (ira_propagate_hard_reg_costs): Test whether it is
        cheaper to spill a call-clobbered register throughout a loop rather
        than spill it around each individual call.  If so, treat all
        call-clobbered registers as conflicts and...
        (propagate_allocno_info): ...do not propagate call information
        from the child to the parent.
        * ira-color.c (move_spill_restore): Update accordingly.
        * ira-costs.c (ira_tune_allocno_costs): Use ira_caller_save_cost.

2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>

        PR rtl-optimization/98782
        * ira-int.h (ira_allocno::might_conflict_with_parent_p): New field.
        (ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P): New macro.
        (ira_single_region_allocno_p): New function.
        (ira_total_conflict_hard_regs): Likewise.
        * ira-build.c (ira_create_allocno): Initialize
        ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P.
        (ira_propagate_hard_reg_costs): New function.
        (propagate_allocno_info): Use it.  Try to avoid propagating
        hard register conflicts to parent allocnos if we can handle
        the conflicts by spilling instead.  Limit the propagated
        register costs to the cost of spilling throughout the child loop.
        * ira-color.c (color_pass): Use ira_single_region_allocno_p to
        test whether a child and parent allocno can share the same
        register.
        (move_spill_restore): Adjust for the new behavior of
        propagate_allocno_info.

2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>

        PR rtl-optimization/98782
        * ira-int.h (ira_subloop_allocnos_can_differ_p): New function,
        extracted from...
        * ira-color.c (color_pass): ...here.

2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>

        PR rtl-optimization/98782
        * ira-color.c (color_pass): Add comments to describe the spill costs.
        (move_spill_restore): Likewise.  Fix reversed calculation.

2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>

        PR rtl-optimization/98782
        * ira-int.h (ira_loop_border_costs): New class.
        * ira-color.c (ira_loop_border_costs::ira_loop_border_costs):
        New constructor.
        (calculate_allocno_spill_cost): Use ira_loop_border_costs.
        (color_pass): Likewise.
        (move_spill_restore): Likewise.

2022-01-10  Eric Botcazou  <ebotcazou@adacore.com>

        PR target/103465
        * coretypes.h (unwind_info_type): Swap UI_SEH and UI_TARGET.

2022-01-10  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/100359
        * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
        Allow non-growing peeling with !allow_peel and UL_ALL.

2022-01-08  Roger Sayle  <roger@nextmovesoftware.com>

        * config/i386/i386-expand.c (ix86_expand_vector_move): Add
        special case for TImode to V1TImode moves, going via V2DImode.

2022-01-08  Jakub Jelinek  <jakub@redhat.com>

        PR c++/89074
        * match.pd ((ptr) (x p+ y) p+ z -> (ptr) (x p+ (y + z))): New GENERIC
        simplification.

2022-01-08  David Malcolm  <dmalcolm@redhat.com>

        * doc/analyzer.texi
        (Special Functions for Debugging the Analyzer): Document
        __analyzer_dump_escaped.

2022-01-08  David Malcolm  <dmalcolm@redhat.com>

        * doc/analyzer.texi (Other Debugging Techniques): Document
        region::is_named_decl_p.

2022-01-07  Andrew Pinski  <apinski@marvell.com>

        PR target/102941
        * config/arm/aarch-common.c (arm_md_asm_adjust):
        Use a temp if !REG_P.

2022-01-07  Uroš Bizjak  <ubizjak@gmail.com>

        * config/i386/mmx.md (*move<V_32:mode>_internal): Add isa attribute.
        (*movv2qi_internal): Remve sse2 requirement for alternatives 4,5.

2022-01-07  liuhongt  <hongtao.liu@intel.com>

        PR rtl-optimization/103750
        * fwprop.c (forward_propagate_into): Allow propagations from
        inner loop to outer loop.

2022-01-07  Roger Sayle  <roger@nextmovesoftware.com>

        * config/nvptx/nvptx.md (*cnot<mode>2): New define_insn.

2022-01-07  Haochen Gui  <guihaoc@gcc.gnu.org>

        * config/rs6000/rs6000.md (rs6000_mffscrni): Define.
        (rs6000_set_fpscr_rn): Change the type of operand[0] from DI to SI.
        Call gen_rs6000_mffscrni when operand[0] is a const_0_to_3_operand.

2022-01-07  liuhongt  <hongtao.liu@intel.com>

        * config/i386/sse.md
        (*<avx512>_eq<mode>3<mask_scalar_merge_name>_1): Extend to
        UNSPEC_PCMP_UNSIGNED.

2022-01-07  liuhongt  <hongtao.liu@intel.com>

        PR target/103753
        * config/i386/i386-expand.c (ix86_expand_vector_set): Not use
        gen_avx2_pblendph_1 when elt == 0.
        * config/i386/sse.md (avx2_pblendph): Rename to ..
        (avx2_pblend<ssemodesuffix>_1).. this, and extend to V16HI.
        (*avx2_pblendw): Rename to ..
        (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
        (avx2_pblendw): Rename to ..
        (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
        (blendsuf): Removed.
        (sse4_1_pblend<blendsuf>): Renamed to ..
        (sse4_1_pblend<ssemodesuffix>): .. this.

2022-01-06  H.J. Lu  <hjl.tools@gmail.com>

        PR target/103925
        * config/i386/i386.c (ix86_output_indirect_function_return):
        Generate INT3 after indirect jmp for -mharden-sls=indirect-jmp.

2022-01-06  H.J. Lu  <hjl.tools@gmail.com>

        PR target/102952
        * config/i386/i386-opts.h (harden_sls): Replace
        harden_sls_indirect_branch with harden_sls_indirect_jmp.
        * config/i386/i386.c (ix86_output_jmp_thunk_or_indirect):
        Likewise.
        (ix86_output_indirect_jmp): Likewise.
        (ix86_output_call_insn): Likewise.
        * config/i386/i386.opt: Replace indirect-branch with
        indirect-jmp.  Replace harden_sls_indirect_branch with
        harden_sls_indirect_jmp.
        * doc/invoke.texi (-harden-sls=): Replace indirect-branch with
        indirect-jmp.

2022-01-06  Uroš Bizjak  <ubizjak@gmail.com>

        * config/i386/i386.c (ix86_output_ssemov) <MODE_DI>:
        Add %q modifier for operands in general registers.
        <MODE_SI>: Add %q modifier for operands in general registers.
        * config/i386/i386.md (*movhi_internal): Change type attribute of
        xmm-gpr interunit alternatives 9,10 to ssemov and mode attribute
        to SImode for non-avx512fp16 targets.
        (*movhf_internal): Ditto for xmm-gpr interunit alternatives 6,8.
        * config/i386/mmx.md (*movv2qi_internal):
        Ditto for xmm-gpr interunit alternatives 8,9.

2022-01-06  Kito Cheng  <kito.cheng@sifive.com>

        * common/config/riscv/riscv-common.c (riscv_implied_info): Add
        vector extensions.
        (riscv_ext_version_table): Add version info for vector extensions.
        (riscv_ext_flag_table): Add option mask for vector extensions.
        * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): New.
        (MASK_VECTOR_EEW_64): New.
        (MASK_VECTOR_EEW_FP_32): New.
        (MASK_VECTOR_EEW_FP_64): New.
        (MASK_ZVL32B): New.
        (MASK_ZVL64B): New.
        (MASK_ZVL128B): New.
        (MASK_ZVL256B): New.
        (MASK_ZVL512B): New.
        (MASK_ZVL1024B): New.
        (MASK_ZVL2048B): New.
        (MASK_ZVL4096B): New.
        (MASK_ZVL8192B): New.
        (MASK_ZVL16384B): New.
        (MASK_ZVL32768B): New.
        (MASK_ZVL65536B): New.
        (TARGET_ZVL32B): New.
        (TARGET_ZVL64B): New.
        (TARGET_ZVL128B): New.
        (TARGET_ZVL256B): New.
        (TARGET_ZVL512B): New.
        (TARGET_ZVL1024B): New.
        (TARGET_ZVL2048B): New.
        (TARGET_ZVL4096B): New.
        (TARGET_ZVL8192B): New.
        (TARGET_ZVL16384B): New.
        (TARGET_ZVL32768B): New.
        (TARGET_ZVL65536B): New.
        * config/riscv/riscv.opt (Mask(VECTOR)): New.
        (riscv_vector_eew_flags): New.
        (riscv_zvl_flags): New.

2022-01-06  Kito Cheng  <kito.cheng@sifive.com>

        * common/config/riscv/riscv-common.c
        (riscv_subset_list::parse_multiletter_ext): Allow ext. name has
        digit.

2022-01-06  Jakub Jelinek  <jakub@redhat.com>

        PR tree-optimization/103899
        * expr.c (expand_expr_real_1): Add a workaround for bogus uninit
        warning by moving context variable to the only spot where it is used
        and moving gcc_assert into if body.

2022-01-06  Jakub Jelinek  <jakub@redhat.com>

        PR rtl-optimization/103908
        * ifcvt.c (bb_valid_for_noce_process_p): Punt on bbs ending with
        asm goto.

2022-01-05  Bill Schmidt  <wschmidt@linux.ibm.com>

        PR target/103622
        * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
        Skip over instances with undefined function types.

2022-01-05  Andrew Pinski  <apinski@marvell.com>

        PR target/103910
        * config/i386/i386.h (x86_mfence): Mark with GTY.

2022-01-05  Uroš Bizjak  <ubizjak@gmail.com>

        PR target/103861
        * config/i386/mmx.md (VI_16_32): New mode iterator.
        (VI1_16_32): Ditto.
        (mmxvecsize): Handle V2QI mode.
        (<smaxmin:code><mode>3): Rename from <smaxmin:code>v4qi3.
        Use VI1_16_32 mode iterator.
        (<umaxmin:code><mode>3): Rename from <umaxmin:code>v4qi3.
        Use VI1_16_32 mode iterator.
        (abs<mode>2): Use VI_16_32 mode iterator.
        (uavgv2qi3_ceil): New insn pattern.

2022-01-05  Martin Sebor  <msebor@redhat.com>

        * gimple-ssa-warn-access.cc (pass_waccess::maybe_warn_memmodel): Use
        %qs to avoid -Wformat-diag.

2022-01-05  Uroš Bizjak  <ubizjak@gmail.com>

        PR target/103915
        * config/i386/mmx.md (one_cmplv2qi2): Change
        alternatives 1,2 type from sselog to sselog1.

2022-01-05  Uroš Bizjak  <ubizjak@gmail.com>

        PR target/103905
        * config/i386/i386-expand.c (expand_vec_perm_pshufb): Fix number of
        narrow mode remapped elements for !one_operand_p case.

2022-01-05  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/103816
        * tree-vect-data-refs.c (vect_analyze_group_access_1): Also
        check DR_GROUP_GAP compute for overflow and representability.

2022-01-05  Jakub Jelinek  <jakub@redhat.com>

        PR fortran/103691
        * gimple-fold.c (fold_stmt_1): Don't call maybe_fold_reference
        for DEBUG stmts with ADDR_EXPR gimple_debug_bind_get_value,
        it can do unwanted rhs folding like &a[0] into &2.0 etc.

2022-01-05  Kewen Lin  <linkw@linux.ibm.com>

        PR ipa/102059
        * config/rs6000/rs6000.c (TARGET_NEED_IPA_FN_TARGET_INFO): New macro.
        (TARGET_UPDATE_IPA_FN_TARGET_INFO): Likewise.
        (rs6000_need_ipa_fn_target_info): New function.
        (rs6000_update_ipa_fn_target_info): Likewise.
        (rs6000_can_inline_p): Adjust for ipa function summary target info.
        * config/rs6000/rs6000.h (RS6000_FN_TARGET_INFO_HTM): New macro.
        * ipa-fnsummary.c (ipa_dump_fn_summary): Adjust for ipa function
        summary target info.
        (analyze_function_body): Adjust for ipa function summary target info
        and call hook rs6000_need_ipa_fn_target_info and
        rs6000_update_ipa_fn_target_info.
        (ipa_merge_fn_summary_after_inlining): Adjust for ipa function summary
        target info.
        (inline_read_section): Likewise.
        (ipa_fn_summary_write): Likewise.
        * ipa-fnsummary.h (ipa_fn_summary::target_info): New member.
        * doc/tm.texi: Regenerate.
        * doc/tm.texi.in (TARGET_UPDATE_IPA_FN_TARGET_INFO): Document new hook.
        (TARGET_NEED_IPA_FN_TARGET_INFO): Likewise.
        * target.def (update_ipa_fn_target_info): New hook.
        (need_ipa_fn_target_info): Likewise.
        * targhooks.c (default_need_ipa_fn_target_info): New function.
        (default_update_ipa_fn_target_info): Likewise.
        * targhooks.h (default_update_ipa_fn_target_info): New declare.
        (default_need_ipa_fn_target_info): Likewise.

2022-01-04  Martin Sebor  <msebor@redhat.com>

        PR middle-end/99612
        * builtins.c (get_memmodel): Move warning code to
        gimple-ssa-warn-access.cc.
        (expand_builtin_atomic_compare_exchange): Same.
        (expand_ifn_atomic_compare_exchange): Same.
        (expand_builtin_atomic_load): Same.
        (expand_builtin_atomic_store): Same.
        (expand_builtin_atomic_clear): Same.
        * doc/extend.texi (__atomic_exchange_n): Update valid memory
        models.
        * gimple-ssa-warn-access.cc (memmodel_to_uhwi): New function.
        (struct memmodel_pair): New struct.
        (memmodel_name): New function.
        (pass_waccess::maybe_warn_memmodel): New function.
        (pass_waccess::check_atomic_memmodel): New function.
        (pass_waccess::check_atomic_builtin): Handle memory model.
        * input.c (expansion_point_location_if_in_system_header): Return
        original location if expansion location is in a system header.

2022-01-04  Uroš Bizjak  <ubizjak@gmail.com>

        PR target/103861
        * config/i386/mmx.md (one_cmplv2qi3): New insn pattern.
        (one_cmplv2qi3 splitters): New post-reload splitters.
        (*andnotv2qi3): New insn pattern.
        (andnotv2qi3 splitters): New post-reload splitters.
        (<any_logic:code>v2qi3): New insn pattern.
        (<any_logic:insn>v2qi3 splitters): New post-reload splitters.

2022-01-04  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/103800
        * tree-vect-loop.c (vectorizable_phi): Remove assert and
        expand comment.

2022-01-04  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/103690
        * tree-pass.h (tail_merge_optimize): Adjust.
        * tree-ssa-tail-merge.c (tail_merge_optimize): Pass in whether
        to re-split critical edges, move CFG cleanup ...
        * tree-ssa-pre.c (pass_pre::execute): ... here, before
        simple_dce_from_worklist and delay freeing inserted_exprs from
        ...
        (fini_pre): .. here.

2022-01-04  Roger Sayle  <roger@nextmovesoftware.com>

        * config/nvptx/nvptx.h (STORE_FLAG_VALUE): Change to 1.
        * config/nvptx/nvptx.md (movbi): Use P1 constraint for true.
        (setcc_from_bi): Remove SImode specific pattern.
        (setcc<mode>_from_bi): Provide more general HSDIM pattern.
        (extendbi<mode>2, zeroextendbi<mode>2): Provide instructions
        for sign- and zero-extending BImode predicates to integers.
        (setcc_int<mode>): Remove previous (-1-based) instructions.
        (cstorebi4): Remove BImode to SImode specific expander.
        (cstore<mode>4): Fix indentation.  Expand using setccsi_from_bi.
        (cstore<mode>4): For both integer and floating point modes.

2022-01-04  Olivier Hainque  <hainque@adacore.com>

        * gcc.c (driver_handle_option): do_save --sysroot.

2022-01-04  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/103864
        PR tree-optimization/103544
        * tree-vect-slp.c (vect_analyze_slp_instance): Exclude
        reductions wrapped in conversions from SLP handling.
        (vect_analyze_slp): Revert PR103544 change.

2022-01-04  Jakub Jelinek  <jakub@redhat.com>

        PR rtl-optimization/103860
        * shrink-wrap.c (try_shrink_wrapping): Don't call can_get_prologue
        uselessly for blocks for which it has been called already.

2022-01-04  Cui,Lili  <lili.cui@intel.com>

        * common/config/i386/cpuinfo.h (get_intel_cpu): Add new model values
        to Alderlake and Rocketlake.

2022-01-04  Chung-Lin Tang  <cltang@codesourcery.com>

        PR middle-end/103643
        * gimplify.c (gimplify_omp_affinity): Adjust gimplify_expr of entire
        OMP_CLAUSE_DECL to use 'is_gimple_lvalue, fb_lvalue'

2022-01-04  liuhongt  <hongtao.liu@intel.com>

        PR target/103895
        * config/i386/sse.md (*bit_and_float_vector_all_ones):
        Force_reg operand 1 to avoid ICE.

2022-01-04  Jason Merrill  <jason@redhat.com>

        * tree-pretty-print.c (do_niy): Add spc parameter.
        (NIY): Pass it.
        (print_call_name): Add spc local variable.

2022-01-03  Uroš Bizjak  <ubizjak@gmail.com>

        PR target/103894
        * config/i386/mmx.md (mov<V_32:mode>): Remove TARGET_SSE2 constraint.
        (mov<V_32:mode>_internal): Ditto.
        (*push<V_32:mode>_rex64): Ditto.
        (movmisalign<V_32:mode>): Ditto.
        (*push<V_32:mode>_rex64 splitter): Enable for
        TARGET_64BIT && TARGET_SSE.
        (*push<V_32:mode>2): Remove insn pattern.

2022-01-03  Andrew Pinski  <apinski@marvell.com>

        PR c/33193
        * doc/extend.texi: Extend the documentation about Complex
        types for casting and also rewrite the __real__/__imag__
        expression portion to use tables.
        Move __builtin_complex to the Complex type section.

2022-01-03  Jakub Jelinek  <jakub@redhat.com>

        PR target/98737
        * internal-fn.def (ATOMIC_ADD_FETCH_CMP_0, ATOMIC_SUB_FETCH_CMP_0,
        ATOMIC_AND_FETCH_CMP_0, ATOMIC_OR_FETCH_CMP_0, ATOMIC_XOR_FETCH_CMP_0):
        New internal fns.
        * internal-fn.h (ATOMIC_OP_FETCH_CMP_0_EQ, ATOMIC_OP_FETCH_CMP_0_NE,
        ATOMIC_OP_FETCH_CMP_0_LT, ATOMIC_OP_FETCH_CMP_0_LE,
        ATOMIC_OP_FETCH_CMP_0_GT, ATOMIC_OP_FETCH_CMP_0_GE): New enumerators.
        * internal-fn.c (expand_ATOMIC_ADD_FETCH_CMP_0,
        expand_ATOMIC_SUB_FETCH_CMP_0, expand_ATOMIC_AND_FETCH_CMP_0,
        expand_ATOMIC_OR_FETCH_CMP_0, expand_ATOMIC_XOR_FETCH_CMP_0): New
        functions.
        * optabs.def (atomic_add_fetch_cmp_0_optab,
        atomic_sub_fetch_cmp_0_optab, atomic_and_fetch_cmp_0_optab,
        atomic_or_fetch_cmp_0_optab, atomic_xor_fetch_cmp_0_optab): New
        direct optabs.
        * builtins.h (expand_ifn_atomic_op_fetch_cmp_0): Declare.
        * builtins.c (expand_ifn_atomic_op_fetch_cmp_0): New function.
        * tree-ssa-ccp.c: Include internal-fn.h.
        (optimize_atomic_bit_test_and): Add . before internal fn call
        in function comment.  Change return type from void to bool and
        return true only if successfully replaced.
        (optimize_atomic_op_fetch_cmp_0): New function.
        (pass_fold_builtins::execute): Use optimize_atomic_op_fetch_cmp_0
        for BUILT_IN_ATOMIC_{ADD,SUB,AND,OR,XOR}_FETCH_{1,2,4,8,16} and
        BUILT_IN_SYNC_{ADD,SUB,AND,OR,XOR}_AND_FETCH_{1,2,4,8,16},
        for *XOR* ones only if optimize_atomic_bit_test_and failed.
        * config/i386/sync.md (atomic_<plusminus_mnemonic>_fetch_cmp_0<mode>,
        atomic_<logic>_fetch_cmp_0<mode>): New define_expand patterns.
        (atomic_add_fetch_cmp_0<mode>_1, atomic_sub_fetch_cmp_0<mode>_1,
        atomic_<logic>_fetch_cmp_0<mode>_1): New define_insn patterns.
        * doc/md.texi (atomic_add_fetch_cmp_0<mode>,
        atomic_sub_fetch_cmp_0<mode>, atomic_and_fetch_cmp_0<mode>,
        atomic_or_fetch_cmp_0<mode>, atomic_xor_fetch_cmp_0<mode>): Document
        new named patterns.

2022-01-03  Richard Biener  <rguenther@suse.de>

        PR middle-end/103851
        * tree-cfg.c (move_sese_region_to_fn): Always release SSA names.

2022-01-03  Jakub Jelinek  <jakub@redhat.com>

        PR c++/94716
        * symtab.c: Include fold-const.h.
        (symtab_node::equal_address_to): If folding_initializer is true,
        handle it like memory_accessed.  Simplify.

2022-01-03  Martin Liska  <mliska@suse.cz>

        * doc/extend.texi: Use ; for function declarations.

2022-01-03  Jakub Jelinek  <jakub@redhat.com>

        PR c++/103600
        * symtab.c (symtab_node::equal_address_to): Return 0 if one of
        VAR_DECLs has "non overlapping" attribute and rs1 != rs2.

2022-01-03  Jakub Jelinek  <jakub@redhat.com>

        * gcc.c (process_command): Update copyright notice dates.
        * gcov-dump.c (print_version): Ditto.
        * gcov.c (print_version): Ditto.
        * gcov-tool.c (print_version): Ditto.
        * gengtype.c (create_file): Ditto.
        * doc/cpp.texi: Bump @copying's copyright year.
        * doc/cppinternals.texi: Ditto.
        * doc/gcc.texi: Ditto.
        * doc/gccint.texi: Ditto.
        * doc/gcov.texi: Ditto.
        * doc/install.texi: Ditto.
        * doc/invoke.texi: Ditto.

2022-01-02  Uroš Bizjak  <ubizjak@gmail.com>

        PR target/103861
        * config/i386/i386.h (VALID_SSE2_REG_MODE): Add V2QImode.
        (VALID_INT_MODE_P): Ditto.
        * config/i386/i386.c (ix86_secondary_reload): Handle
        V2QImode reloads from SSE register to memory.
        (vector_mode_supported_p): Always return true for V2QImode.
        * config/i386/i386.md (*subqi_ext<mode>_2): New insn pattern.
        (*negqi_ext<mode>_2): Ditto.
        * config/i386/mmx.md (movv2qi): New expander.
        (movmisalignv2qi): Ditto.
        (*movv2qi_internal): New insn pattern.
        (*pushv2qi2): Ditto.
        (negv2qi2 and splitters): Ditto.
        (<plusminus:insn>v2qi3 and splitters): Ditto.

2022-01-02  John David Anglin  <danglin@gcc.gnu.org>

        * config/pa/pa.md (atomic_storeq): Use optab_libfunc to access
        sync_lock_test_and_set libfunc. Call convert_memory_address to
        convert memory address to Pmode.
        (atomic_storehi, atomic_storesi, atomic_storedi): Likewise.


Copyright (C) 2022 Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.

Generated by dwww version 1.15 on Sat May 18 08:15:59 CEST 2024.