Update ChangeLog and version files for release
[official-gcc.git] / gcc / ChangeLog
blob073764056603c3c796e8b5f91d2721033b4c1529
1 2023-05-08  Release Manager
3         * GCC 12.3.0 released.
5 2023-04-27  Jakub Jelinek  <jakub@redhat.com>
7         Backported from master:
8         2023-04-08  Jakub Jelinek  <jakub@redhat.com>
10         PR tree-optimization/109392
11         * tree-vect-generic.cc (tree_vec_extract): Handle failure
12         of maybe_push_res_to_seq better.
14 2023-04-27  Richard Biener  <rguenther@suse.de>
16         Backported from master:
17         2023-02-16  Richard Biener  <rguenther@suse.de>
19         PR tree-optimization/108791
20         * tree-ssa-forwprop.cc (optimize_vector_load): Build
21         the ADDR_EXPR of a TARGET_MEM_REF using a more meaningful
22         type.
24 2023-04-27  Roger Sayle  <roger@nextmovesoftware.com>
26         Backported from master:
27         2023-01-10  Roger Sayle  <roger@nextmovesoftware.com>
29         PR rtl-optimization/106421
30         * cprop.cc (bypass_block): Check that DEST is local to this
31         function (non-NULL) before calling find_edge.
33 2023-04-27  H.J. Lu  <hjl.tools@gmail.com>
35         Backported from master:
36         2023-01-16  H.J. Lu  <hjl.tools@gmail.com>
38         PR target/105980
39         * config/i386/i386.cc (x86_output_mi_thunk): Disable
40         -mforce-indirect-call for PIC in 32-bit mode.
42 2023-04-27  Jan Hubicka  <jh@suse.cz>
44         Backported from master:
45         2022-08-12  Jan Hubicka  <hubicka@ucw.cz>
47         PR middle-end/106057
48         * ipa-devirt.cc (type_or_derived_type_possibly_instantiated_p): New
49         function.
50         (possible_polymorphic_call_targets): Use it.
52 2023-04-26  Martin Jambor  <mjambor@suse.cz>
54         Backported from master:
55         2023-04-17  Martin Jambor  <mjambor@suse.cz>
57         PR ipa/107769
58         PR ipa/109318
59         * cgraph.h (symtab_node::find_reference): Add parameter use_type.
60         * ipa-prop.h (ipa_pass_through_data): New flag refdesc_decremented.
61         (ipa_zap_jf_refdesc): New function.
62         (ipa_get_jf_pass_through_refdesc_decremented): Likewise.
63         (ipa_set_jf_pass_through_refdesc_decremented): Likewise.
64         * ipa-cp.cc (ipcp_discover_new_direct_edges): Provide a value for
65         the new parameter of find_reference.
66         (adjust_references_in_caller): Likewise. Make sure the constant jump
67         function is not used to decrement a refdec counter again.  Only
68         decrement refdesc counters when the pass_through jump function allows
69         it.  Added a detailed dump when decrementing refdesc counters.
70         * ipa-prop.cc (ipa_print_node_jump_functions_for_edge): Dump new flag.
71         (ipa_set_jf_simple_pass_through): Initialize the new flag.
72         (ipa_set_jf_unary_pass_through): Likewise.
73         (ipa_set_jf_arith_pass_through): Likewise.
74         (remove_described_reference): Provide a value for the new parameter of
75         find_reference.
76         (update_jump_functions_after_inlining): Zap refdesc of new jfunc if
77         the previous pass_through had a flag mandating that we do so.
78         (propagate_controlled_uses): Likewise.  Only decrement refdesc
79         counters when the pass_through jump function allows it.
80         (ipa_edge_args_sum_t::duplicate): Provide a value for the new
81         parameter of find_reference.
82         (ipa_write_jump_function): Assert the new flag does not have to be
83         streamed.
84         * symtab.cc (symtab_node::find_reference): Add parameter use_type, use
85         it in searching.
87 2023-04-26  Jakub Jelinek  <jakub@redhat.com>
89         Backported from master:
90         2023-04-25  Jakub Jelinek  <jakub@redhat.com>
92         PR target/109566
93         * config/rs6000/rs6000.cc (rs6000_is_valid_rotate_dot_mask): For
94         !TARGET_64BIT, don't return true if UINTVAL (mask) << (63 - nb)
95         is larger than signed int maximum.
97 2023-04-26  Richard Biener  <rguenther@suse.de>
99         Backported from master:
100         2023-04-25  Richard Biener  <rguenther@suse.de>
102         PR tree-optimization/109609
103         * attr-fnspec.h (arg_max_access_size_given_by_arg_p):
104         Clarify semantics.
105         * tree-ssa-alias.cc (check_fnspec): Correctly interpret
106         the size given by arg_max_access_size_given_by_arg_p as
107         maximum, not exact, size.
109 2023-04-26  Richard Biener  <rguenther@suse.de>
111         Backported from master:
112         2023-04-25  Richard Biener  <rguenther@suse.de>
114         PR rtl-optimization/109585
115         * tree-ssa-alias.cc (aliasing_component_refs_p): Fix typo.
117 2023-04-26  Richard Biener  <rguenther@suse.de>
119         Backported from master:
120         2023-04-21  Richard Biener  <rguenther@suse.de>
122         PR tree-optimization/109573
123         * tree-vect-loop.cc (vectorizable_live_operation): Allow
124         unhandled SSA copy as well.  Demote assert to checking only.
126 2023-04-21  John David Anglin  <danglin@gcc.gnu.org>
128         PR target/109478
129         * config/pa/pa-protos.h (pa_function_arg_size): Update prototype.
130         * config/pa/pa.cc (pa_function_arg): Return NULL_RTX if argument
131         size is zero.
132         (pa_arg_partial_bytes): Don't call pa_function_arg_size twice.
133         (pa_function_arg_size): Change return type to int.  Return zero
134         for arguments larger than 1 GB.  Update comments.
136 2023-04-21  Haochen Gui  <guihaoc@gcc.gnu.org>
138         Backported from master:
139         2023-04-11  Haochen Gui  <guihaoc@gcc.gnu.org>
141         PR target/108812
142         * config/rs6000/vsx.md (vsx_sign_extend_qi_<mode>): Rename to...
143         (vsx_sign_extend_v16qi_<mode>): ... this.
144         (vsx_sign_extend_hi_<mode>): Rename to...
145         (vsx_sign_extend_v8hi_<mode>): ... this.
146         (vsx_sign_extend_si_v2di): Rename to...
147         (vsx_sign_extend_v4si_v2di): ... this.
148         (vsignextend_qi_<mode>): Remove.
149         (vsignextend_hi_<mode>): Remove.
150         (vsignextend_si_v2di): Remove.
151         (vsignextend_v2di_v1ti): Remove.
152         (*xxspltib_<mode>_split): Replace gen_vsx_sign_extend_qi_v2di with
153         gen_vsx_sign_extend_v16qi_v2di and gen_vsx_sign_extend_qi_v4si
154         with gen_vsx_sign_extend_v16qi_v4si.
155         * config/rs6000/rs6000.md (split for DI constant generation):
156         Replace gen_vsx_sign_extend_qi_si with gen_vsx_sign_extend_v16qi_si.
157         (split for HSDI constant generation): Replace gen_vsx_sign_extend_qi_di
158         with gen_vsx_sign_extend_v16qi_di and gen_vsx_sign_extend_qi_si
159         with gen_vsx_sign_extend_v16qi_si.
160         * config/rs6000/rs6000-builtins.def (__builtin_altivec_vsignextsb2d):
161         Set bif-pattern to vsx_sign_extend_v16qi_v2di.
162         (__builtin_altivec_vsignextsb2w): Set bif-pattern to
163         vsx_sign_extend_v16qi_v4si.
164         (__builtin_altivec_visgnextsh2d): Set bif-pattern to
165         vsx_sign_extend_v8hi_v2di.
166         (__builtin_altivec_vsignextsh2w): Set bif-pattern to
167         vsx_sign_extend_v8hi_v4si.
168         (__builtin_altivec_vsignextsw2d): Set bif-pattern to
169         vsx_sign_extend_si_v2di.
170         (__builtin_altivec_vsignext): Set bif-pattern to
171         vsx_sign_extend_v2di_v1ti.
172         * config/rs6000/rs6000-builtin.cc (lxvrse_expand_builtin): Replace
173         gen_vsx_sign_extend_qi_v2di with gen_vsx_sign_extend_v16qi_v2di,
174         gen_vsx_sign_extend_hi_v2di with gen_vsx_sign_extend_v8hi_v2di and
175         gen_vsx_sign_extend_si_v2di with gen_vsx_sign_extend_v4si_v2di.
177 2023-04-18  Jakub Jelinek  <jakub@redhat.com>
179         Backported from master:
180         2023-04-12  Jakub Jelinek  <jakub@redhat.com>
182         PR tree-optimization/109410
183         * tree-ssa-reassoc.cc (build_and_add_sum): Split edge from entry
184         block if first statement of the function is a call to returns_twice
185         function.
187 2023-04-18  Jakub Jelinek  <jakub@redhat.com>
189         Backported from master:
190         2023-03-28  Jakub Jelinek  <jakub@redhat.com>
192         PR middle-end/106190
193         * sanopt.cc (pass_sanopt::execute): Return TODO_cleanup_cfg if any
194         of the IFN_{UB,HWA,A}SAN_* internal fns are lowered.
196 2023-04-18  Jakub Jelinek  <jakub@redhat.com>
198         Backported from master:
199         2023-03-28  Jakub Jelinek  <jakub@redhat.com>
201         PR target/109276
202         * config/i386/i386.cc (assign_386_stack_local): For DImode
203         with SLOT_FLOATxFDI_387 and -m32 -mpreferred-stack-boundary=2 pass
204         align 32 rather than 0 to assign_stack_local.
206 2023-04-18  Jakub Jelinek  <jakub@redhat.com>
208         Backported from master:
209         2023-03-26  Jakub Jelinek  <jakub@redhat.com>
211         PR ipa/105685
212         * predict.cc (compute_function_frequency): Don't call
213         warn_function_cold if function already has cold attribute.
215 2023-04-18  Jakub Jelinek  <jakub@redhat.com>
217         Backported from master:
218         2023-03-23  Jakub Jelinek  <jakub@redhat.com>
220         PR tree-optimization/109176
221         * tree-vect-generic.cc (expand_vector_condition): If a has
222         vector boolean type and is a comparison, also check if both
223         the comparison and VEC_COND_EXPR could be successfully expanded
224         individually.
226 2023-04-18  Philipp Tomsich  <philipp.tomsich@vrull.eu>
228         Backported from master:
229         2023-01-31  Philipp Tomsich  <philipp.tomsich@vrull.eu>
231         PR target/108589
232         * config/aarch64/aarch64.cc (aarch_macro_fusion_pair_p): Check
233         REG_P on SET_DEST.
235 2023-04-17  Philipp Tomsich  <philipp.tomsich@vrull.eu>
237         Backported from master:
238         2023-04-17  Philipp Tomsich  <philipp.tomsich@vrull.eu>
239                     Di Zhao  <di.zhao@amperecomputing.com>
241         * config/aarch64/aarch64-tuning-flags.def (AARCH64_EXTRA_TUNING_OPTION):
242         Add AARCH64_EXTRA_TUNE_NO_LDP_COMBINE.
243         * config/aarch64/aarch64.cc (aarch64_operands_ok_for_ldpstp):
244         Check for the above tuning option when processing loads.
246 2023-04-17  Richard Sandiford  <richard.sandiford@arm.com>
248         Backported from master:
249         2023-04-13  Richard Sandiford  <richard.sandiford@arm.com>
251         PR target/108910
252         * config/aarch64/aarch64.cc (aarch64_function_arg_alignment): Do
253         not trust TYPE_ALIGN for pointer types; use POINTER_SIZE instead.
255 2023-04-17  Richard Biener  <rguenther@suse.de>
257         PR tree-optimization/109434
258         * tree-ssa-dse.cc (initialize_ao_ref_for_dse): Properly
259         handle possibly throwing calls when processing the LHS
260         and may-defs are not OK.  Add mode to initialize a may-def.
261         (dse_optimize_stmt): Query may-defs.
263 2023-04-17  Richard Biener  <rguenther@suse.de>
265         Backported from master:
266         2023-04-14  Richard Biener  <rguenther@suse.de>
268         PR tree-optimization/109502
269         * tree-vect-stmts.cc (vectorizable_assignment): Fix
270         check for conversion between mask and non-mask types.
272 2023-04-17  Richard Biener  <rguenther@suse.de>
274         Backported from master:
275         2023-04-13  Richard Biener  <rguenther@suse.de>
277         PR tree-optimization/109491
278         * tree-ssa-sccvn.cc (expressions_equal_p): Restore the
279         NULL operands test.
281 2023-04-17  Richard Biener  <rguenther@suse.de>
283         Backported from master:
284         2023-04-12  Richard Biener  <rguenther@suse.de>
286         PR tree-optimization/109473
287         * tree-vect-loop.cc (vect_create_epilog_for_reduction):
288         Convert scalar result to the computation type before performing
289         the reduction adjustment.
291 2023-04-17  Richard Biener  <rguenther@suse.de>
293         Backported from master:
294         2023-04-12  Richard Biener  <rguenther@suse.de>
296         PR tree-optimization/109469
297         * tree-vect-slp.cc (vect_slp_function): Skip region starts with
298         a returns-twice call.
300 2023-04-17  Richard Biener  <rguenther@suse.de>
302         Backported from master:
303         2023-03-27  Richard Biener  <rguenther@suse.de>
305         PR lto/109263
306         * lto-wrapper.cc (run_gcc): Parse alternate debug options
307         as well, they always enable debug.
309 2023-04-17  Richard Biener  <rguenther@suse.de>
311         Backported from master:
312         2023-03-21  Richard Biener  <rguenther@suse.de>
314         PR tree-optimization/109219
315         * tree-vect-loop.cc (vectorizable_reduction): Check
316         slp_node, not STMT_SLP_TYPE.
317         * tree-vect-stmts.cc (vectorizable_condition): Likewise.
318         * tree-vect-slp.cc (vect_slp_analyze_node_operations_1):
319         Remove assertion on STMT_SLP_TYPE.
321 2023-04-17  Richard Biener  <rguenther@suse.de>
323         Backported from master:
324         2023-03-29  Richard Biener  <rguenther@suse.de>
326         PR ipa/106124
327         * dwarf2out.cc (lookup_type_die): Reset TREE_ASM_WRITTEN
328         so we can re-create the DIE for the type if required.
330 2023-04-17  Richard Biener  <rguenther@suse.de>
332         Backported from master:
333         2022-12-07  Richard Biener  <rguenther@suse.de>
335         PR ipa/105676
336         * ipa-pure-const.cc (ipa_make_function_pure): Skip also
337         for functions already being const.
339 2023-04-17  Kewen Lin  <linkw@linux.ibm.com>
341         Backported from master:
342         2023-04-04  Kewen Lin  <linkw@linux.ibm.com>
344         PR target/108699
345         * config/rs6000/altivec.md (*p9v_parity<mode>2): Rename to ...
346         (rs6000_vprtyb<mode>2): ... this.
347         * config/rs6000/rs6000-builtins.def (VPRTYBD): Replace parityv2di2 with
348         rs6000_vprtybv2di2.
349         (VPRTYBW): Replace parityv4si2 with rs6000_vprtybv4si2.
350         (VPRTYBQ): Replace parityv1ti2 with rs6000_vprtybv1ti2.
351         * config/rs6000/vector.md (parity<mode>2 with VEC_IP): Expand with
352         popcountv16qi2 and the corresponding rs6000_vprtyb<mode>2.
354 2023-04-17  Kewen Lin  <linkw@linux.ibm.com>
356         Backported from master:
357         2023-04-04  Kewen Lin  <linkw@linux.ibm.com>
359         PR target/108807
360         * config/rs6000/rs6000.cc (rs6000_expand_vector_set_var_p9): Fix gen
361         function for permutation control vector by considering big endianness.
363 2023-04-14  Jan Hubicka  <hubicka@ucw.cz>
365         PR target/109137
366         * config/i386/x86-tune.def (X86_TUNE_AVX256_MOVE_BY_PIECES):
367         Remove znver1-3.
368         (X86_TUNE_AVX256_STORE_BY_PIECES): Remove znver1-3.
370 2023-04-13  Philipp Tomsich  <philipp.tomsich@vrull.eu>
372         Backported from master:
373         2023-03-27  Philipp Tomsich  <philipp.tomsich@vrull.eu>
374                     Jiangning Liu  <jiangning.liu@amperecomputing.com>
375                     Manolis Tsamis  <manolis.tsamis@vrull.eu>
377         * config/aarch64/aarch64.cc: Update vector costs for ampere1.
379 2023-04-11  Michael Meissner  <meissner@linux.ibm.com>
381         PR target/109067
382         * config/rs6000/rs6000.cc (create_complex_muldiv): Delete.
383         (init_float128_ieee): Delete code to switch complex multiply and divide
384         for long double.  Backport from master, 3/20/2023.
385         (complex_multiply_builtin_code): New helper function.
386         (complex_divide_builtin_code): Likewise.
387         (rs6000_mangle_decl_assembler_name): Add support for mangling the name
388         of complex 128-bit multiply and divide built-in functions.
390 2023-04-06  Andrew Pinski  <apinski@marvell.com>
392         Backported from master:
393         2023-04-06  Andrew Pinski  <apinski@marvell.com>
395         PR tree-optimization/109427
396         * params.opt (-param=vect-induction-float=):
397         Fix option attribute typo for IntegerRange.
399 2023-04-03  Richard Sandiford  <richard.sandiford@arm.com>
401         PR tree-optimization/96373
402         PR tree-optimization/108979
403         * tree-vect-stmts.cc (vectorizable_operation): Predicate trapping
404         operations on the loop mask.  Reject partial vectors if this isn't
405         possible.  Don't mask operations on invariants.
407 2023-04-03  Richard Sandiford  <richard.sandiford@arm.com>
409         Backported from master:
410         2023-03-28  Richard Sandiford  <richard.sandiford@arm.com>
412         PR target/109072
413         * config/aarch64/aarch64-protos.h (aarch64_vector_load_decl): Declare.
414         * config/aarch64/aarch64.h (machine_function::vector_load_decls): New
415         variable.
416         * config/aarch64/aarch64-builtins.cc (aarch64_record_vector_load_arg):
417         New function.
418         (aarch64_general_gimple_fold_builtin): Delay folding of vld1 until
419         after inlining.  Record which decls are loaded from.  Fix handling
420         of vops for loads and stores.
421         * config/aarch64/aarch64.cc (aarch64_vector_load_decl): New function.
422         (aarch64_accesses_vector_load_decl_p): Likewise.
423         (aarch64_vector_costs::m_stores_to_vector_load_decl): New member
424         variable.
425         (aarch64_vector_costs::add_stmt_cost): If the function has a vld1
426         that loads from a decl, treat vector stores to those decls as
427         zero cost.
428         (aarch64_vector_costs::finish_cost): ...and in that case,
429         if the vector code does nothing more than a store, give the
430         prologue a zero cost as well.
432 2023-04-03  Richard Sandiford  <richard.sandiford@arm.com>
434         Backported from master:
435         2023-02-13  Richard Sandiford  <richard.sandiford@arm.com>
437         PR rtl-optimization/108681
438         * lra-spills.cc (lra_final_code_change): Extend subreg replacement
439         code to handle bare uses and clobbers.
441 2023-04-03  Richard Sandiford  <richard.sandiford@arm.com>
443         Backported from master:
444         2023-01-31  Richard Sandiford  <richard.sandiford@arm.com>
446         PR tree-optimization/108608
447         * tree-vect-loop.cc (vect_transform_reduction): Handle single
448         def-use cycles that involve function calls rather than tree codes.
450 2023-04-03  Richard Sandiford  <richard.sandiford@arm.com>
452         Backported from master:
453         2023-03-02  Richard Sandiford  <richard.sandiford@arm.com>
455         PR tree-optimization/108603
456         * explow.cc (convert_memory_address_addr_space_1): Only wrap
457         the result of a recursive call in a CONST if no instructions
458         were emitted.
460 2023-04-03  Richard Sandiford  <richard.sandiford@arm.com>
462         Backported from master:
463         2023-02-02  Richard Sandiford  <richard.sandiford@arm.com>
465         PR rtl-optimization/108508
466         * rtl-ssa/accesses.cc (function_info::split_clobber_group): When
467         the splay tree search gives the first clobber in the second group,
468         make sure that the root of the first clobber group is updated
469         correctly.  Enter the new clobber group into the definition splay
470         tree.
472 2023-04-03  Richard Sandiford  <richard.sandiford@arm.com>
474         Backported from master:
475         2023-03-02  Richard Sandiford  <richard.sandiford@arm.com>
477         PR tree-optimization/108430
478         * tree-vect-stmts.cc (vectorizable_condition): Fix handling
479         of inverted condition.
481 2023-04-03  Richard Sandiford  <richard.sandiford@arm.com>
483         Backported from master:
484         2023-02-02  Richard Sandiford  <richard.sandiford@arm.com>
486         PR rtl-optimization/108086
487         * rtl-ssa/insns.h (insn_info): Make m_num_defs a full unsigned int.
488         Adjust size-related commentary accordingly.
490 2023-03-31  Vladimir N. Makarov  <vmakarov@redhat.com>
492         * ira-costs.cc: Include print-rtl.h.
493         (record_reg_classes, scan_one_insn): Add code to print debug info.
494         (record_operand_costs): Find and use smaller cost for hard reg
495         move.
497 2023-03-29  David Malcolm  <dmalcolm@redhat.com>
499         * doc/invoke.texi (Static Analyzer Options): Add notes about
500         limitations of -fanalyzer.
502 2023-03-29  David Malcolm  <dmalcolm@redhat.com>
504         * doc/analyzer.texi: Drop out-of-date ideas for other checkers.
506 2023-03-28  Eric Botcazou  <ebotcazou@adacore.com>
508         PR target/109140
509         * config/sparc/sparc.cc (sparc_expand_vcond): Call signed_condition
510         on operand #3 to get the final condition code.  Use std::swap.
511         * config/sparc/sparc.md (vcondv8qiv8qi): New VIS 4 expander.
512         (fucmp<gcond:code>8<P:mode>_vis): Move around.
513         (fpcmpu<gcond:code><GCM:gcm_name><P:mode>_vis): Likewise.
514         (vcondu<GCM:mode><GCM:mode>): New VIS 4 expander.
516 2023-03-22  Martin Jambor  <mjambor@suse.cz>
518         Backported from master:
519         2023-03-14  Martin Jambor  <mjambor@suse.cz>
521         PR ipa/107925
522         * ipa-cp.cc (update_specialized_profile): Drop orig_node_count to
523         ipa count, remove assert, lenient_count_portion_handling, dump
524         also orig_node_count.
526 2023-03-20  Peter Bergner  <bergner@linux.ibm.com>
528         Backported from master:
529         2023-03-20  Peter Bergner  <bergner@linux.ibm.com>
531         PR target/109178
532         * config/rs6000/rs6000-builtin.cc (stv_expand_builtin): Use tmode.
534 2023-03-19  Jakub Jelinek  <jakub@redhat.com>
536         Backported from master:
537         2023-03-17  Jakub Jelinek  <jakub@redhat.com>
539         PR target/105554
540         * function.h (push_struct_function): Add ABSTRACT_P argument defaulted
541         to false.
542         * function.cc (push_struct_function): Add ABSTRACT_P argument, pass it
543         to allocate_struct_function instead of false.
544         * tree-inline.cc (initialize_cfun): Don't copy DECL_ARGUMENTS
545         nor DECL_RESULT here.  Pass true as ABSTRACT_P to
546         push_struct_function.  Call targetm.target_option.relayout_function
547         after it.
548         (tree_function_versioning): Formatting fix.
550 2023-03-19  Jakub Jelinek  <jakub@redhat.com>
552         Backported from master:
553         2023-03-17  Jakub Jelinek  <jakub@redhat.com>
555         PR middle-end/108685
556         * omp-expand.cc (expand_omp_for_ordered_loops): Add L0_BB argument,
557         use its loop_father rather than BODY_BB's loop_father.
558         (expand_omp_for_generic): Adjust expand_omp_for_ordered_loops caller.
559         If broken_loop with ordered > collapse and at least one of those
560         extra loops aren't guaranteed to have at least one iteration, change
561         l0_bb's loop_father to entry_bb's loop_father.  Set cont_bb's
562         loop_father to l0_bb's loop_father rather than l1_bb's.
564 2023-03-19  Jakub Jelinek  <jakub@redhat.com>
566         Backported from master:
567         2023-03-10  Jakub Jelinek  <jakub@redhat.com>
569         PR c/108079
570         * cgraphunit.cc (check_global_declaration): Don't warn for unused
571         variables which have OPT_Wunused_variable warning suppressed.
573 2023-03-19  Jakub Jelinek  <jakub@redhat.com>
575         Backported from master:
576         2023-03-04  Jakub Jelinek  <jakub@redhat.com>
578         PR testsuite/108973
579         * selftest-diagnostic.cc
580         (test_diagnostic_context::test_diagnostic_context): Set
581         caret_max_width to 80.
583 2023-03-19  Jakub Jelinek  <jakub@redhat.com>
585         Backported from master:
586         2023-03-03  Jakub Jelinek  <jakub@redhat.com>
588         PR c/108986
589         * gimple-ssa-warn-access.cc (pass_waccess::maybe_check_access_sizes):
590         Return immediately if OPT_Wnonnull or OPT_Wstringop_overflow_ is
591         suppressed on stmt.  For [static %E] warning, print access_nelts
592         rather than access_size.  Fix up comment wording.
594 2023-03-19  Jakub Jelinek  <jakub@redhat.com>
596         Backported from master:
597         2023-03-02  Jakub Jelinek  <jakub@redhat.com>
599         PR c++/108934
600         * fold-const.cc (native_interpret_expr) <case REAL_CST>: Before memcmp
601         comparison copy the bytes from ptr to a temporary buffer and clearing
602         padding bits in there.
604 2023-03-19  Jakub Jelinek  <jakub@redhat.com>
606         Backported from master:
607         2023-03-01  Jakub Jelinek  <jakub@redhat.com>
609         PR debug/108967
610         * cfgexpand.cc (expand_debug_expr): Handle WIDEN_{PLUS,MINUS}_EXPR
611         and VEC_WIDEN_{PLUS,MINUS}_{HI,LO}_EXPR.
613 2023-03-19  Jakub Jelinek  <jakub@redhat.com>
615         Backported from master:
616         2023-02-24  Jakub Jelinek  <jakub@redhat.com>
618         PR middle-end/108854
619         * cgraphclones.cc (duplicate_thunk_for_node): If no parameter
620         changes are needed, copy at least DECL_ARGUMENTS PARM_DECL
621         nodes and adjust their DECL_CONTEXT.
623 2023-03-19  Jakub Jelinek  <jakub@redhat.com>
625         Backported from master:
626         2023-02-24  Jakub Jelinek  <jakub@redhat.com>
628         PR target/108881
629         * config/i386/i386-builtin.def (__builtin_ia32_cvtne2ps2bf16_v16hi,
630         __builtin_ia32_cvtne2ps2bf16_v16hi_mask,
631         __builtin_ia32_cvtne2ps2bf16_v16hi_maskz,
632         __builtin_ia32_cvtne2ps2bf16_v8hi,
633         __builtin_ia32_cvtne2ps2bf16_v8hi_mask,
634         __builtin_ia32_cvtne2ps2bf16_v8hi_maskz,
635         __builtin_ia32_cvtneps2bf16_v8sf_mask,
636         __builtin_ia32_cvtneps2bf16_v8sf_maskz,
637         __builtin_ia32_cvtneps2bf16_v4sf_mask,
638         __builtin_ia32_cvtneps2bf16_v4sf_maskz,
639         __builtin_ia32_dpbf16ps_v8sf, __builtin_ia32_dpbf16ps_v8sf_mask,
640         __builtin_ia32_dpbf16ps_v8sf_maskz, __builtin_ia32_dpbf16ps_v4sf,
641         __builtin_ia32_dpbf16ps_v4sf_mask,
642         __builtin_ia32_dpbf16ps_v4sf_maskz): Require also
643         OPTION_MASK_ISA_AVX512VL.
645 2023-03-19  Jakub Jelinek  <jakub@redhat.com>
647         Backported from master:
648         2023-02-18  Jakub Jelinek  <jakub@redhat.com>
650         PR tree-optimization/108819
651         * tree-ssa-reassoc.cc (update_ops): Fold new stmt in place.
653 2023-03-19  Jakub Jelinek  <jakub@redhat.com>
655         Backported from master:
656         2023-02-09  Jakub Jelinek  <jakub@redhat.com>
658         PR target/100758
659         * common/config/i386/cpuinfo.h (cpu_indicator_init): Call
660         get_available_features for all CPUs with max_level >= 1, rather
661         than just Intel or AMD.
663 2023-03-15  Richard Biener  <rguenther@suse.de>
665         Backported from master:
666         2023-03-01  Richard Biener  <rguenther@suse.de>
668         PR tree-optimization/108950
669         * tree-vect-patterns.cc (vect_recog_widen_sum_pattern):
670         Check oprnd0 is defined in the loop.
671         * tree-vect-loop.cc (vectorizable_reduction): Record all
672         operands vector types, compute that of invariants and
673         properly update their SLP nodes.
675 2023-03-15  Richard Biener  <rguenther@suse.de>
677         Backported from master:
678         2023-02-17  Richard Biener  <rguenther@suse.de>
680         PR tree-optimization/108821
681         * tree-ssa-loop-im.cc (sm_seq_valid_bb): We can also not
682         move volatile accesses.
684 2023-03-15  Richard Biener  <rguenther@suse.de>
686         Backported from master:
687         2023-02-20  Richard Biener  <rguenther@suse.de>
689         PR tree-optimization/108816
690         * tree-vect-loop-manip.cc (vect_loop_versioning): Adjust
691         versioning condition split prerequesite, assert required
692         invariant.
694 2023-03-15  Richard Biener  <rguenther@suse.de>
696         Backported from master:
697         2023-02-21  Richard Biener  <rguenther@suse.de>
699         PR tree-optimization/108793
700         * tree-ssa-loop-niter.cc (number_of_iterations_until_wrap):
701         Use convert operands to niter_type when computing num.
703 2023-03-15  Richard Biener  <rguenther@suse.de>
705         Backported from master:
706         2023-02-10  Richard Biener  <rguenther@suse.de>
708         PR tree-optimization/108724
709         * tree-vect-stmts.cc (vectorizable_operation): Avoid
710         using word_mode vectors when vector lowering will
711         decompose them to elementwise operations.
713 2023-03-15  Richard Biener  <rguenther@suse.de>
715         Backported from master:
716         2023-02-02  Richard Biener  <rguenther@suse.de>
718         PR middle-end/108625
719         * genmatch.cc (expr::gen_transform): Also disallow resimplification
720         from pushing to lseq with force_leaf.
721         (dt_simplify::gen_1): Likewise.
723 2023-03-15  Richard Biener  <rguenther@suse.de>
725         Backported from master:
726         2023-02-01  Richard Biener  <rguenther@suse.de>
728         PR middle-end/108500
729         * dominance.cc (assign_dfs_numbers): Replace recursive DFS
730         with tree traversal algorithm.
732 2023-03-15  Richard Biener  <rguenther@suse.de>
734         Backported from master:
735         2022-12-22  Richard Biener  <rguenther@suse.de>
737         PR tree-optimization/107451
738         * tree-vect-stmts.cc (vectorizable_load): Avoid loading
739         SLP group members from group numbers in excess of the
740         vectorization factor.
742 2023-03-15  Richard Biener  <rguenther@suse.de>
744         Backported from master:
745         2022-12-11  Richard Biener  <rguenther@suse.de>
747         PR tree-optimization/106904
748         * tree.h (strip_zero_offset_components): Declare.
749         * tree.cc (strip_zero_offset_components): Define.
750         * tree-vect-data-refs.cc (vect_create_addr_base_for_vector_ref):
751         Strip zero offset components before building the address.
753 2023-03-14  Jan Hubicka  <jh@suse.cz>
755         Backported from master:
756         2023-03-06  Jan Hubicka  <hubicka@ucw.cz>
758         PR target/108429
759         * config/i386/x86-tune.def (X86_TUNE_USE_SCATTER_2PARTS): Enable for
760         generic.
761         (X86_TUNE_USE_SCATTER_4PARTS): Likewise.
762         (X86_TUNE_USE_SCATTER): Likewise.
764 2023-03-14  Jan Hubicka  <jh@suse.cz>
766         Backported from master:
767         2023-02-07  Jan Hubicka  <jh@suse.cz>
769         * config/i386/x86-tune.def (X86_TUNE_AVX256_OPTIMAL): Turn off
770         for znver4.
772 2023-03-11  Andrew Pinski  <apinski@marvell.com>
774         Backported from master:
775         2022-12-21  Andrew Pinski  <apinski@marvell.com>
777         PR tree-optimization/105532
778         * match.pd (~(X >> Y) -> ~X >> Y): Check if it is an integral
779         type before calling tree_nonzero_bits.
780         (popcount(X) + popcount(Y)): Likewise.
781         (popcount(X&C1)): Likewise.
783 2023-03-10  Andrew Pinski  <apinski@marvell.com>
785         Backported from master:
786         2023-02-10  Andrew Pinski  <apinski@marvell.com>
787                     Andrew Macleod   <amacleod@redhat.com>
789         PR tree-optimization/108684
790         * tree-ssa-dce.cc (simple_dce_from_worklist):
791         Check all ssa names and not just non-vdef ones
792         before accepting the inline-asm.
793         Call unlink_stmt_vdef on the statement before
794         removing it.
796 2023-03-08  Tobias Burnus  <tobias@codesourcery.com>
798         Backported from master:
799         2023-03-01  Tobias Burnus  <tobias@codesourcery.com>
801         PR middle-end/108546
802         * omp-low.cc (lower_omp_target): Remove optional handling
803         on the receiver side, i.e. inside target (data), for
804         use_device_ptr.
806 2023-03-06  Xi Ruoyao  <xry111@xry111.site>
808         Backported from master:
809         2023-03-06  Xi Ruoyao  <xry111@xry111.site>
811         PR target/109000
812         * config/loongarch/loongarch.h (FP_RETURN): Use
813         TARGET_*_FLOAT_ABI instead of TARGET_*_FLOAT.
814         (UNITS_PER_FP_ARG): Likewise.
816 2023-02-27  Martin Liska  <mliska@suse.cz>
818         Backported from master:
819         2023-02-24  Martin Liska  <mliska@suse.cz>
821         PR sanitizer/108834
822         * asan.cc (asan_add_global): Use proper TU name for normal
823         global variables (and aux_base_name for the artificial one).
825 2023-02-24  Sebastian Huber  <sebastian.huber@embedded-brains.de>
827         Backported from master:
828         2023-02-24  Sebastian Huber  <sebastian.huber@embedded-brains.de>
830         * config/riscv/t-rtems: Keep only -mcmodel=medany 64-bit multilibs.
831         Add non-compact 32-bit multilibs.
833 2023-02-20  Alex Coplan  <alex.coplan@arm.com>
835         Backported from master:
836         2023-02-06  Alex Coplan  <alex.coplan@arm.com>
838         PR target/104921
839         * config/aarch64/aarch64-simd.md (aarch64_bfmlal<bt>_lane<q>v4sf):
840         Use correct constraint for operand 3.
842 2023-02-18  Xi Ruoyao  <xry111@xry111.site>
844         Backported from master:
845         2023-02-18  Xi Ruoyao  <xry111@xry111.site>
847         * config.gcc (triplet_abi): Set its value based on $with_abi,
848         instead of $target.
849         (la_canonical_triplet): Set it after $triplet_abi is set
850         correctly.
851         * config/loongarch/t-linux (MULTILIB_OSDIRNAMES): Make the
852         multiarch tuple for lp64d "loongarch64-linux-gnu" (without
853         "f64" suffix).
855 2023-02-15  Eric Botcazou  <ebotcazou@adacore.com>
857         PR target/90458
858         * config/i386/i386.cc (ix86_compute_frame_layout): Disable the
859         effects of -fstack-clash-protection for TARGET_STACK_PROBE.
860         (ix86_expand_prologue): Likewise.
862 2023-02-15  Marek Polacek  <polacek@redhat.com>
864         Backported from master:
865         2023-02-15  Marek Polacek  <polacek@redhat.com>
867         PR middle-end/106080
868         * gimple-ssa-warn-access.cc (is_auto_decl): Remove.  Use auto_var_p
869         instead.
871 2023-02-14  Eric Botcazou  <ebotcazou@adacore.com>
873         * gimplify.cc (gimplify_save_expr): Add missing guard.
875 2023-02-13  Kewen Lin  <linkw@linux.ibm.com>
877         Backported from master:
878         2023-01-18  Kewen Lin  <linkw@linux.ibm.com>
879                     Andrew Pinski  <apinski@marvell.com>
881         PR target/108396
882         * config/rs6000/rs6000-overload.def (VEC_VSUBCUQ): Fix typo
883         vec_vsubcuqP with vec_vsubcuq.
885 2023-02-13  Kewen Lin  <linkw@linux.ibm.com>
887         Backported from master:
888         2023-01-18  Kewen Lin  <linkw@linux.ibm.com>
890         PR target/108348
891         * config/rs6000/rs6000.cc (rs6000_opaque_type_invalid_use_p): Add the
892         support for invalid uses of MMA opaque type in function arguments.
894 2023-02-13  Kewen Lin  <linkw@linux.ibm.com>
896         Backported from master:
897         2023-01-16  Kewen Lin  <linkw@linux.ibm.com>
899         PR target/108272
900         * config/rs6000/rs6000.cc (rs6000_opaque_type_invalid_use_p): Add the
901         support for invalid uses in inline asm, factor out the checking and
902         erroring to lambda function check_and_error_invalid_use.
904 2023-02-11  John David Anglin  <danglin@gcc.gnu.org>
906         * config/pa/pa.cc (pa_option_override): Disable -fstack-protector.
908 2023-02-10  Jakub Jelinek  <jakub@redhat.com>
910         Backported from master:
911         2023-01-31  Jakub Jelinek  <jakub@redhat.com>
913         PR c++/105593
914         * config/i386/avx512erintrin.h (_mm512_exp2a23_round_pd,
915         _mm512_exp2a23_round_ps, _mm512_rcp28_round_pd, _mm512_rcp28_round_ps,
916         _mm512_rsqrt28_round_pd, _mm512_rsqrt28_round_ps): Use
917         _mm512_undefined_pd () or _mm512_undefined_ps () instead of using
918         uninitialized automatic variable __W.
920 2023-02-10  Jakub Jelinek  <jakub@redhat.com>
922         Backported from master:
923         2023-01-16  Jakub Jelinek  <jakub@redhat.com>
925         PR c++/105593
926         * config/i386/xmmintrin.h (_mm_undefined_ps): Temporarily
927         disable -Winit-self using pragma GCC diagnostic ignored.
928         * config/i386/emmintrin.h (_mm_undefined_pd, _mm_undefined_si128):
929         Likewise.
930         * config/i386/avxintrin.h (_mm256_undefined_pd, _mm256_undefined_ps,
931         _mm256_undefined_si256): Likewise.
932         * config/i386/avx512fintrin.h (_mm512_undefined_pd,
933         _mm512_undefined_ps, _mm512_undefined_epi32): Likewise.
934         * config/i386/avx512fp16intrin.h (_mm_undefined_ph,
935         _mm256_undefined_ph, _mm512_undefined_ph): Likewise.
937 2023-02-10  Jakub Jelinek  <jakub@redhat.com>
939         Backported from master:
940         2023-01-19  Jakub Jelinek  <jakub@redhat.com>
942         PR tree-optimization/108440
943         * tree-ssa-forwprop.cc: Include gimple-range.h.
944         (simplify_rotate): For the forms with T2 wider than T and shift counts of
945         Y and B - Y add & (B - 1) masking for the rotate count if Y could be equal
946         to B.  For the forms with T2 wider than T and shift counts of
947         Y and (-Y) & (B - 1), don't punt if range could be [B, B2], but only if
948         range doesn't guarantee Y < B or Y = N * B.  If range doesn't guarantee
949         Y < B, also add & (B - 1) masking for the rotate count.  Use lazily created
950         pass specific ranger instead of get_global_range_query.
951         (pass_forwprop::execute): Disable that ranger at the end of pass if it has
952         been created.
954 2023-02-10  Jakub Jelinek  <jakub@redhat.com>
956         Backported from master:
957         2023-01-17  Jakub Jelinek  <jakub@redhat.com>
959         PR tree-optimization/106523
960         * tree-ssa-forwprop.cc (simplify_rotate): For the
961         patterns with (-Y) & (B - 1) in one operand's shift
962         count and Y in another, if T2 has wider precision than T,
963         punt if Y could have a value in [B, B2 - 1] range.
965 2023-02-10  Andrew Pinski  <apinski@marvell.com>
967         Backported from master:
968         2023-02-09  Andrew Pinski  <apinski@marvell.com>
970         PR tree-optimization/108688
971         * match.pd (bit_field_ref [bit_insert]): Avoid generating
972         BIT_FIELD_REFs of non-mode-precision integral operands.
974 2023-02-10  Jakub Jelinek  <jakub@redhat.com>
976         Backported from master:
977         2023-02-08  Jakub Jelinek  <jakub@redhat.com>
979         PR tree-optimization/108692
980         * tree-vect-patterns.cc (vect_widened_op_tree): If rhs_code is
981         widened_code which is different from code, don't call
982         vect_look_through_possible_promotion but instead just check op is
983         SSA_NAME with integral type for which vect_is_simple_use is true
984         and call set_op on this_unprom.
986 2023-02-10  Jakub Jelinek  <jakub@redhat.com>
988         Backported from master:
989         2023-02-02  Jakub Jelinek  <jakub@redhat.com>
991         PR middle-end/108435
992         * tree-nested.cc (convert_nonlocal_omp_clauses)
993         <case OMP_CLAUSE_LASTPRIVATE>: If info->new_local_var_chain and *seq
994         is not a GIMPLE_BIND, wrap the sequence into a new GIMPLE_BIND
995         before calling declare_vars.
996         (convert_nonlocal_omp_clauses) <case OMP_CLAUSE_LINEAR>: Merge
997         with the OMP_CLAUSE_LASTPRIVATE handling except for whether
998         seq is initialized to &OMP_CLAUSE_LASTPRIVATE_GIMPLE_SEQ (clause)
999         or &OMP_CLAUSE_LINEAR_GIMPLE_SEQ (clause).
1001 2023-02-10  Jakub Jelinek  <jakub@redhat.com>
1003         Backported from master:
1004         2023-02-01  Jakub Jelinek  <jakub@redhat.com>
1006         PR debug/108573
1007         * ree.cc (combine_reaching_defs): Don't return false for paradoxical
1008         subregs in DEBUG_INSNs.
1010 2023-02-10  Jakub Jelinek  <jakub@redhat.com>
1012         Backported from master:
1013         2023-01-31  Jakub Jelinek  <jakub@redhat.com>
1015         PR target/108599
1016         * config/i386/i386-expand.cc
1017         (ix86_convert_const_wide_int_to_broadcast): Return nullptr if
1018         CONST_WIDE_INT_NUNITS (op) times HOST_BITS_PER_WIDE_INT isn't
1019         equal to bitsize of mode.
1021 2023-02-10  Jakub Jelinek  <jakub@redhat.com>
1023         Backported from master:
1024         2023-01-31  Jakub Jelinek  <jakub@redhat.com>
1026         PR rtl-optimization/108596
1027         * bb-reorder.cc (fix_up_fall_thru_edges): Handle the case where cur_bb
1028         ends with asm goto and has a crossing fallthrough edge to the same bb
1029         that contains at least one of its labels by restoring EDGE_CROSSING
1030         flag even on possible edge from cur_bb to new_bb successor.
1032 2023-02-10  Jakub Jelinek  <jakub@redhat.com>
1034         Backported from master:
1035         2023-01-27  Jakub Jelinek  <jakub@redhat.com>
1037         PR other/108560
1038         * doc/extend.texi: Fix up return type of __builtin_va_arg_pack_len
1039         from size_t to int.
1041 2023-02-10  Jakub Jelinek  <jakub@redhat.com>
1043         Backported from master:
1044         2023-01-25  Jakub Jelinek  <jakub@redhat.com>
1046         PR tree-optimization/108498
1047         * gimple-ssa-store-merging.cc (class store_operand_info):
1048         End coment with full stop rather than comma.
1049         (split_group): Likewise.
1050         (merged_store_group::apply_stores): Clear string_concatenation if
1051         start or end aren't on a byte boundary.
1053 2023-02-10  Eric Biggers  <ebiggers@google.com>
1055         Backported from master:
1056         2023-01-24  Eric Biggers  <ebiggers@google.com>
1058         PR bootstrap/90543
1059         * optc-save-gen.awk: Fix copy-and-paste error.
1061 2023-02-10  Jakub Jelinek  <jakub@redhat.com>
1063         Backported from master:
1064         2023-01-19  Jakub Jelinek  <jakub@redhat.com>
1066         PR middle-end/108459
1067         * omp-expand.cc (expand_omp_for_init_counts): Use fold_build1 rather
1068         than fold_unary for NEGATE_EXPR.
1070 2023-02-10  Jakub Jelinek  <jakub@redhat.com>
1072         Backported from master:
1073         2023-01-04  Jakub Jelinek  <jakub@redhat.com>
1075         PR middle-end/108237
1076         * generic-match-head.cc: Include tree-pass.h.
1077         (canonicalize_math_p, optimize_vectors_before_lowering_p): Define
1078         to false if cfun and cfun->curr_properties has PROP_gimple_opt_math
1079         resp. PROP_gimple_lvec property set.
1081 2023-02-10  Jakub Jelinek  <jakub@redhat.com>
1083         Backported from master:
1084         2023-01-03  Jakub Jelinek  <jakub@redhat.com>
1086         PR middle-end/108264
1087         * expr.cc (store_expr): For stores into SUBREG_PROMOTED_* targets
1088         from source which doesn't have scalar integral mode first convert
1089         it to outer_mode.
1091 2023-02-10  Jakub Jelinek  <jakub@redhat.com>
1093         Backported from master:
1094         2022-12-23  Jakub Jelinek  <jakub@redhat.com>
1096         PR tree-optimization/108068
1097         * tree.h (real_maybe_zerop): Declare.
1098         * tree.cc (real_maybe_zerop): Define.
1099         * tree-ssa-dom.cc (record_edge_info): Use it instead of
1100         real_zerop or TREE_CODE (op1) == SSA_NAME || real_zerop.  Always set
1101         can_infer_simple_equiv to false for decimal floating point types.
1103 2023-02-10  Jakub Jelinek  <jakub@redhat.com>
1105         Backported from master:
1106         2022-12-22  Jakub Jelinek  <jakub@redhat.com>
1108         PR tree-optimization/108166
1109         * tree-ssa-phiopt.cc (value_replacement): For the maybe_equal_p
1110         case turned into equal_p reset SSA_NAME_RANGE_INFO of phi result.
1112 2023-02-10  Jakub Jelinek  <jakub@redhat.com>
1114         Backported from master:
1115         2022-12-22  Jakub Jelinek  <jakub@redhat.com>
1117         PR rtl-optimization/108193
1118         * cse.cc (compute_const_anchors): Change n type to
1119         unsigned HOST_WIDE_INT, adjust comparison against it to avoid
1120         warnings.  Formatting fix.
1121         (insert_const_anchor): Use gen_int_mode instead of GEN_INT.
1123 2023-02-10  Jakub Jelinek  <jakub@redhat.com>
1125         Backported from master:
1126         2022-12-16  Jakub Jelinek  <jakub@redhat.com>
1128         PR rtl-optimization/106751
1129         * loop-invariant.cc (move_invariant_reg): If preheader bb ends
1130         with a JUMP_INSN, split the preheader edge and emit invariants
1131         into the new preheader basic block.
1133 2023-02-10  Jakub Jelinek  <jakub@redhat.com>
1135         Backported from master:
1136         2022-12-15  Jakub Jelinek  <jakub@redhat.com>
1138         PR tree-optimization/108095
1139         * tree-into-ssa.cc (maybe_register_def): Insert debug stmt
1140         on all non-EH edges from asm goto if they have a single
1141         predecessor rather than asserting there is at most one such edge.
1142         Test whether there are no PHI nodes next to the single predecessor
1143         test.
1145 2023-02-10  Jakub Jelinek  <jakub@redhat.com>
1147         Backported from master:
1148         2022-12-10  Jakub Jelinek  <jakub@redhat.com>
1150         PR tree-optimization/107997
1151         * tree-ssa-loop-ivopts.cc: Include cfganal.h.
1152         (create_new_iv) <case IP_END>: If ip_end_pos bb is non-empty and ends
1153         with a stmt which ends bb, instead of adding iv update after it split
1154         the latch edge and insert iterator into the new latch bb.
1156 2023-02-10  Jakub Jelinek  <jakub@redhat.com>
1158         Backported from master:
1159         2022-12-08  Jakub Jelinek  <jakub@redhat.com>
1161         PR debug/106719
1162         * cfgbuild.cc (find_bb_boundaries): If there are NOTEs in between
1163         debug_insn (seen after flow_transfer_insn) and insn, move NOTEs
1164         before all the DEBUG_INSNs and split after NOTEs.  If there are
1165         other insns like jump table data, clear debug_insn.
1167 2023-02-10  Jakub Jelinek  <jakub@redhat.com>
1169         Backported from master:
1170         2022-11-28  Jakub Jelinek  <jakub@redhat.com>
1172         PR target/106875
1173         * config/i386/i386.opt (x_ix86_abi): Remove TargetSave.
1174         (ix86_abi): Replace it with TargetVariable.
1175         * config/i386/i386-options.cc (ix86_function_specific_save,
1176         ix86_function_specific_restore): Don't save and restore x_ix86_abi.
1178 2023-02-10  Jakub Jelinek  <jakub@redhat.com>
1180         Backported from master:
1181         2022-11-24  Jakub Jelinek  <jakub@redhat.com>
1183         PR middle-end/107317
1184         * asan.cc: Include diagnostic-core.h.
1185         (asan_emit_stack_protection): Return NULL early if seen_error ().
1187 2023-02-07  Andrew Pinski  <apinski@marvell.com>
1189         Backported from master:
1190         2023-01-30  Andrew Pinski  <apinski@marvell.com>
1192         PR tree-optimization/108582
1193         * tree-ssa-phiopt.cc (match_simplify_replacement): Add check
1194         for middlebb to have no phi nodes.
1196 2023-02-07  Siddhesh Poyarekar  <siddhesh@gotplt.org>
1198         Backported from master:
1199         2023-01-26  Siddhesh Poyarekar  <siddhesh@gotplt.org>
1201         PR tree-optimization/108522
1202         * tree-object-size.cc (compute_object_offset): Make EXPR
1203         argument non-const.  Call component_ref_field_offset.
1205 2023-02-07  Siddhesh Poyarekar  <siddhesh@gotplt.org>
1207         Backported from master:
1208         2023-01-25  Siddhesh Poyarekar  <siddhesh@gotplt.org>
1209                     Jakub Jelinek  <jakub@redhat.com>
1211         PR tree-optimization/108522
1212         * tree-object-size.cc (compute_object_offset): Use
1213         TREE_OPERAND(ref, 2) for COMPONENT_REF when available.
1215 2023-02-01  Martin Jambor  <mjambor@suse.cz>
1217         Backported from master:
1218         2023-01-18  Martin Jambor  <mjambor@suse.cz>
1220         PR ipa/107944
1221         * cgraph.cc (cgraph_node::remove): Check whether nodes up the
1222         lcone_of chain also do not need the body.
1224 2023-01-30  Andrew MacLeod  <amacleod@redhat.com>
1226         PR tree-optimization/108306
1227         * range-op.cc (operator_lshift::fold_range): Return [0, 0] not
1228         varying for shifts that are always out of void range.
1229         (operator_rshift::fold_range): Return [0, 0] not
1230         varying for shifts that are always out of void range.
1232 2023-01-30  liuhongt  <hongtao.liu@intel.com>
1234         * config/i386/i386.opt: Change AVX512FP16 to AVX512-FP16.
1235         * doc/invoke.texi: Ditto.
1237 2023-01-29  Jan Hubicka  <jh@suse.cz>
1239         Backported from master:
1240         2023-01-16  Jan Hubicka  <jh@suse.cz>
1242         * config/i386/i386.cc (ix86_vectorize_builtin_scatter): Guard scatter
1243         by TARGET_USE_SCATTER.
1244         * config/i386/i386.h (TARGET_USE_SCATTER_2PARTS,
1245         TARGET_USE_SCATTER_4PARTS, TARGET_USE_SCATTER): New macros.
1246         * config/i386/x86-tune.def (TARGET_USE_SCATTER_2PARTS,
1247         TARGET_USE_SCATTER_4PARTS, TARGET_USE_SCATTER): New tunes.
1248         (X86_TUNE_AVOID_256FMA_CHAINS, X86_TUNE_AVOID_512FMA_CHAINS): Disable
1249         for znver4.  (X86_TUNE_USE_GATHER): Disable for zen4.
1251 2023-01-29  Jan Hubicka  <jh@suse.cz>
1253         Backported from master:
1254         2022-12-22  Jan Hubicka  <hubicka@ucw.cz>
1256         * config/i386/i386-expand.cc (ix86_expand_set_or_cpymem): Add
1257         TARGET_AVX512_SPLIT_REGS
1258         * config/i386/i386-options.cc (ix86_option_override_internal):
1259         Honor x86_TONE_AVOID_256FMA_CHAINS.
1260         * config/i386/i386.cc (ix86_vec_cost): Honor TARGET_AVX512_SPLIT_REGS.
1261         (ix86_reassociation_width): Likewise.
1262         * config/i386/i386.h (TARGET_AVX512_SPLIT_REGS): New tune.
1263         * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): Disable
1264         for znver4.
1265         (X86_TUNE_USE_GATHER_4PARTS): Likewise.
1266         (X86_TUNE_AVOID_256FMA_CHAINS): Set for znver4.
1267         (X86_TUNE_AVOID_512FMA_CHAINS): New utne; set for znver4.
1268         (X86_TUNE_AVX256_OPTIMAL): Add znver4.
1269         (X86_TUNE_AVX512_SPLIT_REGS): New tune.
1270         (X86_TUNE_AVX256_MOVE_BY_PIECES): Add znver1-3.
1271         (X86_TUNE_AVX256_STORE_BY_PIECES): Add znver1-3.
1272         (X86_TUNE_AVX512_MOVE_BY_PIECES): Add znver4.
1273         (X86_TUNE_AVX512_STORE_BY_PIECES): Add znver4.
1275 2023-01-29  Jan Hubicka  <jh@suse.cz>
1277         Backported from master:
1278         2022-12-22  Jan Hubicka  <hubicka@ucw.cz>
1280         * config/i386/x86-tune-costs.h (znver4_cost): Upate costs of FP and SSE
1281         moves, division multiplication, gathers, L2 cache size, and more
1282         complex FP instrutions.
1284 2023-01-28  Tejas Joshi  <TejasSanjay.Joshi@amd.com>
1286         Backported from master:
1287         2023-01-05  Tejas Joshi  <TejasSanjay.Joshi@amd.com>
1289         * common/config/i386/i386-common.cc (processor_alias_table):
1290         Use CPU_ZNVER4 for znver4.
1291         * config/i386/i386.md: Add znver4.md.
1292         * config/i386/znver4.md: New.
1294 2023-01-28  Tejas Joshi  <TejasSanjay.Joshi@amd.com>
1296         Backported from master:
1297         2022-10-25  Tejas Joshi  <TejasSanjay.Joshi@amd.com>
1299         * common/config/i386/i386-common.cc (processor_alias_table): Use
1300         CPU_ZNVER3 for znver4.
1301         * config/i386/znver.md: Remove znver4 reservations.
1303 2023-01-28  Tejas Joshi  <TejasSanjay.Joshi@amd.com>
1305         Backported from master:
1306         2022-10-21  Tejas Joshi  <TejasSanjay.Joshi@amd.com>
1308         * common/config/i386/cpuinfo.h (get_amd_cpu): Recognize znver4.
1309         * common/config/i386/i386-common.cc (processor_names): Add znver4.
1310         (processor_alias_table): Add znver4 and modularize old znvers.
1311         * common/config/i386/i386-cpuinfo.h (processor_subtypes):
1312         AMDFAM19H_ZNVER4.
1313         * config.gcc (x86_64-*-* |...): Likewise.
1314         * config/i386/driver-i386.cc (host_detect_local_cpu): Let
1315         -march=native recognize znver4 cpus.
1316         * config/i386/i386-c.cc (ix86_target_macros_internal): Add znver4.
1317         * config/i386/i386-options.cc (m_ZNVER4): New definition.
1318         (m_ZNVER): Include m_ZNVER4.
1319         (processor_cost_table): Add znver4.
1320         * config/i386/i386.cc (ix86_reassociation_width): Likewise.
1321         * config/i386/i386.h (processor_type): Add PROCESSOR_ZNVER4.
1322         (PTA_ZNVER1): New definition.
1323         (PTA_ZNVER2): Likewise.
1324         (PTA_ZNVER3): Likewise.
1325         (PTA_ZNVER4): Likewise.
1326         * config/i386/i386.md (define_attr "cpu"): Add znver4 and rename
1327         md file.
1328         * config/i386/x86-tune-costs.h (znver4_cost): New definition.
1329         * config/i386/x86-tune-sched.cc (ix86_issue_rate): Add znver4.
1330         (ix86_adjust_cost): Likewise.
1331         * config/i386/znver1.md: Rename to znver.md.
1332         * config/i386/znver.md: Add new reservations for znver4.
1333         * doc/extend.texi: Add details about znver4.
1334         * doc/invoke.texi: Likewise.
1336 2023-01-27  Andre Vieira  <andre.simoesdiasvieira@arm.com>
1338         Backported from master:
1339         2022-12-06  Andre Vieira  <andre.simoesdiasvieira@arm.com>
1341         PR target/107987
1342         * config/arm/mve.md (mve_vcmp<mve_cmp_op>q_n_<mode>,
1343         @mve_vcmp<mve_cmp_op>q_n_f<mode>): Apply vec_duplicate to scalar
1344         operand.
1346 2023-01-26  Marek Polacek  <polacek@redhat.com>
1348         Backported from master:
1349         2023-01-26  Marek Polacek  <polacek@redhat.com>
1351         PR middle-end/108543
1352         * opts.cc (parse_sanitizer_options): Don't always clear SANITIZE_ADDRESS
1353         if it was previously set.
1355 2023-01-26  Dimitar Dimitrov  <dimitar@dinux.eu>
1357         Backported from master:
1358         2023-01-22  Dimitar Dimitrov  <dimitar@dinux.eu>
1360         * config/pru/pru.h (CLZ_DEFINED_VALUE_AT_ZERO): Fix value for QI
1361         and HI input modes.
1362         * config/pru/pru.md (clz): Fix generated code for QI and HI
1363         input modes.
1365 2023-01-25  Christophe Lyon  <christophe.lyon@arm.com>
1367         Backported from master:
1368         2023-01-12  Christophe Lyon  <christophe.lyon@arm.com>
1369                     Richard Sandiford  <richard.sandiford@arm.com>
1371         * config/aarch64/aarch64.cc (aarch64_function_arg_alignment): Fix
1372         comment.
1373         (aarch64_layout_arg): Factorize warning conditions.
1374         (aarch64_function_arg_boundary): Fix typo.
1375         * function.cc (currently_expanding_function_start): New variable.
1376         (expand_function_start): Handle
1377         currently_expanding_function_start.
1378         * function.h (currently_expanding_function_start): Declare.
1380 2023-01-24  Richard Biener  <rguenther@suse.de>
1382         Backported from master:
1383         2022-12-19  Richard Biener  <rguenther@suse.de>
1385         PR tree-optimization/108164
1386         * tree-vect-loop-manip.cc (vect_update_ivs_after_vectorizer):
1387         Perform vect_step_op_add update in the appropriate type.
1389 2023-01-24  Richard Biener  <rguenther@suse.de>
1391         Backported from master:
1392         2022-12-13  Richard Biener  <rguenther@suse.de>
1394         PR tree-optimization/108076
1395         * tree-if-conv.cc (if_convertible_loop_p_1): Reject blocks
1396         with non-local or forced labels that we later remove
1397         labels from.
1399 2023-01-24  Richard Biener  <rguenther@suse.de>
1401         Backported from master:
1402         2022-12-21  Richard Biener  <rguenther@suse.de>
1404         PR middle-end/107994
1405         * gimplify.cc (gimplify_expr): Catch errorneous comparison
1406         operand.
1408 2023-01-24  Richard Biener  <rguenther@suse.de>
1410         Backported from master:
1411         2022-11-11  Richard Biener  <rguenther@suse.de>
1412                     Nikita Voronov  <nik_1357@mail.ru>
1414         PR tree-optimization/107554
1415         * tree-ssa-strlen.cc (strlen_pass::count_nonzero_bytes):
1416         Use unsigned HOST_WIDE_INT type for the strlen.
1418 2023-01-24  Sergei Trofimovich  <siarheit@google.com>
1420         Backported from master:
1421         2022-08-16  Sergei Trofimovich  <siarheit@google.com>
1423         PR driver/106624
1424         * gcc.cc (driver::detect_jobserver): Allocate storage xputenv()
1425         argument using xstrdup().
1427 2023-01-23  Andreas Krebbel  <krebbel@linux.ibm.com>
1429         Backported from master:
1430         2022-08-25  Andreas Krebbel  <krebbel@linux.ibm.com>
1432         PR target/106101
1433         * config/s390/predicates.md (subreg_register_operand): New
1434         predicate.
1435         * config/s390/s390-protos.h (s390_gen_lowpart_subreg): New
1436         function prototype.
1437         * config/s390/s390.cc (s390_gen_lowpart_subreg): New function.
1438         (s390_expand_insv): Use s390_gen_lowpart_subreg instead of
1439         gen_lowpart.
1440         * config/s390/s390.md ("*get_tp_64", "*zero_extendhisi2_31")
1441         ("*zero_extendqisi2_31", "*zero_extendqihi2_31"): Likewise.
1442         ("movstrictqi", "movstricthi", "movstrictsi"): Use the
1443         subreg_register_operand predicate instead of register_operand.
1445 2023-01-11  Eric Botcazou  <ebotcazou@adacore.com>
1447         PR tree-optimization/108199
1448         * tree-sra.cc (sra_modify_expr): Deal with reverse storage order
1449         for bit-field references.
1451 2023-01-11  Martin Liska  <mliska@suse.cz>
1453         Backported from master:
1454         2022-12-28  Martin Liska  <mliska@suse.cz>
1456         PR tree-optimization/108137
1457         * tree-ssa-strlen.cc (get_range_strlen_phi): Reject anything
1458         different from INTEGER_CST.
1460 2023-01-10  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
1462         Backported from master:
1463         2022-12-30  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
1465         PR target/107714
1466         * config/arm/arm-protos.h (mve_struct_mem_operand): New protoype.
1467         * config/arm/arm.cc (mve_struct_mem_operand): New function.
1468         * config/arm/constraints.md (Ug): New constraint.
1469         * config/arm/mve.md (mve_vst4q<mode>): Change constraint.
1470         (mve_vst2q<mode>): Likewise.
1471         (mve_vld4q<mode>): Likewise.
1472         (mve_vld2q<mode>): Likewise.
1473         * config/arm/predicates.md (mve_struct_operand): New predicate.
1475 2023-01-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1477         Backported from master:
1478         2022-12-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1480         PR target/108140
1481         * config/aarch64/aarch64-builtins.cc
1482         (aarch64_expand_builtin_data_intrinsic): Handle NULL target.
1484 2023-01-05  Kewen Lin  <linkw@linux.ibm.com>
1486         PR target/106736
1487         * config/rs6000/mma.md (define_expand movoo): Call function
1488         rs6000_opaque_type_invalid_use_p to check and emit error message for
1489         the invalid use of opaque type.
1490         (define_expand movxo): Likewise.
1491         * config/rs6000/rs6000-protos.h
1492         (rs6000_opaque_type_invalid_use_p): New function declaration.
1493         (currently_expanding_gimple_stmt): New extern declaration.
1494         * config/rs6000/rs6000.cc (rs6000_opaque_type_invalid_use_p): New
1495         function.
1497 2022-12-22  Richard Biener  <rguenther@suse.de>
1499         Backported from master:
1500         2022-12-22  Richard Biener  <rguenther@suse.de>
1502         PR bootstrap/106482
1503         * doc/install.texi (ISO C++11 Compiler): Document GCC version
1504         known to work.
1506 2022-12-22  Martin Liska  <mliska@suse.cz>
1508         Backported from master:
1509         2022-08-10  Martin Liska  <mliska@suse.cz>
1511         * opts-jobserver.h: Add one member.
1512         * opts-common.cc (jobserver_info::jobserver_info): Parse FIFO
1513         format of --jobserver-auth.
1515 2022-12-22  Martin Liska  <mliska@suse.cz>
1517         Backported from master:
1518         2022-08-10  Martin Liska  <mliska@suse.cz>
1520         * gcc.cc (driver::detect_jobserver): Remove and move to
1521         jobserver.h.
1522         * lto-wrapper.cc (jobserver_active_p): Likewise.
1523         (run_gcc): Likewise.
1524         * opts-jobserver.h: New file.
1525         * opts-common.cc (jobserver_info::jobserver_info): New function.
1527 2022-12-20  Richard Biener  <rguenther@suse.de>
1529         Backported from master:
1530         2022-12-20  Richard Biener  <rguenther@suse.de>
1532         PR d/104749
1533         * doc/install.texi (GDC): Document GDC 9.4 or later is required
1534         to build the D language frontend.
1536 2022-12-20  Hongyu Wang  <hongyu.wang@intel.com>
1538         * config/i386/x86-tune.def (X86_TUNE_AVOID_256FMA_CHAINS): Add
1539         m_SAPPHIRERAPIDS, m_ALDERLAKE.
1541 2022-12-15  Sebastian Pop  <spop@amazon.com>
1543         PR target/98776
1544         * config/aarch64/aarch64-protos.h (aarch64_output_patchable_area):
1545         Declared.
1546         * config/aarch64/aarch64.cc (aarch64_print_patchable_function_entry):
1547         Emit an UNSPECV_PATCHABLE_AREA pseudo instruction.
1548         (aarch64_output_patchable_area): New.
1549         * config/aarch64/aarch64.md (UNSPECV_PATCHABLE_AREA): New.
1550         (patchable_area): Define.
1552 2022-12-13  Alex Coplan  <alex.coplan@arm.com>
1554         Backported from master:
1555         2022-12-01  Alex Coplan  <alex.coplan@arm.com>
1557         * varasm.cc (assemble_variable): Fix type confusion bug when
1558         checking for ".vtable_map_vars" section.
1560 2022-12-12  Richard Biener  <rguenther@suse.de>
1562         Backported from master:
1563         2022-11-29  Richard Biener  <rguenther@suse.de>
1565         PR tree-optimization/107898
1566         * gimple-ssa-warn-alloca.cc (alloca_call_type): Check
1567         the type of the alloca argument is compatible with size_t
1568         before querying ranges.
1570 2022-12-12  Richard Biener  <rguenther@suse.de>
1572         Backported from master:
1573         2022-11-25  Richard Biener  <rguenther@suse.de>
1575         PR tree-optimization/107865
1576         * tree-cfg.cc (move_sese_region_to_fn): Free the number of
1577         iterations of moved loops.
1579 2022-12-12  Richard Biener  <rguenther@suse.de>
1581         Backported from master:
1582         2022-12-05  Richard Biener  <rguenther@suse.de>
1584         PR tree-optimization/107833
1585         PR tree-optimization/107839
1586         * cfghooks.cc: Include tree.h.
1587         * tree-ssa-loop-im.cc (movement_possibility): Wrap and
1588         make stmts using any ssa_name_maybe_undef_p operand
1589         to preserve execution.
1590         (loop_invariant_motion_in_fun): Call mark_ssa_maybe_undefs
1591         to init maybe-undefined status.
1592         * tree-ssa-loop-ivopts.cc (ssa_name_maybe_undef_p,
1593         ssa_name_set_maybe_undef, ssa_name_any_use_dominates_bb_p,
1594         mark_ssa_maybe_undefs): Move ...
1595         * tree-ssa.cc: ... here.
1596         * tree-ssa.h (ssa_name_any_use_dominates_bb_p,
1597         mark_ssa_maybe_undefs): Declare.
1598         (ssa_name_maybe_undef_p, ssa_name_set_maybe_undef): Define.
1600 2022-12-12  Richard Biener  <rguenther@suse.de>
1602         Backported from master:
1603         2022-11-16  Richard Biener  <rguenther@suse.de>
1605         PR tree-optimization/107686
1606         * tree-ssa-forwprop.cc (optimize_vector_load): Restrict
1607         VEC_UNPACK support to integral typed bitfield refs.
1609 2022-12-12  Richard Biener  <rguenther@suse.de>
1611         Backported from master:
1612         2022-11-22  Richard Biener  <rguenther@suse.de>
1614         PR tree-optimization/107766
1615         * tree-vect-slp-patterns.cc (complex_mul_pattern::matches):
1616         Use *node to check for FP vector types.
1618 2022-12-12  Richard Biener  <rguenther@suse.de>
1620         Backported from master:
1621         2022-11-18  Richard Biener  <rguenther@suse.de>
1623         PR tree-optimization/107647
1624         * tree-vect-slp-patterns.cc (addsub_pattern::recognize): Only
1625         allow FMA generation with -ffp-contract=fast for FP types.
1626         (complex_mul_pattern::matches): Likewise.
1628 2022-12-12  Richard Biener  <rguenther@suse.de>
1630         Backported from master:
1631         2022-10-28  Richard Biener  <rguenther@suse.de>
1633         PR tree-optimization/107407
1634         * tree-ssa-dse.cc (dse_classify_store): Perform backedge
1635         varying index check when collecting PHI uses rather than
1636         after optimizing processing of the candidate defs.
1638 2022-12-12  Richard Biener  <rguenther@suse.de>
1640         Backported from master:
1641         2022-12-05  Richard Biener  <rguenther@suse.de>
1643         PR tree-optimization/106868
1644         * gimple-ssa-warn-access.cc (pass_waccess::gimple_call_return_arg_ref):
1645         Inline into single user ...
1646         (pass_waccess::check_dangling_uses): ... here and adjust the
1647         call and the PHI case to require that ref.aref is the address
1648         of the decl.
1650 2022-12-09  Martin Liska  <mliska@suse.cz>
1652         Backported from master:
1653         2022-12-09  Martin Liska  <mliska@suse.cz>
1655         * config/i386/i386-builtins.cc (fold_builtin_cpu): Use same path
1656         as for PR103661.
1657         * doc/extend.texi: Fix "x86-64" use.
1659 2022-12-09  Martin Liska  <mliska@suse.cz>
1661         Backported from master:
1662         2022-05-11  Martin Liska  <mliska@suse.cz>
1664         * common/config/i386/cpuinfo.h (has_cpu_feature): Directly
1665         compute index in cpu_features2.
1666         (set_cpu_feature): Likewise.
1667         * config/i386/i386-builtins.cc (fold_builtin_cpu): Also remove
1668         loop for cpu_features2 and use NOP_EXPRs.
1670 2022-12-06  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1672         Backported from master:
1673         2022-11-30  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1675         * config/aarch64/aarch64.md (aarch64_cpymemdi): Specify clobber of CC reg.
1676         (*aarch64_cpymemdi): Likewise.
1677         (aarch64_movmemdi): Likewise.
1678         (aarch64_setmemdi): Likewise.
1679         (*aarch64_setmemdi): Likewise.
1681 2022-12-05  Andrew Pinski  <pinskia@gmail.com>
1683         Backported from master:
1684         2022-12-05  Andrew Pinski  <pinskia@gmail.com>
1686         PR tree-optimization/107956
1687         * tree-vect-patterns.cc (vect_recog_mask_conversion_pattern):
1688         Check for NULL LHS on masked loads.
1690 2022-12-01  liuhongt  <hongtao.liu@intel.com>
1692         PR target/107863
1693         * config/i386/i386-expand.cc (ix86_expand_vec_set_builtin):
1694         Convert op1 to target mode whenever mode mismatch.
1696 2022-11-30  Iain Buclaw  <ibuclaw@gdcproject.org>
1698         Backported from master:
1699         2022-09-08  Iain Buclaw  <ibuclaw@gdcproject.org>
1701         * config/darwin-d.cc: Include tm.h.
1702         * config/dragonfly-d.cc: Likewise.
1703         * config/freebsd-d.cc: Remove memmodel.h.
1704         * config/glibc-d.cc: Likewise.
1705         * config/netbsd-d.cc: Include tm.h.
1706         * config/openbsd-d.cc: Likewise.
1707         * config/sol2-d.cc: Likewise.
1709 2022-11-30  Iain Buclaw  <ibuclaw@gdcproject.org>
1711         Backported from master:
1712         2022-09-02  Iain Buclaw  <ibuclaw@gdcproject.org>
1714         PR d/105659
1715         * config.gcc: Set tm_d_file to ${cpu_type}/${cpu_type}-d.h.
1716         * config/aarch64/aarch64-d.cc: Include tm_d.h.
1717         * config/aarch64/aarch64-protos.h (aarch64_d_target_versions): Move to
1718         config/aarch64/aarch64-d.h.
1719         (aarch64_d_register_target_info): Likewise.
1720         * config/aarch64/aarch64.h (TARGET_D_CPU_VERSIONS): Likewise.
1721         (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
1722         * config/arm/arm-d.cc: Include tm_d.h and arm-protos.h instead of
1723         tm_p.h.
1724         * config/arm/arm-protos.h (arm_d_target_versions): Move to
1725         config/arm/arm-d.h.
1726         (arm_d_register_target_info): Likewise.
1727         * config/arm/arm.h (TARGET_D_CPU_VERSIONS): Likewise.
1728         (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
1729         * config/default-d.cc: Remove memmodel.h include.
1730         * config/freebsd-d.cc: Include tm_d.h instead of tm_p.h.
1731         * config/glibc-d.cc: Likewise.
1732         * config/i386/i386-d.cc: Include tm_d.h.
1733         * config/i386/i386-protos.h (ix86_d_target_versions): Move to
1734         config/i386/i386-d.h.
1735         (ix86_d_register_target_info): Likewise.
1736         (ix86_d_has_stdcall_convention): Likewise.
1737         * config/i386/i386.h (TARGET_D_CPU_VERSIONS): Likewise.
1738         (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
1739         (TARGET_D_HAS_STDCALL_CONVENTION): Likewise.
1740         * config/i386/winnt-d.cc: Include tm_d.h instead of tm_p.h.
1741         * config/mips/mips-d.cc: Include tm_d.h.
1742         * config/mips/mips-protos.h (mips_d_target_versions): Move to
1743         config/mips/mips-d.h.
1744         (mips_d_register_target_info): Likewise.
1745         * config/mips/mips.h (TARGET_D_CPU_VERSIONS): Likewise.
1746         (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
1747         * config/netbsd-d.cc: Include tm_d.h instead of tm.h and memmodel.h.
1748         * config/openbsd-d.cc: Likewise.
1749         * config/pa/pa-d.cc: Include tm_d.h.
1750         * config/pa/pa-protos.h (pa_d_target_versions): Move to
1751         config/pa/pa-d.h.
1752         (pa_d_register_target_info): Likewise.
1753         * config/pa/pa.h (TARGET_D_CPU_VERSIONS): Likewise.
1754         (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
1755         * config/riscv/riscv-d.cc: Include tm_d.h.
1756         * config/riscv/riscv-protos.h (riscv_d_target_versions): Move to
1757         config/riscv/riscv-d.h.
1758         (riscv_d_register_target_info): Likewise.
1759         * config/riscv/riscv.h (TARGET_D_CPU_VERSIONS): Likewise.
1760         (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
1761         * config/rs6000/rs6000-d.cc: Include tm_d.h.
1762         * config/rs6000/rs6000-protos.h (rs6000_d_target_versions): Move to
1763         config/rs6000/rs6000-d.h.
1764         (rs6000_d_register_target_info): Likewise.
1765         * config/rs6000/rs6000.h (TARGET_D_CPU_VERSIONS) Likewise.:
1766         (TARGET_D_REGISTER_CPU_TARGET_INFO) Likewise.:
1767         * config/s390/s390-d.cc: Include tm_d.h.
1768         * config/s390/s390-protos.h (s390_d_target_versions): Move to
1769         config/s390/s390-d.h.
1770         (s390_d_register_target_info): Likewise.
1771         * config/s390/s390.h (TARGET_D_CPU_VERSIONS): Likewise.
1772         (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
1773         * config/sol2-d.cc: Include tm_d.h instead of tm.h and memmodel.h.
1774         * config/sparc/sparc-d.cc: Include tm_d.h.
1775         * config/sparc/sparc-protos.h (sparc_d_target_versions): Move to
1776         config/sparc/sparc-d.h.
1777         (sparc_d_register_target_info): Likewise.
1778         * config/sparc/sparc.h (TARGET_D_CPU_VERSIONS): Likewise.
1779         (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
1780         * configure: Regenerate.
1781         * configure.ac (tm_d_file): Remove defaults.h.
1782         (tm_d_include_list): Remove options.h and insn-constants.h.
1783         * config/aarch64/aarch64-d.h: New file.
1784         * config/arm/arm-d.h: New file.
1785         * config/i386/i386-d.h: New file.
1786         * config/mips/mips-d.h: New file.
1787         * config/pa/pa-d.h: New file.
1788         * config/riscv/riscv-d.h: New file.
1789         * config/rs6000/rs6000-d.h: New file.
1790         * config/s390/s390-d.h: New file.
1791         * config/sparc/sparc-d.h: New file.
1793 2022-11-30  John David Anglin  <danglin@gcc.gnu.org>
1795         * config/pa/pa.md (addvdi3): Force operand 2 to a register.
1796         Remove "addi,tsv,*" instruction from unamed pattern.
1797         (subvdi3): Force operand 1 to a register.
1798         Remove "subi,tsv" instruction from from unamed pattern.
1800 2022-11-29  Max Filippov  <jcmvbkbc@gmail.com>
1802         Backported from master:
1803         2022-11-08  Max Filippov  <jcmvbkbc@gmail.com>
1805         PR rtl-optimization/107482
1806         * ira-color.cc (assign_hard_reg): Only call
1807         update_costs_from_copies when retry_p is false.
1809 2022-11-25  Eric Botcazou  <ebotcazou@adacore.com>
1811         * range-op.cc (operator_bitwise_xor::op1_range): Fix thinko.
1813 2022-11-25  Eric Botcazou  <ebotcazou@adacore.com>
1815         * tree-loop-distribution.cc (loop_distribution::classify_builtin_ldst):
1816         Bail out if source and destination do not have the same storage order.
1818 2022-11-21  Jakub Jelinek  <jakub@redhat.com>
1820         Backported from master:
1821         2022-11-21  Jakub Jelinek  <jakub@redhat.com>
1823         PR target/107748
1824         * config/i386/avx512fp16intrin.h (_mm512_castph512_ph128,
1825         _mm512_castph512_ph256, _mm512_castph128_ph512,
1826         _mm512_castph256_ph512, _mm512_set1_pch): Uglify names of local
1827         variables and union members.
1828         * config/i386/avx512fp16vlintrin.h (_mm256_castph256_ph128,
1829         _mm256_castph128_ph256, _mm256_set1_pch, _mm_set1_pch): Likewise.
1830         * config/i386/smmintrin.h (_mm_extract_ps): Likewise.
1831         * config/i386/avx512bf16intrin.h (_mm_cvtsbh_ss): Likewise.
1833 2022-11-20  Jakub Jelinek  <jakub@redhat.com>
1835         Backported from master:
1836         2022-11-20  Jakub Jelinek  <jakub@redhat.com>
1838         PR target/107183
1839         * reg-stack.cc (next_flags_user): Add DEBUG_SEEN argument.
1840         If >= 0 and a DEBUG_INSN would be otherwise returned, set
1841         DEBUG_SEEN to 1 and ignore it.
1842         (swap_rtx_condition): Add DEBUG_SEEN argument.  In >= 0
1843         mode only set DEBUG_SEEN to 1 if problematic DEBUG_ISNSs
1844         were seen and revert all changes on success in that case.
1845         Don't try to recog_memoized DEBUG_INSNs.
1846         (compare_for_stack_reg): Adjust swap_rtx_condition caller.
1847         If it returns true and debug_seen is 1, call swap_rtx_condition
1848         again with debug_seen -1.
1850 2022-11-19  Thomas Schwinge  <thomas@codesourcery.com>
1852         Backported from master:
1853         2022-11-19  Thomas Schwinge  <thomas@codesourcery.com>
1855         * config/nvptx/nvptx.h (STARTFILE_SPEC): Fix 'crt0.o' for
1856         '-mmainkernel'.
1858 2022-11-19  Jinyang He  <hejinyang@loongson.cn>
1860         Backported from master:
1861         2022-11-18  Jinyang He  <hejinyang@loongson.cn>
1863         PR target/107713
1864         * config/loongarch/sync.md
1865         (atomic_cas_value_exchange_7_<mode>): New define_insn.
1866         (atomic_exchange): Use atomic_cas_value_exchange_7_si instead of
1867         atomic_cas_value_cmp_and_7_si.
1869 2022-11-16  Philipp Tomsich  <philipp.tomsich@vrull.eu>
1871         Backported from master:
1872         2022-11-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
1874         * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add ampere1a.
1875         * config/aarch64/aarch64-cost-tables.h: Add ampere1a_extra_costs.
1876         * config/aarch64/aarch64-fusion-pairs.def (AARCH64_FUSION_PAIR):
1877         Define a new fusion pair for A+B+1/A-B-1 (i.e., add/subtract two
1878         registers and then +1/-1).
1879         * config/aarch64/aarch64-tune.md: Regenerate.
1880         * config/aarch64/aarch64.cc (aarch_macro_fusion_pair_p): Implement
1881         idiom-matcher for the new fusion pair.
1882         * doc/invoke.texi: Add ampere1a.
1884 2022-11-16  Martin Jambor  <mjambor@suse.cz>
1886         Backported from master:
1887         2022-10-19  Martin Jambor  <mjambor@suse.cz>
1889         PR tree-optimization/107206
1890         * tree-sra.cc (struct access): New field grp_result_of_prop_from_lhs.
1891         (analyze_access_subtree): Do not create replacements for accesses with
1892         this flag when not toally scalarizing.
1893         (propagate_subaccesses_from_lhs): Set the new flag.
1895 2022-11-09  Eric Botcazou  <ebotcazou@adacore.com>
1897         * alias.cc (init_alias_analysis): Do not record sets to the hard
1898         frame pointer if the frame pointer has not been eliminated.
1900 2022-11-08  H.J. Lu  <hjl.tools@gmail.com>
1902         Backported from master:
1903         2022-10-25  H.J. Lu  <hjl.tools@gmail.com>
1905         PR target/107304
1906         * expr.cc (get_inner_reference): Always use TYPE_MODE for vector
1907         field with vector raw mode.
1909 2022-11-07  Cui,Lili  <lili.cui@intel.com>
1911         * config/i386/driver-i386.cc (host_detect_local_cpu):
1912         Move sapphirerapids out of AVX512_VP2INTERSECT.
1913         * config/i386/i386.h: Remove AVX512_VP2INTERSECT from PTA_SAPPHIRERAPIDS
1914         * doc/invoke.texi: Remove AVX512_VP2INTERSECT from SAPPHIRERAPIDS
1916 2022-11-05  Jonathan Wakely  <jwakely@redhat.com>
1918         Backported from master:
1919         2022-11-05  Jonathan Wakely  <jwakely@redhat.com>
1921         PR c/41041
1922         * doc/cppopts.texi: Document -fwide-exec-charset defaults
1923         correctly.
1925 2022-11-04  Eric Botcazou  <ebotcazou@adacore.com>
1927         * fold-const.cc (operand_compare::operand_equal_p) <COMPONENT_REF>:
1928         Do not take into account operand 2.
1929         (operand_compare::hash_operand) <COMPONENT_REF>: Likewise.
1931 2022-11-03  Uros Bizjak  <ubizjak@gmail.com>
1933         Backported from master:
1934         2022-11-03  Uroš Bizjak  <ubizjak@gmail.com>
1936         PR target/107404
1937         * config/i386/i386.md (eliminate reg-reg move by inverting the
1938         condition of a cmove #2 peephole2): Check if eliminated move
1939         initialized a register, used in the moved instruction.
1941 2022-11-03  Jakub Jelinek  <jakub@redhat.com>
1943         Backported from master:
1944         2022-10-02  Jakub Jelinek  <jakub@redhat.com>
1946         PR tree-optimization/107121
1947         * tree-cfg.cc (verify_gimple_call): Fix a typo in diagnostics,
1948         DEFFERED_INIT -> DEFERRED_INIT.
1950 2022-11-03  Jakub Jelinek  <jakub@redhat.com>
1952         Backported from master:
1953         2022-09-24  Jakub Jelinek  <jakub@redhat.com>
1955         PR c/107001
1956         * omp-low.cc (lower_omp_taskgroup): Don't add GOMP_RETURN statement
1957         at the end.
1958         * omp-expand.cc (build_omp_regions_1): Clarify GF_OMP_TARGET_KIND_DATA
1959         is not stand-alone directive.  For GIMPLE_OMP_TASKGROUP, also don't
1960         update parent.
1961         (omp_make_gimple_edges) <case GIMPLE_OMP_TASKGROUP>: Reset
1962         cur_region back after new_omp_region.
1964 2022-10-28  Julian Brown  <julian@codesourcery.com>
1966         Backported from master:
1967         2022-10-28  Julian Brown  <julian@codesourcery.com>
1968                     Thomas Schwinge  <thomas@codesourcery.com>
1970         PR middle-end/90115
1971         * omp-low.cc (oacc_privatization_candidate_p): Artificial vars are not
1972         privatization candidates.
1974 2022-10-27  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
1976         Backported from master:
1977         2022-10-27  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
1978                     Yvan ROUX  <yvan.roux@foss.st.com>
1980         * ira.cc: Resize array after reg number increased.
1982 2022-10-26  Philipp Tomsich  <philipp.tomsich@vrull.eu>
1984         Backported from master:
1985         2022-10-06  Philipp Tomsich  <philipp.tomsich@vrull.eu>
1987         * config/aarch64/aarch64-cores.def (AARCH64_CORE): Update
1988         Ampere-1 core entry.
1990 2022-10-26  Philipp Tomsich  <philipp.tomsich@vrull.eu>
1992         Backported from master:
1993         2022-10-06  Philipp Tomsich  <philipp.tomsich@vrull.eu>
1995         * config/aarch64/driver-aarch64.cc (readline): Fix off-by-one.
1997 2022-10-25  Eric Botcazou  <ebotcazou@adacore.com>
1999         * profile.cc (branch_prob): Be prepared for ignored functions with
2000         DECL_SOURCE_LOCATION set to UNKNOWN_LOCATION.
2002 2022-10-25  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
2004         Backported from master:
2005         2022-10-19  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
2007         PR target/106355
2008         * config/s390/s390.cc (s390_call_saved_register_used): For a
2009         parameter with BLKmode fix determining number of consecutive
2010         registers.
2012 2022-10-25  Martin Liska  <mliska@suse.cz>
2014         Backported from master:
2015         2022-10-25  Martin Liska  <mliska@suse.cz>
2017         PR target/107364
2018         * common/config/i386/i386-cpuinfo.h (enum processor_vendor):
2019         Fix pedantic warning.
2021 2022-10-25  Martin Liska  <mliska@suse.cz>
2023         Backported from master:
2024         2022-10-24  Martin Liska  <mliska@suse.cz>
2026         PR target/107364
2027         * common/config/i386/i386-cpuinfo.h (enum processor_vendor):
2028           Reorder enum values as BUILTIN_VENDOR_MAX should not point
2029           in the middle of the valid enum values.
2031 2022-10-21  Julian Brown  <julian@codesourcery.com>
2033         Backported from master:
2034         2022-10-20  Julian Brown  <julian@codesourcery.com>
2036         PR target/105421
2037         * config/gcn/gcn.cc (gcn_detect_incoming_pointer_arg): Any pointer
2038         argument forces FLAT addressing mode, not just
2039         pointer-to-non-aggregate.
2041 2022-10-21  Richard Biener  <rguenther@suse.de>
2043         Backported from master:
2044         2022-10-21  Richard Biener  <rguenther@suse.de>
2046         PR tree-optimization/107323
2047         * tree-loop-distribution.cc (pg_unmark_merged_alias_ddrs):
2048         New function.
2049         (loop_distribution::break_alias_scc_partitions): Revert
2050         postorder save/restore from the PR94125 fix.  Instead
2051         make sure to not ignore edges from SCCs we are going to
2052         merge.
2054 2022-10-20  Thomas Schwinge  <thomas@codesourcery.com>
2056         Backported from master:
2057         2022-05-10  Thomas Schwinge  <thomas@codesourcery.com>
2059         PR middle-end/100400
2060         * omp-oacc-kernels-decompose.cc
2061         (visit_loops_in_gang_single_region) <GIMPLE_OMP_FOR>: Explicitly
2062         call 'internal_error'.
2064 2022-10-20  Richard Sandiford  <richard.sandiford@arm.com>
2066         Backported from master:
2067         2022-10-20  Richard Sandiford  <richard.sandiford@arm.com>
2069         * config/aarch64/aarch64-sve.md (*aarch64_brk<brk_op>_cc): Remove
2070         merging alternative.
2071         (*aarch64_brk<brk_op>_ptest): Likewise.
2073 2022-10-20  Richard Sandiford  <richard.sandiford@arm.com>
2075         Backported from master:
2076         2022-10-20  Richard Sandiford  <richard.sandiford@arm.com>
2078         * config/aarch64/iterators.md (SVE_BRKP): New iterator.
2079         * config/aarch64/aarch64-sve.md (*aarch64_brkn_cc): New pattern.
2080         (*aarch64_brkn_ptest): Likewise.
2081         (*aarch64_brk<brk_op>_cc): Restrict to SVE_BRKP.
2082         (*aarch64_brk<brk_op>_ptest): Likewise.
2084 2022-10-20  Richard Sandiford  <richard.sandiford@arm.com>
2086         * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH8_3): Add
2087         AARCH64_FL_RCPC.
2088         (AARCH64_ISA_RCPC): New macro.
2089         * config/aarch64/aarch64-cores.def (thunderx3t110, zeus, neoverse-v1)
2090         (neoverse-512tvb, saphira): Remove RCPC from these Armv8.3-A+ cores.
2091         * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Define
2092         __ARM_FEATURE_RCPC when appropriate.
2094 2022-10-19  Kewen Lin  <linkw@linux.ibm.com>
2096         Backported from master:
2097         2022-09-26  Kewen Lin  <linkw@linux.ibm.com>
2099         PR target/96072
2100         * config/rs6000/rs6000-logue.cc (rs6000_emit_epilogue): Update the
2101         condition for adding REG_CFA_DEF_CFA reg note with
2102         frame_pointer_needed_indeed.
2104 2022-10-19  Kewen Lin  <linkw@linux.ibm.com>
2106         Backported from master:
2107         2022-09-26  Kewen Lin  <linkw@linux.ibm.com>
2109         PR target/100645
2110         * config/rs6000/vector.md (vec_shr_<mode>): Replace condition
2111         TARGET_ALTIVEC with VECTOR_UNIT_ALTIVEC_OR_VSX_P.
2113 2022-10-17  Pat Haugen  <pthaugen@linux.ibm.com>
2115         Backported from master:
2116         2022-05-17  Pat Haugen  <pthaugen@linux.ibm.com>
2118         PR target/99685
2119         * config/rs6000/rs6000-call.cc (rs6000_function_arg_advance_1): Bump
2120         register count when not splitting IEEE 128-bit Complex.
2122 2022-10-17  Richard Biener  <rguenther@suse.de>
2124         Backported from master:
2125         2022-10-14  Richard Biener  <rguenther@suse.de>
2127         PR tree-optimization/107254
2128         * tree-vect-slp.cc (vect_slp_analyze_node_operations_1):
2129         For permutes also analyze live lanes.
2130         (vect_schedule_slp_node): For permutes also code generate
2131         live lane extracts.
2133 2022-10-17  Richard Biener  <rguenther@suse.de>
2135         Backported from master:
2136         2022-10-11  Richard Biener  <rguenther@suse.de>
2138         PR tree-optimization/107212
2139         * tree-vect-loop.cc (vectorizable_reduction): Make sure to
2140         set STMT_VINFO_REDUC_DEF for all live lanes in a SLP
2141         reduction.
2142         (vectorizable_live_operation): Do not pun to the SLP
2143         node representative for reduction epilogue generation.
2145 2022-10-17  Richard Biener  <rguenther@suse.de>
2147         Backported from master:
2148         2022-10-13  Richard Biener  <rguenther@suse.de>
2150         PR tree-optimization/107160
2151         * tree-vect-loop.cc (vect_create_epilog_for_reduction):
2152         Do not register accumulator if we failed to reduce it
2153         to a single vector.
2155 2022-10-17  Richard Biener  <rguenther@suse.de>
2157         Backported from master:
2158         2022-10-06  Richard Biener  <rguenther@suse.de>
2160         PR tree-optimization/107107
2161         * tree-ssa-sccvn.cc (visit_reference_op_store): Do not
2162         affect value-numbering when doing the tail merging
2163         MODIFY_EXPR lookup.
2165 2022-10-17  Richard Biener  <rguenther@suse.de>
2167         Backported from master:
2168         2022-09-23  Richard Biener  <rguenther@suse.de>
2170         PR tree-optimization/106922
2171         * tree-ssa-sccvn.cc (vn_reference_lookup_3): Allow
2172         an arbitrary number of same valued skipped stores.
2174 2022-10-17  Richard Biener  <rguenther@suse.de>
2176         Backported from master:
2177         2022-09-22  Richard Biener  <rguenther@suse.de>
2179         PR tree-optimization/106922
2180         * tree-ssa-sccvn.cc (vn_walk_cb_data::same_val): New member.
2181         (vn_walk_cb_data::finish): Perform delayed verification of
2182         a skipped may-alias.
2183         (vn_reference_lookup_pieces): Likewise.
2184         (vn_reference_lookup): Likewise.
2185         (vn_reference_lookup_3): When skipping stores of the same
2186         value also handle constant stores that are more than a
2187         single VDEF away by delaying the verification.
2189 2022-10-14  Eric Botcazou  <ebotcazou@adacore.com>
2191         PR target/107248
2192         * config/sparc/sparc.cc (sparc_expand_prologue): Emit a frame
2193         blockage for leaf functions.
2194         (sparc_flat_expand_prologue): Emit frame instead of full blockage.
2195         (sparc_expand_epilogue): Emit a frame blockage for leaf functions.
2196         (sparc_flat_expand_epilogue): Emit frame instead of full blockage.
2198 2022-10-13  Tobias Burnus  <tobias@codesourcery.com>
2200         Backported from master:
2201         2022-10-04  Tobias Burnus  <tobias@codesourcery.com>
2203         * doc/install.texi (Specific): Add missing items to bullet list.
2204         (amdgcn): Update LLVM requirements, use version not date for newlib.
2205         (nvptx): Use version not git hash for newlib.
2207 2022-10-11  Christophe Lyon  <christophe.lyon@arm.com>
2209         * config/arm/mve.md (mve_vqshluq_n_s<mode>): Use
2210         MVE_pred/MVE_constraint instead of mve_imm_7/Ra.
2211         (mve_vqshluq_m_n_s<mode>): Likewise.
2212         (mve_vqrshrnbq_n_<supf><mode>): Use MVE_pred3/MVE_constraint3
2213         instead of mve_imm_8/Rb.
2214         (mve_vqrshrunbq_n_s<mode>): Likewise.
2215         (mve_vqrshrntq_n_<supf><mode>): Likewise.
2216         (mve_vqrshruntq_n_s<mode>): Likewise.
2217         (mve_vrshrnbq_n_<supf><mode>): Likewise.
2218         (mve_vrshrntq_n_<supf><mode>): Likewise.
2219         (mve_vqrshrnbq_m_n_<supf><mode>): Likewise.
2220         (mve_vqrshrntq_m_n_<supf><mode>): Likewise.
2221         (mve_vrshrnbq_m_n_<supf><mode>): Likewise.
2222         (mve_vrshrntq_m_n_<supf><mode>): Likewise.
2223         (mve_vqrshrunbq_m_n_s<mode>): Likewise.
2224         (mve_vsriq_n_<supf><mode): Use MVE_pred2/MVE_constraint2 instead
2225         of mve_imm_selective_upto_8/Rg.
2226         (mve_vsriq_m_n_<supf><mode>): Likewise.
2227         (cherry-picked from c3fb6658c7670e446f2fd00984404d971e416b3c)
2229 2022-10-11  Richard Biener  <rguenther@suse.de>
2231         Backported from master:
2232         2022-09-14  Richard Biener  <rguenther@suse.de>
2234         PR tree-optimization/106934
2235         * tree-ssa.cc (non_rewritable_mem_ref_base): Avoid BIT_FIELD_REFs
2236         of bitfields.
2237         (maybe_rewrite_mem_ref_base): Likewise.
2239 2022-10-11  Richard Biener  <rguenther@suse.de>
2241         Backported from master:
2242         2022-09-15  Richard Biener  <rguenther@suse.de>
2244         PR tree-optimization/106922
2245         * tree-ssa-pre.cc (translate_vuse_through_block): Only
2246         keep the VUSE if its def dominates PHIBLOCK.
2247         (prune_clobbered_mems): Rewrite logic so we check whether
2248         a value dies in a block when the VUSE def doesn't dominate it.
2250 2022-10-11  Richard Biener  <rguenther@suse.de>
2252         Backported from master:
2253         2022-09-09  Richard Biener  <rguenther@suse.de>
2255         PR tree-optimization/106892
2256         * tree-predcom.cc (ref_at_iteration): Do not associate the
2257         constant part of the offset into the MEM_REF offset
2258         operand, across a non-zero offset.
2260 2022-10-11  Richard Biener  <rguenther@suse.de>
2262         Backported from master:
2263         2022-08-22  Richard Biener  <rguenther@suse.de>
2265         PR tree-optimization/105937
2266         * tree-ssa-uninit.cc (find_uninit_use): Do not queue PHIs
2267         on backedges.
2268         (execute_late_warn_uninitialized): Mark backedges.
2270 2022-10-03  Sergei Trofimovich  <siarheit@google.com>
2272         Backported from master:
2273         2022-10-03  Sergei Trofimovich  <siarheit@google.com>
2275         PR target/107064
2276         * config/i386/t-i386: Add build-time dependencies against
2277         i386-builtin-types.inc to i386-builtins.o, i386-expand.o,
2278         i386-features.o.
2280 2022-09-29  H.J. Lu  <hjl.tools@gmail.com>
2282         Backported from master:
2283         2022-09-28  H.J. Lu  <hjl.tools@gmail.com>
2285         PR target/107061
2286         * config/i386/predicates.md (encodekey128_operation): Check
2287         XMM4-XMM6 as clobbered.
2288         (encodekey256_operation): Likewise.
2289         * config/i386/sse.md (encodekey128u32): Clobber XMM4-XMM6.
2290         (encodekey256u32): Likewise.
2292 2022-09-29  Tobias Burnus  <tobias@codesourcery.com>
2294         Backported from master:
2295         2022-09-26  Tobias Burnus  <tobias@codesourcery.com>
2297         PR middle-end/106982
2298         * omp-low.cc (lower_oacc_reductions): Add some unshare_expr.
2300 2022-09-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2302         Backported from master:
2303         2022-09-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2305         * config/aarch64/aarch64-cores.def (neoverse-v2): New entry.
2306         (demeter): Update tunings to neoversev2.
2307         * config/aarch64/aarch64-tune.md: Regenerate.
2308         * config/aarch64/aarch64.cc (demeter_addrcost_table): Rename to
2309         neoversev2_addrcost_table.
2310         (demeter_regmove_cost): Rename to neoversev2_addrcost_table.
2311         (demeter_advsimd_vector_cost): Rename to neoversev2_advsimd_vector_cost.
2312         (demeter_sve_vector_cost): Rename to neoversev2_sve_vector_cost.
2313         (demeter_scalar_issue_info): Rename to neoversev2_scalar_issue_info.
2314         (demeter_advsimd_issue_info): Rename to neoversev2_advsimd_issue_info.
2315         (demeter_sve_issue_info): Rename to neoversev2_sve_issue_info.
2316         (demeter_vec_issue_info): Rename to neoversev2_vec_issue_info.
2317         Update references to above.
2318         (demeter_vector_cost): Rename to neoversev2_vector_cost.
2319         (demeter_tunings): Rename to neoversev2_tunings.
2320         (aarch64_vec_op_count::rename_cycles_per_iter): Use
2321         neoversev2_sve_issue_info instead of demeter_sve_issue_info.
2322         * doc/invoke.texi (AArch64 Options): Document neoverse-v2.
2324 2022-09-21  Richard Sandiford  <richard.sandiford@arm.com>
2326         Backported from master:
2327         2022-09-20  Richard Sandiford  <richard.sandiford@arm.com>
2329         PR target/106491
2330         * config/aarch64/aarch64-sve-builtins.cc (scalar_types)
2331         (acle_vector_types, acle_svpattern, acle_svprfop): Add GTY
2332         markup to (new) extern declarations instead of to the main
2333         definition.
2335 2022-09-21  Kewen Lin  <linkw@linux.ibm.com>
2337         Backported from master:
2338         2022-09-13  Kewen Lin  <linkw@linux.ibm.com>
2340         PR target/104482
2341         * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin): Fix
2342         the equality check for argument number, and move this hunk ahead.
2344 2022-09-21  Kewen.Lin  <linkw@gcc.gnu.org>
2346         Backported from master:
2347         2022-09-13  Kewen.Lin  <linkw@gcc.gnu.org>
2349         PR target/105485
2350         * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Add
2351         the handling for unresolved overloaded builtin function.
2352         (rs6000_expand_builtin): Likewise.
2354 2022-09-09  Richard Biener  <rguenther@suse.de>
2356         Backported from master:
2357         2022-09-07  Richard Biener  <rguenther@suse.de>
2359         PR tree-optimization/106860
2360         * tree-ssa-loop-split.cc (split_loop): Find the exit to
2361         latch edge from the loop exit edge instead of from the
2362         latch.  Verify we're going to find it.
2364 2022-09-09  Richard Biener  <rguenther@suse.de>
2366         Backported from master:
2367         2022-09-06  Richard Biener  <rguenther@suse.de>
2369         PR tree-optimization/106841
2370         * tree-vect-slp.cc (vect_detect_hybrid_slp): Also process
2371         scatter/gather offset.
2373 2022-09-09  Richard Biener  <rguenther@suse.de>
2375         Backported from master:
2376         2022-09-02  Richard Biener  <rguenther@suse.de>
2378         PR tree-optimization/106809
2379         * tree-ssa-sccvn.cc (dominaged_by_p_w_unex): Check we have
2380         more than one successor before doing extra work.
2382 2022-09-08  Sebastian Huber  <sebastian.huber@embedded-brains.de>
2384         * config/rs6000/rtems.h (CPP_OS_DEFAULT_SPEC): Define __PPC_VRSAVE__ if
2385         -mvrsave is present.
2386         * config/rs6000/t-rtems: Add -mvrsave multilib variants for
2387         -mcpu=e6500.
2389 2022-09-03  Peter Bergner  <bergner@linux.ibm.com>
2391         Backported from master:
2392         2022-09-01  Peter Bergner  <bergner@linux.ibm.com>
2394         PR target/101322
2395         * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_mma_builtin):
2396         Enforce the use of a valid MMA pointer type.
2398 2022-09-02  Richard Earnshaw  <rearnsha@arm.com>
2400         Backported from master:
2401         2022-08-03  Richard Earnshaw  <rearnsha@arm.com>
2403         PR rtl-optimization/106187
2404         * alias.h (mems_same_for_tbaa_p): Declare.
2405         * alias.cc (mems_same_for_tbaa_p): New function.
2406         * dse.cc (record_store): Use it instead of open-coding
2407         alias check.
2408         * cselib.h (cselib_redundant_set_p): Declare.
2409         * cselib.cc: Include alias.h
2410         (cselib_redundant_set_p): New function.
2411         * cfgcleanup.cc: (mark_effect): Use cselib_redundant_set_p instead
2412         of rtx_equal_for_cselib_p.
2413         * postreload.cc (reload_cse_simplify): Use cselib_redundant_set_p.
2414         (reload_cse_noop_set_p): Delete.
2416 2022-09-02  Richard Earnshaw  <rearnsha@arm.com>
2418         Backported from master:
2419         2022-05-13  Richard Earnshaw  <rearnsha@arm.com>
2421         PR target/105463
2422         * config/arm/mve.md (*movmisalign<mode>_mve_store): Use
2423         mve_memory_operand.
2424         (*movmisalign<mode>_mve_load): Likewise.
2425         * config/arm/vec-common.md (movmisalign<mode>): Convert to generator
2426         form...
2427         (@movmisalign<mode>): ... thus.  Use generic predicates and then
2428         rework operands if they are not valid.  For MVE rework to a
2429         narrower element size if the alignment is not high enough.
2431 2022-09-02  Tamar Christina  <tamar.christina@arm.com>
2433         Backported from master:
2434         2022-09-01  Tamar Christina  <tamar.christina@arm.com>
2436         PR other/106782
2437         * config/aarch64/aarch64.cc
2438         (aarch64_vector_costs::prefer_unrolled_loop): Replace %u with
2439         HOST_WIDE_INT_PRINT_UNSIGNED.
2441 2022-09-01  Jakub Jelinek  <jakub@redhat.com>
2443         Backported from master:
2444         2022-09-01  Jakub Jelinek  <jakub@redhat.com>
2446         PR other/106782
2447         * tree-vect-slp.cc (vect_print_slp_tree): Use
2448         HOST_WIDE_INT_PRINT_UNSIGNED instead of %u.
2449         * tree-vect-loop.cc (vect_estimate_min_profitable_iters): Use
2450         HOST_WIDE_INT_PRINT_UNSIGNED instead of %d.
2451         * tree-vect-slp-patterns.cc (vect_pattern_validate_optab): Use %G
2452         instead of %T and STMT_VINFO_STMT (SLP_TREE_REPRESENTATIVE (node))
2453         instead of SLP_TREE_DEF_TYPE (node).
2455 2022-08-30  Tamar Christina  <tamar.christina@arm.com>
2457         Backported from master:
2458         2022-08-12  Tamar Christina  <tamar.christina@arm.com>
2460         PR target/106524
2461         * config/aarch64/aarch64-sve.md (*fcmuo<mode>_nor_combine,
2462         *fcmuo<mode>_bic_combine): Don't accept comparisons against zero.
2464 2022-08-29  Peter Bergner  <bergner@linux.ibm.com>
2466         Backported from master:
2467         2022-08-28  Peter Bergner  <bergner@linux.ibm.com>
2469         PR target/106017
2470         * config/rs6000/rs6000.cc (rs6000_invalid_conversion): Remove handling
2471         of MMA pointer conversions.
2473 2022-08-29  H.J. Lu  <hjl.tools@gmail.com>
2475         Backported from master:
2476         2022-08-23  H.J. Lu  <hjl.tools@gmail.com>
2478         PR target/106714
2479         * config/i386/amxtileintrin.h (_tile_loadd_internal): Cast to
2480         __PTRDIFF_TYPE__.
2481         (_tile_stream_loadd_internal): Likewise.
2482         (_tile_stored_internal): Likewise.
2484 2022-08-29  Jakub Jelinek  <jakub@redhat.com>
2486         Backported from master:
2487         2022-08-24  Jakub Jelinek  <jakub@redhat.com>
2489         PR target/106721
2490         * config/i386/sse.md (i128vldq): Add V16HF entry.
2491         (avx512er_vmrcp28<mode><mask_name><round_saeonly_name>): Fix typo,
2492         mask_opernad3 -> mask_operand3.
2494 2022-08-29  Jakub Jelinek  <jakub@redhat.com>
2496         Backported from master:
2497         2022-08-15  Jakub Jelinek  <jakub@redhat.com>
2499         PR rtl-optimization/106590
2500         * ifcvt.cc (check_for_cc_cmp_clobbers): New function.
2501         (noce_convert_multiple_sets_1): If SEQ sets or clobbers any regs
2502         mentioned in cc_cmp or rev_cc_cmp, don't consider seq2 for any
2503         further conditional moves.
2505 2022-08-26  liuhongt  <hongtao.liu@intel.com>
2507         PR target/106704
2508         * config/i386/i386-builtin.def (BDESC): Add
2509         CODE_FOR_avx_blendvpd256/CODE_FOR_avx_blendvps256 to
2510         corresponding builtins.
2511         * config/i386/i386.cc (ix86_gimple_fold_builtin):
2512         Don't fold IX86_BUILTIN_PBLENDVB256, IX86_BUILTIN_BLENDVPS256,
2513         IX86_BUILTIN_BLENDVPD256 w/o TARGET_AVX2.
2515 2022-08-25  Chenghua Xu  <xuchenghua@loongson.cn>
2517         Backported from master:
2518         2022-08-25  Chenghua Xu  <xuchenghua@loongson.cn>
2520         PR target/106459
2521         * config/loongarch/loongarch.cc (loongarch_build_integer):
2522         Use HOST_WIDE_INT.
2523         * config/loongarch/loongarch.h (IMM_REACH): Likewise.
2524         (HWIT_1U): New Defined.
2525         (LU12I_OPERAND): Use HOST_WIDE_INT.
2526         (LU32I_OPERAND): Likewise.
2527         (LU52I_OPERAND): Likewise.
2528         (HWIT_UC_0xFFF): Likwise.
2530 2022-08-24  Kewen Lin  <linkw@linux.ibm.com>
2532         Backported from master:
2533         2022-08-16  Kewen Lin  <linkw@linux.ibm.com>
2535         PR tree-optimization/106322
2536         * tree-vect-stmts.cc (vectorizable_call): Don't allow
2537         vect_emulated_vector_p type for both vectype_in and vectype_out.
2539 2022-08-24  Kewen.Lin  <linkw@gcc.gnu.org>
2541         Backported from master:
2542         2022-08-16  Kewen.Lin  <linkw@gcc.gnu.org>
2544         PR target/103353
2545         * config/rs6000/mma.md (define_expand movoo): Move TARGET_MMA condition
2546         check to preparation statements and add handlings for !TARGET_MMA.
2547         (define_expand movxo): Likewise.
2549 2022-08-23  Tobias Burnus  <tobias@codesourcery.com>
2551         Backported from master:
2552         2022-08-19  Tobias Burnus  <tobias@codesourcery.com>
2554         * config/gcn/mkoffload.cc (main): Add dbgobj to files_to_cleanup.
2556 2022-08-23  Tobias Burnus  <tobias@codesourcery.com>
2558         Backported from master:
2559         2022-08-17  Tobias Burnus  <tobias@codesourcery.com>
2561         PR middle-end/106548
2562         * omp-low.cc (lower_rec_input_clauses): Use build_outer_var_ref
2563         for 'simd' linear-step values that are variable.
2565 2022-08-19  Release Manager
2567         * GCC 12.2.0 released.
2569 2022-08-17  Ilya Leoshkevich  <iii@linux.ibm.com>
2571         Backported from master:
2572         2022-08-04  Ilya Leoshkevich  <iii@linux.ibm.com>
2574         * config/s390/vector.md (V_HW_FT): New iterator.
2575         * config/s390/vx-builtins.md (vsel<mode>): Use V_HW_FT instead
2576         of V_HW.
2578 2022-08-12  Peter Bergner  <bergner@linux.ibm.com>
2580         Backported from master:
2581         2022-07-26  Peter Bergner  <bergner@linux.ibm.com>
2583         PR c/106016
2584         * expr.cc (count_type_elements): Handle OPAQUE_TYPE.
2586 2022-08-11  Andre Simoes Dias Vieira  <andre.simoesdiasvieira@arm.com>
2588         Backported from master:
2589         2022-07-25  Andre Vieira  <andre.simoesdiasvieira@arm.com>
2591         * config/aarch64/aarch64.md (rbit<mode>2): Rename this ...
2592         (@aarch64_rbit<mode>): ... to this and change it in...
2593         (ffs<mode>2,ctz<mode>2): ... here.
2594         (@aarch64_rev16<mode>): New.
2595         * config/aarch64/aarch64-builtins.cc: (aarch64_builtins):
2596         Define the following enum AARCH64_REV16, AARCH64_REV16L,
2597         AARCH64_REV16LL, AARCH64_RBIT, AARCH64_RBITL, AARCH64_RBITLL.
2598         (aarch64_init_data_intrinsics): New.
2599         (aarch64_general_init_builtins): Add call to
2600         aarch64_init_data_intrinsics.
2601         (aarch64_expand_builtin_data_intrinsic): New.
2602         (aarch64_general_expand_builtin): Add call to
2603         aarch64_expand_builtin_data_intrinsic.
2604         * config/aarch64/arm_acle.h (__clz, __clzl, __clzll, __cls, __clsl,
2605         __clsll, __rbit, __rbitl, __rbitll, __rev, __revl, __revll, __rev16,
2606         __rev16l, __rev16ll, __ror, __rorl, __rorll, __revsh): New.
2608 2022-08-10  Tobias Burnus  <tobias@codesourcery.com>
2610         Backported from master:
2611         2022-08-09  Tobias Burnus  <tobias@codesourcery.com>
2613         PR middle-end/106492
2614         * omp-low.cc (lower_rec_input_clauses): Add missing folding
2615         to data type of linear-clause list item.
2617 2022-08-10  Richard Biener  <rguenther@suse.de>
2619         Backported from master:
2620         2022-08-10  Richard Biener  <rguenther@suse.de>
2622         PR tree-optimization/106513
2623         * gimple-ssa-store-merging.cc (do_shift_rotate): Use uint64_t
2624         for head_marker.
2626 2022-08-10  Richard Biener  <rguenther@suse.de>
2628         Backported from master:
2629         2022-08-08  Richard Biener  <rguenther@suse.de>
2631         PR lto/106540
2632         PR lto/106334
2633         * lto-streamer-in.cc (lto_read_tree_1): Use lto_input_tree_1
2634         to input DECL_INITIAL, avoiding to commit drefs.
2636 2022-08-05   Michael Meissner  <meissner@linux.ibm.com>
2638         * config/rs6000/rs6000.cc (rs6000_option_override_internal): Remove code
2639         setting -mblock-ops-vector-pair.  Back port patch from trunk on 8/3.
2641 2022-08-02  Peter Bergner  <bergner@linux.ibm.com>
2643         Backported from master:
2644         2022-07-25  Peter Bergner  <bergner@linux.ibm.com>
2645                     Kewen Lin  <linkw@linux.ibm.com>
2647         PR testsuite/106345
2648         * config/rs6000/rs6000.h (DRIVER_SELF_SPECS): Adjust -mdejagnu-cpu
2649         to filter out all -mtune options.
2651 2022-08-02  Kewen Lin  <linkw@linux.ibm.com>
2653         Backported from master:
2654         2022-07-26  Kewen Lin  <linkw@linux.ibm.com>
2656         PR target/106091
2657         * config/rs6000/rs6000-p8swap.cc (replace_swapped_aligned_store): Copy
2658         REG_EH_REGION when replacing one store insn having it.
2659         (replace_swapped_aligned_load): Likewise.
2661 2022-07-30  Jakub Jelinek  <jakub@redhat.com>
2663         Backported from master:
2664         2022-07-29  Jakub Jelinek  <jakub@redhat.com>
2666         PR middle-end/106449
2667         * omp-expand.cc (expand_omp_simd): Fix up handling of pointer
2668         iterators in non-rectangular simd loops.  Unshare fd->loops[i].n2
2669         or n2 before regimplifying it inside of a condition.
2671 2022-07-30  Jakub Jelinek  <jakub@redhat.com>
2673         Backported from master:
2674         2022-07-27  Jakub Jelinek  <jakub@redhat.com>
2676         PR debug/106261
2677         * cgraphunit.cc (cgraph_node::assemble_thunks_and_aliases): Don't
2678         output asm thunks for -dx.
2680 2022-07-30  Jakub Jelinek  <jakub@redhat.com>
2682         Backported from master:
2683         2022-07-01  Jakub Jelinek  <jakub@redhat.com>
2685         PR middle-end/106144
2686         * wide-int.cc (wi::shifted_mask): If end >= prec, return right after
2687         emitting element for shift or if shift is 0 first element after start.
2688         (wide_int_cc_tests): Add tests for equivalency of wi::mask and
2689         wi::shifted_mask with 0 start.
2691 2022-07-27  David Malcolm  <dmalcolm@redhat.com>
2693         * json.cc (string::print): Fix escaping of '\'.
2695 2022-07-27  David Malcolm  <dmalcolm@redhat.com>
2697         * doc/invoke.texi (-fdump-analyzer-feasibility): Mention the
2698         fpath.txt output.
2700 2022-07-27  Maciej W. Rozycki  <macro@embecosm.com>
2702         Backported from master:
2703         2022-07-27  Maciej W. Rozycki  <macro@embecosm.com>
2705         * config/riscv/riscv.md (stack_protect_set_<mode>): Remove
2706         duplicate backslashes.
2708 2022-07-27  Richard Biener  <rguenther@suse.de>
2710         Backported from master:
2711         2022-07-26  Richard Biener  <rguenther@suse.de>
2713         PR tree-optimization/106189
2714         * gimple-array-bounds.cc (array_bounds_checker::check_mem_ref):
2715         Divide using offset_ints.
2717 2022-07-27  Joseph Myers  <joseph@codesourcery.com>
2719         Backported from master:
2720         2022-06-30  Joseph Myers  <joseph@codesourcery.com>
2722         PR lto/106129
2723         * lto-wrapper.cc (find_option): Add argument start.
2724         (merge_and_complain): Loop over existing_opt_index and
2725         existing_opt2_index for Xassembler check.  Update calls to
2726         find_option.
2727         (find_and_merge_options): Add argument first to determine whether
2728         to merge options with those passed in *opts.
2729         (run_gcc): Update calls to find_and_merge_options.
2731 2022-07-27  Andrew Pinski  <apinski@marvell.com>
2733         Backported from master:
2734         2022-07-09  Andrew Pinski  <apinski@marvell.com>
2736         PR tree-optimization/106087
2737         * tree-ssa-dce.cc (simple_dce_from_worklist): Check
2738         to make sure the statement is only defining one operand.
2740 2022-07-27  Tamar Christina  <tamar.christina@arm.com>
2742         Backported from master:
2743         2022-07-08  Tamar Christina  <tamar.christina@arm.com>
2745         PR tree-optimization/106063
2746         * match.pd: Do not apply pattern after veclower is not supported.
2748 2022-07-27  Alexandre Oliva  <oliva@adacore.com>
2750         Backported from master:
2751         2022-06-03  Alexandre Oliva  <oliva@adacore.com>
2753         PR tree-optimization/105665
2754         PR tree-optimization/100810
2755         * tree-ssa-loop-ivopts.cc
2756         (ssa_name_maybe_undef_p, ssa_name_set_maybe_undef): New.
2757         (ssa_name_any_use_dominates_bb_p, mark_ssa_maybe_undefs): New.
2758         (find_ssa_undef): Check precomputed flag and intervening uses.
2759         (tree_ssa_iv_optimize): Call mark_ssa_maybe_undefs.
2761 2022-07-25  Sebastian Huber  <sebastian.huber@embedded-brains.de>
2763         Backported from master:
2764         2022-07-25  Sebastian Huber  <sebastian.huber@embedded-brains.de>
2766         * config/rs6000/rtems.h (CPLUSPLUS_CPP_SPEC): Undef.
2768 2022-07-19  Richard Biener  <rguenther@suse.de>
2770         Backported from master:
2771         2022-07-19  Richard Biener  <rguenther@suse.de>
2773         PR middle-end/106331
2774         * builtins.cc (get_memory_rtx): Compute alignment from
2775         the original address and set MEM_OFFSET to unknown when
2776         we create a MEM_EXPR from the base object of the address.
2778 2022-07-19  Richard Biener  <rguenther@suse.de>
2780         Backported from master:
2781         2022-07-01  Richard Biener  <rguenther@suse.de>
2783         PR tree-optimization/106131
2784         * tree-ssa-sccvn.cc (vn_reference_lookup_3): Force alias-set
2785         zero when offsetting the read looking through an aggregate
2786         copy.
2788 2022-07-19  Richard Biener  <rguenther@suse.de>
2790         Backported from master:
2791         2022-06-29  Richard Biener  <rguenther@suse.de>
2793         PR tree-optimization/106112
2794         * tree-ssa-sccvn.cc (valueized_wider_op): Properly extend
2795         a constant operand according to its type.
2797 2022-07-19  Richard Biener  <rguenther@suse.de>
2799         Backported from master:
2800         2022-06-20  Richard Biener  <rguenther@suse.de>
2802         PR middle-end/106027
2803         * fold-const.cc (fold_to_nonsharp_ineq_using_bound): Use the
2804         type of the prevailing comparison for the new comparison type.
2805         (fold_binary_loc): Use proper types for the A < X && A + 1 > Y
2806         to A < X && A >= Y folding.
2808 2022-07-19  Richard Biener  <rguenther@suse.de>
2810         Backported from master:
2811         2022-06-15  Richard Biener  <rguenther@suse.de>
2813         PR tree-optimization/105971
2814         * tree-ssa-alias.cc (refs_may_alias_p_2): Put bail-out for
2815         FUNCTION_DECL and LABEL_DECL refs after decl-decl disambiguation
2816         to leak less surprising alias results.
2818 2022-07-19  Richard Biener  <rguenther@suse.de>
2820         Backported from master:
2821         2022-06-15  Richard Biener  <rguenther@suse.de>
2823         PR tree-optimization/105969
2824         * gimple-ssa-sprintf.cc (get_origin_and_offset_r): Avoid division
2825         by zero in overflow check.
2827 2022-07-19  Richard Biener  <rguenther@suse.de>
2829         Backported from master:
2830         2022-06-14  Richard Biener  <rguenther@suse.de>
2832         PR middle-end/105965
2833         * match.pd (view_convert CONSTRUCTOR): Handle single-element
2834         CTOR case.
2836 2022-07-19  Richard Biener  <rguenther@suse.de>
2838         Backported from master:
2839         2022-06-14  Richard Biener  <rguenther@suse.de>
2841         PR tree-optimization/105946
2842         * tree-ssa-uninit.cc (maybe_warn_pass_by_reference):
2843         Do not look at arguments not specified in the function call.
2845 2022-07-19  Richard Biener  <rguenther@suse.de>
2847         Backported from master:
2848         2022-07-11  Richard Biener  <rguenthert@suse.de>
2850         PR target/105459
2851         * config/i386/i386-options.cc (ix86_set_current_function):
2852         Rebuild the target optimization node whenever necessary,
2853         not only when the optimization node didn't change.
2855 2022-07-14   Michael Meissner  <meissner@linux.ibm.com>
2857         * config/rs6000/rs6000.cc (rs6000_option_override_internal): Do
2858         not generate block copies with vector pair instructions if we are
2859         tuning for power10.  Back port from master branch.
2861 2022-07-14  Surya Kumari Jangala  <jskumari@linux.vnet.ibm.com>
2863         Backported from master:
2864         2022-06-14  Surya Kumari Jangala  <jskumari@linux.ibm.com>
2866         PR rtl-optimization/105041
2867         * regrename.cc (check_new_reg_p): Use nregs value from du chain.
2869 2022-07-11  Martin Jambor  <mjambor@suse.cz>
2871         Backported from master:
2872         2022-07-04  Martin Jambor  <mjambor@suse.cz>
2874         PR tree-optimization/105860
2875         * tree-sra.cc (build_reconstructed_reference): Start expr
2876         traversal only just below the outermost union.
2878 2022-07-10  Xi Ruoyao  <xry111@xry111.site>
2880         Backported from master:
2881         2022-07-10  Xi Ruoyao  <xry111@xry111.site>
2883         * config/loongarch/loongarch.md (mulsidi3_64bit): Use mulw.d.w
2884         instead of mul.d.
2886 2022-07-09  Roger Sayle  <roger@nextmovesoftware.com>
2887             Uroš Bizjak  <ubizjak@gmail.com>
2889         PR target/105930
2890         * config/i386/i386.md (*<any_or>di3_doubleword): Split after
2891         reload.  Use rtx_equal_p to avoid creating memory-to-memory moves,
2892         and emit NOTE_INSN_DELETED if operand[2] is zero (i.e. with -O0).
2894 2022-07-08  Lulu Cheng  <chenglulu@loongson.cn>
2896         Backported from master:
2897         2022-07-08  Lulu Cheng  <chenglulu@loongson.cn>
2899         * config/loongarch/loongarch.cc (loongarch_compute_frame_info):
2900         Modify fp_sp_offset and gp_sp_offset's calculation method,
2901         when frame->mask or frame->fmask is zero, don't minus UNITS_PER_WORD
2902         or UNITS_PER_FP_REG.
2904 2022-07-04  Andrew MacLeod  <amacleod@redhat.com>
2906         PR tree-optimization/106114
2907         * gimple-range-fold.cc (fold_using_range::relation_fold_and_or): Check
2908         statement operands instead of GORI cache.
2910 2022-07-04  Roger Sayle  <roger@nextmovesoftware.com>
2911             Marek Polacek  <polacek@redhat.com>
2912             Segher Boessenkool  <segher@kernel.crashing.org>
2913             Kewen Lin  <linkw@linux.ibm.com>
2915         PR target/105991
2916         * config/rs6000/rs6000.md (rotl<mode>3_insert_3): Check that
2917         exact_log2 doesn't return -1 (or zero).
2918         (plus_xor): New code iterator.
2919         (*rotl<mode>3_insert_3_<code>): New define_insn_and_split.
2921 2022-07-04  Xi Ruoyao  <xry111@xry111.site>
2923         Backported from master:
2924         2022-07-03  Xi Ruoyao  <xry111@xry111.site>
2925                     Lulu Cheng  <chenglulu@loongson.cn>
2927         * config/loongarch/loongarch.cc (loongarch_check_zero_div_p):
2928         New static function.
2929         (loongarch_idiv_insns): Use loongarch_check_zero_div_p instead
2930         of TARGET_CHECK_ZERO_DIV.
2931         (loongarch_output_division): Likewise.
2932         * common/config/loongarch/loongarch-common.cc
2933         (TARGET_DEFAULT_TARGET_FLAGS): Remove unneeded hook.
2934         * doc/invoke.texi: Update to match the new behavior.
2936 2022-07-03  Roger Sayle  <roger@nextmovesoftware.com>
2938         PR target/106122
2939         * config/i386/i386.md (peephole2): Avoid generating pop %esp
2940         when optimizing for size.
2942 2022-07-02  Sergei Trofimovich  <siarheit@google.com>
2944         Backported from master:
2945         2022-06-29  Sergei Trofimovich  <siarheit@google.com>
2947         PR c++/106102
2948         * system.h: Introduce INCLUDE_PTHREAD_H macros to include <pthread.h>.
2950 2022-07-01  Vladimir Makarov  <vmakarov@gcc.gnu.org>
2952         Backported from master:
2953         2022-05-28  Vladimir Makarov  <vmakarov@gcc.gnu.org>
2955         PR target/103722
2956         * config/sh/sh.cc (sh_register_move_cost): Avoid cost "2" (which
2957         is special) for various scenarios.
2959 2022-06-29  Richard Biener  <rguenther@suse.de>
2961         Backported from master:
2962         2022-05-11  Richard Biener  <rguenther@suse.de>
2964         PR bootstrap/105551
2965         * opts.cc (finish_options): Also disable var-tracking if
2966         !DWARF2_DEBUGGING_INFO.
2968 2022-06-29  Lulu Cheng  <chenglulu@loongson.cn>
2970         Backported from master:
2971         2022-06-29  Lulu Cheng  <chenglulu@loongson.cn>
2973         PR target/106097
2974         * config/loongarch/loongarch.cc (loongarch_build_integer):
2975         Remove undefined behavior from code.
2977 2022-06-28  Jakub Jelinek  <jakub@redhat.com>
2979         Backported from master:
2980         2022-06-21  Jakub Jelinek  <jakub@redhat.com>
2982         PR rtl-optimization/106032
2983         * ifcvt.cc (noce_try_sign_mask): Punt if !t_unconditional, and
2984         t may_trap_or_fault_p, even if it is cheap.
2986 2022-06-28  Jakub Jelinek  <jakub@redhat.com>
2988         Backported from master:
2989         2022-06-21  Jakub Jelinek  <jakub@redhat.com>
2991         PR middle-end/106030
2992         * expr.cc (expand_cond_expr_using_cmove): Pass NULL_RTX instead of
2993         temp to expand_operands if mode has been promoted.
2995 2022-06-28  Xi Ruoyao  <xry111@xry111.site>
2997         Backported from master:
2998         2022-06-28  Xi Ruoyao  <xry111@xry111.site>
3000         PR target/106096
3001         * config/loongarch/loongarch.h (REG_CLASS_CONTENTS): Exclude
3002         $r13 from SIBCALL_REGS.
3003         * config/loongarch/loongarch.cc (loongarch_regno_to_class):
3004         Change $r13 to JIRL_REGS.
3006 2022-06-24  Iain Buclaw  <ibuclaw@gdcproject.org>
3008         Backported from master:
3009         2022-06-24  Iain Buclaw  <ibuclaw@gdcproject.org>
3011         * config/tilepro/gen-mul-tables.cc (tilegx_emit): Adjust loop
3012         condition to avoid overflow.
3014 2022-06-23  Martin Liska  <mliska@suse.cz>
3016         Backported from master:
3017         2022-06-23  Martin Liska  <mliska@suse.cz>
3019         PR ipa/105600
3020         * ipa-icf.cc (sem_item_optimizer::filter_removed_items):
3021         Skip variables with body_removed.
3023 2022-06-23  Siddhesh Poyarekar  <siddhesh@gotplt.org>
3025         Backported from master:
3026         2022-06-21  Siddhesh Poyarekar  <siddhesh@gotplt.org>
3028         PR tree-optimization/105736
3029         * tree-object-size.cc (addr_object_size): Return size_unknown
3030         when object offset computation returns an error.
3032 2022-06-23  Richard Sandiford  <richard.sandiford@arm.com>
3034         Backported from master:
3035         2022-06-15  Richard Sandiford  <richard.sandiford@arm.com>
3037         PR tree-optimization/105254
3038         PR tree-optimization/105940
3039         Revert:
3040         * config/aarch64/aarch64.cc
3041         (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
3042         loop_vec_info as argument.  Restrict the unroll factor to values
3043         that divide the VF.
3044         (aarch64_vector_costs::finish_cost): Update call accordingly.
3046 2022-06-23  Kewen Lin  <linkw@linux.ibm.com>
3048         Backported from master:
3049         2022-06-14  Kewen Lin  <linkw@linux.ibm.com>
3051         PR tree-optimization/105940
3052         * tree-vect-loop.cc (vect_analyze_loop_2): Move the place of
3053         applying suggested_unroll_factor after start_over.
3055 2022-06-21  H.J. Lu  <hjl.tools@gmail.com>
3057         Backported from master:
3058         2022-06-20  H.J. Lu  <hjl.tools@gmail.com>
3060         PR target/105960
3061         * config/i386/i386.cc (ix86_function_ok_for_sibcall): Return
3062         false if PIC register is used when calling ifunc functions.
3064 2022-06-20  Uros Bizjak  <ubizjak@gmail.com>
3066         Backported from master:
3067         2022-06-17  Uroš Bizjak  <ubizjak@gmail.com>
3069         PR target/105209
3070         * config/alpha/alpha-protos.h (alpha_store_data_bypass_p): New.
3071         * config/alpha/alpha.cc (alpha_store_data_bypass_p): New function.
3072         (alpha_store_data_bypass_p_1): Ditto.
3073         * config/alpha/ev4.md: Use alpha_store_data_bypass_p instead
3074         of generic store_data_bypass_p.
3075         (ev4_ist_c): Remove insn reservation.
3077 2022-06-20  Uros Bizjak  <ubizjak@gmail.com>
3079         Backported from master:
3080         2022-06-17  Uroš Bizjak  <ubizjak@gmail.com>
3082         PR target/105970
3083         * config/i386/i386.cc (ix86_function_arg): Assert that
3084         the mode of pointer argumet is equal to ptr_mode, not Pmode.
3086 2022-06-19  Jakub Jelinek  <jakub@redhat.com>
3088         Backported from master:
3089         2022-06-18  Jakub Jelinek  <jakub@redhat.com>
3091         PR middle-end/105998
3092         * varasm.cc (narrowing_initializer_constant_valid_p): Check
3093         SCALAR_INT_MODE_P instead of INTEGRAL_MODE_P, also break on
3094         ! INTEGRAL_TYPE_P and do the same check also on op{0,1}'s type.
3096 2022-06-19  Jakub Jelinek  <jakub@redhat.com>
3098         Backported from master:
3099         2022-06-16  Jakub Jelinek  <jakub@redhat.com>
3101         PR middle-end/105951
3102         * tree-ssa-ccp.cc (optimize_atomic_bit_test_and,
3103         optimize_atomic_op_fetch_cmp_0): Remember gimple_call_fn (call)
3104         as last argument to the internal functions.
3105         * builtins.cc (expand_ifn_atomic_bit_test_and): Adjust for the
3106         extra call argument to ifns.  If expand_atomic_fetch_op fails for the
3107         lhs == NULL_TREE case, fall through into the optab code with
3108         gen_reg_rtx (mode) as target.  If second expand_atomic_fetch_op
3109         fails, construct a CALL_EXPR and expand that.
3110         (expand_ifn_atomic_op_fetch_cmp_0): Adjust for the extra call argument
3111         to ifns.  If expand_atomic_fetch_op fails, construct a CALL_EXPR and
3112         expand that.
3114 2022-06-19  Jan Hubicka  <jh@suse.cz>
3116         Backported from master:
3117         2022-06-14  Jan Hubicka  <hubicka@ucw.cz>
3119         PR ipa/105739
3120         * ipa-prop.cc (ipa_load_from_parm_agg): Punt on volatile loads.
3122 2022-06-16  Richard Earnshaw  <rearnsha@arm.com>
3124         Backported from master:
3125         2022-06-15  Richard Earnshaw  <rearnsha@arm.com>
3127         PR target/105981
3128         * config/arm/arm.cc (gen_cpymem_ldrd_strd): Rename low_reg and hi_reg
3129         to first_reg and second_reg respectively.  Initialize them correctly
3130         when generating big-endian code.
3132 2022-06-15  Simon Wright  <simon@pushface.org>
3134         Backported from master:
3135         2022-06-12  Simon Wright  <simon@pushface.org>
3137         PR target/104871
3138         * config/darwin-driver.cc (darwin_find_version_from_kernel): If the OS
3139         version is darwin20 (macOS 11) or greater, truncate the version to the
3140         major number.
3142 2022-06-15  Mark Mentovai  <mark@mentovai.com>
3144         Backported from master:
3145         2022-06-12  Mark Mentovai  <mark@mentovai.com>
3147         * config/darwin-c.cc: Make -mmacosx-version-min more future-proof.
3149 2022-06-15  Iain Sandoe  <iain@sandoe.co.uk>
3151         Backported from master:
3152         2022-05-29  Iain Sandoe  <iain@sandoe.co.uk>
3154         PR target/105599
3155         * config/darwin.h: Move versions-specific handling of multiply_defined
3156         from SUBTARGET_DRIVER_SELF_SPECS to LINK_SPEC.
3158 2022-06-15  liuhongt  <hongtao.liu@intel.com>
3160         PR target/105953
3161         * config/i386/sse.md (*avx_cmp<mode>3_ltint_not): Force_reg
3162         operands[3].
3164 2022-06-14  H.J. Lu  <hjl.tools@gmail.com>
3166         Backported from master:
3167         2022-06-13  H.J. Lu  <hjl.tools@gmail.com>
3169         * common/config/i386/cpuinfo.h (get_available_features): Require
3170         AVX for F16C and VAES.
3172 2022-06-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
3174         Backported from master:
3175         2022-06-02  Philipp Tomsich  <philipp.tomsich@vrull.eu>
3177         * config/riscv/riscv.cc (riscv_build_integer_1): Rewrite value as
3178         (-1 << 31) for the single-bit case, when operating on (1 << 31)
3179         in SImode.
3180         * config/riscv/riscv.h (SINGLE_BIT_MASK_OPERAND): Allow for
3181         any single-bit value, moving the special case for (1 << 31) to
3182         riscv_build_integer_1 (in riscv.c).
3184 2022-06-08  Max Filippov  <jcmvbkbc@gmail.com>
3186         Backported from master:
3187         2022-06-08  Max Filippov  <jcmvbkbc@gmail.com>
3189         PR target/105879
3190         * config/xtensa/xtensa.md (movdi): Rename 'first' and 'second'
3191         to 'lowpart' and 'highpart' so that they match 'gen_lowpart' and
3192         'gen_highpart' bitwise semantics and fix order of highpart and
3193         lowpart depending on target endianness.
3195 2022-06-08  liuhongt  <hongtao.liu@intel.com>
3197         PR target/105854
3198         * config/i386/sse.md (ssse3_palignrdi): Change alternative 2
3199         from Yv to Yw.
3201 2022-06-02  Philipp Tomsich  <philipp.tomsich@vrull.eu>
3203         Backported from master:
3204         2022-05-13  Philipp Tomsich  <philipp.tomsich@vrull.eu>
3205                     Manolis Tsamis  <manolis.tsamis@vrull.eu>
3207         * config/riscv/riscv.h (CLZ_DEFINED_VALUE_AT_ZERO): Implement.
3208         (CTZ_DEFINED_VALUE_AT_ZERO): Same.
3209         * doc/sourcebuild.texi: add documentation for RISC-V specific
3210         test target keywords
3212 2022-06-02  Richard Biener  <rguenther@suse.de>
3214         Backported from master:
3215         2022-06-01  Richard Biener  <rguenther@suse.de>
3217         PR tree-optimization/105786
3218         * tree-loop-distribution.cc
3219         (loop_distribution::transform_reduction_loop): Only do strlen
3220         replacement for integer type reductions.
3222 2022-06-02  Richard Biener  <rguenther@suse.de>
3224         Backported from master:
3225         2022-05-27  Richard Biener  <rguenther@suse.de>
3227         PR tree-optimization/105726
3228         * gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset):
3229         Constrain array-of-flexarray case more.
3231 2022-06-02  Richard Biener  <rguenther@suse.de>
3233         Backported from master:
3234         2022-05-24  Richard Biener  <rguenther@suse.de>
3236         PR middle-end/105711
3237         * expmed.cc (extract_bit_field_as_subreg): Add op0_mode parameter
3238         and use it.
3239         (extract_bit_field_1): Pass down the mode of op0 to
3240         extract_bit_field_as_subreg.
3242 2022-06-02  Martin Sebor  <msebor@redhat.com>
3244         Backported from master:
3245         2022-05-24  Martin Sebor  <msebor@redhat.com>
3246                     Richard Biener  <rguenther@suse.de>
3248         PR middle-end/105604
3249         * gimple-ssa-sprintf.cc (set_aggregate_size_and_offset): Add comments.
3250         (get_origin_and_offset_r): Remove null handling.  Handle variable array
3251         sizes.
3252         (get_origin_and_offset): Handle null argument here.  Simplify.
3253         (alias_offset): Update comment.
3254         * pointer-query.cc (field_at_offset): Update comment.  Handle members
3255         of variable-length types.
3257 2022-06-02  Vineet Gupta  <vineetg@rivosinc.com>
3259         Backported from master:
3260         2022-05-24  Vineet Gupta  <vineetg@rivosinc.com>
3262         * config/riscv/riscv.cc: (struct riscv_tune_param): Add
3263           fmv_cost.
3264         (rocket_tune_info): Add default fmv_cost 8.
3265         (sifive_7_tune_info): Ditto.
3266         (thead_c906_tune_info): Ditto.
3267         (optimize_size_tune_info): Ditto.
3268         (riscv_register_move_cost): Use fmv_cost for int<->fp moves.
3270 2022-05-30  Martin Jambor  <mjambor@suse.cz>
3272         Backported from master:
3273         2022-05-27  Martin Jambor  <mjambor@suse.cz>
3275         PR ipa/105639
3276         * ipa-prop.cc (propagate_controlled_uses): Check type of the
3277         constant before adding a LOAD reference.
3279 2022-05-30  Jakub Jelinek  <jakub@redhat.com>
3281         Backported from master:
3282         2022-05-27  Jakub Jelinek  <jakub@redhat.com>
3284         PR sanitizer/105729
3285         * fold-const.cc (fold_unary_loc): Don't optimize (X &) ((Y *) z + w)
3286         to (X &) z + w if -fsanitize=null during GENERIC folding.
3288 2022-05-30  Jakub Jelinek  <jakub@redhat.com>
3290         Backported from master:
3291         2022-05-25  Jakub Jelinek  <jakub@redhat.com>
3293         PR sanitizer/105714
3294         * asan.cc (has_stmt_been_instrumented_p): For assignments which
3295         are both stores and loads, return true only if both destination
3296         and source have been instrumented.
3298 2022-05-30  Jakub Jelinek  <jakub@redhat.com>
3300         Backported from master:
3301         2022-05-19  Jakub Jelinek  <jakub@redhat.com>
3303         PR c/105635
3304         * pointer-query.cc (gimple_parm_array_size): Return NULL if var
3305         doesn't have pointer or reference type.
3307 2022-05-26  Simon Cook  <simon.cook@embecosm.com>
3309         Backported from master:
3310         2022-05-25  Simon Cook  <simon.cook@embecosm.com>
3312         * config/riscv/arch-canonicalize: Only add mafd extension if
3313         base was rv32/rv64g.
3315 2022-05-26  Kito Cheng  <kito.cheng@sifive.com>
3317         Backported from master:
3318         2022-05-09  Kito Cheng  <kito.cheng@sifive.com>
3320         * config/riscv/arch-canonicalize: Handle g correctly.
3322 2022-05-24  Qing Zhao  <qing.zhao@oracle.com>
3324         Backported from master:
3325         2022-05-09  Qing Zhao  <qing.zhao@oracle.com>
3327         PR target/101891
3328         * config/i386/i386.cc (zero_call_used_regno_mode): use V2SImode
3329         as a generic MMX mode instead of V4HImode.
3330         (zero_all_mm_registers): Use SET to zero instead of MOV for
3331         zeroing scratch registers.
3332         (ix86_zero_call_used_regs): Likewise.
3334 2022-05-24  Bruno Haible  <bruno@clisp.org>
3336         Backported from master:
3337         2022-05-24  Bruno Haible  <bruno@clisp.org>
3339         PR other/105527
3340         * doc/install.texi (Configuration): Add more details about --with-zstd.
3341         Document --with-zstd-include and --with-zstd-lib
3343 2022-05-24  Martin Liska  <mliska@suse.cz>
3345         Backported from master:
3346         2022-05-11  Martin Liska  <mliska@suse.cz>
3348         PR other/105527
3349         * doc/install.texi: Document the configure option --with-zstd.
3351 2022-05-20  Peter Bergner  <bergner@linux.ibm.com>
3353         Backported from master:
3354         2022-05-18  Peter Bergner  <bergner@linux.ibm.com>
3355                     Segher Boessenkool  <segher@kernel.crashing.org>
3357         PR target/105556
3358         * config/rs6000/mma.md (mma_<vv>, mma_<avv>, mma_<pv>, mma_<apv>,
3359         mma_<vvi4i4i8>, mma_<avvi4i4i8>, mma_<vvi4i4i2>, mma_<avvi4i4i2>,
3360         mma_<vvi4i4>, mma_<avvi4i4>, mma_<pvi4i2>, mma_<apvi4i2>,
3361         mma_<vvi4i4i4>, mma_<avvi4i4i4>): Replace "wa" constraints with "v,?wa".
3362         Update other operands accordingly.
3364 2022-05-20  Richard Biener  <rguenther@suse.de>
3366         Backported from master:
3367         2022-05-04  Richard Biener  <rguenther@suse.de>
3369         PR tree-optimization/103116
3370         * tree-vect-stmts.cc (get_group_load_store_type): Handle the
3371         case we need peeling for gaps even though GROUP_GAP is zero.
3373 2022-05-19  Richard Biener  <rguenther@suse.de>
3375         Backported from master:
3376         2022-05-17  Richard Biener  <rguenther@suse.de>
3378         PR tree-optimization/105618
3379         * tree-ssa-sink.cc (statement_sink_location): For virtual
3380         PHI uses ignore those defining the used virtual operand.
3382 2022-05-19  Richard Biener  <rguenther@suse.de>
3384         Backported from master:
3385         2022-05-12  Richard Biener  <rguenther@suse.de>
3387         PR rtl-optimization/105577
3388         * dse.cc (rest_of_handle_dse): Make sure to purge dead EH
3389         edges before running fast DCE via df_analyze.
3391 2022-05-19  Richard Biener  <rguenther@suse.de>
3393         Backported from master:
3394         2022-05-12  Richard Biener  <rguenther@suse.de>
3396         PR tree-optimization/105562
3397         * tree-ssa-sccvn.cc (vn_reference_lookup_3): Disambiguate
3398         against all CLOBBER defs if there's not an obvious must-alias
3399         and we are not doing redundant store elimination.
3400         (vn_walk_cb_data::redundant_store_removal_p): New field.
3401         (vn_reference_lookup_pieces): Initialize it.
3402         (vn_reference_lookup): Add argument to specify if we are
3403         doing redundant store removal.
3404         (eliminate_dom_walker::eliminate_stmt): Specify we do.
3405         * tree-ssa-sccvn.h (vn_reference_lookup): Adjust.
3407 2022-05-19  Richard Biener  <rguenther@suse.de>
3409         Backported from master:
3410         2022-05-11  Richard Biener  <rguenther@suse.de>
3412         PR rtl-optimization/105559
3413         * cfgrtl.cc (delete_insn_and_edges): Only perform search to BB_END
3414         for non-debug insns.
3416 2022-05-19  Richard Biener  <rguenther@suse.de>
3418         Backported from master:
3419         2022-05-10  Richard Biener  <rguenther@suse.de>
3421         PR middle-end/105537
3422         * toplev.cc (process_options): Move flag_var_tracking
3423         handling ...
3424         * opts.cc (finish_options): ... here.
3426 2022-05-19  Richard Biener  <rguenther@suse.de>
3428         Backported from master:
3429         2022-05-10  Richard Biener  <rguenther@suse.de>
3431         * flags.h (dwarf_debuginfo_p): Add opts argument, guard
3432         API with !GENERATOR_FILE.
3433         * opts.cc (global_options): Poison.
3434         (global_options_set): Likewise.
3435         (finish_options): Refer to options via opts.
3437 2022-05-19  Richard Biener  <rguenther@suse.de>
3439         Backported from master:
3440         2022-04-29  Richard Biener  <rguenther@suse.de>
3442         PR tree-optimization/105431
3443         * tree-ssa-math-opts.cc (powi_as_mults_1): Make n unsigned.
3444         (powi_as_mults): Use absu_hwi.
3445         (gimple_expand_builtin_powi): Remove now pointless n != -n
3446         check.
3448 2022-05-18  Andrew MacLeod  <amacleod@redhat.com>
3450         PR tree-optimization/105458
3451         * value-relation.cc (path_oracle::register_relation): Merge, then check
3452         for equivalence.
3454 2022-05-16  Sebastian Pop  <spop@amazon.com>
3456         PR target/105162
3457         * config/aarch64/aarch64-protos.h (atomic_ool_names): Increase dimension
3458         of str array.
3459         * config/aarch64/aarch64.cc (aarch64_atomic_ool_func): Call
3460         memmodel_from_int and handle MEMMODEL_SYNC_*.
3461         (DEF0): Add __aarch64_*_sync functions.
3463 2022-05-16  Eric Botcazou  <ebotcazou@adacore.com>
3465         * dwarf2out.cc (loc_list_from_tree_1) <TRUTH_NOT_EXPR>: Do a logical
3466         instead of a bitwise negation.
3467         <COND_EXPR>: Swap the operands if the condition is TRUTH_NOT_EXPR.
3469 2022-05-13  Eric Botcazou  <ebotcazou@adacore.com>
3471         * tree-sra.cc (sra_modify_assign): Check that scalar storage order
3472         is the same on the LHS and RHS before rewriting one with the model
3473         of the other.
3475 2022-05-13  Alexandre Oliva  <oliva@adacore.com>
3477         Backported from master:
3478         2022-05-13  Alexandre Oliva  <oliva@adacore.com>
3480         PR rtl-optimization/105455
3481         * gimple-harden-conditionals.cc (insert_check_and_trap): Set
3482         probabilities for newly-conditional edges.
3484 2022-05-11  Martin Jambor  <mjambor@suse.cz>
3486         Backported from master:
3487         2022-04-29  Martin Jambor  <mjambor@suse.cz>
3489         PR ipa/100413
3490         * cgraph.cc (cgraph_node::remove): Release body of the node this
3491         is clone_of if appropriate.
3493 2022-05-10  Jakub Jelinek  <jakub@redhat.com>
3495         Backported from master:
3496         2022-05-10  Jakub Jelinek  <jakub@redhat.com>
3498         PR tree-optimization/105528
3499         * gimple-isel.cc (gimple_expand_vec_set_expr): After gsi_remove
3500         set *gsi to gsi_for_stmt (ass_stmt).  Fix up function comment.
3502 2022-05-10  Eric Botcazou  <ebotcazou@adacore.com>
3504         PR target/105292
3505         * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Return
3506         true only for 8-byte vector modes.
3508 2022-05-06  Michael Meissner  <meissner@linux.ibm.com>
3510         Backported from master:
3511         2022-05-06   Michael Meissner  <meissner@linux.ibm.com>
3513         PR target/102059
3514         * config/rs6000/rs6000.cc (rs6000_can_inline_p): Ignore -mpower8-fusion
3515         and -mpower10-fusion options for inlining purposes.
3517 2022-05-06  Richard Biener  <rguenther@suse.de>
3519         Backported from master:
3520         2022-04-29  Richard Biener  <rguenther@suse.de>
3522         PR middle-end/105376
3523         * tree.cc (build_real): Special case dconst* arguments
3524         for decimal floating point types.
3526 2022-05-06  Richard Biener  <rguenther@suse.de>
3528         Backported from master:
3529         2022-05-05  Richard Biener  <rguenther@suse.de>
3531         PR tree-optimization/105484
3532         * gimple-isel.cc (gimple_expand_vec_set_expr): Clean EH, return
3533         whether the CFG changed.
3534         (gimple_expand_vec_exprs): When the CFG changed, clean it up.
3536 2022-05-06  Richard Biener  <rguenther@suse.de>
3538         Backported from master:
3539         2022-05-03  Richard Biener  <rguenther@suse.de>
3541         PR middle-end/105461
3542         * opts.cc (finish_options): Match the condition to
3543         disable flag_var_tracking to that of process_options.
3545 2022-05-06  Richard Biener  <rguenther@suse.de>
3547         Backported from master:
3548         2022-05-03  Richard Biener  <rguenther@suse.de>
3550         * opts.cc: #undef OPTIONS_SET_P.
3551         (finish_options): Use opts_set instead of OPTIONS_SET_P.
3553 2022-05-06  Richard Biener  <rguenther@suse.de>
3555         Backported from master:
3556         2022-05-02  Richard Biener  <rguenther@suse.de>
3558         PR tree-optimization/105437
3559         * tree-vect-slp.cc (vect_schedule_slp_node): Handle the
3560         case where last_stmt alters control flow.
3562 2022-05-06  Richard Biener  <rguenther@suse.de>
3564         Backported from master:
3565         2022-05-03  Richard Biener  <rguenther@suse.de>
3567         PR tree-optimization/105394
3568         * tree-vect-generic.cc (expand_vector_condition): Adjust
3569         comp_width for non-integer mode masks as well.
3571 2022-05-06  Release Manager
3573         * GCC 12.1.0 released.
3575 2022-05-02  Jakub Jelinek  <jakub@redhat.com>
3577         Backported from master:
3578         2022-05-02  Jakub Jelinek  <jakub@redhat.com>
3580         * system.h: Include initializer_list.
3582 2022-04-28  Jakub Jelinek  <jakub@redhat.com>
3584         PR lto/105399
3585         * cgraph.cc (cgraph_node::verify_node): Don't verify
3586         semantic_interposition flag against
3587         opt_for_fn (decl, flag_semantic_interposition) for aliases in lto1.
3589 2022-04-28  Jakub Jelinek  <jakub@redhat.com>
3591         PR target/105331
3592         * config/i386/i386.cc (ix86_gimplify_va_arg): Mark va_arg_tmp
3593         temporary TREE_ADDRESSABLE before trying to gimplify ADDR_EXPR
3594         of it.
3596 2022-04-28  Jonathan Wakely  <jwakely@redhat.com>
3598         * doc/install.texi (Configuration): Remove misleading text
3599         around LE PowerPC Linux multilibs.
3601 2022-04-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3603         PR d/103528
3604         * doc/install.texi (Tools/packages necessary for building GCC)
3605         (GDC): Document libphobos requirement.
3606         (Host/target specific installation notes for GCC, *-*-solaris2*):
3607         Document libphobos and GDC specifics.
3609 2022-04-28  Richard Biener  <rguenther@suse.de>
3611         PR tree-optimization/105219
3612         * tree-vect-loop.cc (vect_transform_loop): Disable
3613         special code narrowing the vectorized epilogue max
3614         iterations when peeling for alignment or gaps was in effect.
3616 2022-04-28  Xi Ruoyao  <xry111@mengyan1223.wang>
3618         * config/loongarch/loongarch.cc
3619         (loongarch_flatten_aggregate_field): Ignore empty fields for
3620         RECORD_TYPE.
3622 2022-04-27  Lulu Cheng  <chenglulu@loongson.cn>
3624         * config/loongarch/loongarch.md: Add fdiv define_expand template,
3625         then generate floating-point division and floating-point reciprocal
3626         instructions.
3628 2022-04-27  Lulu Cheng  <chenglulu@loongson.cn>
3630         * config/loongarch/loongarch.md: Add '(clobber (mem:BLK (scratch)))'
3631         to PLV instruction templates.
3633 2022-04-27  Richard Biener  <rguenther@suse.de>
3635         PR middle-end/104492
3636         * gimple-ssa-warn-access.cc
3637         (pass_waccess::warn_invalid_pointer): Exclude equality compare
3638         diagnostics for all kind of invalidations.
3639         (pass_waccess::check_dangling_uses): Fix post-dominator query.
3640         (pass_waccess::check_pointer_uses): Likewise.
3642 2022-04-27  Andreas Krebbel  <krebbel@linux.ibm.com>
3644         PR target/102024
3645         * config/s390/s390-protos.h (s390_function_arg_vector): Remove
3646         prototype.
3647         * config/s390/s390.cc (s390_single_field_struct_p): New function.
3648         (s390_function_arg_vector): Invoke s390_single_field_struct_p.
3649         (s390_function_arg_float): Likewise.
3651 2022-04-27  Jakub Jelinek  <jakub@redhat.com>
3653         PR sanitizer/105396
3654         * asan.cc (asan_redzone_buffer::emit_redzone_byte): Handle the case
3655         where offset is bigger than off but smaller than m_prev_offset + 32
3656         bits by pushing one or more 0 bytes.  Sink the
3657         m_shadow_bytes.safe_push (value); flush_if_full (); statements from
3658         all cases to the end of the function.
3660 2022-04-27  Kewen Lin  <linkw@linux.ibm.com>
3662         PR target/105271
3663         * config/rs6000/rs6000-builtins.def (NEG_V2DI): Move to [power8-vector]
3664         stanza.
3666 2022-04-26  Thomas Schwinge  <thomas@codesourcery.com>
3668         * config/gcn/gcn.cc (gcn_print_lds_decl): Make "gang-private
3669         data-share memory exhausted" error more verbose.
3671 2022-04-26  Martin Liska  <mliska@suse.cz>
3673         PR lto/105364
3674         * lto-wrapper.cc (print_lto_docs_link): Use global_dc.
3675         (run_gcc): Parse OPT_fdiagnostics_urls_.
3676         (main): Initialize global_dc.
3678 2022-04-26  Jakub Jelinek  <jakub@redhat.com>
3680         PR rtl-optimization/105314
3681         * ifcvt.cc (noce_try_store_flag_mask): Don't require that the non-zero
3682         operand is equal to if_info->x, instead use the non-zero operand
3683         as one of the operands of AND with if_info->x as target.
3685 2022-04-26  Jakub Jelinek  <jakub@redhat.com>
3687         PR tree-optimization/105374
3688         * tree-ssa-reassoc.cc (eliminate_redundant_comparison): Punt if
3689         !fold_convertible_p rather than assuming fold_convert must succeed.
3691 2022-04-26  Jakub Jelinek  <jakub@redhat.com>
3693         PR target/105367
3694         * config/i386/i386.cc (ix86_veclibabi_svml, ix86_veclibabi_acml): Pass
3695         el_mode == DFmode ? double_type_node : float_type_node instead of
3696         TREE_TYPE (type_in) as first arguments to mathfn_built_in.
3698 2022-04-25  David Malcolm  <dmalcolm@redhat.com>
3700         PR analyzer/104308
3701         * gimple-fold.cc (gimple_fold_builtin_memory_op): Explicitly set
3702         the location of new_stmt in all places that don't already set it,
3703         whether explicitly, or via a call to gsi_replace.
3705 2022-04-25  Paul A. Clarke  <pc@us.ibm.com>
3707         * doc/extend.texi (Other Builtins): Correct reference to 'modff'.
3709 2022-04-25  Andrew MacLeod  <amacleod@redhat.com>
3711         PR tree-optimization/105276
3712         * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Include
3713         existing global range with calculated value.
3715 2022-04-25  Richard Biener  <rguenther@suse.de>
3717         PR tree-optimization/105368
3718         * tree-ssa-math-opts.cc (powi_cost): Use absu_hwi.
3720 2022-04-25  Richard Biener  <rguenther@suse.de>
3722         PR tree-optimization/100810
3723         * tree-ssa-loop-ivopts.cc (struct iv_cand): Add involves_undefs flag.
3724         (find_ssa_undef): New function.
3725         (add_candidate_1): Avoid adding derived candidates with
3726         undefined SSA names and mark the original ones.
3727         (determine_group_iv_cost_generic): Reject rewriting
3728         uses with a different IV when that involves undefined SSA names.
3730 2022-04-25  Steven G. Kargl  <kargl@gcc.gnu.org>
3732         PR target/89125
3733         * config/freebsd.h: Define TARGET_LIBC_HAS_FUNCTION to be
3734         bsd_libc_has_function.
3735         * targhooks.cc (bsd_libc_has_function): New function.
3736         Expand the supported math functions to inclue C99 libm.
3737         * targhooks.h (bsd_libc_has_function): New Prototype.
3739 2022-04-25  Richard Biener  <rguenther@suse.de>
3741         PR rtl-optimization/105231
3742         * combine.cc (distribute_notes): Assert that a REG_EH_REGION
3743         with landing pad > 0 is from i3.  Put any REG_EH_REGION note
3744         on i3 or drop it if the insn can not trap.
3745         (try_combine): Ensure that we can merge REG_EH_REGION notes
3746         with non-call exceptions.  Ensure we are not splitting a
3747         trapping part of an insn with non-call exceptions when there
3748         is any REG_EH_REGION note to preserve.
3750 2022-04-25  Hongyu Wang  <hongyu.wang@intel.com>
3752         PR target/105339
3753         * config/i386/avx512fintrin.h (_mm512_scalef_round_pd):
3754         Add parentheses for parameters and djust format.
3755         (_mm512_mask_scalef_round_pd): Ditto.
3756         (_mm512_maskz_scalef_round_pd): Ditto.
3757         (_mm512_scalef_round_ps): Ditto.
3758         (_mm512_mask_scalef_round_ps): Ditto.
3759         (_mm512_maskz_scalef_round_ps): Ditto.
3760         (_mm_scalef_round_sd): Use _mm_undefined_pd.
3761         (_mm_scalef_round_ss): Use _mm_undefined_ps.
3762         (_mm_mask_scalef_round_sd): New macro.
3763         (_mm_mask_scalef_round_ss): Ditto.
3764         (_mm_maskz_scalef_round_sd): Ditto.
3765         (_mm_maskz_scalef_round_ss): Ditto.
3767 2022-04-23  Jakub Jelinek  <jakub@redhat.com>
3769         PR target/105338
3770         * config/i386/i386-expand.cc (ix86_expand_int_movcc): Handle
3771         op0 == cst1 ? op0 : op3 like op0 == cst1 ? cst1 : op3 for the non-cmov
3772         cases.
3774 2022-04-22  Segher Boessenkool  <segher@kernel.crashing.org>
3776         PR target/105334
3777         * config/rs6000/rs6000.md (pack<mode> for FMOVE128): New expander.
3778         (pack<mode> for FMOVE128): Rename and split the insn_and_split to...
3779         (pack<mode>_hard for FMOVE128): ... this...
3780         (pack<mode>_soft for FMOVE128): ... and this.
3782 2022-04-22  Paul A. Clarke  <pc@us.ibm.com>
3784         * doc/extend.texi: Correct "This" to "These".
3786 2022-04-22  Jakub Jelinek  <jakub@redhat.com>
3788         PR rtl-optimization/105333
3789         * rtlanal.cc (replace_rtx): Use simplify_subreg or
3790         simplify_unary_operation if CONST_SCALAR_INT_P rather than just
3791         CONST_INT_P.
3793 2022-04-21  Segher Boessenkool  <segher@kernel.crashing.org>
3795         PR target/103197
3796         PR target/102146
3797         * config/rs6000/rs6000.md (zero_extendqi<mode>2 for EXTQI): Disparage
3798         the "Z" alternatives in {l,st}{f,xs}iwzx.
3799         (zero_extendhi<mode>2 for EXTHI): Ditto.
3800         (zero_extendsi<mode>2 for EXTSI): Ditto.
3801         (*movsi_internal1): Ditto.
3802         (*mov<mode>_internal1 for QHI): Ditto.
3803         (movsd_hardfloat): Ditto.
3805 2022-04-21  Martin Liska  <mliska@suse.cz>
3807         * configure.ac: Enable compressed debug sections for mold
3808         linker.
3809         * configure: Regenerate.
3811 2022-04-21  Jakub Jelinek  <jakub@redhat.com>
3813         PR debug/105203
3814         * emit-rtl.cc (emit_copy_of_insn_after): Don't call mark_jump_label
3815         on DEBUG_INSNs.
3817 2022-04-20  Richard Biener  <rguenther@suse.de>
3819         PR tree-optimization/104912
3820         * tree-vect-loop-manip.cc (vect_loop_versioning): Split
3821         the cost model check to a separate BB to make sure it is
3822         checked first and not combined with other version checks.
3824 2022-04-20  Richard Biener  <rguenther@suse.de>
3826         PR tree-optimization/105312
3827         * gimple-isel.cc (gimple_expand_vec_cond_expr): Query both
3828         VCOND and VCONDU for EQ and NE.
3830 2022-04-20  Jan Hubicka  <hubicka@ucw.cz>
3832         PR ipa/103818
3833         * ipa-modref-tree.cc (modref_access_node::closer_pair_p): Use
3834         poly_offset_int to avoid overflow.
3835         (modref_access_node::update2): likewise.
3837 2022-04-20  Jakub Jelinek  <jakub@redhat.com>
3839         PR ipa/105306
3840         * cgraph.cc (cgraph_node::create): Set node->semantic_interposition
3841         to opt_for_fn (decl, flag_semantic_interposition).
3842         * cgraphclones.cc (cgraph_node::create_clone): Copy over
3843         semantic_interposition flag.
3845 2022-04-19  Sergei Trofimovich  <siarheit@google.com>
3847         PR gcov-profile/105282
3848         * value-prof.cc (stream_out_histogram_value): Allow negative counts
3849         on HIST_TYPE_INDIR_CALL.
3851 2022-04-19  Jakub Jelinek  <jakub@redhat.com>
3853         PR target/105257
3854         * config/sparc/sparc.cc (epilogue_renumber): If ORIGINAL_REGNO,
3855         use gen_raw_REG instead of gen_rtx_REG and copy over also
3856         ORIGINAL_REGNO.  Use return 0; instead of /* fallthrough */.
3858 2022-04-19  Richard Biener  <rguenther@suse.de>
3860         PR tree-optimization/104010
3861         PR tree-optimization/103941
3862         * tree-vect-slp.cc (vect_bb_slp_scalar_cost): When
3863         we run into stmts in patterns continue walking those
3864         for uses outside of the vectorized region instead of
3865         marking the lane live.
3867 2022-04-18  Hans-Peter Nilsson  <hp@axis.com>
3869         * doc/install.texi <CRIS>: Remove references to removed websites and
3870         adjust for cris-*-elf being the only remaining toolchain.
3872 2022-04-18  Hans-Peter Nilsson  <hp@axis.com>
3874         * doc/invoke.texi <CRIS>: Remove references to options for removed
3875         subtarget cris-axis-linux-gnu and tweak wording accordingly.
3877 2022-04-16  Gerald Pfeifer  <gerald@pfeifer.com>
3879         * doc/install.texi (Specific): Adjust mingw-w64 download link.
3881 2022-04-15  Hongyu Wang  <hongyu.wang@intel.com>
3883         * config/i386/smmintrin.h: Correct target pragma from sse4.1
3884         and sse4.2 to crc32 for crc32 intrinsics.
3886 2022-04-14  Indu Bhagat  <indu.bhagat@oracle.com>
3888         PR debug/105089
3889         * ctfc.cc (ctf_dvd_ignore_insert): New function.
3890         (ctf_dvd_ignore_lookup): Likewise.
3891         (ctf_add_variable): Keep track of non-defining decl DIEs.
3892         (new_ctf_container): Initialize the new hash-table.
3893         (ctfc_delete_container): Empty hash-table.
3894         * ctfc.h (struct ctf_container): Add new hash-table.
3895         (ctf_dvd_ignore_lookup): New declaration.
3896         (ctf_add_variable): Add additional argument.
3897         * ctfout.cc (ctf_dvd_preprocess_cb): Skip adding CTF variable
3898         record for non-defining decl for which a defining decl exists
3899         in the same TU.
3900         (ctf_preprocess): Defer updating the number of global objts
3901         until here.
3902         (output_ctf_header): Use ctfc_vars_list_count as some CTF
3903         variables may not make it to the final output.
3904         (output_ctf_vars): Likewise.
3905         * dwarf2ctf.cc (gen_ctf_variable): Skip generating CTF variable
3906         if this is known to be a non-defining decl DIE.
3908 2022-04-14  Indu Bhagat  <indu.bhagat@oracle.com>
3910         * ctfc.h (struct ctf_container): Introduce a new member.
3911         * ctfout.cc (ctf_list_add_ctf_vars): Use it instead of static
3912         variable.
3914 2022-04-14  Jakub Jelinek  <jakub@redhat.com>
3916         PR target/105247
3917         * simplify-rtx.cc (simplify_const_binary_operation): For shifts
3918         or rotates by VOIDmode constant integer shift count use word_mode
3919         for the operand if int_mode is narrower than word.
3921 2022-04-14  Robin Dapp  <rdapp@linux.ibm.com>
3923         * config/s390/s390.cc (s390_get_sched_attrmask): Add z16.
3924         (s390_get_unit_mask): Likewise.
3925         (s390_is_fpd): Likewise.
3926         (s390_is_fxd): Likewise.
3927         * config/s390/s390.h (s390_tune_attr): Set max tune level to z16.
3928         * config/s390/s390.md (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15):
3929         Add z16.
3930         (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15,z16):
3931         Likewise.
3932         * config/s390/3931.md: New file.
3934 2022-04-13  Richard Sandiford  <richard.sandiford@arm.com>
3936         PR tree-optimization/105254
3937         * config/aarch64/aarch64.cc
3938         (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
3939         loop_vec_info as argument.  Restrict the unroll factor to values
3940         that divide the VF.
3941         (aarch64_vector_costs::finish_cost): Update call accordingly.
3943 2022-04-13  Richard Biener  <rguenther@suse.de>
3945         PR tree-optimization/105263
3946         * tree-ssa-reassoc.cc (try_special_add_to_ops): Do not consume
3947         negates in multiplication chains with DFP.
3949 2022-04-13  Jakub Jelinek  <jakub@redhat.com>
3951         PR middle-end/105253
3952         * tree.cc (tree_builtin_call_types_compatible_p): If PROP_gimple,
3953         use useless_type_conversion_p checks instead of TYPE_MAIN_VARIANT
3954         comparisons or tree_nop_conversion_p checks.
3956 2022-04-13  Hongyu Wang  <hongyu.wang@intel.com>
3958         PR target/103069
3959         * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop):
3960           Add missing set to target_val at pause label.
3962 2022-04-13  Jakub Jelinek  <jakub@redhat.com>
3964         PR target/105234
3965         * attribs.cc (decl_attributes): Don't set
3966         DECL_FUNCTION_SPECIFIC_TARGET if target_option_default_node is
3967         NULL.
3969 2022-04-13  Richard Biener  <rguenther@suse.de>
3971         PR tree-optimization/105250
3972         * fold-const.cc (fold_convertible_p): Revert
3973         r12-7979-geaaf77dd85c333, instead check for size equality
3974         of the vector types involved.
3976 2022-04-13  Richard Biener  <rguenther@suse.de>
3978         Revert:
3979         2022-04-13  Richard Biener  <rguenther@suse.de>
3981         PR tree-optimization/104912
3982         * tree-vect-loop-manip.cc (vect_loop_versioning): Split
3983         the cost model check to a separate BB to make sure it is
3984         checked first and not combined with other version checks.
3986 2022-04-13  Richard Biener  <rguenther@suse.de>
3988         PR tree-optimization/104912
3989         * tree-vect-loop-manip.cc (vect_loop_versioning): Split
3990         the cost model check to a separate BB to make sure it is
3991         checked first and not combined with other version checks.
3993 2022-04-13  Jakub Jelinek  <jakub@redhat.com>
3995         * tree-scalar-evolution.cc (expression_expensive_p): Fix a comment typo.
3997 2022-04-12  Antoni Boucher  <bouanto@zoho.com>
3999         PR jit/104072
4000         * reginfo.cc: New functions (clear_global_regs_cache,
4001         reginfo_cc_finalize) to avoid an issue where compiling the same
4002         code multiple times gives an error about assigning the same
4003         register to 2 global variables.
4004         * rtl.h: New function (reginfo_cc_finalize).
4005         * toplev.cc: Call it.
4007 2022-04-12  Antoni Boucher  <bouanto@zoho.com>
4009         PR jit/104071
4010         * toplev.cc: Call the new function tree_cc_finalize in
4011         toplev::finalize.
4012         * tree.cc: New functions (clear_nonstandard_integer_type_cache
4013         and tree_cc_finalize) to clear the cache of non-standard integer
4014         types to avoid having issues with some optimizations of
4015         bitcast where the SSA_NAME will have a size of a cached
4016         integer type that should have been invalidated, causing a
4017         comparison of integer constant to fail.
4018         * tree.h: New function (tree_cc_finalize).
4020 2022-04-12  Thomas Schwinge  <thomas@codesourcery.com>
4022         PR target/97348
4023         * config/nvptx/nvptx.h (ASM_SPEC): Don't set.
4024         * config/nvptx/nvptx.opt (misa): Adjust comment.
4026 2022-04-12  Thomas Schwinge  <thomas@codesourcery.com>
4028         Revert:
4029         2022-03-03  Tom de Vries  <tdevries@suse.de>
4031         * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
4033 2022-04-12  Thomas Schwinge  <thomas@codesourcery.com>
4035         Revert:
4036         2022-03-31  Tom de Vries  <tdevries@suse.de>
4038         * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
4040 2022-04-12  Richard Biener  <rguenther@suse.de>
4042         PR ipa/104303
4043         * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Do not
4044         include local escaped memory as obviously necessary stores.
4046 2022-04-12  Richard Biener  <rguenther@suse.de>
4048         PR tree-optimization/105235
4049         * tree-ssa-math-opts.cc (execute_cse_conv_1): Clean EH and
4050         return whether the CFG changed.
4051         (execute_cse_sincos_1): Adjust.
4053 2022-04-12  Przemyslaw Wirkus  <Przemyslaw.Wirkus@arm.com>
4055         PR target/104144
4056         * config/arm/t-aprofile (MULTI_ARCH_OPTS_A): Remove Armv9-a options.
4057         (MULTI_ARCH_DIRS_A): Remove Armv9-a diretories.
4058         (MULTILIB_REQUIRED): Don't require Armv9-a libraries.
4059         (MULTILIB_MATCHES): Treat Armv9-a as equivalent to Armv8-a.
4060         (MULTILIB_REUSE): Remove remap rules for Armv9-a.
4061         * config/arm/t-multilib (v9_a_nosimd_variants): Delete.
4062         (MULTILIB_MATCHES): Remove mappings for v9_a_nosimd_variants.
4064 2022-04-12  Richard Biener  <rguenther@suse.de>
4066         PR tree-optimization/105232
4067         * tree.cc (component_ref_size): Bail out for too large
4068         or non-constant sizes.
4070 2022-04-12  Richard Biener  <rguenther@suse.de>
4072         PR tree-optimization/105226
4073         * tree-vect-loop-manip.cc (vect_loop_versioning): Verify
4074         we can split the exit of an outer loop we choose to version.
4076 2022-04-12  Jakub Jelinek  <jakub@redhat.com>
4078         * config/i386/i386-expand.cc (ix86_emit_i387_sinh, ix86_emit_i387_cosh,
4079         ix86_emit_i387_tanh, ix86_emit_i387_asinh, ix86_emit_i387_acosh,
4080         ix86_emit_i387_atanh, ix86_emit_i387_log1p, ix86_emit_i387_round,
4081         ix86_emit_swdivsf, ix86_emit_swsqrtsf,
4082         ix86_expand_atomic_fetch_op_loop, ix86_expand_cmpxchg_loop):
4083         Formatting fix.
4084         * config/i386/i386.cc (warn_once_call_ms2sysv_xlogues): Likewise.
4086 2022-04-12  Jakub Jelinek  <jakub@redhat.com>
4088         PR target/105214
4089         * config/i386/i386-expand.cc (ix86_emit_i387_log1p): Call
4090         do_pending_stack_adjust.
4092 2022-04-12  Jakub Jelinek  <jakub@redhat.com>
4094         PR rtl-optimization/105211
4095         * builtins.cc (expand_builtin_int_roundingfn_2): If mathfn_built_in_1
4096         fails for TREE_TYPE (arg), retry it with
4097         TREE_VALUE (TYPE_ARG_TYPES (TREE_TYPE (fndecl))) and if even that
4098         fails, emit call normally.
4100 2022-04-12  Andreas Krebbel  <krebbel@linux.ibm.com>
4102         * common/config/s390/s390-common.cc: Rename PF_ARCH14 to PF_Z16.
4103         * config.gcc: Add z16 as march/mtune switch.
4104         * config/s390/driver-native.cc (s390_host_detect_local_cpu):
4105         Recognize z16 with -march=native.
4106         * config/s390/s390-opts.h (enum processor_type): Rename
4107         PROCESSOR_ARCH14 to PROCESSOR_3931_Z16.
4108         * config/s390/s390.cc (PROCESSOR_ARCH14): Rename to ...
4109         (PROCESSOR_3931_Z16): ... throughout the file.
4110         (s390_processor processor_table): Add z16 as cpu string.
4111         * config/s390/s390.h (enum processor_flags): Rename PF_ARCH14 to
4112         PF_Z16.
4113         (TARGET_CPU_ARCH14): Rename to ...
4114         (TARGET_CPU_Z16): ... this.
4115         (TARGET_CPU_ARCH14_P): Rename to ...
4116         (TARGET_CPU_Z16_P): ... this.
4117         (TARGET_ARCH14): Rename to ...
4118         (TARGET_Z16): ... this.
4119         (TARGET_ARCH14_P): Rename to ...
4120         (TARGET_Z16_P): ... this.
4121         * config/s390/s390.md (cpu_facility): Rename arch14 to z16 and
4122         check TARGET_Z16 instead of TARGET_ARCH14.
4123         * config/s390/s390.opt: Add z16 to processor_type.
4124         * doc/invoke.texi: Document z16 and arch14.
4126 2022-04-12  chenglulu  <chenglulu@loongson.cn>
4128         * config/loongarch/loongarch.cc: Fix bug for
4129         tmpdir-g++.dg-struct-layout-1/t033.
4131 2022-04-11  Peter Bergner  <bergner@linux.ibm.com>
4133         PR target/104894
4134         * config/rs6000/rs6000.cc (rs6000_sibcall_aix): Handle pcrel sibcalls
4135         to longcall functions.
4137 2022-04-11  Jason Merrill  <jason@redhat.com>
4139         * ipa-free-lang-data.cc (free_lang_data_in_decl): Fix typos.
4141 2022-04-11  Segher Boessenkool  <segher@kernel.crashing.org>
4143         PR target/105213
4144         PR target/103623
4145         * config/rs6000/rs6000.md (unpack<mode>_nodm): Add m,r,i alternative.
4147 2022-04-11  Jakub Jelinek  <jakub@redhat.com>
4149         PR tree-optimization/105218
4150         * tree-ssa-phiopt.cc (value_replacement): If middle_bb has
4151         more than one predecessor or phi's bb more than 2 predecessors,
4152         reset phi result uses instead of adding a debug temp.
4154 2022-04-11  Kito Cheng  <kito.cheng@sifive.com>
4156         PR target/104853
4157         * config.gcc: Pass -misa-spec to arch-canonicalize and
4158         multilib-generator.
4159         * config/riscv/arch-canonicalize: Adding -misa-spec option.
4160         (SUPPORTED_ISA_SPEC): New.
4161         (arch_canonicalize): New argument `isa_spec`.
4162         Handle multiple ISA spec versions.
4163         * config/riscv/multilib-generator: Adding -misa-spec option.
4165 2022-04-11  Kito Cheng  <kito.cheng@sifive.com>
4167         * config/riscv/arch-canonicalize: Add TODO item.
4168         (IMPLIED_EXT): Sync.
4169         (arch_canonicalize): Checking until no change.
4171 2022-04-11  Tamar Christina  <tamar.christina@arm.com>
4173         PR target/105197
4174         * tree-vect-stmts.cc (vectorizable_condition): Prevent cond swap when
4175         not masked.
4177 2022-04-11  Jason Merrill  <jason@redhat.com>
4179         PR c++/100370
4180         * pointer-query.cc (compute_objsize_r) [POINTER_PLUS_EXPR]: Require
4181         deref == -1.
4183 2022-04-11  Jakub Jelinek  <jakub@redhat.com>
4185         PR tree-optimization/104639
4186         * tree-ssa-phiopt.cc: Include tree-ssa-propagate.h.
4187         (value_replacement): Optimize (x != cst1 ? x : cst2) != cst3
4188         into x != cst3.
4190 2022-04-11  Jeff Law  <jeffreyalaw@gmail.com>
4192         * config/bfin/bfin.md (rol_one): Fix pattern to indicate the
4193         sign bit of the source ends up in CC.
4195 2022-04-09  Jan Hubicka  <hubicka@ucw.cz>
4197         PR ipa/103376
4198         * cgraphunit.cc (cgraph_node::analyze): update semantic_interposition
4199         flag.
4201 2022-04-09  Jan Hubicka  <hubicka@ucw.cz>
4203         * ipa-modref.cc (ipa_merge_modref_summary_after_inlining): Propagate
4204         nondeterministic and side_effects flags.
4206 2022-04-08  Andre Vieira  <andre.simoesdiasvieira@arm.com>
4208         PR target/105157
4209         * config.gcc: Shift ext_mask by TARGET_CPU_NBITS.
4210         * config/aarch64/aarch64.h (TARGET_CPU_NBITS): New macro.
4211         (TARGET_CPU_MASK): Likewise.
4212         (TARGET_CPU_DEFAULT): Use TARGET_CPU_NBITS.
4213         * config/aarch64/aarch64.cc (aarch64_get_tune_cpu): Use TARGET_CPU_MASK.
4214         (aarch64_get_arch): Likewise.
4215         (aarch64_override_options): Use TARGET_CPU_NBITS.
4217 2022-04-08  Richard Biener  <rguenther@suse.de>
4219         PR tree-optimization/105198
4220         * tree-predcom.cc (find_looparound_phi): Check whether
4221         the found memory location of the entry value is clobbered
4222         inbetween the value we want to use and loop entry.
4224 2022-04-08  Jakub Jelinek  <jakub@redhat.com>
4226         PR tree-optimization/105189
4227         * fold-const.cc (make_range_step): Fix up handling of
4228         (unsigned) x +[low, -] ranges for signed x if low fits into
4229         typeof (x).
4231 2022-04-08  Richard Biener  <rguenther@suse.de>
4233         PR tree-optimization/105175
4234         * tree-vect-stmts.cc (vectorizable_operation): Suppress
4235         -Wvector-operation-performance if using emulated vectors.
4236         * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
4237         -Wvector-operation-performance when suppressed.
4238         (expand_vector_parallel): Likewise.
4239         (expand_vector_comparison): Likewise.
4240         (expand_vector_condition): Likewise.
4241         (lower_vec_perm): Likewise.
4242         (expand_vector_conversion): Likewise.
4244 2022-04-07  Tamar Christina  <tamar.christina@arm.com>
4246         PR target/104409
4247         * config/aarch64/aarch64-builtins.cc (handle_arm_acle_h): New.
4248         (aarch64_general_init_builtins): Move LS64 code.
4249         * config/aarch64/aarch64-c.cc (aarch64_pragma_aarch64): Support
4250         arm_acle.h
4251         * config/aarch64/aarch64-protos.h (handle_arm_acle_h): New.
4252         * config/aarch64/arm_acle.h: Add pragma GCC aarch64 "arm_acle.h".
4254 2022-04-07  Richard Biener  <rguenther@suse.de>
4255             Jan Hubicka  <hubicka@ucw.cz>
4257         PR ipa/104303
4258         * tree-ssa-alias.h (ptr_deref_may_alias_global_p,
4259         ref_may_alias_global_p, ref_may_alias_global_p,
4260         stmt_may_clobber_global_p, pt_solution_includes_global): Add
4261         bool parameters indicating whether escaped locals should be
4262         considered global.
4263         * tree-ssa-structalias.cc (pt_solution_includes_global):
4264         When the new escaped_nonlocal_p flag is true also consider
4265         pt->vars_contains_escaped.
4266         * tree-ssa-alias.cc (ptr_deref_may_alias_global_p):
4267         Pass down new escaped_nonlocal_p flag.
4268         (ref_may_alias_global_p): Likewise.
4269         (stmt_may_clobber_global_p): Likewise.
4270         (ref_may_alias_global_p_1): Likewise.  For decls also
4271         query the escaped solution if true.
4272         (ref_may_access_global_memory_p): Remove.
4273         (modref_may_conflict): Use ref_may_alias_global_p with
4274         escaped locals considered global.
4275         (ref_maybe_used_by_stmt_p): Adjust.
4276         * ipa-fnsummary.cc (points_to_local_or_readonly_memory_p):
4277         Likewise.
4278         * tree-ssa-dse.cc (dse_classify_store): Likewise.
4279         * trans-mem.cc (thread_private_new_memory): Likewise, but
4280         consider escaped locals global.
4281         * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Likewise.
4283 2022-04-07  Richard Biener  <rguenther@suse.de>
4285         PR tree-optimization/105185
4286         * tree-ssa-sccvn.cc (visit_reference_op_call): Simplify
4287         modref query again.
4289 2022-04-07  Tamar Christina  <tamar.christina@arm.com>
4291         PR target/104049
4292         * config/aarch64/aarch64-simd.md
4293         (aarch64_reduc_plus_internal<mode>): Fix RTL and rename to...
4294         (reduc_plus_scal_<mode>): ... This.
4295         (reduc_plus_scal_v4sf): Moved.
4296         (aarch64_reduc_plus_internalv2si): Fix RTL and rename to...
4297         (reduc_plus_scal_v2si): ... This.
4299 2022-04-07  Jakub Jelinek  <jakub@redhat.com>
4301         PR tree-optimization/102586
4302         * langhooks.h (struct lang_hooks_for_types): Add classtype_as_base
4303         langhook.
4304         * langhooks-def.h (LANG_HOOKS_CLASSTYPE_AS_BASE): Define.
4305         (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add it.
4306         * gimple-fold.cc (clear_padding_type): Use ftype instead of
4307         TREE_TYPE (field) some more.  For artificial FIELD_DECLs without
4308         name try the lang_hooks.types.classtype_as_base langhook and
4309         if it returns non-NULL, use that instead of ftype for recursive call.
4311 2022-04-07  Jakub Jelinek  <jakub@redhat.com>
4313         PR tree-optimization/105150
4314         * tree.cc (tree_builtin_call_types_compatible_p): New function.
4315         (get_call_combined_fn): Use it.
4317 2022-04-07  Richard Biener  <rguenther@suse.de>
4319         PR middle-end/105165
4320         * tree-complex.cc (expand_complex_asm): Sorry for asm goto
4321         _Complex outputs.
4323 2022-04-07  liuhongt  <hongtao.liu@intel.com>
4325         * config/i386/sse.md (<sse2_avx2>_andnot<mode>3_mask):
4326         Removed.
4327         (<sse>_andnot<mode>3<mask_name>): Disable V*HFmode patterns
4328         for mask_applied.
4329         (<code><mode>3<mask_name>): Ditto.
4330         (*<code><mode>3<mask_name>): Ditto.
4331         (VFB_128_256): Adjust condition of V8HF/V16HFmode according to
4332         real instruction.
4333         (VFB_512): Ditto.
4334         (VFB): Ditto.
4336 2022-04-06  Jakub Jelinek  <jakub@redhat.com>
4338         PR rtl-optimization/104985
4339         * combine.cc (struct undo): Add where.regno member.
4340         (do_SUBST_MODE): Rename to ...
4341         (subst_mode): ... this.  Change first argument from rtx * into int,
4342         operate on regno_reg_rtx[regno] and save regno into where.regno.
4343         (SUBST_MODE): Remove.
4344         (try_combine): Use subst_mode instead of SUBST_MODE, change first
4345         argument from regno_reg_rtx[whatever] to whatever.  For UNDO_MODE, use
4346         regno_reg_rtx[undo->where.regno] instead of *undo->where.r.
4347         (undo_to_marker): For UNDO_MODE, use regno_reg_rtx[undo->where.regno]
4348         instead of *undo->where.r.
4349         (simplify_set): Use subst_mode instead of SUBST_MODE, change first
4350         argument from regno_reg_rtx[whatever] to whatever.
4352 2022-04-06  Jakub Jelinek  <jakub@redhat.com>
4354         PR target/105069
4355         * config/sh/sh.opt (mdiv=): Add Save.
4357 2022-04-06  Martin Liska  <mliska@suse.cz>
4359         PR driver/105096
4360         * common.opt: Document properly based on what it does.
4361         * gcc.cc (display_help): Unify with what we have in common.opt.
4362         * opts.cc (common_handle_option): Do not print undocumented
4363         options.
4365 2022-04-06  Xi Ruoyao  <xry111@mengyan1223.wang>
4367         * config/mips/mips.cc (mips_fpr_return_fields): Ignore
4368         cxx17_empty_base_field_p fields and set an indicator.
4369         (mips_return_in_msb): Adjust for mips_fpr_return_fields change.
4370         (mips_function_value_1): Inform psABI change about C++17 empty
4371         bases.
4373 2022-04-06  Jakub Jelinek  <jakub@redhat.com>
4375         PR tree-optimization/105150
4376         * gimple.cc (gimple_builtin_call_types_compatible_p): Use
4377         builtin_decl_explicit here...
4378         (gimple_call_builtin_p, gimple_call_combined_fn): ... rather than
4379         here.
4381 2022-04-06  Richard Biener  <rguenther@suse.de>
4383         PR tree-optimization/105173
4384         * tree-ssa-reassoc.cc (find_insert_point): Get extra
4385         insert_before output argument and compute it.
4386         (insert_stmt_before_use): Adjust.
4387         (rewrite_expr_tree): Likewise.
4389 2022-04-06  Richard Biener  <rguenther@suse.de>
4391         PR ipa/105166
4392         * ipa-modref-tree.cc (modref_access_node::get_ao_ref ): Bail
4393         out for non-pointer arguments.
4395 2022-04-06  Richard Biener  <rguenther@suse.de>
4397         PR tree-optimization/105163
4398         * tree-ssa-reassoc.cc (repropagate_negates): Avoid propagating
4399         negated abnormals.
4401 2022-04-06  Jakub Jelinek  <jakub@redhat.com>
4403         PR tree-optimization/105150
4404         * gimple.cc (gimple_call_builtin_p, gimple_call_combined_fn):
4405         For BUILT_IN_NORMAL calls, call gimple_builtin_call_types_compatible_p
4406         preferrably on builtin_decl_explicit decl rather than fndecl.
4407         * tree-ssa-strlen.cc (valid_builtin_call): Don't call
4408         gimple_builtin_call_types_compatible_p here.
4410 2022-04-06  Richard Sandiford  <richard.sandiford@arm.com>
4412         PR tree-optimization/103761
4413         * tree-vect-stmts.cc (check_load_store_for_partial_vectors): Replace
4414         the ncopies parameter with an slp_node parameter.  Calculate the
4415         number of vectors based on it and vectype.  Rename lambda to
4416         group_memory_nvectors.
4417         (vectorizable_store, vectorizable_load): Update calls accordingly.
4419 2022-04-06  Martin Liska  <mliska@suse.cz>
4421         * doc/invoke.texi: Document it.
4423 2022-04-06  Richard Biener  <rguenther@suse.de>
4425         PR tree-optimization/105148
4426         * tree-ssa-loop-ivopts.cc (idx_record_use): Walk raw operands
4427         2 and 3 of ARRAY_REFs.
4429 2022-04-06  Roger Sayle  <roger@nextmovesoftware.com>
4431         * config/i386/sse.md (ANDNOT_MODE): New mode iterator for TF and V1TI.
4432         (*andnottf3): Replace with...
4433         (*andnot<mode>3): New define_insn using ANDNOT_MODE.
4435 2022-04-06  Richard Biener  <rguenther@suse.de>
4437         PR tree-optimization/105142
4438         * gimple-fold.h (maybe_fold_and_comparisons): Add defaulted
4439         basic-block parameter.
4440         (maybe_fold_or_comparisons): Likewise.
4441         * gimple-fold.cc (follow_outer_ssa_edges): New.
4442         (maybe_fold_comparisons_from_match_pd): Use follow_outer_ssa_edges
4443         when an outer condition basic-block is specified.
4444         (and_comparisons_1, and_var_with_comparison,
4445         and_var_with_comparison_1, or_comparisons_1,
4446         or_var_with_comparison, or_var_with_comparison_1): Receive and pass
4447         down the outer condition basic-block.
4448         * tree-ssa-ifcombine.cc (ifcombine_ifandif): Pass down the
4449         basic-block of the outer condition.
4451 2022-04-06  Kewen Lin  <linkw@linux.ibm.com>
4453         PR target/105002
4454         * config/rs6000/rs6000.cc (rs6000_maybe_emit_maxc_minc): Support more
4455         comparison codes UNLT/UNLE/UNGT/UNGE.
4457 2022-04-05  David Malcolm  <dmalcolm@redhat.com>
4459         * doc/extend.texi (Common Function Attributes): Document that
4460         'access' does not imply 'nonnull'.
4462 2022-04-05  Uroš Bizjak  <ubizjak@gmail.com>
4464         PR target/105139
4465         * config/i386/mmx.md (*movv2qi_internal):
4466         Change insn mode of alternative 5 to HF for TARGET_AVX512FP16.
4468 2022-04-05  Richard Sandiford  <richard.sandiford@arm.com>
4470         * config/aarch64/aarch64.md (aarch64_cpymemdi): Turn into a
4471         define_expand and turn operands 0 and 1 from REGs to MEMs.
4472         (*aarch64_cpymemdi): New pattern.
4473         (aarch64_setmemdi): Turn into a define_expand and turn operand 0
4474         from a REG to a MEM.
4475         (*aarch64_setmemdi): New pattern.
4476         * config/aarch64/aarch64.cc (aarch64_expand_cpymem_mops): Use
4477         copy_to_mode_reg on all three registers.  Replace the original
4478         MEM addresses rather than creating wild reads and writes.
4479         (aarch64_expand_setmem_mops): Likewise for the size and for the
4480         destination memory and address.
4482 2022-04-05  Richard Sandiford  <richard.sandiford@arm.com>
4484         PR target/103147
4485         * config/aarch64/aarch64-protos.h (aarch64_simd_switcher): New class.
4486         * config/aarch64/aarch64-sve-builtins.h (sve_switcher): Inherit
4487         from aarch64_simd_switcher.
4488         * config/aarch64/aarch64-builtins.cc (aarch64_simd_tuple_modes):
4489         New variable.
4490         (aarch64_lookup_simd_builtin_type): Use it instead of TYPE_MODE.
4491         (register_tuple_type): Add more asserts.  Expect the alignment
4492         of the structure to be subject to flag_pack_struct and
4493         maximum_field_alignment.  Set aarch64_simd_tuple_modes.
4494         (aarch64_simd_switcher::aarch64_simd_switcher): New function.
4495         (aarch64_simd_switcher::~aarch64_simd_switcher): Likewise.
4496         (handle_arm_neon_h): Hold an aarch64_simd_switcher throughout.
4497         (aarch64_general_init_builtins): Hold an aarch64_simd_switcher
4498         while calling aarch64_init_simd_builtins.
4499         * config/aarch64/aarch64-sve-builtins.cc (sve_switcher::sve_switcher)
4500         (sve_switcher::~sve_switcher): Remove code now performed by
4501         aarch64_simd_switcher.
4503 2022-04-05  Richard Sandiford  <richard.sandiford@arm.com>
4505         PR target/104897
4506         * config/aarch64/aarch64-sve-builtins.cc
4507         (function_resolver::infer_vector_or_tuple_type): Use error_n
4508         for "%d vectors" messages.
4510 2022-04-05  Chung-Lin Tang  <cltang@codesourcery.com>
4512         * omp-low.cc (lower_omp_target): Use outer context looked-up 'var' as
4513         argument to lang_hooks.decls.omp_array_data, instead of 'ovar' from
4514         current clause.
4516 2022-04-05  Richard Biener  <rguenther@suse.de>
4518         PR c/105151
4519         * passes.def (pass_walloca): Move early instance into
4520         pass_build_ssa_passes to make SSA form available.
4522 2022-04-05  liuhongt  <hongtao.liu@intel.com>
4524         PR target/101908
4525         * config/i386/i386.cc (ix86_split_stlf_stall_load): New
4526         function
4527         (ix86_reorg): Call ix86_split_stlf_stall_load.
4528         * config/i386/i386.opt (-param=x86-stlf-window-ninsns=): New
4529         param.
4531 2022-04-05  Alexandre Oliva  <oliva@adacore.com>
4533         * targhooks.cc (default_zero_call_used_regs): Attempt to group
4534         regs that the target refuses to use in their natural modes.
4535         (zcur_select_mode_rtx): New.
4536         * regs.h (struct target_regs): Add x_hard_regno_max_nregs.
4537         (hard_regno_max_nregs): Define.
4538         * reginfo.cc (init_reg_modes_target): Set hard_regno_max_nregs.
4540 2022-04-04  Alex Coplan  <alex.coplan@arm.com>
4542         * doc/match-and-simplify.texi: Fix typos.
4544 2022-04-04  Jakub Jelinek  <jakub@redhat.com>
4546         PR target/105144
4547         * config/aarch64/t-aarch64 (s-aarch64-tune-md): Do move-if-change
4548         only if configured with --enable-maintainer-mode, otherwise compare
4549         tmp-aarch64-tune.md with $(srcdir)/config/aarch64/aarch64-tune.md and
4550         if they differ, emit a message and fail.
4552 2022-04-04  Jakub Jelinek  <jakub@redhat.com>
4554         PR target/105144
4555         * config/aarch64/t-aarch64 (s-mddeps): Depend on s-aarch64-tune-md.
4556         * config/aarch64/aarch64-tune.md: Regenerated.
4558 2022-04-04  Richard Biener  <rguenther@suse.de>
4560         PR tree-optimization/105132
4561         * tree-vect-stmts.cc (vectorizable_operation): Check that
4562         the input vectors have the same number of elements.
4564 2022-04-04  Richard Biener  <rguenther@suse.de>
4566         PR middle-end/105140
4567         * fold-const.cc (fold_convertible_p): Allow a TYPE_P arg.
4569 2022-04-03  Jeff Law  <jeffreyalaw@gmail.com>
4571         PR target/104987
4572         * config/iq2000/iq2000.md (bbi): New attribute,  default to no.
4573         (delay slot descripts): Use different delay slot description when
4574         the insn as the "bbi" attribute.
4575         (bbi, bbin patterns): Set the bbi attribute to yes.
4577 2022-04-03  Jakub Jelinek  <jakub@redhat.com>
4579         PR target/105123
4580         * config/i386/i386-expand.cc (ix86_expand_vector_init_general): Avoid
4581         using word as target for expand_simple_binop when doing ASHIFT and
4582         IOR.
4584 2022-04-02  Xi Ruoyao  <xry111@mengyan1223.wang>
4586         * config/mips/mips.cc (mips_function_arg): Check if DECL_SIZE is
4587         NULL before dereferencing it.
4589 2022-04-01  Qing Zhao  <qing.zhao@oracle.com>
4591         * config/i386/i386.cc (zero_all_st_registers): Return the value of
4592         num_of_st.
4593         (ix86_zero_call_used_regs): Update zeroed_hardregs set according to
4594         the return value of zero_all_st_registers.
4595         * doc/tm.texi: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
4596         * function.cc (gen_call_used_regs_seq): Add an assertion.
4597         * target.def: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
4599 2022-04-01  Xi Ruoyao  <xry111@mengyan1223.wang>
4601         PR target/102024
4602         * config/mips/mips.cc (mips_function_arg): Ignore zero-width
4603         fields, and inform if it causes a psABI change.
4605 2022-04-01  Xi Ruoyao  <xry111@mengyan1223.wang>
4607         PR target/102024
4608         * config/mips/mips.cc (mips_fpr_return_fields): Detect C++
4609         zero-width bit-fields and set up an indicator.
4610         (mips_return_in_msb): Adapt for mips_fpr_return_fields change.
4611         (mips_function_value_1): Diagnose when the presense of a C++
4612         zero-width bit-field changes function returning in GCC 12.
4614 2022-04-01  Jakub Jelinek  <jakub@redhat.com>
4616         PR tree-optimization/104645
4617         * tree-ssa-phiopt.cc (value_replacement): If assign has
4618         CONVERT_EXPR_CODE_P rhs_code, treat it like a preparation
4619         statement with constant evaluation.
4621 2022-04-01  YunQiang Su  <yunqiang.su@cipunited.com>
4623         * config/mips/mips.cc (mips_expand_prologue):
4624           IPL is 8bit for MCU ASE.
4626 2022-03-31  Bill Schmidt  <wschmidt@linux.ibm.com>
4628         PR target/104004
4629         * config/rs6000/rs6000-builtins.def (MFFSL): Mark nosoft.
4630         (MTFSB0): Likewise.
4631         (MTFSB1): Likewise.
4632         (SET_FPSCR_RN): Likewise.
4633         (SET_FPSCR_DRN): Mark nosoft and no32bit.
4635 2022-03-31  Thomas Schwinge  <thomas@codesourcery.com>
4637         * doc/options.texi (Option file format): Clarifications around
4638         option definition records' help texts.
4640 2022-03-31  Thomas Schwinge  <thomas@codesourcery.com>
4642         * optc-gen.awk <END>: Fix "Multiple different help strings" error
4643         diagnostic.
4645 2022-03-31  Andre Vieira  <andre.simoesdiasvieira@arm.com>
4647         * config/aarch64/aarch64.cc (aarch64_vector_costs): Define
4648         determine_suggested_unroll_factor and m_has_avg.
4649         (determine_suggested_unroll_factor): New function.
4650         (aarch64_vector_costs::add_stmt_cost): Check for a qualifying pattern
4651         to set m_nosve_pattern.
4652         (aarch64_vector_costs::finish_costs): Use
4653         determine_suggested_unroll_factor.
4654         * config/aarch64/aarch64.opt (aarch64-vect-unroll-limit): New.
4655         * doc/invoke.texi: (aarch64-vect-unroll-limit): Document new option.
4657 2022-03-31  Martin Jambor  <mjambor@suse.cz>
4659         PR ipa/103083
4660         * ipa-prop.h (ipa_ancestor_jf_data): New flag keep_null;
4661         (ipa_get_jf_ancestor_keep_null): New function.
4662         * ipa-prop.cc (ipa_set_ancestor_jf): Initialize keep_null field of the
4663         ancestor function.
4664         (compute_complex_assign_jump_func): Pass false to keep_null
4665         parameter of ipa_set_ancestor_jf.
4666         (compute_complex_ancestor_jump_func): Pass true to keep_null
4667         parameter of ipa_set_ancestor_jf.
4668         (update_jump_functions_after_inlining): Carry over keep_null from the
4669         original ancestor jump-function or merge them.
4670         (ipa_write_jump_function): Stream keep_null flag.
4671         (ipa_read_jump_function): Likewise.
4672         (ipa_print_node_jump_functions_for_edge): Print the new flag.
4673         * ipa-cp.cc (class ipcp_bits_lattice): Make various getters const.  New
4674         member function known_nonzero_p.
4675         (ipcp_bits_lattice::known_nonzero_p): New.
4676         (ipcp_bits_lattice::meet_with_1): New parameter drop_all_ones,
4677         observe it.
4678         (ipcp_bits_lattice::meet_with): Likewise.
4679         (propagate_bits_across_jump_function): Simplify.  Pass true in
4680         drop_all_ones when it is necessary.
4681         (propagate_aggs_across_jump_function): Take care of keep_null
4682         flag.
4683         (ipa_get_jf_ancestor_result): Propagate NULL accross keep_null
4684         jump functions.
4686 2022-03-31  Martin Jambor  <mjambor@suse.cz>
4688         PR ipa/102513
4689         * ipa-cp.cc (decide_whether_version_node): Skip scalar values
4690         which do not fit the known value_range.
4692 2022-03-31  Martin Jambor  <mjambor@suse.cz>
4694         PR ipa/103171
4695         * ipa-prop.cc (propagate_controlled_uses): Add a LOAD reference
4696         always when an ADDR_EXPR constant is known to reach a load because
4697         of inlining, not just when removing an ADDR reference.
4699 2022-03-31  Richard Biener  <rguenther@suse.de>
4701         PR tree-optimization/105109
4702         * tree-ssa.cc (execute_update_addresses_taken): Suppress
4703         diagnostics on the load of the other complex component.
4705 2022-03-31  Tom de Vries  <tdevries@suse.de>
4707         * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
4709 2022-03-31  Richard Biener  <rguenther@suse.de>
4711         PR rtl-optimization/105091
4712         * gimple-expr.cc (mark_addressable): Handle TARGET_MEM_REF
4713         bases.
4715 2022-03-31  Richard Biener  <rguenther@suse.de>
4717         Revert:
4718         2021-09-13  Richard Earnshaw  <rearnsha@arm.com>
4720         PR target/102125
4721         * gimple-fold.c (gimple_fold_builtin_memory_op): Allow folding
4722         memcpy if the size is not more than MOVE_MAX * MOVE_RATIO.
4724 2022-03-31  Sebastian Huber  <sebastian.huber@embedded-brains.de>
4726         * gcov-io.cc (gcov_read_string): Reword documentation comment.
4728 2022-03-30  Bill Schmidt  <wschmidt@linux.ibm.com>
4730         * config/rs6000/rs6000-builtins.def (NEG_V16QI): Move to [altivec]
4731         stanza.
4732         (NEG_V4SF): Likewise.
4733         (NEG_V4SI): Likewise.
4734         (NEG_V8HI): Likewise.
4735         (NEG_V2DF): Move to [vsx] stanza.
4736         (NEG_V2DI): Likewise.
4738 2022-03-30  Vladimir N. Makarov  <vmakarov@redhat.com>
4740         PR middle-end/105032
4741         * lra-assigns.cc (find_reload_regno_insns): Modify loop condition.
4743 2022-03-30  Tom de Vries  <tdevries@suse.de>
4744             Tobias Burnus  <tobias@codesourcery.com>
4746         * doc/invoke.texi (march): Document __PTX_SM__.
4747          (mptx): Document __PTX_ISA_VERSION_MAJOR__ and
4748          __PTX_ISA_VERSION_MINOR__.
4750 2022-03-30  Jakub Jelinek  <jakub@redhat.com>
4752         PR sanitizer/105093
4753         * ubsan.cc (instrument_object_size): If t is equal to inner and
4754         is a decl other than global var, punt.  When emitting call to
4755         UBSAN_OBJECT_SIZE ifn, make sure base is addressable.
4757 2022-03-30  Jakub Jelinek  <jakub@redhat.com>
4759         PR tree-optimization/105094
4760         * gimple-ssa-store-merging.cc (mem_valid_for_store_merging): Punt if
4761         bitsize <= 0 rather than just == 0.
4763 2022-03-30  Tom de Vries  <tdevries@suse.de>
4765         * doc/invoke.texi (misa, mptx): Update.
4766         (march, march-map): Add.
4768 2022-03-30  Thomas Schwinge  <thomas@codesourcery.com>
4770         * opt-functions.awk (n_args): New function.
4771         (lang_enabled_by): Merge function into...
4772         * optc-gen.awk <END>: ... sole user here.
4773         Improve diagnostics.
4775 2022-03-29  Marek Polacek  <polacek@redhat.com>
4776             Jakub Jelinek  <jakub@redhat.com>
4778         PR middle-end/103597
4779         * gimplify.cc (collect_fallthrough_labels): Don't push UNUSED_LABEL_Ps
4780         into labels.  Maybe set prev to the statement preceding UNUSED_LABEL_P.
4781         (gimplify_cond_expr): Set UNUSED_LABEL_P.
4782         * tree.h (UNUSED_LABEL_P): New.
4784 2022-03-29   Michael Meissner  <meissner@linux.ibm.com>
4786         * config/rs6000/vsx.md (vsx_extract_<mode>): Allow destination to
4787         be any VSX register.
4789 2022-03-29  Richard Earnshaw  <rearnsha@arm.com>
4791         PR target/102024
4792         * config/aarch64/aarch64.cc (aapcs_vfp_sub_candidate): Handle
4793         zero-sized bit-fields.  Detect cases where a warning may be needed.
4794         (aarch64_vfp_is_call_or_return_candidate): Emit a note if a
4795         zero-sized bit-field has caused parameter passing to change.
4797 2022-03-29  Richard Earnshaw  <rearnsha@arm.com>
4799         PR target/102024
4800         * config/arm/arm.cc (aapcs_vfp_sub_candidate): Handle zero-sized
4801         bit-fields.  Detect cases where a warning may be needed.
4802         (aapcs_vfp_is_call_or_return_candidate): Emit a note if
4803         a zero-sized bit-field has caused parameter passing to change.
4805 2022-03-29  Richard Earnshaw  <rearnsha@arm.com>
4807         PR target/96882
4808         * config/arm/arm.cc (arm_get_pcs_model): Disable selection of
4809         ARM_PCS_AAPCS_LOCAL.
4811 2022-03-29  Tom de Vries  <tdevries@suse.de>
4813         PR target/104857
4814         * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Emit
4815         __PTX_ISA_VERSION_MAJOR__ and __PTX_ISA_VERSION_MINOR__.
4816         * config/nvptx/nvptx.cc (ptx_version_to_number): New function.
4817         * config/nvptx/nvptx-protos.h (ptx_version_to_number): Declare.
4819 2022-03-29  Tom de Vries  <tdevries@suse.de>
4821         * config/nvptx/nvptx.opt (m64): Update help text to reflect that it
4822         is ignored.
4824 2022-03-29  Tom de Vries  <tdevries@suse.de>
4826         PR target/104714
4827         * config/nvptx/nvptx.opt (march-map=*): Add aliases.
4829 2022-03-29  Jan Hubicka  <hubicka@ucw.cz>
4831         * config/i386/i386-builtins.cc (ix86_vectorize_builtin_gather): Test
4832         TARGET_USE_GATHER_2PARTS and TARGET_USE_GATHER_4PARTS.
4833         * config/i386/i386.h (TARGET_USE_GATHER_2PARTS): New macro.
4834         (TARGET_USE_GATHER_4PARTS): New macro.
4835         * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): New tune
4836         (X86_TUNE_USE_GATHER_4PARTS): New tune
4838 2022-03-29  Tom de Vries  <tdevries@suse.de>
4840         * config/nvptx/nvptx.opt (march): Add alias of misa.
4842 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
4843             Lulu Cheng  <chenglulu@loongson.cn>
4845         * doc/install.texi: Add LoongArch options section.
4846         * doc/invoke.texi: Add LoongArch options section.
4847         * doc/md.texi: Add LoongArch options section.
4849 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
4850             Lulu Cheng  <chenglulu@loongson.cn>
4852         * config/loongarch/loongarch-c.cc
4854 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
4855             Lulu Cheng  <chenglulu@loongson.cn>
4857         * config/loongarch/larchintrin.h: New file.
4858         * config/loongarch/loongarch-builtins.cc: New file.
4860 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
4861             Lulu Cheng  <chenglulu@loongson.cn>
4863         * config/host-linux.cc: Add LoongArch support.
4864         * config/loongarch/loongarch-protos.h: New file.
4865         * config/loongarch/loongarch-tune.h: Likewise.
4866         * config/loongarch/loongarch.cc: Likewise.
4867         * config/loongarch/loongarch.h: Likewise.
4869 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
4870             Lulu Cheng  <chenglulu@loongson.cn>
4872         * config/loongarch/constraints.md: New file.
4873         * config/loongarch/generic.md: New file.
4874         * config/loongarch/la464.md: New file.
4875         * config/loongarch/loongarch-ftypes.def: New file.
4876         * config/loongarch/loongarch-modes.def: New file.
4877         * config/loongarch/loongarch.md: New file.
4878         * config/loongarch/predicates.md: New file.
4879         * config/loongarch/sync.md: New file.
4881 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
4882             Lulu Cheng  <chenglulu@loongson.cn>
4884         * configure: Regenerate file.
4886 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
4887             Lulu Cheng  <chenglulu@loongson.cn>
4889         * common/config/loongarch/loongarch-common.cc: New file.
4890         * config/loongarch/genopts/genstr.sh: New file.
4891         * config/loongarch/genopts/loongarch-strings: New file.
4892         * config/loongarch/genopts/loongarch.opt.in: New file.
4893         * config/loongarch/loongarch-str.h: New file.
4894         * config/loongarch/gnu-user.h: New file.
4895         * config/loongarch/linux.h: New file.
4896         * config/loongarch/loongarch-cpu.cc: New file.
4897         * config/loongarch/loongarch-cpu.h: New file.
4898         * config/loongarch/loongarch-def.c: New file.
4899         * config/loongarch/loongarch-def.h: New file.
4900         * config/loongarch/loongarch-driver.cc: New file.
4901         * config/loongarch/loongarch-driver.h: New file.
4902         * config/loongarch/loongarch-opts.cc: New file.
4903         * config/loongarch/loongarch-opts.h: New file.
4904         * config/loongarch/loongarch.opt: New file.
4905         * config/loongarch/t-linux: New file.
4906         * config/loongarch/t-loongarch: New file.
4907         * config.gcc: Add LoongArch support.
4908         * configure.ac: Add LoongArch support.
4910 2022-03-29  Thomas Schwinge  <thomas@codesourcery.com>
4912         * opt-functions.awk (lang_enabled_by): Fix 'enabledby_negargs'
4913         typo.
4915 2022-03-29  Richard Biener  <rguenther@suse.de>
4917         PR tree-optimization/105080
4918         * tree-ssa-strlen.cc (printf_strlen_execute): Always init
4919         loops and SCEV.
4921 2022-03-28  Indu Bhagat  <indu.bhagat@oracle.com>
4923         * ctfout.cc (ctf_preprocess): Use ctfc_get_num_ctf_vars instead.
4924         (output_ctf_vars): Likewise.
4926 2022-03-28  Jason Merrill  <jason@redhat.com>
4928         PR c++/59426
4929         * doc/extend.texi: Refer to __is_trivial instead of __is_pod.
4931 2022-03-28  H.J. Lu  <hjl.tools@gmail.com>
4933         PR target/105068
4934         * config/i386/sse.md (*ssse3_pshufbv8qi3): Also replace "Yv" with
4935         "Yw" in clobber.
4937 2022-03-28  Tom de Vries  <tdevries@suse.de>
4939         PR target/104818
4940         * config/nvptx/gen-opt.sh (ptx_isa): Improve help text.
4941         * config/nvptx/nvptx-gen.opt: Regenerate.
4942         * config/nvptx/nvptx.opt (misa, mptx, ptx_version): Improve help text.
4943         * config/nvptx/t-nvptx (s-nvptx-gen-opt): Add missing dependency on
4944         gen-opt.sh.
4946 2022-03-28  David Malcolm  <dmalcolm@redhat.com>
4948         PR analyzer/104308
4949         * gimple-fold.cc (gimple_fold_builtin_memory_op): When optimizing
4950         to loads then stores, set the location of the new load stmt.
4952 2022-03-28  Richard Biener  <rguenther@suse.de>
4954         PR tree-optimization/105070
4955         * tree-switch-conversion.h
4956         (bit_test_cluster::hoist_edge_and_branch_if_true): Add location
4957         argument.
4958         * tree-switch-conversion.cc
4959         (bit_test_cluster::hoist_edge_and_branch_if_true): Annotate
4960         cond with location.
4961         (bit_test_cluster::emit): Annotate all generated expressions
4962         with location.
4964 2022-03-28  Andre Vieira  <andre.simoesdiasvieira@arm.com>
4966         * config/aarch64/aarch64-cores.def: Update Neoverse N2 core entry.
4968 2022-03-28  liuhongt  <hongtao.liu@intel.com>
4970         PR target/105066
4971         * config/i386/sse.md (vec_set<mode>_0): Change attr "isa" of
4972         alternative 4 from sse4_noavx to noavx.
4974 2022-03-28  Jakub Jelinek  <jakub@redhat.com>
4976         PR tree-optimization/105056
4977         * tree-predcom.cc (component::component): Initialize also comp_step.
4979 2022-03-27  H.J. Lu  <hjl.tools@gmail.com>
4981         PR target/105068
4982         * config/i386/sse.md (*ssse3_pshufbv8qi3): Replace "Yv" with
4983         "Yw".
4985 2022-03-26  Roger Sayle  <roger@nextmovesoftware.com>
4987         PR middle-end/104885
4988         * calls.cc (mark_stack_region_used): Check that the region
4989         is within the allocated size of stack_usage_map.
4991 2022-03-26  Jakub Jelinek  <jakub@redhat.com>
4993         PR rtl-optimization/103775
4994         * recog.cc (check_invalid_inc_dec): New function.
4995         (insn_invalid_p): Return 1 if REG_INC operand overlaps
4996         any stored REGs.
4998 2022-03-26  H.J. Lu  <hjl.tools@gmail.com>
5000         PR target/105058
5001         * config/i386/sse.md (loadiwkey): Replace "v" with "x".
5002         (aes<aesklvariant>u8): Likewise.
5004 2022-03-26  H.J. Lu  <hjl.tools@gmail.com>
5006         PR target/105052
5007         * config/i386/sse.md (ssse3_ph<plusminus_mnemonic>wv4hi3):
5008         Replace "Yv" with "x".
5009         (ssse3_ph<plusminus_mnemonic>dv2si3): Likewise.
5010         (ssse3_psign<mode>3): Likewise.
5012 2022-03-26  Hans-Peter Nilsson  <hp@axis.com>
5014         * reload.cc (find_reloads): Align comment with code where
5015         considering the intersection of register classes then tweaking the
5016         regclass for the current alternative or rejecting it.
5018 2022-03-25  Christophe Lyon  <christohe.lyon@arm.com>
5020         PR target/104882
5021         Revert
5022         2021-06-11  Christophe Lyon  <christophe.lyon@linaro.org>
5024         * config/arm/mve.md (mve_vec_unpack<US>_lo_<mode>): Delete.
5025         (mve_vec_unpack<US>_hi_<mode>): Delete.
5026         (@mve_vec_pack_trunc_lo_<mode>): Delete.
5027         (mve_vmovntq_<supf><mode>): Remove '@' prefix.
5028         * config/arm/neon.md (vec_unpack<US>_hi_<mode>): Move back
5029         from vec-common.md.
5030         (vec_unpack<US>_lo_<mode>): Likewise.
5031         (vec_pack_trunc_<mode>): Rename from
5032         neon_quad_vec_pack_trunc_<mode>.
5033         * config/arm/vec-common.md (vec_unpack<US>_hi_<mode>): Delete.
5034         (vec_unpack<US>_lo_<mode>): Delete.
5035         (vec_pack_trunc_<mode>): Delete.
5037 2022-03-25  Vladimir N. Makarov  <vmakarov@redhat.com>
5039         PR middle-end/104971
5040         * lra-lives.cc (process_bb_lives): Check hard_regs_live for hard
5041         regs to clear remove_p flag.
5043 2022-03-25  Richard Biener  <rguenther@suse.de>
5045         PR tree-optimization/105053
5046         * tree-vect-loop.cc (vect_create_epilog_for_reduction): Pick
5047         the correct live-out stmt for a reduction chain.
5049 2022-03-25  Richard Biener  <rguenther@suse.de>
5051         PR middle-end/105049
5052         * tree.cc (uniform_vector_p): Recurse for VECTOR_CST or
5053         CONSTRUCTOR first elements.
5055 2022-03-25  Tobias Burnus  <tobias@codesourcery.com>
5057         PR analyzer/103533
5058         * doc/invoke.texi (Static Analyzer Options): Move
5059         @ignore block after @gccoptlist's '}' for 'make pdf'.
5061 2022-03-25  David Malcolm  <dmalcolm@redhat.com>
5063         PR analyzer/104954
5064         * doc/invoke.texi (Static Analyzer Options): Add
5065         -fdump-analyzer-untracked.
5067 2022-03-25  Avinash Sonawane  <rootkea@gmail.com>
5069         PR analyzer/103533
5070         * doc/invoke.texi: Document that enabling taint analyzer
5071         checker disables some warnings from `-fanalyzer`.
5073 2022-03-24  Alexandre Oliva  <oliva@adacore.com>
5075         PR debug/104564
5076         * gimple-harden-conditionals.cc (detach_value): Keep temps
5077         anonymous.
5079 2022-03-24  Alexandre Oliva  <oliva@adacore.com>
5081         PR middle-end/104975
5082         * gimple-harden-conditionals.cc
5083         (pass_harden_compares::execute): Force split in case of
5084         multiple edges.
5086 2022-03-24  Jakub Jelinek  <jakub@redhat.com>
5088         PR c++/105035
5089         * fold-const.cc (operand_equal_p) <case COMPONENT_REF>: If either
5090         field0 or field1 is not a FIELD_DECL, return false.
5092 2022-03-24  Richard Biener  <rguenther@suse.de>
5094         * tree-predcom.cc (chain::chain): Add CTOR.
5095         (component::component): Likewise.
5096         (pcom_worker::release_chain): Use delete.
5097         (release_components): Likewise.
5098         (pcom_worker::filter_suitable_components): Likewise.
5099         (pcom_worker::split_data_refs_to_components): Use new.
5100         (make_invariant_chain): Likewise.
5101         (make_rooted_chain): Likewise.
5102         (pcom_worker::combine_chains): Likewise.
5103         * tree-vect-loop.cc (vect_create_epilog_for_reduction):
5104         Make sure to release previously constructed scalar_results.
5105         * tree-vect-stmts.cc (vectorizable_load): Use auto_vec
5106         for vec_offsets.
5107         * vr-values.cc (simplify_using_ranges::~simplify_using_ranges):
5108         Release m_flag_set_edges.
5110 2022-03-24  Siddhesh Poyarekar  <siddhesh@gotplt.org>
5112         PR tree-optimization/104970
5113         * tree-object-size.cc (parm_object_size): Restrict size
5114         computation scenarios to explicit access attributes.
5116 2022-03-24  Kewen Lin  <linkw@linux.ibm.com>
5118         PR target/104967
5119         * config/rs6000/rs6000-c.cc (find_instance): Skip instances with null
5120         function types.
5122 2022-03-23  Richard Biener  <rguenther@suse.de>
5124         PR target/102125
5125         * gimple-fold.cc (gimple_fold_builtin_memory_op): Allow the
5126         use of movmisalign when either the source or destination
5127         decl is properly aligned.
5129 2022-03-23  Richard Biener  <rguenther@suse.de>
5131         PR rtl-optimization/105028
5132         * ira-color.cc (form_threads_from_copies): Remove unnecessary
5133         copying of the sorted_copies tail.
5135 2022-03-23  Martin Liska  <mliska@suse.cz>
5137         * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
5138         Use %qs in format.
5139         * config/rs6000/rs6000.cc (rs6000_option_override_internal):
5140         Reword the error message.
5142 2022-03-23  liuhongt  <hongtao.liu@intel.com>
5144         PR target/104976
5145         * config/i386/sse.md (ssePSmodelower): New.
5146         (*avx_cmp<mode>3_ltint_not): Force_reg operand before
5147         lowpart_subreg to avoid NULL_RTX.
5148         (<avx512>_fmaddc_<mode>_mask1<round_expand_name>,
5149         <avx512>_fcmaddc_<mode>_mask1<round_expand_name>,
5150         fma_<mode>_fmaddc_bcst, fma_<mode>_fcmaddc_bcst,
5151         <avx512>_<complexopname>_<mode>_mask<round_name>,
5152         avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name>,
5153         avx512fp16_fcmaddcsh_v8hf_mask3<round_expand_name>,
5154         avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
5155         avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
5156         float<floatunssuffix><mode>v4hf2,
5157         float<floatunssuffix>v2div2hf2,
5158         fix<fixunssuffix>_truncv4hf<mode>2,
5159         fix<fixunssuffix>_truncv2hfv2di2, extendv4hf<mode>2,
5160         extendv2hfv2df2,
5161         trunc<mode>v4hf2,truncv2dfv2hf2,
5162         *avx512bw_permvar_truncv16siv16hi_1,
5163         *avx512bw_permvar_truncv16siv16hi_1_hf,
5164         *avx512f_permvar_truncv8siv8hi_1,
5165         *avx512f_permvar_truncv8siv8hi_1_hf,
5166         *avx512f_vpermvar_truncv8div8si_1,
5167         *avx512f_permvar_truncv32hiv32qi_1,
5168         *avx512f_permvar_truncv16hiv16qi_1,
5169         *avx512f_permvar_truncv4div4si_1,
5170         *avx512f_pshufb_truncv8hiv8qi_1,
5171         *avx512f_pshufb_truncv4siv4hi_1,
5172         *avx512f_pshufd_truncv2div2si_1,
5173         sdot_prod<mode>, avx2_pblend<ssemodesuffix>_1,
5174         ashrv2di3,ashrv2di3,usdot_prod<mode>): Ditto.
5176 2022-03-22  Tom de Vries  <tdevries@suse.de>
5178         PR target/104925
5179         * config/nvptx/nvptx.md (define_insn "nvptx_uniform_warp_check"):
5180         Use % as register prefix.
5182 2022-03-22  Tom de Vries  <tdevries@suse.de>
5184         * config/nvptx/nvptx.cc (nvptx_scalar_mode_supported_p)
5185         (nvptx_libgcc_floating_mode_supported_p): Only enable HFmode for
5186         mexperimental.
5188 2022-03-22  Tom de Vries  <tdevries@suse.de>
5190         * config/nvptx/nvptx.opt (mexperimental): New option.
5192 2022-03-22  Tom de Vries  <tdevries@suse.de>
5194         PR target/104957
5195         * config/nvptx/nvptx-protos.h (nvptx_asm_output_def_from_decls): Declare.
5196         * config/nvptx/nvptx.cc (write_fn_proto_1): Don't add function marker
5197         for alias.
5198         (SET_ASM_OP, NVPTX_ASM_OUTPUT_DEF): New macro def.
5199         (nvptx_asm_output_def_from_decls): New function.
5200         * config/nvptx/nvptx.h (ASM_OUTPUT_DEF): New macro def, define to
5201         gcc_unreachable ().
5202         (ASM_OUTPUT_DEF_FROM_DECLS): New macro def, define to
5203         nvptx_asm_output_def_from_decls.
5204         * config/nvptx/nvptx.opt (malias): New opt.
5206 2022-03-22  Tom de Vries  <tdevries@suse.de>
5208         PR target/104916
5209         PR target/104783
5210         * config/nvptx/nvptx.md (define_expand "omp_simt_exit"): Emit warp
5211         sync (or uniform warp check for mptx < 6.0).
5213 2022-03-22  Richard Biener  <rguenther@suse.de>
5215         PR tree-optimization/105012
5216         * tree-if-conv.cc (ifcvt_local_dce): Only call
5217         dse_classify_store when we have a VDEF.
5219 2022-03-22  Martin Liska  <mliska@suse.cz>
5221         PR target/104902
5222         * config/nvptx/nvptx.cc (handle_ptx_version_option):
5223         Fix option wrapping in an error message.
5225 2022-03-22  Martin Liska  <mliska@suse.cz>
5227         PR target/104903
5228         * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
5229         Wrap const keyword.
5231 2022-03-22  Martin Liska  <mliska@suse.cz>
5233         * config/v850/v850-c.cc (pop_data_area): Fix typo in pragma
5234         name.
5236 2022-03-22  Martin Liska  <mliska@suse.cz>
5238         PR target/104898
5239         * config/rs6000/rs6000.cc (rs6000_option_override_internal):
5240         Use %qs instead of (%qs).
5242 2022-03-22  Martin Liska  <mliska@suse.cz>
5244         PR target/104898
5245         * config/i386/i386-options.cc (ix86_option_override_internal):
5246           Use '%qs' instead of '(%qs)'.
5248 2022-03-22  Martin Liska  <mliska@suse.cz>
5250         PR target/104898
5251         * config/aarch64/aarch64.cc (aarch64_handle_attr_arch):
5252         Use 'qs' and remove usage '(%qs)'.
5253         (aarch64_handle_attr_cpu): Likewise.
5254         (aarch64_handle_attr_tune): Likewise.
5255         (aarch64_handle_attr_isa_flags): Likewise.
5257 2022-03-22  Tamar Christina  <tamar.christina@arm.com>
5258             Andre Vieira  <andre.simoesdiasvieira@arm.com>
5260         * config/aarch64/aarch64.cc (neoversev1_regmove_cost): New tuning
5261         struct.
5262         (neoversev1_tunings): Use neoversev1_regmove_cost and update store_int
5263         cost.
5264         (neoverse512tvb_tunings): Likewise.
5266 2022-03-22  Tamar Christina  <tamar.christina@arm.com>
5267             Andre Vieira  <andre.simoesdiasvieira@arm.com>
5269         * config/aarch64/aarch64.cc (demeter_addrcost_table,
5270         demeter_regmove_cost, demeter_advsimd_vector_cost,
5271         demeter_sve_vector_cost, demeter_scalar_issue_info,
5272         demeter_advsimd_issue_info, demeter_sve_issue_info,
5273         demeter_vec_issue_info, demeter_vector_cost,
5274         demeter_tunings): New tuning structs.
5275         (aarch64_ve_op_count::rename_cycles_per_iter): Enable for demeter
5276         tuning.
5277         * config/aarch64/aarch64-cores.def: Add entry for demeter.
5278         * config/aarch64/aarch64-tune.md (tune): Add demeter to list.
5280 2022-03-22  Tamar Christina  <tamar.christina@arm.com>
5281             Andre Vieira  <andre.simoesdiasvieira@arm.com>
5283         * config/aarch64/aarch64-protos.h (struct cpu_memmov_cost): New struct.
5284         (struct tune_params): Change type of memmov_cost to use cpu_memmov_cost.
5285         * config/aarch64/aarch64.cc (aarch64_memory_move_cost): Update all
5286         tunings to use cpu_memmov_cost struct.
5288 2022-03-22  Tamar Christina  <tamar.christina@arm.com>
5289             Andre Vieira  <andre.simoesdiasvieira@arm.com>
5291         * config/aarch64/aarch64.cc (neoversen2_addrcost_table,
5292         neoversen2_regmove_cost, neoversen2_advsimd_vector_cost,
5293         neoversen2_sve_vector_cost, neoversen2_scalar_issue_info,
5294         neoversen2_advsimd_issue_info, neoversen2_sve_issue_info,
5295         neoversen2_vec_issue_info, neoversen2_tunings): New structs.
5296         (neoversen2_tunings): Use new structs and update tuning flags.
5297         (aarch64_vec_op_count::rename_cycles_per_iter): Enable for neoversen2
5298         tuning.
5300 2022-03-22  Andre Vieira  <andre.simoesdiasvieira@arm.com>
5302         * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH9): Add FP16 feature
5303         bit.
5305 2022-03-22  liuhongt  <hongtao.liu@intel.com>
5307         PR target/104982
5308         * config/i386/i386.md (*jcc_bt<mode>_mask): Extend the
5309         following splitter to reversed condition.
5311 2022-03-22  Jakub Jelinek  <jakub@redhat.com>
5313         PR rtl-optimization/104989
5314         * calls.cc (expand_call): Don't set ECF_NORETURN in flags after
5315         sorry for passing too large argument, instead set sibcall_failure
5316         for pass == 0, or a new normal_failure flag otherwise.  If
5317         normal_failure is set, don't assert all stack has been deallocated
5318         at the end and throw away the whole insn sequence.
5320 2022-03-22  Qian Jianhua  <qianjh@cn.fujitsu.com>
5322         * print-tree.cc: Change array length
5324 2022-03-22  Hongyu Wang  <hongyu.wang@intel.com>
5326         PR target/104978
5327         * config/i386/sse.md
5328         (avx512fp16_fmaddcsh_v8hf_mask1<round_expand_name):
5329         Use avx512f_movsf_mask instead of vmovaps or vblend, and
5330         force_reg before lowpart_subreg.
5331         (avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name): Likewise.
5333 2022-03-21  H.J. Lu  <hjl.tools@gmail.com>
5335         PR target/105000
5336         * common/config/i386/i386-common.cc
5337         (OPTION_MASK_ISA2_GENERAL_REGS_ONLY_UNSET): Replace
5338         OPTION_MASK_ISA2_AVX512F_UNSET with OPTION_MASK_ISA2_SSE_UNSET.
5340 2022-03-21  H.J. Lu  <hjl.tools@gmail.com>
5342         PR target/104998
5343         * common/config/i386/cpuinfo.h (get_available_features): Pass
5344         0x19 to __cpuid for bit_AESKLE.  Enable FEATURE_AESKLE only if
5345         bit_AESKLE is set.
5347 2022-03-21  Richard Sandiford  <richard.sandiford@arm.com>
5349         PR middle-end/104869
5350         * rtl-ssa/accesses.h (clobber_group::prev_clobber): Declare.
5351         (clobber_group::next_clobber): Likewise.
5352         (def_lookup::prev_def): Rename to...
5353         (def_lookup::last_def_of_prev_group): ...this.
5354         (def_lookup::next_def): Rename to...
5355         (def_lookup::first_def_of_next_group): ...this.
5356         (def_lookup::matching_or_prev_def): Rename to...
5357         (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
5358         (def_lookup::matching_or_next_def): Rename to...
5359         (def_lookup::matching_set_or_first_def_of_next_group): ...this.
5360         (def_lookup::prev_def): New function, taking the lookup insn as
5361         argument.
5362         (def_lookup::next_def): Likewise.
5363         * rtl-ssa/member-fns.inl (def_lookup::prev_def): Rename to...
5364         (def_lookup::last_def_of_prev_group): ...this.
5365         (def_lookup::next_def): Rename to...
5366         (def_lookup::first_def_of_next_group): ...this.
5367         (def_lookup::matching_or_prev_def): Rename to...
5368         (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
5369         (def_lookup::matching_or_next_def): Rename to...
5370         (def_lookup::matching_set_or_first_def_of_next_group): ...this.
5371         * rtl-ssa/movement.h (restrict_movement_for_dead_range): Update after
5372         above renaming.
5373         * rtl-ssa/accesses.cc (clobber_group::prev_clobber): New function.
5374         (clobber_group::next_clobber): Likewise.
5375         (def_lookup::prev_def): Likewise.
5376         (def_lookup::next_def): Likewise.
5377         (function_info::make_use_available): Pass the lookup insn to
5378         def_lookup::prev_def and def_lookup::next_def.
5380 2022-03-21  Martin Liska  <mliska@suse.cz>
5382         * doc/invoke.texi: Document min-pagesize parameter.
5384 2022-03-21  Richard Biener  <rguenther@suse.de>
5386         * tree-ssa-loop-niter.cc (estimate_numbers_of_iterations): Dump
5387         we are estimating niter of loop.
5389 2022-03-21  Kito Cheng  <kito.cheng@sifive.com>
5391         * common/config/riscv/riscv-common.cc (riscv_ext_flag_table):
5392         Update flag name and mask name.
5393         * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Define
5394         misc macro for vector extensions.
5395         * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): Rename to ...
5396         (MASK_VECTOR_ELEN_32): ... this.
5397         (MASK_VECTOR_EEW_64): Rename to ...
5398         (MASK_VECTOR_ELEN_64): ... this.
5399         (MASK_VECTOR_EEW_FP_32): Rename to ...
5400         (MASK_VECTOR_ELEN_FP_32): ... this.
5401         (MASK_VECTOR_EEW_FP_64): Rename to ...
5402         (MASK_VECTOR_ELEN_FP_64): ... this.
5403         (TARGET_VECTOR_ELEN_32): New.
5404         (TARGET_VECTOR_ELEN_64): Ditto.
5405         (TARGET_VECTOR_ELEN_FP_32): Ditto.
5406         (TARGET_VECTOR_ELEN_FP_64): Ditto.
5407         (TARGET_MIN_VLEN): Ditto.
5408         * config/riscv/riscv.opt (riscv_vector_eew_flags): Rename to ...
5409         (riscv_vector_elen_flags): ... this.
5411 2022-03-21  Hongyu Wang  <hongyu.wang@intel.com>
5413         PR target/104977
5414         * config/i386/sse.md
5415         (avx512fp16_fma<complexopname>sh_v8hf<mask_scalarcz_name><round_scalarcz_name>):
5416         Correct round operand for intel dialect.
5418 2022-03-19  Arthur Cohen  <arthur.cohen@embecosm.com>
5420         * diagnostic.cc (diagnostic_cc_tests): Rename to...
5421         (c_diagnostic_cc_tests): ...this.
5422         * opt-problem.cc (opt_problem_cc_tests): Rename to...
5423         (c_opt_problem_cc_tests): ...this.
5424         * selftest-run-tests.cc (selftest::run_tests): No longer run
5425         opt_problem_cc_tests or diagnostic_cc_tests.
5426         * selftest.h (diagnostic_cc_tests): Remove declaration.
5427         (opt_problem_cc_tests): Likewise.
5429 2022-03-19  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>
5431         PR jit/63854
5432         * hash-traits.h (struct typed_const_free_remove): New.
5433         (struct free_string_hash): New.
5434         * pass_manager.h: Use free_string_hash.
5435         * passes.cc (pass_manager::register_pass_name): Use free_string_hash.
5436         (pass_manager::~pass_manager): Delete allocated m_name_to_pass_map.
5438 2022-03-19  Jakub Jelinek  <jakub@redhat.com>
5440         PR middle-end/104971
5441         * config/i386/i386-expand.cc
5442         (ix86_expand_builtin) <case IX86_BUILTIN_READ_FLAGS>: If ignore,
5443         don't push/pop anything and just return const0_rtx.
5445 2022-03-18  Vladimir N. Makarov  <vmakarov@redhat.com>
5447         PR rtl-optimization/104961
5448         * lra-assigns.cc (find_reload_regno_insns): Process reload pseudo clobber.
5450 2022-03-18  Jason Merrill  <jason@redhat.com>
5452         * tree.h (IDENTIFIER_LENGTH): Add comment.
5454 2022-03-18  Jakub Jelinek  <jakub@redhat.com>
5456         PR middle-end/99578
5457         PR middle-end/100680
5458         PR tree-optimization/100834
5459         * params.opt (--param=min-pagesize=): New parameter.
5460         * pointer-query.cc
5461         (compute_objsize_r) <case ARRAY_REF>: Formatting fix.
5462         (compute_objsize_r) <case INTEGER_CST>: Use maximum object size instead
5463         of zero for pointer constants equal or larger than min-pagesize.
5465 2022-03-18  Tom de Vries  <tdevries@suse.de>
5467         * gimplify.cc (gimplify_omp_for): Set location using 'input_location'.
5468         Set gfor location only when dealing with a OMP_TASKLOOP.
5470 2022-03-18  Tom de Vries  <tdevries@suse.de>
5472         * gimplify.cc (gimplify_omp_for): Set taskloop location.
5474 2022-03-18  Tom de Vries  <tdevries@suse.de>
5476         PR target/104952
5477         * omp-low.cc (lower_rec_input_clauses): Make sure GOMP_SIMT_XCHG_BFLY
5478         is executed unconditionally.
5480 2022-03-18  liuhongt  <hongtao.liu@intel.com>
5482         PR target/104974
5483         * config/i386/i386.md (*movhi_internal): Set attr type from HI
5484         to HF for alternative 12 under TARGET_AVX512FP16.
5486 2022-03-18  Cui,Lili  <lili.cui@intel.com>
5488         PR target/104963
5489         * config/i386/i386.h (PTA_SAPPHIRERAPIDS): change it to base on ICX.
5490         * doc/invoke.texi: Update documents for Intel sapphirerapids.
5492 2022-03-17  Roger Sayle  <roger@nextmovesoftware.com>
5494         PR target/86722
5495         PR tree-optimization/90356
5496         * config/i386/i386.md (*movtf_internal): Don't guard
5497         standard_sse_constant_p clause by optimize_function_for_size_p.
5498         (*movdf_internal): Likewise.
5499         (*movsf_internal): Likewise.
5501 2022-03-17  Andrew MacLeod  <amacleod@redhat.com>
5503         PR tree-optimization/102943
5504         * gimple-range-cache.cc (ranger_cache::range_from_dom): Find range via
5505         dominators and apply intermediary outgoing edge ranges.
5507 2022-03-17  Richard Biener  <rguenther@suse.de>
5509         PR tree-optimization/104960
5510         * passes.def: Add pass parameter to pass_sink_code, mark
5511         last one to unsplit edges.
5512         * tree-ssa-sink.cc (pass_sink_code::set_pass_param): New.
5513         (pass_sink_code::execute): Always execute TODO_cleanup_cfg
5514         when we need to unsplit edges.
5516 2022-03-17  Jakub Jelinek  <jakub@redhat.com>
5518         PR middle-end/103984
5519         * gimplify.cc (gimplify_target_expr): Gimplify type sizes and
5520         TARGET_EXPR_INITIAL into a temporary sequence, then push clobbers
5521         and asan unpoisioning, then append the temporary sequence and
5522         finally the TARGET_EXPR_CLEANUP clobbers.
5524 2022-03-16  Roger Sayle  <roger@nextmovesoftware.com>
5526         * config/i386/sse.md: Delete corrupt character/typo.
5528 2022-03-16  Roger Sayle  <roger@nextmovesoftware.com>
5530         PR target/94680
5531         * config/i386/sse.md (sse2_movq128): New define_expand to
5532         preserve previous named instruction.
5533         (*sse2_movq128_<mode>): Renamed from sse2_movq128, and
5534         generalized to VI8F_128 (both V2DI and V2DF).
5536 2022-03-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
5538         PR tree-optimization/104941
5539         * tree-object-size.cc (size_for_offset): Make useless conversion
5540         check lighter and assign result of fold_convert to OFFSET.
5542 2022-03-16  H.J. Lu  <hjl.tools@gmail.com>
5544         PR target/104890
5545         * config/i386/x86gprintrin.h: Also check _SOFT_FLOAT before
5546         pushing target("general-regs-only").
5548 2022-03-16  Kito Cheng  <kito.cheng@sifive.com>
5550         * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
5551         Add version info for zk, zks and zkn.
5553 2022-03-16  LiaoShihua  <shihua@iscas.ac.cn>
5555         * common/config/riscv/riscv-common.cc
5556         (riscv_combine_info): New.
5557         (riscv_subset_list::handle_combine_ext): Combine back into zk to
5558         maintain the canonical order in isa strings.
5559         (riscv_subset_list::parse): Ditto.
5560         * config/riscv/riscv-subset.h (handle_combine_ext): New.
5562 2022-03-16  Richard Biener  <rguenther@suse.de>
5564         PR tree-optimization/102008
5565         * passes.def: Move the added code sinking pass before the
5566         preceeding phiopt pass.
5568 2022-03-16  Patrick Palka  <ppalka@redhat.com>
5570         PR c++/96780
5571         * doc/invoke.texi (C++ Dialect Options): Document
5572         -ffold-simple-inlines.
5574 2022-03-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
5576         PR tree-optimization/104942
5577         * tree-object-size.cc (alloc_object_size): Remove STRIP_NOPS.
5579 2022-03-16  Jakub Jelinek  <jakub@redhat.com>
5581         PR target/104910
5582         * config/aarch64/aarch64.cc (aarch64_load_symref_appropriately): Copy
5583         imm rtx.
5585 2022-03-16  Roger Sayle  <roger@nextmovesoftware.com>
5586             Richard Biener  <rguenther@suse.de>
5588         * gimple-match-head.cc (single_use): Implement inline using a
5589         single loop.
5591 2022-03-16  Roger Sayle  <roger@nextmovesoftware.com>
5593         * match.pd (X CMP X -> true): Test tree_expr_maybe_nan_p
5594         instead of HONOR_NANS.
5595         (X LTGT X -> false): Enable if X is not tree_expr_maybe_nan_p, as
5596         this can't trap/signal.
5598 2022-03-16  liuhongt  <hongtao.liu@intel.com>
5600         PR target/104946
5601         * config/i386/i386-builtin.def (BDESC): Add
5602         CODE_FOR_sse4_1_blendvpd for IX86_BUILTIN_BLENDVPD.
5603         * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
5604         __builtin_ia32_blendvpd w/o sse4.2
5606 2022-03-15  Peter Bergner  <bergner@linux.ibm.com>
5608         PR target/104923
5609         * config/rs6000/predicates.md (mma_disassemble_output_operand): Restrict
5610         acceptable MEM addresses.
5612 2022-03-15  Jakub Jelinek  <jakub@redhat.com>
5614         PR target/91229
5615         * config/riscv/riscv.cc (riscv_pass_aggregate_in_fpr_pair_p,
5616         riscv_pass_aggregate_in_fpr_and_gpr_p): Pass OPT_Wpsabi instead of 0
5617         to warning calls.
5619 2022-03-15  Jakub Jelinek  <jakub@redhat.com>
5621         PR target/104890
5622         * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Use no-mmx,no-sse
5623         instead of general-regs-only.
5625 2022-03-15  Roger Sayle  <roger@nextmovesoftware.com>
5626             Marc Glisse  <marc.glisse@inria.fr>
5627             Richard Biener  <rguenther@suse.de>
5629         PR tree-optimization/101895
5630         * match.pd (vec_same_elem_p): Handle CONSTRUCTOR_EXPR def.
5631         (plus (vec_perm (mult ...) ...) ...): New reordering simplification.
5633 2022-03-15  Jakub Jelinek  <jakub@redhat.com>
5635         PR rtl-optimization/104814
5636         * ifcvt.cc (find_if_case_1, find_if_case_2): Punt if test_bb doesn't
5637         end with onlyjump_p.  Assume BB_END (test_bb) is always non-NULL.
5639 2022-03-15  Martin Sebor  <msebor@redhat.com>
5641         PR middle-end/104436
5642         * gimple-ssa-warn-access.cc (pass_waccess::check_dangling_stores):
5643         Check for warning suppression.  Avoid by-value arguments transformed
5644         into by-transparent-reference.
5646 2022-03-14  Roger Sayle  <roger@nextmovesoftware.com>
5647             Uroš Bizjak  <ubizjak@gmail.com>
5649         * config/i386/i386.md (peephole2 xorl;movb -> movzbl): Disable
5650         transformation when *zero_extend<mode>si2 is not available.
5652 2022-03-14  Xi Ruoyao  <xry111@mengyan1223.wang>
5654         * config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Define.
5655         * config/mips/mips.cc (mips_option_override): Make
5656         -fsanitize=address imply -fasynchronous-unwind-tables.  This is
5657         needed by libasan for stack backtrace on MIPS.
5658         (mips_asan_shadow_offset): Return SUBTARGET_SHADOW_OFFSET.
5660 2022-03-14  Jakub Jelinek  <jakub@redhat.com>
5662         PR debug/104778
5663         * lra.cc (lra_substitute_pseudo): For debug_p mode, simplify
5664         SUBREG, ZERO_EXTEND, SIGN_EXTEND, FLOAT or UNSIGNED_FLOAT if recursive
5665         call simplified the first operand into VOIDmode constant.
5667 2022-03-14  Jakub Jelinek  <jakub@redhat.com>
5669         PR tree-optimization/102586
5670         * doc/extend.texi (__builtin_clear_padding): Clearify that for C++
5671         argument type should be pointer to trivially-copyable type unless it
5672         is address of a variable or parameter.
5674 2022-03-14  Jakub Jelinek  <jakub@redhat.com>
5676         PR target/99754
5677         * config/i386/emmintrin.h (_mm_loadu_si32): Put loaded value into
5678         first   rather than last element of the vector, use __m32_u to do
5679         a really unaligned load, use just 0 instead of (int)0.
5680         (_mm_loadu_si16): Put loaded value into first rather than last
5681         element of the vector, use __m16_u to do a really unaligned load,
5682         use just 0 instead of (short)0.
5684 2022-03-14  Jakub Jelinek  <jakub@redhat.com>
5686         PR other/104899
5687         * config/bfin/bfin.cc (bfin_handle_longcall_attribute): Fix a typo
5688         in diagnostic message - cannott -> cannot.  Use %< and %> around
5689         names of attribute.  Avoid too long line.
5690         * range-op.cc (operator_logical_and::op1_range): Fix up a typo
5691         in comment - cannott -> cannot.  Use 2 spaces after . instead of one.
5693 2022-03-14  liuhongt  <hongtao.liu@intel.com>
5695         PR target/104666
5696         * config/i386/i386-expand.cc
5697         (ix86_check_builtin_isa_match): New func.
5698         (ix86_expand_builtin): Move code to
5699         ix86_check_builtin_isa_match and call it.
5700         * config/i386/i386-protos.h
5701         (ix86_check_builtin_isa_match): Declare.
5702         * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
5703         builtin into gimple when isa mismatches.
5705 2022-03-13  Tobias Burnus  <tobias@codesourcery.com>
5707         * doc/invoke.texi: Fix typos.
5708         * doc/tm.texi.in: Remove duplicated word.
5709         * doc/tm.texi: Regenerate.
5711 2022-03-12  Segher Boessenkool  <segher@kernel.crashing.org>
5713         PR target/104829
5714         * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Don't output
5715         "ppc" and "ppc64" based on rs6000_cpu.
5717 2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
5719         PR middle-end/100280
5720         PR middle-end/104892
5721         * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
5722         Remove special handling of 'GOMP_MAP_FORCE_TOFROM'.
5724 2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
5726         PR middle-end/100280
5727         PR middle-end/104086
5728         * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
5729         Mark variables used in 'present' clauses as addressable.
5730         * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Gracefully
5731         handle duplicate 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
5733 2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
5735         PR other/65095
5736         * tree-core.h (user_omp_claus_code_name): Declare function.
5737         * tree.cc (user_omp_clause_code_name): New function.
5739 2022-03-12  Roger Sayle  <roger@nextmovesoftware.com>
5741         PR middle-end/98420
5742         * match.pd (minus @0 @0): Additional checks for -fno-rounding-math
5743         (the defaut) or -fno-signed-zeros.
5745 2022-03-12   Michael Meissner  <meissner@linux.ibm.com>
5747         PR target/104868
5748         * config/rs6000/vsx.md (extendditi2): Use a 'b' constraint when
5749         moving from a GPR register to an Altivec register.
5751 2022-03-11  Roger Sayle  <roger@nextmovesoftware.com>
5753         PR tree-optimization/98335
5754         * config/i386/i386.md (peephole2): Eliminate redundant insv.
5755         Combine movl followed by movb.  Transform xorl followed by
5756         a suitable movb or movw into the equivalent movz[bw]l.
5758 2022-03-11  Roger Sayle  <roger@nextmovesoftware.com>
5759             Richard Biener  <rguenther@suse.de>
5761         PR tree-optimization/98335
5762         * builtins.cc (get_object_alignment_2): Export.
5763         * builtins.h (get_object_alignment_2): Likewise.
5764         * tree-ssa-alias.cc (ao_ref_alignment): New.
5765         * tree-ssa-alias.h (ao_ref_alignment): Declare.
5766         * tree-ssa-dse.cc (compute_trims): Improve logic deciding whether
5767         to align head/tail, writing more bytes but using fewer store insns.
5769 2022-03-11  Richard Biener  <rguenther@suse.de>
5771         PR tree-optimization/104880
5772         * tree-ssa.cc (execute_update_address_taken): Remember if we
5773         optimistically made something not addressable and
5774         prepare to undo it.
5776 2022-03-11  Richard Biener  <rguenther@suse.de>
5778         PR target/104762
5779         * config/i386/i386.cc (ix86_builtin_vectorization_cost): Do not
5780         cost the first lane of SSE pieces as inserts for vec_construct.
5782 2022-03-10  Roger Sayle  <roger@nextmovesoftware.com>
5784         PR c++/84964
5785         * calls.cc (expand_call): Ignore stack adjustments after sorry.
5787 2022-03-10  Vladimir N. Makarov  <vmakarov@redhat.com>
5789         PR target/103074
5790         * lra-constraints.cc (split_reg): Set up
5791         check_and_force_assignment_correctness_p when splitting hard
5792         register live range.
5794 2022-03-10  Martin Jambor  <mjambor@suse.cz>
5796         PR ipa/104813
5797         * ipa-cp.cc (create_specialized_node): Move removal of
5798         self-recursive calls from callers vector before refrence
5799         adjustments.
5801 2022-03-10  Richard Biener  <rguenther@suse.de>
5803         PR tree-optimization/102943
5804         * gimple-range-cache.cc (sbr_sparse_bitmap::bitvec):
5805         Make a bitmap_head.
5806         (sbr_sparse_bitmap::sbr_sparse_bitmap): Adjust and switch
5807         to tree view.
5808         (sbr_sparse_bitmap::set_bb_range): Adjust.
5809         (sbr_sparse_bitmap::get_bb_range): Likewise.
5811 2022-03-10  Richard Biener  <rguenther@suse.de>
5813         PR tree-optimization/102943
5814         * tree-ssa-dom.cc (back_propagate_equivalences): Only
5815         populate the dominance bitmap if fast queries are not
5816         available.  Use a tree view bitmap.
5817         (record_temporary_equivalences): Cache the dominance bitmap
5818         across all equivalences on the edge.
5820 2022-03-10  Tom de Vries  <tdevries@suse.de>
5822         PR target/104840
5823         * config/nvptx/nvptx.md (define_attr "predicable"): Use no,yes instead
5824         of false,true.
5826 2022-03-10  Tom de Vries  <tdevries@suse.de>
5828         PR target/104783
5829         * config/nvptx/nvptx.cc (nvptx_init_unisimt_predicate)
5830         (nvptx_output_unisimt_switch): Handle unisimt_outside_simt_predicate.
5831         (nvptx_get_unisimt_outside_simt_predicate): New function.
5832         (predicate_insn): New function, factored out of ...
5833         (nvptx_reorg_uniform_simt): ... here.  Predicate all emitted insns.
5834         * config/nvptx/nvptx.h (struct machine_function): Add
5835         unisimt_outside_simt_predicate field.
5836         * config/nvptx/nvptx.md (define_insn "nvptx_warpsync")
5837         (define_insn "nvptx_uniform_warp_check"): Make predicable.
5839 2022-03-10  Tom de Vries  <tdevries@suse.de>
5841         * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Handle unused
5842         result.
5844 2022-03-10  Tom de Vries  <tdevries@suse.de>
5846         PR target/104815
5847         * config/nvptx/nvptx.cc (nvptx_print_operand): Handle 'x' operand
5848         modifier.
5849         * config/nvptx/nvptx.md: Use %x0 destination operand in atom insns.
5851 2022-03-10  Tom de Vries  <tdevries@suse.de>
5853         * config/nvptx/nvptx.md (define_insn "atomic_fetch_<logic><mode>"):
5854         Emit atom.and.b64 instead of atom.b64.and.
5856 2022-03-10  Tom de Vries  <tdevries@suse.de>
5858         * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Move mptx=3.1 ...
5859         (MULTILIB_OPTIONS): ... here.
5861 2022-03-10  Tom de Vries  <tdevries@suse.de>
5863         PR target/104758
5864         * config/nvptx/nvptx.opt (misa): Set default to sm_30.
5865         * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Remove misa=sm_30.
5867 2022-03-10  Thomas Schwinge  <thomas@codesourcery.com>
5869         PR middle-end/90115
5870         PR middle-end/102330
5871         PR middle-end/104774
5872         * omp-low.cc (oacc_privatization_candidate_p)
5873         (oacc_privatization_scan_clause_chain)
5874         (oacc_privatization_scan_decl_chain, lower_oacc_private_marker):
5875         Analyze 'lookup_decl'-translated DECL.
5877 2022-03-10  Jakub Jelinek  <jakub@redhat.com>
5879         PR target/99708
5880         * config/rs6000/rs6000.h (enum rs6000_builtin_type_index): Remove
5881         RS6000_BTI_ptr_ieee128_float and RS6000_BTI_ptr_ibm128_float.
5882         (ptr_ieee128_float_type_node, ptr_ibm128_float_type_node): Remove.
5883         * config/rs6000/rs6000-builtin.cc (rs6000_type_string): Return
5884         "**NULL**" if type_node is NULL first.  Handle
5885         ieee128_float_type_node.
5886         (rs6000_init_builtins): Don't initialize ptr_ieee128_float_type_node
5887         and ptr_ibm128_float_type_node.  Set ibm128_float_type_node and
5888         ieee128_float_type_node to NULL rather than long_double_type_node if
5889         they aren't supported.  Do support __ibm128 even if
5890         !TARGET_FLOAT128_TYPE when long double is double double.
5891         (rs6000_expand_builtin): Error if bif_is_ibm128 and
5892         !ibm128_float_type_node.  Remap RS6000_BIF_{,UN}PACK_IF to
5893         RS6000_BIF_{,UN}PACK_TF much earlier and only use bif_is_ibm128 check
5894         for it.
5895         * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Define
5896         __SIZEOF_FLOAT128__ here and only iff __float128 macro is defined.
5897         (rs6000_cpu_cpp_builtins): Don't define __SIZEOF_FLOAT128__ here.
5898         Define __SIZEOF_IBM128__=16 if ieee128_float_type_node is non-NULL.
5899         Formatting fix.
5900         * config/rs6000/rs6000-gen-builtins.cc: Document ibm128 attribute.
5901         (struct attrinfo): Add isibm128 member.
5902         (TYPE_MAP_SIZE): Remove.
5903         (type_map): Use [] instead of [TYPE_MAP_SIZE].  For "if" use
5904         ibm128_float_type_node only if it is non-NULL, otherwise fall back
5905         to long_double_type_node.  Remove "pif" entry.
5906         (parse_bif_attrs): Handle ibm128 attribute and print it for debugging.
5907         (write_decls): Output bif_ibm128_bit and bif_is_ibm128.
5908         (write_type_node): Use sizeof type_map / sizeof type_map[0]
5909         instead of TYPE_MAP_SIZE.
5910         (write_bif_static_init): Handle isibm128.
5911         * config/rs6000/rs6000-builtins.def: Document ibm128 attribute.
5912         (__builtin_pack_ibm128, __builtin_unpack_ibm128): Add ibm128
5913         attribute.
5915 2022-03-09  Richard Biener  <rguenther@suse.de>
5917         * cfgexpand.cc (expand_gimple_asm): Special-case MEM_REF
5918         with non-decl operand, avoiding a copy.
5920 2022-03-09  Jakub Jelinek  <jakub@redhat.com>
5922         PR target/104781
5923         * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Define for ia32.
5925 2022-03-09  Richard Biener  <rguenther@suse.de>
5927         PR middle-end/104786
5928         * cfgexpand.cc (expand_asm_stmt): Do not generate a copy
5929         for VLAs without an upper size bound.
5931 2022-03-09  Xi Ruoyao  <xry111@mengyan1223.wang>
5933         PR tree-optimization/104851
5934         * optabs-query.cc (supports_vec_convert_optab_p): Fix off-by-one
5935         error.
5937 2022-03-09  Jakub Jelinek  <jakub@redhat.com>
5939         PR c/104711
5940         * doc/invoke.texi (-Wextra): Document that -Wshift-negative-value
5941         is enabled by it only for C++11 to C++17 rather than for C++03 or
5942         later.
5943         (-Wshift-negative-value): Similarly (except here we stated
5944         that it is enabled for C++11 or later).
5946 2022-03-09  Jakub Jelinek  <jakub@redhat.com>
5948         PR rtl-optimization/104839
5949         * simplify-rtx.cc (simplify_unary_operation_1) <case SIGN_EXTEND>:
5950         Use SRP_SIGNED instead of incorrect 1 in SUBREG_PROMOTED_SET.
5951         (simplify_unary_operation_1) <case ZERO_EXTEND>: Use SRP_UNSIGNED
5952         instead of incorrect 0 in SUBREG_PROMOTED_SET.
5954 2022-03-09  Xi Ruoyao  <xry111@mengyan1223.wang>
5956         PR target/104842
5957         * config/mips/mips.h (LUI_OPERAND): Cast the input to an unsigned
5958         value before adding an offset.
5960 2022-03-08  Christophe Lyon  <christophe.lyon@arm.com>
5962         * config/arm/arm-builtins.cc
5963         (arm_binop_none_none_unone_qualifiers): Delete.
5964         (BINOP_NONE_NONE_UNONE_QUALIFIERS): Delete.
5966 2022-03-08  Iain Sandoe  <iain@sandoe.co.uk>
5968         PR translation/104552
5969         * config/host-darwin.cc (darwin_gt_pch_get_address): Amend
5970         the PCH out of memory error message punctuation and wording.
5972 2022-03-08  Marek Polacek  <polacek@redhat.com>
5974         PR rtl-optimization/104777
5975         * rtl.cc (classify_insn): For ASM_OPERANDS, return JUMP_INSN only if
5976         ASM_OPERANDS_LABEL_VEC has at least one element.
5978 2022-03-08  H.J. Lu  <hjl.tools@gmail.com>
5980         PR target/104781
5981         * config/i386/i386.cc (ix86_expand_epilogue): Sorry if there is
5982         stack realignment or regparm nested function with EH return.
5984 2022-03-08  Andre Vieira  <andre.simoesdiasvieira@arm.com>
5986         PR target/104790
5987         * config/arm/arm.h (MVE_STN_LDW_MODE): New MACRO.
5988         * config/arm/arm.cc (mve_vector_mem_operand): Relax constraint on base
5989         register for non widening loads or narrowing stores.
5991 2022-03-08  Eric Gallager  <egallager@gcc.gnu.org>
5993         PR translation/104552
5994         * params.opt: Fix typo.
5996 2022-03-08  Richard Biener  <rguenther@suse.de>
5998         PR tree-optimization/84201
5999         * params.opt (-param=vect-induction-float): Add.
6000         * doc/invoke.texi (vect-induction-float): Document.
6001         * tree-vect-loop.cc (vectorizable_induction): Honor
6002         param_vect_induction_float.
6004 2022-03-08  Martin Jambor  <mjambor@suse.cz>
6006         PR translation/104552
6007         * params.opt (ipa-cp-recursive-freq-factor): Remove repeated word
6008         "that" in the description.
6010 2022-03-08  Richard Biener  <rguenther@suse.de>
6012         PR tree-optimization/104825
6013         * tree-ssa-sccvn.cc (visit_reference_op_call): Properly
6014         guard modref get_ao_ref on a pointer typed argument.
6016 2022-03-08  liuhongt  <hongtao.liu@intel.com>
6018         * config/i386/sse.md (*vec_dupv4si): Disable memory operand
6019         for !TARGET_INTER_UNIT_MOVES_TO_VEC when prefer_for_speed.
6021 2022-03-07  Jonathan Wakely  <jwakely@redhat.com>
6023         * doc/invoke.texi (C++ Modules): Remove anachronism.
6025 2022-03-07  Martin Liska  <mliska@suse.cz>
6027         PR middle-end/104381
6028         * opts.cc (finish_options): If debug info is disabled
6029         (debug_info_level) and -fvar-tracking is unset, disable it.
6031 2022-03-07  Jakub Jelinek  <jakub@redhat.com>
6033         * tree-ssa-propagate.cc: Fix up duplicated word issue in a comment.
6034         * config/riscv/riscv.cc: Likewise.
6035         * config/darwin.h: Likewise.
6036         * config/i386/i386.cc: Likewise.
6037         * config/aarch64/thunderx3t110.md: Likewise.
6038         * config/aarch64/fractional-cost.h: Likewise.
6039         * config/vax/vax.cc: Likewise.
6040         * config/rs6000/pcrel-opt.md: Likewise.
6041         * config/rs6000/predicates.md: Likewise.
6042         * ctfc.h: Likewise.
6043         * tree-ssa-uninit.cc: Likewise.
6044         * value-relation.h: Likewise.
6045         * gimple-range-gori.cc: Likewise.
6046         * ipa-polymorphic-call.cc: Likewise.
6047         * pointer-query.cc: Likewise.
6048         * ipa-sra.cc: Likewise.
6049         * internal-fn.cc: Likewise.
6050         * varasm.cc: Likewise.
6051         * gimple-ssa-warn-access.cc: Likewise.
6053 2022-03-07  Martin Liska  <mliska@suse.cz>
6055         PR target/104794
6056         * config/arm/arm.cc (arm_option_override_internal): Add missing
6057         space.
6059 2022-03-07  Richard Biener  <rguenther@suse.de>
6061         PR tree-optimization/104782
6062         * tree-vect-slp.cc (vectorize_slp_instance_root_stmt):
6063         Re-instantiate r10-5979 fix, add comment.
6065 2022-03-07  Martin Liska  <mliska@suse.cz>
6067         PR target/104797
6068         * config/msp430/msp430.cc (msp430_expand_delay_cycles): Remove
6069         parenthesis from built-in name.
6071 2022-03-07  Martin Liska  <mliska@suse.cz>
6073         PR target/104794
6074         * config/arm/arm.cc (arm_option_override_internal): Fix quoting
6075         of options in error messages.
6076         (arm_option_reconfigure_globals): Likewise.
6078 2022-03-07  Martin Liska  <mliska@suse.cz>
6080         PR target/104794
6081         * config/arm/arm-builtins.cc (arm_expand_builtin): Reuse error
6082         message.  Fix ARM_BUILTIN_WRORHI and ARM_BUILTIN_WRORH that can
6083         have only range [0,32].
6085 2022-03-07  Jakub Jelinek  <jakub@redhat.com>
6087         PR target/104775
6088         * config/s390/s390.md (*cmp_and_trap_unsigned_int<mode>): Use
6089         S constraint instead of T in the last alternative.
6091 2022-03-07  Martin Liska  <mliska@suse.cz>
6093         * plugin.cc (default_plugin_dir_name): Remove <dir> from error
6094         message.
6096 2022-03-07  Martin Liska  <mliska@suse.cz>
6098         PR translation/90148
6099         * config/rs6000/rs6000.cc (rs6000_linux64_override_options): Put
6100         quote to a proper place.
6101         * plugin.cc (default_plugin_dir_name): Likewise.
6103 2022-03-07  Martin Liska  <mliska@suse.cz>
6105         PR target/99297
6106         * config/rx/rx.cc (rx_expand_builtin_mvtc): Fix translation
6107         string.
6109 2022-03-07  Jakub Jelinek  <jakub@redhat.com>
6111         PR target/104779
6112         * config/i386/sse.md (avx512dq_mul<mode>3<mask_name>): New
6113         define_expand pattern.  Rename define_insn to ...
6114         (*avx512dq_mul<mode>3<mask_name>): ... this.
6115         (<code><mode>3_mask): New any_logic define_expand pattern.
6116         (<mask_codefor><code><mode>3<mask_name>): Rename to ...
6117         (*<code><mode>3<mask_name>): ... this.
6119 2022-03-05  Jakub Jelinek  <jakub@redhat.com>
6121         * gimple-ssa-warn-access.cc (pass_waccess::use_after_inval_p): Remove
6122         visited bitmap and its use.  Also punt on EDGE_ABNORMAL edges.
6124 2022-03-05  Roger Sayle  <roger@nextmovesoftware.com>
6125             Uroš Bizjak  <ubizjak@gmail.com>
6127         PR testsuite/104732
6128         * config/i386/i386.md (SWIM1248x): Renamed from SWIM1248s.
6129         Include DI mode unconditionally.
6130         (*anddi3_doubleword): Remove && TARGET_STV && TARGET_SSE2 condition,
6131         i.e. always split on !TARGET_64BIT.
6132         (*<any_or>di3_doubleword): Likewise.
6133         (*one_cmpldi2_doubleword): Likewise.
6134         (and<mode>3 expander): Update to use SWIM1248x from SWIM1248s.
6135         (<any_or><mode>3 expander): Likewise.
6136         (one_cmpl<mode>2 expander): Likewise.
6138 2022-03-05   Michael Meissner  <meissner@linux.ibm.com>
6140         PR target/104698
6141         * config/rs6000/vsx.md (UNSPEC_MTVSRD_DITI_W1): Delete.
6142         (mtvsrdd_diti_w1): Delete.
6143         (extendditi2): Convert from define_expand to
6144         define_insn_and_split.  Replace with code to deal with both GPR
6145         registers and with altivec registers.
6147 2022-03-04  Segher Boessenkool  <segher@kernel.crashing.org>
6149         * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Restructure a
6150         bit.  Handle most older CPUs.
6152 2022-03-04  Iain Sandoe  <iain@sandoe.co.uk>
6154         * config/darwin.cc (darwin_fold_builtin): Make fcode an int to
6155         avoid a mismatch with DECL_MD_FUNCTION_CODE().
6157 2022-03-04  Iain Sandoe  <iain@sandoe.co.uk>
6159         PR target/104117
6160         * config/rs6000/darwin.md (@machopic_high_<mode>): New.
6161         (@machopic_low_<mode>): New.
6162         * config/rs6000/predicates.md (macho_pic_address): New.
6163         * config/rs6000/rs6000.cc (rs6000_legitimize_address): Do not
6164         apply the TLS processing to Darwin.
6165         * lra-constraints.cc (process_address_1): Revert the changes
6166         in r12-7209.
6168 2022-03-04  Peter Bergner  <bergner@linux.ibm.com>
6170         PR target/87496
6171         PR target/104208
6172         * config/rs6000/rs6000.cc (rs6000_option_override_internal): Make the
6173         ISA 2.06 requirement for -mabi=ieeelongdouble conditional on
6174         -mlong-double-128.
6175         Move the -mabi=ieeelongdouble and -mabi=ibmlongdouble error checking
6176         from here...
6177         * common/config/rs6000/rs6000-common.cc (rs6000_handle_option):
6178         ... to here.
6180 2022-03-04  Jakub Jelinek  <jakub@redhat.com>
6182         PR middle-end/104529
6183         * gimplify.cc (gimplify_init_constructor): Clear TREE_READONLY
6184         on automatic objects which will be runtime initialized.
6186 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
6188         PR middle-end/100280
6189         PR middle-end/104132
6190         PR middle-end/104133
6191         * omp-low.cc (task_shared_vars): Rename to
6192         'make_addressable_vars'.  Adjust all users.
6193         (scan_sharing_clauses) <OMP_CLAUSE_MAP> Use it for
6194         'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' DECLs, too.
6196 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
6198         PR middle-end/100280
6199         * tree.h (OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE): New.
6200         * tree-core.h: Document it.
6201         * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Handle
6202         'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
6203         * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
6204         Set 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' instead of
6205         'TREE_ADDRESSABLE'.
6207 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
6209         PR middle-end/100280
6210         * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
6211         Add diagnostic: "note: OpenACC 'kernels' decomposition: variable
6212         '[...]' declared in block made addressable".
6214 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
6216         PR middle-end/100400
6217         PR middle-end/103836
6218         PR middle-end/104061
6219         * omp-oacc-kernels-decompose.cc (decompose_kernels_region_body):
6220         Catch 'GIMPLE_DEBUG'.
6222 2022-03-04  Jakub Jelinek  <jakub@redhat.com>
6224         PR c/104627
6225         * tree.cc (warn_deprecated_use): For types prefer to use node
6226         and only use TYPE_MAIN_VARIANT (node) if TYPE_STUB_DECL (node) is
6227         NULL.
6229 2022-03-04  H.J. Lu  <hjl.tools@gmail.com>
6231         PR target/104704
6232         * config/i386/i386.cc (ix86_gen_scratch_sse_rtx): Always return
6233         a pseudo register.
6235 2022-03-03  Martin Sebor  <msebor@redhat.com>
6237         PR middle-end/104761
6238         * gimple-ssa-warn-access.cc (pass_waccess::execute): Call
6239         mark_dfs_back_edges.
6241 2022-03-03  Martin Liska  <mliska@suse.cz>
6243         * configure.ac: Use linker plug-in by default.
6244         * configure: Regenerate.
6246 2022-03-03  Martin Liska  <mliska@suse.cz>
6248         * configure.ac: Now ld.mold support LTO plugin API, use it.
6249         * configure: Regenerate.
6251 2022-03-03  Tom de Vries  <tdevries@suse.de>
6253         * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add mptx=3.1.
6255 2022-03-03  Tom de Vries  <tdevries@suse.de>
6257         PR target/104758
6258         * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add misa=sm_30.
6260 2022-03-03  Tom de Vries  <tdevries@suse.de>
6262         * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
6264 2022-03-03  Jakub Jelinek  <jakub@redhat.com>
6266         PR middle-end/104757
6267         * gimplify.cc (gimplify_omp_loop): Call gimplify_expr rather than
6268         gimplify_omp_for.
6269         (gimplify_expr) <case OMP_SIMD>: Temporarily disable
6270         gimplify_ctxp->into_ssa around call to gimplify_omp_for.
6272 2022-03-03  Jakub Jelinek  <jakub@redhat.com>
6274         PR middle-end/104558
6275         * calls.cc (store_one_arg): When not calling emit_push_insn
6276         because size_rtx is const0_rtx, call at least anti_adjust_stack
6277         on arg->locate.alignment_pad if !argblock and the alignment might
6278         be non-zero.
6280 2022-03-02  Alexandre Oliva  <oliva@adacore.com>
6282         * lra-constraints.cc (undo_optional_reloads): Recognize and
6283         drop insns of multi-word move sequences, tolerate removal
6284         iteration on an already-removed clobber, and refuse to
6285         substitute original pseudos into clobbers.
6287 2022-03-02  Qing Zhao  <qing.zhao@oracle.com>
6289         PR middle-end/102276
6290         * common.opt (-Wtrivial-auto-var-init): New option.
6291         * doc/invoke.texi (-Wtrivial-auto-var-init): Document new option.
6292         (-ftrivial-auto-var-init): Update option;
6293         * gimplify.cc (emit_warn_switch_unreachable): New function.
6294         (warn_switch_unreachable_r): Rename to ...
6295         (warn_switch_unreachable_and_auto_init_r): This.
6296         (maybe_warn_switch_unreachable): Rename to ...
6297         (maybe_warn_switch_unreachable_and_auto_init): This.
6298         (gimplify_switch_expr): Update calls to renamed function.
6300 2022-03-02  Richard Biener  <rguenther@suse.de>
6302         PR rtl-optimization/104686
6303         * ira-color.cc (object_conflicts_with_allocno_p): New function
6304         using a bitvector test instead of iterating when possible.
6305         (allocnos_conflict_p): Choose the best allocno to iterate over
6306         object conflicts.
6307         (update_conflict_hard_regno_costs): Do allocnos_conflict_p test
6308         last.
6310 2022-03-02  Jakub Jelinek  <jakub@redhat.com>
6312         * cfg.cc (dump_edge_info): Dump goto_locus if present.
6314 2022-03-02  Jakub Jelinek  <jakub@redhat.com>
6316         PR rtl-optimization/104589
6317         * cfgrtl.cc (fixup_reorder_chain): Use loc_equal instead of direct
6318         INSN_LOCATION comparison with goto_locus.
6320 2022-03-02  Jakub Jelinek  <jakub@redhat.com>
6322         * tree-ssa-strlen.cc (strlen_pass::handle_assign,
6323         strlen_pass::before_dom_children): Comment spelling fixes.
6325 2022-03-02  Jakub Jelinek  <jakub@redhat.com>
6327         * ipa-modref-tree.cc (modref_access_node::contains,
6328         modref_access_node::closer_pair_p, modref_access_node::insert,
6329         modref_access_node::insert_kill): Comment spelling fixes.
6330         * ipa-modref.cc: Likewise.
6331         (modref_summary::finalize, ignore_nondeterminism_p,
6332         class modref_access_analysis,
6333         modref_access_analysis::set_side_effects,
6334         modref_access_analysis::set_nondeterministic,
6335         modref_access_analysis::record_global_memory_load,
6336         modref_access_analysis::propagate, modref_access_analysis::analyze,
6337         struct escape_point, class modref_lattice, modref_lattice::merge,
6338         modref_lattice::merge_deref, class modref_eaf_analysis,
6339         modref_eaf_analysis::merge_call_lhs_flags,
6340         modref_eaf_analysis::analyze_ssa_name, modref_eaf_analysis::propagate,
6341         modref_eaf_analysis::record_escape_points, remap_kills,
6342         update_escape_summary, remove_useless_summaries,
6343         ipa_merge_modref_summary_after_inlining, pass_ipa_modref::execute):
6344         Likewise.
6345         * ipa-modref.h (struct modref_summary, interposable_eaf_flags):
6346         Likewise.
6347         * ipa-modref-tree.h (enum modref_special_parms,
6348         struct modref_access_node): Likewise.
6350 2022-03-01  Jakub Jelinek  <jakub@redhat.com>
6352         PR tree-optimization/104715
6353         * gimple-ssa-warn-access.cc (pass_waccess::check_pointer_uses): Don't
6354         unnecessarily test if ptr is a SSA_NAME, it has to be.  Only push lhs
6355         of a call if gimple_call_return_arg is equal to ptr, not just when it
6356         is non-NULL.
6358 2022-03-01  Jakub Jelinek  <jakub@redhat.com>
6360         * gimple-ssa-warn-access.cc (warn_string_no_nul,
6361         maybe_warn_nonstring_arg, fndecl_alloc_p, new_delete_mismatch_p,
6362         matching_alloc_calls_p, maybe_warn_alloc_args_overflow,
6363         pass_waccess::check_alloca, pass_waccess::check_strcat,
6364         memmodel_to_uhwi, fntype_argno_type,
6365         pass_waccess::maybe_check_access_sizes,
6366         pass_waccess::check_call_access,
6367         pass_waccess::maybe_check_dealloc_call, pass_waccess::check_stmt):
6368         Comment spelling fixes.
6370 2022-03-01  Richard Biener  <rguenther@suse.de>
6372         PR tree-optimization/104716
6373         * tree-loop-distribution.cc (find_seed_stmts_for_distribution):
6374         Check if we can copy the loop.
6376 2022-03-01  H.J. Lu  <hjl.tools@gmail.com>
6378         PR middle-end/104721
6379         * cfgexpand.cc (expand_gimple_basic_block): Clear
6380         currently_expanding_gimple_stmt when returning inside the loop.
6382 2022-03-01  Martin Liska  <mliska@suse.cz>
6384         PR ipa/104533
6385         * multiple_target.cc (get_attr_len): Move to tree.c.
6386         (expand_target_clones): Remove single value checking.
6387         * tree.cc (get_target_clone_attr_len): New fn.
6388         * tree.h (get_target_clone_attr_len): Likewise.
6390 2022-03-01  Martin Liska  <mliska@suse.cz>
6392         PR gcov-profile/104677
6393         * doc/invoke.texi: Document more .gcda file name generation.
6395 2022-03-01  Tom de Vries  <tdevries@suse.de>
6397         PR target/102429
6398         * config/nvptx/nvptx.cc (nvptx_gen_shuffle): Handle DCmode and CDImode.
6399         * config/nvptx/nvptx.md
6400         (define_predicate "nvptx_register_or_complex_di_df_register_operand"):
6401         New predicate.
6402         (define_expand "omp_simt_xchg_bfly", define_expand "omp_simt_xchg_idx"):
6403         Use nvptx_register_or_complex_di_df_register_operand.
6405 2022-03-01  Tom de Vries  <tdevries@suse.de>
6407         * config.gcc (nvptx*-*-*): Add nvptx/nvptx-gen.opt to extra_options.
6408         * config/nvptx/gen-copyright.sh: New file.
6409         * config/nvptx/gen-h.sh: New file.
6410         * config/nvptx/gen-opt.sh: New file.
6411         * config/nvptx/nvptx.h (TARGET_SM35, TARGET_SM53, TARGET_SM70)
6412         (TARGET_SM75, TARGET_SM80): Move ...
6413         * config/nvptx/nvptx-gen.h: ... here.  New file, generate.
6414         * config/nvptx/nvptx.opt (Enum ptx_isa): Move ...
6415         * config/nvptx/nvptx-gen.opt: ... here.  New file, generate.
6416         * config/nvptx/t-nvptx ($(srcdir)/config/nvptx/nvptx-gen.h)
6417         ($(srcdir)/config/nvptx/nvptx-gen.opt): New make target.
6419 2022-03-01  Tom de Vries  <tdevries@suse.de>
6421         * config/nvptx/gen-omp-device-properties.sh: New file.
6422         * config/nvptx/t-omp-device: Use gen-omp-device-properties.sh.
6424 2022-03-01  Tom de Vries  <tdevries@suse.de>
6426         * config/nvptx/nvptx-sm.def: New file.
6427         * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Use nvptx-sm.def.
6428         * config/nvptx/nvptx-opts.h (enum ptx_isa): Same.
6429         * config/nvptx/nvptx.cc (sm_version_to_string)
6430         (nvptx_omp_device_kind_arch_isa): Same.
6432 2022-03-01  Robin Dapp  <rdapp@linux.ibm.com>
6434         PR rtl-optimization/104154
6435         * config/arc/arc.cc (gen_compare_reg):  Return the CC-mode
6436         comparison ifcvt passed us.
6438 2022-03-01  Hongyu Wang  <hongyu.wang@intel.com>
6440         PR target/104664
6441         * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
6442           Use vec_setv8hf_0 for HF to V8HFmode move instead of subreg.
6444 2022-02-28  Roger Sayle  <roger@nextmovesoftware.com>
6446         PR tree-optimization/91384
6447         * config/i386/i386.md (peephole2): Eliminate final testl insn
6448         from the sequence *movsi_internal, *negsi_1, *cmpsi_ccno_1 by
6449         transforming using *negsi_2 for the negation.
6451 2022-02-28  Roger Sayle  <roger@nextmovesoftware.com>
6452             Eric Botcazou  <ebotcazou@adacore.com>
6454         PR middle-end/80270
6455         * expmed.cc (extract_integral_bit_field): If OP0 is a hard
6456         register, copy it to a pseudo before calling simplify_gen_subreg.
6458 2022-02-28  Vladimir N. Makarov  <vmakarov@redhat.com>
6460         PR rtl-optimization/104637
6461         * lra-assigns.cc (lra_split_hard_reg_for): Split hard regs as many
6462         as possible on one subpass.
6464 2022-02-28  Qing Zhao  <qing.zhao@oracle.com>
6466         PR middle-end/104550
6467         * gimple-fold.cc (clear_padding_flush): Suppress warnings for new
6468         created uses.
6470 2022-02-28  Martin Liska  <mliska@suse.cz>
6472         PR ipa/104648
6473         * main.cc (main): Use flag_checking instead of CHECKING_P
6474         and run toplev::finalize only if there is not error seen.
6476 2022-02-28  Richard Biener  <rguenther@suse.de>
6478         * tree-ssa-pre.cc (compute_avail): Revert part of last change.
6480 2022-02-28  Richard Biener  <rguenther@suse.de>
6482         PR tree-optimization/104700
6483         * tree-ssa-pre.cc (get_or_alloc_expr_for): Remove and inline
6484         into ...
6485         (find_or_generate_expression): ... here, simplifying code.
6487 2022-02-28  Tom de Vries  <tdevries@suse.de>
6489         * config/nvptx/nvptx-opts.h (enum ptx_version): Add
6490         PTX_VERSION_default.
6491         * config/nvptx/nvptx.cc (handle_ptx_version_option): Handle
6492         PTX_VERSION_default.
6493         * config/nvptx/nvptx.opt: Add EnumValue "_" / PTX_VERSION_default.
6495 2022-02-28  Richard Biener  <rguenther@suse.de>
6497         PR rtl-optimization/104686
6498         * ira-int.h (minmax_set_iter_cond): Use ctz_hwi to elide loop
6499         skipping bits that are zero.
6500         (ira_object_conflict_iter_cond): Likewise.
6502 2022-02-28  Hongyu Wang  <hongyu.wang@intel.com>
6504         * config/i386/avx512fintrin.h (_MM_TERNLOG_ENUM): New enum.
6505         (_mm512_ternarylogic_epi64): Truncate imm to unsigned
6506         char to avoid error when using ~enum as parameter.
6507         (_mm512_mask_ternarylogic_epi64): Likewise.
6508         (_mm512_maskz_ternarylogic_epi64): Likewise.
6509         (_mm512_ternarylogic_epi32): Likewise.
6510         (_mm512_mask_ternarylogic_epi32): Likewise.
6511         (_mm512_maskz_ternarylogic_epi32): Likewise.
6512         * config/i386/avx512vlintrin.h (_mm256_ternarylogic_epi64):
6513         Adjust imm param type to unsigned char.
6514         (_mm256_mask_ternarylogic_epi64): Likewise.
6515         (_mm256_maskz_ternarylogic_epi64): Likewise.
6516         (_mm256_ternarylogic_epi32): Likewise.
6517         (_mm256_mask_ternarylogic_epi32): Likewise.
6518         (_mm256_maskz_ternarylogic_epi32): Likewise.
6519         (_mm_ternarylogic_epi64): Likewise.
6520         (_mm_mask_ternarylogic_epi64): Likewise.
6521         (_mm_maskz_ternarylogic_epi64): Likewise.
6522         (_mm_ternarylogic_epi32): Likewise.
6523         (_mm_mask_ternarylogic_epi32): Likewise.
6524         (_mm_maskz_ternarylogic_epi32): Likewise.
6526 2022-02-25  Jakub Jelinek  <jakub@redhat.com>
6527             Marc Glisse  <marc.glisse@inria.fr>
6529         PR tree-optimization/104675
6530         * match.pd (t * 2U / 2 -> t & (~0 / 2), t / 2U * 2 -> t & ~1):
6531         Restrict simplifications to INTEGRAL_TYPE_P.
6533 2022-02-25  Jakub Jelinek  <jakub@redhat.com>
6535         PR target/104681
6536         * config/rs6000/vector.md (movmisalign<mode>): Use rs6000_emit_move.
6538 2022-02-25  Claudiu Zissulescu  <claziss@synopsys.com>
6540         * config/arc/arc.cc (gen_compare_reg): Return NULL_RTX if the
6541         comparison is not valid.
6542         * config/arc/arc.md (movsicc): Fail if comparison is not valid.
6543         (movdicc): Likewise.
6544         (movsfcc): Likewise.
6545         (movdfcc): Likewise.
6547 2022-02-25  Richard Biener  <rguenther@suse.de>
6549         PR tree-optimization/103037
6550         * tree-ssa-sccvn.h (alloc_vn_nary_op_noinit): Declare.
6551         (vn_nary_length_from_stmt): Likewise.
6552         (init_vn_nary_op_from_stmt): Likewise.
6553         (vn_nary_op_compute_hash): Likewise.
6554         * tree-ssa-sccvn.cc (alloc_vn_nary_op_noinit): Export.
6555         (vn_nary_length_from_stmt): Likewise.
6556         (init_vn_nary_op_from_stmt): Likewise.
6557         (vn_nary_op_compute_hash): Likewise.
6558         * tree-ssa-pre.cc (pre_expr_obstack): New obstack.
6559         (get_or_alloc_expr_for_nary): Pass in the value-id to use,
6560         (re-)compute the hash value and if the expression is not
6561         found allocate it from pre_expr_obstack.
6562         (phi_translate_1): Do not insert the NARY found in the
6563         VN tables but build a PRE expression from the valueized
6564         NARY with the value-id we eventually found.
6565         (find_or_generate_expression): Assert we have an entry
6566         for constant values.
6567         (compute_avail): Insert not valueized expressions into
6568         EXP_GEN using the value-id from the VN tables.
6569         (init_pre): Allocate pre_expr_obstack.
6570         (fini_pre): Free pre_expr_obstack.
6572 2022-02-25  Jakub Jelinek  <jakub@redhat.com>
6574         PR target/104674
6575         * config/i386/i386.h (enum ix86_stack_slot): Add SLOT_FLOATxFDI_387.
6576         * config/i386/i386.md (splitter to floatdi<mode>2_i387_with_xmm): Use
6577         SLOT_FLOATxFDI_387 rather than SLOT_TEMP.
6579 2022-02-25  Jakub Jelinek  <jakub@redhat.com>
6581         * warning-control.cc (get_nowarn_spec): Comment spelling fix.
6583 2022-02-25  Jakub Jelinek  <jakub@redhat.com>
6585         PR middle-end/104679
6586         * internal-fn.cc (expand_SPACESHIP): Call do_pending_stack_adjust.
6588 2022-02-25  Jakub Jelinek  <jakub@redhat.com>
6590         PR tree-optimization/104675
6591         * match.pd (-A - 1 -> ~A, -1 - A -> ~A): Don't simplify for
6592         COMPLEX_TYPE.
6594 2022-02-25  Alexandre Oliva  <oliva@adacore.com>
6596         PR target/104121
6597         PR target/103302
6598         * expr.cc (emit_move_multi_word): Restore clobbers during LRA.
6600 2022-02-25  Alexandre Oliva  <oliva@adacore.com>
6602         PR middle-end/104540
6603         * dwarf2cfi.cc (cfi_oprnd_equal_p): Cope with NULL
6604         dw_cfi_cfa_loc.
6606 2022-02-25  Alexandre Oliva  <oliva@adacore.com>
6608         PR tree-optimization/103856
6609         * gimple-harden-conditionals.cc (non_eh_succ_edge): Enable the
6610         eh edge to be requested through an extra parameter.
6611         (pass_harden_compares::execute): Copy PHI args in the EH dest
6612         block for the new EH edge added for the inverted compare.
6614 2022-02-24  Palmer Dabbelt  <palmer@rivosinc.com>
6616         * doc/invoke.texi (RISC-V -mcmodel=medany): Document the degree
6617         of position independence that -mcmodel=medany affords.
6619 2022-02-24  Jose E. Marchesi  <jose.marchesi@oracle.com>
6621         PR target/104656
6622         * configure.ac: --disable-gcov if targetting bpf-*.
6623         * configure: Regenerate.
6625 2022-02-24  Richard Biener  <rguenther@suse.de>
6627         PR tree-optimization/104676
6628         * tree-loop-distribution.cc (loop_distribution::execute):
6629         Do a full scev_reset.
6631 2022-02-24  Jakub Jelinek  <jakub@redhat.com>
6633         PR tree-optimization/104601
6634         * tree-ssa-sccvn.cc (visit_reference_op_call): For calls with
6635         non-SSA_NAME lhs value number vdef to itself instead of e.g. the
6636         vuse value number.
6638 2022-02-24  Tom de Vries  <tdevries@suse.de>
6639             Tobias Burnus  <tobias@codesourcery.com>
6641         * config/nvptx/nvptx.cc (nvptx_omp_device_kind_arch_isa): Handle
6642         sm_70, sm_75 and sm_80.
6643         * config/nvptx/t-omp-device: Add sm_53, sm_70, sm_75 and sm_80.
6645 2022-02-24  Tom de Vries  <tdevries@suse.de>
6647         * config/nvptx/nvptx.md (define_insn "rotlsi3", define_insn
6648         "rotrsi3"): New define_insn.
6650 2022-02-24  Tom de Vries  <tdevries@suse.de>
6652         * config/nvptx/nvptx.cc (gen_comment): Use
6653         DECL_SOURCE_LOCATION (cfun->decl) instead of cfun->function_start_locus.
6655 2022-02-24  liuhongt  <hongtao.liu@intel.com>
6657         * config/i386/sse.md (<code>v1ti3): Add suffix and replace
6658         isa attr of alternative 2 from avx to avx512vl.
6660 2022-02-23  Richard Biener  <rguenther@suse.de>
6661             Jakub Jelinek  <jakub@redhat.com>
6663         PR tree-optimization/104644
6664         * doc/match-and-simplify.texi: Amend ! documentation.
6665         * genmatch.cc (expr::gen_transform): Code-generate ! support
6666         for GENERIC.
6667         (parser::parse_expr): Allow ! for GENERIC.
6668         * match.pd (cmp (bswap @0) INTEGER_CST@1): Use ! modifier on
6669         bswap.
6671 2022-02-23  Richard Biener  <rguenther@suse.de>
6673         PR tree-optimization/101636
6674         * tree-vect-slp.cc (vect_print_slp_tree): Dump the
6675         vector type of the node.
6676         (vect_slp_analyze_operations): Make sure the CTOR
6677         is vectorized with an expected type.
6678         (vectorize_slp_instance_root_stmt): Revert r10-5979 fix.
6680 2022-02-23  Jakub Jelinek  <jakub@redhat.com>
6682         PR c/104633
6683         * gimple-warn-recursion.cc (pass_warn_recursion::find_function_exit):
6684         Don't warn about calls to corresponding builtin from extern inline
6685         gnu_inline wrappers.
6687 2022-02-23  Roger Sayle  <roger@nextmovesoftware.com>
6689         PR target/104489
6690         * config/nvptx/nvptx.md (*movhf_insn): Add subregs_ok attribute.
6692 2022-02-23  Christophe Lyon  <christophe.lyon@arm.com>
6694         PR target/100757
6695         PR target/101325
6696         * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Fix
6697         typo.
6699 2022-02-23  Cui,Lili  <lili.cui@intel.com>
6701         * doc/invoke.texi: Update documents for Intel architectures.
6703 2022-02-22  Roger Sayle  <roger@nextmovesoftware.com>
6705         * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop): Restore
6706         bootstrap.
6708 2022-02-22  Thomas Schwinge  <thomas@codesourcery.com>
6710         * omp-low.cc (omp_build_component_ref): Move function...
6711         * omp-general.cc (omp_build_component_ref): ... here.  Remove
6712         'static'.
6713         * omp-general.h (omp_build_component_ref): Declare function.
6714         * omp-oacc-neuter-broadcast.cc (oacc_build_component_ref): Remove
6715         function.
6716         (build_receiver_ref, build_sender_ref): Call
6717         'omp_build_component_ref' instead.
6719 2022-02-22  Thomas Schwinge  <thomas@codesourcery.com>
6721         * omp-oacc-neuter-broadcast.cc (record_field_map_t): Further
6722         simplify.  Adjust all users.
6724 2022-02-22  Segher Boessenkool  <segher@kernel.crashing.org>
6726         PR target/88134
6727         * config/rs6000/rs6000.cc (atomic_hold_decl, atomic_clear_decl,
6728         atomic_update_decl): Add GTY markup.
6730 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
6732         * config/arm/arm.h (REG_CLASS_CONTENTS): Add VPR_REG to ALL_REGS.
6734 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
6736         PR target/100757
6737         PR target/101325
6738         * config/arm/arm-builtins.cc (CX_UNARY_UNONE_QUALIFIERS): Use
6739         predicate.
6740         (CX_BINARY_UNONE_QUALIFIERS): Likewise.
6741         (CX_TERNARY_UNONE_QUALIFIERS): Likewise.
6742         (TERNOP_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
6743         (QUADOP_NONE_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
6744         (QUADOP_UNONE_UNONE_UNONE_UNONE_UNONE_QUALIFIERS): Delete.
6745         * config/arm/arm_mve_builtins.def: Use predicated qualifiers.
6746         * config/arm/mve.md: Use VxBI instead of HI.
6748 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
6750         PR target/100757
6751         PR target/101325
6752         * config/arm/arm-builtins.cc (STRSBS_P_QUALIFIERS): Use predicate
6753         qualifier.
6754         (STRSBU_P_QUALIFIERS): Likewise.
6755         (LDRGBS_Z_QUALIFIERS): Likewise.
6756         (LDRGBU_Z_QUALIFIERS): Likewise.
6757         (LDRGBWBXU_Z_QUALIFIERS): Likewise.
6758         (LDRGBWBS_Z_QUALIFIERS): Likewise.
6759         (LDRGBWBU_Z_QUALIFIERS): Likewise.
6760         (STRSBWBS_P_QUALIFIERS): Likewise.
6761         (STRSBWBU_P_QUALIFIERS): Likewise.
6762         * config/arm/mve.md: Use VxBI instead of HI.
6764 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
6766         PR target/100757
6767         PR target/101325
6768         * config/arm/arm-builtins.cc (TERNOP_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
6769         (TERNOP_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
6770         (TERNOP_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
6771         (TERNOP_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
6772         (TERNOP_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
6773         (TERNOP_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
6774         (TERNOP_NONE_NONE_UNONE_UNONE_QUALIFIERS): Change to ...
6775         (TERNOP_NONE_NONE_UNONE_PRED_QUALIFIERS): ... this.
6776         (QUADOP_UNONE_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
6777         (QUADOP_UNONE_UNONE_NONE_NONE_PRED_QUALIFIERS): ... this.
6778         (QUADOP_NONE_NONE_NONE_NONE_PRED_QUALIFIERS): New.
6779         (QUADOP_NONE_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
6780         (QUADOP_NONE_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
6781         (QUADOP_UNONE_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
6782         (QUADOP_UNONE_UNONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
6783         (QUADOP_UNONE_UNONE_NONE_IMM_PRED_QUALIFIERS): ... this.
6784         (QUADOP_NONE_NONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
6785         (QUADOP_NONE_NONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
6786         (QUADOP_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
6787         (QUADOP_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
6788         (QUADOP_UNONE_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
6789         (QUADOP_UNONE_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
6790         (STRS_P_QUALIFIERS): Use predicate qualifier.
6791         (STRU_P_QUALIFIERS): Likewise.
6792         (STRSU_P_QUALIFIERS): Likewise.
6793         (STRSS_P_QUALIFIERS): Likewise.
6794         (LDRGS_Z_QUALIFIERS): Likewise.
6795         (LDRGU_Z_QUALIFIERS): Likewise.
6796         (LDRS_Z_QUALIFIERS): Likewise.
6797         (LDRU_Z_QUALIFIERS): Likewise.
6798         (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
6799         (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
6800         (BINOP_NONE_NONE_PRED_QUALIFIERS): New.
6801         (BINOP_UNONE_UNONE_PRED_QUALIFIERS): New.
6802         * config/arm/arm_mve_builtins.def: Use new predicated qualifiers.
6803         * config/arm/mve.md: Use MVE_VPRED instead of HI.
6805 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
6807         PR target/100757
6808         PR target/101325
6809         * config/arm/arm-builtins.cc (BINOP_UNONE_NONE_NONE_QUALIFIERS):
6810         Delete.
6811         (TERNOP_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
6812         (TERNOP_PRED_NONE_NONE_PRED_QUALIFIERS): ... this.
6813         (TERNOP_PRED_UNONE_UNONE_PRED_QUALIFIERS): New.
6814         * config/arm/arm_mve_builtins.def (vcmp*q_n_, vcmp*q_m_f): Use new
6815         predicated qualifiers.
6816         * config/arm/mve.md (mve_vcmp<mve_cmp_op>q_n_<mode>)
6817         (mve_vcmp*q_m_f<mode>): Use MVE_VPRED instead of HI.
6819 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
6821         PR target/100757
6822         * config/arm/arm-protos.h (arm_get_mask_mode): New prototype.
6823         (arm_expand_vector_compare): Update prototype.
6824         * config/arm/arm.cc (TARGET_VECTORIZE_GET_MASK_MODE): New.
6825         (arm_vector_mode_supported_p): Add support for VxBI modes.
6826         (arm_expand_vector_compare): Remove useless generation of vpsel.
6827         (arm_expand_vcond): Fix select operands.
6828         (arm_get_mask_mode): New.
6829         * config/arm/mve.md (vec_cmp<mode><MVE_vpred>): New.
6830         (vec_cmpu<mode><MVE_vpred>): New.
6831         (vcond_mask_<mode><MVE_vpred>): New.
6832         * config/arm/vec-common.md (vec_cmp<mode><v_cmp_result>)
6833         (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): Move to ...
6834         * config/arm/neon.md (vec_cmp<mode><v_cmp_result>)
6835         (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): ... here
6836         and disable for MVE.
6837         * doc/sourcebuild.texi (arm_mve): Document new effective-target.
6839 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
6841         PR target/100757
6842         PR target/101325
6843         * config/arm/arm-builtins.cc (BINOP_PRED_UNONE_UNONE_QUALIFIERS)
6844         (BINOP_PRED_NONE_NONE_QUALIFIERS)
6845         (TERNOP_NONE_NONE_NONE_PRED_QUALIFIERS)
6846         (TERNOP_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
6847         * config/arm/arm-protos.h (mve_bool_vec_to_const): New.
6848         * config/arm/arm.cc (arm_hard_regno_mode_ok): Handle new VxBI
6849         modes.
6850         (arm_mode_to_pred_mode): New.
6851         (arm_expand_vector_compare): Use the right VxBI mode instead of
6852         HI.
6853         (arm_expand_vcond): Likewise.
6854         (simd_valid_immediate): Handle MODE_VECTOR_BOOL.
6855         (mve_bool_vec_to_const): New.
6856         (neon_make_constant): Call mve_bool_vec_to_const when needed.
6857         * config/arm/arm_mve_builtins.def (vcmpneq_, vcmphiq_, vcmpcsq_)
6858         (vcmpltq_, vcmpleq_, vcmpgtq_, vcmpgeq_, vcmpeqq_, vcmpneq_f)
6859         (vcmpltq_f, vcmpleq_f, vcmpgtq_f, vcmpgeq_f, vcmpeqq_f, vpselq_u)
6860         (vpselq_s, vpselq_f): Use new predicated qualifiers.
6861         * config/arm/constraints.md (DB): New.
6862         * config/arm/iterators.md (MVE_7, MVE_7_HI): New mode iterators.
6863         (MVE_VPRED, MVE_vpred): New attribute iterators.
6864         * config/arm/mve.md (@mve_vcmp<mve_cmp_op>q_<mode>)
6865         (@mve_vcmp<mve_cmp_op>q_f<mode>, @mve_vpselq_<supf><mode>)
6866         (@mve_vpselq_f<mode>): Use MVE_VPRED instead of HI.
6867         (@mve_vpselq_<supf>v2di): Define separately.
6868         (mov<mode>): New expander for VxBI modes.
6869         * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Use
6870         MVE_7_HI iterator and add support for DB constraint.
6872 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
6873             Richard Sandiford  <richard.sandiford@arm.com>
6875         PR target/100757
6876         PR target/101325
6877         * config/aarch64/aarch64-modes.def (VNx16BI, VNx8BI, VNx4BI,
6878         VNx2BI): Update definition.
6879         * config/arm/arm-builtins.cc (arm_init_simd_builtin_types): Add new
6880         simd types.
6881         (arm_init_builtin): Map predicate vectors arguments to HImode.
6882         (arm_expand_builtin_args): Move HImode predicate arguments to VxBI
6883         rtx. Move return value to HImode rtx.
6884         * config/arm/arm-builtins.h (arm_type_qualifiers): Add qualifier_predicate.
6885         * config/arm/arm-modes.def (B2I, B4I, V16BI, V8BI, V4BI): New modes.
6886         * config/arm/arm-simd-builtin-types.def (Pred1x16_t,
6887         Pred2x8_t,Pred4x4_t): New.
6888         * emit-rtl.cc (init_emit_once): Handle all boolean modes.
6889         * genmodes.cc (mode_data): Add boolean field.
6890         (blank_mode): Initialize it.
6891         (make_complex_modes): Fix handling of boolean modes.
6892         (make_vector_modes): Likewise.
6893         (VECTOR_BOOL_MODE): Use new COMPONENT parameter.
6894         (make_vector_bool_mode): Likewise.
6895         (BOOL_MODE): New.
6896         (make_bool_mode): New.
6897         (emit_insn_modes_h): Fix generation of boolean modes.
6898         (emit_class_narrowest_mode): Likewise.
6899         * machmode.def: (VECTOR_BOOL_MODE): Document new COMPONENT
6900         parameter.  Use new BOOL_MODE instead of FRACTIONAL_INT_MODE to
6901         define BImode.
6902         * rtx-vector-builder.cc (rtx_vector_builder::find_cached_value):
6903         Fix handling of constm1_rtx for VECTOR_BOOL.
6904         * simplify-rtx.cc (native_encode_rtx): Fix support for VECTOR_BOOL.
6905         (native_decode_vector_rtx): Likewise.
6906         (test_vector_ops_duplicate): Skip vec_merge test
6907         with vectors of booleans.
6908         * varasm.cc (output_constant_pool_2): Likewise.
6910 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
6912         * config/arm/mve.md (mve_vmvnq_n_<supf><mode>): Use V_elem mode
6913         for operand 1.
6915 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
6917         * config/arm/arm.cc (arm_class_likely_spilled_p): Handle VPR_REG.
6919 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
6921         * config/arm/arm.h (reg_class): Add GENERAL_AND_VPR_REGS.
6922         (REG_CLASS_NAMES): Likewise.
6923         (REG_CLASS_CONTENTS): Likewise.
6924         (CLASS_MAX_NREGS): Handle VPR.
6925         * config/arm/arm.cc (arm_hard_regno_nregs): Handle VPR.
6927 2022-02-22  Tobias Burnus  <tobias@codesourcery.com>
6928             Tom de Vries  <tdevries@suse.de>
6930         * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Handle SM70.
6931         * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm):
6932         Likewise.
6933         * config/nvptx/nvptx.opt (misa): Add sm_70 alias PTX_ISA_SM70.
6935 2022-02-22  Tobias Burnus  <tobias@codesourcery.com>
6936             Tom de Vries  <tdevries@suse.de>
6938         * config/nvptx/nvptx.opt (mptx): Add 6.0 alias PTX_VERSION_6_0.
6939         * doc/invoke.texi (-mptx): Update for new values and defaults.
6941 2022-02-22  Tom de Vries  <tdevries@suse.de>
6943         * config/nvptx/nvptx.cc (gen_comment): New function.
6944         (workaround_uninit_method_1, workaround_uninit_method_2)
6945         (workaround_uninit_method_3): : Use gen_comment.
6946         * config/nvptx/nvptx.opt (mptx-comment): New option.
6948 2022-02-22  Richard Biener  <rguenther@suse.de>
6950         * tree-vect-slp.cc (vect_build_slp_tree_2): Dump the def used
6951         for a splat.
6953 2022-02-22  Roger Sayle  <roger@nextmovesoftware.com>
6954             Richard Biener  <rguenther@suse.de>
6956         * fold-const.cc (ctor_single_nonzero_element): New function to
6957         return the single non-zero element of a (vector) constructor.
6958         * fold-const.h (ctor_single_nonzero_element): Prototype here.
6959         * match.pd (reduc (constructor@0)): Simplify reductions of a
6960         constructor containing a single non-zero element.
6961         (reduc (@0 op VECTOR_CST) ->  (reduc @0) op CONST): Simplify
6962         reductions of vector operations of the same operator with
6963         constant vector operands.
6965 2022-02-22  Jakub Jelinek  <jakub@redhat.com>
6967         PR tree-optimization/104604
6968         * gimple-range-fold.cc (adjust_imagpart_expr, adjust_realpart_expr):
6969         Only check if gimple_assign_rhs1 is COMPLEX_CST if
6970         gimple_assign_rhs_code is COMPLEX_CST.
6972 2022-02-22  Jakub Jelinek  <jakub@redhat.com>
6974         PR target/104612
6975         * config/i386/i386-expand.cc (ix86_expand_copysign): Call force_reg
6976         on input operands before calling lowpart_subreg on it.  For output
6977         operand, use a vmode pseudo as destination and then move its lowpart
6978         subreg into operands[0] if lowpart_subreg fails on dest.
6979         (ix86_expand_xorsign): Likewise.
6981 2022-02-22  Richard Biener  <rguenther@suse.de>
6983         PR tree-optimization/104582
6984         PR target/99881
6985         * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
6986         Cost GPR to vector register moves for integer vector construction.
6988 2022-02-22  Richard Biener  <rguenther@suse.de>
6990         PR tree-optimization/104582
6991         * tree-vectorizer.h (stmt_info_for_cost::node): New field.
6992         (vector_costs::add_stmt_cost): Add SLP node parameter.
6993         (dump_stmt_cost): Likewise.
6994         (add_stmt_cost): Likewise, new overload and adjust.
6995         (add_stmt_costs): Adjust.
6996         (record_stmt_cost): New overload.
6997         * tree-vectorizer.cc (dump_stmt_cost): Dump the SLP node.
6998         (vector_costs::add_stmt_cost): Adjust.
6999         * tree-vect-loop.cc (vect_estimate_min_profitable_iters):
7000         Adjust.
7001         * tree-vect-slp.cc (vect_prologue_cost_for_slp): Record
7002         the SLP node for costing.
7003         (vectorizable_slp_permutation): Likewise.
7004         * tree-vect-stmts.cc (record_stmt_cost): Adjust and add
7005         new overloads.
7006         * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
7007         Adjust.
7008         * config/aarch64/aarch64.cc (aarch64_vector_costs::add_stmt_cost):
7009         Adjust.
7010         * config/rs6000/rs6000.cc (rs6000_vector_costs::add_stmt_cost):
7011         Adjust.
7012         (rs6000_cost_data::adjust_vect_cost_per_loop): Likewise.
7014 2022-02-22  Richard Biener  <rguenther@suse.de>
7016         PR tree-optimization/104582
7017         * tree-vectorizer.h (add_stmt_cost): New overload.
7018         (record_stmt_cost): Likewise.
7019         * tree-vect-loop.cc (vect_compute_single_scalar_iteration_cost):
7020         Use add_stmt_costs.
7021         (vect_get_known_peeling_cost): Use new overloads.
7022         (vect_estimate_min_profitable_iters): Likewise.  Consistently
7023         use scalar_stmt for costing versioning checks.
7024         * tree-vect-stmts.cc (record_stmt_cost): New overload.
7026 2022-02-22  Hongyu Wang  <hongyu.wang@intel.com>
7028         PR target/103069
7029         * config/i386/i386-expand.cc (ix86_expand_atomic_fetch_op_loop):
7030         Split atomic fetch and loop part.
7031         (ix86_expand_cmpxchg_loop): New expander for cmpxchg loop.
7032         * config/i386/i386-protos.h (ix86_expand_cmpxchg_loop): New
7033         prototype.
7034         * config/i386/sync.md (atomic_compare_and_swap<mode>): Call new
7035         expander under TARGET_RELAX_CMPXCHG_LOOP.
7036         (atomic_compare_and_swap<mode>): Likewise for doubleword modes.
7038 2022-02-21  Dan Li  <ashimida@linux.alibaba.com>
7040         * config/aarch64/aarch64.cc (SLOT_REQUIRED):
7041         Change wb_candidate[12] to wb_push_candidate[12].
7042         (aarch64_layout_frame): Likewise, and
7043         change callee_adjust when scs is enabled.
7044         (aarch64_save_callee_saves):
7045         Change wb_candidate[12] to wb_push_candidate[12].
7046         (aarch64_restore_callee_saves):
7047         Change wb_candidate[12] to wb_pop_candidate[12].
7048         (aarch64_get_separate_components):
7049         Change wb_candidate[12] to wb_push_candidate[12].
7050         (aarch64_expand_prologue): Push x30 onto SCS before it's
7051         pushed onto stack.
7052         (aarch64_expand_epilogue): Pop x30 frome SCS, while
7053         preventing it from being popped from the regular stack again.
7054         (aarch64_override_options_internal): Add SCS compile option check.
7055         (TARGET_HAVE_SHADOW_CALL_STACK): New hook.
7056         * config/aarch64/aarch64.h (struct GTY): Add is_scs_enabled,
7057         wb_pop_candidate[12], and rename wb_candidate[12] to
7058         wb_push_candidate[12].
7059         * config/aarch64/aarch64.md (scs_push): New template.
7060         (scs_pop): Likewise.
7061         * doc/invoke.texi: Document -fsanitize=shadow-call-stack.
7062         * doc/tm.texi: Regenerate.
7063         * doc/tm.texi.in: Add hook have_shadow_call_stack.
7064         * flag-types.h (enum sanitize_code):
7065         Add SANITIZE_SHADOW_CALL_STACK.
7066         * opts.cc (parse_sanitizer_options): Add shadow-call-stack
7067         and exclude SANITIZE_SHADOW_CALL_STACK.
7068         * target.def: New hook.
7069         * toplev.cc (process_options): Add SCS compile option check.
7070         * ubsan.cc (ubsan_expand_null_ifn): Enum type conversion.
7072 2022-02-21  Tom de Vries  <tdevries@suse.de>
7074         PR target/104440
7075         * config/nvptx/nvptx.cc (workaround_uninit_method_1)
7076         (workaround_uninit_method_2, workaround_uninit_method_3)
7077         (workaround_uninit): New function.
7078         (nvptx_reorg): Use workaround_uninit.
7079         * config/nvptx/nvptx.opt (minit-regs): New option.
7081 2022-02-21  Andre Vieira  <andre.simoesdiasvieira@arm.com>
7083         PR rtl-optimization/104498
7084         * alias.cc (compare_base_symbol_refs): Correct distance computation
7085         when swapping x and y.
7087 2022-02-21  Andrew Pinski  <apinski@marvell.com>
7089         PR c/104506
7090         * tree-ssa.cc (tree_ssa_useless_type_conversion):
7091         Check the inner type before calling useless_type_conversion_p.
7093 2022-02-19  Tom de Vries  <tdevries@suse.de>
7095         * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle SET insn.
7096         * config/nvptx/nvptx.md
7097         (define_insn "nvptx_atomic_store<mode>"): Rename to ...
7098         (define_insn "nvptx_atomic_store_sm70<mode>"): This.
7099         (define_insn "nvptx_atomic_store<mode>"): New define_insn.
7100         (define_expand "atomic_store<mode>"): Handle rename.  Use
7101         nvptx_atomic_store instead of atomic_exchange.
7103 2022-02-19  Tom de Vries  <tdevries@suse.de>
7105         * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle all
7106         insns with atomic attribute.  Assert that all handled insns are
7107         PARALLELs.
7108         * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"):
7109         Set atomic attribute to false.
7111 2022-02-19  Tom de Vries  <tdevries@suse.de>
7113         * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Change return
7114         type to bool.
7115         (nvptx_reorg_uniform_simt): Insert nvptx_uniform_warp_check or
7116         nvptx_warpsync, if necessary.
7118 2022-02-19  Jakub Jelinek  <jakub@redhat.com>
7120         PR sanitizer/102656
7121         * asan.cc (instrument_derefs): If inner is a RESULT_DECL and access is
7122         known to be within bounds, treat it like automatic variables.
7123         If instrumenting access and inner is {VAR,PARM,RESULT}_DECL from
7124         current function and !TREE_STATIC which is not TREE_ADDRESSABLE, mark
7125         it addressable.
7127 2022-02-18  Pat Haugen  <pthaugen@linux.ibm.com>
7129         * config/rs6000/rs6000.opt (mpower10-fusion): Mark Undocumented.
7130         (mpower10-fusion-ld-cmpi, mpower10-fusion-2logical,
7131         mpower10-fusion-logical-add, mpower10-fusion-add-logical,
7132         mpower10-fusion-2add, mpower10-fusion-2store): Remove.
7133         * config/rs6000/rs6000-cpus.def (ISA_3_1_MASKS_SERVER,
7134         OTHER_P9_VECTOR_MASKS): Remove Power10 fusion sub-options.
7135         * config/rs6000/rs6000.cc (rs6000_option_override_internal,
7136         power10_sched_reorder): Likewise.
7137         * config/rs6000/genfusion.pl (gen_ld_cmpi_p10, gen_logical_addsubf,
7138         gen_addadd): Likewise
7139         * config/rs6000/fusion.md: Regenerate.
7141 2022-02-18  Jakub Jelinek  <jakub@redhat.com>
7143         PR target/104257
7144         PR target/104598
7145         * config/rs6000/mm_malloc.h (_mm_malloc): Call posix_memalign
7146         rather than __posix_memalign.
7148 2022-02-18  Richard Biener  <rguenther@suse.de>
7150         PR target/104581
7151         * config/i386/i386.cc (ix86_avx_u128_mode_source): Remove.
7152         (ix86_avx_u128_mode_needed): Return AVX_U128_DIRTY instead
7153         of calling ix86_avx_u128_mode_source which would eventually
7154         have returned AVX_U128_ANY in some very special case.
7156 2022-02-18  Richard Biener  <rguenther@suse.de>
7158         PR tree-optimization/96881
7159         * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Comment
7160         CLOBBER handling.
7161         (control_parents_preserved_p): New function.
7162         (eliminate_unnecessary_stmts): Check that we preserved control
7163         parents before retaining a CLOBBER.
7164         (perform_tree_ssa_dce): Pass down aggressive flag
7165         to eliminate_unnecessary_stmts.
7167 2022-02-17  Jason Merrill  <jason@redhat.com>
7169         * tree.cc (warn_deprecated_use): Look for TYPE_STUB_DECL
7170         on TYPE_MAIN_VARIANT.
7172 2022-02-17  Paul A. Clarke  <pc@us.ibm.com>
7174         PR target/104257
7175         * config/rs6000/bmi2intrin.h: Uglify local variables.
7176         * config/rs6000/emmintrin.h: Likewise.
7177         * config/rs6000/mm_malloc.h: Likewise.
7178         * config/rs6000/mmintrin.h: Likewise.
7179         * config/rs6000/pmmintrin.h: Likewise.
7180         * config/rs6000/smmintrin.h: Likewise.
7181         * config/rs6000/tmmintrin.h: Likewise.
7182         * config/rs6000/xmmintrin.h: Likewise.
7184 2022-02-17  Robin Dapp  <rdapp@linux.ibm.com>
7186         PR target/104335
7187         * config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Return false
7188         if the expected comparison's first operand is of mode MODE_CC.
7190 2022-02-17  Vladimir N. Makarov  <vmakarov@redhat.com>
7192         PR rtl-optimization/104447
7193         * lra-constraints.cc (spill_hard_reg_in_range): Initiate ignore
7194         hard reg set by lra_no_alloc_regs.
7196 2022-02-17  liuhongt  <hongtao.liu@intel.com>
7198         PR tree-optimization/104551
7199         PR tree-optimization/103771
7200         * match.pd (cond_expr_convert_p): Add types_match check when
7201         convert is extension.
7202         * tree-vect-patterns.cc
7203         (gimple_cond_expr_convert_p): Adjust comments.
7204         (vect_recog_cond_expr_convert_pattern): Ditto.
7206 2022-02-17  Jakub Jelinek  <jakub@redhat.com>
7208         PR debug/104557
7209         * valtrack.cc (debug_lowpart_subreg): Don't call gen_rtx_raw_SUBREG
7210         if expr has VOIDmode.
7212 2022-02-17  liuhongt  <hongtao.liu@intel.com>
7214         * config/i386/cpuid.h (bit_MPX): Removed.
7215         (bit_BNDREGS): Ditto.
7216         (bit_BNDCSR): Ditto.
7218 2022-02-17  Michael Meissner  <meissner@the-meissners.org>
7220         PR target/99708
7221         * config/rs6000/rs6000-c.cc (rs6000_cpu_cpp_builtins): Define
7222         __SIZEOF_IBM128__ if the IBM 128-bit long double type is created.
7223         Define __SIZEOF_FLOAT128__ if the IEEE 128-bit floating point type
7224         is created.
7226 2022-02-16  Andrew MacLeod  <amacleod@redhat.com>
7228         * gimple-range-gori.cc (gori_compute::condexpr_adjust): Use
7229         range_compatible_p instead of direct type comparison.
7231 2022-02-16  Jakub Jelinek  <jakub@redhat.com>
7233         PR rtl-optimization/104544
7234         * combine.cc (try_combine): When looking for insn whose links
7235         should be updated from i3 to i2, don't stop on debug insns, instead
7236         skip over them.
7238 2022-02-16  Richard Sandiford  <richard.sandiford@arm.com>
7240         PR target/100056
7241         * config/aarch64/iterators.md (LOGICAL_OR_PLUS): New iterator.
7242         * config/aarch64/aarch64.md: Extend the PR100056 patterns
7243         to handle plus in the same way as ior, if the operands have
7244         no set bits in common.
7246 2022-02-15  Andrew MacLeod  <amacleod@redhat.com>
7248         PR tree-optimization/104526
7249         * gimple-range-fold.cc (fold_using_range::range_of_cond_expr): Call
7250         new routine.
7251         * gimple-range-gori.cc (range_def_chain::get_def_chain): Force a build
7252         of dependency chain if there isn't one.
7253         (gori_compute::condexpr_adjust): New.
7254         * gimple-range-gori.h (class gori_compute): New prototype.
7256 2022-02-15  Richard Sandiford  <richard.sandiford@arm.com>
7258         PR target/100874
7259         * config/aarch64/aarch64-protos.h (aarch64_maxmin_plus_const):
7260         Declare.
7261         * config/aarch64/aarch64.cc (aarch64_maxmin_plus_const): New function.
7262         * config/aarch64/aarch64.md (*aarch64_minmax_plus): New pattern.
7264 2022-02-15  Richard Sandiford  <richard.sandiford@arm.com>
7266         * tree-vectorizer.h (vect_scalar_ops_slice): New struct.
7267         (vect_scalar_ops_slice_hash): Likewise.
7268         (vect_scalar_ops_slice::op): New function.
7269         * tree-vect-slp.cc (vect_scalar_ops_slice::all_same_p): New function.
7270         (vect_scalar_ops_slice_hash::hash): Likewise.
7271         (vect_scalar_ops_slice_hash::equal): Likewise.
7272         (vect_prologue_cost_for_slp): Check for duplicate vectors.
7273         * config/aarch64/aarch64.cc
7274         (aarch64_vector_costs::m_stp_sequence_cost): New member variable.
7275         (aarch64_aligned_constant_offset_p): New function.
7276         (aarch64_stp_sequence_cost): Likewise.
7277         (aarch64_vector_costs::add_stmt_cost): Handle new STP heuristic.
7278         (aarch64_vector_costs::finish_cost): Likewise.
7280 2022-02-15  Richard Sandiford  <richard.sandiford@arm.com>
7282         * tree-vect-slp.cc (vect_bb_vectorization_profitable_p): Fix
7283         use after free.
7285 2022-02-15  Richard Biener  <rguenther@suse.de>
7287         PR tree-optimization/104543
7288         * gimple-loop-jam.cc (unroll_jam_possible_p): Check outer loop exits
7289         come after the inner loop.
7291 2022-02-15  Jakub Jelinek  <jakub@redhat.com>
7293         PR target/104536
7294         * config/i386/host-cygwin.cc (cygwin_gt_pch_get_address): Use
7295         cannot instead of can%'t in diagnostics.  Formatting fixes.
7297 2022-02-15  Jakub Jelinek  <jakub@redhat.com>
7299         PR middle-end/104522
7300         * fold-const.h (native_interpret_real): Declare.
7301         * fold-const.cc (native_interpret_real): No longer static.  Don't
7302         perform MODE_COMPOSITE_P verification here.
7303         (native_interpret_expr) <case REAL_TYPE>: But perform it here instead
7304         for all modes.
7305         * gimple-fold.cc (clear_padding_type): Call native_interpret_real
7306         instead of native_interpret_expr.
7307         * simplify-rtx.cc (simplify_immed_subreg): Perform the native_encode_rtx
7308         and comparison verification for all FLOAT_MODE_P modes, not just
7309         MODE_COMPOSITE_P.
7311 2022-02-15  Richard Biener  <rguenther@suse.de>
7313         PR tree-optimization/104519
7314         * fold-const.cc (multiple_of_p): Remove never true condition.
7315         * tree-ssa-loop-niter.cc (number_of_iterations_ne): Use
7316         the appropriate types for determining whether the difference
7317         of final and base is a multiple of the step.
7319 2022-02-15  Jakub Jelinek  <jakub@redhat.com>
7321         PR debug/104517
7322         * omp-low.cc (task_cpyfns): New variable.
7323         (delete_omp_context): Don't call finalize_task_copyfn from here.
7324         (create_task_copyfn): Push task_stmt into task_cpyfns.
7325         (execute_lower_omp): Call finalize_task_copyfn here on entries from
7326         task_cpyfns vector and release the vector.
7328 2022-02-14  Martin Sebor  <msebor@redhat.com>
7330         PR middle-end/104355
7331         * doc/invoke.texi (-Warray-bounds): Update documentation.
7333 2022-02-14  Michael Meissner  <meissner@the-meissners.org>
7335         PR target/104253
7336         * config/rs6000/rs6000.cc (init_float128_ibm): Update the
7337         conversion functions used to convert IFmode types.
7339 2022-02-14  Andrew Stubbs  <ams@codesourcery.com>
7341         * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Use force_reg.
7343 2022-02-14  Richard Biener  <rguenther@suse.de>
7345         PR tree-optimization/104528
7346         * tree-ssa.h (find_released_ssa_name): Declare.
7347         * tree-ssa.cc (find_released_ssa_name): Export.
7348         * cfgloop.cc (verify_loop_structure): Look for released
7349         SSA names in loops nb_iterations.
7350         * tree-ssa-dse.cc (pass_dse::execute): Release number of iteration
7351         estimates.
7353 2022-02-14  Richard Biener  <rguenther@suse.de>
7355         PR tree-optimization/104511
7356         * tree-ssa-forwprop.cc (simplify_vector_constructor): Avoid
7357         touching DFP <-> FP conversions.
7359 2022-02-14  Richard Biener  <rguenther@suse.de>
7361         PR middle-end/104497
7362         * gimplify.cc (gimplify_compound_lval): Make sure the
7363         base is a non-register if needed and possible.
7365 2022-02-13  liuhongt  <hongtao.liu@intel.com>
7367         PR target/103771
7368         * match.pd (cond_expr_convert_p): New match.
7369         * tree-vect-patterns.cc (gimple_cond_expr_convert_p): Declare.
7370         (vect_recog_cond_expr_convert_pattern): New.
7372 2022-02-12  Jakub Jelinek  <jakub@redhat.com>
7374         PR sanitizer/104449
7375         * asan.cc: Include tree-eh.h.
7376         (handle_builtin_alloca): Handle the case when __builtin_alloca or
7377         __builtin_alloca_with_align can throw.
7379 2022-02-12  Jakub Jelinek  <jakub@redhat.com>
7381         PR target/104502
7382         * config/i386/i386.md (cvtsd2ss splitter): If operands[1] is xmm16+
7383         and AVX512VL isn't available, move operands[1] to operands[0] first.
7385 2022-02-12  Uroš Bizjak  <ubizjak@gmail.com>
7387         PR target/79754
7388         * config/i386/i386.cc (type_natural_mode):
7389         Skip decimal float vector modes.
7391 2022-02-11  Iain Sandoe  <iain@sandoe.co.uk>
7392             Vladimir Makarov  <vmakarov@redhat.com>
7394         PR target/104117
7395         * config/rs6000/rs6000.cc (darwin_rs6000_legitimate_lo_sum_const_p):
7396         Check for UNSPEC_MACHOPIC_OFFSET wrappers on symbolic addresses when
7397         emitting PIC code.
7398         (legitimate_lo_sum_address_p): Likewise.
7399         * lra-constraints.cc (process_address_1): Do not attempt to emit a reg
7400         load from an invalid lo_sum address.
7402 2022-02-11  Jakub Jelinek  <jakub@redhat.com>
7404         PR tree-optimization/104499
7405         * match.pd ((X & Y) CMP 0 -> X CMP2 ~Y): Use view_convert instead
7406         of convert.
7408 2022-02-11  Jakub Jelinek  <jakub@redhat.com>
7410         * tree.cc (build_common_builtin_nodes): Fix up formatting in
7411         __builtin_clear_padding decl creation.
7412         * gimplify.cc (gimple_add_padding_init_for_auto_var): Encode
7413         for_auto_init in the value of 2nd BUILT_IN_CLEAR_PADDING
7414         argument rather than in 3rd argument.
7415         (gimplify_call_expr): Likewise.  Fix up comment formatting.
7416         * gimple-fold.cc (gimple_fold_builtin_clear_padding): Expect
7417         2 arguments instead of 3, take for_auto_init from the value
7418         of 2nd argument.
7420 2022-02-11  Vladimir N. Makarov  <vmakarov@redhat.com>
7422         PR rtl-optimization/104400
7423         * lra-constraints.cc (process_alt_operands): Don't make union of
7424         this_alternative_exclude_start_hard_regs when reg class in insn
7425         alternative covers other reg classes in the same alternative.
7427 2022-02-11  Jakub Jelinek  <jakub@redhat.com>
7429         PR middle-end/104446
7430         * combine.cc (subst): Don't substitute CONST_INTs into RTX_AUTOINC
7431         operands.
7433 2022-02-11  Richard Biener  <rguenther@suse.de>
7435         PR middle-end/104496
7436         * internal-fn.cc (vectorized_internal_fn_supported_p):
7437         Bail out for integer mode vector types.
7439 2022-02-11  Jakub Jelinek  <jakub@redhat.com>
7441         PR rtl-optimization/104459
7442         * df-scan.cc (df_insn_change_bb): Don't call df_set_bb_dirty when
7443         moving DEBUG_INSNs between bbs.
7445 2022-02-11  liuhongt  <hongtao.liu@intel.com>
7447         PR tree-optimization/104479
7448         * match.pd (uncond_op + vec_cond -> cond_op): Add single_use
7449         for the dest of uncond_op.
7451 2022-02-11  Tom de Vries  <tdevries@suse.de>
7453         PR target/104456
7454         * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle asm
7455         insn.
7457 2022-02-10  Qing Zhao  <qing.zhao@oracle.com>
7459         PR middle-end/100775
7460         * function.cc (gen_call_used_regs_seq): Call
7461         df_update_exit_block_uses when updating df.
7463 2022-02-10  Uroš Bizjak  <ubizjak@gmail.com>
7465         PR target/104469
7466         * config/i386/sse.md (vec_unpacks_float_lo_v4si):
7467         Change operand 1 constraint to register_operand.
7469 2022-02-10  Richard Biener  <rguenther@suse.de>
7471         PR tree-optimization/104373
7472         * tree-ssa-sccvn.h (do_rpo_vn): New export exposing the
7473         walk kind.
7474         * tree-ssa-sccvn.cc (do_rpo_vn): Export, get the default
7475         walk kind as argument.
7476         (run_rpo_vn): Adjust.
7477         (pass_fre::execute): Likewise.
7478         * tree-ssa-uninit.cc (warn_uninitialized_vars): Skip
7479         blocks not reachable.
7480         (execute_late_warn_uninitialized): Mark all edges as
7481         executable.
7482         (execute_early_warn_uninitialized): Use VN to compute
7483         executable edges.
7484         (pass_data_early_warn_uninitialized): Enable a dump file,
7485         change dump name to warn_uninit.
7487 2022-02-10  Richard Biener  <rguenther@suse.de>
7489         PR middle-end/104467
7490         * match.pd (vector extract simplification): Multiply the
7491         number of CTOR elements with the number of element elements.
7493 2022-02-10  Richard Biener  <rguenther@suse.de>
7495         PR tree-optimization/104466
7496         * tree-ssa-alias.cc (refs_may_alias_p_2): Use rbase1/rbase2
7497         for the MR_DEPENDENCE checks as intended.
7499 2022-02-10  Tom de Vries  <tdevries@suse.de>
7501         * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"): New
7502         define_insn.
7503         (define_expand "atomic_store<mode>"): Use nvptx_atomic_store<mode> for
7504         TARGET_SM70.
7505         (define_c_enum "unspecv"): Add UNSPECV_ST.
7507 2022-02-10  Tom de Vries  <tdevries@suse.de>
7509         * config/nvptx/nvptx-protos.h (nvptx_mem_maybe_shared_p): Declare.
7510         * config/nvptx/nvptx.cc (nvptx_mem_data_area): New static function.
7511         (nvptx_mem_maybe_shared_p): New function.
7512         * config/nvptx/nvptx.md (define_expand "atomic_store<mode>"): New
7513         define_expand.
7515 2022-02-10  Tom de Vries  <tdevries@suse.de>
7517         PR target/97005
7518         * config/nvptx/nvptx.md (define_insn "sub<mode>3"): Workaround
7519         driver JIT bug by using sub.s16 instead of sub.u16.
7521 2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
7523         * config/nvptx/nvptx.md (copysign<mode>3): Allow immediate
7524         floating point constants as operands 1 and/or 2.
7526 2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
7528         PR target/104345
7529         * config/nvptx/nvptx.md (sel_true<mode>): Fix indentation.
7530         (sel_false<mode>): Likewise.
7531         (define_code_iterator eqne): New code iterator for EQ and NE.
7532         (*selp<mode>_neg_<code>): New define_insn_and_split to optimize
7533         the negation of a selp instruction.
7534         (*selp<mode>_not_<code>): New define_insn_and_split to optimize
7535         the bitwise not of a selp instruction.
7536         (*setcc_int<mode>): Use set instruction for neg:SI of a selp.
7538 2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
7540         * config/nvptx/nvptx.md (any_logic): Move code iterator earlier
7541         in machine description.
7542         (logic): Move code attribute earlier in machine description.
7543         (ilogic): New code attribute, like logic but "ior" for IOR.
7544         (and<mode>3, ior<mode>3, xor<mode>3): Delete. Replace with...
7545         (<ilogic><mode>3): New define_insn for HSDIM logic operations.
7546         (<ilogic>bi3): New define_insn for BI mode logic operations.
7547         (define_split): Lower logic operations from integer modes to
7548         BI mode predicate operations.
7550 2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
7552         * config/nvptx/nvptx.md (UNSPEC_ISINF): New UNSPEC.
7553         (one_cmplbi2): New define_insn for not.pred.
7554         (mulditi3): New define_expand for signed widening multiply.
7555         (umulditi3): New define_expand for unsigned widening multiply.
7556         (smul<mode>3_highpart): New define_insn for signed highpart mult.
7557         (umul<mode>3_highpart): New define_insn for unsigned highpart mult.
7558         (*smulhi3_highpart_2): Renamed from smulhi3_highpart.
7559         (*smulsi3_highpart_2): Renamed from smulsi3_highpart.
7560         (*umulhi3_highpart_2): Renamed from umulhi3_highpart.
7561         (*umulsi3_highpart_2): Renamed from umulsi3_highpart.
7562         (*setcc<mode>_from_not_bi): New define_insn.
7563         (*setcc_isinf<mode>): New define_insn for testp.infinite.
7564         (isinf<mode>2): New define_expand.
7566 2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
7568         * config/nvptx/nvptx.md (cmp<mode>): Renamed from *cmp<mode>.
7569         (setcc<mode>_from_bi): Additionally support QImode.
7570         (extendbi<mode>2): Additionally support QImode.
7571         (zero_extendbi<mode>2): Additionally support QImode.
7572         (any_sbinary, any_ubinary, any_sunary, any_uunary): New code
7573         iterators for signed and unsigned, binary and unary operations.
7574         (<sbinary>qi3, <ubinary>qi3, <sunary>qi2, <uunary>qi2): New
7575         expanders to perform QImode operations using SImode instructions.
7576         (cstoreqi4): New define_expand.
7577         (*ext_truncsi2_qi): New define_insn.
7578         (*zext_truncsi2_qi): New define_insn.
7580 2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
7582         * config/nvptx/nvptx.md (*cmpf): New define_insn.
7583         (cstorehf4): New define_expand.
7584         (fmahf4): New define_insn.
7585         (neghf2): New define_insn.
7586         (abshf2): New define_insn.
7588 2022-02-10  Gerald Pfeifer  <gerald@pfeifer.com>
7590         * doc/install.texi (Specific): Change the www.bitwizard.nl
7591         reference to use https.
7593 2022-02-10  Marcel Vollweiler  <marcel@codesourcery.com>
7595         * gimplify.cc (gimplify_scan_omp_clauses): Added cases for
7596         OMP_CLAUSE_HAS_DEVICE_ADDR
7597         and handle array sections.
7598         (gimplify_adjust_omp_clauses): Added OMP_CLAUSE_HAS_DEVICE_ADDR case.
7599         * omp-low.cc (scan_sharing_clauses): Handle OMP_CLAUSE_HAS_DEVICE_ADDR.
7600         (lower_omp_target): Same.
7601         * tree-core.h (enum omp_clause_code): Same.
7602         * tree-nested.cc (convert_nonlocal_omp_clauses): Same.
7603         (convert_local_omp_clauses): Same.
7604         * tree-pretty-print.cc (dump_omp_clause): Same.
7605         * tree.cc: Same.
7607 2022-02-10  Eugene Rozenfeld  <erozen@microsoft.com>
7609         * auto-profile.cc (afdo_indirect_call): Don't attempt to promote indirect calls
7610         that will result in direct recursive calls.
7612 2022-02-10  Andrew Pinski  <apinski@marvell.com>
7614         PR target/104474
7615         * config/aarch64/aarch64.cc
7616         (aarch64_sve_expand_vector_init_handle_trailing_constants):
7617         Use CONST0_RTX instead of const0_rtx for the non-constant elements.
7619 2022-02-09  Uroš Bizjak  <ubizjak@gmail.com>
7621         PR target/104462
7622         * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_XSAVE_UNSET):
7623         Also include OPTION_MASK_ISA2_AVX2_UNSET.
7625 2022-02-09  Uroš Bizjak  <ubizjak@gmail.com>
7627         PR target/104458
7628         * config/i386/i386-expand.cc (ix86_split_idivmod):
7629         Force operands[2] and operands[3] into a register..
7631 2022-02-09  Jeff Law  <jeffreyalaw@gmail.com>
7633         PR target/97040
7634         * config/v850/v850.md (*v850_fnmasf4): Renamed from fnmasf4.
7635         (*v850_fnmssf4): Renamed from fnmssf4
7637 2022-02-09  Ian Lance Taylor  <iant@golang.org>
7639         * godump.cc (go_force_record_alignment): Really name the alignment
7640         field "_" (complete 2021-12-29 change).
7642 2022-02-09  Bill Schmidt  <wschmidt@linux.ibm.com>
7644         * config/rs6000/rs6000-builtins.def (VREPLACE_UN_UV2DI): Change
7645         function prototype.
7646         (VREPLACE_UN_UV4SI): Likewise.
7647         (VREPLACE_UN_V2DF): Likewise.
7648         (VREPLACE_UN_V2DI): Likewise.
7649         (VREPLACE_UN_V4SF): Likewise.
7650         (VREPLACE_UN_V4SI): Likewise.
7651         * config/rs6000/rs6000-overload.def (VEC_REPLACE_UN): Change all
7652         function prototypes.
7653         * config/rs6000/vsx.md (vreplace_un_<mode>): Remove define_expand.
7654         (vreplace_un_<mode>): New define_insn.
7656 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
7658         * config/aarch64/iterators.md (VDCSIF): New mode iterator.
7659         (VDBL): Handle SF.
7660         (single_wx, single_type, single_dtype, dblq): New mode attributes.
7661         * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Extend
7662         from VDC to VDCSIF.
7663         (store_pair_lanes<mode>): Likewise.
7664         (*aarch64_combine_internal<mode>): Likewise.
7665         (*aarch64_combine_internal_be<mode>): Likewise.
7666         (*aarch64_combinez<mode>): Likewise.
7667         (*aarch64_combinez_be<mode>): Likewise.
7668         * config/aarch64/aarch64.cc (aarch64_classify_address): Handle
7669         8-byte modes for ADDR_QUERY_LDP_STP_N.
7670         (aarch64_print_operand): Likewise for %y.
7672 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
7674         * config/aarch64/aarch64-simd.md (@aarch64_split_simd_mov<mode>):
7675         Use aarch64_combine instead of move_lo/hi_quad.  Tabify.
7676         (move_lo_quad_<mode>, aarch64_simd_move_hi_quad_<mode>): Delete.
7677         (aarch64_simd_move_hi_quad_be_<mode>, move_hi_quad_<mode>): Delete.
7678         (vec_pack_trunc_<mode>): Take general_operand elements and use
7679         aarch64_combine rather than move_lo/hi_quad to combine them.
7680         (vec_pack_trunc_df): Likewise.
7682 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
7684         * config/aarch64/aarch64-protos.h (aarch64_split_simd_combine):
7685         Delete.
7686         * config/aarch64/aarch64-simd.md (@aarch64_combinez<mode>): Rename
7687         to...
7688         (*aarch64_combinez<mode>): ...this.
7689         (@aarch64_combinez_be<mode>): Rename to...
7690         (*aarch64_combinez_be<mode>): ...this.
7691         (@aarch64_vec_concat<mode>): New expander.
7692         (aarch64_combine<mode>): Use it.
7693         (@aarch64_simd_combine<mode>): Delete.
7694         * config/aarch64/aarch64.cc (aarch64_split_simd_combine): Delete.
7695         (aarch64_expand_vector_init): Use aarch64_vec_concat.
7697 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
7699         * config/aarch64/predicates.md (aarch64_reg_or_mem_pair_operand):
7700         New predicate.
7701         * config/aarch64/aarch64-simd.md (*aarch64_combine_internal<mode>)
7702         (*aarch64_combine_internal_be<mode>): New patterns.
7704 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
7706         * config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>)
7707         (move_lo_quad_internal_be_<mode>): Delete.
7708         (move_lo_quad_<mode>): Use aarch64_combine<Vhalf> instead of the above.
7710 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
7712         * config/aarch64/aarch64-protos.h (aarch64_mergeable_load_pair_p):
7713         Declare.
7714         * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Use
7715         aarch64_mergeable_load_pair_p instead of inline check.
7716         * config/aarch64/aarch64.cc (aarch64_expand_vector_init): Likewise.
7717         (aarch64_check_consecutive_mems): Allow the reversed parameter
7718         to be null.
7719         (aarch64_mergeable_load_pair_p): New function.
7721 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
7723         * config/aarch64/aarch64-simd.md (vec_set<mode>): Allow the
7724         element to be an aarch64_simd_nonimmediate_operand.
7726 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
7728         * config/aarch64/aarch64-simd.md (aarch64_simd_vec_set<mode>): Use
7729         aarch64_simd_nonimmediate_operand instead of
7730         aarch64_simd_general_operand.
7731         (@aarch64_combinez<mode>): Use nonimmediate_operand instead of
7732         general_operand.
7733         (@aarch64_combinez_be<mode>): Likewise.
7735 2022-02-09  Richard Biener  <rguenther@suse.de>
7737         PR middle-end/104464
7738         * gimple-isel.cc (gimple_expand_vec_cond_expr): Postpone
7739         throwing check to after unproblematic replacement.
7741 2022-02-09  Roger Sayle  <roger@nextmovesoftware.com>
7743         PR tree-optimization/104420
7744         * match.pd (mult @0 real_zerop): Tweak conditions for constant
7745         folding X*0.0 (or X*-0.0) to HONOR_SIGNED_ZEROS when appropriate.
7747 2022-02-09  Jakub Jelinek  <jakub@redhat.com>
7749         PR debug/104407
7750         * dwarf2out.cc (mangle_referenced_decls): New function.
7751         (tree_add_const_value_attribute): Don't call rtl_for_decl_init if
7752         early_dwarf.  Instead walk the initializer and try to mangle vars or
7753         functions referenced from it.
7755 2022-02-09  Andrew MacLeod  <amacleod@redhat.com>
7757         PR tree-optimization/104288
7758         * gimple-range-cache.cc (non_null_ref::set_nonnull): New.
7759         (non_null_ref::adjust_range): Move to header.
7760         (ranger_cache::range_of_def): Don't check non-null.
7761         (ranger_cache::entry_range): Don't check non-null.
7762         (ranger_cache::range_on_edge): Check for nonnull on normal edges.
7763         (ranger_cache::update_to_nonnull): New.
7764         (non_null_loadstore): New.
7765         (ranger_cache::block_apply_nonnull): New.
7766         * gimple-range-cache.h (class non_null_ref): Update prototypes.
7767         (non_null_ref::adjust_range): Move to here and inline.
7768         (class ranger_cache): Update prototypes.
7769         * gimple-range-path.cc (path_range_query::range_defined_in_block): Do
7770         not search dominators.
7771         (path_range_query::adjust_for_non_null_uses): Ditto.
7772         * gimple-range.cc (gimple_ranger::range_of_expr): Check on-entry for
7773         def overrides.  Do not check nonnull.
7774         (gimple_ranger::range_on_entry): Check dominators for nonnull.
7775         (gimple_ranger::range_on_edge): Check for nonnull on normal edges..
7776         (gimple_ranger::register_side_effects): New.
7777         * gimple-range.h (gimple_ranger::register_side_effects): New.
7778         * tree-vrp.cc (rvrp_folder::fold_stmt): Call register_side_effects.
7780 2022-02-09  Richard Biener  <rguenther@suse.de>
7782         PR tree-optimization/104445
7783         PR tree-optimization/102832
7784         * optabs-query.h (can_vec_extract): New.
7785         * optabs-query.cc (can_vec_extract): Likewise.
7786         * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
7787         we can extract a hi/lo part from the larger vector, rework
7788         check iteration from larger to smaller sizes.
7790 2022-02-09  H.J. Lu  <hjl.tools@gmail.com>
7792         PR target/35513
7793         PR target/100593
7794         * config/i386/gnu-property.cc: Include "i386-protos.h".
7795         (file_end_indicate_exec_stack_and_gnu_property): Generate
7796         a GNU_PROPERTY_1_NEEDED note for -mno-direct-extern-access or
7797         nodirect_extern_access attribute.
7798         * config/i386/i386-options.cc
7799         (handle_nodirect_extern_access_attribute): New function.
7800         (ix86_attribute_table): Add nodirect_extern_access attribute.
7801         * config/i386/i386-protos.h (ix86_force_load_from_GOT_p): Add a
7802         bool argument.
7803         (ix86_has_no_direct_extern_access): New.
7804         * config/i386/i386.cc (ix86_has_no_direct_extern_access): New.
7805         (ix86_force_load_from_GOT_p): Add a bool argument to indicate
7806         call operand.  Force non-call load from GOT for
7807         -mno-direct-extern-access or nodirect_extern_access attribute.
7808         (legitimate_pic_address_disp_p): Avoid copy relocation in PIE
7809         for -mno-direct-extern-access or nodirect_extern_access attribute.
7810         (ix86_print_operand): Pass true to ix86_force_load_from_GOT_p
7811         for call operand.
7812         (asm_preferred_eh_data_format): Use PC-relative format for
7813         -mno-direct-extern-access to avoid copy relocation.  Check
7814         ptr_mode instead of TARGET_64BIT when selecting DW_EH_PE_sdata4.
7815         (ix86_binds_local_p): Set ix86_has_no_direct_extern_access to
7816         true for -mno-direct-extern-access or nodirect_extern_access
7817         attribute.  Don't treat protected data as extern and avoid copy
7818         relocation on common symbol with -mno-direct-extern-access or
7819         nodirect_extern_access attribute.
7820         (ix86_reloc_rw_mask): New to avoid copy relocation for
7821         -mno-direct-extern-access.
7822         (TARGET_ASM_RELOC_RW_MASK): New.
7823         * config/i386/i386.opt: Add -mdirect-extern-access.
7824         * doc/extend.texi: Document nodirect_extern_access attribute.
7825         * doc/invoke.texi: Document -m[no-]direct-extern-access.
7827 2022-02-09  H.J. Lu  <hjl.tools@gmail.com>
7829         PR target/104441
7830         * config/i386/i386.cc (ix86_avx_u128_mode_source): New function.
7831         (ix86_avx_u128_mode_needed): Return AVX_U128_ANY for debug INSN.
7832         Call ix86_avx_u128_mode_source to check mode for each component
7833         of source operand.
7835 2022-02-09  liuhongt  <hongtao.liu@intel.com>
7837         PR target/104451
7838         * config/i386/sse.md (<insn><mode>3): lowpart_subreg
7839         operands[2] from SImode to QImode.
7841 2022-02-09  Richard Biener  <rguenther@suse.de>
7843         PR middle-end/104450
7844         * gimple-isel.cc: Pass cfun around.
7845         (+gimple_expand_vec_cond_expr): Do not combine a throwing
7846         comparison with the select.
7848 2022-02-09  Richard Biener  <rguenther@suse.de>
7850         PR target/104453
7851         * config/i386/i386.cc (ix86_gimple_fold_builtin): Guard shift
7852         folding for NULL LHS.
7854 2022-02-08  Robin Dapp  <rdapp@linux.ibm.com>
7856         PR rtl-optimization/104198
7857         PR rtl-optimization/104153
7858         * ifcvt.cc (noce_convert_multiple_sets_1): Copy rtx instead of
7859         using it directly.  Rework comparison handling and always
7860         perform a second pass.
7862 2022-02-08  Jakub Jelinek  <jakub@redhat.com>
7864         PR target/102140
7865         * config/rs6000/rs6000.cc (vspltis_shifted): Return false also if
7866         split1 pass has finished already.
7868 2022-02-08  Bill Schmidt  <wschmidt@linux.ibm.com>
7870         * config/rs6000/rs6000-builtins.def (VMSUMCUD): New.
7871         * config/rs6000/rs6000-overload.def (VEC_MSUMC): New.
7872         * config/rs6000/vsx.md (UNSPEC_VMSUMCUD): New constant.
7873         (vmsumcud): New define_insn.
7875 2022-02-08  Tom de Vries  <tdevries@suse.de>
7877         * config/nvptx/nvptx-opts.h (enum ptx_isa): Add PTX_ISA_SM70.
7878         * config/nvptx/nvptx.h (TARGET_SM70): Define.
7880 2022-02-08  Robin Dapp  <rdapp@linux.ibm.com>
7882         * config/s390/s390.cc (s390_rtx_costs): Increase costs for load
7883         on condition.
7884         * config/s390/s390.md: Use paradoxical subreg.
7886 2022-02-08  Robin Dapp  <rdapp@linux.ibm.com>
7888         * combine.cc (reg_subword_p): Check for paradoxical subreg.
7890 2022-02-08  Tom de Vries  <tdevries@suse.de>
7892         PR target/104283
7893         * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_3_0
7894         and PTX_VERSION_4_2.
7895         * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm)
7896         (default_ptx_version_option, ptx_version_to_string)
7897         (sm_version_to_string, handle_ptx_version_option): New function.
7898         (nvptx_option_override): Call handle_ptx_version_option.
7899         (nvptx_file_start): Use ptx_version_to_string and sm_version_to_string.
7900         * config/nvptx/nvptx.md (define_insn "nvptx_shuffle<mode>")
7901         (define_insn "nvptx_vote_ballot"): Use TARGET_PTX_6_0.
7902         * config/nvptx/nvptx.opt (mptx): Remove 'Init'.
7904 2022-02-08  Maciej W. Rozycki  <macro@embecosm.com>
7906         * doc/install.texi (Configuration): Document `--with-isa-spec='
7907         RISC-V option.
7908         * doc/invoke.texi (Option Summary): List `-misa-spec=' RISC-V
7909         option.
7910         (RISC-V Options): Document it.
7912 2022-02-08  Maciej W. Rozycki  <macro@embecosm.com>
7914         * config/riscv/t-riscv (riscv-sr.o): Add $(TM_H) dependency.
7916 2022-02-08  Tom de Vries  <tdevries@suse.de>
7918         * config/nvptx/nvptx.cc (write_fn_proto_1): Handle 'main (int)'.
7920 2022-02-08  Tom de Vries  <tdevries@suse.de>
7922         PR target/104364
7923         * config/nvptx/nvptx-protos.h (nvptx_mem_local_p): Declare.
7924         * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Assert that
7925         change is validated.
7926         (nvptx_mem_local_p): New function.
7927         * config/nvptx/nvptx.md: Use nvptx_mem_local_p.
7928         (define_c_enum "unspecv"): Add UNSPECV_CAS_LOCAL.
7929         (define_insn "atomic_compare_and_swap<mode>_1_local"): New
7930         non-atomic, non-predicable define_insn, factored out of ...
7931         (define_insn "atomic_compare_and_swap<mode>_1"): ... here.
7932         Make predicable again.
7933         (define_expand "atomic_compare_and_swap<mode>"): Use
7934         atomic_compare_and_swap<mode>_1_local.
7936 2022-02-08  liuhongt  <hongtao.liu@intel.com>
7938         PR rtl-optimization/104059
7939         * regcprop.cc (copyprop_hardreg_forward_1): Don't propagate
7940         for a more expensive reg-reg move.
7942 2022-02-07  Tamar Christina  <tamar.christina@arm.com>
7944         * config/arm/arm_neon.h (vusdotq_s32, vusdot_laneq_s32,
7945         vusdotq_laneq_s32, vsudot_laneq_s32, vsudotq_laneq_s32): New
7946         * config/arm/arm_neon_builtins.def (usdot): Add V16QI.
7947         (usdot_laneq, sudot_laneq): New.
7948         * config/arm/neon.md (neon_<sup>dot_laneq<vsi2qi>): New.
7949         (neon_<sup>dot_lane<vsi2qi>): Remote unneeded code.
7951 2022-02-07  Tamar Christina  <tamar.christina@arm.com>
7953         * config/arm/arm_neon.h (vdot_laneq_u32, vdotq_laneq_u32,
7954         vdot_laneq_s32, vdotq_laneq_s32): New.
7955         * config/arm/arm_neon_builtins.def (sdot_laneq, udot_laneq): New.
7956         * config/arm/neon.md (neon_<sup>dot<vsi2qi>): New.
7957         (<sup>dot_prod<vsi2qi>): Re-order rtl.
7958         (neon_<sup>dot_lane<vsi2qi>): Fix rtl order and endiannes.
7959         (neon_<sup>dot_laneq<vsi2qi>): New.
7961 2022-02-07  Andreas Krebbel  <krebbel@linux.ibm.com>
7963         PR target/104327
7964         * config/s390/s390.cc (s390_can_inline_p): Accept a few more flags
7965         if always_inline is set. Don't inline when tune differs without
7966         always_inline.
7968 2022-02-07  Richard Biener  <rguenther@suse.de>
7970         PR middle-end/104402
7971         * gimple-expr.cc (is_gimple_condexpr): _Complex typed
7972         compares are not valid.
7973         * tree-cfg.cc (verify_gimple_assign_ternary): For COND_EXPR
7974         check is_gimple_condexpr.
7976 2022-02-07  Kewen Lin  <linkw@linux.ibm.com>
7978         PR target/103627
7979         * config/rs6000/rs6000.cc (rs6000_option_override_internal): Move the
7980         hunk affecting VSX and ALTIVEC to appropriate place.
7982 2022-02-07  Kewen Lin  <linkw@linux.ibm.com>
7984         PR target/103627
7985         * config/rs6000/rs6000.cc (rs6000_option_override_internal): Disable
7986         MMA if !TARGET_VSX.
7988 2022-02-06  Jakub Jelinek  <jakub@redhat.com>
7990         PR c++/89074
7991         PR c++/104033
7992         * fold-const.h (folding_initializer): Adjust comment.
7993         (folding_cxx_constexpr): Declare.
7994         * fold-const.cc (folding_initializer): Adjust comment.
7995         (folding_cxx_constexpr): New variable.
7996         (address_compare): Restrict the decl vs. STRING_CST
7997         or vice versa or STRING_CST vs. STRING_CST or
7998         is_global_var != is_global_var optimizations to !folding_cxx_constexpr.
7999         Punt for FUNCTION_DECLs with non-zero offsets.  If folding_initializer,
8000         assume non-aliased functions have non-zero size and have different
8001         addresses.  For folding_cxx_constexpr, punt on comparisons of start
8002         of some object and end of another one, regardless whether it is a decl
8003         or string literal.  Also punt for folding_cxx_constexpr on
8004         STRING_CST vs. STRING_CST comparisons if the two literals could be
8005         overlapping.
8007 2022-02-05  Jakub Jelinek  <jakub@redhat.com>
8009         PR tree-optimization/104389
8010         * match.pd (x * 0 -> 0): Punt if x maybe infinite and NaNs are
8011         honored.
8013 2022-02-05  Kito Cheng  <kito.cheng@sifive.com>
8015         * configure.ac: Fix detection for zifencei support.
8016         * configure: Regenerate.
8018 2022-02-05  Kito Cheng  <kito.cheng@sifive.com>
8020         PR target/104219
8021         * config.gcc (riscv*-*-*): Normalize the with_isa_spec value.
8022         (all_defaults): Add isa_spec.
8023         * config/riscv/riscv.h (OPTION_DEFAULT_SPECS): Add isa_spec.
8025 2022-02-04  Bill Schmidt  <wschmidt@linux.ibm.com>
8027         * config/rs6000/rs6000-c.cc (resolve_vec_mul): Accept args and types
8028         parameters instead of arglist and nargs.  Simplify accordingly.  Remove
8029         unnecessary test for argument count mismatch.
8030         (resolve_vec_cmpne): Likewise.
8031         (resolve_vec_adde_sube): Likewise.
8032         (resolve_vec_addec_subec): Likewise.
8033         (altivec_resolve_overloaded_builtin): Move overload special handling
8034         after the gathering of arguments into args[] and types[] and the test
8035         for correct number of arguments.  Don't perform the test for correct
8036         number of arguments for certain special cases.  Call the other special
8037         cases with args and types instead of arglist and nargs.
8039 2022-02-04  Bill Schmidt  <wschmidt@linux.ibm.com>
8041         PR target/100808
8042         * doc/extend.texi (Basic PowerPC Built-in Functions Available on ISA
8043         3.1): Provide consistent type names.  Remove unnecessary semicolons.
8044         Fix bad line breaks.
8046 2022-02-04  Jakub Jelinek  <jakub@redhat.com>
8048         PR target/104380
8049         * config/rs6000/rs6000.cc (rs6000_mangle_decl_assembler_name): Also
8050         adjust mangling of __builtin*printf_chk.
8052 2022-02-04  Jonathan Wakely  <jwakely@redhat.com>
8054         * doc/cpp.texi (Variadic Macros): Replace C++2a with C++20.
8056 2022-02-04  Richard Biener  <rguenther@suse.de>
8057             Bin Cheng   <bin.cheng@linux.alibaba.com>
8059         PR tree-optimization/100499
8060         * fold-const.h (multiple_of_p): Add nowrap parameter, defaulted
8061         to true.
8062         * fold-const.cc (multiple_of_p): Likewise.  Honor it for
8063         MULT_EXPR, PLUS_EXPR and MINUS_EXPR and pass it along,
8064         switching to false for conversions.
8065         * tree-ssa-loop-niter.cc (number_of_iterations_ne): Do not
8066         claim the outermost expression does not wrap when calling
8067         multiple_of_p.  Refactor the check done to check the
8068         original IV, avoiding a bias that might wrap.
8070 2022-02-04  Richard Biener  <rguenther@suse.de>
8072         * fold-const.cc (multiple_of_p): Re-write and move LSHIFT_EXPR
8073         handling.
8075 2022-02-04  Eric Botcazou  <ebotcazou@adacore.com>
8077         PR debug/104366
8078         * dwarf2out.cc (dwarf2out_finish): Empty base_types.
8079         (dwarf2out_early_finish): Likewise.
8081 2022-02-04  Eric Botcazou  <ebotcazou@adacore.com>
8083         PR tree-optimization/104356
8084         * match.pd (X / bool_range_Y is X): Add guard.
8085         (X / X is one): Likewise.
8086         (X / abs (X) is X < 0 ? -1 : 1): Likewise.
8087         (X / -X is -1): Likewise.
8088         (1 / X -> X == 1): Likewise.
8090 2022-02-04  Richard Biener  <rguenther@suse.de>
8092         PR tree-optimization/103641
8093         * tree-vect-patterns.cc (vect_synth_mult_by_constant):
8094         Pass the vector mode to choose_mult_variant.
8096 2022-02-04  Roger Sayle  <roger@nextmovesoftware.com>
8098         PR rtl-optimization/101885
8099         * combine.cc (try_combine): When splitting a parallel into two
8100         sequential sets, check not only that the first doesn't clobber
8101         the second but also that the second doesn't clobber the first.
8103 2022-02-04  Richard Biener  <rguenther@suse.de>
8105         PR middle-end/90348
8106         PR middle-end/104092
8107         * tree-core.h (clobber_kind): New enum.
8108         (tree_base::u::bits::address_space): Document use in CONSTRUCTORs.
8109         * tree.h (CLOBBER_KIND): Add.
8110         (build_clobber): Add clobber kind argument, defaulted to
8111         CLOBBER_UNDEF.
8112         * tree.cc (build_clobber): Likewise.
8113         * gimple.h (gimple_clobber_p): New overload with specified kind.
8114         * tree-streamer-in.cc (streamer_read_tree_bitfields): Stream
8115         CLOBBER_KIND.
8116         * tree-streamer-out.cc (streamer_write_tree_bitfields):
8117         Likewise.
8118         * tree-pretty-print.cc (dump_generic_node): Mark EOL CLOBBERs.
8119         * gimplify.cc (gimplify_bind_expr): Build storage end-of-life clobbers
8120         with CLOBBER_EOL.
8121         (gimplify_target_expr): Likewise.
8122         * tree-inline.cc (expand_call_inline): Likewise.
8123         * tree-ssa-ccp.cc (insert_clobber_before_stack_restore): Likewise.
8124         * gimple-ssa-warn-access.cc (pass_waccess::check_stmt): Only treat
8125         CLOBBER_EOL clobbers as ending lifetime of storage.
8127 2022-02-04  Martin Sebor  <msebor@redhat.com>
8129         * pointer-query.h (pointer_query::cache_type): Use auto_vec for auto
8130         cleanup.
8132 2022-02-03  Martin Sebor  <msebor@redhat.com>
8134         PR middle-end/104260
8135         * passes.def (pass_warn_access): Adjust pass placement.
8137 2022-02-03  Uroš Bizjak  <ubizjak@gmail.com>
8139         PR target/104362
8140         * config/i386/i386.cc (find_drap_reg): For 32bit targets
8141         return DI_REG if function uses __builtin_eh_return.
8143 2022-02-03  Martin Sebor  <msebor@redhat.com>
8145         * gimple-ssa-warn-restrict.cc (class pass_wrestrict): Outline ctor.
8146         (pass_wrestrict::m_ptr_qry): New member.
8147         (wrestrict_walk): Rename...
8148         (pass_wrestrict::check_block): ...to this.
8149         (pass_wrestrict::execute): Set up and tear down pointer_query and
8150         ranger.
8151         (builtin_memref::builtin_memref): Change ctor argument.  Simplify.
8152         (builtin_access::builtin_access): Same.
8153         (builtin_access::m_ptr_qry): New member.
8154         (check_call): Rename...
8155         (pass_wrestrict::check_call): ...to this.
8156         (check_bounds_or_overlap): Change argument.
8157         * gimple-ssa-warn-restrict.h (check_bounds_or_overlap): Same.
8159 2022-02-03  Martin Sebor  <msebor@redhat.com>
8161         * gimple-array-bounds.cc (array_bounds_checker::array_bounds_checker):
8162         Define ctor.
8163         (array_bounds_checker::get_value_range): Use new member.
8164         (array_bounds_checker::check_mem_ref): Same.
8165         * gimple-array-bounds.h (array_bounds_checker::array_bounds_checker):
8166         Outline ctor.
8167         (array_bounds_checker::m_ptr_query): New member.
8169 2022-02-03  Martin Sebor  <msebor@redhat.com>
8171         * gimple-ssa-warn-access.cc (pass_waccess::pass_waccess): Remove
8172         pointer_query cache.
8173         * pointer-query.cc (pointer_query::pointer_query): Remove cache
8174         argument.  Zero-initialize new cache member.
8175         (pointer_query::get_ref): Replace cache pointer with direct access.
8176         (pointer_query::put_ref): Same.
8177         (pointer_query::flush_cache): Same.
8178         (pointer_query::dump): Same.
8179         * pointer-query.h (class pointer_query): Remove cache argument from
8180         ctor.  Change cache pointer to cache subobject member.
8181         * tree-ssa-strlen.cc: Remove pointer_query cache.
8183 2022-02-03  Martin Sebor  <msebor@redhat.com>
8185         PR tree-optimization/104119
8186         * gimple-ssa-sprintf.cc (struct directive): Change argument type.
8187         (format_none): Same.
8188         (format_percent): Same.
8189         (format_integer): Same.
8190         (format_floating): Same.
8191         (get_string_length): Same.
8192         (format_character): Same.
8193         (format_string): Same.
8194         (format_plain): Same.
8195         (format_directive): Same.
8196         (compute_format_length): Same.
8197         (handle_printf_call): Same.
8198         * tree-ssa-strlen.cc (get_range_strlen_dynamic): Same.   Call
8199         get_maxbound.
8200         (get_range_strlen_phi): Same.
8201         (get_maxbound): New function.
8202         (strlen_pass::get_len_or_size): Adjust to parameter change.
8203         * tree-ssa-strlen.h (get_range_strlen_dynamic): Change argument type.
8205 2022-02-03  Bill Schmidt  <wschmidt@linux.ibm.com>
8207         PR target/103686
8208         * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Remove
8209         test for !rs6000_fold_gimple.
8210         * config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise.
8211         * config/rs6000/rs6000.opt (mfold-gimple): Remove.
8213 2022-02-03  Bill Schmidt  <wschmidt@linux.ibm.com>
8215         PR target/95082
8216         * config/rs6000/rs6000-builtin.cc (rs6000_expand_builtin): Handle
8217         endianness for vclzlsbb and vctzlsbb.
8218         * config/rs6000/rs6000-builtins.def (VCLZLSBB_V16QI): Change
8219         default pattern and indicate a different pattern will be used for
8220         big endian.
8221         (VCLZLSBB_V4SI): Likewise.
8222         (VCLZLSBB_V8HI): Likewise.
8223         (VCTZLSBB_V16QI): Likewise.
8224         (VCTZLSBB_V4SI): Likewise.
8225         (VCTZLSBB_V8HI): Likewise.
8227 2022-02-03  Bill Schmidt  <wschmidt@linux.ibm.com>
8229         * config.gcc (powerpc*-*-*): Add rs6000-builtin.o to extra_objs.
8230         * config/rs6000/rs6000-builtin.cc: New file, containing code moved
8231         from other files.
8232         * config/rs6000/rs6000-call.cc (cpu_is_info): Move to
8233         rs6000-builtin.cc.
8234         (cpu_supports_info): Likewise.
8235         (rs6000_type_string): Likewise.
8236         (altivec_expand_predicate_builtin): Likewise.
8237         (rs6000_htm_spr_icode): Likewise.
8238         (altivec_expand_vec_init_builtin): Likewise.
8239         (get_element_number): Likewise.
8240         (altivec_expand_vec_set_builtin): Likewise.
8241         (altivec_expand_vec_ext_builtin): Likewise.
8242         (rs6000_invalid_builtin): Likewise.
8243         (rs6000_fold_builtin): Likewise.
8244         (fold_build_vec_cmp): Likewise.
8245         (fold_compare_helper): Likewise.
8246         (map_to_integral_tree_type): Likewise.
8247         (fold_mergehl_helper): Likewise.
8248         (fold_mergeeo_helper): Likewise.
8249         (rs6000_builtin_valid_without_lhs): Likewise.
8250         (rs6000_builtin_is_supported): Likewise.
8251         (rs6000_gimple_fold_mma_builtin): Likewise.
8252         (rs6000_gimple_fold_builtin): Likewise.
8253         (rs6000_expand_ldst_mask): Likewise.
8254         (cpu_expand_builtin): Likewise.
8255         (elemrev_icode): Likewise.
8256         (ldv_expand_builtin): Likewise.
8257         (lxvrse_expand_builtin): Likewise.
8258         (lxvrze_expand_builtin): Likewise.
8259         (stv_expand_builtin): Likewise.
8260         (mma_expand_builtin): Likewise.
8261         (htm_spr_num): Likewise.
8262         (htm_expand_builtin): Likewise.
8263         (rs6000_expand_builtin): Likewise.
8264         (rs6000_vector_type): Likewise.
8265         (rs6000_init_builtins): Likewise.  Remove initialization of
8266         builtin_mode_to_type entries.
8267         (rs6000_builtin_decl): Move to rs6000-builtin.cc.
8268         * config/rs6000/rs6000.cc (rs6000_builtin_mask_for_load): New
8269         external declaration.
8270         (rs6000_builtin_md_vectorized_function): Likewise.
8271         (rs6000_builtin_reciprocal): Likewise.
8272         (altivec_builtin_mask_for_load): Move to rs6000-builtin.cc.
8273         (rs6000_builtin_types): Likewise.
8274         (builtin_mode_to_type): Remove.
8275         (rs6000_builtin_mask_for_load): Move to rs6000-builtin.cc.  Remove
8276         static qualifier.
8277         (rs6000_builtin_md_vectorized_function): Likewise.
8278         (rs6000_builtin_reciprocal): Likewise.
8279         * config/rs6000/rs6000.h (builtin_mode_to_type): Remove.
8280         * config/rs6000/t-rs6000 (rs6000-builtin.o): New target.
8282 2022-02-03  Richard Biener  <rguenther@suse.de>
8284         PR debug/104337
8285         * tree-nrv.cc (pass_nrv::execute): Remove tieing result and found
8286         together via DECL_ABSTRACT_ORIGIN.
8288 2022-02-03  Bill Schmidt  <wschmidt@linux.ibm.com>
8290         * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Revise error
8291         message for RES_BITS case.
8293 2022-02-03  Aldy Hernandez  <aldyh@redhat.com>
8295         * gimple-range-fold.cc (fur_list::fur_list): Set m_local[1] correctly.
8297 2022-02-03  Jakub Jelinek  <jakub@redhat.com>
8299         * config/arm/arm.opt (mfix-cortex-a57-aes-1742098,
8300         mfix-cortex-a72-aes-1655431): Ensure description ends with full stop.
8302 2022-02-03  Aldy Hernandez  <aldyh@redhat.com>
8304         * cfganal.cc (verify_marked_backedges): New.
8305         * cfganal.h (verify_marked_backedges): New.
8306         * gimple-range-path.cc (path_range_query::path_range_query):
8307         Verify freshness of back edges.
8308         * tree-ssa-loop-ch.cc (ch_base::copy_headers): Call
8309         mark_dfs_back_edges.
8310         * tree-ssa-threadbackward.cc (back_threader::back_threader): Move
8311         path_range_query construction after backedges have been
8312         updated.
8314 2022-02-03  Richard Sandiford  <richard.sandiford@arm.com>
8316         * config/aarch64/aarch64-simd.md (movmisalign<mode>): Extend from
8317         VALL to VALL_F16.
8319 2022-02-03  Richard Sandiford  <richard.sandiford@arm.com>
8321         * config/aarch64/iterators.md (VALL_F16MOV): Delete.
8322         * config/aarch64/aarch64-simd.md (mov<mode>): Use VALL_F16 instead
8323         of VALL_F16MOV.
8325 2022-02-03  Martin Liska  <mliska@suse.cz>
8327         * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p):
8328         Change subject and object in the error message.
8329         * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
8330         Likewise.
8332 2022-02-03  Martin Liska  <mliska@suse.cz>
8334         * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
8335         Use the error message for i386 target.
8337 2022-02-03  Jakub Jelinek  <jakub@redhat.com>
8339         PR tree-optimization/104334
8340         * range-op.cc (range_operator::wi_fold_in_parts): Change lh_range
8341         and rh_range type to widest_int and subtract in widest_int.  Remove
8342         ov_rh, ov_lh and sign vars, always perform comparisons as signed
8343         and use >, < and == operators for it.
8345 2022-02-03  Martin Sebor  <msebor@redhat.com>
8347         * common.opt (-Wuse-after-free): Correct typos.
8349 2022-02-02  David Malcolm  <dmalcolm@redhat.com>
8351         PR analyzer/104270
8352         * doc/invoke.texi (-ftrivial-auto-var-init=): Add reference to
8353         -Wanalyzer-use-of-uninitialized-value to paragraph documenting that
8354         -ftrivial-auto-var-init= doesn't suppress warnings.
8356 2022-02-02  Martin Liska  <mliska@suse.cz>
8358         * dwarf2out.cc (TEXT_SECTION_NAME): Remove unused macro.
8360 2022-02-02  Bernd Kuhls  <bernd.kuhls@t-online.de>
8362         PR target/94372
8363         * config/or1k/linux.h (CPP_SPEC): Define.
8365 2022-02-02  Tamar Christina  <tamar.christina@arm.com>
8367         PR tree-optimization/102819
8368         PR tree-optimization/103169
8369         * config/arm/vec-common.md (cml<fcmac1><conj_op><mode>4): Use
8370         canonical order.
8372 2022-02-02  Tamar Christina  <tamar.christina@arm.com>
8374         PR tree-optimization/102819
8375         PR tree-optimization/103169
8376         * config/aarch64/aarch64-simd.md (cml<fcmac1><conj_op><mode>4): Use
8377         canonical order.
8378         * config/aarch64/aarch64-sve.md (cml<fcmac1><conj_op><mode>4): Likewise.
8380 2022-02-02  Tamar Christina  <tamar.christina@arm.com>
8382         PR tree-optimization/102819
8383         PR tree-optimization/103169
8384         * doc/md.texi: Update docs for cfms, cfma.
8385         * tree-data-ref.h (same_data_refs): Accept optional offset.
8386         * tree-vect-slp-patterns.cc (is_linear_load_p): Fix issue with repeating
8387         patterns.
8388         (vect_normalize_conj_loc): Remove.
8389         (is_eq_or_top): Change to take two nodes.
8390         (enum _conj_status, compatible_complex_nodes_p,
8391         vect_validate_multiplication): New.
8392         (class complex_add_pattern, complex_add_pattern::matches,
8393         complex_add_pattern::recognize, class complex_mul_pattern,
8394         complex_mul_pattern::recognize, class complex_fms_pattern,
8395         complex_fms_pattern::recognize, class complex_operations_pattern,
8396         complex_operations_pattern::recognize, addsub_pattern::recognize): Pass
8397         new cache.
8398         (complex_fms_pattern::matches, complex_mul_pattern::matches): Pass new
8399         cache and use new validation code.
8400         * tree-vect-slp.cc (vect_match_slp_patterns_2, vect_match_slp_patterns,
8401         vect_analyze_slp): Pass along cache.
8402         (compatible_calls_p): Expose.
8403         * tree-vectorizer.h (compatible_calls_p, slp_node_hash,
8404         slp_compat_nodes_map_t): New.
8405         (class vect_pattern): Update signatures include new cache.
8407 2022-02-02  Hans-Peter Nilsson  <hp@axis.com>
8409         * config/cris/cris.cc (cris_preferred_reload_class): Reject
8410         "eliminated" registers and small-enough constants unless
8411         reloaded into a class that is a subset of GENERAL_REGS.
8412         * config/cris/cris.md (attribute "cpu_variant"): New.
8413         (attribute "enabled"): Conditionalize on a matching attribute
8414         cpu_variant, if specified.
8415         ("*movsi_internal<setcc><setnz><setnzvc>"): For moves to and from
8416         memory, add cpu-variant-enabled variants for "r" alternatives on
8417         the far side of the "x" alternatives, preferring the "x" ones
8418         only for variants where MOF is present (in addition to SRP).
8420 2022-02-02  Hans-Peter Nilsson  <hp@axis.com>
8422         * config/cris/cris.cc (cris_register_move_cost): Remove special pre-ira
8423         extra cost for ALL_REGS.
8425 2022-02-02  Hans-Peter Nilsson  <hp@axis.com>
8427         * config/cris/constraints.md (define_register_constraint "b"): Now
8428         GENERAL_REGS.
8429         * config/cris/cris.md (CRIS_ACR_REGNUM): Remove.
8430         * config/cris/cris.h: (reg_class, REG_CLASS_NAMES)
8431         (REG_CLASS_CONTENTS): Remove ACR_REGS, SPEC_ACR_REGS, GENNONACR_REGS,
8432         and SPEC_GENNONACR_REGS.
8433         * config/cris/cris.cc (cris_preferred_reload_class): Don't mention
8434         ACR_REGS and return GENERAL_REGS instead of GENNONACR_REGS.
8436 2022-02-02  Hans-Peter Nilsson  <hp@axis.com>
8438         * config/cris/cris.md ("*movsi_internal<setcc><setnz><setnzvc>"):
8439         Conditionalize on (sub-)register operands or operand 1 being 0.
8441 2022-02-02  Hans-Peter Nilsson  <hp@axis.com>
8443         * config/cris/cris.h (TARGET_DEFAULT): Don't include MASK_MUL_BUG.
8444         (MUL_BUG_ASM_DEFAULT): New macro.
8445         (MAYBE_AS_NO_MUL_BUG_ABORT): Define in terms of MUL_BUG_ASM_DEFAULT.
8446         * doc/invoke.texi (CRIS Options, -mmul-bug-workaround): Adjust
8447         accordingly.
8449 2022-02-01  Eugene Rozenfeld  <erozen@microsoft.com>
8451         * opts.cc (common_handle_option): Don't set param_early_inliner_max_iterations
8452         to 10 for AutoFDO.
8454 2022-02-01  Eugene Rozenfeld  <erozen@microsoft.com>
8456         * auto-profile.cc (auto_profile): Hard-code the number of iterations (10).
8458 2022-02-01  Andrew Pinski  <apinski@marvell.com>
8460         * doc/install.texi:
8462 2022-02-01  Ilya Leoshkevich  <iii@linux.ibm.com>
8464         * config/s390/s390.cc (s390_code_end): Do not switch back to
8465         code section.
8467 2022-02-01  Jakub Jelinek  <jakub@redhat.com>
8469         PR target/104323
8470         * config/rs6000/t-rs6000 (EXTRA_GTYPE_DEPS): Append rs6000-builtins.h
8471         rather than $(srcdir)/config/rs6000/rs6000-builtins.def.
8472         * config/rs6000/rs6000-gen-builtins.cc (write_decls): Don't use
8473         GTY((user)) for struct bifdata and struct ovlddata.  Instead add
8474         GTY((skip(""))) to members with pointer and enum types that don't need
8475         to be tracked.  Add GTY(()) to rs6000_builtin_info and rs6000_instance_info
8476         declarations.  Don't emit gt_ggc_mx and gt_pch_nx declarations.
8477         (write_extern_fntype, write_fntype): Remove.
8478         (write_fntype_init): Emit the fntype vars as automatic vars instead
8479         of file scope ones.
8480         (write_header_file): Don't iterate with write_extern_fntype.
8481         (write_init_file): Don't iterate with write_fntype.  Don't emit
8482         gt_ggc_mx and gt_pch_nx definitions.
8484 2022-02-01  Jason Merrill  <jason@redhat.com>
8486         * tree.h (struct tree_vec_map_cache_hasher): Move from...
8487         * tree.cc (struct tree_vec_map_cache_hasher): ...here.
8489 2022-02-01  Tom de Vries  <tdevries@suse.de>
8491         * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_uniform_warp_check.
8492         * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
8493         UNSPECV_UNIFORM_WARP_CHECK.
8494         (define_insn "nvptx_uniform_warp_check"): New define_insn.
8496 2022-02-01  Tom de Vries  <tdevries@suse.de>
8498         * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_warpsync.
8499         * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
8500         UNSPECV_WARPSYNC.
8501         (define_insn "nvptx_warpsync"): New define_insn.
8503 2022-02-01  Tom de Vries  <tdevries@suse.de>
8505         * config/nvptx/nvptx.opt (mptx): Set to PTX_VERSION_6_3 by default.
8507 2022-02-01  Tom de Vries  <tdevries@suse.de>
8509         * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_6_0.
8510         * config/nvptx/nvptx.h (TARGET_PTX_6_0): New macro.
8511         * config/nvptx/nvptx.md (define_insn "nvptx_barsync"): Use barrier
8512         insn for TARGET_PTX_6_0.
8514 2022-02-01  Tom de Vries  <tdevries@suse.de>
8516         PR target/100428
8517         * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle nop
8518         insn.
8520 2022-02-01  Tom de Vries  <tdevries@suse.de>
8522         * config/nvptx/nvptx.md (define_insn "atomic_compare_and_swap<mode>_1")
8523         (define_insn "atomic_exchange<mode>")
8524         (define_insn "atomic_fetch_add<mode>")
8525         (define_insn "atomic_fetch_addsf")
8526         (define_insn "atomic_fetch_<logic><mode>"): Output non-atomic version
8527         if memory operands is frame-relative.
8529 2022-02-01  Tom de Vries  <tdevries@suse.de>
8531         * config/nvptx/nvptx.cc (enum nvptx_builtins): Add
8532         NVPTX_BUILTIN_MEMBAR_GL and NVPTX_BUILTIN_MEMBAR_CTA.
8533         (VOID): New macro.
8534         (nvptx_init_builtins): Add MEMBAR_GL and MEMBAR_CTA.
8535         (nvptx_expand_builtin): Handle NVPTX_BUILTIN_MEMBAR_GL and
8536         NVPTX_BUILTIN_MEMBAR_CTA.
8537         (nvptx_lockfull_update): Add level parameter.  Emit barriers.
8538         (nvptx_reduction_update, nvptx_goacc_reduction_fini): Update call to
8539         nvptx_lockfull_update.
8540         * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
8541         UNSPECV_MEMBAR_GL.
8542         (define_expand "nvptx_membar_gl"): New expand.
8543         (define_insn "*nvptx_membar_gl"): New insn.
8545 2022-02-01  Martin Liska  <mliska@suse.cz>
8547         * doc/install.texi: Remove option for GCC < 4.8.
8549 2022-02-01  Jakub Jelinek  <jakub@redhat.com>
8551         PR middle-end/104307
8552         * tree-vect-generic.cc (expand_vector_comparison): Don't push debug
8553         stmts to uses vector, just set vec_cond_expr_only to false for
8554         non-VEC_COND_EXPRs instead of pushing them into uses.  Treat
8555         VEC_COND_EXPRs that use lhs not just in rhs1, but rhs2 or rhs3 too
8556         like non-VEC_COND_EXPRs.
8558 2022-02-01  Bill Schmidt  <wschmidt@linux.ibm.com>
8560         * config/rs6000/rs6000-overload.def (VEC_ABSD): Remove #ifdef token.
8561         (VEC_BLENDV): Likewise.
8562         (VEC_BPERM): Likewise.
8563         (VEC_CFUGE): Likewise.
8564         (VEC_CIPHER_BE): Likewise.
8565         (VEC_CIPHERLAST_BE): Likewise.
8566         (VEC_CLRL): Likewise.
8567         (VEC_CLRR): Likewise.
8568         (VEC_CMPNEZ): Likewise.
8569         (VEC_CNTLZ): Likewise.
8570         (VEC_CNTLZM): Likewise.
8571         (VEC_CNTTZM): Likewise.
8572         (VEC_CNTLZ_LSBB): Likewise.
8573         (VEC_CNTM): Likewise.
8574         (VEC_CNTTZ): Likewise.
8575         (VEC_CNTTZ_LSBB): Likewise.
8576         (VEC_CONVERT_4F32_8F16): Likewise.
8577         (VEC_DIV): Likewise.
8578         (VEC_DIVE): Likewise.
8579         (VEC_EQV): Likewise.
8580         (VEC_EXPANDM): Likewise.
8581         (VEC_EXTRACT_FP_FROM_SHORTH): Likewise.
8582         (VEC_EXTRACT_FP_FROM_SHORTL): Likewise.
8583         (VEC_EXTRACTH): Likewise.
8584         (VEC_EXTRACTL): Likewise.
8585         (VEC_EXTRACTM): Likewise.
8586         (VEC_EXTRACT4B): Likewise.
8587         (VEC_EXTULX): Likewise.
8588         (VEC_EXTURX): Likewise.
8589         (VEC_FIRSTMATCHINDEX): Likewise.
8590         (VEC_FIRSTMACHOREOSINDEX): Likewise.
8591         (VEC_FIRSTMISMATCHINDEX): Likewise.
8592         (VEC_FIRSTMISMATCHOREOSINDEX): Likewise.
8593         (VEC_GB): Likewise.
8594         (VEC_GENBM): Likewise.
8595         (VEC_GENHM): Likewise.
8596         (VEC_GENWM): Likewise.
8597         (VEC_GENDM): Likewise.
8598         (VEC_GENQM): Likewise.
8599         (VEC_GENPCVM): Likewise.
8600         (VEC_GNB): Likewise.
8601         (VEC_INSERTH): Likewise.
8602         (VEC_INSERTL): Likewise.
8603         (VEC_INSERT4B): Likewise.
8604         (VEC_LXVL): Likewise.
8605         (VEC_MERGEE): Likewise.
8606         (VEC_MERGEO): Likewise.
8607         (VEC_MOD): Likewise.
8608         (VEC_MSUB): Likewise.
8609         (VEC_MULH): Likewise.
8610         (VEC_NAND): Likewise.
8611         (VEC_NCIPHER_BE): Likewise.
8612         (VEC_NCIPHERLAST_BE): Likewise.
8613         (VEC_NEARBYINT): Likewise.
8614         (VEC_NMADD): Likewise.
8615         (VEC_ORC): Likewise.
8616         (VEC_PDEP): Likewise.
8617         (VEC_PERMX): Likewise.
8618         (VEC_PEXT): Likewise.
8619         (VEC_POPCNT): Likewise.
8620         (VEC_PARITY_LSBB): Likewise.
8621         (VEC_REPLACE_ELT): Likewise.
8622         (VEC_REPLACE_UN): Likewise.
8623         (VEC_REVB): Likewise.
8624         (VEC_RINT): Likewise.
8625         (VEC_RLMI): Likewise.
8626         (VEC_RLNM): Likewise.
8627         (VEC_SBOX_BE): Likewise.
8628         (VEC_SIGNEXTI): Likewise.
8629         (VEC_SIGNEXTLL): Likewise.
8630         (VEC_SIGNEXTQ): Likewise.
8631         (VEC_SLDB): Likewise.
8632         (VEC_SLV): Likewise.
8633         (VEC_SPLATI): Likewise.
8634         (VEC_SPLATID): Likewise.
8635         (VEC_SPLATI_INS): Likewise.
8636         (VEC_SQRT): Likewise.
8637         (VEC_SRDB): Likewise.
8638         (VEC_SRV): Likewise.
8639         (VEC_STRIL): Likewise.
8640         (VEC_STRIL_P): Likewise.
8641         (VEC_STRIR): Likewise.
8642         (VEC_STRIR_P): Likewise.
8643         (VEC_STXVL): Likewise.
8644         (VEC_TERNARYLOGIC): Likewise.
8645         (VEC_TEST_LSBB_ALL_ONES): Likewise.
8646         (VEC_TEST_LSBB_ALL_ZEROS): Likewise.
8647         (VEC_VEE): Likewise.
8648         (VEC_VES): Likewise.
8649         (VEC_VIE): Likewise.
8650         (VEC_VPRTYB): Likewise.
8651         (VEC_VSCEEQ): Likewise.
8652         (VEC_VSCEGT): Likewise.
8653         (VEC_VSCELT): Likewise.
8654         (VEC_VSCEUO): Likewise.
8655         (VEC_VSEE): Likewise.
8656         (VEC_VSES): Likewise.
8657         (VEC_VSIE): Likewise.
8658         (VEC_VSTDC): Likewise.
8659         (VEC_VSTDCN): Likewise.
8660         (VEC_VTDC): Likewise.
8661         (VEC_XL): Likewise.
8662         (VEC_XL_BE): Likewise.
8663         (VEC_XL_LEN_R): Likewise.
8664         (VEC_XL_SEXT): Likewise.
8665         (VEC_XL_ZEXT): Likewise.
8666         (VEC_XST): Likewise.
8667         (VEC_XST_BE): Likewise.
8668         (VEC_XST_LEN_R): Likewise.
8669         (VEC_XST_TRUNC): Likewise.
8670         (VEC_XXPERMDI): Likewise.
8671         (VEC_XXSLDWI): Likewise.
8672         (VEC_TSTSFI_EQ_DD): Likewise.
8673         (VEC_TSTSFI_EQ_TD): Likewise.
8674         (VEC_TSTSFI_GT_DD): Likewise.
8675         (VEC_TSTSFI_GT_TD): Likewise.
8676         (VEC_TSTSFI_LT_DD): Likewise.
8677         (VEC_TSTSFI_LT_TD): Likewise.
8678         (VEC_TSTSFI_OV_DD): Likewise.
8679         (VEC_TSTSFI_OV_TD): Likewise.
8680         (VEC_VADDCUQ): Likewise.
8681         (VEC_VADDECUQ): Likewise.
8682         (VEC_VADDEUQM): Likewise.
8683         (VEC_VADDUDM): Likewise.
8684         (VEC_VADDUQM): Likewise.
8685         (VEC_VBPERMQ): Likewise.
8686         (VEC_VCLZB): Likewise.
8687         (VEC_VCLZD): Likewise.
8688         (VEC_VCLZH): Likewise.
8689         (VEC_VCLZW): Likewise.
8690         (VEC_VCTZB): Likewise.
8691         (VEC_VCTZD): Likewise.
8692         (VEC_VCTZH): Likewise.
8693         (VEC_VCTZW): Likewise.
8694         (VEC_VEEDP): Likewise.
8695         (VEC_VEESP): Likewise.
8696         (VEC_VESDP): Likewise.
8697         (VEC_VESSP): Likewise.
8698         (VEC_VIEDP): Likewise.
8699         (VEC_VIESP): Likewise.
8700         (VEC_VPKSDSS): Likewise.
8701         (VEC_VPKSDUS): Likewise.
8702         (VEC_VPKUDUM): Likewise.
8703         (VEC_VPKUDUS): Likewise.
8704         (VEC_VPOPCNT): Likewise.
8705         (VEC_VPOPCNTB): Likewise.
8706         (VEC_VPOPCNTD): Likewise.
8707         (VEC_VPOPCNTH): Likewise.
8708         (VEC_VPOPCNTW): Likewise.
8709         (VEC_VPRTYBD): Likewise.
8710         (VEC_VPRTYBQ): Likewise.
8711         (VEC_VPRTYBW): Likewise.
8712         (VEC_VRLD): Likewise.
8713         (VEC_VSLD): Likewise.
8714         (VEC_VSRAD): Likewise.
8715         (VEC_VSRD): Likewise.
8716         (VEC_VSTDCDP): Likewise.
8717         (VEC_VSTDCNDP): Likewise.
8718         (VEC_VSTDCNQP): Likewise.
8719         (VEC_VSTDCNSP): Likewise.
8720         (VEC_VSTDCQP): Likewise.
8721         (VEC_VSTDCSP): Likewise.
8722         (VEC_VSUBECUQ): Likewise.
8723         (VEC_VSUBEUQM): Likewise.
8724         (VEC_VSUBUDM): Likewise.
8725         (VEC_VSUBUQM): Likewise.
8726         (VEC_VTDCDP): Likewise.
8727         (VEC_VTDCSP): Likewise.
8728         (VEC_VUPKHSW): Likewise.
8729         (VEC_VUPKLSW): Likewise.
8731 2022-02-01  Andreas Krebbel  <krebbel@linux.ibm.com>
8733         PR rtl-optimization/101260
8734         * regcprop.cc (maybe_mode_change): Invoke mode_change_ok also for
8735         copy_regno.
8737 2022-02-01  Xi Ruoyao  <xry111@mengyan1223.wang>
8739         PR middle-end/95115
8740         * fold-const.cc (const_binop): Do not fold NaN result from
8741           non-NaN operands.
8743 2022-02-01  Tom de Vries  <tdevries@suse.de>
8745         * tree-loop-distribution.cc (generate_reduction_builtin_1): Check for
8746         -ftree-loop-distribute-patterns.
8747         (loop_distribution::execute): Don't call transform_reduction_loop for
8748         -fno-tree-loop-distribute-patterns.
8750 2022-01-31  Andrew Pinski  <apinski@marvell.com>
8752         * fold-const.h (operand_compare::operand_equal_p):
8753         Fix comment about OEP_* flags.
8755 2022-01-31  Jakub Jelinek  <jakub@redhat.com>
8757         PR target/104298
8758         * config/rs6000/aix.h (OPTION_GLIBC): Remove.
8759         * config/rs6000/darwin.h (OPTION_GLIBC): Likewise.
8760         * config/rs6000/option-defaults.h (OPTION_GLIBC): Define to 0
8761         if not already defined.
8763 2022-01-31  Martin Sebor  <msebor@redhat.com>
8765         PR middle-end/104232
8766         * gimple-ssa-warn-access.cc (pointers_related_p): Add argument.
8767         Handle PHIs.  Add a synonymous overload.
8768         (pass_waccess::check_pointer_uses): Call pointers_related_p.
8770 2022-01-31  Richard Biener  <rguenther@suse.de>
8772         PR tree-optimization/100499
8773         * fold-const.cc (multiple_of_p): Pass the correct type of
8774         the expression to the recursive invocation of multiple_of_p
8775         for conversions and use CASE_CONVERT.
8777 2022-01-31  Eric Botcazou  <ebotcazou@adacore.com>
8779         PR target/104189
8780         * config/sparc/linux64.h (TARGET_DEFAULT): Add MASK_V8PLUS.
8782 2022-01-31  Richard Biener  <rguenther@suse.de>
8784         PR tree-optimization/100499
8785         * tree-cfg.cc (verify_gimple_assign_ternary): Use multiple_p
8786         on poly-ints instead of multiple_of_p.
8787         * tree-ssa.cc (maybe_rewrite_mem_ref_base): Likewise.
8788         (non_rewritable_mem_ref_base): Likewise.
8789         (non_rewritable_lvalue_p): Likewise.
8790         (execute_update_addresses_taken): Likewise.
8792 2022-01-29  Jakub Jelinek  <jakub@redhat.com>
8793             Andrew Pinski  <apinski@marvell.com>
8795         PR tree-optimization/104279
8796         PR tree-optimization/104280
8797         PR tree-optimization/104281
8798         * match.pd (1 / X -> X == 1 for unsigned X): Build eq with
8799         boolean_type_node and convert to type.  Formatting fixes.
8801 2022-01-28  Yoshinori Sato  <yo-satoh@sios.com>
8803         * config/sh/t-linux (MULTILIB_EXCEPTIONS): Add m1, mb/m1 and m2a.
8805 2022-01-28  Navid Rahimi  <navidrahimi@microsoft.com>
8807         PR tree-optimization/103514
8808         * match.pd (a & b) ^ (a == b) -> !(a | b): New optimization.
8809         (a & b) == (a ^ b) -> !(a | b): New optimization.
8811 2022-01-28  Marek Polacek  <polacek@redhat.com>
8813         * doc/invoke.texi: Update -Wbidi-chars documentation.
8815 2022-01-28  Iain Sandoe  <iain@sandoe.co.uk>
8817         * config/rs6000/darwin.h (OPTION_GLIBC): Define to 0.
8819 2022-01-28  Zhao Wei Liew  <zhaoweiliew@gmail.com>
8821         PR tree-optimization/95424
8822         * match.pd: Simplify 1 / X where X is an integer.
8824 2022-01-28  Jakub Jelinek  <jakub@redhat.com>
8826         PR tree-optimization/104263
8827         * gimple-ssa-store-merging.cc (get_status_for_store_merging): For
8828         cfun->can_throw_non_call_exceptions && cfun->eh test whether
8829         last non-debug stmt in the bb is store_valid_for_store_merging_p
8830         rather than last stmt.
8832 2022-01-28  Martin Liska  <mliska@suse.cz>
8834         * diagnostic.cc (diagnostic_action_after_output): Remove extra
8835         newline.
8837 2022-01-28  Martin Liska  <mliska@suse.cz>
8839         * config/rs6000/host-darwin.cc (segv_crash_handler):
8840         Do not use leading capital letter.
8841         (segv_handler): Likewise.
8842         * ipa-sra.cc (verify_splitting_accesses): Likewise.
8843         * varasm.cc (get_section): Likewise.
8845 2022-01-28  Richard Biener  <rguenther@suse.de>
8847         PR tree-optimization/104267
8848         * tree-vect-stmts.cc (vectorizable_call): Properly use the
8849         per-argument determined vector type for externals and
8850         invariants.
8852 2022-01-28  Richard Biener  <rguenther@suse.de>
8854         PR tree-optimization/104263
8855         * tree-cfg.cc (gimple_purge_dead_abnormal_call_edges):
8856         Purge edges also when !cfun->has_nonlocal_label
8857         and !cfun->calls_setjmp.
8859 2022-01-28  Maciej W. Rozycki  <macro@embecosm.com>
8861         * config/riscv/riscv.md: Document `auipc' and `bitmanip' `type'
8862         attributes.
8864 2022-01-28  Jakub Jelinek  <jakub@redhat.com>
8866         PR lto/104237
8867         * cfgrtl.cc (loc_equal): New function.
8868         (unique_locus_on_edge_between_p): Use it.
8870 2022-01-28  Richard Biener  <rguenther@suse.de>
8872         * cfganal.h (mark_dfs_back_edges): Provide API with struct
8873         function argument.
8874         * cfganal.cc (mark_dfs_back_edges): Take a struct function
8875         to work on, add a wrapper passing cfun.
8876         * graph.cc (draw_cfg_nodes_no_loops): Replace stray cfun
8877         uses with fun which is already passed.
8878         (draw_cfg_edges): Likewise.
8879         (draw_cfg_nodes_for_loop): Do not use draw_cfg_nodes_for_loop
8880         for fun != cfun.
8882 2022-01-27  Patrick Palka  <ppalka@redhat.com>
8884         PR c++/99895
8885         * tree.cc (build_call_vec): Add const to second parameter.
8886         * tree.h (build_call_vec): Likewise.
8888 2022-01-27  Martin Liska  <mliska@suse.cz>
8890         PR web/104254
8891         * diagnostic.cc (diagnostic_initialize):
8892         Initialize report_bug flag.
8893         (diagnostic_action_after_output):
8894         Explain that -freport-bug option can be used for pre-processed
8895         file creation.  Make the message shorter.
8896         (error_recursion): Rename Internal to internal.
8897         * diagnostic.h (struct diagnostic_context): New field.
8898         * opts.cc (common_handle_option): Init the field here.
8900 2022-01-27  Kewen Lin  <linkw@linux.ibm.com>
8902         PR target/103702
8903         * config/rs6000/rs6000.cc
8904         (rs6000_cost_data::update_target_cost_per_stmt): Fix one wrong
8905         assertion with early return.
8907 2022-01-27  Chung-Lin Tang  <cltang@codesourcery.com>
8909         PR middle-end/103642
8910         * gimplify.cc (gimplify_scan_omp_clauses): Do not do indir_p handling
8911         for non-pointer or non-reference-to-pointer cases.
8913 2022-01-27  Jakub Jelinek  <jakub@redhat.com>
8915         PR tree-optimization/104196
8916         * gimple-fold.h (rewrite_to_defined_overflow): Add IN_PLACE argument.
8917         * gimple-fold.cc (rewrite_to_defined_overflow): Likewise.  If true,
8918         return NULL and emit needed stmts before and after stmt.
8919         * tree-ssa-reassoc.cc (update_range_test): For inter-bb range opt
8920         pick as operand_entry that will hold the merged test the one feeding
8921         earliest condition, ensure that by swapping range->idx with some
8922         other range's idx if needed.  If seq is non-NULL, don't actually swap
8923         it but instead rewrite stmts with undefined overflow in between
8924         the two locations.
8925         (maybe_optimize_range_tests): Set ops[]->id to bb->index with the
8926         corresponding condition even if they have non-NULL ops[]->op.
8927         Formatting fix.
8929 2022-01-26  Jakub Jelinek  <jakub@redhat.com>
8931         PR target/104239
8932         * config/rs6000/emmintrin.h (_mm_sad_epu8): Use __asm__ instead of
8933         asm.
8934         * config/rs6000/smmintrin.h (_mm_minpos_epu16): Declare iterator
8935         before for loop instead of for init clause.
8936         * config/rs6000/bmi2intrin.h (_pext_u64): Likewise.
8938 2022-01-26  Jakub Jelinek  <jakub@redhat.com>
8940         PR target/104239
8941         * config/rs6000/bmiintrin.h: Test _X86GPRINTRIN_H_INCLUDED instead of
8942         _X86INTRIN_H_INCLUDED and adjust #error wording.
8943         * config/rs6000/bmi2intrin.h: Likewise.
8945 2022-01-26  Jakub Jelinek  <jakub@redhat.com>
8947         PR debug/104194
8948         * dwarf2out.cc (long_double_as_float128): New function.
8949         (modified_type_die): For powerpc64le IEEE 754 quad long double
8950         and complex long double emit those as DW_TAG_typedef to
8951         _Float128 or complex _Float128 base type.
8953 2022-01-26  Marek Polacek  <polacek@redhat.com>
8955         PR target/104213
8956         * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer): Don't
8957         warn when the SSA_NAME_VAR of REF has supressed -Wuse-after-free.
8959 2022-01-26  Martin Liska  <mliska@suse.cz>
8961         * ipa-modref-tree.cc (modref_access_node::update):
8962         Remove "--param param=foo" with "--param foo".
8963         (modref_access_node::insert): Likewise.
8964         (modref_access_node::insert_kill): Likewise.
8965         * ipa-modref-tree.h (struct modref_ref_node): Likewise.
8966         (struct modref_base_node): Likewise.
8967         (struct modref_tree): Likewise.
8969 2022-01-26  Raoni Fassina Firmino  <raoni@linux.ibm.com>
8971         PR target/94193
8972         * builtins.cc (expand_builtin_feclear_feraise_except): Add op0
8973         predicate check.
8975 2022-01-25  Martin Sebor  <msebor@redhat.com>
8977         PR tree-optimization/104203
8978         * gimple-ssa-warn-access.cc (pass_data pass_data_waccess): Use
8979         TV_WARN_ACCESS.
8980         * pointer-query.cc (access_ref::merge_ref): Change return type.
8981         Convert failure to a conservative success.
8982         (access_ref::get_ref): Adjust to the change above.  Short-circuit
8983         PHI evaluation after first failure turned into conservative success.
8984         * pointer-query.h (access_ref::merge_ref): Change return type.
8985         * timevar.def (TV_WARN_ACCESS): New timer variable.
8987 2022-01-25  David Edelsohn  <dje.gcc@gmail.com>
8989         * config/rs6000/aix.h (OPTION_GLIBC): Define as 0.
8991 2022-01-25  Richard Biener  <rguenther@suse.de>
8993         PR tree-optimization/104214
8994         * tree-ssa-loop-niter.cc (number_of_iterations_cond): Use
8995         stronger guarantees for relational pointer compares when
8996         rewriting BASE0 + STEP0 cmp BASE1 + STEP1 as
8997         BASE0 + STEP0 - STEP1 cmp BASE1.
8999 2022-01-25  Jakub Jelinek  <jakub@redhat.com>
9001         PR target/104172
9002         * config/rs6000/rs6000-internal.h (rs6000_passes_ieee128): Don't
9003         declare.
9004         * config/rs6000/rs6000.cc (rs6000_passes_ieee128,
9005         ieee128_mangling_gcc_8_1): Remove.
9006         (TARGET_ASM_GLOBALIZE_DECL_NAME): Don't redefine.
9007         (rs6000_mangle_type): Return "u9__ieee128" instead of
9008         ieee128_mangling_gcc_8_1 ? "U10__float128" : "u9__ieee128".
9009         (rs6000_globalize_decl_name): Remove.
9010         * config/rs6000/rs6000-call.cc (init_cumulative_args,
9011         rs6000_function_arg_advance_1): Don't set rs6000_passes_ieee128.
9013 2022-01-24  Martin Sebor  <msebor@redhat.com>
9015         * pointer-query.cc (pointer_query::dump): Remove duplicate
9016         block.
9018 2022-01-24  Marek Polacek  <polacek@redhat.com>
9020         PR preprocessor/104030
9021         * doc/invoke.texi: Update documentation for -Wbidi-chars.
9023 2022-01-24  Raoni Fassina Firmino  <raoni@linux.ibm.com>
9025         PR target/94193
9026         * builtins.cc (expand_builtin_fegetround): New function.
9027         (expand_builtin_feclear_feraise_except): New function.
9028         (expand_builtin): Add cases for BUILT_IN_FEGETROUND,
9029         BUILT_IN_FECLEAREXCEPT and BUILT_IN_FERAISEEXCEPT.
9030         * config/rs6000/rs6000.md (fegetroundsi): New pattern.
9031         (feclearexceptsi): New Pattern.
9032         (feraiseexceptsi): New Pattern.
9033         * doc/extend.texi: Add a new introductory paragraph about the
9034         new builtins.
9035         * doc/md.texi: (fegetround@var{m}): Document new optab.
9036         (feclearexcept@var{m}): Document new optab.
9037         (feraiseexcept@var{m}): Document new optab.
9038         * optabs.def (fegetround_optab): New optab.
9039         (feclearexcept_optab): New optab.
9040         (feraiseexcept_optab): New optab.
9042 2022-01-24  Richard Biener  <rguenther@suse.de>
9043             Jiufu Guo  <guojiufu@linux.ibm.com>
9045         PR tree-optimization/100740
9046         PR tree-optimization/101508
9047         PR tree-optimization/101972
9048         PR tree-optimization/102131
9049         * tree-ssa-loop-niter.cc (number_of_iterations_cond): Properly
9050         constrain BASE0 + STEP0 cmp BASE1 + STEP1 to
9051         BASE0 + STEP0 - STEP1 cmp BASE1 transform.
9053 2022-01-24  Jakub Jelinek  <jakub@redhat.com>
9055         PR sanitizer/104158
9056         * opt-functions.awk (var_set): Handle EnumBitSet property.
9057         * optc-gen.awk: Don't disallow RejectNegative if EnumBitSet is
9058         specified.
9059         * opts.h (enum cl_enum_var_value): New type.
9060         * opts-common.cc (decode_cmdline_option): Use CLEV_* values.
9061         Handle CLEV_BITSET.
9062         (cmdline_handle_error): Handle CLEV_BITSET.
9063         * opts.cc (test_enum_sets): Also test EnumBitSet requirements.
9064         * doc/options.texi (EnumBitSet): Document.
9065         * common.opt (fsanitize-coverage=): Use EnumBitSet instead of
9066         EnumSet.
9067         (trace-pc, trace-cmp): Drop Set properties.
9069 2022-01-24  Jakub Jelinek  <jakub@redhat.com>
9071         PR sanitizer/104158
9072         * common.opt (flag_sanitize_coverage): Remove Variable entry.
9073         (fsanitize-coverage=): Remove RejectNegative property, add
9074         Var(flag_sanitize_coverage) and EnumSet properties.
9075         (trace-pc): Add Set(1) property.
9076         (trace-cmp): Add Set(2) property.
9077         * opts.cc (common_handle_option): Don't handle
9078         OPT_fsanitize_coverage_.
9080 2022-01-24  Jakub Jelinek  <jakub@redhat.com>
9082         PR sanitizer/104158
9083         * opt-functions.awk (var_set): Handle EnumSet property.
9084         * optc-gen.awk: Don't disallow RejectNegative if EnumSet is
9085         specified.
9086         * opt-read.awk: Handle Set property.
9087         * opts.h (CL_ENUM_SET_SHIFT, CL_ERR_ENUM_SET_ARG): Define.
9088         (struct cl_decoded_option): Mention enum in value description.
9089         Add mask member.
9090         (set_option): Add mask argument defaulted to 0.
9091         * opts.cc (test_enum_sets): New function.
9092         (opts_cc_tests): Call it.
9093         * opts-common.cc (enum_arg_to_value): Change return argument
9094         from bool to int, on success return index into the cl_enum_arg
9095         array, on failure -1.  Add len argument, if non-0, use strncmp
9096         instead of strcmp.
9097         (opt_enum_arg_to_value): Adjust caller.
9098         (decode_cmdline_option): Handle EnumSet represented as
9099         CLVC_ENUM with non-zero var_value.  Initialize decoded->mask.
9100         (decode_cmdline_options_to_array): CLear opt_array[0].mask.
9101         (handle_option): Pass decoded->mask to set_options last argument.
9102         (generate_option): Clear decoded->mask.
9103         (generate_option_input_file): Likewise.
9104         (cmdline_handle_error): Handle CL_ERR_ENUM_SET_ARG.
9105         (set_option): Add mask argument, use it for CLVC_ENUM.
9106         (control_warning_option): Adjust enum_arg_to_value caller.
9107         * doc/options.texi: Document Set and EnumSet properties.
9109 2022-01-24  Jakub Jelinek  <jakub@redhat.com>
9111         PR bootstrap/104170
9112         * config/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
9113         OPTION_BIONIC_P, OPTION_MUSL_P): Define.
9114         (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
9115         using OPTION_*_P macros.
9116         * config/alpha/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
9117         OPTION_BIONIC_P, OPTION_MUSL_P): Define.
9118         (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
9119         using OPTION_*_P macros.
9120         * config/rs6000/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
9121         OPTION_BIONIC_P, OPTION_MUSL_P): Define.
9122         (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
9123         using OPTION_*_P macros.
9124         * config/rs6000/linux64.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
9125         OPTION_BIONIC_P, OPTION_MUSL_P): Define.
9126         (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
9127         using OPTION_*_P macros.
9128         * config/fuchsia.h (OPTION_MUSL_P): Redefine.
9129         * config/glibc-stdint.h (OPTION_MUSL_P): Define if not defined.
9130         * common/config/s390/s390-common.cc (s390_supports_split_stack): Re-add
9131         ATTRIBUTE_UNUSED to opts parameter.  If OPTION_GLIBC_P is defined, use
9132         OPTION_GLIBC_P (opts) as condition, otherwise assume if (false).
9133         * common/config/i386/i386-common.cc (ix86_supports_split_stack): If
9134         OPTION_GLIBC_P is defined use !OPTION_GLIBC_P (opts) as condition,
9135         otherwise assume if (true).
9137 2022-01-24  Kito Cheng  <kito.cheng@sifive.com>
9139         * common/config/riscv/riscv-common.cc (riscv_subset_list::to_string):
9140         Skip zicsr and zifencei if I-ext is 2.0.
9142 2022-01-24  Jia-Wei Chen  <jiawei@iscas.ac.cn>
9144         * config.gcc: Modify default isa_spec version.
9146 2022-01-24  Jiufu Guo  <guojiufu@linux.ibm.com>
9148         PR tree-optimization/102087
9149         * tree-ssa-loop-niter.cc (number_of_iterations_until_wrap):
9150         Correct PLUS result type.
9152 2022-01-24  H.J. Lu  <hjl.tools@gmail.com>
9154         PR target/104188
9155         * config/i386/predicates.md (bcst_mem_operand): Also check mode
9156         of memory broadcast.
9158 2022-01-23  Andrew Pinski  <apinski@marvell.com>
9160         PR target/64821
9161         * config/aarch64/aarch64-builtins.cc
9162         (aarch64_general_gimple_fold_builtin): Handle
9163         __builtin_aarch64_sqrt* and simplify into SQRT internal
9164         function.
9166 2022-01-22  Jakub Jelinek  <jakub@redhat.com>
9168         PR other/104176
9169         * opts-global.cc (handle_common_deferred_options): Quote
9170         --enable-plugin in diagnostics to avoid -Werror=format-diag.
9172 2022-01-21  Michael Meissner  <meissner@the-meissners.org>
9174         PR target/104136
9175         * config/rs6000/rs6000-protos.h (prefixed_xxsplti_p): Delete.
9176         * config/rs6000/rs6000.cc (prefixed_xxsplti_p): Delete.
9177         * config/rs6000/rs6000.md (prefixed attribute): Delete section
9178         that sets the prefixed attribute for xxspltiw, xxspltidp, and
9179         xxsplti32dx instructions.
9180         (movsf_hardfloat): Explicitly set the prefixed attribute
9181         when xxspltiw and xxspltidp instructions are generated.
9182         (mov<mode>_hardfloat32): Likewise.
9183         (mov<mode>_hardfloat64): Likewise.
9184         * config/rs6000/vsx.md (vsx_mov<mode>_64bit): Explicitly set the
9185         prefixed attribute for xxspltiw and xxspltidp instructions.
9186         (vsx_mov<mode>_32bit): Likewise.
9188 2022-01-21  H.J. Lu  <hjl.tools@gmail.com>
9190         PR bootstrap/104170
9191         * common/config/i386/i386-common.cc (ix86_supports_split_stack):
9192         Return true only on glibc.
9193         * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN):
9194         Revert commit c163647ffbc.
9195         * config/i386/gnu.h (TARGET_LIBC_PROVIDES_SSP): Likewise.
9197 2022-01-21  Sören Tempel  <soeren@soeren-tempel.net>
9199         * common/config/s390/s390-common.cc (s390_supports_split_stack):
9200         Only support split-stack on glibc targets.
9201         * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN): Ditto.
9202         * config/i386/gnu.h (defined): Ditto.
9204 2022-01-21  Bill Schmidt  <wschmidt@linux.ibm.com>
9206         * config/rs6000/rs6000-overload.def (VEC_SLDW): Add instances for
9207         vector float and vector double.
9209 2022-01-21  Bill Seurer  <seurer@gcc.gnu.org>
9211         * config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher):
9212         Fix mention of ifunc in string.
9214 2022-01-21  Roger Sayle  <roger@nextmovesoftware.com>
9216         PR middle-end/104140
9217         * tree-ssa-math-opts.cc (convert_mult_to_highpart): Check that the
9218         operands of the widening multiplication are either both signed or
9219         both unsigned, and abort the conversion if mismatched.
9220         * doc/generic.texi (WIDEN_MULT_EXPR): Describe expression node.
9221         (MULT_HIGHPART_EXPR): Clarify that operands must have the same
9222         signedness.
9223         * tree.def (MULT_HIGHPART_EXPR): Document both operands must have
9224         integer types with the same precision and signedness.
9225         (WIDEN_MULT_EXPR): Document that operands must have integer types
9226         with the same precision, but possibly differing signedness.
9227         * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Defend against
9228         riscv_current_subset_list returning a NULL pointer (empty list).
9230 2022-01-21  Vladimir N. Makarov  <vmakarov@redhat.com>
9232         PR target/103676
9233         * ira.h (struct target_ira): Add member
9234         x_ira_exclude_class_mode_regs.
9235         (ira_exclude_class_mode_regs): New macro.
9236         * lra.h (lra_create_new_reg): Add arg exclude_start_hard_regs and
9237         move from here ...
9238         * lra-int.h: ... to here.
9239         (lra_create_new_reg_with_unique_value): Add arg
9240         exclude_start_hard_regs.
9241         (class lra_reg): Add member exclude_start_hard_regs.
9242         * lra-assigns.cc (find_hard_regno_for_1): Setup
9243         impossible_start_hard_regs from exclude_start_hard_regs.
9244         * lra-constraints.cc (get_reload_reg): Add arg exclude_start_hard_regs and pass
9245         it lra_create_new_reg[_with_unique_value].
9246         (match_reload): Ditto.
9247         (check_and_process_move): Pass NULL
9248         exclude_start_hard_regs to lra_create_new_reg_with_unique_value.
9249         (goal_alt_exclude_start_hard_regs): New static variable.
9250         (process_addr_reg, simplify_operand_subreg): Pass NULL
9251         exclude_start_hard_regs to lra_create_new_reg_with_unique_value
9252         and get_reload_reg.
9253         (process_alt_operands): Setup goal_alt_exclude_start_hard_regs.
9254         Use this_alternative_exclude_start_hard_regs additionally to find
9255         winning operand alternative.
9256         (base_to_reg, base_plus_disp_to_reg, index_part_to_reg): Pass NULL
9257         exclude_start_hard_regs to lra_create_new_reg.
9258         (process_address_1, emit_inc): Ditto.
9259         (curr_insn_transform): Pass exclude_start_hard_regs value to
9260         lra_create_new_reg, get_reload_reg, match_reload.
9261         (inherit_reload_reg, split_reg): Pass NULL exclude_start_hard_regs
9262         to lra_create_new_reg.
9263         (process_invariant_for_inheritance): Ditto.
9264         * lra-remat.cc (update_scratch_ops): Ditto.
9265         * lra.cc (lra_create_new_reg_with_unique_value): Add arg
9266         exclude_start_hard_regs.  Setup the corresponding member of
9267         lra reg info.
9268         (lra_create_new_reg): Add arg exclude_start_hard_regs and pass it
9269         to lra_create_new_reg_with_unique_value.
9270         (initialize_lra_reg_info_element): Initialize member
9271         exclude_start_hard_regs.
9272         (get_scratch_reg): Pass NULL to lra_create_new_reg.
9273         * ira.cc (setup_prohibited_class_mode_regs): Rename to
9274         setup_prohibited_and_exclude_class_mode_regs and calculate
9275         ira_exclude_class_mode_regs.
9277 2022-01-21  Martin Liska  <mliska@suse.cz>
9279         * configure.ac: Detect ld_is_mold and use it for
9280         comdat_group=yes and gcc_cv_ld_hidden=yes.
9281         * configure: Regenerate.
9283 2022-01-21  Richard Biener  <rguenther@suse.de>
9285         PR tree-optimization/100089
9286         * tree-vect-slp.cc (vect_slp_region): Reject BB vectorization
9287         of if-converted loops with unvectorized COND_EXPRs for
9288         all but the unlimited cost models.
9290 2022-01-21  Ard Biesheuvel  <ardb@kernel.org>
9292         * config/arm/arm-opts.h (enum stack_protector_guard): New.
9293         * config/arm/arm-protos.h (arm_stack_protect_tls_canary_mem):
9294         New.
9295         * config/arm/arm.cc (TARGET_STACK_PROTECT_GUARD): Define.
9296         (arm_option_override_internal): Handle and put in error checks.
9297         for stack protector guard options.
9298         (arm_option_reconfigure_globals): Likewise.
9299         (arm_stack_protect_tls_canary_mem): New.
9300         (arm_stack_protect_guard): New.
9301         * config/arm/arm.md (stack_protect_set): New.
9302         (stack_protect_set_tls): Likewise.
9303         (stack_protect_test): Likewise.
9304         (stack_protect_test_tls): Likewise.
9305         (reload_tp_hard): Likewise.
9306         * config/arm/arm.opt (-mstack-protector-guard): New
9307         (-mstack-protector-guard-offset): New.
9308         * doc/invoke.texi: Document new options.
9310 2022-01-21  Richard Biener  <rguenther@suse.de>
9312         PR tree-optimization/104156
9313         * tree-ssa-loop-unswitch.cc (tree_unswitch_outer_loop):
9314         Collect and reset debug stmts with out-of-loop uses when
9315         hoisting guards.
9316         (find_loop_guard): Adjust.
9317         (empty_bb_without_guard_p): Likewise.  Ignore debug stmts.
9318         (used_outside_loop_p): Push debug uses to a vector of
9319         debug stmts to reset.
9320         (hoist_guard): Adjust -fopt-info category.
9322 2022-01-21  Richard Biener  <rguenther@suse.de>
9324         PR tree-optimization/104152
9325         * tree-vect-slp.cc (vect_build_slp_tree_2): Add missing
9326         can_duplicate_and_interleave_p check.
9328 2022-01-21  Jakub Jelinek  <jakub@redhat.com>
9330         * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer):
9331         Avoid passing var to warning_at when the format string doesn't
9332         refer to it.
9334 2022-01-21  Aldy Hernandez  <aldyh@redhat.com>
9336         PR tree-optimization/103721
9337         * gimple-range-path.cc
9338         (path_range_query::relations_may_be_invalidated): New.
9339         (path_range_query::compute_ranges_in_block): Reset relations if
9340         they may be invalidated.
9341         (path_range_query::maybe_register_phi_relation): Exit if relations
9342         may be invalidated on incoming edge.
9343         (path_range_query::compute_phi_relations): Pass incoming PHI edge
9344         to maybe_register_phi_relation.
9345         * gimple-range-path.h (relations_may_be_invalidated): New.
9346         (maybe_register_phi_relation): Pass edge instead of tree.
9347         * tree-ssa-threadbackward.cc (back_threader::back_threader):
9348         Mark DFS edges.
9349         * value-relation.cc (path_oracle::path_oracle): Call
9350         mark_dfs_back_edges.
9351         (path_oracle::register_relation): Add SSA names to m_registered
9352         bitmap.
9353         (path_oracle::reset_path): Clear m_registered bitmap.
9354         * value-relation.h (path_oracle::set_root_oracle): New.
9356 2022-01-21  Jakub Jelinek  <jakub@redhat.com>
9358         PR rtl-optimization/102478
9359         * optabs.cc (prepare_cmp_insn): If !can_create_pseudo_p (), don't
9360         force_reg constants and for -fnon-call-exceptions fail if copy_to_reg
9361         would be needed.
9363 2022-01-20  Richard Biener  <rguenther@suse.de>
9365         PR middle-end/100786
9366         * gimple-fold.cc (get_symbol_constant_value): Only return
9367         values of compatible type to the symbol.
9369 2022-01-20  Andrew MacLeod  <amacleod@redhat.com>
9371         * value-relation.cc (relation_oracle::valid_equivs): Query and add
9372         if valid members of a set.
9373         (equiv_oracle::register_equiv): Call valid_equivs rather than
9374         bitmap direct operations.
9375         (path_oracle::register_equiv): Ditto.
9376         * value-relation.h (relation_oracle::valid_equivs): New prototype.
9378 2022-01-20  Richard Biener  <rguenther@suse.de>
9380         PR target/100784
9381         * config/i386/i386.cc (ix86_gimple_fold_builtin): Check for
9382         LHS before folding __builtin_ia32_shufpd and friends.
9384 2022-01-20  Richard Earnshaw  <rearnsha@arm.com>
9386         * config/arm/crypto.md (aes_op_protect): Allow moves from core
9387         registers and from memory.
9388         (aes_op_protect_misalign_load): New pattern.
9389         (aes_op_protect_neon_vld1v16qi): New pattern.
9391 2022-01-20  Richard Earnshaw  <rearnsha@arm.com>
9393         * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>_protected):
9394         New pattern.
9395         (aarch32_crypto_aese_fused_protected): Likewise.
9396         (aarch32_crypto_aesd_fused_protected): Likewise.
9398 2022-01-20  Richard Earnshaw  <rearnsha@arm.com>
9400         * config/arm/crypto.md (crypto_<CRYPTO_AES:crypto_pattern>): Convert
9401         to define_expand.  Add mitigation for the Cortex-A AES erratum
9402         when enabled.
9403         (*crypto_<CRYPTO_AES:crypto_pattern>_insn): New pattern, based
9404         on original crypto_<CRYPTO_AES:crypto_pattern> insn.
9405         (aes_op_protect): New pattern.
9406         * config/arm/unspecs.md (unspec): Add UNSPEC_AES_PROTECT.
9408 2022-01-20  Richard Earnshaw  <rearnsha@arm.com>
9410         * config/arm/arm-cpus.in (quirk_aes_1742098): New quirk feature
9411         (ALL_QUIRKS): Add it.
9412         (cortex-a57, cortex-a72): Enable it.
9413         (cortex-a57.cortex-a53, cortex-a72.cortex-a53): Likewise.
9414         * config/arm/arm.opt (mfix-cortex-a57-aes-1742098): New command-line
9415         option.
9416         (mfix-cortex-a72-aes-1655431): New option alias.
9417         * config/arm/arm.cc (arm_option_override): Handle default settings
9418         for AES erratum switch.
9419         * doc/invoke.texi (Arm Options): Document new options.
9421 2022-01-20  Richard Earnshaw  <rearnsha@arm.com>
9423         * config/arm/crypto.md (crypto_<CYRPTO_AES:crypto_pattern>): Use
9424         <crypto_mode> rather than hard-coding the mode.
9425         (crypto_<CRYPTO_AESMC:crypto_pattern>): Fix white space.
9426         (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
9427         (*aarch32_crypto_aese_fused): Likewise.
9428         (*aarch32_crypto_aesd_fused): Likewise.
9429         (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
9430         (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
9431         (crypto_sha1h_lb): Likewise.
9432         (crypto_vmullp64): Likewise.
9433         (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
9434         (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
9436 2022-01-20  Richard Earnshaw  <rearnsha@arm.com>
9438         * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>): Add
9439         iterator to pattern name to disambiguate.
9440         (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
9441         (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
9442         (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
9443         (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
9444         (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
9446 2022-01-20  Martin Liska  <mliska@suse.cz>
9448         PR bootstrap/104135
9449         * emit-rtl.cc (make_insn_raw): Fix -Wformat-diag warnings.
9450         * rtl.cc: Partially disable -Wformat-diag for RTL checking
9451         error messages.
9453 2022-01-20  Jakub Jelinek  <jakub@redhat.com>
9455         PR debug/103874
9456         * dwarf2out.cc (index_rnglists): For !HAVE_AS_LEB128 and
9457         block_num > 0, index entry even if !have_multiple_function_sections.
9459 2022-01-20  liuhongt  <hongtao.liu@intel.com>
9461         PR target/103771
9462         * tree-vect-stmts.cc (supportable_narrowing_operation): Enhance
9463         integral mode mask pack by multi steps which takes
9464         vec_pack_sbool_trunc_optab as start when elements number is
9465         less than BITS_PER_UNITS.
9467 2022-01-20  Richard Biener  <rguenther@suse.de>
9469         PR tree-optimization/104114
9470         * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
9471         single element vector decomposition.
9473 2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
9475         * ifcvt.cc (noce_convert_multiple_sets_1): New function.
9476         (noce_convert_multiple_sets): Call function a second time if we can
9477         improve the first try.
9479 2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
9481         * ifcvt.cc (cond_exec_get_condition): New parameter to allow getting the
9482         reversed comparison.
9483         (try_emit_cmove_seq): New function to facilitate creating a cmov
9484         sequence.
9485         (noce_convert_multiple_sets): Create two sequences and use the less
9486         expensive one.
9488 2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
9490         * rtl.h (struct rtx_comparison): New struct that holds an rtx
9491         comparison.
9492         * config/rs6000/rs6000.cc (rs6000_emit_minmax): Use struct instead of
9493         single parameters.
9494         (rs6000_emit_swsqrt): Likewise.
9495         * expmed.cc (expand_sdiv_pow2): Likewise.
9496         (emit_store_flag): Likewise.
9497         * expr.cc (expand_cond_expr_using_cmove): Likewise.
9498         (expand_expr_real_2): Likewise.
9499         * ifcvt.cc (noce_emit_cmove): Add compare and reversed compare
9500         parameters.
9501         * optabs.cc (emit_conditional_move_1): New function.
9502         (expand_doubleword_shift_condmove): Use struct.
9503         (emit_conditional_move): Use struct and allow to call directly
9504         without going through preparation steps.
9505         * optabs.h (emit_conditional_move): Use struct.
9507 2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
9509         * ifcvt.cc (bb_ok_for_noce_convert_multiple_sets): Estimate insns costs.
9510         (noce_process_if_block): Use potential costs.
9512 2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
9514         * ifcvt.cc (noce_convert_multiple_sets): Allow constants.
9515         (bb_ok_for_noce_convert_multiple_sets): Likewise.
9517 2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
9519         * ifcvt.cc (need_cmov_or_rewire): New function.
9520         (noce_convert_multiple_sets): Call it.
9522 2022-01-19  David Malcolm  <dmalcolm@redhat.com>
9524         * attribs.cc (attribute_c_tests): Rename to...
9525         (attribs_cc_tests): ...this.
9526         * bitmap.cc (bitmap_c_tests): Rename to...
9527         (bitmap_cc_tests): ...this.
9528         * cgraph.cc (cgraph_c_finalize): Rename to...
9529         (cgraph_cc_finalize): ...this.
9530         (cgraph_c_tests): Rename to...
9531         (cgraph_cc_tests): ...this.
9532         * cgraph.h (cgraph_c_finalize): Rename to...
9533         (cgraph_cc_finalize): ...this.
9534         (cgraphunit_c_finalize): Rename to...
9535         (cgraphunit_cc_finalize): ...this.
9536         * cgraphunit.cc (cgraphunit_c_finalize): Rename to...
9537         (cgraphunit_cc_finalize): ...this.
9538         * convert.cc (convert_c_tests): Rename to...
9539         (convert_cc_tests): ...this.
9540         * dbgcnt.cc (dbgcnt_c_tests): Rename to...
9541         (dbgcnt_cc_tests): ...this.
9542         * diagnostic-show-locus.cc (diagnostic_show_locus_c_tests): Rename to...
9543         (diagnostic_show_locus_cc_tests): ...this.
9544         * diagnostic.cc (diagnostic_c_tests): Rename to...
9545         (diagnostic_cc_tests): ...this.
9546         * dumpfile.cc (dumpfile_c_tests): Rename to...
9547         (dumpfile_cc_tests): ...this.
9548         * dwarf2out.cc (dwarf2out_c_finalize): Rename to...
9549         (dwarf2out_cc_finalize): ...this.
9550         * dwarf2out.h (dwarf2out_c_finalize): Rename to...
9551         (dwarf2out_cc_finalize): ...this.
9552         * edit-context.cc (edit_context_c_tests): Rename to...
9553         (edit_context_cc_tests): ...this.
9554         * et-forest.cc (et_forest_c_tests): Rename to...
9555         (et_forest_cc_tests): ...this.
9556         * fibonacci_heap.cc (fibonacci_heap_c_tests): Rename to...
9557         (fibonacci_heap_cc_tests): ...this.
9558         * fold-const.cc (fold_const_c_tests): Rename to...
9559         (fold_const_cc_tests): ...this.
9560         * function-tests.cc (function_tests_c_tests): Rename to...
9561         (function_tests_cc_tests): ...this.
9562         * gcse.cc (gcse_c_finalize): Rename to...
9563         (gcse_cc_finalize): ...this.
9564         * gcse.h (gcse_c_finalize): Rename to...
9565         (gcse_cc_finalize): ...this.
9566         * ggc-tests.cc (ggc_tests_c_tests): Rename to...
9567         (ggc_tests_cc_tests): ...this.
9568         * gimple-ssa-store-merging.cc (store_merging_c_tests): Rename to...
9569         (store_merging_cc_tests): ...this.
9570         * gimple.cc (gimple_c_tests): Rename to...
9571         (gimple_cc_tests): ...this.
9572         * hash-map-tests.cc (hash_map_tests_c_tests): Rename to...
9573         (hash_map_tests_cc_tests): ...this.
9574         * hash-set-tests.cc (hash_set_tests_c_tests): Rename to...
9575         (hash_set_tests_cc_tests): ...this.
9576         * input.cc (input_c_tests): Rename to...
9577         (input_cc_tests): ...this.
9578         * ipa-cp.cc (ipa_cp_c_finalize): Rename to...
9579         (ipa_cp_cc_finalize): ...this.
9580         * ipa-fnsummary.cc (ipa_fnsummary_c_finalize): Rename to...
9581         (ipa_fnsummary_cc_finalize): ...this.
9582         * ipa-fnsummary.h (ipa_fnsummary_c_finalize): Rename to...
9583         (ipa_fnsummary_cc_finalize): ...this.
9584         * ipa-modref-tree.cc (ipa_modref_tree_c_tests): Rename to...
9585         (ipa_modref_tree_cc_tests): ...this.
9586         * ipa-modref-tree.h (modref_c_tests): Delete bogus decl.
9587         * ipa-modref.cc (ipa_modref_c_finalize): Rename to...
9588         (ipa_modref_cc_finalize): ...this.
9589         * ipa-modref.h (ipa_modref_c_finalize): Rename to...
9590         (ipa_modref_cc_finalize): ...this.
9591         * ipa-prop.h (ipa_cp_c_finalize): Rename to...
9592         (ipa_cp_cc_finalize): ...this.
9593         * ipa-reference.cc (ipa_reference_c_finalize): Rename to...
9594         (ipa_reference_cc_finalize): ...this.
9595         * ipa-reference.h (ipa_reference_c_finalize): Rename to...
9596         (ipa_reference_cc_finalize): ...this.
9597         * ira-costs.cc (ira_costs_c_finalize): Rename to...
9598         (ira_costs_cc_finalize): ...this.
9599         * ira.h (ira_costs_c_finalize): Rename to...
9600         (ira_costs_cc_finalize): ...this.
9601         * opt-suggestions.cc (opt_proposer_c_tests): Rename to...
9602         (opt_suggestions_cc_tests): ...this.
9603         * opts.cc (opts_c_tests): Rename to...
9604         (opts_cc_tests): ...this.
9605         * predict.cc (predict_c_tests): Rename to...
9606         (predict_cc_tests): ...this.
9607         * pretty-print.cc (pretty_print_c_tests): Rename to...
9608         (pretty_print_cc_tests): ...this.
9609         * read-rtl-function.cc (read_rtl_function_c_tests): Rename to...
9610         (read_rtl_function_cc_tests): ...this.
9611         * rtl-tests.cc (rtl_tests_c_tests): Rename to...
9612         (rtl_tests_cc_tests): ...this.
9613         * sbitmap.cc (sbitmap_c_tests): Rename to...
9614         (sbitmap_cc_tests): ...this.
9615         * selftest-run-tests.cc (selftest::run_tests): Update calls for
9616         _c_ to _cc_ function renamings; fix names of attribs and
9617         opt-suggestions tests.
9618         * selftest.cc (selftest_c_tests): Rename to...
9619         (selftest_cc_tests): ...this.
9620         * selftest.h (attribute_c_tests): Rename to...
9621         (attribs_cc_tests): ...this.
9622         (bitmap_c_tests): Rename to...
9623         (bitmap_cc_tests): ...this.
9624         (cgraph_c_tests): Rename to...
9625         (cgraph_cc_tests): ...this.
9626         (convert_c_tests): Rename to...
9627         (convert_cc_tests): ...this.
9628         (diagnostic_c_tests): Rename to...
9629         (diagnostic_cc_tests): ...this.
9630         (diagnostic_show_locus_c_tests): Rename to...
9631         (diagnostic_show_locus_cc_tests): ...this.
9632         (dumpfile_c_tests): Rename to...
9633         (dumpfile_cc_tests): ...this.
9634         (edit_context_c_tests): Rename to...
9635         (edit_context_cc_tests): ...this.
9636         (et_forest_c_tests): Rename to...
9637         (et_forest_cc_tests): ...this.
9638         (fibonacci_heap_c_tests): Rename to...
9639         (fibonacci_heap_cc_tests): ...this.
9640         (fold_const_c_tests): Rename to...
9641         (fold_const_cc_tests): ...this.
9642         (function_tests_c_tests): Rename to...
9643         (function_tests_cc_tests): ...this.
9644         (ggc_tests_c_tests): Rename to...
9645         (ggc_tests_cc_tests): ...this.
9646         (gimple_c_tests): Rename to...
9647         (gimple_cc_tests): ...this.
9648         (hash_map_tests_c_tests): Rename to...
9649         (hash_map_tests_cc_tests): ...this.
9650         (hash_set_tests_c_tests): Rename to...
9651         (hash_set_tests_cc_tests): ...this.
9652         (input_c_tests): Rename to...
9653         (input_cc_tests): ...this.
9654         (opts_c_tests): Rename to...
9655         (opts_cc_tests): ...this.
9656         (predict_c_tests): Rename to...
9657         (predict_cc_tests): ...this.
9658         (pretty_print_c_tests): Rename to...
9659         (pretty_print_cc_tests): ...this.
9660         (read_rtl_function_c_tests): Rename to...
9661         (read_rtl_function_cc_tests): ...this.
9662         (rtl_tests_c_tests): Rename to...
9663         (rtl_tests_cc_tests): ...this.
9664         (sbitmap_c_tests): Rename to...
9665         (sbitmap_cc_tests): ...this.
9666         (selftest_c_tests): Rename to...
9667         (selftest_cc_tests): ...this.
9668         (simplify_rtx_c_tests): Rename to...
9669         (simplify_rtx_cc_tests): ...this.
9670         (spellcheck_c_tests): Rename to...
9671         (spellcheck_cc_tests): ...this.
9672         (spellcheck_tree_c_tests): Rename to...
9673         (spellcheck_tree_cc_tests): ...this.
9674         (sreal_c_tests): Rename to...
9675         (sreal_cc_tests): ...this.
9676         (store_merging_c_tests): Rename to...
9677         (store_merging_cc_tests): ...this.
9678         (tree_c_tests): Rename to...
9679         (tree_cc_tests): ...this.
9680         (tree_cfg_c_tests): Rename to...
9681         (tree_cfg_cc_tests): ...this.
9682         (typed_splay_tree_c_tests): Rename to...
9683         (typed_splay_tree_cc_tests): ...this.
9684         (vec_c_tests): Rename to...
9685         (vec_cc_tests): ...this.
9686         (vec_perm_indices_c_tests): Rename to...
9687         (vec_perm_indices_cc_tests): ..this.
9688         (opt_proposer_c_tests): Rename to...
9689         (opt_suggestions_cc_tests): ...this.
9690         (dbgcnt_c_tests): Rename to...
9691         (dbgcnt_cc_tests): ...this.
9692         (ipa_modref_tree_c_tests): Rename to...
9693         (ipa_modref_tree_cc_tests): ...this.
9694         * simplify-rtx.cc (simplify_rtx_c_tests): Rename to...
9695         (simplify_rtx_cc_tests): ...this.
9696         * spellcheck-tree.cc (spellcheck_tree_c_tests): Rename to...
9697         (spellcheck_tree_cc_tests): ...this.
9698         * spellcheck.cc (spellcheck_c_tests): Rename to...
9699         (spellcheck_cc_tests): ...this.
9700         * sreal.cc (sreal_c_tests): Rename to...
9701         (sreal_cc_tests): ...this.
9702         * toplev.cc (toplev::finalize): Update calls for _c_ to _cc_
9703         function renamings.
9704         * tree-cfg.cc (tree_cfg_c_tests): Rename to...
9705         (tree_cfg_cc_tests): ...this.
9706         * tree.cc (tree_c_tests): Rename to...
9707         (tree_cc_tests): ...this.
9708         * typed-splay-tree.cc (typed_splay_tree_c_tests): Rename to...
9709         (typed_splay_tree_cc_tests): ...this.
9710         * vec-perm-indices.cc (vec_perm_indices_c_tests): Rename to...
9711         (vec_perm_indices_cc_tests): ...this.
9712         * vec.cc (vec_c_tests): Rename to...
9713         (vec_cc_tests): ...this.
9715 2022-01-19  Andre Vieira  <andre.simoesdiasvieira@arm.com>
9717         PR tree-optimization/103997
9718         * tree-vect-loop.cc (vect_analyze_loop): Fix mode skipping for epilogue
9719         vectorization.
9721 2022-01-19  Jakub Jelinek  <jakub@redhat.com>
9723         PR middle-end/102860
9724         * match.pd (x %[fl] y -> x % y): New simplification for
9725         unsigned integral types.
9726         * optabs-tree.cc (optab_for_tree_code): Return unknown_optab
9727         for {CEIL,FLOOR,ROUND}_{DIV,MOD}_EXPR with VECTOR_TYPE.
9729 2022-01-19  Richard Biener  <rguenther@suse.de>
9731         PR tree-optimization/104112
9732         * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
9733         for required intermediate vector types.
9735 2022-01-19  Jakub Jelinek  <jakub@redhat.com>
9737         * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Add default:.
9739 2022-01-19  Martin Liska  <mliska@suse.cz>
9741         * configure.ac: Remove -Wno-error=format-diag.
9742         * configure: Regenerate.
9744 2022-01-19  Martin Liska  <mliska@suse.cz>
9746         * config/riscv/riscv.cc (riscv_handle_type_attribute):
9747         Update one -Wformat-diag string in warning message.
9749 2022-01-19  Jakub Jelinek  <jakub@redhat.com>
9751         PR middle-end/104103
9752         * gimple-ssa-warn-access.cc (pass_waccess::check_call): Don't check
9753         .ASAN_MARK calls.
9755 2022-01-19  Jakub Jelinek  <jakub@redhat.com>
9757         PR c++/89074
9758         * fold-const.cc (address_compare): Consider different STRING_CSTs
9759         with the same lengths that memcmp the same as equal, not different.
9761 2022-01-19  Jakub Jelinek  <jakub@redhat.com>
9763         * config/i386/sse.md (*aes<aeswideklvariant>u*): Use %0 instead of
9764         {%0}.
9766 2022-01-19  Martin Liska  <mliska@suse.cz>
9767             Thomas Schwinge  <thomas@codesourcery.com>
9769         * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Update
9770         warning messages.
9772 2022-01-19  Sebastian Huber  <sebastian.huber@embedded-brains.de>
9774         PR target/104090
9775         * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Use also
9776         rs6000_cpu.
9778 2022-01-19  Jakub Jelinek  <jakub@redhat.com>
9780         PR target/104104
9781         * config/i386/sse.md
9782         (<avx512>_<complexopname>_<mode><maskc_name><round_name>,
9783         avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>,
9784         avx512dq_mul<mode>3<mask_name>, <avx2_avx512>_permvar<mode><mask_name>,
9785         avx2_perm<mode>_1<mask_name>, avx512f_perm<mode>_1<mask_name>,
9786         avx512dq_rangep<mode><mask_name><round_saeonly_name>,
9787         avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>,
9788         <avx512>_getmant<mode><mask_name><round_saeonly_name>,
9789         avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
9790         Use vxorps\t%x0, %x0, %x0 instead of vxorps\t{%x0, %x0, %x0}.
9792 2022-01-19  Martin Sebor  <msebor@redhat.com>
9794         PR middle-end/104069
9795         * gimple-ssa-warn-access.cc (pointers_related_p): Return false for
9796         an unknown result as documented.
9798 2022-01-18  Andrew Pinski  <apinski@marvell.com>
9800         * ipa-split.cc (visit_bb): Fix comment before the
9801         warning/error attribute checking code.
9803 2022-01-18  David Faust  <david.faust@oracle.com>
9805         * config/bpf/coreout.cc (bpf_core_reloc_add): Do not account
9806         for base strtab offset yet as it may change.
9807         (output_asm_btfext_core_reloc): Do so here instead.
9808         (output_btfext_core_sections): Likewise.
9810 2022-01-18  David Faust  <david.faust@oracle.com>
9812         * config/bpf/coreout.cc (output_btfext_header): Account for
9813         4-byte record size in core_relo_len.
9814         (output_btfext_core_sections): Only write record size once.
9815         * config/bpf/coreout.h (btf_ext_section_header): Delete unused
9816         member.
9818 2022-01-18  Maciej W. Rozycki  <macro@embecosm.com>
9820         * common/config/riscv/riscv-common.cc
9821         (riscv_subset_list::parse_multiletter_ext): Move pointer
9822         arithmetic ahead of `free'.
9824 2022-01-18  Jason Merrill  <jason@redhat.com>
9826         PR c++/104007
9827         * gimplify.cc (gimple_push_cleanup): Handle eh_only in conditional
9828         context.
9830 2022-01-18  Sandra Loosemore  <sandra@codesourcery.com>
9832         PR middle-end/103163
9833         * emit-rtl.cc (init_emit_regs): Initialize stack_limit_rtx here...
9834         (init_emit_once): ...not here.
9836 2022-01-18  Martin Liska  <mliska@suse.cz>
9838         * collect2.cc (scan_libraries): Fix -Wformat-diag issues.
9839         * config/aarch64/aarch64-builtins.cc (aarch64_simd_expand_builtin): Likewise.
9840         * config/arc/arc.md: Likewise.
9841         * config/avr/avr.cc (avr_section_type_flags): Likewise.
9842         * config/bfin/bfin.cc (bfin_option_override): Likewise.
9843         (bfin_handle_longcall_attribute): Likewise.
9844         * config/cris/cris.h (FUNCTION_PROFILER): Likewise.
9845         * config/frv/frv.cc (frv_expand_builtin): Likewise.
9846         * config/ia64/ia64-c.cc (ia64_hpux_handle_builtin_pragma): Likewise.
9847         * config/iq2000/iq2000.cc (save_restore_insns): Likewise.
9848         (iq2000_print_operand_address): Likewise.
9849         (iq2000_print_operand): Likewise.
9850         * config/m32c/m32c-pragma.cc (m32c_pragma_memregs): Likewise.
9851         (m32c_pragma_address): Likewise.
9852         * config/m68k/m68k.cc (m68k_handle_fndecl_attribute): Likewise.
9853         * config/mips/mips.cc (mips_handle_interrupt_attr): Likewise.
9854         (mips_set_compression_mode): Likewise.
9855         * config/mmix/mmix.cc (mmix_function_profiler): Likewise.
9856         (mmix_print_operand): Likewise.
9857         (mmix_output_shiftvalue_op_from_str): Likewise.
9858         (mmix_output_shifted_value): Likewise.
9859         * config/msp430/driver-msp430.cc (msp430_select_hwmult_lib): Likewise.
9860         * config/msp430/msp430.cc (msp430_option_override): Likewise.
9861         (msp430_attr): Likewise.
9862         (msp430_expand_delay_cycles): Likewise.
9863         (msp430_expand_builtin): Likewise.
9864         * config/rs6000/aix73.h: Likewise.
9865         * config/rs6000/rtems.h (INVALID_64BIT): Likewise.
9866         * config/rx/rx.cc (rx_expand_builtin_mvtc): Likewise.
9867         (valid_psw_flag): Likewise.
9868         * config/sh/sh.cc (parse_validate_atomic_model_option): Likewise.
9869         * config/stormy16/stormy16.cc (xstormy16_function_profiler): Likewise.
9870         (xstormy16_expand_builtin_va_start): Likewise.
9871         (xstormy16_handle_below100_attribute): Likewise.
9873 2022-01-18  Martin Liska  <mliska@suse.cz>
9875         * config/vms/vms-c.cc (vms_pragma_nostandard): Fix -Wformat-diag
9876         warning.
9877         (vms_pragma_standard): Likewise.
9878         (vms_pragma_extern_prefix): Likewise.
9880 2022-01-18  Martin Liska  <mliska@suse.cz>
9882         * config/xtensa/xtensa.cc (print_operand): Fix warnings.
9883         (print_operand_address): Likewise.
9884         (xtensa_multibss_section_type_flags): Likewise.
9886 2022-01-18  Martin Liska  <mliska@suse.cz>
9888         * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Change
9889         wording of an error message.
9891 2022-01-18  Martin Liska  <mliska@suse.cz>
9893         * config/v850/v850-c.cc (pop_data_area): Fix -Wformat-diag
9894         warning.
9895         (ghs_pragma_section): Likewise.
9896         (ghs_pragma_interrupt): Likewise.
9897         (ghs_pragma_starttda): Likewise.
9898         (ghs_pragma_startsda): Likewise.
9899         (ghs_pragma_startzda): Likewise.
9900         (ghs_pragma_endtda): Likewise.
9901         (ghs_pragma_endsda): Likewise.
9902         (ghs_pragma_endzda): Likewise.
9904 2022-01-18  Martin Liska  <mliska@suse.cz>
9906         * config/nds32/nds32-intrinsic.cc (nds32_expand_builtin_impl):
9907         Fix warnings.
9908         * config/nds32/nds32-intrinsic.md: Likewise.
9909         * config/nds32/nds32-isr.cc (nds32_check_isr_attrs_conflict): Likewise.
9910         * config/nds32/nds32.cc (nds32_print_operand): Likewise.
9911         (nds32_insert_attributes): Likewise.
9913 2022-01-18  Martin Liska  <mliska@suse.cz>
9915         * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Wrap
9916         keyword.
9917         * config/nvptx/nvptx.md: Remove trailing dot.
9919 2022-01-18  Martin Liska  <mliska@suse.cz>
9921         * common/config/riscv/riscv-common.cc (riscv_subset_list::add):
9922         Wrap keywords with quotes and remove trailing dots.
9923         (riscv_subset_list::parsing_subset_version): Likewise.
9924         (riscv_subset_list::parse_std_ext): Likewise.
9925         (riscv_subset_list::parse_multiletter_ext): Likewise.
9926         * config/riscv/riscv.cc (riscv_handle_type_attribute): Likewise.
9928 2022-01-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>
9930         * tree-vect-loop.cc (vect_estimate_min_profitable_iters): Pass new
9931         argument suggested_unroll_factor.
9932         (vect_analyze_loop_costing): Likewise.
9933         (_loop_vec_info::_loop_vec_info): Initialize new member
9934         suggested_unroll_factor.
9935         (vect_determine_partial_vectors_and_peeling): Make epilogue of unrolled
9936         main loop use partial vectors.
9937         (vect_analyze_loop_2): Pass and use new argument
9938         suggested_unroll_factor.
9939         (vect_analyze_loop_1): Change to intialize local
9940         suggested_unroll_factor and use it.
9941         (vectorizable_reduction): Don't use single_defuse_cycle when unrolling.
9942         * tree-vectorizer.h (_loop_vec_info::_loop_vec_info): Add new member
9943         suggested_unroll_factor.
9944         (vector_costs::vector_costs): Add new member m_suggested_unroll_factor.
9945         (vector_costs::suggested_unroll_factor): New getter function.
9946         (finish_cost): Set return argument suggested_unroll_factor.
9948 2022-01-18  Andrew MacLeod  <amacleod@redhat.com>
9950         PR tree-optimization/104038
9951         * doc/invoke.texi (relation-block-limit): New.
9952         * params.opt (relation-block-limit): New.
9953         * value-relation.cc (dom_oracle::register_relation): Check for NULL
9954         record before invoking transitive registery.
9955         (dom_oracle::set_one_relation): Check limit before creating record.
9956         (dom_oracle::register_transitives): Stop when no record created.
9957         * value-relation.h (relation_chain_head::m_num_relations): New.
9959 2022-01-18  Richard Biener  <rguenther@suse.de>
9961         PR ipa/103989
9962         * ipa-inline.cc (inline_small_functions): Do not enqueue call
9963         edges originating in functions compiled with -Og.
9965 2022-01-18  Richard Biener  <rguenther@suse.de>
9967         PR ipa/103989
9968         * passes.def (pass_all_optimizations_g): Remove pass_modref
9969         and pass_local_pure_const.
9971 2022-01-18  Martin Liska  <mliska@suse.cz>
9973         * config/s390/s390.cc: Fix -Wformat-diag warnings.
9975 2022-01-18  Martin Liska  <mliska@suse.cz>
9977         * config/s390/s390-c.cc (s390_expand_overloaded_builtin): Wrap
9978         keyword in quotes.
9979         (s390_resolve_overloaded_builtin): Remove trailing dot.
9980         * config/s390/s390.cc (s390_const_operand_ok): Use - for range.
9981         (s390_expand_builtin): Remove trailing dot.
9982         (s390_emit_prologue): Likewise, use semicolon.
9983         (s390_option_override_internal): Update keyword.
9984         * varasm.cc (do_assemble_alias): Wrap keyword in quotes.
9986 2022-01-18  Martin Liska  <mliska@suse.cz>
9988         * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Wrap
9989         keywords and use %qs instead of %<%s%>.
9991 2022-01-18  Richard Biener  <rguenther@suse.de>
9993         PR tree-optimization/103987
9994         * tree-ssa-dse.cc (dse_optimize_call): Properly guard modref
9995         query with a pointer check.
9997 2022-01-18  Richard Sandiford  <richard.sandiford@arm.com>
9999         PR target/104005
10000         * config/aarch64/aarch64.cc (aarch64_check_consecutive_mems):
10001         When using MEM_EXPR, require the base to be a decl.
10003 2022-01-18  Richard Biener  <rguenther@suse.de>
10005         * cgraph.h (struct cgraph_simd_clone_arg): Re-arrange fields to
10006         avoid padding.
10007         * function.h (struct function): Likewise.
10009 2022-01-18  Arnaud Charlet  <charlet@adacore.com>
10011         * doc/install.texi: Update prerequisites for GNAT
10013 2022-01-18  Andrew Pinski  <apinski@marvell.com>
10015         PR tree-optimization/101941
10016         * ipa-split.cc (visit_bb): Disallow function calls where
10017         the function has either error or warning attribute.
10019 2022-01-18  Richard Biener  <rguenther@suse.de>
10021         PR tree-optimization/104064
10022         * tree-vect-data-refs.cc (vect_analyze_data_ref_accesses): Check
10023         DR_INIT fits in a signed HWI, represent the difference from the
10024         first DR in unsigned.
10026 2022-01-17  Martin Liska  <mliska@suse.cz>
10028         * Makefile.in: Rename .c names to .cc.
10029         * config.gcc: Likewise.
10030         * configure: Regenerate. Likewise.
10031         * configure.ac: Likewise.
10032         * gengtype.cc (set_gc_used): Likewise.
10033         (source_dot_c_frul): Likewise.
10034         (source_dot_cc_frul): Likewise.
10035         (struct file_rule_st): Likewise.
10036         (close_output_files): Likewise.
10037         * config/avr/t-avr: Use CXXFLAGS_* and CXX_FOR_BUILD.
10039 2022-01-17  Martin Liska  <mliska@suse.cz>
10041         * Makefile.in: Rename .c names to .cc.
10042         * alias.h: Likewise.
10043         * asan.cc: Likewise.
10044         * auto-profile.h: Likewise.
10045         * basic-block.h (struct basic_block_d): Likewise.
10046         * btfout.cc: Likewise.
10047         * builtins.cc (expand_builtin_longjmp): Likewise.
10048         (validate_arg): Likewise.
10049         (access_ref::offset_bounded): Likewise.
10050         * caller-save.cc (reg_restore_code): Likewise.
10051         (setup_save_areas): Likewise.
10052         * calls.cc (initialize_argument_information): Likewise.
10053         (expand_call): Likewise.
10054         (emit_library_call_value_1): Likewise.
10055         * cfg-flags.def (RTL): Likewise.
10056         (SIBCALL): Likewise.
10057         (CAN_FALLTHRU): Likewise.
10058         * cfganal.cc (post_order_compute): Likewise.
10059         * cfgcleanup.cc (try_simplify_condjump): Likewise.
10060         (merge_blocks_move_predecessor_nojumps): Likewise.
10061         (merge_blocks_move_successor_nojumps): Likewise.
10062         (merge_blocks_move): Likewise.
10063         (old_insns_match_p): Likewise.
10064         (try_crossjump_bb): Likewise.
10065         * cfgexpand.cc (expand_gimple_stmt): Likewise.
10066         * cfghooks.cc (split_block_before_cond_jump): Likewise.
10067         (profile_record_check_consistency): Likewise.
10068         * cfghooks.h: Likewise.
10069         * cfgrtl.cc (pass_free_cfg::execute): Likewise.
10070         (rtl_can_merge_blocks): Likewise.
10071         (try_redirect_by_replacing_jump): Likewise.
10072         (make_pass_outof_cfg_layout_mode): Likewise.
10073         (cfg_layout_can_merge_blocks_p): Likewise.
10074         * cgraph.cc (release_function_body): Likewise.
10075         (cgraph_node::get_fun): Likewise.
10076         * cgraph.h (struct cgraph_node): Likewise.
10077         (asmname_hasher::equal): Likewise.
10078         (cgraph_inline_failed_type): Likewise.
10079         (thunk_adjust): Likewise.
10080         (dump_callgraph_transformation): Likewise.
10081         (record_references_in_initializer): Likewise.
10082         (ipa_discover_variable_flags): Likewise.
10083         * cgraphclones.cc (GTY): Likewise.
10084         * cgraphunit.cc (symbol_table::finalize_compilation_unit): Likewise.
10085         * collect-utils.h (GCC_COLLECT_UTILS_H): Likewise.
10086         * collect2-aix.h (GCC_COLLECT2_AIX_H): Likewise.
10087         * collect2.cc (maybe_run_lto_and_relink): Likewise.
10088         * combine-stack-adj.cc: Likewise.
10089         * combine.cc (setup_incoming_promotions): Likewise.
10090         (combine_simplify_rtx): Likewise.
10091         (count_rtxs): Likewise.
10092         * common.opt: Likewise.
10093         * common/config/aarch64/aarch64-common.cc: Likewise.
10094         * common/config/arm/arm-common.cc (arm_asm_auto_mfpu): Likewise.
10095         * common/config/avr/avr-common.cc: Likewise.
10096         * common/config/i386/i386-isas.h (struct _isa_names_table): Likewise.
10097         * conditions.h: Likewise.
10098         * config.gcc: Likewise.
10099         * config/aarch64/aarch64-builtins.cc (aarch64_resolve_overloaded_memtag): Likewise.
10100         * config/aarch64/aarch64-protos.h (aarch64_classify_address): Likewise.
10101         (aarch64_get_extension_string_for_isa_flags): Likewise.
10102         * config/aarch64/aarch64-sve-builtins.cc (function_builder::add_function): Likewise.
10103         * config/aarch64/aarch64.cc (aarch64_regmode_natural_size): Likewise.
10104         (aarch64_sched_first_cycle_multipass_dfa_lookahead): Likewise.
10105         (aarch64_option_valid_attribute_p): Likewise.
10106         (aarch64_short_vector_p): Likewise.
10107         (aarch64_float_const_representable_p): Likewise.
10108         * config/aarch64/aarch64.h (DBX_REGISTER_NUMBER): Likewise.
10109         (ASM_OUTPUT_POOL_EPILOGUE): Likewise.
10110         (GTY): Likewise.
10111         * config/aarch64/cortex-a57-fma-steering.cc: Likewise.
10112         * config/aarch64/driver-aarch64.cc (contains_core_p): Likewise.
10113         * config/aarch64/t-aarch64: Likewise.
10114         * config/aarch64/x-aarch64: Likewise.
10115         * config/aarch64/x-darwin: Likewise.
10116         * config/alpha/alpha-protos.h: Likewise.
10117         * config/alpha/alpha.cc (alpha_scalar_mode_supported_p): Likewise.
10118         * config/alpha/alpha.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
10119         (enum reg_class): Likewise.
10120         * config/alpha/alpha.md: Likewise.
10121         * config/alpha/driver-alpha.cc (AMASK_LOCKPFTCHOK): Likewise.
10122         * config/alpha/x-alpha: Likewise.
10123         * config/arc/arc-protos.h (arc_eh_uses): Likewise.
10124         * config/arc/arc.cc (ARC_OPT): Likewise.
10125         (arc_ccfsm_advance): Likewise.
10126         (arc_arg_partial_bytes): Likewise.
10127         (conditionalize_nonjump): Likewise.
10128         * config/arc/arc.md: Likewise.
10129         * config/arc/builtins.def: Likewise.
10130         * config/arc/t-arc: Likewise.
10131         * config/arm/arm-c.cc (arm_resolve_overloaded_builtin): Likewise.
10132         (arm_pragma_target_parse): Likewise.
10133         * config/arm/arm-protos.h (save_restore_target_globals): Likewise.
10134         (arm_cpu_cpp_builtins): Likewise.
10135         * config/arm/arm.cc (vfp3_const_double_index): Likewise.
10136         (shift_op): Likewise.
10137         (thumb2_final_prescan_insn): Likewise.
10138         (arm_final_prescan_insn): Likewise.
10139         (arm_asm_output_labelref): Likewise.
10140         (arm_small_register_classes_for_mode_p): Likewise.
10141         * config/arm/arm.h: Likewise.
10142         * config/arm/arm.md: Likewise.
10143         * config/arm/driver-arm.cc: Likewise.
10144         * config/arm/symbian.h: Likewise.
10145         * config/arm/t-arm: Likewise.
10146         * config/arm/thumb1.md: Likewise.
10147         * config/arm/x-arm: Likewise.
10148         * config/avr/avr-c.cc (avr_register_target_pragmas): Likewise.
10149         * config/avr/avr-fixed.md: Likewise.
10150         * config/avr/avr-log.cc (avr_log_vadump): Likewise.
10151         * config/avr/avr-mcus.def: Likewise.
10152         * config/avr/avr-modes.def (FRACTIONAL_INT_MODE): Likewise.
10153         * config/avr/avr-passes.def (INSERT_PASS_BEFORE): Likewise.
10154         * config/avr/avr-protos.h (make_avr_pass_casesi): Likewise.
10155         * config/avr/avr.cc (avr_option_override): Likewise.
10156         (avr_build_builtin_va_list): Likewise.
10157         (avr_mode_dependent_address_p): Likewise.
10158         (avr_function_arg_advance): Likewise.
10159         (avr_asm_output_aligned_decl_common): Likewise.
10160         * config/avr/avr.h (RETURN_ADDR_RTX): Likewise.
10161         (SUPPORTS_INIT_PRIORITY): Likewise.
10162         * config/avr/avr.md: Likewise.
10163         * config/avr/builtins.def: Likewise.
10164         * config/avr/gen-avr-mmcu-specs.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
10165         * config/avr/gen-avr-mmcu-texi.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
10166         (main): Likewise.
10167         * config/avr/t-avr: Likewise.
10168         * config/bfin/bfin.cc (frame_related_constant_load): Likewise.
10169         * config/bpf/bpf-protos.h (GCC_BPF_PROTOS_H): Likewise.
10170         * config/bpf/bpf.h (enum reg_class): Likewise.
10171         * config/bpf/t-bpf: Likewise.
10172         * config/c6x/c6x-protos.h (GCC_C6X_PROTOS_H): Likewise.
10173         * config/cr16/cr16-protos.h: Likewise.
10174         * config/cris/cris.cc (cris_address_cost): Likewise.
10175         (cris_side_effect_mode_ok): Likewise.
10176         (cris_init_machine_status): Likewise.
10177         (cris_emit_movem_store): Likewise.
10178         * config/cris/cris.h (INDEX_REG_CLASS): Likewise.
10179         (enum reg_class): Likewise.
10180         (struct cum_args): Likewise.
10181         * config/cris/cris.opt: Likewise.
10182         * config/cris/sync.md: Likewise.
10183         * config/csky/csky.cc (csky_expand_prologue): Likewise.
10184         * config/darwin-c.cc: Likewise.
10185         * config/darwin-f.cc: Likewise.
10186         * config/darwin-sections.def (zobj_const_section): Likewise.
10187         * config/darwin.cc (output_objc_section_asm_op): Likewise.
10188         (fprintf): Likewise.
10189         * config/darwin.h (GTY): Likewise.
10190         * config/elfos.h: Likewise.
10191         * config/epiphany/epiphany-sched.md: Likewise.
10192         * config/epiphany/epiphany.cc (epiphany_function_value): Likewise.
10193         * config/epiphany/epiphany.h (GTY): Likewise.
10194         (NO_FUNCTION_CSE): Likewise.
10195         * config/epiphany/mode-switch-use.cc: Likewise.
10196         * config/epiphany/predicates.md: Likewise.
10197         * config/epiphany/t-epiphany: Likewise.
10198         * config/fr30/fr30-protos.h: Likewise.
10199         * config/frv/frv-protos.h: Likewise.
10200         * config/frv/frv.cc (TLS_BIAS): Likewise.
10201         * config/frv/frv.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
10202         * config/ft32/ft32-protos.h: Likewise.
10203         * config/gcn/gcn-hsa.h (ASM_APP_OFF): Likewise.
10204         * config/gcn/gcn.cc (gcn_init_libfuncs): Likewise.
10205         * config/gcn/mkoffload.cc (copy_early_debug_info): Likewise.
10206         * config/gcn/t-gcn-hsa: Likewise.
10207         * config/gcn/t-omp-device: Likewise.
10208         * config/h8300/h8300-protos.h (GCC_H8300_PROTOS_H): Likewise.
10209         (same_cmp_following_p): Likewise.
10210         * config/h8300/h8300.cc (F): Likewise.
10211         * config/h8300/h8300.h (struct cum_arg): Likewise.
10212         (BRANCH_COST): Likewise.
10213         * config/i386/cygming.h (DEFAULT_PCC_STRUCT_RETURN): Likewise.
10214         * config/i386/djgpp.h (TARGET_ASM_LTO_END): Likewise.
10215         * config/i386/dragonfly.h (NO_PROFILE_COUNTERS): Likewise.
10216         * config/i386/driver-i386.cc (detect_caches_intel): Likewise.
10217         * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
10218         * config/i386/i386-c.cc (ix86_target_macros): Likewise.
10219         * config/i386/i386-expand.cc (get_mode_wider_vector): Likewise.
10220         * config/i386/i386-options.cc (ix86_set_func_type): Likewise.
10221         * config/i386/i386-protos.h (ix86_extract_perm_from_pool_constant): Likewise.
10222         (ix86_register_pragmas): Likewise.
10223         (ix86_d_has_stdcall_convention): Likewise.
10224         (i386_pe_seh_init_sections): Likewise.
10225         * config/i386/i386.cc (ix86_function_arg_regno_p): Likewise.
10226         (ix86_function_value_regno_p): Likewise.
10227         (ix86_compute_frame_layout): Likewise.
10228         (legitimize_pe_coff_symbol): Likewise.
10229         (output_pic_addr_const): Likewise.
10230         * config/i386/i386.h (defined): Likewise.
10231         (host_detect_local_cpu): Likewise.
10232         (CONSTANT_ADDRESS_P): Likewise.
10233         (DEFAULT_LARGE_SECTION_THRESHOLD): Likewise.
10234         (struct machine_frame_state): Likewise.
10235         * config/i386/i386.md: Likewise.
10236         * config/i386/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
10237         * config/i386/mmx.md: Likewise.
10238         * config/i386/sse.md: Likewise.
10239         * config/i386/t-cygming: Likewise.
10240         * config/i386/t-djgpp: Likewise.
10241         * config/i386/t-gnu-property: Likewise.
10242         * config/i386/t-i386: Likewise.
10243         * config/i386/t-intelmic: Likewise.
10244         * config/i386/t-omp-device: Likewise.
10245         * config/i386/winnt-cxx.cc (i386_pe_type_dllimport_p): Likewise.
10246         (i386_pe_adjust_class_at_definition): Likewise.
10247         * config/i386/winnt.cc (gen_stdcall_or_fastcall_suffix): Likewise.
10248         (i386_pe_mangle_decl_assembler_name): Likewise.
10249         (i386_pe_encode_section_info): Likewise.
10250         * config/i386/x-cygwin: Likewise.
10251         * config/i386/x-darwin: Likewise.
10252         * config/i386/x-i386: Likewise.
10253         * config/i386/x-mingw32: Likewise.
10254         * config/i386/x86-tune-sched-core.cc: Likewise.
10255         * config/i386/x86-tune.def: Likewise.
10256         * config/i386/xm-djgpp.h (STANDARD_STARTFILE_PREFIX_1): Likewise.
10257         * config/ia64/freebsd.h: Likewise.
10258         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Likewise.
10259         * config/ia64/ia64-protos.h (ia64_except_unwind_info): Likewise.
10260         * config/ia64/ia64.cc (ia64_function_value_regno_p): Likewise.
10261         (ia64_secondary_reload_class): Likewise.
10262         (bundling): Likewise.
10263         * config/ia64/ia64.h: Likewise.
10264         * config/ia64/ia64.md: Likewise.
10265         * config/ia64/predicates.md: Likewise.
10266         * config/ia64/sysv4.h: Likewise.
10267         * config/ia64/t-ia64: Likewise.
10268         * config/iq2000/iq2000.h (FUNCTION_MODE): Likewise.
10269         * config/iq2000/iq2000.md: Likewise.
10270         * config/linux.h (TARGET_HAS_BIONIC): Likewise.
10271         (if): Likewise.
10272         * config/m32c/m32c.cc (m32c_function_needs_enter): Likewise.
10273         * config/m32c/m32c.h (MAX_REGS_PER_ADDRESS): Likewise.
10274         * config/m32c/t-m32c: Likewise.
10275         * config/m32r/m32r-protos.h: Likewise.
10276         * config/m32r/m32r.cc (m32r_print_operand): Likewise.
10277         * config/m32r/m32r.h: Likewise.
10278         * config/m32r/m32r.md: Likewise.
10279         * config/m68k/m68k-isas.def: Likewise.
10280         * config/m68k/m68k-microarchs.def: Likewise.
10281         * config/m68k/m68k-protos.h (strict_low_part_peephole_ok): Likewise.
10282         (m68k_epilogue_uses): Likewise.
10283         * config/m68k/m68k.cc (m68k_call_tls_get_addr): Likewise.
10284         (m68k_sched_adjust_cost): Likewise.
10285         (m68k_sched_md_init): Likewise.
10286         * config/m68k/m68k.h (__transfer_from_trampoline): Likewise.
10287         (enum m68k_function_kind): Likewise.
10288         * config/m68k/m68k.md: Likewise.
10289         * config/m68k/m68kemb.h: Likewise.
10290         * config/m68k/uclinux.h (ENDFILE_SPEC): Likewise.
10291         * config/mcore/mcore-protos.h: Likewise.
10292         * config/mcore/mcore.cc (mcore_expand_insv): Likewise.
10293         (mcore_expand_prolog): Likewise.
10294         * config/mcore/mcore.h (TARGET_MCORE): Likewise.
10295         * config/mcore/mcore.md: Likewise.
10296         * config/microblaze/microblaze-protos.h: Likewise.
10297         * config/microblaze/microblaze.cc (microblaze_legitimate_pic_operand): Likewise.
10298         (microblaze_function_prologue): Likewise.
10299         (microblaze_function_epilogue): Likewise.
10300         (microblaze_select_section): Likewise.
10301         (microblaze_asm_output_mi_thunk): Likewise.
10302         (microblaze_eh_return): Likewise.
10303         * config/microblaze/microblaze.h: Likewise.
10304         * config/microblaze/microblaze.md: Likewise.
10305         * config/microblaze/t-microblaze: Likewise.
10306         * config/mips/driver-native.cc: Likewise.
10307         * config/mips/loongson2ef.md: Likewise.
10308         * config/mips/mips-protos.h (mips_expand_vec_cmp_expr): Likewise.
10309         * config/mips/mips.cc (mips_rtx_costs): Likewise.
10310         (mips_output_filename): Likewise.
10311         (mips_output_function_prologue): Likewise.
10312         (mips_output_function_epilogue): Likewise.
10313         (mips_output_mi_thunk): Likewise.
10314         * config/mips/mips.h: Likewise.
10315         * config/mips/mips.md: Likewise.
10316         * config/mips/t-mips: Likewise.
10317         * config/mips/x-native: Likewise.
10318         * config/mmix/mmix-protos.h: Likewise.
10319         * config/mmix/mmix.cc (mmix_option_override): Likewise.
10320         (mmix_dbx_register_number): Likewise.
10321         (mmix_expand_prologue): Likewise.
10322         * config/mmix/mmix.h: Likewise.
10323         * config/mmix/mmix.md: Likewise.
10324         * config/mmix/predicates.md: Likewise.
10325         * config/mn10300/mn10300.cc (mn10300_symbolic_operand): Likewise.
10326         (mn10300_legitimate_pic_operand_p): Likewise.
10327         * config/mn10300/mn10300.h (enum reg_class): Likewise.
10328         (NO_FUNCTION_CSE): Likewise.
10329         * config/moxie/moxie-protos.h: Likewise.
10330         * config/moxie/uclinux.h (TARGET_LIBC_HAS_FUNCTION): Likewise.
10331         * config/msp430/msp430-devices.cc (extract_devices_dir_from_exec_prefix): Likewise.
10332         * config/msp430/msp430.cc (msp430_gimplify_va_arg_expr): Likewise.
10333         (msp430_incoming_return_addr_rtx): Likewise.
10334         * config/msp430/msp430.h (msp430_get_linker_devices_include_path): Likewise.
10335         * config/msp430/t-msp430: Likewise.
10336         * config/nds32/nds32-cost.cc (nds32_rtx_costs_speed_prefer): Likewise.
10337         (nds32_rtx_costs_size_prefer): Likewise.
10338         (nds32_init_rtx_costs): Likewise.
10339         * config/nds32/nds32-doubleword.md: Likewise.
10340         * config/nds32/nds32.cc (nds32_memory_move_cost): Likewise.
10341         (nds32_builtin_decl): Likewise.
10342         * config/nds32/nds32.h (enum nds32_16bit_address_type): Likewise.
10343         (enum nds32_isr_nested_type): Likewise.
10344         (enum reg_class): Likewise.
10345         * config/nds32/predicates.md: Likewise.
10346         * config/nds32/t-nds32: Likewise.
10347         * config/nios2/nios2.cc (nios2_pragma_target_parse): Likewise.
10348         * config/nvptx/nvptx-protos.h: Likewise.
10349         * config/nvptx/nvptx.cc (nvptx_goacc_expand_var_decl): Likewise.
10350         * config/nvptx/nvptx.h (TARGET_CPU_CPP_BUILTINS): Likewise.
10351         * config/nvptx/t-nvptx: Likewise.
10352         * config/nvptx/t-omp-device: Likewise.
10353         * config/pa/elf.h: Likewise.
10354         * config/pa/pa-linux.h (GLOBAL_ASM_OP): Likewise.
10355         * config/pa/pa-netbsd.h (GLOBAL_ASM_OP): Likewise.
10356         * config/pa/pa-openbsd.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
10357         * config/pa/pa-protos.h (pa_eh_return_handler_rtx): Likewise.
10358         (pa_legitimize_reload_address): Likewise.
10359         (pa_can_use_return_insn): Likewise.
10360         * config/pa/pa.cc (mem_shadd_or_shadd_rtx_p): Likewise.
10361         (som_output_text_section_asm_op): Likewise.
10362         * config/pa/pa.h (PROFILE_BEFORE_PROLOGUE): Likewise.
10363         * config/pa/pa.md: Likewise.
10364         * config/pa/som.h: Likewise.
10365         * config/pa/t-pa: Likewise.
10366         * config/pdp11/pdp11.cc (decode_pdp11_d): Likewise.
10367         * config/pdp11/pdp11.h: Likewise.
10368         * config/pdp11/pdp11.md: Likewise.
10369         * config/pdp11/t-pdp11: Likewise.
10370         * config/pru/pru.md: Likewise.
10371         * config/pru/t-pru: Likewise.
10372         * config/riscv/riscv-protos.h (NUM_SYMBOL_TYPES): Likewise.
10373         (riscv_gpr_save_operation_p): Likewise.
10374         (riscv_d_register_target_info): Likewise.
10375         (riscv_init_builtins): Likewise.
10376         * config/riscv/riscv.cc (riscv_output_mi_thunk): Likewise.
10377         * config/riscv/riscv.h (CSW_MAX_OFFSET): Likewise.
10378         * config/riscv/t-riscv: Likewise.
10379         * config/rl78/rl78.cc (rl78_asm_ctor_dtor): Likewise.
10380         * config/rl78/t-rl78: Likewise.
10381         * config/rs6000/aix.h: Likewise.
10382         * config/rs6000/aix71.h (ASM_SPEC_COMMON): Likewise.
10383         * config/rs6000/aix72.h (ASM_SPEC_COMMON): Likewise.
10384         * config/rs6000/aix73.h (ASM_SPEC_COMMON): Likewise.
10385         * config/rs6000/darwin.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
10386         * config/rs6000/driver-rs6000.cc: Likewise.
10387         * config/rs6000/freebsd.h: Likewise.
10388         * config/rs6000/freebsd64.h: Likewise.
10389         * config/rs6000/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
10390         * config/rs6000/rbtree.cc: Likewise.
10391         * config/rs6000/rbtree.h: Likewise.
10392         * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Likewise.
10393         * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Likewise.
10394         (rs6000_expand_builtin): Likewise.
10395         (rs6000_init_builtins): Likewise.
10396         * config/rs6000/rs6000-cpus.def: Likewise.
10397         * config/rs6000/rs6000-gen-builtins.cc (write_init_ovld_table): Likewise.
10398         * config/rs6000/rs6000-internal.h (ALTIVEC_REG_BIT): Likewise.
10399         (quad_address_offset_p): Likewise.
10400         * config/rs6000/rs6000-logue.cc (interesting_frame_related_regno): Likewise.
10401         (rs6000_emit_epilogue): Likewise.
10402         * config/rs6000/rs6000-overload.def: Likewise.
10403         * config/rs6000/rs6000-p8swap.cc: Likewise.
10404         * config/rs6000/rs6000-protos.h (GCC_RS6000_PROTOS_H): Likewise.
10405         (rs6000_const_f32_to_i32): Likewise.
10406         * config/rs6000/rs6000.cc (legitimate_lo_sum_address_p): Likewise.
10407         (rs6000_debug_legitimize_address): Likewise.
10408         (rs6000_mode_dependent_address): Likewise.
10409         (rs6000_adjust_priority): Likewise.
10410         (rs6000_c_mode_for_suffix): Likewise.
10411         * config/rs6000/rs6000.h (defined): Likewise.
10412         (LONG_DOUBLE_TYPE_SIZE): Likewise.
10413         * config/rs6000/rs6000.md: Likewise.
10414         * config/rs6000/sysv4.h: Likewise.
10415         * config/rs6000/t-linux: Likewise.
10416         * config/rs6000/t-linux64: Likewise.
10417         * config/rs6000/t-rs6000: Likewise.
10418         * config/rs6000/x-darwin: Likewise.
10419         * config/rs6000/x-darwin64: Likewise.
10420         * config/rs6000/x-rs6000: Likewise.
10421         * config/rs6000/xcoff.h (ASM_OUTPUT_LABELREF): Likewise.
10422         * config/rx/rx.cc (rx_expand_builtin): Likewise.
10423         * config/s390/constraints.md: Likewise.
10424         * config/s390/driver-native.cc: Likewise.
10425         * config/s390/htmxlintrin.h: Likewise.
10426         * config/s390/s390-builtins.def (B_DEF): Likewise.
10427         (OB_DEF_VAR): Likewise.
10428         * config/s390/s390-builtins.h: Likewise.
10429         * config/s390/s390-c.cc: Likewise.
10430         * config/s390/s390-opts.h: Likewise.
10431         * config/s390/s390-protos.h (s390_check_symref_alignment): Likewise.
10432         (s390_register_target_pragmas): Likewise.
10433         * config/s390/s390.cc (s390_init_builtins): Likewise.
10434         (s390_expand_plus_operand): Likewise.
10435         (s390_expand_atomic): Likewise.
10436         (s390_valid_target_attribute_inner_p): Likewise.
10437         * config/s390/s390.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
10438         * config/s390/s390.md: Likewise.
10439         * config/s390/t-s390: Likewise.
10440         * config/s390/vx-builtins.md: Likewise.
10441         * config/s390/x-native: Likewise.
10442         * config/sh/divtab-sh4-300.cc (main): Likewise.
10443         * config/sh/divtab-sh4.cc (main): Likewise.
10444         * config/sh/divtab.cc (main): Likewise.
10445         * config/sh/elf.h: Likewise.
10446         * config/sh/sh-protos.h (sh_fsca_int2sf): Likewise.
10447         * config/sh/sh.cc (SYMBOL_FLAG_FUNCVEC_FUNCTION): Likewise.
10448         (sh_struct_value_rtx): Likewise.
10449         (sh_remove_reg_dead_or_unused_notes): Likewise.
10450         * config/sh/sh.h (MIN_UNITS_PER_WORD): Likewise.
10451         * config/sh/t-sh: Likewise.
10452         * config/sol2-protos.h (solaris_override_options): Likewise.
10453         * config/sol2.h: Likewise.
10454         * config/sparc/driver-sparc.cc: Likewise.
10455         * config/sparc/freebsd.h: Likewise.
10456         * config/sparc/sparc-protos.h (make_pass_work_around_errata): Likewise.
10457         * config/sparc/sparc.cc (sparc_output_mi_thunk): Likewise.
10458         (sparc_asan_shadow_offset): Likewise.
10459         * config/sparc/sparc.h: Likewise.
10460         * config/sparc/sparc.md: Likewise.
10461         * config/sparc/t-sparc: Likewise.
10462         * config/sparc/x-sparc: Likewise.
10463         * config/stormy16/stormy16.cc (xstormy16_mode_dependent_address_p): Likewise.
10464         * config/t-darwin: Likewise.
10465         * config/t-dragonfly: Likewise.
10466         * config/t-freebsd: Likewise.
10467         * config/t-glibc: Likewise.
10468         * config/t-linux: Likewise.
10469         * config/t-netbsd: Likewise.
10470         * config/t-openbsd: Likewise.
10471         * config/t-pnt16-warn: Likewise.
10472         * config/t-sol2: Likewise.
10473         * config/t-vxworks: Likewise.
10474         * config/t-winnt: Likewise.
10475         * config/tilegx/t-tilegx: Likewise.
10476         * config/tilegx/tilegx-c.cc: Likewise.
10477         * config/tilegx/tilegx-protos.h (tilegx_function_profiler): Likewise.
10478         * config/tilegx/tilegx.md: Likewise.
10479         * config/tilepro/t-tilepro: Likewise.
10480         * config/tilepro/tilepro-c.cc: Likewise.
10481         * config/v850/t-v850: Likewise.
10482         * config/v850/v850-protos.h: Likewise.
10483         * config/v850/v850.cc (F): Likewise.
10484         * config/v850/v850.h (enum reg_class): Likewise.
10485         (SLOW_BYTE_ACCESS): Likewise.
10486         * config/vax/vax.cc (vax_mode_dependent_address_p): Likewise.
10487         * config/vax/vax.h (enum reg_class): Likewise.
10488         * config/vax/vax.md: Likewise.
10489         * config/visium/visium.cc (visium_legitimate_address_p): Likewise.
10490         * config/visium/visium.h: Likewise.
10491         * config/vms/t-vms: Likewise.
10492         * config/vms/vms-crtlmap.map: Likewise.
10493         * config/vms/vms-protos.h (vms_c_get_vms_ver): Likewise.
10494         * config/vx-common.h: Likewise.
10495         * config/x-darwin: Likewise.
10496         * config/x-hpux: Likewise.
10497         * config/x-linux: Likewise.
10498         * config/x-netbsd: Likewise.
10499         * config/x-openbsd: Likewise.
10500         * config/x-solaris: Likewise.
10501         * config/xtensa/xtensa-protos.h (xtensa_mem_offset): Likewise.
10502         * config/xtensa/xtensa.cc (xtensa_option_override): Likewise.
10503         * config/xtensa/xtensa.h: Likewise.
10504         * configure.ac: Likewise.
10505         * context.cc: Likewise.
10506         * convert.h: Likewise.
10507         * coretypes.h: Likewise.
10508         * coverage.cc: Likewise.
10509         * coverage.h: Likewise.
10510         * cppdefault.h (struct default_include): Likewise.
10511         * cprop.cc (local_cprop_pass): Likewise.
10512         (one_cprop_pass): Likewise.
10513         * cse.cc (hash_rtx_cb): Likewise.
10514         (fold_rtx): Likewise.
10515         * ctfc.h (ctfc_get_num_vlen_bytes): Likewise.
10516         * data-streamer.h (bp_unpack_var_len_int): Likewise.
10517         (streamer_write_widest_int): Likewise.
10518         * dbgcnt.def: Likewise.
10519         * dbxout.cc (dbxout_early_global_decl): Likewise.
10520         (dbxout_common_check): Likewise.
10521         * dbxout.h: Likewise.
10522         * debug.h (struct gcc_debug_hooks): Likewise.
10523         (dump_go_spec_init): Likewise.
10524         * df-core.cc: Likewise.
10525         * df-scan.cc (df_insn_info_delete): Likewise.
10526         (df_insn_delete): Likewise.
10527         * df.h (debug_df_chain): Likewise.
10528         (can_move_insns_across): Likewise.
10529         * dfp.cc (decimal_from_binary): Likewise.
10530         * diagnostic-color.cc: Likewise.
10531         * diagnostic-event-id.h: Likewise.
10532         * diagnostic-show-locus.cc (test_one_liner_labels): Likewise.
10533         * diagnostic.cc (bt_callback): Likewise.
10534         (num_digits): Likewise.
10535         * doc/avr-mmcu.texi: Likewise.
10536         * doc/cfg.texi: Likewise.
10537         * doc/contrib.texi: Likewise.
10538         * doc/cppinternals.texi: Likewise.
10539         * doc/extend.texi: Likewise.
10540         * doc/generic.texi: Likewise.
10541         * doc/gimple.texi: Likewise.
10542         * doc/gty.texi: Likewise.
10543         * doc/invoke.texi: Likewise.
10544         * doc/loop.texi: Likewise.
10545         * doc/lto.texi: Likewise.
10546         * doc/match-and-simplify.texi: Likewise.
10547         * doc/md.texi: Likewise.
10548         * doc/optinfo.texi: Likewise.
10549         * doc/options.texi: Likewise.
10550         * doc/passes.texi: Likewise.
10551         * doc/plugins.texi: Likewise.
10552         * doc/rtl.texi: Likewise.
10553         * doc/sourcebuild.texi: Likewise.
10554         * doc/tm.texi: Likewise.
10555         * doc/tm.texi.in: Likewise.
10556         * doc/tree-ssa.texi: Likewise.
10557         * dojump.cc (do_jump): Likewise.
10558         * dojump.h: Likewise.
10559         * dumpfile.cc (test_impl_location): Likewise.
10560         (test_capture_of_dump_calls): Likewise.
10561         * dumpfile.h (enum dump_kind): Likewise.
10562         (class dump_location_t): Likewise.
10563         (dump_enabled_p): Likewise.
10564         (enable_rtl_dump_file): Likewise.
10565         (dump_combine_total_stats): Likewise.
10566         * dwarf2asm.cc (dw2_asm_output_delta_uleb128): Likewise.
10567         * dwarf2ctf.h (ctf_debug_finish): Likewise.
10568         * dwarf2out.cc (dwarf2out_begin_prologue): Likewise.
10569         (struct loc_descr_context): Likewise.
10570         (rtl_for_decl_location): Likewise.
10571         (gen_subprogram_die): Likewise.
10572         (gen_label_die): Likewise.
10573         (is_trivial_indirect_ref): Likewise.
10574         (dwarf2out_late_global_decl): Likewise.
10575         (dwarf_file_hasher::hash): Likewise.
10576         (dwarf2out_end_source_file): Likewise.
10577         (dwarf2out_define): Likewise.
10578         (dwarf2out_early_finish): Likewise.
10579         * dwarf2out.h (struct dw_fde_node): Likewise.
10580         (struct dw_discr_list_node): Likewise.
10581         (output_loc_sequence_raw): Likewise.
10582         * emit-rtl.cc (gen_raw_REG): Likewise.
10583         (maybe_set_max_label_num): Likewise.
10584         * emit-rtl.h (struct rtl_data): Likewise.
10585         * errors.cc (internal_error): Likewise.
10586         (trim_filename): Likewise.
10587         * et-forest.cc: Likewise.
10588         * except.cc (init_eh_for_function): Likewise.
10589         * explow.cc (promote_ssa_mode): Likewise.
10590         (get_dynamic_stack_size): Likewise.
10591         * explow.h: Likewise.
10592         * expmed.h: Likewise.
10593         * expr.cc (safe_from_p): Likewise.
10594         (expand_expr_real_2): Likewise.
10595         (expand_expr_real_1): Likewise.
10596         * file-prefix-map.cc (remap_filename): Likewise.
10597         * final.cc (app_enable): Likewise.
10598         (make_pass_compute_alignments): Likewise.
10599         (final_scan_insn_1): Likewise.
10600         (final_scan_insn): Likewise.
10601         * fixed-value.h (fixed_from_string): Likewise.
10602         * flag-types.h (NO_DEBUG): Likewise.
10603         (DWARF2_DEBUG): Likewise.
10604         (VMS_DEBUG): Likewise.
10605         (BTF_DEBUG): Likewise.
10606         (enum ctf_debug_info_levels): Likewise.
10607         * fold-const.cc (const_binop): Likewise.
10608         (fold_binary_loc): Likewise.
10609         (fold_checksum_tree): Likewise.
10610         * fp-test.cc: Likewise.
10611         * function.cc (expand_function_end): Likewise.
10612         * function.h (struct function): Likewise.
10613         * fwprop.cc (should_replace_address): Likewise.
10614         * gcc-main.cc: Likewise.
10615         * gcc-rich-location.h (class gcc_rich_location): Likewise.
10616         * gcc-symtab.h: Likewise.
10617         * gcc.cc (MIN_FATAL_STATUS): Likewise.
10618         (driver_handle_option): Likewise.
10619         (quote_spec_arg): Likewise.
10620         (driver::finalize): Likewise.
10621         * gcc.h (set_input): Likewise.
10622         * gcov-dump.cc: Likewise.
10623         * gcov.cc (solve_flow_graph): Likewise.
10624         * gcse-common.cc: Likewise.
10625         * gcse.cc (make_pass_rtl_hoist): Likewise.
10626         * genattr-common.cc: Likewise.
10627         * genattrtab.cc (min_fn): Likewise.
10628         (write_const_num_delay_slots): Likewise.
10629         * genautomata.cc: Likewise.
10630         * genconditions.cc (write_one_condition): Likewise.
10631         * genconstants.cc: Likewise.
10632         * genemit.cc (gen_exp): Likewise.
10633         * generic-match-head.cc: Likewise.
10634         * genextract.cc: Likewise.
10635         * gengenrtl.cc (always_void_p): Likewise.
10636         * gengtype-parse.cc (gtymarker_opt): Likewise.
10637         * gengtype-state.cc (state_writer::state_writer): Likewise.
10638         (write_state_trailer): Likewise.
10639         (equals_type_number): Likewise.
10640         (read_state): Likewise.
10641         * gengtype.cc (open_base_files): Likewise.
10642         (struct file_rule_st): Likewise.
10643         (header_dot_h_frul): Likewise.
10644         * gengtype.h: Likewise.
10645         * genmatch.cc (main): Likewise.
10646         * genmddeps.cc: Likewise.
10647         * genmodes.cc (emit_mode_inner): Likewise.
10648         (emit_mode_unit_size): Likewise.
10649         * genpeep.cc (gen_peephole): Likewise.
10650         * genpreds.cc (write_tm_preds_h): Likewise.
10651         * genrecog.cc (validate_pattern): Likewise.
10652         (write_header): Likewise.
10653         (main): Likewise.
10654         * gensupport.cc (change_subst_attribute): Likewise.
10655         (traverse_c_tests): Likewise.
10656         (add_predicate): Likewise.
10657         (init_predicate_table): Likewise.
10658         * gensupport.h (struct optab_pattern): Likewise.
10659         (get_num_insn_codes): Likewise.
10660         (maybe_eval_c_test): Likewise.
10661         (struct pred_data): Likewise.
10662         * ggc-internal.h: Likewise.
10663         * gimple-fold.cc (maybe_fold_reference): Likewise.
10664         (get_range_strlen_tree): Likewise.
10665         * gimple-fold.h (gimple_stmt_integer_valued_real_p): Likewise.
10666         * gimple-low.cc: Likewise.
10667         * gimple-match-head.cc (directly_supported_p): Likewise.
10668         * gimple-pretty-print.h: Likewise.
10669         * gimple-ssa-sprintf.cc (format_percent): Likewise.
10670         (adjust_range_for_overflow): Likewise.
10671         * gimple-streamer.h: Likewise.
10672         * gimple.h (struct GTY): Likewise.
10673         (is_gimple_resx): Likewise.
10674         * gimplify.cc (gimplify_expr): Likewise.
10675         (gimplify_init_constructor): Likewise.
10676         (omp_construct_selector_matches): Likewise.
10677         (gimplify_omp_target_update): Likewise.
10678         (gimplify_omp_ordered): Likewise.
10679         (gimplify_va_arg_expr): Likewise.
10680         * graphite-isl-ast-to-gimple.cc (should_copy_to_new_region): Likewise.
10681         * haifa-sched.cc (increase_insn_priority): Likewise.
10682         (try_ready): Likewise.
10683         (sched_create_recovery_edges): Likewise.
10684         * ifcvt.cc (find_if_case_1): Likewise.
10685         (find_if_case_2): Likewise.
10686         * inchash.h: Likewise.
10687         * incpath.cc (add_env_var_paths): Likewise.
10688         * input.cc (dump_location_info): Likewise.
10689         (assert_loceq): Likewise.
10690         (test_lexer_string_locations_concatenation_1): Likewise.
10691         (test_lexer_string_locations_concatenation_2): Likewise.
10692         (test_lexer_string_locations_concatenation_3): Likewise.
10693         * input.h (BUILTINS_LOCATION): Likewise.
10694         (class string_concat_db): Likewise.
10695         * internal-fn.cc (expand_MUL_OVERFLOW): Likewise.
10696         (expand_LOOP_VECTORIZED): Likewise.
10697         * ipa-cp.cc (make_pass_ipa_cp): Likewise.
10698         * ipa-fnsummary.cc (remap_freqcounting_preds_after_dup): Likewise.
10699         (ipa_fn_summary_t::duplicate): Likewise.
10700         (make_pass_ipa_fn_summary): Likewise.
10701         * ipa-fnsummary.h (enum ipa_hints_vals): Likewise.
10702         * ipa-free-lang-data.cc (fld_simplified_type): Likewise.
10703         (free_lang_data_in_decl): Likewise.
10704         * ipa-inline.cc (compute_inlined_call_time): Likewise.
10705         (inline_always_inline_functions): Likewise.
10706         * ipa-inline.h (free_growth_caches): Likewise.
10707         (inline_account_function_p): Likewise.
10708         * ipa-modref.cc (modref_access_analysis::analyze_stmt): Likewise.
10709         (modref_eaf_analysis::analyze_ssa_name): Likewise.
10710         * ipa-param-manipulation.cc (ipa_param_body_adjustments::mark_dead_statements): Likewise.
10711         (ipa_param_body_adjustments::remap_with_debug_expressions): Likewise.
10712         * ipa-prop.cc (ipa_set_node_agg_value_chain): Likewise.
10713         * ipa-prop.h (IPA_UNDESCRIBED_USE): Likewise.
10714         (unadjusted_ptr_and_unit_offset): Likewise.
10715         * ipa-reference.cc (make_pass_ipa_reference): Likewise.
10716         * ipa-reference.h (GCC_IPA_REFERENCE_H): Likewise.
10717         * ipa-split.cc (consider_split): Likewise.
10718         * ipa-sra.cc (isra_read_node_info): Likewise.
10719         * ipa-utils.h (struct ipa_dfs_info): Likewise.
10720         (recursive_call_p): Likewise.
10721         (ipa_make_function_pure): Likewise.
10722         * ira-build.cc (ira_create_allocno): Likewise.
10723         (ira_flattening): Likewise.
10724         * ira-color.cc (do_coloring): Likewise.
10725         (update_curr_costs): Likewise.
10726         * ira-conflicts.cc (process_regs_for_copy): Likewise.
10727         * ira-int.h (struct ira_emit_data): Likewise.
10728         (ira_prohibited_mode_move_regs): Likewise.
10729         (ira_get_dup_out_num): Likewise.
10730         (ira_destroy): Likewise.
10731         (ira_tune_allocno_costs): Likewise.
10732         (ira_implicitly_set_insn_hard_regs): Likewise.
10733         (ira_build_conflicts): Likewise.
10734         (ira_color): Likewise.
10735         * ira-lives.cc (process_bb_node_lives): Likewise.
10736         * ira.cc (class ira_spilled_reg_stack_slot): Likewise.
10737         (setup_uniform_class_p): Likewise.
10738         (def_dominates_uses): Likewise.
10739         * ira.h (ira_nullify_asm_goto): Likewise.
10740         * langhooks.cc (lhd_post_options): Likewise.
10741         * langhooks.h (class substring_loc): Likewise.
10742         (struct lang_hooks_for_tree_inlining): Likewise.
10743         (struct lang_hooks_for_types): Likewise.
10744         (struct lang_hooks): Likewise.
10745         * libfuncs.h (synchronize_libfunc): Likewise.
10746         * loop-doloop.cc (doloop_condition_get): Likewise.
10747         * loop-init.cc (fix_loop_structure): Likewise.
10748         * loop-invariant.cc: Likewise.
10749         * lower-subreg.h: Likewise.
10750         * lra-constraints.cc (curr_insn_transform): Likewise.
10751         * lra-int.h (struct lra_insn_reg): Likewise.
10752         (lra_undo_inheritance): Likewise.
10753         (lra_setup_reload_pseudo_preferenced_hard_reg): Likewise.
10754         (lra_split_hard_reg_for): Likewise.
10755         (lra_coalesce): Likewise.
10756         (lra_final_code_change): Likewise.
10757         * lra-spills.cc (lra_final_code_change): Likewise.
10758         * lra.cc (lra_process_new_insns): Likewise.
10759         * lto-compress.h (struct lto_compression_stream): Likewise.
10760         * lto-streamer-out.cc (DFS::DFS_write_tree_body): Likewise.
10761         (write_symbol): Likewise.
10762         * lto-streamer.h (enum LTO_tags): Likewise.
10763         (lto_value_range_error): Likewise.
10764         (lto_append_block): Likewise.
10765         (lto_streamer_hooks_init): Likewise.
10766         (stream_read_tree_ref): Likewise.
10767         (lto_prepare_function_for_streaming): Likewise.
10768         (select_what_to_stream): Likewise.
10769         (omp_lto_input_declare_variant_alt): Likewise.
10770         (cl_optimization_stream_in): Likewise.
10771         * lto-wrapper.cc (append_compiler_options): Likewise.
10772         * machmode.def: Likewise.
10773         * machmode.h (struct int_n_data_t): Likewise.
10774         * main.cc (main): Likewise.
10775         * match.pd: Likewise.
10776         * omp-builtins.def (BUILT_IN_GOMP_CRITICAL_NAME_END): Likewise.
10777         (BUILT_IN_GOMP_LOOP_ULL_ORDERED_RUNTIME_NEXT): Likewise.
10778         * omp-expand.cc (expand_omp_atomic_fetch_op): Likewise.
10779         (make_pass_expand_omp_ssa): Likewise.
10780         * omp-low.cc (struct omp_context): Likewise.
10781         (struct omp_taskcopy_context): Likewise.
10782         (lower_omp): Likewise.
10783         * omp-oacc-neuter-broadcast.cc (omp_sese_active_worker_call): Likewise.
10784         (mask_name): Likewise.
10785         (omp_sese_dump_pars): Likewise.
10786         (worker_single_simple): Likewise.
10787         * omp-offload.cc (omp_finish_file): Likewise.
10788         (execute_oacc_loop_designation): Likewise.
10789         * optabs-query.cc (lshift_cheap_p): Likewise.
10790         * optc-gen.awk: Likewise.
10791         * optc-save-gen.awk: Likewise.
10792         * optinfo-emit-json.cc (optrecord_json_writer::optrecord_json_writer): Likewise.
10793         * opts-common.cc: Likewise.
10794         * output.h (app_enable): Likewise.
10795         (output_operand_lossage): Likewise.
10796         (insn_current_reference_address): Likewise.
10797         (get_insn_template): Likewise.
10798         (output_quoted_string): Likewise.
10799         * pass_manager.h (struct register_pass_info): Likewise.
10800         * plugin.cc: Likewise.
10801         * plugin.def (PLUGIN_ANALYZER_INIT): Likewise.
10802         * plugin.h (invoke_plugin_callbacks): Likewise.
10803         * pointer-query.cc (handle_mem_ref): Likewise.
10804         * postreload-gcse.cc (alloc_mem): Likewise.
10805         * predict.h (enum prediction): Likewise.
10806         (add_reg_br_prob_note): Likewise.
10807         * prefix.h: Likewise.
10808         * profile.h (get_working_sets): Likewise.
10809         * read-md.cc: Likewise.
10810         * read-md.h (struct mapping): Likewise.
10811         (class md_reader): Likewise.
10812         (class noop_reader): Likewise.
10813         * read-rtl-function.cc (function_reader::create_function): Likewise.
10814         (function_reader::extra_parsing_for_operand_code_0): Likewise.
10815         * read-rtl.cc (initialize_iterators): Likewise.
10816         * real.cc: Likewise.
10817         * real.h (struct real_value): Likewise.
10818         (format_helper::format_helper): Likewise.
10819         (real_hash): Likewise.
10820         (real_can_shorten_arithmetic): Likewise.
10821         * recog.cc (struct target_recog): Likewise.
10822         (offsettable_nonstrict_memref_p): Likewise.
10823         (constrain_operands): Likewise.
10824         * recog.h (MAX_RECOG_ALTERNATIVES): Likewise.
10825         (which_op_alt): Likewise.
10826         (struct insn_gen_fn): Likewise.
10827         * reg-notes.def (REG_NOTE): Likewise.
10828         * reg-stack.cc: Likewise.
10829         * regs.h (reg_is_parm_p): Likewise.
10830         * regset.h: Likewise.
10831         * reload.cc (push_reload): Likewise.
10832         (find_reloads): Likewise.
10833         (find_reloads_address_1): Likewise.
10834         (find_replacement): Likewise.
10835         (refers_to_regno_for_reload_p): Likewise.
10836         (refers_to_mem_for_reload_p): Likewise.
10837         * reload.h (push_reload): Likewise.
10838         (deallocate_reload_reg): Likewise.
10839         * reload1.cc (emit_input_reload_insns): Likewise.
10840         * reorg.cc (relax_delay_slots): Likewise.
10841         * rtl.def (UNKNOWN): Likewise.
10842         (SEQUENCE): Likewise.
10843         (BARRIER): Likewise.
10844         (ASM_OPERANDS): Likewise.
10845         (EQ_ATTR_ALT): Likewise.
10846         * rtl.h (struct GTY): Likewise.
10847         (LABEL_NAME): Likewise.
10848         (LABEL_ALT_ENTRY_P): Likewise.
10849         (SUBREG_BYTE): Likewise.
10850         (get_stack_check_protect): Likewise.
10851         (dump_rtx_statistics): Likewise.
10852         (unwrap_const_vec_duplicate): Likewise.
10853         (subreg_promoted_mode): Likewise.
10854         (gen_lowpart_common): Likewise.
10855         (operand_subword): Likewise.
10856         (immed_wide_int_const): Likewise.
10857         (decide_function_section): Likewise.
10858         (active_insn_p): Likewise.
10859         (delete_related_insns): Likewise.
10860         (try_split): Likewise.
10861         (val_signbit_known_clear_p): Likewise.
10862         (simplifiable_subregs): Likewise.
10863         (set_insn_deleted): Likewise.
10864         (subreg_get_info): Likewise.
10865         (remove_free_EXPR_LIST_node): Likewise.
10866         (finish_subregs_of_mode): Likewise.
10867         (get_mem_attrs): Likewise.
10868         (lookup_constant_def): Likewise.
10869         (rtx_to_tree_code): Likewise.
10870         (hash_rtx): Likewise.
10871         (condjump_in_parallel_p): Likewise.
10872         (validate_subreg): Likewise.
10873         (make_compound_operation): Likewise.
10874         (schedule_ebbs): Likewise.
10875         (print_inline_rtx): Likewise.
10876         (fixup_args_size_notes): Likewise.
10877         (expand_dec): Likewise.
10878         (prepare_copy_insn): Likewise.
10879         (mark_elimination): Likewise.
10880         (valid_mode_changes_for_regno): Likewise.
10881         (make_debug_expr_from_rtl): Likewise.
10882         (delete_vta_debug_insns): Likewise.
10883         (simplify_using_condition): Likewise.
10884         (set_insn_locations): Likewise.
10885         (fatal_insn_not_found): Likewise.
10886         (word_register_operation_p): Likewise.
10887         * rtlanal.cc (get_call_fndecl): Likewise.
10888         (side_effects_p): Likewise.
10889         (subreg_nregs): Likewise.
10890         (rtx_cost): Likewise.
10891         (canonicalize_condition): Likewise.
10892         * rtlanal.h (rtx_properties::try_to_add_note): Likewise.
10893         * run-rtl-passes.cc (run_rtl_passes): Likewise.
10894         * sanitizer.def (BUILT_IN_ASAN_VERSION_MISMATCH_CHECK): Likewise.
10895         * sched-deps.cc (add_dependence_1): Likewise.
10896         * sched-ebb.cc (begin_move_insn): Likewise.
10897         (add_deps_for_risky_insns): Likewise.
10898         (advance_target_bb): Likewise.
10899         * sched-int.h (reemit_notes): Likewise.
10900         (struct _haifa_insn_data): Likewise.
10901         (HID): Likewise.
10902         (DEP_CANCELLED): Likewise.
10903         (debug_ds): Likewise.
10904         (number_in_ready): Likewise.
10905         (schedule_ebbs_finish): Likewise.
10906         (find_modifiable_mems): Likewise.
10907         * sched-rgn.cc (debug_rgn_dependencies): Likewise.
10908         * sel-sched-dump.cc (dump_lv_set): Likewise.
10909         * sel-sched-dump.h: Likewise.
10910         * sel-sched-ir.cc (sel_insn_rtx_cost): Likewise.
10911         (setup_id_reg_sets): Likewise.
10912         (has_dependence_p): Likewise.
10913         (sel_num_cfg_preds_gt_1): Likewise.
10914         (bb_ends_ebb_p): Likewise.
10915         * sel-sched-ir.h (struct _list_node): Likewise.
10916         (struct idata_def): Likewise.
10917         (bb_next_bb): Likewise.
10918         * sel-sched.cc (vinsn_writes_one_of_regs_p): Likewise.
10919         (choose_best_pseudo_reg): Likewise.
10920         (verify_target_availability): Likewise.
10921         (can_speculate_dep_p): Likewise.
10922         (sel_rank_for_schedule): Likewise.
10923         * selftest-run-tests.cc (selftest::run_tests): Likewise.
10924         * selftest.h (class auto_fix_quotes): Likewise.
10925         * shrink-wrap.cc (handle_simple_exit): Likewise.
10926         * shrink-wrap.h: Likewise.
10927         * simplify-rtx.cc (simplify_context::simplify_associative_operation): Likewise.
10928         (simplify_context::simplify_gen_vec_select): Likewise.
10929         * spellcheck-tree.h: Likewise.
10930         * spellcheck.h: Likewise.
10931         * statistics.h (struct function): Likewise.
10932         * stmt.cc (conditional_probability): Likewise.
10933         * stmt.h: Likewise.
10934         * stor-layout.h: Likewise.
10935         * streamer-hooks.h: Likewise.
10936         * stringpool.h: Likewise.
10937         * symtab.cc (symbol_table::change_decl_assembler_name): Likewise.
10938         * target.def (HOOK_VECTOR_END): Likewise.
10939         (type.): Likewise.
10940         * target.h (union cumulative_args_t): Likewise.
10941         (by_pieces_ninsns): Likewise.
10942         (class predefined_function_abi): Likewise.
10943         * targhooks.cc (default_translate_mode_attribute): Likewise.
10944         * timevar.def: Likewise.
10945         * timevar.h (class timer): Likewise.
10946         * toplev.h (enable_rtl_dump_file): Likewise.
10947         * trans-mem.cc (collect_bb2reg): Likewise.
10948         * tree-call-cdce.cc (gen_conditions_for_pow): Likewise.
10949         * tree-cfg.cc (remove_bb): Likewise.
10950         (verify_gimple_debug): Likewise.
10951         (remove_edge_and_dominated_blocks): Likewise.
10952         (push_fndecl): Likewise.
10953         * tree-cfgcleanup.h (GCC_TREE_CFGCLEANUP_H): Likewise.
10954         * tree-complex.cc (expand_complex_multiplication): Likewise.
10955         (expand_complex_div_straight): Likewise.
10956         * tree-core.h (enum tree_index): Likewise.
10957         (enum operand_equal_flag): Likewise.
10958         * tree-eh.cc (honor_protect_cleanup_actions): Likewise.
10959         * tree-if-conv.cc (if_convertible_gimple_assign_stmt_p): Likewise.
10960         * tree-inline.cc (initialize_inlined_parameters): Likewise.
10961         * tree-inline.h (force_value_to_type): Likewise.
10962         * tree-nested.cc (get_chain_decl): Likewise.
10963         (walk_all_functions): Likewise.
10964         * tree-object-size.h: Likewise.
10965         * tree-outof-ssa.cc: Likewise.
10966         * tree-parloops.cc (create_parallel_loop): Likewise.
10967         * tree-pretty-print.cc (print_generic_expr_to_str): Likewise.
10968         (dump_generic_node): Likewise.
10969         * tree-profile.cc (tree_profiling): Likewise.
10970         * tree-sra.cc (maybe_add_sra_candidate): Likewise.
10971         * tree-ssa-address.cc: Likewise.
10972         * tree-ssa-alias.cc: Likewise.
10973         * tree-ssa-alias.h (ao_ref::max_size_known_p): Likewise.
10974         (dump_alias_stats): Likewise.
10975         * tree-ssa-ccp.cc: Likewise.
10976         * tree-ssa-coalesce.h: Likewise.
10977         * tree-ssa-live.cc (remove_unused_scope_block_p): Likewise.
10978         * tree-ssa-loop-manip.cc (copy_phi_node_args): Likewise.
10979         * tree-ssa-loop-unswitch.cc: Likewise.
10980         * tree-ssa-math-opts.cc: Likewise.
10981         * tree-ssa-operands.cc (class operands_scanner): Likewise.
10982         * tree-ssa-pre.cc: Likewise.
10983         * tree-ssa-reassoc.cc (optimize_ops_list): Likewise.
10984         (debug_range_entry): Likewise.
10985         * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Likewise.
10986         * tree-ssa-sccvn.h (TREE_SSA_SCCVN_H): Likewise.
10987         * tree-ssa-scopedtables.cc (add_expr_commutative): Likewise.
10988         (equal_mem_array_ref_p): Likewise.
10989         * tree-ssa-strlen.cc (is_strlen_related_p): Likewise.
10990         * tree-ssa-strlen.h (get_range_strlen_dynamic): Likewise.
10991         * tree-ssa-tail-merge.cc (stmt_local_def): Likewise.
10992         * tree-ssa-ter.h: Likewise.
10993         * tree-ssa-threadupdate.h (enum bb_dom_status): Likewise.
10994         * tree-streamer-in.cc (lto_input_ts_block_tree_pointers): Likewise.
10995         * tree-streamer-out.cc (pack_ts_block_value_fields): Likewise.
10996         (write_ts_block_tree_pointers): Likewise.
10997         * tree-streamer.h (struct streamer_tree_cache_d): Likewise.
10998         (streamer_read_tree_bitfields): Likewise.
10999         (streamer_write_integer_cst): Likewise.
11000         * tree-vect-patterns.cc (apply_binop_and_append_stmt): Likewise.
11001         (vect_synth_mult_by_constant): Likewise.
11002         * tree-vect-stmts.cc (vectorizable_operation): Likewise.
11003         * tree-vectorizer.cc: Likewise.
11004         * tree-vectorizer.h (class auto_purge_vect_location): Likewise.
11005         (vect_update_inits_of_drs): Likewise.
11006         (vect_get_mask_type_for_stmt): Likewise.
11007         (vect_rgroup_iv_might_wrap_p): Likewise.
11008         (cse_and_gimplify_to_preheader): Likewise.
11009         (vect_free_slp_tree): Likewise.
11010         (vect_pattern_recog): Likewise.
11011         (vect_stmt_dominates_stmt_p): Likewise.
11012         * tree.cc (initialize_tree_contains_struct): Likewise.
11013         (need_assembler_name_p): Likewise.
11014         (type_with_interoperable_signedness): Likewise.
11015         * tree.def (SWITCH_EXPR): Likewise.
11016         * tree.h (TYPE_SYMTAB_ADDRESS): Likewise.
11017         (poly_int_tree_p): Likewise.
11018         (inlined_function_outer_scope_p): Likewise.
11019         (tree_code_for_canonical_type_merging): Likewise.
11020         * value-prof.cc: Likewise.
11021         * value-prof.h (get_nth_most_common_value): Likewise.
11022         (find_func_by_profile_id): Likewise.
11023         * value-range.cc (vrp_operand_equal_p): Likewise.
11024         * value-range.h: Likewise.
11025         * var-tracking.cc: Likewise.
11026         * varasm.cc (default_function_section): Likewise.
11027         (function_section_1): Likewise.
11028         (assemble_variable): Likewise.
11029         (handle_vtv_comdat_section): Likewise.
11030         * vec.h (struct vec_prefix): Likewise.
11031         * vmsdbgout.cc (full_name): Likewise.
11032         * vtable-verify.cc: Likewise.
11033         * vtable-verify.h (struct vtv_graph_node): Likewise.
11034         * xcoffout.cc: Likewise.
11035         * xcoffout.h (DEBUG_SYMS_TEXT): Likewise.
11037 2022-01-17  Martin Liska  <mliska@suse.cz>
11039         * adjust-alignment.c: Moved to...
11040         * adjust-alignment.cc: ...here.
11041         * alias.c: Moved to...
11042         * alias.cc: ...here.
11043         * alloc-pool.c: Moved to...
11044         * alloc-pool.cc: ...here.
11045         * asan.c: Moved to...
11046         * asan.cc: ...here.
11047         * attribs.c: Moved to...
11048         * attribs.cc: ...here.
11049         * auto-inc-dec.c: Moved to...
11050         * auto-inc-dec.cc: ...here.
11051         * auto-profile.c: Moved to...
11052         * auto-profile.cc: ...here.
11053         * bb-reorder.c: Moved to...
11054         * bb-reorder.cc: ...here.
11055         * bitmap.c: Moved to...
11056         * bitmap.cc: ...here.
11057         * btfout.c: Moved to...
11058         * btfout.cc: ...here.
11059         * builtins.c: Moved to...
11060         * builtins.cc: ...here.
11061         * caller-save.c: Moved to...
11062         * caller-save.cc: ...here.
11063         * calls.c: Moved to...
11064         * calls.cc: ...here.
11065         * ccmp.c: Moved to...
11066         * ccmp.cc: ...here.
11067         * cfg.c: Moved to...
11068         * cfg.cc: ...here.
11069         * cfganal.c: Moved to...
11070         * cfganal.cc: ...here.
11071         * cfgbuild.c: Moved to...
11072         * cfgbuild.cc: ...here.
11073         * cfgcleanup.c: Moved to...
11074         * cfgcleanup.cc: ...here.
11075         * cfgexpand.c: Moved to...
11076         * cfgexpand.cc: ...here.
11077         * cfghooks.c: Moved to...
11078         * cfghooks.cc: ...here.
11079         * cfgloop.c: Moved to...
11080         * cfgloop.cc: ...here.
11081         * cfgloopanal.c: Moved to...
11082         * cfgloopanal.cc: ...here.
11083         * cfgloopmanip.c: Moved to...
11084         * cfgloopmanip.cc: ...here.
11085         * cfgrtl.c: Moved to...
11086         * cfgrtl.cc: ...here.
11087         * cgraph.c: Moved to...
11088         * cgraph.cc: ...here.
11089         * cgraphbuild.c: Moved to...
11090         * cgraphbuild.cc: ...here.
11091         * cgraphclones.c: Moved to...
11092         * cgraphclones.cc: ...here.
11093         * cgraphunit.c: Moved to...
11094         * cgraphunit.cc: ...here.
11095         * collect-utils.c: Moved to...
11096         * collect-utils.cc: ...here.
11097         * collect2-aix.c: Moved to...
11098         * collect2-aix.cc: ...here.
11099         * collect2.c: Moved to...
11100         * collect2.cc: ...here.
11101         * combine-stack-adj.c: Moved to...
11102         * combine-stack-adj.cc: ...here.
11103         * combine.c: Moved to...
11104         * combine.cc: ...here.
11105         * common/common-targhooks.c: Moved to...
11106         * common/common-targhooks.cc: ...here.
11107         * common/config/aarch64/aarch64-common.c: Moved to...
11108         * common/config/aarch64/aarch64-common.cc: ...here.
11109         * common/config/alpha/alpha-common.c: Moved to...
11110         * common/config/alpha/alpha-common.cc: ...here.
11111         * common/config/arc/arc-common.c: Moved to...
11112         * common/config/arc/arc-common.cc: ...here.
11113         * common/config/arm/arm-common.c: Moved to...
11114         * common/config/arm/arm-common.cc: ...here.
11115         * common/config/avr/avr-common.c: Moved to...
11116         * common/config/avr/avr-common.cc: ...here.
11117         * common/config/bfin/bfin-common.c: Moved to...
11118         * common/config/bfin/bfin-common.cc: ...here.
11119         * common/config/bpf/bpf-common.c: Moved to...
11120         * common/config/bpf/bpf-common.cc: ...here.
11121         * common/config/c6x/c6x-common.c: Moved to...
11122         * common/config/c6x/c6x-common.cc: ...here.
11123         * common/config/cr16/cr16-common.c: Moved to...
11124         * common/config/cr16/cr16-common.cc: ...here.
11125         * common/config/cris/cris-common.c: Moved to...
11126         * common/config/cris/cris-common.cc: ...here.
11127         * common/config/csky/csky-common.c: Moved to...
11128         * common/config/csky/csky-common.cc: ...here.
11129         * common/config/default-common.c: Moved to...
11130         * common/config/default-common.cc: ...here.
11131         * common/config/epiphany/epiphany-common.c: Moved to...
11132         * common/config/epiphany/epiphany-common.cc: ...here.
11133         * common/config/fr30/fr30-common.c: Moved to...
11134         * common/config/fr30/fr30-common.cc: ...here.
11135         * common/config/frv/frv-common.c: Moved to...
11136         * common/config/frv/frv-common.cc: ...here.
11137         * common/config/gcn/gcn-common.c: Moved to...
11138         * common/config/gcn/gcn-common.cc: ...here.
11139         * common/config/h8300/h8300-common.c: Moved to...
11140         * common/config/h8300/h8300-common.cc: ...here.
11141         * common/config/i386/i386-common.c: Moved to...
11142         * common/config/i386/i386-common.cc: ...here.
11143         * common/config/ia64/ia64-common.c: Moved to...
11144         * common/config/ia64/ia64-common.cc: ...here.
11145         * common/config/iq2000/iq2000-common.c: Moved to...
11146         * common/config/iq2000/iq2000-common.cc: ...here.
11147         * common/config/lm32/lm32-common.c: Moved to...
11148         * common/config/lm32/lm32-common.cc: ...here.
11149         * common/config/m32r/m32r-common.c: Moved to...
11150         * common/config/m32r/m32r-common.cc: ...here.
11151         * common/config/m68k/m68k-common.c: Moved to...
11152         * common/config/m68k/m68k-common.cc: ...here.
11153         * common/config/mcore/mcore-common.c: Moved to...
11154         * common/config/mcore/mcore-common.cc: ...here.
11155         * common/config/microblaze/microblaze-common.c: Moved to...
11156         * common/config/microblaze/microblaze-common.cc: ...here.
11157         * common/config/mips/mips-common.c: Moved to...
11158         * common/config/mips/mips-common.cc: ...here.
11159         * common/config/mmix/mmix-common.c: Moved to...
11160         * common/config/mmix/mmix-common.cc: ...here.
11161         * common/config/mn10300/mn10300-common.c: Moved to...
11162         * common/config/mn10300/mn10300-common.cc: ...here.
11163         * common/config/msp430/msp430-common.c: Moved to...
11164         * common/config/msp430/msp430-common.cc: ...here.
11165         * common/config/nds32/nds32-common.c: Moved to...
11166         * common/config/nds32/nds32-common.cc: ...here.
11167         * common/config/nios2/nios2-common.c: Moved to...
11168         * common/config/nios2/nios2-common.cc: ...here.
11169         * common/config/nvptx/nvptx-common.c: Moved to...
11170         * common/config/nvptx/nvptx-common.cc: ...here.
11171         * common/config/or1k/or1k-common.c: Moved to...
11172         * common/config/or1k/or1k-common.cc: ...here.
11173         * common/config/pa/pa-common.c: Moved to...
11174         * common/config/pa/pa-common.cc: ...here.
11175         * common/config/pdp11/pdp11-common.c: Moved to...
11176         * common/config/pdp11/pdp11-common.cc: ...here.
11177         * common/config/pru/pru-common.c: Moved to...
11178         * common/config/pru/pru-common.cc: ...here.
11179         * common/config/riscv/riscv-common.c: Moved to...
11180         * common/config/riscv/riscv-common.cc: ...here.
11181         * common/config/rs6000/rs6000-common.c: Moved to...
11182         * common/config/rs6000/rs6000-common.cc: ...here.
11183         * common/config/rx/rx-common.c: Moved to...
11184         * common/config/rx/rx-common.cc: ...here.
11185         * common/config/s390/s390-common.c: Moved to...
11186         * common/config/s390/s390-common.cc: ...here.
11187         * common/config/sh/sh-common.c: Moved to...
11188         * common/config/sh/sh-common.cc: ...here.
11189         * common/config/sparc/sparc-common.c: Moved to...
11190         * common/config/sparc/sparc-common.cc: ...here.
11191         * common/config/tilegx/tilegx-common.c: Moved to...
11192         * common/config/tilegx/tilegx-common.cc: ...here.
11193         * common/config/tilepro/tilepro-common.c: Moved to...
11194         * common/config/tilepro/tilepro-common.cc: ...here.
11195         * common/config/v850/v850-common.c: Moved to...
11196         * common/config/v850/v850-common.cc: ...here.
11197         * common/config/vax/vax-common.c: Moved to...
11198         * common/config/vax/vax-common.cc: ...here.
11199         * common/config/visium/visium-common.c: Moved to...
11200         * common/config/visium/visium-common.cc: ...here.
11201         * common/config/xstormy16/xstormy16-common.c: Moved to...
11202         * common/config/xstormy16/xstormy16-common.cc: ...here.
11203         * common/config/xtensa/xtensa-common.c: Moved to...
11204         * common/config/xtensa/xtensa-common.cc: ...here.
11205         * compare-elim.c: Moved to...
11206         * compare-elim.cc: ...here.
11207         * config/aarch64/aarch64-bti-insert.c: Moved to...
11208         * config/aarch64/aarch64-bti-insert.cc: ...here.
11209         * config/aarch64/aarch64-builtins.c: Moved to...
11210         * config/aarch64/aarch64-builtins.cc: ...here.
11211         * config/aarch64/aarch64-c.c: Moved to...
11212         * config/aarch64/aarch64-c.cc: ...here.
11213         * config/aarch64/aarch64-d.c: Moved to...
11214         * config/aarch64/aarch64-d.cc: ...here.
11215         * config/aarch64/aarch64.c: Moved to...
11216         * config/aarch64/aarch64.cc: ...here.
11217         * config/aarch64/cortex-a57-fma-steering.c: Moved to...
11218         * config/aarch64/cortex-a57-fma-steering.cc: ...here.
11219         * config/aarch64/driver-aarch64.c: Moved to...
11220         * config/aarch64/driver-aarch64.cc: ...here.
11221         * config/aarch64/falkor-tag-collision-avoidance.c: Moved to...
11222         * config/aarch64/falkor-tag-collision-avoidance.cc: ...here.
11223         * config/aarch64/host-aarch64-darwin.c: Moved to...
11224         * config/aarch64/host-aarch64-darwin.cc: ...here.
11225         * config/alpha/alpha.c: Moved to...
11226         * config/alpha/alpha.cc: ...here.
11227         * config/alpha/driver-alpha.c: Moved to...
11228         * config/alpha/driver-alpha.cc: ...here.
11229         * config/arc/arc-c.c: Moved to...
11230         * config/arc/arc-c.cc: ...here.
11231         * config/arc/arc.c: Moved to...
11232         * config/arc/arc.cc: ...here.
11233         * config/arc/driver-arc.c: Moved to...
11234         * config/arc/driver-arc.cc: ...here.
11235         * config/arm/aarch-common.c: Moved to...
11236         * config/arm/aarch-common.cc: ...here.
11237         * config/arm/arm-builtins.c: Moved to...
11238         * config/arm/arm-builtins.cc: ...here.
11239         * config/arm/arm-c.c: Moved to...
11240         * config/arm/arm-c.cc: ...here.
11241         * config/arm/arm-d.c: Moved to...
11242         * config/arm/arm-d.cc: ...here.
11243         * config/arm/arm.c: Moved to...
11244         * config/arm/arm.cc: ...here.
11245         * config/arm/driver-arm.c: Moved to...
11246         * config/arm/driver-arm.cc: ...here.
11247         * config/avr/avr-c.c: Moved to...
11248         * config/avr/avr-c.cc: ...here.
11249         * config/avr/avr-devices.c: Moved to...
11250         * config/avr/avr-devices.cc: ...here.
11251         * config/avr/avr-log.c: Moved to...
11252         * config/avr/avr-log.cc: ...here.
11253         * config/avr/avr.c: Moved to...
11254         * config/avr/avr.cc: ...here.
11255         * config/avr/driver-avr.c: Moved to...
11256         * config/avr/driver-avr.cc: ...here.
11257         * config/avr/gen-avr-mmcu-specs.c: Moved to...
11258         * config/avr/gen-avr-mmcu-specs.cc: ...here.
11259         * config/avr/gen-avr-mmcu-texi.c: Moved to...
11260         * config/avr/gen-avr-mmcu-texi.cc: ...here.
11261         * config/bfin/bfin.c: Moved to...
11262         * config/bfin/bfin.cc: ...here.
11263         * config/bpf/bpf.c: Moved to...
11264         * config/bpf/bpf.cc: ...here.
11265         * config/bpf/coreout.c: Moved to...
11266         * config/bpf/coreout.cc: ...here.
11267         * config/c6x/c6x.c: Moved to...
11268         * config/c6x/c6x.cc: ...here.
11269         * config/cr16/cr16.c: Moved to...
11270         * config/cr16/cr16.cc: ...here.
11271         * config/cris/cris.c: Moved to...
11272         * config/cris/cris.cc: ...here.
11273         * config/csky/csky.c: Moved to...
11274         * config/csky/csky.cc: ...here.
11275         * config/darwin-c.c: Moved to...
11276         * config/darwin-c.cc: ...here.
11277         * config/darwin-d.c: Moved to...
11278         * config/darwin-d.cc: ...here.
11279         * config/darwin-driver.c: Moved to...
11280         * config/darwin-driver.cc: ...here.
11281         * config/darwin-f.c: Moved to...
11282         * config/darwin-f.cc: ...here.
11283         * config/darwin.c: Moved to...
11284         * config/darwin.cc: ...here.
11285         * config/default-c.c: Moved to...
11286         * config/default-c.cc: ...here.
11287         * config/default-d.c: Moved to...
11288         * config/default-d.cc: ...here.
11289         * config/dragonfly-d.c: Moved to...
11290         * config/dragonfly-d.cc: ...here.
11291         * config/epiphany/epiphany.c: Moved to...
11292         * config/epiphany/epiphany.cc: ...here.
11293         * config/epiphany/mode-switch-use.c: Moved to...
11294         * config/epiphany/mode-switch-use.cc: ...here.
11295         * config/epiphany/resolve-sw-modes.c: Moved to...
11296         * config/epiphany/resolve-sw-modes.cc: ...here.
11297         * config/fr30/fr30.c: Moved to...
11298         * config/fr30/fr30.cc: ...here.
11299         * config/freebsd-d.c: Moved to...
11300         * config/freebsd-d.cc: ...here.
11301         * config/frv/frv.c: Moved to...
11302         * config/frv/frv.cc: ...here.
11303         * config/ft32/ft32.c: Moved to...
11304         * config/ft32/ft32.cc: ...here.
11305         * config/gcn/driver-gcn.c: Moved to...
11306         * config/gcn/driver-gcn.cc: ...here.
11307         * config/gcn/gcn-run.c: Moved to...
11308         * config/gcn/gcn-run.cc: ...here.
11309         * config/gcn/gcn-tree.c: Moved to...
11310         * config/gcn/gcn-tree.cc: ...here.
11311         * config/gcn/gcn.c: Moved to...
11312         * config/gcn/gcn.cc: ...here.
11313         * config/gcn/mkoffload.c: Moved to...
11314         * config/gcn/mkoffload.cc: ...here.
11315         * config/glibc-c.c: Moved to...
11316         * config/glibc-c.cc: ...here.
11317         * config/glibc-d.c: Moved to...
11318         * config/glibc-d.cc: ...here.
11319         * config/h8300/h8300.c: Moved to...
11320         * config/h8300/h8300.cc: ...here.
11321         * config/host-darwin.c: Moved to...
11322         * config/host-darwin.cc: ...here.
11323         * config/host-hpux.c: Moved to...
11324         * config/host-hpux.cc: ...here.
11325         * config/host-linux.c: Moved to...
11326         * config/host-linux.cc: ...here.
11327         * config/host-netbsd.c: Moved to...
11328         * config/host-netbsd.cc: ...here.
11329         * config/host-openbsd.c: Moved to...
11330         * config/host-openbsd.cc: ...here.
11331         * config/host-solaris.c: Moved to...
11332         * config/host-solaris.cc: ...here.
11333         * config/i386/djgpp.c: Moved to...
11334         * config/i386/djgpp.cc: ...here.
11335         * config/i386/driver-i386.c: Moved to...
11336         * config/i386/driver-i386.cc: ...here.
11337         * config/i386/driver-mingw32.c: Moved to...
11338         * config/i386/driver-mingw32.cc: ...here.
11339         * config/i386/gnu-property.c: Moved to...
11340         * config/i386/gnu-property.cc: ...here.
11341         * config/i386/host-cygwin.c: Moved to...
11342         * config/i386/host-cygwin.cc: ...here.
11343         * config/i386/host-i386-darwin.c: Moved to...
11344         * config/i386/host-i386-darwin.cc: ...here.
11345         * config/i386/host-mingw32.c: Moved to...
11346         * config/i386/host-mingw32.cc: ...here.
11347         * config/i386/i386-builtins.c: Moved to...
11348         * config/i386/i386-builtins.cc: ...here.
11349         * config/i386/i386-c.c: Moved to...
11350         * config/i386/i386-c.cc: ...here.
11351         * config/i386/i386-d.c: Moved to...
11352         * config/i386/i386-d.cc: ...here.
11353         * config/i386/i386-expand.c: Moved to...
11354         * config/i386/i386-expand.cc: ...here.
11355         * config/i386/i386-features.c: Moved to...
11356         * config/i386/i386-features.cc: ...here.
11357         * config/i386/i386-options.c: Moved to...
11358         * config/i386/i386-options.cc: ...here.
11359         * config/i386/i386.c: Moved to...
11360         * config/i386/i386.cc: ...here.
11361         * config/i386/intelmic-mkoffload.c: Moved to...
11362         * config/i386/intelmic-mkoffload.cc: ...here.
11363         * config/i386/msformat-c.c: Moved to...
11364         * config/i386/msformat-c.cc: ...here.
11365         * config/i386/winnt-cxx.c: Moved to...
11366         * config/i386/winnt-cxx.cc: ...here.
11367         * config/i386/winnt-d.c: Moved to...
11368         * config/i386/winnt-d.cc: ...here.
11369         * config/i386/winnt-stubs.c: Moved to...
11370         * config/i386/winnt-stubs.cc: ...here.
11371         * config/i386/winnt.c: Moved to...
11372         * config/i386/winnt.cc: ...here.
11373         * config/i386/x86-tune-sched-atom.c: Moved to...
11374         * config/i386/x86-tune-sched-atom.cc: ...here.
11375         * config/i386/x86-tune-sched-bd.c: Moved to...
11376         * config/i386/x86-tune-sched-bd.cc: ...here.
11377         * config/i386/x86-tune-sched-core.c: Moved to...
11378         * config/i386/x86-tune-sched-core.cc: ...here.
11379         * config/i386/x86-tune-sched.c: Moved to...
11380         * config/i386/x86-tune-sched.cc: ...here.
11381         * config/ia64/ia64-c.c: Moved to...
11382         * config/ia64/ia64-c.cc: ...here.
11383         * config/ia64/ia64.c: Moved to...
11384         * config/ia64/ia64.cc: ...here.
11385         * config/iq2000/iq2000.c: Moved to...
11386         * config/iq2000/iq2000.cc: ...here.
11387         * config/linux.c: Moved to...
11388         * config/linux.cc: ...here.
11389         * config/lm32/lm32.c: Moved to...
11390         * config/lm32/lm32.cc: ...here.
11391         * config/m32c/m32c-pragma.c: Moved to...
11392         * config/m32c/m32c-pragma.cc: ...here.
11393         * config/m32c/m32c.c: Moved to...
11394         * config/m32c/m32c.cc: ...here.
11395         * config/m32r/m32r.c: Moved to...
11396         * config/m32r/m32r.cc: ...here.
11397         * config/m68k/m68k.c: Moved to...
11398         * config/m68k/m68k.cc: ...here.
11399         * config/mcore/mcore.c: Moved to...
11400         * config/mcore/mcore.cc: ...here.
11401         * config/microblaze/microblaze-c.c: Moved to...
11402         * config/microblaze/microblaze-c.cc: ...here.
11403         * config/microblaze/microblaze.c: Moved to...
11404         * config/microblaze/microblaze.cc: ...here.
11405         * config/mips/driver-native.c: Moved to...
11406         * config/mips/driver-native.cc: ...here.
11407         * config/mips/frame-header-opt.c: Moved to...
11408         * config/mips/frame-header-opt.cc: ...here.
11409         * config/mips/mips-d.c: Moved to...
11410         * config/mips/mips-d.cc: ...here.
11411         * config/mips/mips.c: Moved to...
11412         * config/mips/mips.cc: ...here.
11413         * config/mmix/mmix.c: Moved to...
11414         * config/mmix/mmix.cc: ...here.
11415         * config/mn10300/mn10300.c: Moved to...
11416         * config/mn10300/mn10300.cc: ...here.
11417         * config/moxie/moxie.c: Moved to...
11418         * config/moxie/moxie.cc: ...here.
11419         * config/msp430/driver-msp430.c: Moved to...
11420         * config/msp430/driver-msp430.cc: ...here.
11421         * config/msp430/msp430-c.c: Moved to...
11422         * config/msp430/msp430-c.cc: ...here.
11423         * config/msp430/msp430-devices.c: Moved to...
11424         * config/msp430/msp430-devices.cc: ...here.
11425         * config/msp430/msp430.c: Moved to...
11426         * config/msp430/msp430.cc: ...here.
11427         * config/nds32/nds32-cost.c: Moved to...
11428         * config/nds32/nds32-cost.cc: ...here.
11429         * config/nds32/nds32-fp-as-gp.c: Moved to...
11430         * config/nds32/nds32-fp-as-gp.cc: ...here.
11431         * config/nds32/nds32-intrinsic.c: Moved to...
11432         * config/nds32/nds32-intrinsic.cc: ...here.
11433         * config/nds32/nds32-isr.c: Moved to...
11434         * config/nds32/nds32-isr.cc: ...here.
11435         * config/nds32/nds32-md-auxiliary.c: Moved to...
11436         * config/nds32/nds32-md-auxiliary.cc: ...here.
11437         * config/nds32/nds32-memory-manipulation.c: Moved to...
11438         * config/nds32/nds32-memory-manipulation.cc: ...here.
11439         * config/nds32/nds32-pipelines-auxiliary.c: Moved to...
11440         * config/nds32/nds32-pipelines-auxiliary.cc: ...here.
11441         * config/nds32/nds32-predicates.c: Moved to...
11442         * config/nds32/nds32-predicates.cc: ...here.
11443         * config/nds32/nds32-relax-opt.c: Moved to...
11444         * config/nds32/nds32-relax-opt.cc: ...here.
11445         * config/nds32/nds32-utils.c: Moved to...
11446         * config/nds32/nds32-utils.cc: ...here.
11447         * config/nds32/nds32.c: Moved to...
11448         * config/nds32/nds32.cc: ...here.
11449         * config/netbsd-d.c: Moved to...
11450         * config/netbsd-d.cc: ...here.
11451         * config/netbsd.c: Moved to...
11452         * config/netbsd.cc: ...here.
11453         * config/nios2/nios2.c: Moved to...
11454         * config/nios2/nios2.cc: ...here.
11455         * config/nvptx/mkoffload.c: Moved to...
11456         * config/nvptx/mkoffload.cc: ...here.
11457         * config/nvptx/nvptx-c.c: Moved to...
11458         * config/nvptx/nvptx-c.cc: ...here.
11459         * config/nvptx/nvptx.c: Moved to...
11460         * config/nvptx/nvptx.cc: ...here.
11461         * config/openbsd-d.c: Moved to...
11462         * config/openbsd-d.cc: ...here.
11463         * config/or1k/or1k.c: Moved to...
11464         * config/or1k/or1k.cc: ...here.
11465         * config/pa/pa-d.c: Moved to...
11466         * config/pa/pa-d.cc: ...here.
11467         * config/pa/pa.c: Moved to...
11468         * config/pa/pa.cc: ...here.
11469         * config/pdp11/pdp11.c: Moved to...
11470         * config/pdp11/pdp11.cc: ...here.
11471         * config/pru/pru-passes.c: Moved to...
11472         * config/pru/pru-passes.cc: ...here.
11473         * config/pru/pru-pragma.c: Moved to...
11474         * config/pru/pru-pragma.cc: ...here.
11475         * config/pru/pru.c: Moved to...
11476         * config/pru/pru.cc: ...here.
11477         * config/riscv/riscv-builtins.c: Moved to...
11478         * config/riscv/riscv-builtins.cc: ...here.
11479         * config/riscv/riscv-c.c: Moved to...
11480         * config/riscv/riscv-c.cc: ...here.
11481         * config/riscv/riscv-d.c: Moved to...
11482         * config/riscv/riscv-d.cc: ...here.
11483         * config/riscv/riscv-shorten-memrefs.c: Moved to...
11484         * config/riscv/riscv-shorten-memrefs.cc: ...here.
11485         * config/riscv/riscv-sr.c: Moved to...
11486         * config/riscv/riscv-sr.cc: ...here.
11487         * config/riscv/riscv.c: Moved to...
11488         * config/riscv/riscv.cc: ...here.
11489         * config/rl78/rl78-c.c: Moved to...
11490         * config/rl78/rl78-c.cc: ...here.
11491         * config/rl78/rl78.c: Moved to...
11492         * config/rl78/rl78.cc: ...here.
11493         * config/rs6000/driver-rs6000.c: Moved to...
11494         * config/rs6000/driver-rs6000.cc: ...here.
11495         * config/rs6000/host-darwin.c: Moved to...
11496         * config/rs6000/host-darwin.cc: ...here.
11497         * config/rs6000/host-ppc64-darwin.c: Moved to...
11498         * config/rs6000/host-ppc64-darwin.cc: ...here.
11499         * config/rs6000/rbtree.c: Moved to...
11500         * config/rs6000/rbtree.cc: ...here.
11501         * config/rs6000/rs6000-c.c: Moved to...
11502         * config/rs6000/rs6000-c.cc: ...here.
11503         * config/rs6000/rs6000-call.c: Moved to...
11504         * config/rs6000/rs6000-call.cc: ...here.
11505         * config/rs6000/rs6000-d.c: Moved to...
11506         * config/rs6000/rs6000-d.cc: ...here.
11507         * config/rs6000/rs6000-gen-builtins.c: Moved to...
11508         * config/rs6000/rs6000-gen-builtins.cc: ...here.
11509         * config/rs6000/rs6000-linux.c: Moved to...
11510         * config/rs6000/rs6000-linux.cc: ...here.
11511         * config/rs6000/rs6000-logue.c: Moved to...
11512         * config/rs6000/rs6000-logue.cc: ...here.
11513         * config/rs6000/rs6000-p8swap.c: Moved to...
11514         * config/rs6000/rs6000-p8swap.cc: ...here.
11515         * config/rs6000/rs6000-pcrel-opt.c: Moved to...
11516         * config/rs6000/rs6000-pcrel-opt.cc: ...here.
11517         * config/rs6000/rs6000-string.c: Moved to...
11518         * config/rs6000/rs6000-string.cc: ...here.
11519         * config/rs6000/rs6000.c: Moved to...
11520         * config/rs6000/rs6000.cc: ...here.
11521         * config/rx/rx.c: Moved to...
11522         * config/rx/rx.cc: ...here.
11523         * config/s390/driver-native.c: Moved to...
11524         * config/s390/driver-native.cc: ...here.
11525         * config/s390/s390-c.c: Moved to...
11526         * config/s390/s390-c.cc: ...here.
11527         * config/s390/s390-d.c: Moved to...
11528         * config/s390/s390-d.cc: ...here.
11529         * config/s390/s390.c: Moved to...
11530         * config/s390/s390.cc: ...here.
11531         * config/sh/divtab-sh4-300.c: Moved to...
11532         * config/sh/divtab-sh4-300.cc: ...here.
11533         * config/sh/divtab-sh4.c: Moved to...
11534         * config/sh/divtab-sh4.cc: ...here.
11535         * config/sh/divtab.c: Moved to...
11536         * config/sh/divtab.cc: ...here.
11537         * config/sh/sh-c.c: Moved to...
11538         * config/sh/sh-c.cc: ...here.
11539         * config/sh/sh.c: Moved to...
11540         * config/sh/sh.cc: ...here.
11541         * config/sol2-c.c: Moved to...
11542         * config/sol2-c.cc: ...here.
11543         * config/sol2-cxx.c: Moved to...
11544         * config/sol2-cxx.cc: ...here.
11545         * config/sol2-d.c: Moved to...
11546         * config/sol2-d.cc: ...here.
11547         * config/sol2-stubs.c: Moved to...
11548         * config/sol2-stubs.cc: ...here.
11549         * config/sol2.c: Moved to...
11550         * config/sol2.cc: ...here.
11551         * config/sparc/driver-sparc.c: Moved to...
11552         * config/sparc/driver-sparc.cc: ...here.
11553         * config/sparc/sparc-c.c: Moved to...
11554         * config/sparc/sparc-c.cc: ...here.
11555         * config/sparc/sparc-d.c: Moved to...
11556         * config/sparc/sparc-d.cc: ...here.
11557         * config/sparc/sparc.c: Moved to...
11558         * config/sparc/sparc.cc: ...here.
11559         * config/stormy16/stormy16.c: Moved to...
11560         * config/stormy16/stormy16.cc: ...here.
11561         * config/tilegx/mul-tables.c: Moved to...
11562         * config/tilegx/mul-tables.cc: ...here.
11563         * config/tilegx/tilegx-c.c: Moved to...
11564         * config/tilegx/tilegx-c.cc: ...here.
11565         * config/tilegx/tilegx.c: Moved to...
11566         * config/tilegx/tilegx.cc: ...here.
11567         * config/tilepro/mul-tables.c: Moved to...
11568         * config/tilepro/mul-tables.cc: ...here.
11569         * config/tilepro/tilepro-c.c: Moved to...
11570         * config/tilepro/tilepro-c.cc: ...here.
11571         * config/tilepro/tilepro.c: Moved to...
11572         * config/tilepro/tilepro.cc: ...here.
11573         * config/v850/v850-c.c: Moved to...
11574         * config/v850/v850-c.cc: ...here.
11575         * config/v850/v850.c: Moved to...
11576         * config/v850/v850.cc: ...here.
11577         * config/vax/vax.c: Moved to...
11578         * config/vax/vax.cc: ...here.
11579         * config/visium/visium.c: Moved to...
11580         * config/visium/visium.cc: ...here.
11581         * config/vms/vms-c.c: Moved to...
11582         * config/vms/vms-c.cc: ...here.
11583         * config/vms/vms-f.c: Moved to...
11584         * config/vms/vms-f.cc: ...here.
11585         * config/vms/vms.c: Moved to...
11586         * config/vms/vms.cc: ...here.
11587         * config/vxworks-c.c: Moved to...
11588         * config/vxworks-c.cc: ...here.
11589         * config/vxworks.c: Moved to...
11590         * config/vxworks.cc: ...here.
11591         * config/winnt-c.c: Moved to...
11592         * config/winnt-c.cc: ...here.
11593         * config/xtensa/xtensa.c: Moved to...
11594         * config/xtensa/xtensa.cc: ...here.
11595         * context.c: Moved to...
11596         * context.cc: ...here.
11597         * convert.c: Moved to...
11598         * convert.cc: ...here.
11599         * coverage.c: Moved to...
11600         * coverage.cc: ...here.
11601         * cppbuiltin.c: Moved to...
11602         * cppbuiltin.cc: ...here.
11603         * cppdefault.c: Moved to...
11604         * cppdefault.cc: ...here.
11605         * cprop.c: Moved to...
11606         * cprop.cc: ...here.
11607         * cse.c: Moved to...
11608         * cse.cc: ...here.
11609         * cselib.c: Moved to...
11610         * cselib.cc: ...here.
11611         * ctfc.c: Moved to...
11612         * ctfc.cc: ...here.
11613         * ctfout.c: Moved to...
11614         * ctfout.cc: ...here.
11615         * data-streamer-in.c: Moved to...
11616         * data-streamer-in.cc: ...here.
11617         * data-streamer-out.c: Moved to...
11618         * data-streamer-out.cc: ...here.
11619         * data-streamer.c: Moved to...
11620         * data-streamer.cc: ...here.
11621         * dbgcnt.c: Moved to...
11622         * dbgcnt.cc: ...here.
11623         * dbxout.c: Moved to...
11624         * dbxout.cc: ...here.
11625         * dce.c: Moved to...
11626         * dce.cc: ...here.
11627         * ddg.c: Moved to...
11628         * ddg.cc: ...here.
11629         * debug.c: Moved to...
11630         * debug.cc: ...here.
11631         * df-core.c: Moved to...
11632         * df-core.cc: ...here.
11633         * df-problems.c: Moved to...
11634         * df-problems.cc: ...here.
11635         * df-scan.c: Moved to...
11636         * df-scan.cc: ...here.
11637         * dfp.c: Moved to...
11638         * dfp.cc: ...here.
11639         * diagnostic-color.c: Moved to...
11640         * diagnostic-color.cc: ...here.
11641         * diagnostic-show-locus.c: Moved to...
11642         * diagnostic-show-locus.cc: ...here.
11643         * diagnostic-spec.c: Moved to...
11644         * diagnostic-spec.cc: ...here.
11645         * diagnostic.c: Moved to...
11646         * diagnostic.cc: ...here.
11647         * dojump.c: Moved to...
11648         * dojump.cc: ...here.
11649         * dominance.c: Moved to...
11650         * dominance.cc: ...here.
11651         * domwalk.c: Moved to...
11652         * domwalk.cc: ...here.
11653         * double-int.c: Moved to...
11654         * double-int.cc: ...here.
11655         * dse.c: Moved to...
11656         * dse.cc: ...here.
11657         * dumpfile.c: Moved to...
11658         * dumpfile.cc: ...here.
11659         * dwarf2asm.c: Moved to...
11660         * dwarf2asm.cc: ...here.
11661         * dwarf2cfi.c: Moved to...
11662         * dwarf2cfi.cc: ...here.
11663         * dwarf2ctf.c: Moved to...
11664         * dwarf2ctf.cc: ...here.
11665         * dwarf2out.c: Moved to...
11666         * dwarf2out.cc: ...here.
11667         * early-remat.c: Moved to...
11668         * early-remat.cc: ...here.
11669         * edit-context.c: Moved to...
11670         * edit-context.cc: ...here.
11671         * emit-rtl.c: Moved to...
11672         * emit-rtl.cc: ...here.
11673         * errors.c: Moved to...
11674         * errors.cc: ...here.
11675         * et-forest.c: Moved to...
11676         * et-forest.cc: ...here.
11677         * except.c: Moved to...
11678         * except.cc: ...here.
11679         * explow.c: Moved to...
11680         * explow.cc: ...here.
11681         * expmed.c: Moved to...
11682         * expmed.cc: ...here.
11683         * expr.c: Moved to...
11684         * expr.cc: ...here.
11685         * fibonacci_heap.c: Moved to...
11686         * fibonacci_heap.cc: ...here.
11687         * file-find.c: Moved to...
11688         * file-find.cc: ...here.
11689         * file-prefix-map.c: Moved to...
11690         * file-prefix-map.cc: ...here.
11691         * final.c: Moved to...
11692         * final.cc: ...here.
11693         * fixed-value.c: Moved to...
11694         * fixed-value.cc: ...here.
11695         * fold-const-call.c: Moved to...
11696         * fold-const-call.cc: ...here.
11697         * fold-const.c: Moved to...
11698         * fold-const.cc: ...here.
11699         * fp-test.c: Moved to...
11700         * fp-test.cc: ...here.
11701         * function-tests.c: Moved to...
11702         * function-tests.cc: ...here.
11703         * function.c: Moved to...
11704         * function.cc: ...here.
11705         * fwprop.c: Moved to...
11706         * fwprop.cc: ...here.
11707         * gcc-ar.c: Moved to...
11708         * gcc-ar.cc: ...here.
11709         * gcc-main.c: Moved to...
11710         * gcc-main.cc: ...here.
11711         * gcc-rich-location.c: Moved to...
11712         * gcc-rich-location.cc: ...here.
11713         * gcc.c: Moved to...
11714         * gcc.cc: ...here.
11715         * gcov-dump.c: Moved to...
11716         * gcov-dump.cc: ...here.
11717         * gcov-io.c: Moved to...
11718         * gcov-io.cc: ...here.
11719         * gcov-tool.c: Moved to...
11720         * gcov-tool.cc: ...here.
11721         * gcov.c: Moved to...
11722         * gcov.cc: ...here.
11723         * gcse-common.c: Moved to...
11724         * gcse-common.cc: ...here.
11725         * gcse.c: Moved to...
11726         * gcse.cc: ...here.
11727         * genattr-common.c: Moved to...
11728         * genattr-common.cc: ...here.
11729         * genattr.c: Moved to...
11730         * genattr.cc: ...here.
11731         * genattrtab.c: Moved to...
11732         * genattrtab.cc: ...here.
11733         * genautomata.c: Moved to...
11734         * genautomata.cc: ...here.
11735         * gencfn-macros.c: Moved to...
11736         * gencfn-macros.cc: ...here.
11737         * gencheck.c: Moved to...
11738         * gencheck.cc: ...here.
11739         * genchecksum.c: Moved to...
11740         * genchecksum.cc: ...here.
11741         * gencodes.c: Moved to...
11742         * gencodes.cc: ...here.
11743         * genconditions.c: Moved to...
11744         * genconditions.cc: ...here.
11745         * genconfig.c: Moved to...
11746         * genconfig.cc: ...here.
11747         * genconstants.c: Moved to...
11748         * genconstants.cc: ...here.
11749         * genemit.c: Moved to...
11750         * genemit.cc: ...here.
11751         * genenums.c: Moved to...
11752         * genenums.cc: ...here.
11753         * generic-match-head.c: Moved to...
11754         * generic-match-head.cc: ...here.
11755         * genextract.c: Moved to...
11756         * genextract.cc: ...here.
11757         * genflags.c: Moved to...
11758         * genflags.cc: ...here.
11759         * gengenrtl.c: Moved to...
11760         * gengenrtl.cc: ...here.
11761         * gengtype-parse.c: Moved to...
11762         * gengtype-parse.cc: ...here.
11763         * gengtype-state.c: Moved to...
11764         * gengtype-state.cc: ...here.
11765         * gengtype.c: Moved to...
11766         * gengtype.cc: ...here.
11767         * genhooks.c: Moved to...
11768         * genhooks.cc: ...here.
11769         * genmatch.c: Moved to...
11770         * genmatch.cc: ...here.
11771         * genmddeps.c: Moved to...
11772         * genmddeps.cc: ...here.
11773         * genmddump.c: Moved to...
11774         * genmddump.cc: ...here.
11775         * genmodes.c: Moved to...
11776         * genmodes.cc: ...here.
11777         * genopinit.c: Moved to...
11778         * genopinit.cc: ...here.
11779         * genoutput.c: Moved to...
11780         * genoutput.cc: ...here.
11781         * genpeep.c: Moved to...
11782         * genpeep.cc: ...here.
11783         * genpreds.c: Moved to...
11784         * genpreds.cc: ...here.
11785         * genrecog.c: Moved to...
11786         * genrecog.cc: ...here.
11787         * gensupport.c: Moved to...
11788         * gensupport.cc: ...here.
11789         * gentarget-def.c: Moved to...
11790         * gentarget-def.cc: ...here.
11791         * genversion.c: Moved to...
11792         * genversion.cc: ...here.
11793         * ggc-common.c: Moved to...
11794         * ggc-common.cc: ...here.
11795         * ggc-none.c: Moved to...
11796         * ggc-none.cc: ...here.
11797         * ggc-page.c: Moved to...
11798         * ggc-page.cc: ...here.
11799         * ggc-tests.c: Moved to...
11800         * ggc-tests.cc: ...here.
11801         * gimple-builder.c: Moved to...
11802         * gimple-builder.cc: ...here.
11803         * gimple-expr.c: Moved to...
11804         * gimple-expr.cc: ...here.
11805         * gimple-fold.c: Moved to...
11806         * gimple-fold.cc: ...here.
11807         * gimple-iterator.c: Moved to...
11808         * gimple-iterator.cc: ...here.
11809         * gimple-laddress.c: Moved to...
11810         * gimple-laddress.cc: ...here.
11811         * gimple-loop-jam.c: Moved to...
11812         * gimple-loop-jam.cc: ...here.
11813         * gimple-low.c: Moved to...
11814         * gimple-low.cc: ...here.
11815         * gimple-match-head.c: Moved to...
11816         * gimple-match-head.cc: ...here.
11817         * gimple-pretty-print.c: Moved to...
11818         * gimple-pretty-print.cc: ...here.
11819         * gimple-ssa-backprop.c: Moved to...
11820         * gimple-ssa-backprop.cc: ...here.
11821         * gimple-ssa-evrp-analyze.c: Moved to...
11822         * gimple-ssa-evrp-analyze.cc: ...here.
11823         * gimple-ssa-evrp.c: Moved to...
11824         * gimple-ssa-evrp.cc: ...here.
11825         * gimple-ssa-isolate-paths.c: Moved to...
11826         * gimple-ssa-isolate-paths.cc: ...here.
11827         * gimple-ssa-nonnull-compare.c: Moved to...
11828         * gimple-ssa-nonnull-compare.cc: ...here.
11829         * gimple-ssa-split-paths.c: Moved to...
11830         * gimple-ssa-split-paths.cc: ...here.
11831         * gimple-ssa-sprintf.c: Moved to...
11832         * gimple-ssa-sprintf.cc: ...here.
11833         * gimple-ssa-store-merging.c: Moved to...
11834         * gimple-ssa-store-merging.cc: ...here.
11835         * gimple-ssa-strength-reduction.c: Moved to...
11836         * gimple-ssa-strength-reduction.cc: ...here.
11837         * gimple-ssa-warn-alloca.c: Moved to...
11838         * gimple-ssa-warn-alloca.cc: ...here.
11839         * gimple-ssa-warn-restrict.c: Moved to...
11840         * gimple-ssa-warn-restrict.cc: ...here.
11841         * gimple-streamer-in.c: Moved to...
11842         * gimple-streamer-in.cc: ...here.
11843         * gimple-streamer-out.c: Moved to...
11844         * gimple-streamer-out.cc: ...here.
11845         * gimple-walk.c: Moved to...
11846         * gimple-walk.cc: ...here.
11847         * gimple-warn-recursion.c: Moved to...
11848         * gimple-warn-recursion.cc: ...here.
11849         * gimple.c: Moved to...
11850         * gimple.cc: ...here.
11851         * gimplify-me.c: Moved to...
11852         * gimplify-me.cc: ...here.
11853         * gimplify.c: Moved to...
11854         * gimplify.cc: ...here.
11855         * godump.c: Moved to...
11856         * godump.cc: ...here.
11857         * graph.c: Moved to...
11858         * graph.cc: ...here.
11859         * graphds.c: Moved to...
11860         * graphds.cc: ...here.
11861         * graphite-dependences.c: Moved to...
11862         * graphite-dependences.cc: ...here.
11863         * graphite-isl-ast-to-gimple.c: Moved to...
11864         * graphite-isl-ast-to-gimple.cc: ...here.
11865         * graphite-optimize-isl.c: Moved to...
11866         * graphite-optimize-isl.cc: ...here.
11867         * graphite-poly.c: Moved to...
11868         * graphite-poly.cc: ...here.
11869         * graphite-scop-detection.c: Moved to...
11870         * graphite-scop-detection.cc: ...here.
11871         * graphite-sese-to-poly.c: Moved to...
11872         * graphite-sese-to-poly.cc: ...here.
11873         * graphite.c: Moved to...
11874         * graphite.cc: ...here.
11875         * haifa-sched.c: Moved to...
11876         * haifa-sched.cc: ...here.
11877         * hash-map-tests.c: Moved to...
11878         * hash-map-tests.cc: ...here.
11879         * hash-set-tests.c: Moved to...
11880         * hash-set-tests.cc: ...here.
11881         * hash-table.c: Moved to...
11882         * hash-table.cc: ...here.
11883         * hooks.c: Moved to...
11884         * hooks.cc: ...here.
11885         * host-default.c: Moved to...
11886         * host-default.cc: ...here.
11887         * hw-doloop.c: Moved to...
11888         * hw-doloop.cc: ...here.
11889         * hwint.c: Moved to...
11890         * hwint.cc: ...here.
11891         * ifcvt.c: Moved to...
11892         * ifcvt.cc: ...here.
11893         * inchash.c: Moved to...
11894         * inchash.cc: ...here.
11895         * incpath.c: Moved to...
11896         * incpath.cc: ...here.
11897         * init-regs.c: Moved to...
11898         * init-regs.cc: ...here.
11899         * input.c: Moved to...
11900         * input.cc: ...here.
11901         * internal-fn.c: Moved to...
11902         * internal-fn.cc: ...here.
11903         * intl.c: Moved to...
11904         * intl.cc: ...here.
11905         * ipa-comdats.c: Moved to...
11906         * ipa-comdats.cc: ...here.
11907         * ipa-cp.c: Moved to...
11908         * ipa-cp.cc: ...here.
11909         * ipa-devirt.c: Moved to...
11910         * ipa-devirt.cc: ...here.
11911         * ipa-fnsummary.c: Moved to...
11912         * ipa-fnsummary.cc: ...here.
11913         * ipa-icf-gimple.c: Moved to...
11914         * ipa-icf-gimple.cc: ...here.
11915         * ipa-icf.c: Moved to...
11916         * ipa-icf.cc: ...here.
11917         * ipa-inline-analysis.c: Moved to...
11918         * ipa-inline-analysis.cc: ...here.
11919         * ipa-inline-transform.c: Moved to...
11920         * ipa-inline-transform.cc: ...here.
11921         * ipa-inline.c: Moved to...
11922         * ipa-inline.cc: ...here.
11923         * ipa-modref-tree.c: Moved to...
11924         * ipa-modref-tree.cc: ...here.
11925         * ipa-modref.c: Moved to...
11926         * ipa-modref.cc: ...here.
11927         * ipa-param-manipulation.c: Moved to...
11928         * ipa-param-manipulation.cc: ...here.
11929         * ipa-polymorphic-call.c: Moved to...
11930         * ipa-polymorphic-call.cc: ...here.
11931         * ipa-predicate.c: Moved to...
11932         * ipa-predicate.cc: ...here.
11933         * ipa-profile.c: Moved to...
11934         * ipa-profile.cc: ...here.
11935         * ipa-prop.c: Moved to...
11936         * ipa-prop.cc: ...here.
11937         * ipa-pure-const.c: Moved to...
11938         * ipa-pure-const.cc: ...here.
11939         * ipa-ref.c: Moved to...
11940         * ipa-ref.cc: ...here.
11941         * ipa-reference.c: Moved to...
11942         * ipa-reference.cc: ...here.
11943         * ipa-split.c: Moved to...
11944         * ipa-split.cc: ...here.
11945         * ipa-sra.c: Moved to...
11946         * ipa-sra.cc: ...here.
11947         * ipa-utils.c: Moved to...
11948         * ipa-utils.cc: ...here.
11949         * ipa-visibility.c: Moved to...
11950         * ipa-visibility.cc: ...here.
11951         * ipa.c: Moved to...
11952         * ipa.cc: ...here.
11953         * ira-build.c: Moved to...
11954         * ira-build.cc: ...here.
11955         * ira-color.c: Moved to...
11956         * ira-color.cc: ...here.
11957         * ira-conflicts.c: Moved to...
11958         * ira-conflicts.cc: ...here.
11959         * ira-costs.c: Moved to...
11960         * ira-costs.cc: ...here.
11961         * ira-emit.c: Moved to...
11962         * ira-emit.cc: ...here.
11963         * ira-lives.c: Moved to...
11964         * ira-lives.cc: ...here.
11965         * ira.c: Moved to...
11966         * ira.cc: ...here.
11967         * jump.c: Moved to...
11968         * jump.cc: ...here.
11969         * langhooks.c: Moved to...
11970         * langhooks.cc: ...here.
11971         * lcm.c: Moved to...
11972         * lcm.cc: ...here.
11973         * lists.c: Moved to...
11974         * lists.cc: ...here.
11975         * loop-doloop.c: Moved to...
11976         * loop-doloop.cc: ...here.
11977         * loop-init.c: Moved to...
11978         * loop-init.cc: ...here.
11979         * loop-invariant.c: Moved to...
11980         * loop-invariant.cc: ...here.
11981         * loop-iv.c: Moved to...
11982         * loop-iv.cc: ...here.
11983         * loop-unroll.c: Moved to...
11984         * loop-unroll.cc: ...here.
11985         * lower-subreg.c: Moved to...
11986         * lower-subreg.cc: ...here.
11987         * lra-assigns.c: Moved to...
11988         * lra-assigns.cc: ...here.
11989         * lra-coalesce.c: Moved to...
11990         * lra-coalesce.cc: ...here.
11991         * lra-constraints.c: Moved to...
11992         * lra-constraints.cc: ...here.
11993         * lra-eliminations.c: Moved to...
11994         * lra-eliminations.cc: ...here.
11995         * lra-lives.c: Moved to...
11996         * lra-lives.cc: ...here.
11997         * lra-remat.c: Moved to...
11998         * lra-remat.cc: ...here.
11999         * lra-spills.c: Moved to...
12000         * lra-spills.cc: ...here.
12001         * lra.c: Moved to...
12002         * lra.cc: ...here.
12003         * lto-cgraph.c: Moved to...
12004         * lto-cgraph.cc: ...here.
12005         * lto-compress.c: Moved to...
12006         * lto-compress.cc: ...here.
12007         * lto-opts.c: Moved to...
12008         * lto-opts.cc: ...here.
12009         * lto-section-in.c: Moved to...
12010         * lto-section-in.cc: ...here.
12011         * lto-section-out.c: Moved to...
12012         * lto-section-out.cc: ...here.
12013         * lto-streamer-in.c: Moved to...
12014         * lto-streamer-in.cc: ...here.
12015         * lto-streamer-out.c: Moved to...
12016         * lto-streamer-out.cc: ...here.
12017         * lto-streamer.c: Moved to...
12018         * lto-streamer.cc: ...here.
12019         * lto-wrapper.c: Moved to...
12020         * lto-wrapper.cc: ...here.
12021         * main.c: Moved to...
12022         * main.cc: ...here.
12023         * mcf.c: Moved to...
12024         * mcf.cc: ...here.
12025         * mode-switching.c: Moved to...
12026         * mode-switching.cc: ...here.
12027         * modulo-sched.c: Moved to...
12028         * modulo-sched.cc: ...here.
12029         * multiple_target.c: Moved to...
12030         * multiple_target.cc: ...here.
12031         * omp-expand.c: Moved to...
12032         * omp-expand.cc: ...here.
12033         * omp-general.c: Moved to...
12034         * omp-general.cc: ...here.
12035         * omp-low.c: Moved to...
12036         * omp-low.cc: ...here.
12037         * omp-offload.c: Moved to...
12038         * omp-offload.cc: ...here.
12039         * omp-simd-clone.c: Moved to...
12040         * omp-simd-clone.cc: ...here.
12041         * opt-suggestions.c: Moved to...
12042         * opt-suggestions.cc: ...here.
12043         * optabs-libfuncs.c: Moved to...
12044         * optabs-libfuncs.cc: ...here.
12045         * optabs-query.c: Moved to...
12046         * optabs-query.cc: ...here.
12047         * optabs-tree.c: Moved to...
12048         * optabs-tree.cc: ...here.
12049         * optabs.c: Moved to...
12050         * optabs.cc: ...here.
12051         * opts-common.c: Moved to...
12052         * opts-common.cc: ...here.
12053         * opts-global.c: Moved to...
12054         * opts-global.cc: ...here.
12055         * opts.c: Moved to...
12056         * opts.cc: ...here.
12057         * passes.c: Moved to...
12058         * passes.cc: ...here.
12059         * plugin.c: Moved to...
12060         * plugin.cc: ...here.
12061         * postreload-gcse.c: Moved to...
12062         * postreload-gcse.cc: ...here.
12063         * postreload.c: Moved to...
12064         * postreload.cc: ...here.
12065         * predict.c: Moved to...
12066         * predict.cc: ...here.
12067         * prefix.c: Moved to...
12068         * prefix.cc: ...here.
12069         * pretty-print.c: Moved to...
12070         * pretty-print.cc: ...here.
12071         * print-rtl-function.c: Moved to...
12072         * print-rtl-function.cc: ...here.
12073         * print-rtl.c: Moved to...
12074         * print-rtl.cc: ...here.
12075         * print-tree.c: Moved to...
12076         * print-tree.cc: ...here.
12077         * profile-count.c: Moved to...
12078         * profile-count.cc: ...here.
12079         * profile.c: Moved to...
12080         * profile.cc: ...here.
12081         * read-md.c: Moved to...
12082         * read-md.cc: ...here.
12083         * read-rtl-function.c: Moved to...
12084         * read-rtl-function.cc: ...here.
12085         * read-rtl.c: Moved to...
12086         * read-rtl.cc: ...here.
12087         * real.c: Moved to...
12088         * real.cc: ...here.
12089         * realmpfr.c: Moved to...
12090         * realmpfr.cc: ...here.
12091         * recog.c: Moved to...
12092         * recog.cc: ...here.
12093         * ree.c: Moved to...
12094         * ree.cc: ...here.
12095         * reg-stack.c: Moved to...
12096         * reg-stack.cc: ...here.
12097         * regcprop.c: Moved to...
12098         * regcprop.cc: ...here.
12099         * reginfo.c: Moved to...
12100         * reginfo.cc: ...here.
12101         * regrename.c: Moved to...
12102         * regrename.cc: ...here.
12103         * regstat.c: Moved to...
12104         * regstat.cc: ...here.
12105         * reload.c: Moved to...
12106         * reload.cc: ...here.
12107         * reload1.c: Moved to...
12108         * reload1.cc: ...here.
12109         * reorg.c: Moved to...
12110         * reorg.cc: ...here.
12111         * resource.c: Moved to...
12112         * resource.cc: ...here.
12113         * rtl-error.c: Moved to...
12114         * rtl-error.cc: ...here.
12115         * rtl-tests.c: Moved to...
12116         * rtl-tests.cc: ...here.
12117         * rtl.c: Moved to...
12118         * rtl.cc: ...here.
12119         * rtlanal.c: Moved to...
12120         * rtlanal.cc: ...here.
12121         * rtlhash.c: Moved to...
12122         * rtlhash.cc: ...here.
12123         * rtlhooks.c: Moved to...
12124         * rtlhooks.cc: ...here.
12125         * rtx-vector-builder.c: Moved to...
12126         * rtx-vector-builder.cc: ...here.
12127         * run-rtl-passes.c: Moved to...
12128         * run-rtl-passes.cc: ...here.
12129         * sancov.c: Moved to...
12130         * sancov.cc: ...here.
12131         * sanopt.c: Moved to...
12132         * sanopt.cc: ...here.
12133         * sbitmap.c: Moved to...
12134         * sbitmap.cc: ...here.
12135         * sched-deps.c: Moved to...
12136         * sched-deps.cc: ...here.
12137         * sched-ebb.c: Moved to...
12138         * sched-ebb.cc: ...here.
12139         * sched-rgn.c: Moved to...
12140         * sched-rgn.cc: ...here.
12141         * sel-sched-dump.c: Moved to...
12142         * sel-sched-dump.cc: ...here.
12143         * sel-sched-ir.c: Moved to...
12144         * sel-sched-ir.cc: ...here.
12145         * sel-sched.c: Moved to...
12146         * sel-sched.cc: ...here.
12147         * selftest-diagnostic.c: Moved to...
12148         * selftest-diagnostic.cc: ...here.
12149         * selftest-rtl.c: Moved to...
12150         * selftest-rtl.cc: ...here.
12151         * selftest-run-tests.c: Moved to...
12152         * selftest-run-tests.cc: ...here.
12153         * selftest.c: Moved to...
12154         * selftest.cc: ...here.
12155         * sese.c: Moved to...
12156         * sese.cc: ...here.
12157         * shrink-wrap.c: Moved to...
12158         * shrink-wrap.cc: ...here.
12159         * simplify-rtx.c: Moved to...
12160         * simplify-rtx.cc: ...here.
12161         * sparseset.c: Moved to...
12162         * sparseset.cc: ...here.
12163         * spellcheck-tree.c: Moved to...
12164         * spellcheck-tree.cc: ...here.
12165         * spellcheck.c: Moved to...
12166         * spellcheck.cc: ...here.
12167         * sreal.c: Moved to...
12168         * sreal.cc: ...here.
12169         * stack-ptr-mod.c: Moved to...
12170         * stack-ptr-mod.cc: ...here.
12171         * statistics.c: Moved to...
12172         * statistics.cc: ...here.
12173         * stmt.c: Moved to...
12174         * stmt.cc: ...here.
12175         * stor-layout.c: Moved to...
12176         * stor-layout.cc: ...here.
12177         * store-motion.c: Moved to...
12178         * store-motion.cc: ...here.
12179         * streamer-hooks.c: Moved to...
12180         * streamer-hooks.cc: ...here.
12181         * stringpool.c: Moved to...
12182         * stringpool.cc: ...here.
12183         * substring-locations.c: Moved to...
12184         * substring-locations.cc: ...here.
12185         * symtab.c: Moved to...
12186         * symtab.cc: ...here.
12187         * target-globals.c: Moved to...
12188         * target-globals.cc: ...here.
12189         * targhooks.c: Moved to...
12190         * targhooks.cc: ...here.
12191         * timevar.c: Moved to...
12192         * timevar.cc: ...here.
12193         * toplev.c: Moved to...
12194         * toplev.cc: ...here.
12195         * tracer.c: Moved to...
12196         * tracer.cc: ...here.
12197         * trans-mem.c: Moved to...
12198         * trans-mem.cc: ...here.
12199         * tree-affine.c: Moved to...
12200         * tree-affine.cc: ...here.
12201         * tree-call-cdce.c: Moved to...
12202         * tree-call-cdce.cc: ...here.
12203         * tree-cfg.c: Moved to...
12204         * tree-cfg.cc: ...here.
12205         * tree-cfgcleanup.c: Moved to...
12206         * tree-cfgcleanup.cc: ...here.
12207         * tree-chrec.c: Moved to...
12208         * tree-chrec.cc: ...here.
12209         * tree-complex.c: Moved to...
12210         * tree-complex.cc: ...here.
12211         * tree-data-ref.c: Moved to...
12212         * tree-data-ref.cc: ...here.
12213         * tree-dfa.c: Moved to...
12214         * tree-dfa.cc: ...here.
12215         * tree-diagnostic.c: Moved to...
12216         * tree-diagnostic.cc: ...here.
12217         * tree-dump.c: Moved to...
12218         * tree-dump.cc: ...here.
12219         * tree-eh.c: Moved to...
12220         * tree-eh.cc: ...here.
12221         * tree-emutls.c: Moved to...
12222         * tree-emutls.cc: ...here.
12223         * tree-if-conv.c: Moved to...
12224         * tree-if-conv.cc: ...here.
12225         * tree-inline.c: Moved to...
12226         * tree-inline.cc: ...here.
12227         * tree-into-ssa.c: Moved to...
12228         * tree-into-ssa.cc: ...here.
12229         * tree-iterator.c: Moved to...
12230         * tree-iterator.cc: ...here.
12231         * tree-loop-distribution.c: Moved to...
12232         * tree-loop-distribution.cc: ...here.
12233         * tree-nested.c: Moved to...
12234         * tree-nested.cc: ...here.
12235         * tree-nrv.c: Moved to...
12236         * tree-nrv.cc: ...here.
12237         * tree-object-size.c: Moved to...
12238         * tree-object-size.cc: ...here.
12239         * tree-outof-ssa.c: Moved to...
12240         * tree-outof-ssa.cc: ...here.
12241         * tree-parloops.c: Moved to...
12242         * tree-parloops.cc: ...here.
12243         * tree-phinodes.c: Moved to...
12244         * tree-phinodes.cc: ...here.
12245         * tree-predcom.c: Moved to...
12246         * tree-predcom.cc: ...here.
12247         * tree-pretty-print.c: Moved to...
12248         * tree-pretty-print.cc: ...here.
12249         * tree-profile.c: Moved to...
12250         * tree-profile.cc: ...here.
12251         * tree-scalar-evolution.c: Moved to...
12252         * tree-scalar-evolution.cc: ...here.
12253         * tree-sra.c: Moved to...
12254         * tree-sra.cc: ...here.
12255         * tree-ssa-address.c: Moved to...
12256         * tree-ssa-address.cc: ...here.
12257         * tree-ssa-alias.c: Moved to...
12258         * tree-ssa-alias.cc: ...here.
12259         * tree-ssa-ccp.c: Moved to...
12260         * tree-ssa-ccp.cc: ...here.
12261         * tree-ssa-coalesce.c: Moved to...
12262         * tree-ssa-coalesce.cc: ...here.
12263         * tree-ssa-copy.c: Moved to...
12264         * tree-ssa-copy.cc: ...here.
12265         * tree-ssa-dce.c: Moved to...
12266         * tree-ssa-dce.cc: ...here.
12267         * tree-ssa-dom.c: Moved to...
12268         * tree-ssa-dom.cc: ...here.
12269         * tree-ssa-dse.c: Moved to...
12270         * tree-ssa-dse.cc: ...here.
12271         * tree-ssa-forwprop.c: Moved to...
12272         * tree-ssa-forwprop.cc: ...here.
12273         * tree-ssa-ifcombine.c: Moved to...
12274         * tree-ssa-ifcombine.cc: ...here.
12275         * tree-ssa-live.c: Moved to...
12276         * tree-ssa-live.cc: ...here.
12277         * tree-ssa-loop-ch.c: Moved to...
12278         * tree-ssa-loop-ch.cc: ...here.
12279         * tree-ssa-loop-im.c: Moved to...
12280         * tree-ssa-loop-im.cc: ...here.
12281         * tree-ssa-loop-ivcanon.c: Moved to...
12282         * tree-ssa-loop-ivcanon.cc: ...here.
12283         * tree-ssa-loop-ivopts.c: Moved to...
12284         * tree-ssa-loop-ivopts.cc: ...here.
12285         * tree-ssa-loop-manip.c: Moved to...
12286         * tree-ssa-loop-manip.cc: ...here.
12287         * tree-ssa-loop-niter.c: Moved to...
12288         * tree-ssa-loop-niter.cc: ...here.
12289         * tree-ssa-loop-prefetch.c: Moved to...
12290         * tree-ssa-loop-prefetch.cc: ...here.
12291         * tree-ssa-loop-split.c: Moved to...
12292         * tree-ssa-loop-split.cc: ...here.
12293         * tree-ssa-loop-unswitch.c: Moved to...
12294         * tree-ssa-loop-unswitch.cc: ...here.
12295         * tree-ssa-loop.c: Moved to...
12296         * tree-ssa-loop.cc: ...here.
12297         * tree-ssa-math-opts.c: Moved to...
12298         * tree-ssa-math-opts.cc: ...here.
12299         * tree-ssa-operands.c: Moved to...
12300         * tree-ssa-operands.cc: ...here.
12301         * tree-ssa-phiopt.c: Moved to...
12302         * tree-ssa-phiopt.cc: ...here.
12303         * tree-ssa-phiprop.c: Moved to...
12304         * tree-ssa-phiprop.cc: ...here.
12305         * tree-ssa-pre.c: Moved to...
12306         * tree-ssa-pre.cc: ...here.
12307         * tree-ssa-propagate.c: Moved to...
12308         * tree-ssa-propagate.cc: ...here.
12309         * tree-ssa-reassoc.c: Moved to...
12310         * tree-ssa-reassoc.cc: ...here.
12311         * tree-ssa-sccvn.c: Moved to...
12312         * tree-ssa-sccvn.cc: ...here.
12313         * tree-ssa-scopedtables.c: Moved to...
12314         * tree-ssa-scopedtables.cc: ...here.
12315         * tree-ssa-sink.c: Moved to...
12316         * tree-ssa-sink.cc: ...here.
12317         * tree-ssa-strlen.c: Moved to...
12318         * tree-ssa-strlen.cc: ...here.
12319         * tree-ssa-structalias.c: Moved to...
12320         * tree-ssa-structalias.cc: ...here.
12321         * tree-ssa-tail-merge.c: Moved to...
12322         * tree-ssa-tail-merge.cc: ...here.
12323         * tree-ssa-ter.c: Moved to...
12324         * tree-ssa-ter.cc: ...here.
12325         * tree-ssa-threadbackward.c: Moved to...
12326         * tree-ssa-threadbackward.cc: ...here.
12327         * tree-ssa-threadedge.c: Moved to...
12328         * tree-ssa-threadedge.cc: ...here.
12329         * tree-ssa-threadupdate.c: Moved to...
12330         * tree-ssa-threadupdate.cc: ...here.
12331         * tree-ssa-uncprop.c: Moved to...
12332         * tree-ssa-uncprop.cc: ...here.
12333         * tree-ssa-uninit.c: Moved to...
12334         * tree-ssa-uninit.cc: ...here.
12335         * tree-ssa.c: Moved to...
12336         * tree-ssa.cc: ...here.
12337         * tree-ssanames.c: Moved to...
12338         * tree-ssanames.cc: ...here.
12339         * tree-stdarg.c: Moved to...
12340         * tree-stdarg.cc: ...here.
12341         * tree-streamer-in.c: Moved to...
12342         * tree-streamer-in.cc: ...here.
12343         * tree-streamer-out.c: Moved to...
12344         * tree-streamer-out.cc: ...here.
12345         * tree-streamer.c: Moved to...
12346         * tree-streamer.cc: ...here.
12347         * tree-switch-conversion.c: Moved to...
12348         * tree-switch-conversion.cc: ...here.
12349         * tree-tailcall.c: Moved to...
12350         * tree-tailcall.cc: ...here.
12351         * tree-vect-data-refs.c: Moved to...
12352         * tree-vect-data-refs.cc: ...here.
12353         * tree-vect-generic.c: Moved to...
12354         * tree-vect-generic.cc: ...here.
12355         * tree-vect-loop-manip.c: Moved to...
12356         * tree-vect-loop-manip.cc: ...here.
12357         * tree-vect-loop.c: Moved to...
12358         * tree-vect-loop.cc: ...here.
12359         * tree-vect-patterns.c: Moved to...
12360         * tree-vect-patterns.cc: ...here.
12361         * tree-vect-slp-patterns.c: Moved to...
12362         * tree-vect-slp-patterns.cc: ...here.
12363         * tree-vect-slp.c: Moved to...
12364         * tree-vect-slp.cc: ...here.
12365         * tree-vect-stmts.c: Moved to...
12366         * tree-vect-stmts.cc: ...here.
12367         * tree-vector-builder.c: Moved to...
12368         * tree-vector-builder.cc: ...here.
12369         * tree-vectorizer.c: Moved to...
12370         * tree-vectorizer.cc: ...here.
12371         * tree-vrp.c: Moved to...
12372         * tree-vrp.cc: ...here.
12373         * tree.c: Moved to...
12374         * tree.cc: ...here.
12375         * tsan.c: Moved to...
12376         * tsan.cc: ...here.
12377         * typed-splay-tree.c: Moved to...
12378         * typed-splay-tree.cc: ...here.
12379         * ubsan.c: Moved to...
12380         * ubsan.cc: ...here.
12381         * valtrack.c: Moved to...
12382         * valtrack.cc: ...here.
12383         * value-prof.c: Moved to...
12384         * value-prof.cc: ...here.
12385         * var-tracking.c: Moved to...
12386         * var-tracking.cc: ...here.
12387         * varasm.c: Moved to...
12388         * varasm.cc: ...here.
12389         * varpool.c: Moved to...
12390         * varpool.cc: ...here.
12391         * vec-perm-indices.c: Moved to...
12392         * vec-perm-indices.cc: ...here.
12393         * vec.c: Moved to...
12394         * vec.cc: ...here.
12395         * vmsdbgout.c: Moved to...
12396         * vmsdbgout.cc: ...here.
12397         * vr-values.c: Moved to...
12398         * vr-values.cc: ...here.
12399         * vtable-verify.c: Moved to...
12400         * vtable-verify.cc: ...here.
12401         * web.c: Moved to...
12402         * web.cc: ...here.
12403         * xcoffout.c: Moved to...
12404         * xcoffout.cc: ...here.
12406 2022-01-17  qing zhao  <qing.zhao@oracle.com>
12408         * tree-ssa-uninit.c (warn_uninit): Delete the 4th parameter. Handle
12409         .DEFERRED_INIT call with an anonymous SSA_NAME specially.
12410         (check_defs): Handle .DEFERRED_INIT call with an anonymous SSA_NAME
12411         specially.
12412         (warn_uninit_phi_uses): Delete the 4th actual when call warn_uninit.
12413         (warn_uninitialized_vars): Likewise.
12414         (warn_uninitialized_phi): Likewise.
12416 2022-01-17  Jason Merrill  <jason@redhat.com>
12418         * diagnostic.h (struct diagnostic_context): Add includes_seen.
12419         * diagnostic.c (diagnostic_initialize): Initialize it.
12420         (diagnostic_finish): Clean it up.
12421         (includes_seen): New function.
12422         (diagnostic_report_current_module): Use it.
12424 2022-01-17  Richard Biener  <rguenther@suse.de>
12426         PR middle-end/101292
12427         * diagnostic-spec.c (copy_warning): Make sure to not
12428         reference old hashtable content on possible resize.
12429         * warning-control.cc (copy_warning): Likewise.
12431 2022-01-17  Jakub Jelinek  <jakub@redhat.com>
12433         PR target/103973
12434         * tree-cfg.h (cond_only_block_p): Declare.
12435         * tree-ssa-phiopt.c (cond_only_block_p): Move function to ...
12436         * tree-cfg.c (cond_only_block_p): ... here.  No longer static.
12437         * optabs.def (spaceship_optab): New optab.
12438         * internal-fn.def (SPACESHIP): New internal function.
12439         * internal-fn.h (expand_SPACESHIP): Declare.
12440         * internal-fn.c (expand_PHI): Formatting fix.
12441         (expand_SPACESHIP): New function.
12442         * tree-ssa-math-opts.c (optimize_spaceship): New function.
12443         (math_opts_dom_walker::after_dom_children): Use it.
12444         * config/i386/i386.md (spaceship<mode>3): New define_expand.
12445         * config/i386/i386-protos.h (ix86_expand_fp_spaceship): Declare.
12446         * config/i386/i386-expand.c (ix86_expand_fp_spaceship): New function.
12447         * doc/md.texi (spaceship@var{m}3): Document.
12449 2022-01-17  Kewen Lin  <linkw@linux.ibm.com>
12451         * config/rs6000/altivec.md (altivec_vreveti2): Remove.
12452         * config/rs6000/vsx.md (*vsx_extract_si, *vsx_extract_si_<uns>float_df,
12453         *vsx_extract_si_<uns>float_<mode>, *vsx_insert_extract_v4sf_p9): Use
12454         known constant values to simplify code.
12456 2022-01-17  Haochen Gui  <guihaoc@gcc.gnu.org>
12458         PR target/103124
12459         * config/rs6000/vsx.md (split pattern for TI to V1TI move): Defined.
12461 2022-01-16  wwwhhhyyy  <hongyu.wang@intel.com>
12463         * config/i386/i386.h (TARGET_DEST_FALSE_DEP_FOR_GLC): New macro.
12464         * config/i386/sse.md (<avx512>_<complexopname>_<mode><maskc_name><round_name>):
12465         Insert zero-idiom in output template when attr enabled, set new attribute to
12466         true for non-mask/maskz insn.
12467         (avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>):
12468         Likewise.
12469         (avx512dq_mul<mode>3<mask_name>): Likewise.
12470         (<avx2_avx512>_permvar<mode><mask_name>): Likewise.
12471         (avx2_perm<mode>_1<mask_name>): Likewise.
12472         (avx512f_perm<mode>_1<mask_name>): Likewise.
12473         (avx512dq_rangep<mode><mask_name><round_saeonly_name>): Likewise.
12474         (avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>):
12475         Likewise.
12476         (<avx512>_getmant<mode><mask_name><round_saeonly_name>): Likewise.
12477         (avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
12478         Likewise.
12479         * config/i386/subst.md (mask3_dest_false_dep_for_glc_cond): New
12480         subst_attr.
12481         (mask4_dest_false_dep_for_glc_cond): Likewise.
12482         (mask6_dest_false_dep_for_glc_cond): Likewise.
12483         (mask10_dest_false_dep_for_glc_cond): Likewise.
12484         (maskc_dest_false_dep_for_glc_cond): Likewise.
12485         (mask_scalar4_dest_false_dep_for_glc_cond): Likewise.
12486         (mask_scalarc_dest_false_dep_for_glc_cond): Likewise.
12487         * config/i386/x86-tune.def (X86_TUNE_DEST_FALSE_DEP_FOR_GLC): New
12488         DEF_TUNE enabled for m_SAPPHIRERAPIDS and m_ALDERLAKE
12490 2022-01-15  Martin Sebor  <msebor@redhat.com>
12492         PR c/63272
12493         * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
12494         -Wdangling-pointer.
12495         * doc/invoke.texi (-Wdangling-pointer): Document new option.
12496         * gimple-ssa-warn-access.cc (pass_waccess::clone): Set new member.
12497         (pass_waccess::check_pointer_uses): New function.
12498         (pass_waccess::gimple_call_return_arg): New function.
12499         (pass_waccess::gimple_call_return_arg_ref): New function.
12500         (pass_waccess::check_call_dangling): New function.
12501         (pass_waccess::check_dangling_uses): New function overloads.
12502         (pass_waccess::check_dangling_stores): New function.
12503         (pass_waccess::check_dangling_stores): New function.
12504         (pass_waccess::m_clobbers): New data member.
12505         (pass_waccess::m_func): New data member.
12506         (pass_waccess::m_run_number): New data member.
12507         (pass_waccess::m_check_dangling_p): New data member.
12508         (pass_waccess::check_alloca): Check m_early_checks_p.
12509         (pass_waccess::check_alloc_size_call): Same.
12510         (pass_waccess::check_strcat): Same.
12511         (pass_waccess::check_strncat): Same.
12512         (pass_waccess::check_stxcpy): Same.
12513         (pass_waccess::check_stxncpy): Same.
12514         (pass_waccess::check_strncmp): Same.
12515         (pass_waccess::check_memop_access): Same.
12516         (pass_waccess::check_read_access): Same.
12517         (pass_waccess::check_builtin): Call check_pointer_uses.
12518         (pass_waccess::warn_invalid_pointer): Add arguments.
12519         (is_auto_decl): New function.
12520         (pass_waccess::check_stmt): New function.
12521         (pass_waccess::check_block): Call check_stmt.
12522         (pass_waccess::execute): Call check_dangling_uses,
12523         check_dangling_stores.  Empty m_clobbers.
12524         * passes.def (pass_warn_access): Invoke pass two more times.
12526 2022-01-15  Martin Sebor  <msebor@redhat.com>
12528         PR tree-optimization/80532
12529         * common.opt (-Wuse-after-free): New options.
12530         * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
12531         OPT_Wreturn_local_addr and OPT_Wuse_after_free_.
12532         * diagnostic-spec.h (NW_DANGLING): New enumerator.
12533         * doc/invoke.texi (-Wuse-after-free): Document new option.
12534         * gimple-ssa-warn-access.cc (pass_waccess::check_call): Rename...
12535         (pass_waccess::check_call_access): ...to this.
12536         (pass_waccess::check): Rename...
12537         (pass_waccess::check_block): ...to this.
12538         (pass_waccess::check_pointer_uses): New function.
12539         (pass_waccess::gimple_call_return_arg): New function.
12540         (pass_waccess::warn_invalid_pointer): New function.
12541         (pass_waccess::check_builtin): Handle free and realloc.
12542         (gimple_use_after_inval_p): New function.
12543         (get_realloc_lhs): New function.
12544         (maybe_warn_mismatched_realloc): New function.
12545         (pointers_related_p): New function.
12546         (pass_waccess::check_call): Call check_pointer_uses.
12547         (pass_waccess::execute): Compute and free dominance info.
12549 2022-01-15  Uroš Bizjak  <ubizjak@gmail.com>
12551         * config/i386/i386-expand.c (ix86_expand_sse_movcc): Use
12552         expand_simple_unop and expand_simple_binop instead of manually
12553         constructing NOT, AND and IOR RTXes.  Use vector_all_ones_operand
12554         consistently.  Eliminate common subexpressions and simplify code.
12555         * config/i386/sse.md (<any_logic:code><MODEF:mode>3): New expander.
12556         (<any_logic:code><MODEF:mode>3): Make public.
12558 2022-01-14  Eric Botcazou  <ebotcazou@adacore.com>
12560         * ipa-param-manipulation.c (ipa_dump_adjusted_parameters): Dump
12561         reverse flag as "reverse" for the sake of consistency.
12562         * ipa-sra.c: Fix copyright year.
12563         (ipa_sra_function_summaries::duplicate): Copy the reverse flag.
12564         (dump_isra_access): Tweak dump line.
12565         (isra_write_node_summary): Write the reverse flag.
12566         (isra_read_node_info): Read it.
12567         (pull_accesses_from_callee): Test its consistency and copy it.
12569 2022-01-14  Richard Sandiford  <richard.sandiford@arm.com>
12571         PR middle-end/104026
12572         * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize
12573         partial_load_store_bias.
12575 2022-01-14  Martin Sebor  <msebor@redhat.com>
12577         PR middle-end/101475
12578         * pointer-query.cc (handle_component_ref): Use the size of
12579         the enclosing object if it's smaller than the member.
12581 2022-01-14  Martin Liska  <mliska@suse.cz>
12583         * configure: Regenerate.
12585 2022-01-14  Uroš Bizjak  <ubizjak@gmail.com>
12587         * config/i386/i386.md (*add<mode>_1_slp"):
12588         Mark alternative 1 output operand earlyclobbered.
12589         (*sub<mode>_1_slp): Ditto.
12590         (*and<mode>_1_slp): Ditto.
12591         (*<code><mode>_1_slp): Ditto.
12592         (*neg<mode>_1_slp): Ditto.
12593         (*one_cmpl<mode>_1_slp): Ditto.
12594         (*ashl<mode>3_1_slp): Ditto.
12595         (*<insn><mode>3_1_slp): Ditto.
12596         (*<insn><mode>3_1_slp): Ditto.
12598 2022-01-14  Kewen Lin  <linkw@linux.ibm.com>
12600         PR tree-optimization/104015
12601         * tree-vect-loop.c (vect_analyze_loop): Check
12602         param_vect_partial_vector_usage for supports_partial_vectors.
12604 2022-01-14  Jakub Jelinek  <jakub@redhat.com>
12606         PR c++/89074
12607         * fold-const.c (address_compare): Punt on comparison of address of
12608         one object with address of end of another object if
12609         folding_initializer.
12611 2022-01-14  Jakub Jelinek  <jakub@redhat.com>
12613         PR target/98737
12614         * tree-ssa-forwprop.c (simplify_builtin_call): Canonicalize
12615         __atomic_fetch_op (p, x, y) op x into __atomic_op_fetch (p, x, y)
12616         and __atomic_op_fetch (p, x, y) iop x into
12617         __atomic_fetch_op (p, x, y).
12619 2022-01-14  Claudiu Zissulescu  <claziss@synopsys.com>
12621         * config/arc/arc.h (DWARF_FRAME_REGNUM): Update definition.
12622         (DWARF_FRAME_RETURN_COLUMN): Use RETURN_ADDR_REGNUM macro.
12623         (INCOMING_RETURN_ADDR_RTX): Likewise.
12624         (DWARF_ALT_FRAME_RETURN_COLUMN): Define.
12626 2022-01-14  Claudiu Zissulescu  <claziss@synopsys.com>
12628         * config/arc/arc.c (arc_compute_frame_size): Remove condition when
12629         computin checking accumulator regs.
12630         (arc_expand_prologue): Update comments.
12631         (arc_expand_epilogue): Likewise.
12633 2022-01-14  Roger Sayle  <roger@nextmovesoftware.com>
12634             Uroš Bizjak  <ubizjak@gmail.com>
12636         * config/i386/i386-expand.c (ix86_expand_v1ti_to_ti): Use force_reg.
12637         (ix86_expand_ti_to_v1ti): Use force_reg.
12638         (ix86_expand_v1ti_shift): Use force_reg.
12639         (ix86_expand_v1ti_rotate): Use force_reg.
12640         (ix86_expand_v1ti_ashiftrt): Provide new three operation
12641         implementations for shifts by 111..126 bits.  Use force_reg.
12643 2022-01-14  Martin Liska  <mliska@suse.cz>
12645         * common/config/arm/arm-common.c (arm_target_mode): Fix
12646         warning: unterminated quoting directive [-Wformat=].
12648 2022-01-14  Siddhesh Poyarekar  <siddhesh@gotplt.org>
12650         PR tree-optimization/104009
12651         * tree-object-size.c (compute_builtin_object_size): Bail out on
12652         negative offset.
12653         (plus_stmt_object_size): Return maximum of wholesize and minimum
12654         of 0 for negative offset.
12656 2022-01-14  liuhongt  <hongtao.liu@intel.com>
12658         PR target/104001
12659         PR target/94790
12660         PR target/104014
12661         * config/i386/i386.md (*xor2andn): Refine predicate of
12662         operands[0] from nonimmediate_operand to
12663         register_operand, remove TARGET_AVX512BW from condition.
12665 2022-01-14  David Malcolm  <dmalcolm@redhat.com>
12667         * doc/extend.texi (Function Attributes): Note that "tainted_args" can
12668         be used on field decls.
12669         (Common Function Attributes): Add entry on "tainted_args" attribute.
12671 2022-01-13  Anthony Sharp  <anthonysharp15@gmail.com>
12672             Jason Merrill  <jason@redhat.com>
12674         PR c++/70417
12675         * doc/invoke.texi: Documentation for Wmissing-template-keyword.
12677 2022-01-13  Uroš Bizjak  <ubizjak@gmail.com>
12679         PR target/103861
12680         * config/i386/i386.md (*ashlqi_ext<mode>_2): New insn pattern.
12681         (*<any_shiftrt:insn>qi_ext<mode>_2): Ditto.
12682         * config/i386/mmx.md (<any_shift:insn>v2qi):
12683         New insn_and_split pattern.
12685 2022-01-13  Robin Dapp  <rdapp@linux.ibm.com>
12687         * internal-fn.c (expand_partial_load_optab_fn): Add bias.
12688         (expand_partial_store_optab_fn): Likewise.
12689         (internal_len_load_store_bias): New function.
12690         * internal-fn.h (VECT_PARTIAL_BIAS_UNSUPPORTED): New define.
12691         (internal_len_load_store_bias): New function.
12692         * tree-vect-loop-manip.c (vect_set_loop_controls_directly): Set bias.
12693         (vect_set_loop_condition_partial_vectors): Add header_seq parameter.
12694         * tree-vect-loop.c (vect_verify_loop_lens): Verify bias.
12695         (vect_estimate_min_profitable_iters): Account for bias.
12696         (vect_get_loop_len): Add bias-adjusted length.
12697         * tree-vect-stmts.c (vectorizable_store): Use.
12698         (vectorizable_load): Use.
12699         * tree-vectorizer.h (struct rgroup_controls): Add bias-adjusted length.
12700         (LOOP_VINFO_PARTIAL_LOAD_STORE_BIAS): New macro.
12701         * config/rs6000/vsx.md: Use const0 bias predicate.
12702         * doc/md.texi: Document bias value.
12704 2022-01-13  Andrew MacLeod  <amacleod@redhat.com>
12706         PR tree-optimization/83072
12707         PR tree-optimization/83073
12708         PR tree-optimization/97909
12709         * fold-const.c (expr_not_equal_to): Use a multi-range class.
12711 2022-01-13  Andrew MacLeod  <amacleod@redhat.com>
12713         PR tree-optimization/96707
12714         * range-op.cc (operator_rshift::lhs_op1_relation): New.
12716 2022-01-13  Uroš Bizjak  <ubizjak@gmail.com>
12718         * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
12719         Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
12720         (negv2qi splitters): Use lowpart_subreg instead of
12721         gen_lowpart to create subreg.
12722         (<plusminus:insn>v2qi3): Disparage GPR alternative a bit.
12723         Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
12724         (<plusminus:insn>v2qi3 splitters): Use lowpart_subreg instead of
12725         gen_lowpart to create subreg.
12726         * config/i386/i386.md (*subqi_ext<mode>_2): Move.
12728 2022-01-13  Uroš Bizjak  <ubizjak@gmail.com>
12730         PR target/104003
12731         * config/i386/mmx.md (*xop_pcmov_<mode>): Use VI_16_32 mode iterator.
12733 2022-01-13  Martin Liska  <mliska@suse.cz>
12735         * common/config/arm/arm-common.c (arm_target_mode): Wrap
12736         keywords with %<, %> and remove trailing punctuation char.
12737         (arm_canon_arch_option_1): Likewise.
12738         (arm_asm_auto_mfpu): Likewise.
12739         * config/arm/arm-builtins.c (arm_expand_builtin): Likewise.
12740         * config/arm/arm.c (arm_options_perform_arch_sanity_checks): Likewise.
12741         (use_vfp_abi): Likewise.
12742         (aapcs_vfp_is_call_or_return_candidate): Likewise.
12743         (arm_handle_cmse_nonsecure_entry): Likewise.
12744         (arm_handle_cmse_nonsecure_call): Likewise.
12745         (thumb1_md_asm_adjust): Likewise.
12747 2022-01-13  Paul A. Clarke  <pc@us.ibm.com>
12749         * config/rs6000/smmintrin.h (_mm_round_pd, _mm_round_ps,
12750         _mm_round_sd, _mm_round_ss, _MM_FROUND_TO_NEAREST_INT,
12751         _MM_FROUND_TO_ZERO, _MM_FROUND_TO_POS_INF, _MM_FROUND_TO_NEG_INF,
12752         _MM_FROUND_CUR_DIRECTION, _MM_FROUND_RAISE_EXC, _MM_FROUND_NO_EXC,
12753         _MM_FROUND_NINT, _MM_FROUND_FLOOR, _MM_FROUND_CEIL, _MM_FROUND_TRUNC,
12754         _MM_FROUND_RINT, _MM_FROUND_NEARBYINT): New.
12755         (_mm_ceil_pd, _mm_ceil_ps, _mm_ceil_sd, _mm_ceil_ss, _mm_floor_pd,
12756         _mm_floor_ps, _mm_floor_sd, _mm_floor_ss): Convert from function to
12757         macro.
12759 2022-01-13  Jakub Jelinek  <jakub@redhat.com>
12761         PR tree-optimization/103989
12762         * tree-inline.c (setup_one_parameter): Don't copy parms with
12763         empty type.
12765 2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
12767         * tree-streamer-out.c (pack_ts_base_value_fields): Don't pack
12768         'TYPE_ADDR_SPACE' for offloading.
12769         * tree-streamer-in.c (unpack_ts_base_value_fields): Don't unpack
12770         'TYPE_ADDR_SPACE' for offloading.
12772 2022-01-13  Julian Brown  <julian@codesourcery.com>
12773             Thomas Schwinge  <thomas@codesourcery.com>
12775         * omp-oacc-kernels-decompose.cc (add_wait): New function, split out
12776         of...
12777         (add_async_clauses_and_wait): ...here. Call new outlined function.
12778         (decompose_kernels_region_body): Add wait at the end of
12779         explicitly-asynchronous kernels regions.
12781 2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
12783         PR middle-end/100280
12784         * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
12785         Mark variables used in synthesized data clauses as addressable.
12787 2022-01-13  Martin Liska  <mliska@suse.cz>
12789         * config/epiphany/epiphany.c (epiphany_mode_priority):
12790         Use gcc_unreachable for not handled cases.
12792 2022-01-13  Martin Liska  <mliska@suse.cz>
12794         * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
12795         Use %qs format specifier.
12796         (epiphany_override_options): Wrap keyword in %<, %>.
12798 2022-01-13  Haochen Jiang  <haochen.jiang@intel.com>
12800         PR target/94790
12801         * config/i386/i386.md (*xor2andn): New define_insn_and_split.
12803 2022-01-13  Xionghu Luo  <luoxhu@linux.ibm.com>
12805         * config/rs6000/altivec.md (sldoi_to_mov<mode>): New.
12807 2022-01-12  Uroš Bizjak  <ubizjak@gmail.com>
12809         PR target/100637
12810         PR target/103861
12811         * config/i386/i386-expand.c (ix86_emit_vec_binop): New static function.
12812         (ix86_expand_sse_movcc): Use ix86_emit_vec_binop instead of gen_rtx_X
12813         when constructing vector logic RTXes.
12814         (expand_vec_perm_pshufb2): Ditto.
12815         * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
12816         (<plusminus:insn>v2qi3): Ditto.
12817         (vcond<mode><mode>): Re-enable for TARGET_SSE2.
12818         (vcondu<mode><mode>): Ditto.
12819         (vcond_mask_<mode><mode>): Ditto.
12820         (one_cmpl<VI_32:mode>2): Remove expander.
12821         (one_cmpl<VI_16_32:mode>2): Rename from one_cmplv2qi.
12822         Use VI_16_32 mode iterator.
12823         (one_cmpl<VI_16_32:mode>2 splitters): Use VI_16_32 mode iterator.
12824         Use lowpart_subreg instead of gen_lowpart to create subreg.
12825         (*andnot<VI_16_32:mode>3): Merge from "*andnot<VI_32:mode>" and
12826         "*andnotv2qi3" insn patterns using VI_16_32 mode iterator.
12827         Disparage GPR alternative a bit.  Add CC clobber.
12828         (*andnot<VI_16_32:mode>3 splitters): Use VI_16_32 mode iterator.
12829         Use lowpart_subreg instead of gen_lowpart to create subreg.
12830         (*<any_logic:code><VI_16_32:mode>3): Merge from
12831         "*<any_logic:code><VI_32:mode>" and "*<any_logic:code>v2qi3" insn patterns
12832         using VI_16_32 mode iterator.  Disparage GPR alternative a bit.
12833         Add CC clobber.
12834         (*<any_logic:code><VI_16_32:mode>3 splitters):Use VI_16_32 mode
12835         iterator.  Use lowpart_subreg instead of gen_lowpart to create subreg.
12837 2022-01-12  Clément Chigot  <clement.chigot@atos.net>
12839         * configure.ac: Check sizeof ino_t and dev_t.
12840         (HOST_STAT_FOR_64BIT_INODES): New AC_DEFINE to provide stat
12841         syscall being able to handle 64bit inodes.
12842         * config.in: Regenerate.
12843         * configure: Regenerate.
12844         * incpath.c (HOST_STAT_FOR_64BIT_INODES): New define.
12845         (remove_duplicates): Use it.
12847 2022-01-12  Andrew MacLeod  <amacleod@redhat.com>
12849         PR tree-optimization/103551
12850         * tree-vrp.c (execute_ranger_vrp): Always set EDGE_EXECUTABLE.
12852 2022-01-12  Richard Biener  <rguenther@suse.de>
12854         PR tree-optimization/103990
12855         * tree-pass.h (tail_merge_optimize): Drop unused argument.
12856         * tree-ssa-tail-merge.c (tail_merge_optimize): Likewise.
12857         * tree-ssa-pre.c (pass_pre::execute): Retain TODO_cleanup_cfg
12858         and adjust call to tail_merge_optimize.
12860 2022-01-12  Andre Vieira  <andre.simoesdiasvieira@arm.com>
12862         * tree-vect-loop.c (vect-analyze-loop): Handle scenario where target
12863         does not add autovectorize_vector_modes.
12865 2022-01-12  Martin Liska  <mliska@suse.cz>
12867         * config/aarch64/aarch64.c (aarch64_parse_boolean_options): Use
12868         %qs where possible.
12869         (aarch64_parse_sve_width_string): Likewise.
12870         (aarch64_override_options_internal): Likewise.
12871         (aarch64_print_hint_for_extensions): Likewise.
12872         (aarch64_validate_sls_mitigation): Likewise.
12873         (aarch64_handle_attr_arch): Likewise.
12874         (aarch64_handle_attr_cpu): Likewise.
12875         (aarch64_handle_attr_tune): Likewise.
12876         (aarch64_handle_attr_isa_flags): Likewise.
12878 2022-01-12  Martin Liska  <mliska@suse.cz>
12880         * config.gcc: Include elfos.h before ${tm_file}.
12882 2022-01-12  Hans-Peter Nilsson  <hp@axis.com>
12884         * config/cris/cris.c: Quote identifiers in parameters to error
12885         and internal_error, and remove extraneous spaces with punctuation.
12886         * config/cris/cris.h (CRIS_ASSERT): When passing on stringified
12887         expression to internal_error, pass it as a parameter instead of
12888         appending it to the format part.
12890 2022-01-12  Hans-Peter Nilsson  <hp@axis.com>
12892         * config/cris/cris.c (cris_postdbr_cmpelim): Parenthesize
12893         parameter to as_a.
12895 2022-01-11  qing zhao  <qing.zhao@oracle.com>
12897         * gimplify.c (gimple_add_init_for_auto_var): Delete the 3rd argument.
12898         Change the 3rd argument of function .DEFERRED_INIT to the name of the
12899         decl.
12900         (gimplify_decl_expr): Delete the 3rd argument when call
12901         gimple_add_init_for_auto_var.
12902         * internal-fn.c (expand_DEFERRED_INIT): Update comments to reflect
12903         the 3rd argument change of function .DEFERRED_INIT.
12904         * tree-cfg.c (verify_gimple_call): Update comments and verification
12905         to reflect the 3rd argument change of function .DEFERRED_INIT.
12906         * tree-sra.c (generate_subtree_deferred_init): Delete the 3rd argument.
12907         (sra_modify_deferred_init): Change the 3rd argument of function
12908         .DEFERRED_INIT to the name of the decl.
12910 2022-01-11  Thomas Koenig  <tkoenig@gcc.gnu.org>
12912         * flag-types.h (enum gfc_convert): Add flags for
12913         conversion.
12915 2022-01-11  Michael Meissner  <meissner@the-meissners.org>
12917         * config/rs6000/rs6000.c (rs6000_option_override_internal): Remove
12918         checks for only C/C++ front ends before allowing the long double
12919         format to change without a warning.
12921 2022-01-11  Richard Sandiford  <richard.sandiford@arm.com>
12923         PR rtl-optimization/103974
12924         * ira-int.h (ira_subloop_allocnos_can_differ_p): Take an
12925         extra argument, default true, that says whether old-reload
12926         targets should be excluded.
12927         * ira-color.c (color_pass): Pass false.
12929 2022-01-11  Uroš Bizjak  <ubizjak@gmail.com>
12931         PR target/103861
12932         * config/i386/mmx.md (vcond<mode><mode>):
12933         Use VI_16_32 mode iterator.  Enable for TARGET_SSE4_1.
12934         (vcondu<mode><mode>): Ditto.
12935         (vcond_mask_<mode><mode>): Ditto.
12936         (mmx_pblendvb_v8qi): Rename from mmx_pblendvb64.
12937         (mmx_pblendvb_<mode>): Rename from mmx_pblendvb32.
12938         Use VI_16_32 mode iterator.
12939         * config/i386/i386-expand.c (ix86_expand_sse_movcc):
12940         Update for rename.  Handle V2QImode.
12941         (expand_vec_perm_blend): Update for rename.
12943 2022-01-11  Jakub Jelinek  <jakub@redhat.com>
12945         PR c++/101597
12946         * tree.def (OBJ_TYPE_REF): Document type of OBJ_TYPE_REF_TOKEN.
12948 2022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
12950         PR middle-end/70090
12951         * tree-object-size.c (size_valid_p): New function.
12952         (size_for_offset): Remove OFFSET constness assertion.
12953         (addr_object_size): Build dynamic expressions for object
12954         sizes and use size_valid_p to decide if it is valid for the
12955         given OBJECT_SIZE_TYPE.
12956         (compute_builtin_object_size): Allow dynamic offsets when
12957         computing size at O0.
12958         (call_object_size): Call size_valid_p.
12959         (plus_stmt_object_size): Allow non-constant offset and use
12960         size_valid_p to decide if it is valid for the given
12961         OBJECT_SIZE_TYPE.
12963 2022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
12965         PR middle-end/70090
12966         * tree-object-size.c (alloc_object_size): Make and return
12967         non-constant size expression.
12968         (call_object_size): Return expression or unknown based on
12969         whether dynamic object size is requested.
12971 2022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
12973         PR middle-end/70090
12974         * tree-object-size.c: Include tree-dfa.h.
12975         (parm_object_size): New function.
12976         (collect_object_sizes_for): Call it.
12978 2022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
12980         PR middle-end/70090
12981         * builtins.c (fold_builtin_object_size): Adjust for dynamic size
12982         expressions.
12983         * tree-object-size.c: Include gimplify-me.h.
12984         (struct object_size_info): New member UNKNOWNS.
12985         (size_initval_p, size_usable_p, object_sizes_get_raw): New
12986         functions.
12987         (object_sizes_get): Return suitable gimple variable for
12988         object size.
12989         (bundle_sizes): New function.
12990         (object_sizes_set): Use it and handle dynamic object size
12991         expressions.
12992         (object_sizes_set_temp): New function.
12993         (size_for_offset): Adjust for dynamic size expressions.
12994         (emit_phi_nodes, propagate_unknowns, gimplify_size_expressions):
12995         New functions.
12996         (compute_builtin_object_size): Call gimplify_size_expressions
12997         for OST_DYNAMIC.
12998         (dynamic_object_size): New function.
12999         (cond_expr_object_size): Use it.
13000         (phi_dynamic_object_size): New function.
13001         (collect_object_sizes_for): Call it for OST_DYNAMIC.  Adjust to
13002         accommodate dynamic object sizes.
13004 2022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
13005             Jakub Jelinek  <jakub@redhat.com>
13007         PR tree-optimization/103961
13008         * tree-object-size.c (plus_stmt_object_size): Always avoid
13009         computing offset for -1 size.
13011 2022-01-11  Andrew MacLeod  <amacleod@redhat.com>
13013         PR tree-optimization/103821
13014         * range-op.cc (range_operator::fold_range): Only do precise ranges
13015         when there are not too many subranges.
13017 2022-01-11  Richard Sandiford  <richard.sandiford@arm.com>
13019         * ira-costs.c (ira_tune_allocno_costs): Fix missing rclass
13020         definition in IRA_HARD_REGNO_ADD_COST_MULTIPLIER code.
13022 2022-01-11  Roger Sayle  <roger@nextmovesoftware.com>
13023             Richard Biener  <rguenther@suse.de>
13025         * tree-ssa-math-opts.c (struct widen_mul_stats): Add a
13026         highpart_mults_inserted field.
13027         (convert_mult_to_highpart): New function to convert right shift
13028         of a widening multiply into a MULT_HIGHPART_EXPR.
13029         (math_opts_dom_walker::after_dom_children) [RSHIFT_EXPR]:
13030         Call new convert_mult_to_highpart function.
13031         (pass_optimize_widening_mul::execute): Add a statistics counter
13032         for tracking "highpart multiplications inserted" events.
13034 2022-01-11  Xionghu Luo  <luoxhu@linux.ibm.com>
13036         PR target/102239
13037         * config/rs6000/rs6000-protos.h (rs6000_is_valid_rotate_dot_mask): New
13038         declare.
13039         * config/rs6000/rs6000.c (rs6000_is_valid_rotate_dot_mask): New
13040         function.
13041         * config/rs6000/rs6000.md (*branch_anddi3_dot): New.
13043 2022-01-11  Olivier Hainque  <hainque@adacore.com>
13045         * gcc.c (driver_handle_option): State --sysroot as
13046         validated.
13048 2022-01-11  Kewen Lin  <linkw@linux.ibm.com>
13050         * config/rs6000/rs6000.c (rs6000_disable_incompatible_switches): Remove
13051         useless related to option -mno-power10.
13053 2022-01-11  Haochen Jiang  <haochen.jiang@intel.com>
13055         PR target/53652
13056         * config/i386/sse.md (*andnot<mode>3): Extend predicate of
13057         operands[1] from register_operand to vector_operand.
13059 2022-01-10  Uroš Bizjak  <ubizjak@gmail.com>
13061         PR target/103861
13062         * config/i386/i386-expand.c (ix86_expand_int_sse_cmp):
13063         Handle V2QImode.
13064         * config/i386/mmx.md (<sat_plusminus:insn><mode>3):
13065         Use VI1_16_32 mode iterator.
13066         (*eq<mode>3): Ditto.
13067         (*gt<mode>3): Ditto.
13068         (*xop_maskcmp<mode>3): Ditto.
13069         (*xop_maskcmp_uns<mode>3): Ditto.
13070         (vec_cmp<mode><mode>): Ditto.
13071         (vec_cmpu<mode><mode>): Ditto.
13073 2022-01-10  Richard Biener  <rguenther@suse.de>
13075         PR tree-optimization/103948
13076         * tree-vect-generic.c (expand_vector_condition): Return true if
13077         all ones vector is returned for true, all zeros vector for false
13078         and the target defines corresponding vec_cmp{,u}MN named RTX pattern.
13080 2022-01-10  Paul A. Clarke  <pc@us.ibm.com>
13082         * config/rs6000/smmintrin.h (_mm_blendv_epi8): Use vec_blendv
13083         when _ARCH_PWR10. Use signed types.
13084         (_mm_blendv_ps): Use vec_blendv when _ARCH_PWR10.
13085         (_mm_blendv_pd): Likewise.
13087 2022-01-10  Andre Vieira  <andre.simoesdiasvieira@arm.com>
13089         * tree-vectorizer.c (better_epilogue_loop_than_p): Round factors up for
13090         epilogue costing.
13091         * tree-vect-loop.c (vect_analyze_loop): Re-analyze all modes for
13092         epilogues, unless we are guaranteed that we can't have partial vectors.
13093         * genopinit.c: (partial_vectors_supported): Generate new function.
13095 2022-01-10  Jakub Jelinek  <jakub@redhat.com>
13097         PR target/102024
13098         * config/i386/i386.c (classify_argument): Add zero_width_bitfields
13099         argument, when seeing DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD bitfields,
13100         always ignore them, when seeing other zero sized bitfields, either
13101         set zero_width_bitfields to 1 and ignore it or if equal to 2 process
13102         it.  Pass it to recursive calls.  Add wrapper
13103         with old arguments and diagnose ABI differences for C structures
13104         with zero width bitfields.  Formatting fixes.
13106 2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
13108         PR rtl-optimization/98782
13109         * ira-int.h (ira_soft_conflict): Declare.
13110         * ira-color.c (max_soft_conflict_loop_depth): New constant.
13111         (ira_soft_conflict): New function.
13112         (spill_soft_conflicts): Likewise.
13113         (assign_hard_reg): Use them to handle the case described by
13114         the comment above ira_soft_conflict.
13115         (improve_allocation): Likewise.
13116         * ira.c (check_allocation): Allow allocnos with "soft" conflicts
13117         to share the same register.
13119 2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
13121         PR rtl-optimization/98782
13122         * ira-int.h (ira_caller_save_cost): New function.
13123         (ira_caller_save_loop_spill_p): Likewise.
13124         * ira-build.c (ira_propagate_hard_reg_costs): Test whether it is
13125         cheaper to spill a call-clobbered register throughout a loop rather
13126         than spill it around each individual call.  If so, treat all
13127         call-clobbered registers as conflicts and...
13128         (propagate_allocno_info): ...do not propagate call information
13129         from the child to the parent.
13130         * ira-color.c (move_spill_restore): Update accordingly.
13131         * ira-costs.c (ira_tune_allocno_costs): Use ira_caller_save_cost.
13133 2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
13135         PR rtl-optimization/98782
13136         * ira-int.h (ira_allocno::might_conflict_with_parent_p): New field.
13137         (ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P): New macro.
13138         (ira_single_region_allocno_p): New function.
13139         (ira_total_conflict_hard_regs): Likewise.
13140         * ira-build.c (ira_create_allocno): Initialize
13141         ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P.
13142         (ira_propagate_hard_reg_costs): New function.
13143         (propagate_allocno_info): Use it.  Try to avoid propagating
13144         hard register conflicts to parent allocnos if we can handle
13145         the conflicts by spilling instead.  Limit the propagated
13146         register costs to the cost of spilling throughout the child loop.
13147         * ira-color.c (color_pass): Use ira_single_region_allocno_p to
13148         test whether a child and parent allocno can share the same
13149         register.
13150         (move_spill_restore): Adjust for the new behavior of
13151         propagate_allocno_info.
13153 2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
13155         PR rtl-optimization/98782
13156         * ira-int.h (ira_subloop_allocnos_can_differ_p): New function,
13157         extracted from...
13158         * ira-color.c (color_pass): ...here.
13160 2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
13162         PR rtl-optimization/98782
13163         * ira-color.c (color_pass): Add comments to describe the spill costs.
13164         (move_spill_restore): Likewise.  Fix reversed calculation.
13166 2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
13168         PR rtl-optimization/98782
13169         * ira-int.h (ira_loop_border_costs): New class.
13170         * ira-color.c (ira_loop_border_costs::ira_loop_border_costs):
13171         New constructor.
13172         (calculate_allocno_spill_cost): Use ira_loop_border_costs.
13173         (color_pass): Likewise.
13174         (move_spill_restore): Likewise.
13176 2022-01-10  Eric Botcazou  <ebotcazou@adacore.com>
13178         PR target/103465
13179         * coretypes.h (unwind_info_type): Swap UI_SEH and UI_TARGET.
13181 2022-01-10  Richard Biener  <rguenther@suse.de>
13183         PR tree-optimization/100359
13184         * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
13185         Allow non-growing peeling with !allow_peel and UL_ALL.
13187 2022-01-08  Roger Sayle  <roger@nextmovesoftware.com>
13189         * config/i386/i386-expand.c (ix86_expand_vector_move): Add
13190         special case for TImode to V1TImode moves, going via V2DImode.
13192 2022-01-08  Jakub Jelinek  <jakub@redhat.com>
13194         PR c++/89074
13195         * match.pd ((ptr) (x p+ y) p+ z -> (ptr) (x p+ (y + z))): New GENERIC
13196         simplification.
13198 2022-01-08  David Malcolm  <dmalcolm@redhat.com>
13200         * doc/analyzer.texi
13201         (Special Functions for Debugging the Analyzer): Document
13202         __analyzer_dump_escaped.
13204 2022-01-08  David Malcolm  <dmalcolm@redhat.com>
13206         * doc/analyzer.texi (Other Debugging Techniques): Document
13207         region::is_named_decl_p.
13209 2022-01-07  Andrew Pinski  <apinski@marvell.com>
13211         PR target/102941
13212         * config/arm/aarch-common.c (arm_md_asm_adjust):
13213         Use a temp if !REG_P.
13215 2022-01-07  Uroš Bizjak  <ubizjak@gmail.com>
13217         * config/i386/mmx.md (*move<V_32:mode>_internal): Add isa attribute.
13218         (*movv2qi_internal): Remve sse2 requirement for alternatives 4,5.
13220 2022-01-07  liuhongt  <hongtao.liu@intel.com>
13222         PR rtl-optimization/103750
13223         * fwprop.c (forward_propagate_into): Allow propagations from
13224         inner loop to outer loop.
13226 2022-01-07  Roger Sayle  <roger@nextmovesoftware.com>
13228         * config/nvptx/nvptx.md (*cnot<mode>2): New define_insn.
13230 2022-01-07  Haochen Gui  <guihaoc@gcc.gnu.org>
13232         * config/rs6000/rs6000.md (rs6000_mffscrni): Define.
13233         (rs6000_set_fpscr_rn): Change the type of operand[0] from DI to SI.
13234         Call gen_rs6000_mffscrni when operand[0] is a const_0_to_3_operand.
13236 2022-01-07  liuhongt  <hongtao.liu@intel.com>
13238         * config/i386/sse.md
13239         (*<avx512>_eq<mode>3<mask_scalar_merge_name>_1): Extend to
13240         UNSPEC_PCMP_UNSIGNED.
13242 2022-01-07  liuhongt  <hongtao.liu@intel.com>
13244         PR target/103753
13245         * config/i386/i386-expand.c (ix86_expand_vector_set): Not use
13246         gen_avx2_pblendph_1 when elt == 0.
13247         * config/i386/sse.md (avx2_pblendph): Rename to ..
13248         (avx2_pblend<ssemodesuffix>_1).. this, and extend to V16HI.
13249         (*avx2_pblendw): Rename to ..
13250         (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
13251         (avx2_pblendw): Rename to ..
13252         (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
13253         (blendsuf): Removed.
13254         (sse4_1_pblend<blendsuf>): Renamed to ..
13255         (sse4_1_pblend<ssemodesuffix>): .. this.
13257 2022-01-06  H.J. Lu  <hjl.tools@gmail.com>
13259         PR target/103925
13260         * config/i386/i386.c (ix86_output_indirect_function_return):
13261         Generate INT3 after indirect jmp for -mharden-sls=indirect-jmp.
13263 2022-01-06  H.J. Lu  <hjl.tools@gmail.com>
13265         PR target/102952
13266         * config/i386/i386-opts.h (harden_sls): Replace
13267         harden_sls_indirect_branch with harden_sls_indirect_jmp.
13268         * config/i386/i386.c (ix86_output_jmp_thunk_or_indirect):
13269         Likewise.
13270         (ix86_output_indirect_jmp): Likewise.
13271         (ix86_output_call_insn): Likewise.
13272         * config/i386/i386.opt: Replace indirect-branch with
13273         indirect-jmp.  Replace harden_sls_indirect_branch with
13274         harden_sls_indirect_jmp.
13275         * doc/invoke.texi (-harden-sls=): Replace indirect-branch with
13276         indirect-jmp.
13278 2022-01-06  Uroš Bizjak  <ubizjak@gmail.com>
13280         * config/i386/i386.c (ix86_output_ssemov) <MODE_DI>:
13281         Add %q modifier for operands in general registers.
13282         <MODE_SI>: Add %q modifier for operands in general registers.
13283         * config/i386/i386.md (*movhi_internal): Change type attribute of
13284         xmm-gpr interunit alternatives 9,10 to ssemov and mode attribute
13285         to SImode for non-avx512fp16 targets.
13286         (*movhf_internal): Ditto for xmm-gpr interunit alternatives 6,8.
13287         * config/i386/mmx.md (*movv2qi_internal):
13288         Ditto for xmm-gpr interunit alternatives 8,9.
13290 2022-01-06  Kito Cheng  <kito.cheng@sifive.com>
13292         * common/config/riscv/riscv-common.c (riscv_implied_info): Add
13293         vector extensions.
13294         (riscv_ext_version_table): Add version info for vector extensions.
13295         (riscv_ext_flag_table): Add option mask for vector extensions.
13296         * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): New.
13297         (MASK_VECTOR_EEW_64): New.
13298         (MASK_VECTOR_EEW_FP_32): New.
13299         (MASK_VECTOR_EEW_FP_64): New.
13300         (MASK_ZVL32B): New.
13301         (MASK_ZVL64B): New.
13302         (MASK_ZVL128B): New.
13303         (MASK_ZVL256B): New.
13304         (MASK_ZVL512B): New.
13305         (MASK_ZVL1024B): New.
13306         (MASK_ZVL2048B): New.
13307         (MASK_ZVL4096B): New.
13308         (MASK_ZVL8192B): New.
13309         (MASK_ZVL16384B): New.
13310         (MASK_ZVL32768B): New.
13311         (MASK_ZVL65536B): New.
13312         (TARGET_ZVL32B): New.
13313         (TARGET_ZVL64B): New.
13314         (TARGET_ZVL128B): New.
13315         (TARGET_ZVL256B): New.
13316         (TARGET_ZVL512B): New.
13317         (TARGET_ZVL1024B): New.
13318         (TARGET_ZVL2048B): New.
13319         (TARGET_ZVL4096B): New.
13320         (TARGET_ZVL8192B): New.
13321         (TARGET_ZVL16384B): New.
13322         (TARGET_ZVL32768B): New.
13323         (TARGET_ZVL65536B): New.
13324         * config/riscv/riscv.opt (Mask(VECTOR)): New.
13325         (riscv_vector_eew_flags): New.
13326         (riscv_zvl_flags): New.
13328 2022-01-06  Kito Cheng  <kito.cheng@sifive.com>
13330         * common/config/riscv/riscv-common.c
13331         (riscv_subset_list::parse_multiletter_ext): Allow ext. name has
13332         digit.
13334 2022-01-06  Jakub Jelinek  <jakub@redhat.com>
13336         PR tree-optimization/103899
13337         * expr.c (expand_expr_real_1): Add a workaround for bogus uninit
13338         warning by moving context variable to the only spot where it is used
13339         and moving gcc_assert into if body.
13341 2022-01-06  Jakub Jelinek  <jakub@redhat.com>
13343         PR rtl-optimization/103908
13344         * ifcvt.c (bb_valid_for_noce_process_p): Punt on bbs ending with
13345         asm goto.
13347 2022-01-05  Bill Schmidt  <wschmidt@linux.ibm.com>
13349         PR target/103622
13350         * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
13351         Skip over instances with undefined function types.
13353 2022-01-05  Andrew Pinski  <apinski@marvell.com>
13355         PR target/103910
13356         * config/i386/i386.h (x86_mfence): Mark with GTY.
13358 2022-01-05  Uroš Bizjak  <ubizjak@gmail.com>
13360         PR target/103861
13361         * config/i386/mmx.md (VI_16_32): New mode iterator.
13362         (VI1_16_32): Ditto.
13363         (mmxvecsize): Handle V2QI mode.
13364         (<smaxmin:code><mode>3): Rename from <smaxmin:code>v4qi3.
13365         Use VI1_16_32 mode iterator.
13366         (<umaxmin:code><mode>3): Rename from <umaxmin:code>v4qi3.
13367         Use VI1_16_32 mode iterator.
13368         (abs<mode>2): Use VI_16_32 mode iterator.
13369         (uavgv2qi3_ceil): New insn pattern.
13371 2022-01-05  Martin Sebor  <msebor@redhat.com>
13373         * gimple-ssa-warn-access.cc (pass_waccess::maybe_warn_memmodel): Use
13374         %qs to avoid -Wformat-diag.
13376 2022-01-05  Uroš Bizjak  <ubizjak@gmail.com>
13378         PR target/103915
13379         * config/i386/mmx.md (one_cmplv2qi2): Change
13380         alternatives 1,2 type from sselog to sselog1.
13382 2022-01-05  Uroš Bizjak  <ubizjak@gmail.com>
13384         PR target/103905
13385         * config/i386/i386-expand.c (expand_vec_perm_pshufb): Fix number of
13386         narrow mode remapped elements for !one_operand_p case.
13388 2022-01-05  Richard Biener  <rguenther@suse.de>
13390         PR tree-optimization/103816
13391         * tree-vect-data-refs.c (vect_analyze_group_access_1): Also
13392         check DR_GROUP_GAP compute for overflow and representability.
13394 2022-01-05  Jakub Jelinek  <jakub@redhat.com>
13396         PR fortran/103691
13397         * gimple-fold.c (fold_stmt_1): Don't call maybe_fold_reference
13398         for DEBUG stmts with ADDR_EXPR gimple_debug_bind_get_value,
13399         it can do unwanted rhs folding like &a[0] into &2.0 etc.
13401 2022-01-05  Kewen Lin  <linkw@linux.ibm.com>
13403         PR ipa/102059
13404         * config/rs6000/rs6000.c (TARGET_NEED_IPA_FN_TARGET_INFO): New macro.
13405         (TARGET_UPDATE_IPA_FN_TARGET_INFO): Likewise.
13406         (rs6000_need_ipa_fn_target_info): New function.
13407         (rs6000_update_ipa_fn_target_info): Likewise.
13408         (rs6000_can_inline_p): Adjust for ipa function summary target info.
13409         * config/rs6000/rs6000.h (RS6000_FN_TARGET_INFO_HTM): New macro.
13410         * ipa-fnsummary.c (ipa_dump_fn_summary): Adjust for ipa function
13411         summary target info.
13412         (analyze_function_body): Adjust for ipa function summary target info
13413         and call hook rs6000_need_ipa_fn_target_info and
13414         rs6000_update_ipa_fn_target_info.
13415         (ipa_merge_fn_summary_after_inlining): Adjust for ipa function summary
13416         target info.
13417         (inline_read_section): Likewise.
13418         (ipa_fn_summary_write): Likewise.
13419         * ipa-fnsummary.h (ipa_fn_summary::target_info): New member.
13420         * doc/tm.texi: Regenerate.
13421         * doc/tm.texi.in (TARGET_UPDATE_IPA_FN_TARGET_INFO): Document new hook.
13422         (TARGET_NEED_IPA_FN_TARGET_INFO): Likewise.
13423         * target.def (update_ipa_fn_target_info): New hook.
13424         (need_ipa_fn_target_info): Likewise.
13425         * targhooks.c (default_need_ipa_fn_target_info): New function.
13426         (default_update_ipa_fn_target_info): Likewise.
13427         * targhooks.h (default_update_ipa_fn_target_info): New declare.
13428         (default_need_ipa_fn_target_info): Likewise.
13430 2022-01-04  Martin Sebor  <msebor@redhat.com>
13432         PR middle-end/99612
13433         * builtins.c (get_memmodel): Move warning code to
13434         gimple-ssa-warn-access.cc.
13435         (expand_builtin_atomic_compare_exchange): Same.
13436         (expand_ifn_atomic_compare_exchange): Same.
13437         (expand_builtin_atomic_load): Same.
13438         (expand_builtin_atomic_store): Same.
13439         (expand_builtin_atomic_clear): Same.
13440         * doc/extend.texi (__atomic_exchange_n): Update valid memory
13441         models.
13442         * gimple-ssa-warn-access.cc (memmodel_to_uhwi): New function.
13443         (struct memmodel_pair): New struct.
13444         (memmodel_name): New function.
13445         (pass_waccess::maybe_warn_memmodel): New function.
13446         (pass_waccess::check_atomic_memmodel): New function.
13447         (pass_waccess::check_atomic_builtin): Handle memory model.
13448         * input.c (expansion_point_location_if_in_system_header): Return
13449         original location if expansion location is in a system header.
13451 2022-01-04  Uroš Bizjak  <ubizjak@gmail.com>
13453         PR target/103861
13454         * config/i386/mmx.md (one_cmplv2qi3): New insn pattern.
13455         (one_cmplv2qi3 splitters): New post-reload splitters.
13456         (*andnotv2qi3): New insn pattern.
13457         (andnotv2qi3 splitters): New post-reload splitters.
13458         (<any_logic:code>v2qi3): New insn pattern.
13459         (<any_logic:insn>v2qi3 splitters): New post-reload splitters.
13461 2022-01-04  Richard Biener  <rguenther@suse.de>
13463         PR tree-optimization/103800
13464         * tree-vect-loop.c (vectorizable_phi): Remove assert and
13465         expand comment.
13467 2022-01-04  Richard Biener  <rguenther@suse.de>
13469         PR tree-optimization/103690
13470         * tree-pass.h (tail_merge_optimize): Adjust.
13471         * tree-ssa-tail-merge.c (tail_merge_optimize): Pass in whether
13472         to re-split critical edges, move CFG cleanup ...
13473         * tree-ssa-pre.c (pass_pre::execute): ... here, before
13474         simple_dce_from_worklist and delay freeing inserted_exprs from
13475         ...
13476         (fini_pre): .. here.
13478 2022-01-04  Roger Sayle  <roger@nextmovesoftware.com>
13480         * config/nvptx/nvptx.h (STORE_FLAG_VALUE): Change to 1.
13481         * config/nvptx/nvptx.md (movbi): Use P1 constraint for true.
13482         (setcc_from_bi): Remove SImode specific pattern.
13483         (setcc<mode>_from_bi): Provide more general HSDIM pattern.
13484         (extendbi<mode>2, zeroextendbi<mode>2): Provide instructions
13485         for sign- and zero-extending BImode predicates to integers.
13486         (setcc_int<mode>): Remove previous (-1-based) instructions.
13487         (cstorebi4): Remove BImode to SImode specific expander.
13488         (cstore<mode>4): Fix indentation.  Expand using setccsi_from_bi.
13489         (cstore<mode>4): For both integer and floating point modes.
13491 2022-01-04  Olivier Hainque  <hainque@adacore.com>
13493         * gcc.c (driver_handle_option): do_save --sysroot.
13495 2022-01-04  Richard Biener  <rguenther@suse.de>
13497         PR tree-optimization/103864
13498         PR tree-optimization/103544
13499         * tree-vect-slp.c (vect_analyze_slp_instance): Exclude
13500         reductions wrapped in conversions from SLP handling.
13501         (vect_analyze_slp): Revert PR103544 change.
13503 2022-01-04  Jakub Jelinek  <jakub@redhat.com>
13505         PR rtl-optimization/103860
13506         * shrink-wrap.c (try_shrink_wrapping): Don't call can_get_prologue
13507         uselessly for blocks for which it has been called already.
13509 2022-01-04  Cui,Lili  <lili.cui@intel.com>
13511         * common/config/i386/cpuinfo.h (get_intel_cpu): Add new model values
13512         to Alderlake and Rocketlake.
13514 2022-01-04  Chung-Lin Tang  <cltang@codesourcery.com>
13516         PR middle-end/103643
13517         * gimplify.c (gimplify_omp_affinity): Adjust gimplify_expr of entire
13518         OMP_CLAUSE_DECL to use 'is_gimple_lvalue, fb_lvalue'
13520 2022-01-04  liuhongt  <hongtao.liu@intel.com>
13522         PR target/103895
13523         * config/i386/sse.md (*bit_and_float_vector_all_ones):
13524         Force_reg operand 1 to avoid ICE.
13526 2022-01-04  Jason Merrill  <jason@redhat.com>
13528         * tree-pretty-print.c (do_niy): Add spc parameter.
13529         (NIY): Pass it.
13530         (print_call_name): Add spc local variable.
13532 2022-01-03  Uroš Bizjak  <ubizjak@gmail.com>
13534         PR target/103894
13535         * config/i386/mmx.md (mov<V_32:mode>): Remove TARGET_SSE2 constraint.
13536         (mov<V_32:mode>_internal): Ditto.
13537         (*push<V_32:mode>_rex64): Ditto.
13538         (movmisalign<V_32:mode>): Ditto.
13539         (*push<V_32:mode>_rex64 splitter): Enable for
13540         TARGET_64BIT && TARGET_SSE.
13541         (*push<V_32:mode>2): Remove insn pattern.
13543 2022-01-03  Andrew Pinski  <apinski@marvell.com>
13545         PR c/33193
13546         * doc/extend.texi: Extend the documentation about Complex
13547         types for casting and also rewrite the __real__/__imag__
13548         expression portion to use tables.
13549         Move __builtin_complex to the Complex type section.
13551 2022-01-03  Jakub Jelinek  <jakub@redhat.com>
13553         PR target/98737
13554         * internal-fn.def (ATOMIC_ADD_FETCH_CMP_0, ATOMIC_SUB_FETCH_CMP_0,
13555         ATOMIC_AND_FETCH_CMP_0, ATOMIC_OR_FETCH_CMP_0, ATOMIC_XOR_FETCH_CMP_0):
13556         New internal fns.
13557         * internal-fn.h (ATOMIC_OP_FETCH_CMP_0_EQ, ATOMIC_OP_FETCH_CMP_0_NE,
13558         ATOMIC_OP_FETCH_CMP_0_LT, ATOMIC_OP_FETCH_CMP_0_LE,
13559         ATOMIC_OP_FETCH_CMP_0_GT, ATOMIC_OP_FETCH_CMP_0_GE): New enumerators.
13560         * internal-fn.c (expand_ATOMIC_ADD_FETCH_CMP_0,
13561         expand_ATOMIC_SUB_FETCH_CMP_0, expand_ATOMIC_AND_FETCH_CMP_0,
13562         expand_ATOMIC_OR_FETCH_CMP_0, expand_ATOMIC_XOR_FETCH_CMP_0): New
13563         functions.
13564         * optabs.def (atomic_add_fetch_cmp_0_optab,
13565         atomic_sub_fetch_cmp_0_optab, atomic_and_fetch_cmp_0_optab,
13566         atomic_or_fetch_cmp_0_optab, atomic_xor_fetch_cmp_0_optab): New
13567         direct optabs.
13568         * builtins.h (expand_ifn_atomic_op_fetch_cmp_0): Declare.
13569         * builtins.c (expand_ifn_atomic_op_fetch_cmp_0): New function.
13570         * tree-ssa-ccp.c: Include internal-fn.h.
13571         (optimize_atomic_bit_test_and): Add . before internal fn call
13572         in function comment.  Change return type from void to bool and
13573         return true only if successfully replaced.
13574         (optimize_atomic_op_fetch_cmp_0): New function.
13575         (pass_fold_builtins::execute): Use optimize_atomic_op_fetch_cmp_0
13576         for BUILT_IN_ATOMIC_{ADD,SUB,AND,OR,XOR}_FETCH_{1,2,4,8,16} and
13577         BUILT_IN_SYNC_{ADD,SUB,AND,OR,XOR}_AND_FETCH_{1,2,4,8,16},
13578         for *XOR* ones only if optimize_atomic_bit_test_and failed.
13579         * config/i386/sync.md (atomic_<plusminus_mnemonic>_fetch_cmp_0<mode>,
13580         atomic_<logic>_fetch_cmp_0<mode>): New define_expand patterns.
13581         (atomic_add_fetch_cmp_0<mode>_1, atomic_sub_fetch_cmp_0<mode>_1,
13582         atomic_<logic>_fetch_cmp_0<mode>_1): New define_insn patterns.
13583         * doc/md.texi (atomic_add_fetch_cmp_0<mode>,
13584         atomic_sub_fetch_cmp_0<mode>, atomic_and_fetch_cmp_0<mode>,
13585         atomic_or_fetch_cmp_0<mode>, atomic_xor_fetch_cmp_0<mode>): Document
13586         new named patterns.
13588 2022-01-03  Richard Biener  <rguenther@suse.de>
13590         PR middle-end/103851
13591         * tree-cfg.c (move_sese_region_to_fn): Always release SSA names.
13593 2022-01-03  Jakub Jelinek  <jakub@redhat.com>
13595         PR c++/94716
13596         * symtab.c: Include fold-const.h.
13597         (symtab_node::equal_address_to): If folding_initializer is true,
13598         handle it like memory_accessed.  Simplify.
13600 2022-01-03  Martin Liska  <mliska@suse.cz>
13602         * doc/extend.texi: Use ; for function declarations.
13604 2022-01-03  Jakub Jelinek  <jakub@redhat.com>
13606         PR c++/103600
13607         * symtab.c (symtab_node::equal_address_to): Return 0 if one of
13608         VAR_DECLs has "non overlapping" attribute and rs1 != rs2.
13610 2022-01-03  Jakub Jelinek  <jakub@redhat.com>
13612         * gcc.c (process_command): Update copyright notice dates.
13613         * gcov-dump.c (print_version): Ditto.
13614         * gcov.c (print_version): Ditto.
13615         * gcov-tool.c (print_version): Ditto.
13616         * gengtype.c (create_file): Ditto.
13617         * doc/cpp.texi: Bump @copying's copyright year.
13618         * doc/cppinternals.texi: Ditto.
13619         * doc/gcc.texi: Ditto.
13620         * doc/gccint.texi: Ditto.
13621         * doc/gcov.texi: Ditto.
13622         * doc/install.texi: Ditto.
13623         * doc/invoke.texi: Ditto.
13625 2022-01-02  Uroš Bizjak  <ubizjak@gmail.com>
13627         PR target/103861
13628         * config/i386/i386.h (VALID_SSE2_REG_MODE): Add V2QImode.
13629         (VALID_INT_MODE_P): Ditto.
13630         * config/i386/i386.c (ix86_secondary_reload): Handle
13631         V2QImode reloads from SSE register to memory.
13632         (vector_mode_supported_p): Always return true for V2QImode.
13633         * config/i386/i386.md (*subqi_ext<mode>_2): New insn pattern.
13634         (*negqi_ext<mode>_2): Ditto.
13635         * config/i386/mmx.md (movv2qi): New expander.
13636         (movmisalignv2qi): Ditto.
13637         (*movv2qi_internal): New insn pattern.
13638         (*pushv2qi2): Ditto.
13639         (negv2qi2 and splitters): Ditto.
13640         (<plusminus:insn>v2qi3 and splitters): Ditto.
13642 2022-01-02  John David Anglin  <danglin@gcc.gnu.org>
13644         * config/pa/pa.md (atomic_storeq): Use optab_libfunc to access
13645         sync_lock_test_and_set libfunc. Call convert_memory_address to
13646         convert memory address to Pmode.
13647         (atomic_storehi, atomic_storesi, atomic_storedi): Likewise.
13650 Copyright (C) 2022 Free Software Foundation, Inc.
13652 Copying and distribution of this file, with or without modification,
13653 are permitted in any medium without royalty provided the copyright
13654 notice and this notice are preserved.