12024-06-20  Release Manager
2
3          * GCC 12.4.0 released.
4
52024-06-12  Alex Coplan  <alex.coplan@arm.com>
6
7          Backported from master:
8          2024-05-03  Alex Coplan  <alex.coplan@arm.com>
9
10          PR rtl-optimization/114924
11          * cfgrtl.cc (duplicate_insn_chain): When updating MEM_EXPRs,
12          don't strip (e.g.) ARRAY_REFs from the final MEM_EXPR.
13
142024-06-12  Vladimir N. Makarov  <vmakarov@redhat.com>
15
16          Backported from master:
17          2023-09-25  Vladimir N. Makarov  <vmakarov@redhat.com>
18
19          PR middle-end/111497
20          * lra-constraints.cc (lra_constraints): Copy substituted
21          equivalence.
22          * lra.cc (lra): Change comment for calling unshare_all_rtl_again.
23
242024-06-12  Richard Biener  <rguenther@suse.de>
25
26          Backported from master:
27          2022-12-05  Richard Biener  <rguenther@suse.de>
28
29          PR middle-end/40635
30          * tree-into-ssa.cc (rewrite_update_phi_arguments): Only
31          update the argument when the reaching definition is different
32          from the current argument.  Keep an existing argument
33          location.
34
352024-06-12  Richard Biener  <rguenther@suse.de>
36
37          Backported from master:
38          2024-02-19  Richard Biener  <rguenther@suse.de>
39
40          PR rtl-optimization/54052
41          * rtl-ssa/blocks.cc (function_info::place_phis): Filter
42          local defs by LR_OUT.
43
442024-06-12  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
45
46          Backported from master:
47          2024-06-12  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
48                        Yvan ROUX  <yvan.roux@foss.st.com>
49
50          PR target/115253
51          * config/arm/arm.cc (cmse_nonsecure_call_inline_register_clear):
52          Sign extend for Thumb1.
53          (thumb1_expand_prologue): Add zero/sign extend.
54
552024-06-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
56
57          Backported from master:
58          2024-03-07  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
59
60          PR middle-end/111632
61          * system.h: Include safe-ctype.h after C++ standard headers.
62
632024-06-11  Andrew Pinski  <quic_apinski@quicinc.com>
64
65          Backported from master:
66          2024-05-20  Andrew Pinski  <quic_apinski@quicinc.com>
67
68          PR tree-optimization/115143
69          * tree-ssa-phiopt.cc (minmax_replacement): Check for empty
70          phi nodes for middle bbs for the case where middle bb is not empty.
71
722024-06-11  Jakub Jelinek  <jakub@redhat.com>
73
74          Backported from master:
75          2024-06-04  Jakub Jelinek  <jakub@redhat.com>
76
77          PR tree-optimization/115337
78          * fold-const.cc (tree_call_nonnegative_warnv_p) <CASE_CFN_CLZ>:
79          If fn is CFN_CLZ, use CLZ_DEFINED_VALUE_AT.
80
812024-06-11  Jakub Jelinek  <jakub@redhat.com>
82
83          Backported from master:
84          2024-06-04  Jakub Jelinek  <jakub@redhat.com>
85
86          PR middle-end/108789
87          * builtins.cc (fold_builtin_arith_overflow): For ovf_only,
88          don't call save_expr and don't build REALPART_EXPR, otherwise
89          set TREE_SIDE_EFFECTS on call before calling save_expr.
90
912024-06-11  Jakub Jelinek  <jakub@redhat.com>
92
93          Backported from master:
94          2024-06-03  Jakub Jelinek  <jakub@redhat.com>
95
96          PR target/115324
97          * config/rs6000/rs6000-gen-builtins.cc (write_decls): Remove
98          GTY markup from struct bifdata and struct ovlddata and remove their
99          fntype members.  Change next member in struct ovlddata and
100          first_instance member of struct ovldrecord to have int type rather
101          than struct ovlddata *.  Remove GTY markup from rs6000_builtin_info
102          and rs6000_instance_info arrays, declare new
103          rs6000_builtin_info_fntype and rs6000_instance_info_fntype arrays,
104          which have GTY markup.
105          (write_bif_static_init): Adjust for the above changes.
106          (write_ovld_static_init): Likewise.
107          (write_init_bif_table): Likewise.
108          (write_init_ovld_table): Likewise.
109          * config/rs6000/rs6000-builtin.cc (rs6000_init_builtins): Likewise.
110          * config/rs6000/rs6000-c.cc (find_instance): Likewise.  Make static.
111          (altivec_resolve_overloaded_builtin): Adjust for the above changes.
112
1132024-06-11  Jakub Jelinek  <jakub@redhat.com>
114
115          Backported from master:
116          2024-05-15  Jakub Jelinek  <jakub@redhat.com>
117
118          PR rtl-optimization/114902
119          PR rtl-optimization/115092
120          * combine.cc (simplify_compare_const): Don't optimize
121          GE op0 SIGNED_MIN or LT op0 SIGNED_MIN into NE op0 const0_rtx or
122          EQ op0 const0_rtx.
123
1242024-06-11  Jakub Jelinek  <jakub@redhat.com>
125
126          Backported from master:
127          2024-05-07  Jakub Jelinek  <jakub@redhat.com>
128
129          PR sanitizer/114956
130          * tree-inline.cc: Include asan.h.
131          (copy_bb): Remove also .ASAN_MARK calls if id->dst_fn has asan/hwasan
132          sanitization disabled.
133
1342024-06-11  Jakub Jelinek  <jakub@redhat.com>
135
136          Backported from master:
137          2024-04-30  Jakub Jelinek  <jakub@redhat.com>
138
139          PR tree-optimization/114876
140          * gimple-ssa-sprintf.cc (format_character): For min == 0 && max == 0,
141          set max, likely and unlikely members to 1 rather than 0.  Remove
142          useless res.knownrange = true;.  Formatting fixes.
143
1442024-06-11  Jakub Jelinek  <jakub@redhat.com>
145
146          Backported from master:
147          2024-04-25  Jakub Jelinek  <jakub@redhat.com>
148
149          PR fortran/114825
150          * tree-nested.cc (get_debug_decl): New function.
151          (get_nonlocal_debug_decl): Use it.
152          (get_local_debug_decl): Likewise.
153
1542024-06-11  Jakub Jelinek  <jakub@redhat.com>
155
156          Backported from master:
157          2024-04-19  Jakub Jelinek  <jakub@redhat.com>
158
159          PR rtl-optimization/114768
160          * rtlanal.cc (set_noop_p): Don't return true for MEM <- MEM
161          sets if src has side-effects or for stores into ZERO_EXTRACT
162          if ZERO_EXTRACT operand has side-effects.
163
1642024-06-11  Jakub Jelinek  <jakub@redhat.com>
165
166          Backported from master:
167          2024-04-18  Jakub Jelinek  <jakub@redhat.com>
168
169          PR middle-end/114753
170          * internal-fn.cc (expand_mul_overflow): Save flag_trapv and
171          temporarily clear it for the duration of the function, then
172          restore previous value.
173          (expand_vector_ubsan_overflow): Likewise.
174          (expand_arith_overflow): Likewise.
175
1762024-06-11  Jakub Jelinek  <jakub@redhat.com>
177
178          Backported from master:
179          2024-04-15  Jakub Jelinek  <jakub@redhat.com>
180
181          PR c++/114634
182          * attribs.cc (diag_attr_exclusions): Set attrs[1] to NULL_TREE for
183          decls with NULL TREE_TYPE.
184
1852024-06-11  Jakub Jelinek  <jakub@redhat.com>
186
187          Backported from master:
188          2024-04-11  Jakub Jelinek  <jakub@redhat.com>
189
190          PR middle-end/110027
191          * asan.cc (asan_emit_stack_protection): Assert offsets[0] is
192          zero if there is no stack protect guard, otherwise
193          -ASAN_RED_ZONE_SIZE.  If alignb > ASAN_RED_ZONE_SIZE and there is
194          stack pointer guard, take the ASAN_RED_ZONE_SIZE bytes allocated at
195          the top of the stack into account when computing base_align_bias.
196          Recompute use_after_return_class from asan_frame_size + base_align_bias
197          and set to -1 if that would overflow to 11.
198
1992024-06-11  Jakub Jelinek  <jakub@redhat.com>
200
201          Backported from master:
202          2024-04-05  Jakub Jelinek  <jakub@redhat.com>
203
204          PR tree-optimization/114566
205          * tree-vect-loop.cc (update_epilogue_loop_vinfo): Don't clear
206          base_misaligned.
207
2082024-06-11  Jakub Jelinek  <jakub@redhat.com>
209
210          Backported from master:
211          2024-04-04  Jakub Jelinek  <jakub@redhat.com>
212
213          PR c++/114537
214          * fold-const.cc (native_encode_initializer): Look through
215          NON_LVALUE_EXPR if val is INTEGER_CST.
216
2172024-06-11  Jakub Jelinek  <jakub@redhat.com>
218
219          Backported from master:
220          2024-03-14  Jakub Jelinek  <jakub@redhat.com>
221
222          PR middle-end/113907
223          * ipa-icf.cc (sem_item_optimizer::merge_classes): Reset
224          SSA_NAME_RANGE_INFO and SSA_NAME_PTR_INFO on successfully ICF merged
225          functions.
226
2272024-06-11  Jakub Jelinek  <jakub@redhat.com>
228
229          Backported from master:
230          2024-03-14  Jakub Jelinek  <jakub@redhat.com>
231
232          PR target/114310
233          * config/aarch64/aarch64.cc (aarch64_expand_compare_and_swap): For
234          TImode force newval into a register.
235
2362024-06-11  Jakub Jelinek  <jakub@redhat.com>
237
238          Backported from master:
239          2024-03-07  Jakub Jelinek  <jakub@redhat.com>
240
241          PR rtl-optimization/110079
242          * bb-reorder.cc (fix_crossing_unconditional_branches): Don't adjust
243          asm goto.
244
2452024-06-11  Jakub Jelinek  <jakub@redhat.com>
246
247          Backported from master:
248          2024-03-04  Jakub Jelinek  <jakub@redhat.com>
249
250          PR target/114184
251          * config/i386/i386-expand.cc (ix86_expand_move): If XFmode op1
252          is SUBREG of CONSTANT_P, force the SUBREG_REG into memory or
253          register.
254
2552024-06-11  Jakub Jelinek  <jakub@redhat.com>
256
257          Backported from master:
258          2024-02-12  Jakub Jelinek  <jakub@redhat.com>
259
260          PR c++/113674
261          * attribs.cc (extract_attribute_substring): Remove.
262          (lookup_scoped_attribute_spec): Don't call it.
263
2642024-06-11  Jakub Jelinek  <jakub@redhat.com>
265
266          Backported from master:
267          2024-02-03  Jakub Jelinek  <jakub@redhat.com>
268
269          * ggc-common.cc (gt_pch_save): Allow addr to be equal to
270          mmi.preferred_base + mmi.size - sizeof (void *).
271
2722024-06-11  Jakub Jelinek  <jakub@redhat.com>
273
274          Backported from master:
275          2024-01-30  Jakub Jelinek  <jakub@redhat.com>
276
277          PR tree-optimization/113603
278          * tree-ssa-strlen.cc (strlen_pass::handle_store): After
279          count_nonzero_bytes call refetch si using get_strinfo in case it
280          has been unshared in the meantime.
281
2822024-06-11  Jakub Jelinek  <jakub@redhat.com>
283
284          Backported from master:
285          2024-01-25  Jakub Jelinek  <jakub@redhat.com>
286
287          * doc/generic.texi (VECTOR_CST): Fix typo - petterns -> patterns.
288          * doc/rtl.texi (CONST_VECTOR): Likewise.
289
2902024-06-11  Jakub Jelinek  <jakub@redhat.com>
291
292          Backported from master:
293          2024-01-18  Jakub Jelinek  <jakub@redhat.com>
294
295          PR target/113122
296          * config/i386/i386.cc (x86_function_profiler): Add -masm=intel
297          support.  Add missing space after , in emitted assembly in some
298          cases.  Formatting fixes.
299
3002024-06-11  Jakub Jelinek  <jakub@redhat.com>
301
302          Backported from master:
303          2024-01-16  Jakub Jelinek  <jakub@redhat.com>
304
305          PR tree-optimization/113372
306          PR middle-end/90348
307          PR middle-end/110115
308          PR middle-end/111422
309          * cfgexpand.cc (add_scope_conflicts_2): New function.
310          (add_scope_conflicts_1): Use it.
311
3122024-06-11  Richard Biener  <rguenther@suse.de>
313
314          Backported from master:
315          2023-08-21  Richard Biener  <rguenther@suse.de>
316
317          PR tree-optimization/111070
318          * tree-ssa-ifcombine.cc (ifcombine_ifandif): Check we have
319          an SSA name before checking SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
320
3212024-06-07  Jan Hubicka  <jh@suse.cz>
322
323          Backported from master:
324          2023-12-29  Jan Hubicka  <jh@suse.cz>
325
326          * config/i386/x86-tune.def (X86_TUNE_AVOID_128FMA_CHAINS,
327          X86_TUNE_AVOID_256FMA_CHAINS): Enable for znver4 and Core.
328
3292024-06-04  Richard Biener  <rguenther@suse.de>
330
331          Backported from master:
332          2023-11-28  Richard Biener  <rguenther@suse.de>
333
334          PR middle-end/112732
335          * tree.cc (build_opaque_vector_type): Reset TYPE_ALIAS_SET
336          of the newly built type.
337
3382024-06-04  Richard Biener  <rguenther@suse.de>
339
340          Backported from master:
341          2023-06-26  Richard Biener  <rguenther@suse.de>
342
343          PR tree-optimization/110381
344          * tree-vect-slp.cc (vect_optimize_slp_pass::start_choosing_layouts):
345          Materialize permutes before fold-left reductions.
346
3472024-06-04  Richard Biener  <rguenther@suse.de>
348
349          Backported from master:
350          2024-02-14  Richard Biener  <rguenther@suse.de>
351
352          PR tree-optimization/113910
353          * bitmap.cc (bitmap_hash): Mix the full element "hash" to
354          the hashval_t hash.
355
3562024-06-04  Richard Sandiford  <richard.sandiford@arm.com>
357
358          Backported from master:
359          2024-01-29  Richard Sandiford  <richard.sandiford@arm.com>
360
361          PR target/113281
362          * tree-vect-patterns.cc (vect_recog_over_widening_pattern): Remove
363          workaround for right shifts.
364          (vect_truncatable_operation_p): Handle NEGATE_EXPR and BIT_NOT_EXPR.
365          (vect_determine_precisions_from_range): Be more selective about
366          which codes can be narrowed based on their input and output ranges.
367          For shifts, require at least one more bit of precision than the
368          maximum shift amount.
369
3702024-06-04  Richard Sandiford  <richard.sandiford@arm.com>
371
372          Backported from master:
373          2024-05-24  Richard Sandiford  <richard.sandiford@arm.com>
374
375          PR tree-optimization/115192
376          * tree-data-ref.cc (create_intersect_range_checks): Take the
377          alignment of the access sizes into account.
378
3792024-06-03  Uros Bizjak  <ubizjak@gmail.com>
380
381          Backported from master:
382          2024-05-31  Uros Bizjak  <ubizjak@gmail.com>
383
384          PR target/115297
385          * config/alpha/alpha.md (<any_divmod:code>si3): Wrap DImode
386          operands 3 and 4 with truncate:SI RTX.
387          (*divmodsi_internal_er): Ditto for operands 1 and 2.
388          (*divmodsi_internal_er_1): Ditto.
389          (*divmodsi_internal): Ditto.
390          * config/alpha/constraints.md ("b"): Correct register
391          number in the description.
392
3932024-05-30  YunQiang Su  <syq@gcc.gnu.org>
394
395          Backported from master:
396          2024-05-29  YunQiang Su  <syq@gcc.gnu.org>
397
398          * config/mips/mips.cc(mips16_gp_pseudo_reg): Mark
399          MIPS16_PIC_TEMP and MIPS_PROLOGUE_TEMP clobbered.
400          (mips_emit_call_insn): Mark MIPS16_PIC_TEMP and
401          MIPS_PROLOGUE_TEMP clobbered if MIPS16 and CALL_CLOBBERED_GP.
402
4032024-05-28  Jakub Jelinek  <jakub@redhat.com>
404
405          Backported from master:
406          2024-05-22  Jakub Jelinek  <jakub@redhat.com>
407
408          PR sanitizer/115172
409          * ubsan.cc (instrument_bool_enum_load): If rhs is not in generic
410          address space, use qualified version of utype with the right
411          address space.  Formatting fix.
412
4132024-05-28  Martin Jambor  <mjambor@suse.cz>
414
415          Backported from master:
416          2024-05-14  Martin Jambor  <mjambor@suse.cz>
417
418          PR ipa/113907
419          * ipa-prop.h (ipa_jump_functions_equivalent_p): Declare.
420          (values_equal_for_ipcp_p): Likewise.
421          * ipa-prop.cc (ipa_agg_pass_through_jf_equivalent_p): New function.
422          (ipa_agg_jump_functions_equivalent_p): Likewise.
423          (ipa_jump_functions_equivalent_p): Likewise.
424          * ipa-cp.cc (values_equal_for_ipcp_p): Make function public.
425          * ipa-icf-gimple.cc: Include alloc-pool.h, symbol-summary.h, sreal.h,
426          ipa-cp.h and ipa-prop.h.
427          (func_checker::compare_gimple_call): Comapre jump functions.
428
4292024-05-17  Richard Biener  <rguenther@suse.de>
430
431          Backported from master:
432          2024-01-31  Richard Biener  <rguenther@suse.de>
433
434          PR middle-end/110176
435          * match.pd (zext (bool) <= (int) 4294967295u): Make sure
436          to match INTEGER_CST only without outstanding conversion.
437
4382024-05-17  Richard Biener  <rguenther@suse.de>
439
440          Backported from master:
441          2023-08-17  Richard Biener  <rguenther@suse.de>
442
443          PR tree-optimization/111039
444          * tree-ssa-ifcombine.cc (ifcombine_ifandif): Check for
445          SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
446
4472024-05-17  Richard Biener  <rguenther@suse.de>
448
449          Backported from master:
450          2023-11-20  Richard Biener  <rguenther@suse.de>
451
452          PR tree-optimization/112281
453          * tree-loop-distribution.cc
454          (loop_distribution::pg_add_dependence_edges): For = in the
455          innermost common loop record a partition conflict.
456
4572024-05-17  Richard Biener  <rguenther@suse.de>
458
459          Backported from master:
460          2023-11-13  Richard Biener  <rguenther@suse.de>
461
462          PR tree-optimization/112495
463          * tree-data-ref.cc (runtime_alias_check_p): Reject checks
464          between different address spaces.
465
4662024-05-17  Richard Biener  <rguenther@suse.de>
467
468          Backported from master:
469          2024-01-11  Richard Biener  <rguenther@suse.de>
470
471          PR tree-optimization/112505
472          * tree-vect-loop.cc (vectorizable_induction): Reject
473          bit-precision induction.
474
4752024-05-17  Richard Biener  <rguenther@suse.de>
476
477          Backported from master:
478          2024-01-23  Richard Biener  <rguenther@suse.de>
479
480          PR debug/112718
481          * dwarf2out.cc (dwarf2out_finish): Reset all type units
482          for the fat part of an LTO compile.
483
4842024-05-17  Richard Biener  <rguenther@suse.de>
485
486          Backported from master:
487          2023-12-14  Richard Biener  <rguenther@suse.de>
488
489          PR tree-optimization/112793
490          * tree-vect-slp.cc (vect_schedule_slp_node): Already
491          code-generated constant/external nodes are OK.
492
4932024-05-16  Richard Biener  <rguenther@suse.de>
494
495          Backported from master:
496          2024-02-22  Richard Biener  <rguenther@suse.de>
497
498          PR tree-optimization/114027
499          * tree-vect-loop.cc (vecctorizable_reduction): Use optimized
500          condition reduction classification only for single-element
501          chains.
502
5032024-05-16  Richard Biener  <rguenther@suse.de>
504
505          Backported from master:
506          2024-05-08  Richard Biener  <rguenther@suse.de>
507
508          PR tree-optimization/114375
509          * tree-vect-slp.cc (vect_build_slp_tree_2): Compute the
510          load permutation for masked loads but reject it when any
511          such is necessary.
512          * tree-vect-stmts.cc (vectorizable_load): Reject masked
513          VMAT_ELEMENTWISE and VMAT_STRIDED_SLP as those are not
514          supported.
515
5162024-05-16  Richard Biener  <rguenther@suse.de>
517
518          Backported from master:
519          2024-03-21  Richard Biener  <rguenther@suse.de>
520
521          PR tree-optimization/114231
522          * tree-vect-slp.cc (vect_analyze_slp): Lookup patterns when
523          processing a BB SLP root.
524
5252024-05-16  Richard Biener  <rguenther@suse.de>
526
527          Backported from master:
528          2024-05-06  Richard Biener  <rguenther@suse.de>
529
530          PR middle-end/114734
531          * internal-fn.cc (expand_call_mem_ref): Use
532          get_gimple_for_ssa_name to get at the def stmt of the address
533          argument to honor SSA coalescing constraints.
534
5352024-05-16  Richard Biener  <rguenther@suse.de>
536
537          Backported from master:
538          2024-04-09  Richard Biener  <rguenther@suse.de>
539
540          PR lto/114655
541          * lto-wrapper.cc (merge_flto_options): Add force argument.
542          (merge_and_complain): Do not force here.
543          (run_gcc): But here to make the link-time -flto option override
544          any compile-time one.
545
5462024-05-16  Richard Biener  <rguenther@suse.de>
547
548          Backported from master:
549          2024-05-03  Richard Biener  <rguenther@suse.de>
550
551          PR gcov-profile/114715
552          * gimplify.cc (gimplify_switch_expr): Set the location of the
553          GIMPLE switch.
554
5552024-05-15  Martin Jambor  <mjambor@suse.cz>
556
557          Backported from master:
558          2024-04-08  Martin Jambor  <mjambor@suse.cz>
559
560          PR ipa/108007
561          PR ipa/112616
562          * cgraph.h (cgraph_edge): Add a parameter to
563          redirect_call_stmt_to_callee.
564          * ipa-param-manipulation.h (ipa_param_adjustments): Add a
565          parameter to modify_call.
566          (ipa_release_ssas_in_hash): Declare.
567          * cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee): New
568          parameter killed_ssas, pass it to padjs->modify_call.
569          * ipa-param-manipulation.cc (purge_all_uses): New function.
570          (ipa_param_adjustments::modify_call): New parameter killed_ssas.
571          Instead of substituting uses, invoke purge_all_uses.  If
572          hash of killed SSAs has not been provided, create a temporary one
573          and release SSAs that have been added to it.
574          (compare_ssa_versions): New function.
575          (ipa_release_ssas_in_hash): Likewise.
576          * tree-inline.cc (redirect_all_calls): Create
577          id->killed_new_ssa_names earlier, pass it to edge redirection,
578          adjust a comment.
579          (copy_body): Release SSAs in id->killed_new_ssa_names.
580
5812024-05-15  Martin Jambor  <mjambor@suse.cz>
582
583          Backported from master:
584          2024-04-05  Martin Jambor  <mjambor@suse.cz>
585
586          PR ipa/114247
587          * ipa-param-manipulation.cc (ipa_param_adjustments::modify_call):
588          Force values obtined through pass-through maps to the expected
589          split type.
590
5912024-05-13  Andrew MacLeod  <amacleod@redhat.com>
592
593          PR tree-optimization/111009
594          * range-op.cc (operator_addr_expr::op1_range): Be more restrictive.
595          * value-range.h (contains_zero_p): New.
596
5972024-05-09  Andrew Pinski  <apinski@marvell.com>
598
599          Backported from master:
600          2023-09-25  Andrew Pinski  <apinski@marvell.com>
601
602          PR tree-optimization/110386
603          * gimple-ssa-backprop.cc (strip_sign_op_1): Remove ABSU_EXPR.
604
6052024-05-08  Andrew Pinski  <quic_apinski@quicinc.com>
606
607          Backported from master:
608          2024-02-22  Andrew Pinski  <quic_apinski@quicinc.com>
609
610          PR tree-optimization/109804
611          * gimple-ssa-warn-access.cc (new_delete_mismatch_p): Handle
612          DEMANGLE_COMPONENT_UNNAMED_TYPE.
613
6142024-05-08  Andrew Pinski  <apinski@marvell.com>
615
616          Backported from master:
617          2023-09-10  Andrew Pinski  <apinski@marvell.com>
618
619          PR tree-optimization/111331
620          * tree-ssa-phiopt.cc (minmax_replacement):
621          Fix the LE/GE comparison for the
622          `(a CMP CST1) ? max<a,CST2> : a` optimization.
623
6242024-05-08  Andrew Pinski  <quic_apinski@quicinc.com>
625
626          Backported from master:
627          2024-03-11  Andrew Pinski  <quic_apinski@quicinc.com>
628
629          PR middle-end/95351
630          * fold-const.cc (merge_truthop_with_opposite_arm): Use
631          the type of the operands of the comparison and not the type
632          of the comparison.
633
6342024-05-07  Georg-Johann Lay  <avr@gjlay.de>
635
636          * config/avr/avr-mcus.def: Add new MCUs (copy from gcc-13).
637          * doc/avr-mmcu.texi: Rebuild.
638
6392024-05-07  Georg-Johann Lay  <avr@gjlay.de>
640
641          Backported from master:
642          2024-05-06  Georg-Johann Lay  <avr@gjlay.de>
643
644          PR ipa/92606
645          * config/avr/avr.cc (avr_option_override): Set
646          flag_ipa_icf_variables = 0.
647
6482024-05-02  Richard Biener  <rguenther@suse.de>
649
650          Backported from master:
651          2024-04-10  Richard Biener  <rguenther@suse.de>
652
653          PR tree-optimization/114672
654          * tree-ssa-math-opts.cc (convert_plusminus_to_widen): Only
655          allow mode-precision results.
656
6572024-05-02  Will Schmidt  <will_schmidt@linux.ibm.com>
658
659          Backported from master:
660          2024-04-12  Will Schmidt  <will_schmidt@linux.ibm.com>
661                        Peter Bergner  <bergner@linux.ibm.com>
662
663          PR target/101865
664          * config/rs6000/rs6000-builtin.cc (rs6000_builtin_is_supported): Use
665          TARGET_POWER8.
666          * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Use
667          OPTION_MASK_POWER8.
668          * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add OPTION_MASK_POWER8.
669          (ISA_2_7_MASKS_SERVER): Likewise.
670          * config/rs6000/rs6000.cc (rs6000_option_override_internal): Update
671          comment.  Use OPTION_MASK_POWER8 and TARGET_POWER8.
672          * config/rs6000/rs6000.h (TARGET_SYNC_HI_QI): Use TARGET_POWER8.
673          * config/rs6000/rs6000.md (define_attr "isa"): Add p8.
674          (define_attr "enabled"): Handle it.
675          (define_insn "prefetch"): Use TARGET_POWER8.
676          * config/rs6000/rs6000.opt (mpower8-internal): New.
677
6782024-05-02  Peter Bergner  <bergner@linux.ibm.com>
679
680          Backported from master:
681          2024-04-10  Peter Bergner  <bergner@linux.ibm.com>
682
683          PR target/101865
684          * config/rs6000/rs6000.h (TARGET_DIRECT_MOVE): Define.
685          * config/rs6000/rs6000.cc (rs6000_option_override_internal): Replace
686          OPTION_MASK_DIRECT_MOVE with OPTION_MASK_P8_VECTOR.  Delete redundant
687          OPTION_MASK_DIRECT_MOVE usage.  Delete TARGET_DIRECT_MOVE dead code.
688          (rs6000_opt_masks): Neuter the "direct-move" option.
689          * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Replace
690          OPTION_MASK_DIRECT_MOVE with OPTION_MASK_P8_VECTOR.  Delete useless
691          comment.
692          * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Delete
693          OPTION_MASK_DIRECT_MOVE.
694          (OTHER_P8_VECTOR_MASKS): Likewise.
695          (POWERPC_MASKS): Likewise.
696          * config/rs6000/rs6000.opt (mdirect-move): Remove Mask and Var.
697
6982024-05-01  Jeevitha  <jeevitha@linux.ibm.com>
699
700          Backported from master:
701          2024-03-07  Jeevitha Palanisamy  <jeevitha@linux.ibm.com>
702
703          PR target/113950
704          * config/rs6000/vsx.md (vsx_splat_<mode>): Correct assignment to operand1
705          and simplify else if with else.
706
7072024-04-30  Joe Ramsay  <Joe.Ramsay@arm.com>
708
709          Backported from master:
710          2024-03-15  Joe Ramsay  <Joe.Ramsay@arm.com>
711
712          * match.pd: Fix truncation pattern for -fno-signed-zeroes
713
7142024-04-30  Yang Yujie  <yangyujie@loongson.cn>
715
716          Backported from master:
717          2023-12-12  Yang Yujie  <yangyujie@loongson.cn>
718
719          PR target/114848
720          * config/loongarch/loongarch.cc: Do not restore the saved eh_return
721          data registers ($r4-$r7) for a normal return of a function that calls
722          __builtin_eh_return elsewhere.
723          * config/loongarch/loongarch-protos.h: Same.
724          * config/loongarch/loongarch.md: Same.
725
7262024-04-26  Richard Ball  <richard.ball@arm.com>
727
728          PR target/114272
729          * config/aarch64/aarch64-cores.def (AARCH64_CORE):
730          Change SCHEDULER_IDENT from cortexa55 to cortexa53
731          for Cortex-A510.
732
7332024-04-25  Richard Ball  <richard.ball@arm.com>
734
735          Backported from master:
736          2024-04-25  Richard Ball  <richard.ball@arm.com>
737
738          PR target/114837
739          * config/arm/arm.cc (cmse_nonsecure_call_inline_register_clear):
740          Add zero/sign extend.
741          (arm_expand_prologue): Add zero/sign extend.
742
7432024-04-25  Kewen Lin  <linkw@linux.ibm.com>
744              Andrew Pinski  <quic_apinski@quicinc.com>
745
746          PR target/88309
747          * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Fix
748          wrong align passed to function build_aligned_type.
749          * tree-ssa-loop-prefetch.cc (is_miss_rate_acceptable): Add an
750          assertion to ensure align_unit should be positive.
751          * tree.cc (build_qualified_type): Update function comments.
752
7532024-04-23  Jakub Jelinek  <jakub@redhat.com>
754
755          Backported from master:
756          2024-03-26  Jakub Jelinek  <jakub@redhat.com>
757
758          PR sanitizer/111736
759          * tsan.cc (instrument_expr): Punt on non-generic address space
760          accesses.
761
7622024-04-23  Jakub Jelinek  <jakub@redhat.com>
763
764          Backported from master:
765          2024-03-22  Jakub Jelinek  <jakub@redhat.com>
766
767          PR sanitizer/111736
768          * ubsan.cc (ubsan_expand_null_ifn, instrument_mem_ref): Avoid
769          SANITIZE_NULL instrumentation for non-generic address spaces
770          for which targetm.addr_space.zero_address_valid (as) is true.
771
7722024-04-23  Richard Biener  <rguenther@suse.de>
773
774          Backported from master:
775          2024-03-21  Richard Biener  <rguenther@suse.de>
776
777          PR tree-optimization/111736
778          * asan.cc (instrument_derefs): Do not instrument accesses
779          to non-generic address-spaces.
780
7812024-04-23  Richard Biener  <rguenther@suse.de>
782
783          Backported from master:
784          2023-12-05  Richard Biener  <rguenther@suse.de>
785
786          PR sanitizer/111736
787          * asan.cc (asan_protect_global): Do not protect globals
788          in non-generic address-space.
789
7902024-04-22  Iain Sandoe  <iain@sandoe.co.uk>
791
792          Backported from master:
793          2023-09-04  Iain Sandoe  <iain@sandoe.co.uk>
794
795          * config/rs6000/darwin.h (LIB_SPEC): Include libSystemStubs for
796          all 32b Darwin PowerPC cases.
797
7982024-04-22  Iain Sandoe  <iain@sandoe.co.uk>
799
800          Backported from master:
801          2024-04-02  Iain Sandoe  <iain@sandoe.co.uk>
802
803          * config/darwin.cc (darwin_override_options): Update the
804          clang major version value in the dsymutil check.
805
8062024-04-21  Iain Sandoe  <iain@sandoe.co.uk>
807
808          Backported from master:
809          2024-04-02  Iain Sandoe  <iain@sandoe.co.uk>
810
811          * config/darwin.cc (darwin_override_options): Reduce the debug
812          level to 2 if dsymutil cannot handle .macinfo sections.
813
8142024-04-19  Iain Sandoe  <iain@sandoe.co.uk>
815
816          Backported from master:
817          2023-10-25  Iain Sandoe  <iain@sandoe.co.uk>
818
819          * config/darwin.cc (darwin_override_options): Handle fPIE.
820
8212024-04-19  Iain Sandoe  <iain@sandoe.co.uk>
822
823          * config/darwin.h (LINK_COMMAND_SPEC_A): Handle weak crts
824          before other objects. (REAL_LIBGCC_SPEC): Remove weak crts
825          from here.  (DARWIN_WEAK_CRTS): New.
826
8272024-04-19  Iain Sandoe  <iain@sandoe.co.uk>
828
829          Backported from master:
830          2024-01-28  Iain Sandoe  <iain@sandoe.co.uk>
831
832          * config/darwin.cc (darwin_build_constant_cfstring): Prevent over-
833          alignment of CFString constants by setting DECL_USER_ALIGN.
834
8352024-04-19  Iain Sandoe  <iain@sandoe.co.uk>
836
837          Backported from master:
838          2024-01-18  Iain Sandoe  <iain@sandoe.co.uk>
839
840          * config/darwin.cc (darwin_objc1_section): Use the correct
841          meta-data version for constant strings.
842          (machopic_select_section): Assert if we fail to handle CFString
843          sections as Obejctive-C meta-data or drectly.
844
8452024-04-19  Iain Sandoe  <iain@sandoe.co.uk>
846
847          Backported from master:
848          2024-01-18  Iain Sandoe  <iain@sandoe.co.uk>
849
850          PR target/105522
851          * config/darwin.cc (machopic_select_section): Handle C and C++
852          CFStrings.
853          (darwin_rename_builtins): Move this out of the CFString code.
854          (darwin_libc_has_function): Likewise.
855          (darwin_build_constant_cfstring): Create an anonymous var to
856          hold each CFString.
857          * config/darwin.h (ASM_OUTPUT_LABELREF): Handle constant
858          CFstrings.
859
8602024-04-19  Iain Sandoe  <iain@sandoe.co.uk>
861
862          Backported from master:
863          2023-10-26  Iain Sandoe  <iain@sandoe.co.uk>
864
865          * config/darwin.h
866          (darwin_label_is_anonymous_local_objc_name): Make metadata names
867          linker-visibile for GNU objective C.
868
8692024-04-18  Iain Sandoe  <iain@sandoe.co.uk>
870
871          Backported from master:
872          2023-10-18  Iain Sandoe  <iain@sandoe.co.uk>
873
874          * config.in: Regenerate.
875          * config/darwin.cc (darwin_file_start): Add assembler directives
876          for the target OS version, where these are supported by the
877          assembler.
878          (darwin_override_options): Check for building >= macOS 10.14.
879          * configure: Regenerate.
880          * configure.ac: Check for assembler support of .build_version
881          directives.
882
8832024-04-18  Iain Sandoe  <iain@sandoe.co.uk>
884
885          Backported from master:
886          2023-09-10  Iain Sandoe  <iain@sandoe.co.uk>
887
888          * config/darwin.cc (darwin_function_section): Place unlikely
889          executed global init code into the standard cold section.
890
8912024-04-18  Iain Sandoe  <iain@sandoe.co.uk>
892
893          Backported from master:
894          2023-09-04  Iain Sandoe  <iain@sandoe.co.uk>
895
896          * config/darwin-sections.def (static_init_section): Add the
897          __TEXT,__StaticInit section.
898          * config/darwin.cc (darwin_function_section): Use the static init
899          section for global initializers, to match other platform toolchains.
900
9012024-04-18  Iain Sandoe  <iain@sandoe.co.uk>
902
903          Backported from master:
904          2023-09-04  Iain Sandoe  <iain@sandoe.co.uk>
905
906          * config/darwin-sections.def (darwin_exception_section): Move to
907          the __TEXT segment.
908          * config/darwin.cc (darwin_emit_except_table_label): Align before
909          the exception table label.
910          * config/darwin.h (ASM_PREFERRED_EH_DATA_FORMAT): Use indirect PC-
911          relative 4byte relocs.
912
9132024-04-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
914
915          Backported from master:
916          2023-08-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
917
918          * configure.ac (gcc_cv_ld64_version): Allow for dyld in ld -v
919          output.
920          * configure: Regenerate.
921
9222024-04-18  Iain Sandoe  <iain@sandoe.co.uk>
923
924          Backported from master:
925          2023-09-18  Iain Sandoe  <iain@sandoe.co.uk>
926
927          * configure: Regenerate.
928          * configure.ac: Handle explict disable of stdlib option, set
929          defaults for Darwin.
930
9312024-04-18  Iain Sandoe  <iain@sandoe.co.uk>
932
933          Backported from master:
934          2023-09-20  Iain Sandoe  <iain@sandoe.co.uk>
935
936          * config/darwin.h:
937          (SUBTARGET_DRIVER_SELF_SPECS): Move handling of 'shared' into the same
938          specs as 'dynamiclib'. (STARTFILE_SPEC): Handle 'shared'.
939
9402024-04-15  Richard Biener  <rguenther@suse.de>
941
942          Backported from master:
943          2024-04-05  Richard Biener  <rguenther@suse.de>
944
945          PR middle-end/114599
946          PR gcov-profile/114115
947          * symtab.cc (ifunc_ref_map): Do not use auto_bitmap.
948          (is_caller_ifunc_resolver): Optimize bitmap_bit_p/bitmap_set_bit
949          pair.
950          (symtab_node::check_ifunc_callee_symtab_nodes): Properly
951          allocate ifunc_ref_map here.
952
9532024-04-15  H.J. Lu  <hjl.tools@gmail.com>
954
955          Backported from master:
956          2024-04-03  H.J. Lu  <hjl.tools@gmail.com>
957
958          PR tree-optimization/114115
959          * cgraph.h (symtab_node): Add check_ifunc_callee_symtab_nodes.
960          (cgraph_node): Add called_by_ifunc_resolver.
961          * cgraphunit.cc (symbol_table::compile): Call
962          symtab_node::check_ifunc_callee_symtab_nodes.
963          * symtab.cc (check_ifunc_resolver): New.
964          (ifunc_ref_map): Likewise.
965          (is_caller_ifunc_resolver): Likewise.
966          (symtab_node::check_ifunc_callee_symtab_nodes): Likewise.
967          * tree-profile.cc (gimple_gen_ic_func_profiler): Disable indirect
968          call profiling for IFUNC resolvers and their callees.
969
9702024-04-15  Tamar Christina  <tamar.christina@arm.com>
971
972          * config/aarch64/aarch64.h (AARCH64_ARCH): Remove LS64 from
973          Armv8.7-a.
974
9752024-04-15  Tamar Christina  <tamar.christina@arm.com>
976
977          PR tree-optimization/113552
978          * config/aarch64/aarch64.cc
979          (aarch64_simd_clone_compute_vecsize_and_simdlen): Block simdlen 1.
980
9812024-04-12  Iain Sandoe  <iain@sandoe.co.uk>
982
983          Backported from master:
984          2023-09-27  Iain Sandoe  <iain@sandoe.co.uk>
985
986          PR target/111610
987          * configure: Regenerate.
988          * configure.ac: Rename the missing dsymutil case to "DET_UNKNOWN".
989
9902024-04-12  Iain Sandoe  <iain@sandoe.co.uk>
991
992          Backported from master:
993          2023-09-18  Iain Sandoe  <iain@sandoe.co.uk>
994
995          * config/darwin-protos.h (enum darwin_external_toolchain): New.
996          * config/darwin.cc (DSYMUTIL_VERSION): New.
997          (darwin_override_options): Choose the default debug DWARF version
998          depending on the configured dsymutil version.
999
10002024-04-12  Iain Sandoe  <iain@sandoe.co.uk>
1001
1002          Backported from master:
1003          2022-05-03  Iain Sandoe  <iain@sandoe.co.uk>
1004
1005          * config/darwin.cc (darwin_label_is_anonymous_local_objc_name): Make
1006          protocol class methods linker-visible.
1007
10082024-04-11  Kito Cheng  <kito.cheng@sifive.com>
1009
1010          Backported from master:
1011          2024-02-29  Kito Cheng  <kito.cheng@sifive.com>
1012
1013          PR target/114130
1014          * config/riscv/sync.md (atomic_compare_and_swap<mode>): Sign
1015          extend the expected value if needed.
1016
10172024-04-04  Iain Sandoe  <iain@sandoe.co.uk>
1018
1019          Backported from master:
1020          2023-07-13  Iain Sandoe  <iain@sandoe.co.uk>
1021
1022          PR target/110624
1023          * config/darwin.h (DARWIN_PLATFORM_ID): New.
1024          (LINK_COMMAND_A): Use DARWIN_PLATFORM_ID to pass OS, OS version
1025          and SDK data to the static linker.
1026
10272024-04-02  Qing Zhao  <qing.zhao@oracle.com>
1028
1029          Backported from master:
1030          2023-09-15  Qing Zhao  <qing.zhao@oracle.com>
1031
1032          PR tree-optimization/111407
1033          * tree-ssa-math-opts.cc (convert_mult_to_widen): Avoid the transform
1034          when one of the operands is subject to abnormal coalescing.
1035
10362024-04-01  Lulu Cheng  <chenglulu@loongson.cn>
1037
1038          Backported from master:
1039          2024-01-11  Lulu Cheng  <chenglulu@loongson.cn>
1040
1041          PR target/113233
1042          * config/loongarch/genopts/loongarch.opt.in: Mark options with
1043          the "Save" property.
1044          * config/loongarch/loongarch-opts.cc
1045          (loongarch_update_gcc_opt_status): Update the value of the
1046          la_target to global_options.
1047          * config/loongarch/loongarch-opts.h
1048          (loongarch_update_gcc_opt_status): Add a function declaration.
1049          * config/loongarch/loongarch.cc
1050          (loongarch_option_override_internal): Call the function
1051          loongarch_update_gcc_opt_status.
1052          (loongarch_option_save): New functions.
1053          (loongarch_option_restore): Likewise.
1054          (TARGET_OPTION_SAVE): Define macro.
1055          (TARGET_OPTION_RESTORE): Likewise.
1056          * config/loongarch/loongarch.opt: Regenerate.
1057
10582024-03-27  Richard Sandiford  <richard.sandiford@arm.com>
1059
1060          Backported from master:
1061          2024-03-05  Richard Sandiford  <richard.sandiford@arm.com>
1062
1063          PR sanitizer/97696
1064          * asan.cc (asan_expand_mark_ifn): Allow the length to be a poly_int.
1065
10662024-03-26  Richard Biener  <rguenther@suse.de>
1067
1068          Backported from master:
1069          2023-08-04  Richard Biener  <rguenther@suse.de>
1070
1071          PR tree-optimization/110838
1072          * match.pd (([rl]shift @0 out-of-bounds) -> zero): Restrict
1073          the arithmetic right-shift case to non-negative operands.
1074
10752024-03-26  Richard Biener  <rguenther@suse.de>
1076
1077          Backported from master:
1078          2023-07-27  Richard Biener  <rguenther@suse.de>
1079
1080          PR tree-optimization/91838
1081          * gimple-match-head.cc: Include attribs.h and asan.h.
1082          * generic-match-head.cc: Likewise.
1083          * match.pd (([rl]shift @0 out-of-bounds) -> zero): New pattern.
1084
10852024-03-17  Iain Sandoe  <iain@sandoe.co.uk>
1086
1087          Backported from master:
1088          2023-07-02  Iain Sandoe  <iain@sandoe.co.uk>
1089
1090          PR target/108743
1091          * config/darwin.opt: Add fconstant-cfstrings alias to
1092          mconstant-cfstrings.
1093          * doc/invoke.texi: Amend invocation descriptions to reflect
1094          that the fconstant-cfstrings is a target-option alias and to
1095          add the missing mconstant-cfstrings option description to the
1096          Darwin section.
1097
10982024-03-17  Iain Sandoe  <iain@sandoe.co.uk>
1099
1100          * config/i386/darwin.h (ENDFILE_SPEC): Fix whitespace.
1101
11022024-03-14  liuhongt  <hongtao.liu@intel.com>
1103
1104          Backported from master:
1105          2024-03-14  liuhongt  <hongtao.liu@intel.com>
1106
1107          * config/i386/i386-features.cc
1108          (general_scalar_chain::convert_op): Handle REG_EH_REGION note.
1109          (convert_scalars_to_vector): Ditto.
1110          * config/i386/i386-features.h (class scalar_chain): New
1111          memeber control_flow_insns.
1112
11132024-03-09  Lulu Cheng  <chenglulu@loongson.cn>
1114
1115          Backported from master:
1116          2024-03-09  Lulu Cheng  <chenglulu@loongson.cn>
1117
1118          * config/loongarch/sync.md (atomic_cas_value_strong<mode>):
1119          In loongarch64, a sign extension operation is added when
1120          operands[2] is a register operand and the mode is SImode.
1121
11222024-03-03  Oleg Endo  <olegendo@gcc.gnu.org>
1123
1124          PR target/101737
1125          * config/sh/sh.cc (sh_is_nott_insn): Handle case where the input
1126          is not an insn, but e.g. a code label.
1127
11282024-03-01  Richard Biener  <rguenther@suse.de>
1129
1130          Backported from master:
1131          2024-02-06  Richard Biener  <rguenther@suse.de>
1132
1133          PR tree-optimization/110221
1134          * tree-vect-slp.cc (vect_schedule_slp_node): When loop
1135          masking / len is applied make sure to not schedule
1136          intenal defs outside of the loop.
1137
11382024-02-27  Eric Botcazou  <ebotcazou@adacore.com>
1139
1140          * tree-ssa-dse.cc (compute_trims): Fix description.  Return early
1141          if either ref->offset is not byte aligned or ref->size is not known
1142          to be equal to ref->max_size.
1143          (maybe_trim_complex_store): Fix description.
1144          (maybe_trim_constructor_store): Likewise.
1145          (maybe_trim_partially_dead_store): Likewise.
1146
11472024-02-27  Jeevitha  <jeevitha@linux.ibm.com>
1148
1149          Backported from master:
1150          2023-08-31  Jeevitha Palanisamy  <jeevitha@linux.ibm.com>
1151
1152          PR target/110411
1153          * config/rs6000/mma.md (define_insn_and_split movoo): Disallow
1154          AltiVec address operands.
1155          (define_insn_and_split movxo): Likewise.
1156          * config/rs6000/predicates.md (vsx_quad_dform_memory_operand): Remove
1157          redundant mode size check.
1158
11592024-02-27  H.J. Lu  <hjl.tools@gmail.com>
1160
1161          Backported from master:
1162          2024-02-26  H.J. Lu  <hjl.tools@gmail.com>
1163
1164          PR target/114098
1165          * config/i386/amxtileintrin.h (_tile_loadconfig): Use
1166          __builtin_ia32_ldtilecfg.
1167          (_tile_storeconfig): Use __builtin_ia32_sttilecfg.
1168          * config/i386/i386-builtin.def (BDESC): Add
1169          __builtin_ia32_ldtilecfg and __builtin_ia32_sttilecfg.
1170          * config/i386/i386-expand.cc (ix86_expand_builtin): Handle
1171          IX86_BUILTIN_LDTILECFG and IX86_BUILTIN_STTILECFG.
1172          * config/i386/i386.md (ldtilecfg): New pattern.
1173          (sttilecfg): Likewise.
1174
11752024-02-23  Richard Earnshaw  <rearnsha@arm.com>
1176
1177          Backported from master:
1178          2024-02-23  Richard Earnshaw  <rearnsha@arm.com>
1179
1180          PR target/108120
1181          * config/arm/neon.md (div<VCVTF:mode>3): Rename from div<mode>3.
1182          Gate with ARM_HAVE_NEON_<MODE>_ARITH.
1183
11842024-02-22  Xi Ruoyao  <xry111@xry111.site>
1185
1186          Backported from master:
1187          2023-10-31  Xi Ruoyao  <xry111@xry111.site>
1188
1189          PR target/112299
1190          * config/loongarch/loongarch-opts.h (HAVE_AS_TLS): Define to 0
1191          if not defined yet.
1192
11932024-02-22  Xi Ruoyao  <xry111@xry111.site>
1194
1195          Backported from master:
1196          2023-11-14  Xi Ruoyao  <xry111@xry111.site>
1197
1198          PR target/112330
1199          * config/loongarch/genopts/loongarch.opt.in: Add
1200          -m[no]-pass-relax-to-as.  Change the default of -m[no]-relax to
1201          account conditional branch relaxation support status.
1202          * config/loongarch/loongarch.opt: Regenerate.
1203          * configure.ac (gcc_cv_as_loongarch_cond_branch_relax): Check if
1204          the assembler supports conditional branch relaxation.
1205          * configure: Regenerate.
1206          * config.in: Regenerate.  Note that there are some unrelated
1207          changes introduced by r14-5424 (which does not contain a
1208          config.in regeneration).
1209          * config/loongarch/loongarch-opts.h
1210          (HAVE_AS_COND_BRANCH_RELAXATION): Define to 0 if not defined.
1211          * config/loongarch/loongarch.h (ASM_MRELAX_DEFAULT): Define.
1212          (ASM_MRELAX_SPEC): Define.
1213          (ASM_SPEC): Use ASM_MRELAX_SPEC instead of "%{mno-relax}".
1214          * doc/invoke.texi: Document -m[no-]relax and
1215          -m[no-]pass-mrelax-to-as for LoongArch.
1216
12172024-02-22  Lulu Cheng  <chenglulu@loongson.cn>
1218
1219          Backported from master:
1220          2023-09-20  Lulu Cheng  <chenglulu@loongson.cn>
1221
1222          * config.in: Regenerate.
1223          * config/loongarch/genopts/loongarch.opt.in: Add compilation option
1224          mrelax. And set the initial value of explicit-relocs according to the
1225          detection status.
1226          * config/loongarch/gnu-user.h: When compiling with -mno-relax, pass the
1227          --no-relax option to the linker.
1228          * config/loongarch/loongarch-opts.h (HAVE_AS_MRELAX_OPTION): Define macro.
1229          * config/loongarch/loongarch.opt: Regenerate.
1230          * configure: Regenerate.
1231          * configure.ac: Add detection of support for binutils relax function.
1232
12332024-02-22  Lulu Cheng  <chenglulu@loongson.cn>
1234
1235          Backported from master:
1236          2023-10-17  Lulu Cheng  <chenglulu@loongson.cn>
1237                        Chenghua Xu  <xuchenghua@loongson.cn>
1238
1239          * config/loongarch/loongarch.h (ASM_OUTPUT_ALIGN_WITH_NOP):
1240          Delete.
1241
12422024-02-19  Andre Vieira  <andre.simoesdiasvieira@arm.com>
1243
1244          Backported from master:
1245          2023-12-20  Andre Vieira  <andre.simoesdiasvieira@arm.com>
1246
1247          PR target/112787
1248          * tree-vect-generic.cc (type_for_widest_vector_mode): Change function to
1249          use original vector type and check widest vector mode has at most the
1250          same number of elements.
1251          (get_compute_type): Pass original vector type rather than the element
1252          type to type_for_widest_vector_mode and remove now obsolete check for
1253          the number of elements.
1254
12552024-02-15  Jakub Jelinek  <jakub@redhat.com>
1256
1257          Backported from master:
1258          2024-02-15  Jakub Jelinek  <jakub@redhat.com>
1259
1260          PR middle-end/113921
1261          * cfgrtl.h (prepend_insn_to_edge): New declaration.
1262          * cfgrtl.cc (insert_insn_on_edge): Clarify behavior in function
1263          comment.
1264          (prepend_insn_to_edge): New function.
1265          * cfgexpand.cc (expand_asm_stmt): Use prepend_insn_to_edge instead of
1266          insert_insn_on_edge.
1267
12682024-02-14  Alex Coplan  <alex.coplan@arm.com>
1269
1270          Backported from master:
1271          2024-02-07  Alex Coplan  <alex.coplan@arm.com>
1272
1273          PR target/111677
1274          * config/aarch64/aarch64.cc (aarch64_reg_save_mode): Use
1275          V16QImode for the full 16-byte FPR saves in the vector PCS case.
1276          (aarch64_gen_storewb_pair): Handle V16QImode.
1277          (aarch64_gen_loadwb_pair): Likewise.
1278          (aarch64_gen_load_pair): Likewise.
1279          * config/aarch64/aarch64.md (loadwb_pair<TX:mode>_<P:mode>):
1280          Rename to ...
1281          (loadwb_pair<TX_V16QI:mode>_<P:mode>): ... this, extending to
1282          V16QImode.
1283          (storewb_pair<TX:mode>_<P:mode>): Rename to ...
1284          (storewb_pair<TX_V16QI:mode>_<P:mode>): ... this, extending to
1285          V16QImode.
1286          * config/aarch64/iterators.md (TX_V16QI): New.
1287
12882024-02-14  Richard Biener  <rguenther@suse.de>
1289
1290          PR tree-optimization/113896
1291          * tree-vect-slp.cc (vect_optimize_slp): Permute
1292          SLP_TREE_SCALAR_STMTS when eliding a permuation in a
1293          VEC_PERM node we need to preserve because it wraps an
1294          extern vector.
1295
12962024-02-08  Georg-Johann Lay  <avr@gjlay.de>
1297
1298          Backported from master:
1299          2024-02-08  Georg-Johann Lay  <avr@gjlay.de>
1300
1301          PR target/113824
1302          * config/avr/avr-mcus.def (ata5797): Move from avr5 to avr4.
1303          * doc/avr-mmcu.texi: Rebuild.
1304
13052024-02-05  Jason Merrill  <jason@redhat.com>
1306
1307          Backported from master:
1308          2023-06-02  Jason Merrill  <jason@redhat.com>
1309
1310          PR c++/95226
1311          PR c++/109359
1312          * varasm.cc (output_constant) [REAL_TYPE]: Check that sizes match.
1313          (initializer_constant_valid_p_1): Compare float precision.
1314
13152024-02-05  Xi Ruoyao  <xry111@xry111.site>
1316
1317          Backported from master:
1318          2024-02-05  Xi Ruoyao  <xry111@xry111.site>
1319
1320          * config/mips/mips-msa.md (neg<mode:MSA>2): Add missing mode for
1321          neg.
1322
13232024-02-05  Xi Ruoyao  <xry111@xry111.site>
1324
1325          Backported from master:
1326          2024-02-05  Xi Ruoyao  <xry111@xry111.site>
1327
1328          * config/mips/mips-msa.md (elmsgnbit): New define_mode_attr.
1329          (neg<mode>2): Change the mode iterator from MSA to IMSA because
1330          in FP arithmetic we cannot use (0 - x) for -x.
1331          (neg<mode>2): New define_insn to implement FP vector negation,
1332          using a bnegi instruction to negate the sign bit.
1333
13342024-02-02  Martin Jambor  <mjambor@suse.cz>
1335
1336          Backported from master:
1337          2024-01-24  Martin Jambor  <mjambor@suse.cz>
1338
1339          PR tree-optimization/110422
1340          * tree-sra.cc (scan_function): Disqualify bases of operands of asm
1341          gotos.
1342
13432024-02-01  John David Anglin  <danglin@gcc.gnu.org>
1344
1345          * config/pa/pa.md (atomic_storedi_1): Fix bug in
1346          alternative 1.
1347
13482024-01-26  Wilco Dijkstra  <wilco.dijkstra@arm.com>
1349
1350          Backported from master:
1351          2024-01-16  Wilco Dijkstra  <wilco.dijkstra@arm.com>
1352
1353          * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add 'cobalt-100' CPU.
1354          * config/aarch64/aarch64-tune.md: Regenerated.
1355          * doc/invoke.texi (-mcpu): Add cobalt-100 core.
1356
13572024-01-25  Georg-Johann Lay  <avr@gjlay.de>
1358
1359          Backported from master:
1360          2024-01-25  Georg-Johann Lay  <avr@gjlay.de>
1361
1362          PR target/113601
1363          * config/avr/avr-mcus.def (atmega3208, atmega3209): Fix data_section_start.
1364
13652024-01-16  Georg-Johann Lay  <avr@gjlay.de>
1366
1367          Backported from master:
1368          2024-01-15  Georg-Johann Lay  <avr@gjlay.de>
1369
1370          PR target/107201
1371          * config/avr/avr.h (EXTRA_SPEC_FUNCTIONS): Add no-devlib, avr_no_devlib.
1372          * config/avr/driver-avr.cc (avr_no_devlib): New function.
1373          (avr_devicespecs_file): Use it to remove -nodevicelib from the
1374          options for cores only.
1375          * config/avr/avr-arch.h (avr_get_parch): New prototype.
1376          * config/avr/avr-devices.cc (avr_get_parch): New function.
1377
13782024-01-15  Andrew Pinski  <quic_apinski@quicinc.com>
1379
1380          Backported from master:
1381          2024-01-15  Andrew Pinski  <quic_apinski@quicinc.com>
1382
1383          PR target/113156
1384          * config/avr/avr.opt (-mdouble, -mlong-double): Add "Save" flag.
1385          (-mbranch-cost): Set "Optimization" flag.
1386
13872024-01-12  Georg-Johann Lay  <avr@gjlay.de>
1388
1389          Backported from master:
1390          2024-01-12  Georg-Johann Lay  <avr@gjlay.de>
1391
1392          * config/avr/avr.cc (avr_handle_addr_attribute): Move "..." from
1393          format string to %s argument.
1394
13952024-01-08  Georg-Johann Lay  <avr@gjlay.de>
1396
1397          Backported from master:
1398          2024-01-08  Georg-Johann Lay  <avr@gjlay.de>
1399
1400          PR target/112952
1401          * config/avr/avr.cc (avr_handle_addr_attribute): Also print valid
1402          range when diagnosing attribute "io" and "io_low" are out of range.
1403          (avr_eval_addr_attrib): Don't ICE on empty address at that place.
1404          (avr_insert_attributes): Reject if attribute "address", "io" or "io_low"
1405          in contexts other than static storage.
1406          (avr_asm_output_aligned_decl_common): Move output of decls with
1407          attribute "address", "io", and "io_low" to...
1408          (avr_output_addr_attrib): ...this new function.
1409          (avr_asm_asm_output_aligned_bss): Remove output for decls with
1410          attribute "address", "io", and "io_low".
1411          (avr_encode_section_info): Rectify handling of decls with attribute
1412          "address", "io", and "io_low".
1413
14142023-12-19  Jakub Jelinek  <jakub@redhat.com>
1415
1416          Backported from master:
1417          2023-12-19  Jakub Jelinek  <jakub@redhat.com>
1418
1419          PR target/112816
1420          * config/i386/mmx.md (signbitv2sf2): Force operands[1] into a REG.
1421
14222023-12-18  Jakub Jelinek  <jakub@redhat.com>
1423
1424          Backported from master:
1425          2023-12-18  Jakub Jelinek  <jakub@redhat.com>
1426
1427          PR tree-optimization/113013
1428          * tree-object-size.cc (alloc_object_size): Return size_unknown if
1429          corresponding argument(s) don't have integral type or have integral
1430          type with higher precision than sizetype.  Don't check arg1 >= 0
1431          uselessly.  Compare argument indexes against gimple_call_num_args
1432          in unsigned type rather than int.  Formatting fixes.
1433
14342023-12-16  Jakub Jelinek  <jakub@redhat.com>
1435
1436          Backported from master:
1437          2023-11-29  Jakub Jelinek  <jakub@redhat.com>
1438
1439          PR middle-end/112733
1440          * fold-const.cc (multiple_of_p): Pass SIGNED rather than
1441          UNSIGNED for wi::multiple_of_p on widest_int arguments.
1442
14432023-12-16  Jakub Jelinek  <jakub@redhat.com>
1444
1445          Backported from master:
1446          2023-12-05  Jakub Jelinek  <jakub@redhat.com>
1447
1448          PR target/112845
1449          * config/i386/i386.md (movabsq $(i32 << shift), r64 peephole2): FAIL
1450          if the new immediate is ix86_endbr_immediate_operand.
1451
14522023-12-16  Jakub Jelinek  <jakub@redhat.com>
1453
1454          Backported from master:
1455          2023-12-04  Jakub Jelinek  <jakub@redhat.com>
1456
1457          PR target/112837
1458          * config/i386/i386.cc (ix86_elim_entry_set_got): Before checking
1459          for UNSPEC_SET_GOT check that SET_SRC is UNSPEC.  Use SET_SRC and
1460          SET_DEST macros instead of XEXP, rename vec variable to set.
1461
14622023-12-16  Jakub Jelinek  <jakub@redhat.com>
1463
1464          Backported from master:
1465          2023-12-04  Jakub Jelinek  <jakub@redhat.com>
1466
1467          PR target/112816
1468          * config/i386/sse.md (signbit<mode>2): Force operands[1] into a REG.
1469
14702023-12-16  Jakub Jelinek  <jakub@redhat.com>
1471
1472          Backported from master:
1473          2023-11-25  Jakub Jelinek  <jakub@redhat.com>
1474
1475          PR target/111408
1476          * config/i386/i386.md (*jcc_bt<mode>_mask): Add (const_int 0) as
1477          expected second operand of bt_comparison_operator.
1478
14792023-12-16  Jakub Jelinek  <jakub@redhat.com>
1480
1481          Backported from master:
1482          2023-11-13  Jakub Jelinek  <jakub@redhat.com>
1483
1484          PR tree-optimization/111967
1485          * gimple-range-cache.cc (block_range_cache::set_bb_range): Grow
1486          m_ssa_ranges to num_ssa_names rather than num_ssa_names + 1.
1487          (block_range_cache::dump): Iterate from 1 rather than 0.  Don't use
1488          ssa_name (x) unless m_ssa_ranges[x] is non-NULL.  Iterate to
1489          m_ssa_ranges.length () rather than num_ssa_names.
1490
14912023-12-16  Jakub Jelinek  <jakub@redhat.com>
1492
1493          Backported from master:
1494          2023-11-09  Jakub Jelinek  <jakub@redhat.com>
1495
1496          PR c/112339
1497          * attribs.cc (attribute_ignored_p): Only return true for
1498          attr_namespace_ignored_p if as is NULL.
1499          (decl_attributes): Never add ignored attributes.
1500
15012023-12-16  Jakub Jelinek  <jakub@redhat.com>
1502
1503          Backported from master:
1504          2023-07-19  Jakub Jelinek  <jakub@redhat.com>
1505
1506          PR tree-optimization/110731
1507          * wide-int.cc (wi::divmod_internal): Always unpack dividend and
1508          divisor as UNSIGNED regardless of sgn.
1509
15102023-12-15  Richard Biener  <rguenther@suse.de>
1511
1512          Backported from master:
1513          2023-08-24  Richard Biener  <rguenther@suse.de>
1514
1515          PR debug/111080
1516          * dwarf2out.cc (prune_unused_types_walk): Handle
1517          DW_TAG_restrict_type, DW_TAG_shared_type, DW_TAG_atomic_type,
1518          DW_TAG_immutable_type, DW_TAG_coarray_type, DW_TAG_unspecified_type
1519          and DW_TAG_dynamic_type as to only output them when referenced.
1520
15212023-12-15  Richard Biener  <rguenther@suse.de>
1522
1523          Backported from master:
1524          2023-08-25  Richard Biener  <rguenther@suse.de>
1525
1526          PR tree-optimization/111137
1527          * tree-vect-data-refs.cc (vect_slp_analyze_load_dependences):
1528          Properly handle grouped stores from other SLP instances.
1529
15302023-12-15  Richard Biener  <rguenther@suse.de>
1531
1532          Backported from master:
1533          2023-08-25  Richard Biener  <rguenther@suse.de>
1534
1535          * tree-vect-data-refs.cc (vect_slp_analyze_store_dependences):
1536          Split out from vect_slp_analyze_node_dependences, remove
1537          dead code.
1538          (vect_slp_analyze_load_dependences): Split out from
1539          vect_slp_analyze_node_dependences, adjust comments.  Process
1540          queued stores before any disambiguation.
1541          (vect_slp_analyze_node_dependences): Remove.
1542          (vect_slp_analyze_instance_dependence): Adjust.
1543
15442023-12-12  liuhongt  <hongtao.liu@intel.com>
1545
1546          Backported from master:
1547          2023-12-12  liuhongt  <hongtao.liu@intel.com>
1548
1549          PR target/112891
1550          * config/i386/i386.cc (ix86_avx_u128_mode_after): Return
1551          AVX_U128_ANY if callee_abi doesn't clobber all_sse_regs to
1552          align with ix86_avx_u128_mode_needed.
1553          (ix86_avx_u128_mode_needed): Return AVX_U128_ClEAN for
1554          sibling_call.
1555
15562023-11-27  Richard Biener  <rguenther@suse.de>
1557
1558          Backported from master:
1559          2023-10-23  Richard Biener  <rguenther@suse.de>
1560
1561          PR tree-optimization/111917
1562          * tree-ssa-loop-unswitch.cc (hoist_guard): Always insert
1563          new conditional after last stmt.
1564
15652023-11-27  Richard Biener  <rguenther@suse.de>
1566
1567          Backported from master:
1568          2023-10-17  Richard Biener  <rguenther@suse.de>
1569
1570          PR middle-end/111818
1571          * tree-ssa.cc (maybe_optimize_var): When clearing
1572          DECL_NOT_GIMPLE_REG_P always rewrite into SSA.
1573
15742023-11-27  Richard Biener  <rguenther@suse.de>
1575
1576          Backported from master:
1577          2023-09-28  Richard Biener  <rguenther@suse.de>
1578
1579          PR tree-optimization/111614
1580          * tree-ssa-reassoc.cc (undistribute_bitref_for_vector): Properly
1581          convert the first vector when required.
1582
15832023-11-27  Richard Biener  <rguenther@suse.de>
1584
1585          Backported from master:
1586          2023-10-12  Richard Biener  <rguenther@suse.de>
1587
1588          PR tree-optimization/111764
1589          * tree-vect-loop.cc (check_reduction_path): Remove the attempt
1590          to allow x + x via special-casing of assigns.
1591
15922023-11-27  Richard Biener  <rguenther@suse.de>
1593
1594          Backported from master:
1595          2023-10-20  Richard Biener  <rguenther@suse.de>
1596
1597          PR tree-optimization/111445
1598          * tree-scalar-evolution.cc (simple_iv_with_niters):
1599          Add missing check for a sign-conversion.
1600
16012023-11-27  Richard Biener  <rguenther@suse.de>
1602
1603          Backported from master:
1604          2023-08-18  Richard Biener  <rguenther@suse.de>
1605
1606          PR tree-optimization/111019
1607          * tree-ssa-loop-im.cc (gather_mem_refs_stmt): When canonicalizing
1608          also scrap base and offset in case the ref is indirect.
1609
16102023-11-27  Richard Biener  <rguenther@suse.de>
1611
1612          Backported from master:
1613          2023-08-03  Richard Biener  <rguenther@suse.de>
1614
1615          PR tree-optimization/110702
1616          * tree-ssa-loop-ivopts.cc (rewrite_use_address): When
1617          we created a NULL pointer based access rewrite that to
1618          a LEA.
1619
16202023-11-27  Richard Biener  <rguenther@suse.de>
1621
1622          Backported from master:
1623          2023-07-06  Richard Biener  <rguenther@suse.de>
1624
1625          PR tree-optimization/110556
1626          * tree-ssa-tail-merge.cc (gimple_equal_p): Check
1627          assign code and all operands of non-stores.
1628
16292023-11-27  Richard Biener  <rguenther@suse.de>
1630
1631          Backported from master:
1632          2023-07-06  Richard Biener  <rguenther@suse.de>
1633
1634          PR tree-optimization/110515
1635          * tree-ssa-pre.cc (compute_avail): Make code dealing
1636          with hoisting loads with different alias-sets more
1637          robust.
1638
16392023-11-27  Richard Biener  <rguenther@suse.de>
1640
1641          Backported from master:
1642          2023-06-20  Richard Biener  <rguenther@suse.de>
1643
1644          PR debug/110295
1645          * dwarf2out.cc (process_scope_var): Continue processing
1646          the decl after setting a parent in case the existing DIE
1647          was in limbo.
1648
16492023-11-27  Richard Biener  <rguenther@suse.de>
1650
1651          Backported from master:
1652          2023-05-31  Richard Biener  <rguenther@suse.de>
1653
1654          PR ipa/109983
1655          PR tree-optimization/109143
1656          * tree-ssa-structalias.cc (struct topo_info): Remove.
1657          (init_topo_info): Likewise.
1658          (free_topo_info): Likewise.
1659          (compute_topo_order): Simplify API, put the component
1660          with ESCAPED last so it's processed first.
1661          (topo_visit): Adjust.
1662          (solve_graph): Likewise.
1663
16642023-11-24  Uros Bizjak  <ubizjak@gmail.com>
1665
1666          Backported from master:
1667          2023-11-23  Uros Bizjak  <ubizjak@gmail.com>
1668
1669          PR target/112672
1670          * config/i386/i386.md (parityhi2):
1671          Use temporary register in the call to gen_parityhi2_cmp.
1672
16732023-11-22  Maciej W. Rozycki  <macro@embecosm.com>
1674
1675          Backported from master:
1676          2023-11-22  Maciej W. Rozycki  <macro@embecosm.com>
1677
1678          PR target/111815
1679          * config/vax/vax.cc (index_term_p): Only accept the index scaler
1680          as the RHS operand to ASHIFT.
1681
16822023-11-20  Lulu Cheng  <chenglulu@loongson.cn>
1683
1684          Backported from master:
1685          2023-11-20  Lulu Cheng  <chenglulu@loongson.cn>
1686
1687          * config/loongarch/gnu-user.h (MUSL_ABI_SPEC): Modify suffix.
1688
16892023-11-20  Peng Fan  <fanpeng@loongson.cn>
1690
1691          Backported from master:
1692          2023-04-21  Peng Fan  <fanpeng@loongson.cn>
1693
1694          * config/loongarch/gnu-user.h (MUSL_DYNAMIC_LINKER): Redefine.
1695
16962023-11-16  Xi Ruoyao  <xry111@xry111.site>
1697
1698          Backported from master:
1699          2023-11-15  Xi Ruoyao  <xry111@xry111.site>
1700
1701          * config/loongarch/loongarch.cc
1702          (loongarch_memmodel_needs_release_fence): Remove.
1703          (loongarch_cas_failure_memorder_needs_acquire): New static
1704          function.
1705          (loongarch_print_operand): Redefine 'G' for the barrier on CAS
1706          failure.
1707          * config/loongarch/sync.md (atomic_cas_value_strong<mode>):
1708          Remove the redundant barrier before the LL instruction, and
1709          emit an acquire barrier on failure if needed by
1710          failure_memorder.
1711          (atomic_cas_value_cmp_and_7_<mode>): Likewise.
1712          (atomic_cas_value_add_7_<mode>): Remove the unnecessary barrier
1713          before the LL instruction.
1714          (atomic_cas_value_sub_7_<mode>): Likewise.
1715          (atomic_cas_value_and_7_<mode>): Likewise.
1716          (atomic_cas_value_xor_7_<mode>): Likewise.
1717          (atomic_cas_value_or_7_<mode>): Likewise.
1718          (atomic_cas_value_nand_7_<mode>): Likewise.
1719          (atomic_cas_value_exchange_7_<mode>): Likewise.
1720
17212023-11-15  Kewen Lin  <linkw@linux.ibm.com>
1722
1723          Backported from master:
1724          2023-11-06  Kewen Lin  <linkw@linux.ibm.com>
1725
1726          PR target/111828
1727          * config.in: Regenerate.
1728          * config/rs6000/rs6000.cc (rs6000_update_ipa_fn_target_info): Guard
1729          inline asm handling under !HAVE_AS_POWER10_HTM.
1730          * configure: Regenerate.
1731          * configure.ac: Detect assembler support for HTM insns at power10.
1732
17332023-11-10  liuhongt  <hongtao.liu@intel.com>
1734
1735          Backported from master:
1736          2023-11-10  liuhongt  <hongtao.liu@intel.com>
1737
1738          PR target/112443
1739          * config/i386/sse.md (*avx2_pcmp<mode>3_4): Fix swap condition
1740          from LT to GT since there's not in the pattern.
1741          (*avx2_pcmp<mode>3_5): Ditto.
1742
17432023-11-06  John David Anglin  <danglin@gcc.gnu.org>
1744
1745          * config/pa/pa.cc (pa_asm_trampoline_template): Fix typo.
1746
17472023-10-26  Lulu Cheng  <chenglulu@loongson.cn>
1748
1749          Backported from master:
1750          2023-10-23  Lulu Cheng  <chenglulu@loongson.cn>
1751
1752          * config/loongarch/loongarch.h (CLEAR_INSN_CACHE): New definition.
1753
17542023-10-26  chenxiaolong  <chenxiaolong@loongson.cn>
1755
1756          Backported from master:
1757          2023-10-25  chenxiaolong  <chenxiaolong@loongson.cn>
1758
1759          * config/loongarch/loongarch.md (get_thread_pointer<mode>):Adds the
1760          instruction template corresponding to the __builtin_thread_pointer
1761          function.
1762          * doc/extend.texi:Add the __builtin_thread_pointer function support
1763          description to the documentation.
1764
17652023-10-26  liuhongt  <hongtao.liu@intel.com>
1766
1767          Backported from master:
1768          2023-07-06  liuhongt  <hongtao.liu@intel.com>
1769
1770          PR target/110170
1771          * config/i386/i386.md (movdf_internal): Disparage slightly for
1772          2 alternatives (r,v) and (v,r) by adding constraint modifier
1773          '?'.
1774
17752023-10-23  Oleg Endo  <olegendo@gcc.gnu.org>
1776
1777          PR target/111001
1778          * config/sh/sh_treg_combine.cc (sh_treg_combine::record_set_of_reg):
1779          Skip over nop move insns.
1780
17812023-10-23  Kewen Lin  <linkw@linux.ibm.com>
1782
1783          Backported from master:
1784          2023-10-12  Kewen Lin  <linkw@linux.ibm.com>
1785
1786          PR target/111367
1787          * config/rs6000/rs6000.md (stack_protect_setsi): Support prefixed
1788          instruction emission and incorporate to stack_protect_set<mode>.
1789          (stack_protect_setdi): Rename to ...
1790          (stack_protect_set<mode>): ... this, adjust constraint.
1791          (stack_protect_testsi): Support prefixed instruction emission and
1792          incorporate to stack_protect_test<mode>.
1793          (stack_protect_testdi): Rename to ...
1794          (stack_protect_test<mode>): ... this, adjust constraint.
1795
17962023-10-20  Oleg Endo  <olegendo@gcc.gnu.org>
1797
1798          PR target/101177
1799          * config/sh/sh.md (unnamed split pattern): Fix comparison of
1800          find_regno_note result.
1801
18022023-10-19  Richard Sandiford  <richard.sandiford@arm.com>
1803
1804          Backported from master:
1805          2023-09-07  Richard Sandiford  <richard.sandiford@arm.com>
1806
1807          PR target/111528
1808          * lra-eliminations.cc (lra_eliminate_regs_1): Use simplify_gen_binary
1809          rather than gen_rtx_PLUS.
1810
18112023-10-16  Kewen Lin  <linkw@linux.ibm.com>
1812
1813          Backported from master:
1814          2023-09-25  Kewen Lin  <linkw@linux.ibm.com>
1815
1816          PR target/111380
1817          * config/rs6000/rs6000.cc (rs6000_can_inline_p): Adopt
1818          target_option_default_node when the callee has no option
1819          attributes, also simplify the existing code accordingly.
1820
18212023-10-16  Kewen Lin  <linkw@linux.ibm.com>
1822
1823          Backported from master:
1824          2023-09-25  Kewen Lin  <linkw@linux.ibm.com>
1825
1826          PR target/111366
1827          * config/rs6000/rs6000.cc (rs6000_update_ipa_fn_target_info): Skip
1828          empty inline asm.
1829
18302023-10-07  Andrew Pinski  <pinskia@gmail.com>
1831
1832          Backported from master:
1833          2023-10-06  Andrew Pinski  <pinskia@gmail.com>
1834
1835          PR middle-end/111699
1836          * match.pd ((c ? a : b) op d, (c ? a : b) op (c ? d : e),
1837          (v ? w : 0) ? a : b, c1 ? c2 ? a : b : b): Enable only for GIMPLE.
1838
18392023-10-02  Pat Haugen  <pthaugen@linux.ibm.com>
1840
1841          Backported from master:
1842          2023-09-19  Pat Haugen  <pthaugen@linux.ibm.com>
1843
1844          * config/rs6000/rs6000.cc (rs6000_rtx_costs): Check whether the
1845          modulo instruction is disabled.
1846          * config/rs6000/rs6000.h (RS6000_DISABLE_SCALAR_MODULO): New.
1847          * config/rs6000/rs6000.md (mod<mode>3, *mod<mode>3): Check it.
1848          (define_expand umod<mode>3): New.
1849          (define_insn umod<mode>3): Rename to *umod<mode>3 and check if the modulo
1850          instruction is disabled.
1851          (umodti3, modti3): Check if the modulo instruction is disabled.
1852
18532023-09-29  Wilco Dijkstra  <wilco.dijkstra@arm.com>
1854
1855          Backported from master:
1856          2023-09-28  Wilco Dijkstra  <wilco.dijkstra@arm.com>
1857
1858          PR target/111121
1859          * config/aarch64/aarch64.md (aarch64_movmemdi): Add new expander.
1860          (movmemdi): Call aarch64_expand_cpymem_mops for correct expansion.
1861          * config/aarch64/aarch64.cc (aarch64_expand_cpymem_mops): Add support
1862          for memmove.
1863          * config/aarch64/aarch64-protos.h (aarch64_expand_cpymem_mops): Add new
1864          function.
1865
18662023-09-26  Eric Botcazou  <ebotcazou@adacore.com>
1867
1868          * gimple-range-gori.cc (gori_compute::logical_combine): Add missing
1869          return statement in the varying case.
1870
18712023-09-20  Richard Sandiford  <richard.sandiford@arm.com>
1872
1873          Backported from master:
1874          2023-09-15  Richard Sandiford  <richard.sandiford@arm.com>
1875
1876          PR target/111411
1877          * config/aarch64/aarch64.cc (aarch64_operands_ok_for_ldpstp): Require
1878          the lower memory access to a mem-pair operand.
1879
18802023-09-20  Richard Sandiford  <richard.sandiford@arm.com>
1881
1882          Backported from master:
1883          2023-08-31  Richard Sandiford  <richard.sandiford@arm.com>
1884
1885          * config/aarch64/aarch64.md (untyped_call): Emit a call_value
1886          rather than a call.  List each possible destination register
1887          in the call pattern.
1888
18892023-09-12  Uros Bizjak  <ubizjak@gmail.com>
1890
1891          PR target/111340
1892          * config/i386/i386.cc (output_pic_addr_const): Handle CONST_WIDE_INT.
1893          Call output_addr_const for CASE_CONST_SCALAR_INT.
1894
18952023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
1896
1897          * config/aarch64/aarch64.cc (aarch64_save_regs_above_locals_p):
1898          New function.
1899          (aarch64_layout_frame): Use it to decide whether locals should
1900          go above or below the saved registers.
1901          (aarch64_expand_prologue): Update stack layout comment.
1902          Emit a stack tie after the final adjustment.
1903
19042023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
1905
1906          * config/aarch64/aarch64.h (aarch64_frame::saved_regs_size)
1907          (aarch64_frame::below_hard_fp_saved_regs_size): Delete.
1908          * config/aarch64/aarch64.cc (aarch64_layout_frame): Update accordingly.
1909
19102023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
1911
1912          * config/aarch64/aarch64.h (aarch64_frame::sve_save_and_probe)
1913          (aarch64_frame::hard_fp_save_and_probe): New fields.
1914          * config/aarch64/aarch64.cc (aarch64_layout_frame): Initialize them.
1915          Rather than asserting that a leaf function saves LR, instead assert
1916          that a leaf function saves something.
1917          (aarch64_get_separate_components): Prevent the chosen probe
1918          registers from being individually shrink-wrapped.
1919          (aarch64_allocate_and_probe_stack_space): Remove workaround for
1920          probe registers that aren't at the bottom of the previous allocation.
1921
19222023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
1923
1924          * config/aarch64/aarch64.cc (aarch64_allocate_and_probe_stack_space):
1925          Always probe the residual allocation at offset 1024, asserting
1926          that that is in range.
1927
19282023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
1929
1930          * config/aarch64/aarch64.cc (aarch64_layout_frame): Ensure that
1931          the LR save slot is in the first 16 bytes of the register save area.
1932          Only form STP/LDP push/pop candidates if both registers are valid.
1933          (aarch64_allocate_and_probe_stack_space): Remove workaround for
1934          when LR was not in the first 16 bytes.
1935
19362023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
1937
1938          * config/aarch64/aarch64.cc (aarch64_allocate_and_probe_stack_space):
1939          Don't probe final allocations that are exactly 1KiB in size (after
1940          unprobed space above the final allocation has been deducted).
1941
19422023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
1943
1944          * config/aarch64/aarch64.cc (aarch64_layout_frame): Tweak
1945          calculation of initial_adjust for frames in which all saves
1946          are SVE saves.
1947
19482023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
1949
1950          * config/aarch64/aarch64.cc (aarch64_layout_frame): Simplify
1951          the allocation of the top of the frame.
1952
19532023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
1954
1955          * config/aarch64/aarch64.h (aarch64_frame): Add comment above
1956          reg_offset.
1957          * config/aarch64/aarch64.cc (aarch64_layout_frame): Walk offsets
1958          from the bottom of the frame, rather than the bottom of the saved
1959          register area.  Measure reg_offset from the bottom of the frame
1960          rather than the bottom of the saved register area.
1961          (aarch64_save_callee_saves): Update accordingly.
1962          (aarch64_restore_callee_saves): Likewise.
1963          (aarch64_get_separate_components): Likewise.
1964          (aarch64_process_components): Likewise.
1965
19662023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
1967
1968          * config/aarch64/aarch64.h (aarch64_frame::frame_size): Tweak comment.
1969
19702023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
1971
1972          * config/aarch64/aarch64.h (aarch64_frame::hard_fp_offset): Rename
1973          to...
1974          (aarch64_frame::bytes_above_hard_fp): ...this.
1975          * config/aarch64/aarch64.cc (aarch64_layout_frame)
1976          (aarch64_expand_prologue): Update accordingly.
1977          (aarch64_initial_elimination_offset): Likewise.
1978
19792023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
1980
1981          * config/aarch64/aarch64.h (aarch64_frame::locals_offset): Rename to...
1982          (aarch64_frame::bytes_above_locals): ...this.
1983          * config/aarch64/aarch64.cc (aarch64_layout_frame)
1984          (aarch64_initial_elimination_offset): Update accordingly.
1985
19862023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
1987
1988          * config/aarch64/aarch64.cc (aarch64_expand_prologue): Move the
1989          calculation of chain_offset into the emit_frame_chain block.
1990
19912023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
1992
1993          * config/aarch64/aarch64.h (aarch64_frame::callee_offset): Delete.
1994          * config/aarch64/aarch64.cc (aarch64_layout_frame): Remove
1995          callee_offset handling.
1996          (aarch64_save_callee_saves): Replace the start_offset parameter
1997          with a bytes_below_sp parameter.
1998          (aarch64_restore_callee_saves): Likewise.
1999          (aarch64_expand_prologue): Update accordingly.
2000          (aarch64_expand_epilogue): Likewise.
2001
20022023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
2003
2004          * config/aarch64/aarch64.h (aarch64_frame::bytes_below_hard_fp): New
2005          field.
2006          * config/aarch64/aarch64.cc (aarch64_layout_frame): Initialize it.
2007          (aarch64_expand_epilogue): Use it instead of
2008          below_hard_fp_saved_regs_size.
2009
20102023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
2011
2012          * config/aarch64/aarch64.h (aarch64_frame::bytes_below_saved_regs): New
2013          field.
2014          * config/aarch64/aarch64.cc (aarch64_layout_frame): Initialize it,
2015          and use it instead of crtl->outgoing_args_size.
2016          (aarch64_get_separate_components): Use bytes_below_saved_regs instead
2017          of outgoing_args_size.
2018          (aarch64_process_components): Likewise.
2019
20202023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
2021
2022          * config/aarch64/aarch64.cc (aarch64_layout_frame): Explicitly
2023          allocate the frame in one go if there are no saved registers.
2024
20252023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
2026
2027          * config/aarch64/aarch64.cc (aarch64_expand_prologue): Use
2028          chain_offset rather than callee_offset.
2029
20302023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
2031
2032          * config/aarch64/aarch64.cc (aarch64_save_callee_saves): Use
2033          a local shorthand for cfun->machine->frame.
2034          (aarch64_restore_callee_saves, aarch64_get_separate_components):
2035          (aarch64_process_components): Likewise.
2036          (aarch64_allocate_and_probe_stack_space): Likewise.
2037          (aarch64_expand_prologue, aarch64_expand_epilogue): Likewise.
2038          (aarch64_layout_frame): Use existing shorthand for one more case.
2039
20402023-09-12  Haochen Gui  <guihaoc@gcc.gnu.org>
2041
2042          Backported from master:
2043          2023-08-31  Haochen Gui  <guihaoc@gcc.gnu.org>
2044
2045          PR target/96762
2046          * config/rs6000/rs6000-string.cc (expand_block_move): Call vector
2047          load/store with length only on 64-bit Power10.
2048
20492023-09-11  liuhongt  <hongtao.liu@intel.com>
2050
2051          Backported from master:
2052          2023-09-11  liuhongt  <hongtao.liu@intel.com>
2053
2054          PR target/111306
2055          PR target/111335
2056          * config/i386/sse.md (int_comm): New int_attr.
2057          (fma_<complexopname>_<mode><sdc_maskz_name><round_name>):
2058          Remove % for Complex conjugate operations since they're not
2059          commutative.
2060          (fma_<complexpairopname>_<mode>_pair): Ditto.
2061          (<avx512>_<complexopname>_<mode>_mask<round_name>): Ditto.
2062          (cmul<conj_op><mode>3): Ditto.
2063
20642023-09-01  Tobias Burnus  <tobias@codesourcery.com>
2065
2066          Backported from master:
2067          2023-08-19  Tobias Burnus  <tobias@codesourcery.com>
2068
2069          PR middle-end/111017
2070          * omp-expand.cc (expand_omp_for_init_vars): Pass after=true
2071          to expand_omp_build_cond for 'factor != 0' condition, resulting
2072          in pre-r12-5295-g47de0b56ee455e code for the gimple insert.
2073
20742023-09-01  Lulu Cheng  <chenglulu@loongson.cn>
2075
2076          Backported from master:
2077          2023-09-01  Lulu Cheng  <chenglulu@loongson.cn>
2078                        Guo Jie  <guojie@loongson.cn>
2079
2080          PR target/110484
2081          * config/loongarch/loongarch.cc (loongarch_emit_stack_tie): Use the
2082          frame_pointer_needed to determine whether to use the $fp register.
2083
20842023-08-30  Jakub Jelinek  <jakub@redhat.com>
2085
2086          Backported from master:
2087          2023-08-30  Jakub Jelinek  <jakub@redhat.com>
2088
2089          PR tree-optimization/110914
2090          * tree-ssa-strlen.cc (strlen_pass::handle_builtin_memcpy): Don't call
2091          adjust_last_stmt unless len is known constant.
2092
20932023-08-30  Jakub Jelinek  <jakub@redhat.com>
2094
2095          Backported from master:
2096          2023-08-30  Jakub Jelinek  <jakub@redhat.com>
2097
2098          PR tree-optimization/111015
2099          * gimple-ssa-store-merging.cc
2100          (imm_store_chain_info::output_merged_store): Use wi::mask and
2101          wide_int_to_tree instead of unsigned HOST_WIDE_INT shift and
2102          build_int_cst to build BIT_AND_EXPR mask.
2103
21042023-08-19  Guo Jie  <guojie@loongson.cn>
2105
2106          Backported from master:
2107          2023-08-19  Guo Jie  <guojie@loongson.cn>
2108                        Lulu Cheng  <chenglulu@loongson.cn>
2109
2110          * config/loongarch/t-loongarch: Add loongarch-driver.h into
2111          TM_H. Add loongarch-def.h and loongarch-tune.h into
2112          OPTIONS_H_EXTRA.
2113
21142023-08-16  liuhongt  <hongtao.liu@intel.com>
2115
2116          Backported from master:
2117          2023-08-16  liuhongt  <hongtao.liu@intel.com>
2118
2119          * config/i386/i386-builtins.cc
2120          (ix86_vectorize_builtin_gather): Adjust for use_gather_8parts.
2121          * config/i386/i386-options.cc (parse_mtune_ctrl_str):
2122          Set/Clear tune features use_{gather,scatter}_{2parts, 4parts,
2123          8parts} for -mtune-crtl={,^}{use_gather,use_scatter}.
2124          * config/i386/i386.cc (ix86_vectorize_builtin_scatter): Adjust
2125          for use_scatter_8parts
2126          * config/i386/i386.h (TARGET_USE_GATHER): Rename to ..
2127          (TARGET_USE_GATHER_8PARTS): .. this.
2128          (TARGET_USE_SCATTER): Rename to ..
2129          (TARGET_USE_SCATTER_8PARTS): .. this.
2130          * config/i386/x86-tune.def (X86_TUNE_USE_GATHER): Rename to
2131          (X86_TUNE_USE_GATHER_8PARTS): .. this.
2132          (X86_TUNE_USE_SCATTER): Rename to
2133          (X86_TUNE_USE_SCATTER_8PARTS): .. this.
2134          * config/i386/i386.opt: Add new options mgather, mscatter.
2135
21362023-08-16  liuhongt  <hongtao.liu@intel.com>
2137
2138          Backported from master:
2139          2023-08-16  liuhongt  <hongtao.liu@intel.com>
2140
2141          * config/i386/i386-options.cc (m_GDS): New macro.
2142          * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): Don't
2143          enable for m_GDS.
2144          (X86_TUNE_USE_GATHER_4PARTS): Ditto.
2145          (X86_TUNE_USE_GATHER): Ditto.
2146
21472023-08-09  liuhongt  <hongtao.liu@intel.com>
2148
2149          * common/config/i386/cpuinfo.h (get_available_features): Check
2150          max_subleaf_level for valid subleaf before use CPUID.
2151
21522023-08-01  Kewen Lin  <linkw@linux.ibm.com>
2153
2154          Backported from master:
2155          2023-07-26  Kewen Lin  <linkw@linux.ibm.com>
2156
2157          PR target/110741
2158          * config/rs6000/vsx.md (define_insn xxeval): Correct vsx
2159          operands output with "x".
2160
21612023-07-14  Uros Bizjak  <ubizjak@gmail.com>
2162
2163          Backported from master:
2164          2023-07-14  Uros Bizjak  <ubizjak@gmail.com>
2165
2166          PR target/110206
2167          * fwprop.cc (contains_paradoxical_subreg_p): Move to ...
2168          * rtlanal.cc (contains_paradoxical_subreg_p): ... here.
2169          * rtlanal.h (contains_paradoxical_subreg_p): Add prototype.
2170          * cprop.cc (try_replace_reg): Do not set REG_EQUAL note
2171          when the original source contains a paradoxical subreg.
2172
21732023-07-14  Oleg Endo  <olegendo@gcc.gnu.org>
2174
2175          PR target/101469
2176          * config/sh/sh.md (peephole2): Handle case where eliminated reg
2177          is also   used by the address of the following memory operand.
2178
21792023-07-13  Uros Bizjak  <ubizjak@gmail.com>
2180
2181          Backported from master:
2182          2023-07-13  Uros Bizjak  <ubizjak@gmail.com>
2183
2184          PR target/106966
2185          * config/alpha/alpha.cc (alpha_emit_set_long_const):
2186          Always use DImode when constructing long const.
2187
21882023-07-08  Jonathan Wakely  <jwakely@redhat.com>
2189
2190          Backported from master:
2191          2023-07-08  Jonathan Wakely  <jwakely@redhat.com>
2192
2193          PR c++/110595
2194          * doc/invoke.texi (Warning Options): Fix typo.
2195
21962023-07-05  Michael Meissner  <meissner@linux.ibm.com>
2197
2198          Backported from master:
2199          2023-06-23   Michael Meissner  <meissner@linux.ibm.com>
2200                        Aaron Sawdey   <acsawdey@linux.ibm.com>
2201
2202          PR target/105325
2203          * config/rs6000/genfusion.pl (gen_ld_cmpi_p10_one): Fix problems that
2204          allowed prefixed lwa to be generated.
2205          * config/rs6000/fusion.md: Regenerate.
2206          * config/rs6000/predicates.md (ds_form_mem_operand): Delete.
2207          * config/rs6000/rs6000.md (prefixed attribute): Add support for load
2208          plus compare immediate fused insns.
2209          (maybe_prefixed): Likewise.
2210
22112023-07-05  Segher Boessenkool  <segher@kernel.crashing.org>
2212
2213          Backported from master:
2214          2023-06-06  Segher Boessenkool  <segher@kernel.crashing.org>
2215
2216          * config/rs6000/genfusion.pl (gen_ld_cmpi_p10_one): New, rewritten and
2217          split out from...
2218          (gen_ld_cmpi_p10): ... this.
2219
22202023-07-04  Cui, Lili  <lili.cui@intel.com>
2221
2222          * common/config/i386/cpuinfo.h (get_intel_cpu): Remove model value 0xa8
2223          from Rocketlake, remove model value 0xbf from Alderlake.
2224
22252023-06-30  Eric Botcazou  <ebotcazou@adacore.com>
2226
2227          * gimple-fold.cc (fold_array_ctor_reference): Fix head comment.
2228          (fold_nonarray_ctor_reference): Likewise.  Specifically deal
2229          with integral bit-fields.
2230          (fold_ctor_reference): Make sure that the constructor uses the
2231          native storage order.
2232
22332023-06-29  liuhongt  <hongtao.liu@intel.com>
2234
2235          PR rtl-optimization/110237
2236          * config/i386/sse.md (<avx512>_store<mode>_mask): Refine with
2237          UNSPEC_MASKMOV.
2238          (maskstore<mode><avx512fmaskmodelower): Ditto.
2239          (*<avx512>_store<mode>_mask): New define_insn, it's renamed
2240          from original <avx512>_store<mode>_mask.
2241
22422023-06-29  liuhongt  <hongtao.liu@intel.com>
2243
2244          PR target/110309
2245          * config/i386/sse.md (maskload<mode><avx512fmaskmodelower>):
2246          Refine pattern with UNSPEC_MASKLOAD.
2247          (maskload<mode><avx512fmaskmodelower>): Ditto.
2248          (*<avx512>_load<mode>_mask): Extend mode iterator to
2249          VI12HF_AVX512VL.
2250          (*<avx512>_load<mode>): Ditto.
2251
22522023-06-29  Hongyu Wang  <hongyu.wang@intel.com>
2253
2254          Backported from master:
2255          2023-06-26  Hongyu Wang  <hongyu.wang@intel.com>
2256
2257          * config/i386/i386-options.cc (ix86_valid_target_attribute_tree):
2258          Override tune_string with arch_string if tune_string is not
2259          explicitly specified.
2260
22612023-06-28  Thomas Schwinge  <thomas@codesourcery.com>
2262
2263          Backported from master:
2264          2023-06-02  Thomas Schwinge  <thomas@codesourcery.com>
2265
2266          PR testsuite/66005
2267          * doc/install.texi: Document (optional) Perl usage for parallel
2268          testing of libgomp.
2269
22702023-06-28  liuhongt  <hongtao.liu@intel.com>
2271
2272          * config/i386/i386-features.cc (pass_insert_vzeroupper:gate):
2273          Move flag_expensive_optimizations && !optimize_size to ..
2274          * config/i386/i386-options.cc (ix86_option_override_internal):
2275          .. this, it makes -mvzeroupper independent of optimization
2276          level, but still keeps the behavior of architecture
2277          tuning(emit_vzeroupper) unchanged.
2278
22792023-06-27  Andrew Pinski  <apinski@marvell.com>
2280
2281          Backported from master:
2282          2023-06-27  Andrew Pinski  <apinski@marvell.com>
2283
2284          PR middle-end/110420
2285          PR middle-end/103979
2286          PR middle-end/98619
2287          * gimplify.cc (gimplify_asm_expr): Mark asm with labels as volatile.
2288
22892023-06-23  Richard Biener  <rguenther@suse.de>
2290
2291          Backported from master:
2292          2023-06-19  Richard Biener  <rguenther@suse.de>
2293
2294          PR tree-optimization/110298
2295          * tree-ssa-loop-ivcanon.cc (tree_unroll_loops_completely):
2296          Clear number of iterations info before cleaning up the CFG.
2297
22982023-06-23  Richard Biener  <rguenther@suse.de>
2299
2300          Backported from master:
2301          2023-06-09  Richard Biener  <rguenther@suse.de>
2302
2303          PR middle-end/110182
2304          * match.pd (two conversions in a row): Use element_precision
2305          to DTRT for VECTOR_TYPE.
2306
23072023-06-22  Alex Coplan  <alex.coplan@arm.com>
2308
2309          Backported from master:
2310          2023-06-07  Alex Coplan  <alex.coplan@arm.com>
2311
2312          PR target/110132
2313          * config/aarch64/aarch64-builtins.cc (aarch64_general_simulate_builtin):
2314          New. Use it ...
2315          (aarch64_init_ls64_builtins): ... here. Switch to declaring public ACLE
2316          names for builtins.
2317          (aarch64_general_init_builtins): Ensure we invoke the arm_acle.h
2318          setup if in_lto_p, just like we do for SVE.
2319          * config/aarch64/arm_acle.h: (__arm_ld64b): Delete.
2320          (__arm_st64b): Delete.
2321          (__arm_st64bv): Delete.
2322          (__arm_st64bv0): Delete.
2323
23242023-06-22  Alex Coplan  <alex.coplan@arm.com>
2325
2326          Backported from master:
2327          2023-06-07  Alex Coplan  <alex.coplan@arm.com>
2328
2329          PR target/110100
2330          * config/aarch64/aarch64-builtins.cc (aarch64_expand_builtin_ls64):
2331          Use input operand for the destination address.
2332          * config/aarch64/aarch64.md (st64b): Fix constraint on address
2333          operand.
2334
23352023-06-22  Alex Coplan  <alex.coplan@arm.com>
2336
2337          Backported from master:
2338          2023-06-07  Alex Coplan  <alex.coplan@arm.com>
2339
2340          PR target/110100
2341          * config/aarch64/aarch64-builtins.cc (aarch64_init_ls64_builtins_types):
2342          Replace eight consecutive spaces with tabs.
2343          (aarch64_init_ls64_builtins): Likewise.
2344          (aarch64_expand_builtin_ls64): Likewise.
2345          * config/aarch64/aarch64.md (ld64b): Likewise.
2346          (st64b): Likewise.
2347          (st64bv): Likewise
2348          (st64bv0): Likewise.
2349
23502023-06-20  Kewen Lin  <linkw@linux.ibm.com>
2351
2352          Backported from master:
2353          2023-06-12  Kewen Lin  <linkw@linux.ibm.com>
2354
2355          PR target/109932
2356          * config/rs6000/rs6000-builtins.def (__builtin_pack_vector_int128,
2357          __builtin_unpack_vector_int128): Move from stanza power7 to vsx.
2358
23592023-06-20  Kewen Lin  <linkw@linux.ibm.com>
2360
2361          Backported from master:
2362          2023-06-12  Kewen Lin  <linkw@linux.ibm.com>
2363
2364          PR target/110011
2365          * config/rs6000/rs6000.cc (output_toc): Use the mode of the 128-bit
2366          floating constant itself for real_to_target call.
2367
23682023-06-15  Lulu Cheng  <chenglulu@loongson.cn>
2369
2370          Backported from master:
2371          2023-06-15  Lulu Cheng  <chenglulu@loongson.cn>
2372                        Andrew Pinski  <apinski@marvell.com>
2373
2374          PR target/110136
2375          * config/loongarch/loongarch.md: Modify the register constraints for template
2376          "jumptable" and "indirect_jump" from "r" to "e".
2377
23782023-06-12  Richard Biener  <rguenther@suse.de>
2379
2380          Backported from master:
2381          2023-06-12  Richard Biener  <rguenther@suse.de>
2382
2383          PR middle-end/110200
2384          * genmatch.cc (expr::gen_transform): Put braces around
2385          the if arm for the (convert ...) short-cut.
2386
23872023-06-10  Georg-Johann Lay  <avr@gjlay.de>
2388
2389          PR target/109650
2390          PR target/92729
2391          Backport from 2023-05-10 master r14-1688.
2392          * config/avr/avr-passes.def (avr_pass_ifelse): Insert new pass.
2393          * config/avr/avr.cc (avr_pass_ifelse): New RTL pass.
2394          (avr_pass_data_ifelse): New pass_data for it.
2395          (make_avr_pass_ifelse, avr_redundant_compare, avr_cbranch_cost)
2396          (avr_canonicalize_comparison, avr_out_plus_set_ZN)
2397          (avr_out_cmp_ext): New functions.
2398          (compare_condtition): Make sure REG_CC dies in the branch insn.
2399          (avr_rtx_costs_1): Add computation of cbranch costs.
2400          (avr_adjust_insn_length) [ADJUST_LEN_ADD_SET_ZN, ADJUST_LEN_CMP_ZEXT]:
2401          [ADJUST_LEN_CMP_SEXT]Handle them.
2402          (TARGET_CANONICALIZE_COMPARISON): New define.
2403          (avr_simplify_comparison_p, compare_diff_p, avr_compare_pattern)
2404          (avr_reorg_remove_redundant_compare, avr_reorg): Remove functions.
2405          (TARGET_MACHINE_DEPENDENT_REORG): Remove define.
2406          * config/avr/avr-protos.h (avr_simplify_comparison_p): Remove proto.
2407          (make_avr_pass_ifelse, avr_out_plus_set_ZN, cc_reg_rtx)
2408          (avr_out_cmp_zext): New Protos
2409          * config/avr/avr.md (branch, difficult_branch): Don't split insns.
2410          (*cbranchhi.zero-extend.0", *cbranchhi.zero-extend.1")
2411          (*swapped_tst<mode>, *add.for.eqne.<mode>): New insns.
2412          (*cbranch<mode>4): Rename to cbranch<mode>4_insn.
2413          (define_peephole): Add dead_or_set_regno_p(insn,REG_CC) as needed.
2414          (define_deephole2): Add peep2_regno_dead_p(*,REG_CC) as needed.
2415          Add new RTL peepholes for decrement-and-branch and *swapped_tst<mode>.
2416          Rework signtest-and-branch peepholes for *sbrx_branch<mode>.
2417          (adjust_len) [add_set_ZN, cmp_zext]: New.
2418          (QIPSI): New mode iterator.
2419          (ALLs1, ALLs2, ALLs4, ALLs234): New mode iterators.
2420          (gelt): New code iterator.
2421          (gelt_eqne): New code attribute.
2422          (rvbranch, *rvbranch, difficult_rvbranch, *difficult_rvbranch)
2423          (branch_unspec, *negated_tst<mode>, *reversed_tst<mode>)
2424          (*cmpqi_sign_extend): Remove insns.
2425          (define_c_enum "unspec") [UNSPEC_IDENTITY]: Remove.
2426          * config/avr/avr-dimode.md (cbranch<mode>4): Canonicalize comparisons.
2427          * config/avr/predicates.md (scratch_or_d_register_operand): New.
2428          * config/avr/constraints.md (Yxx): New constraint.
2429
24302023-06-09  Jeevitha Palanisamy  <jeevitha@linux.ibm.com>
2431
2432          Backported from master:
2433          2023-06-06  Jeevitha Palanisamy  <jeevitha@linux.ibm.com>
2434
2435          PR target/106907
2436          * config/rs6000/rs6000.cc (vec_const_128bit_to_bytes): Remove
2437          duplicate expression.
2438
24392023-06-09  Iain Sandoe  <iain@sandoe.co.uk>
2440
2441          Backported from master:
2442          2023-06-02  Iain Sandoe  <iain@sandoe.co.uk>
2443
2444          PR target/110044
2445          * config/rs6000/rs6000.cc (darwin_rs6000_special_round_type_align):
2446          Make sure that we do not have a cap on field alignment before altering
2447          the struct layout based on the type alignment of the first entry.
2448
24492023-06-09  liuhongt  <hongtao.liu@intel.com>
2450
2451          PR target/110108
2452          * config/i386/i386.cc (ix86_gimple_fold_builtin): Explicitly
2453          view_convert_expr mask to signed type when folding pblendvb
2454          builtins.
2455
24562023-06-08  Alex Coplan  <alex.coplan@arm.com>
2457
2458          Backported from master:
2459          2023-05-25  Alex Coplan  <alex.coplan@arm.com>
2460
2461          PR target/109800
2462          * config/arm/arm.md (movdf): Generate temporary pseudo in DImode
2463          instead of DFmode.
2464          * config/arm/vfp.md (no_literal_pool_df_immediate): Rather than punning an
2465          lvalue DFmode pseudo into DImode, use a DImode pseudo and pun it into
2466          DFmode as an rvalue.
2467
24682023-06-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2469
2470          Backported from master:
2471          2023-05-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2472
2473          PR target/109939
2474          * config/arm/arm-builtins.cc (SAT_BINOP_UNSIGNED_IMM_QUALIFIERS): Use
2475          qualifier_none for the return operand.
2476
24772023-06-02  Georg-Johann Lay  <avr@gjlay.de>
2478
2479          PR target/110088
2480          * config/avr/avr.md: Add an RTL peephole to optimize operations on
2481          non-LD_REGS after a move from LD_REGS.
2482          (piaop): New code iterator.
2483
24842023-06-01  Jonathan Wakely  <jwakely@redhat.com>
2485
2486          Backported from master:
2487          2023-06-01  Jonathan Wakely  <jwakely@redhat.com>
2488
2489          PR target/109954
2490          * doc/invoke.texi (x86 Options): Fix description of -m32 option.
2491
24922023-05-30  Andreas Schwab  <schwab@suse.de>
2493
2494          PR target/110036
2495          * config/riscv/riscv.cc (riscv_asan_shadow_offset): Update to
2496          match libsanitizer.
2497
24982023-05-25  Georg-Johann Lay  <avr@gjlay.de>
2499
2500          PR target/104327
2501          * config/avr/avr.cc (avr_can_inline_p): New static function.
2502          (TARGET_CAN_INLINE_P): Define to that function.
2503
25042023-05-25  Georg-Johann Lay  <avr@gjlay.de>
2505
2506          PR target/82931
2507          * config/avr/avr.md (*movbitqi.0): Rename to *movbit<mode>.0-6.
2508          Handle any bit position and use mode QISI.
2509          * config/avr/avr.cc (avr_rtx_costs_1) [IOR]: Return a cost
2510          of 2 insns for bit-transfer of respective style.
2511
25122023-05-23  Georg-Johann Lay  <avr@gjlay.de>
2513
2514          * config/avr/avr.cc (avr_insn_cost): New static function.
2515          (TARGET_INSN_COST): Define to that function.
2516
25172023-05-22   Michael Meissner  <meissner@linux.ibm.com>
2518
2519          PR target/70243
2520          * config/rs6000/vsx.md (vsx_fmav4sf4): Do not generate vmaddfp.
2521          (vsx_nfmsv4sf4): Do not generate vnmsubfp.  Back port from master
2522          04/10/2023 change.
2523
25242023-05-22  Jakub Jelinek  <jakub@redhat.com>
2525
2526          Backported from master:
2527          2023-05-21  Jakub Jelinek  <jakub@redhat.com>
2528
2529          PR tree-optimization/109505
2530          * match.pd ((x | CST1) & CST2 -> (x & CST2) | (CST1 & CST2),
2531          Combine successive equal operations with constants,
2532          (A +- CST1) +- CST2 -> A + CST3, (CST1 - A) +- CST2 -> CST3 - A,
2533          CST1 - (CST2 - A) -> CST3 + A): Use ! on ops with 2 CONSTANT_CLASS_P
2534          operands.
2535
25362023-05-22  Kewen Lin  <linkw@linux.ibm.com>
2537
2538          Backported from master:
2539          2023-05-17  Kewen Lin  <linkw@linux.ibm.com>
2540
2541          * tree-vect-loop.cc (vect_analyze_loop_1): Don't retry analysis with
2542          suggested unroll factor once the previous analysis fails.
2543
25442023-05-20  Triffid Hunter  <triffid.hunter@gmail.com>
2545
2546          PR target/105753
2547          Backport from 2023-05-20 https://gcc.gnu.org/r14-1016
2548          * config/avr/avr.md (divmodpsi, udivmodpsi, divmodsi, udivmodsi):
2549          Remove superfluous "parallel" in insn pattern.
2550          ([u]divmod<mode>4): Tidy code.  Use gcc_unreachable() instead of
2551          printing error text to assembly.
2552
25532023-05-18  Alexandre Oliva  <oliva@adacore.com>
2554
2555          * config/arm/vfp.md (*thumb2_movsi_vfp): Drop blank after tab
2556          after vmsr and vmrs, and lower the case of P0.
2557
25582023-05-18  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
2559
2560          * config/arm/arm_mve.h: (__ARM_mve_typeid): Add more pointer types.
2561          (__ARM_mve_coerce1): Remove.
2562          (__ARM_mve_coerce2): Remove.
2563          (__ARM_mve_coerce3): Remove.
2564          (__ARM_mve_coerce_i_scalar): New.
2565          (__ARM_mve_coerce_s8_ptr): New.
2566          (__ARM_mve_coerce_u8_ptr): New.
2567          (__ARM_mve_coerce_s16_ptr): New.
2568          (__ARM_mve_coerce_u16_ptr): New.
2569          (__ARM_mve_coerce_s32_ptr): New.
2570          (__ARM_mve_coerce_u32_ptr): New.
2571          (__ARM_mve_coerce_s64_ptr): New.
2572          (__ARM_mve_coerce_u64_ptr): New.
2573          (__ARM_mve_coerce_f_scalar): New.
2574          (__ARM_mve_coerce_f16_ptr): New.
2575          (__ARM_mve_coerce_f32_ptr): New.
2576          (__arm_vst4q): Change _coerce_ overloads.
2577          (__arm_vbicq): Change _coerce_ overloads.
2578          (__arm_vmulq): Change _coerce_ overloads.
2579          (__arm_vcmpeqq): Change _coerce_ overloads.
2580          (__arm_vcmpneq): Change _coerce_ overloads.
2581          (__arm_vmaxnmavq): Change _coerce_ overloads.
2582          (__arm_vmaxnmvq): Change _coerce_ overloads.
2583          (__arm_vminnmavq): Change _coerce_ overloads.
2584          (__arm_vsubq): Change _coerce_ overloads.
2585          (__arm_vminnmvq): Change _coerce_ overloads.
2586          (__arm_vrshlq): Change _coerce_ overloads.
2587          (__arm_vqsubq): Change _coerce_ overloads.
2588          (__arm_vqdmulltq): Change _coerce_ overloads.
2589          (__arm_vqdmullbq): Change _coerce_ overloads.
2590          (__arm_vqdmulhq): Change _coerce_ overloads.
2591          (__arm_vqaddq): Change _coerce_ overloads.
2592          (__arm_vhaddq): Change _coerce_ overloads.
2593          (__arm_vhsubq): Change _coerce_ overloads.
2594          (__arm_vqdmlashq): Change _coerce_ overloads.
2595          (__arm_vqrdmlahq): Change _coerce_ overloads.
2596          (__arm_vmlasq): Change _coerce_ overloads.
2597          (__arm_vqdmlahq): Change _coerce_ overloads.
2598          (__arm_vmaxnmavq_p): Change _coerce_ overloads.
2599          (__arm_vmaxnmvq_p): Change _coerce_ overloads.
2600          (__arm_vminnmavq_p): Change _coerce_ overloads.
2601          (__arm_vminnmvq_p): Change _coerce_ overloads.
2602          (__arm_vfmasq_m): Change _coerce_ overloads.
2603          (__arm_vld1q): Change _coerce_ overloads.
2604          (__arm_vld1q_z): Change _coerce_ overloads.
2605          (__arm_vld2q): Change _coerce_ overloads.
2606          (__arm_vld4q): Change _coerce_ overloads.
2607          (__arm_vldrhq_gather_offset): Change _coerce_ overloads.
2608          (__arm_vldrhq_gather_offset_z): Change _coerce_ overloads.
2609          (__arm_vldrhq_gather_shifted_offset): Change _coerce_ overloads.
2610          (__arm_vldrhq_gather_shifted_offset_z): Change _coerce_ overloads.
2611          (__arm_vldrwq_gather_offset): Change _coerce_ overloads.
2612          (__arm_vldrwq_gather_offset_z): Change _coerce_ overloads.
2613          (__arm_vldrwq_gather_shifted_offset): Change _coerce_ overloads.
2614          (__arm_vldrwq_gather_shifted_offset_z): Change _coerce_ overloads.
2615          (__arm_vst1q_p): Change _coerce_ overloads.
2616          (__arm_vst2q): Change _coerce_ overloads.
2617          (__arm_vst1q): Change _coerce_ overloads.
2618          (__arm_vstrhq): Change _coerce_ overloads.
2619          (__arm_vstrhq_p): Change _coerce_ overloads.
2620          (__arm_vstrhq_scatter_offset_p): Change _coerce_ overloads.
2621          (__arm_vstrhq_scatter_offset): Change _coerce_ overloads.
2622          (__arm_vstrhq_scatter_shifted_offset_p): Change _coerce_ overloads.
2623          (__arm_vstrhq_scatter_shifted_offset): Change _coerce_ overloads.
2624          (__arm_vstrwq_p): Change _coerce_ overloads.
2625          (__arm_vstrwq): Change _coerce_ overloads.
2626          (__arm_vstrwq_scatter_offset): Change _coerce_ overloads.
2627          (__arm_vstrwq_scatter_offset_p): Change _coerce_ overloads.
2628          (__arm_vstrwq_scatter_shifted_offset): Change _coerce_ overloads.
2629          (__arm_vstrwq_scatter_shifted_offset_p): Change _coerce_ overloads.
2630          (__arm_vsetq_lane): Change _coerce_ overloads.
2631          (__arm_vcmpneq_m): Change _coerce_ overloads.
2632          (__arm_vldrbq_gather_offset): Change _coerce_ overloads.
2633          (__arm_vdwdupq_x_u8): Change _coerce_ overloads.
2634          (__arm_vdwdupq_x_u16): Change _coerce_ overloads.
2635          (__arm_vdwdupq_x_u32): Change _coerce_ overloads.
2636          (__arm_viwdupq_x_u8): Change _coerce_ overloads.
2637          (__arm_viwdupq_x_u16): Change _coerce_ overloads.
2638          (__arm_viwdupq_x_u32): Change _coerce_ overloads.
2639          (__arm_vidupq_x_u8): Change _coerce_ overloads.
2640          (__arm_vddupq_x_u8): Change _coerce_ overloads.
2641          (__arm_vidupq_x_u16): Change _coerce_ overloads.
2642          (__arm_vddupq_x_u16): Change _coerce_ overloads.
2643          (__arm_vidupq_x_u32): Change _coerce_ overloads.
2644          (__arm_vddupq_x_u32): Change _coerce_ overloads.
2645          (__arm_vhaddq_x): Change _coerce_ overloads.
2646          (__arm_vhsubq_x): Change _coerce_ overloads.
2647          (__arm_vldrdq_gather_offset): Change _coerce_ overloads.
2648          (__arm_vldrdq_gather_offset_z): Change _coerce_ overloads.
2649          (__arm_vldrdq_gather_shifted_offset): Change _coerce_ overloads.
2650          (__arm_vldrdq_gather_shifted_offset_z): Change _coerce_ overloads.
2651          (__arm_vldrbq_gather_offset_z): Change _coerce_ overloads.
2652          (__arm_vqrdmlahq_m): Change _coerce_ overloads.
2653          (__arm_vqrdmlashq_m): Change _coerce_ overloads.
2654          (__arm_vqdmlashq_m): Change _coerce_ overloads.
2655          (__arm_vmlaldavaxq_p): Change _coerce_ overloads.
2656          (__arm_vmlasq_m): Change _coerce_ overloads.
2657          (__arm_vqdmulhq_m): Change _coerce_ overloads.
2658          (__arm_vqdmulltq_m): Change _coerce_ overloads.
2659          (__arm_vidupq_u16): Change _coerce_ overloads.
2660          (__arm_vidupq_u32): Change _coerce_ overloads.
2661          (__arm_vidupq_u8): Change _coerce_ overloads.
2662          (__arm_vddupq_u16): Change _coerce_ overloads.
2663          (__arm_vddupq_u32): Change _coerce_ overloads.
2664          (__arm_vddupq_u8): Change _coerce_ overloads.
2665          (__arm_viwdupq_m): Change _coerce_ overloads.
2666          (__arm_viwdupq_u16): Change _coerce_ overloads.
2667          (__arm_viwdupq_u32): Change _coerce_ overloads.
2668          (__arm_viwdupq_u8): Change _coerce_ overloads.
2669          (__arm_vdwdupq_m): Change _coerce_ overloads.
2670          (__arm_vdwdupq_u16): Change _coerce_ overloads.
2671          (__arm_vdwdupq_u32): Change _coerce_ overloads.
2672          (__arm_vdwdupq_u8): Change _coerce_ overloads.
2673          (__arm_vaddlvaq): Change _coerce_ overloads.
2674          (__arm_vaddlvaq_p): Change _coerce_ overloads.
2675          (__arm_vaddvaq): Change _coerce_ overloads.
2676          (__arm_vaddvaq_p): Change _coerce_ overloads.
2677          (__arm_vcmphiq_m): Change _coerce_ overloads.
2678          (__arm_vmladavaq_p): Change _coerce_ overloads.
2679          (__arm_vmladavaxq): Change _coerce_ overloads.
2680          (__arm_vmlaldavaxq): Change _coerce_ overloads.
2681          (__arm_vstrbq): Change _coerce_ overloads.
2682          (__arm_vstrbq_p): Change _coerce_ overloads.
2683          (__arm_vrmlaldavhaq_p): Change _coerce_ overloads.
2684          (__arm_vstrbq_scatter_offset): Change _coerce_ overloads.
2685          (__arm_vstrbq_scatter_offset_p): Change _coerce_ overloads.
2686          (__arm_vstrdq_scatter_offset_p): Change _coerce_ overloads.
2687          (__arm_vstrdq_scatter_offset): Change _coerce_ overloads.
2688          (__arm_vstrdq_scatter_shifted_offset_p): Change _coerce_ overloads.
2689          (__arm_vstrdq_scatter_shifted_offset): Change _coerce_ overloads.
2690
26912023-05-18  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
2692
2693          * config/arm/arm_mve.h (__arm_vbicq): Change coerce on
2694          scalar constant.
2695          (__arm_vmvnq_m): Likewise.
2696
26972023-05-18  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
2698
2699          * config/arm/arm_mve.h (__arm_vorrq): Add _n variant.
2700
27012023-05-18  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
2702
2703          Backported from master:
2704          2023-05-18  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
2705
2706          * config/arm/arm_mve.h (__arm_vadcq_s32): Fix arithmetic.
2707          (__arm_vadcq_u32): Likewise.
2708          (__arm_vadcq_m_s32): Likewise.
2709          (__arm_vadcq_m_u32): Likewise.
2710          (__arm_vsbcq_s32): Likewise.
2711          (__arm_vsbcq_u32): Likewise.
2712          (__arm_vsbcq_m_s32): Likewise.
2713          (__arm_vsbcq_m_u32): Likewise.
2714          * config/arm/mve.md (get_fpscr_nzcvqc): Make unspec_volatile.
2715
27162023-05-18  Andrea Corallo  <andrea.corallo@arm.com>
2717
2718          * config/arm/mve.md (mve_vrndq_m_f<mode>, mve_vrev64q_f<mode>)
2719          (mve_vrev32q_fv8hf, mve_vcvttq_f32_f16v4sf)
2720          (mve_vcvtbq_f32_f16v4sf, mve_vcvtq_to_f_<supf><mode>)
2721          (mve_vrev64q_<supf><mode>, mve_vcvtq_from_f_<supf><mode>)
2722          (mve_vmovltq_<supf><mode>, mve_vmovlbq_<supf><mode>)
2723          (mve_vcvtpq_<supf><mode>, mve_vcvtnq_<supf><mode>)
2724          (mve_vcvtmq_<supf><mode>, mve_vcvtaq_<supf><mode>)
2725          (mve_vmvnq_n_<supf><mode>, mve_vrev16q_<supf>v16qi)
2726          (mve_vctp<mode1>qhi, mve_vbrsrq_n_f<mode>)
2727          (mve_vbrsrq_n_<supf><mode>, mve_vandq_f<mode>, mve_vbicq_f<mode>)
2728          (mve_vbicq_n_<supf><mode>, mve_vctp<mode1>q_mhi)
2729          (mve_vcvtbq_f16_f32v8hf, mve_vcvttq_f16_f32v8hf)
2730          (mve_veorq_f<mode>, mve_vmlaldavxq_s<mode>, mve_vmlsldavq_s<mode>)
2731          (mve_vmlsldavxq_s<mode>, mve_vornq_f<mode>, mve_vorrq_f<mode>)
2732          (mve_vrmlaldavhxq_sv4si, mve_vbicq_m_n_<supf><mode>)
2733          (mve_vcvtq_m_to_f_<supf><mode>, mve_vshlcq_<supf><mode>)
2734          (mve_vmvnq_m_<supf><mode>, mve_vpselq_<supf><mode>)
2735          (mve_vcvtbq_m_f16_f32v8hf, mve_vcvtbq_m_f32_f16v4sf)
2736          (mve_vcvttq_m_f16_f32v8hf, mve_vcvttq_m_f32_f16v4sf)
2737          (mve_vmlaldavq_p_<supf><mode>, mve_vmlsldavaq_s<mode>)
2738          (mve_vmlsldavaxq_s<mode>, mve_vmlsldavq_p_s<mode>)
2739          (mve_vmlsldavxq_p_s<mode>, mve_vmvnq_m_n_<supf><mode>)
2740          (mve_vorrq_m_n_<supf><mode>, mve_vpselq_f<mode>)
2741          (mve_vrev32q_m_fv8hf, mve_vrev32q_m_<supf><mode>)
2742          (mve_vrev64q_m_f<mode>, mve_vrmlaldavhaxq_sv4si)
2743          (mve_vrmlaldavhxq_p_sv4si, mve_vrmlsldavhaxq_sv4si)
2744          (mve_vrmlsldavhq_p_sv4si, mve_vrmlsldavhxq_p_sv4si)
2745          (mve_vrev16q_m_<supf>v16qi, mve_vrmlaldavhq_p_<supf>v4si)
2746          (mve_vrmlsldavhaq_sv4si, mve_vandq_m_<supf><mode>)
2747          (mve_vbicq_m_<supf><mode>, mve_veorq_m_<supf><mode>)
2748          (mve_vornq_m_<supf><mode>, mve_vorrq_m_<supf><mode>)
2749          (mve_vandq_m_f<mode>, mve_vbicq_m_f<mode>, mve_veorq_m_f<mode>)
2750          (mve_vornq_m_f<mode>, mve_vorrq_m_f<mode>)
2751          (mve_vstrdq_scatter_shifted_offset_p_<supf>v2di_insn)
2752          (mve_vstrdq_scatter_shifted_offset_<supf>v2di_insn)
2753          (mve_vstrdq_scatter_base_wb_p_<supf>v2di) : Fix spacing and
2754          capitalization in the emitted asm.
2755
27562023-05-18  Andrea Corallo  <andrea.corallo@arm.com>
2757
2758          * config/arm/constraints.md (mve_vldrd_immediate): Move it to
2759          predicates.md.
2760          (Ri): Move constraint definition from predicates.md.
2761          (Rl): Define new constraint.
2762          * config/arm/mve.md (mve_vstrwq_scatter_base_wb_p_<supf>v4si): Add
2763          missing constraint.
2764          (mve_vstrwq_scatter_base_wb_p_fv4sf): Add missing Up constraint
2765          for op 1, use mve_vstrw_immediate predicate and Rl constraint for
2766          op 2. Fix asm output spacing.
2767          (mve_vstrdq_scatter_base_wb_p_<supf>v2di): Add missing constraint.
2768          * config/arm/predicates.md (Ri) Move constraint to constraints.md
2769          (mve_vldrd_immediate): Move it from
2770          constraints.md.
2771          (mve_vstrw_immediate): New predicate.
2772
27732023-05-18  Murray Steele  <murray.steele@arm.com>
2774
2775          Backported from master:
2776          2023-01-18  Murray Steele  <murray.steele@arm.com>
2777
2778          PR target/108442
2779          * config/arm/arm_mve.h (__arm_vst1q_p_u8): Use prefixed intrinsic
2780          function.
2781          (__arm_vst1q_p_s8): Likewise.
2782          (__arm_vld1q_z_u8): Likewise.
2783          (__arm_vld1q_z_s8): Likewise.
2784          (__arm_vst1q_p_u16): Likewise.
2785          (__arm_vst1q_p_s16): Likewise.
2786          (__arm_vld1q_z_u16): Likewise.
2787          (__arm_vld1q_z_s16): Likewise.
2788          (__arm_vst1q_p_u32): Likewise.
2789          (__arm_vst1q_p_s32): Likewise.
2790          (__arm_vld1q_z_u32): Likewise.
2791          (__arm_vld1q_z_s32): Likewise.
2792          (__arm_vld1q_z_f16): Likewise.
2793          (__arm_vst1q_p_f16): Likewise.
2794          (__arm_vld1q_z_f32): Likewise.
2795          (__arm_vst1q_p_f32): Likewise.
2796
27972023-05-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>
2798
2799          Backported from master:
2800          2023-01-24  Andre Vieira  <andre.simoesdiasvieira@arm.com>
2801
2802          PR target/108177
2803          * config/arm/mve.md (mve_vstrbq_p_<supf><mode>, mve_vstrhq_p_fv8hf,
2804          mve_vstrhq_p_<supf><mode>, mve_vstrwq_p_<supf>v4si): Add memory operand
2805          as input operand.
2806
28072023-05-18  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
2808
2809          Backported from master:
2810          2023-04-04  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
2811
2812          * config/arm/mve.md (mve_vcvtq_n_to_f_<supf><mode>): Swap operands.
2813          (mve_vcreateq_f<mode>): Swap operands.
2814
28152023-05-18  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
2816
2817          Backported from master:
2818          2023-01-16  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
2819
2820          PR target/96795
2821          PR target/107515
2822          * config/arm/arm_mve.h (__ARM_mve_coerce2): Split types.
2823          (__ARM_mve_coerce3): Likewise.
2824
28252023-05-18  Andrea Corallo  <andrea.corallo@arm.com>
2826
2827          Backported from master:
2828          2023-01-25  Andrea Corallo  <andrea.corallo@arm.com>
2829
2830          * config/arm/mve.md (mve_vqnegq_s<mode>): Fix spacing.
2831
28322023-05-18  Andrea Corallo  <andrea.corallo@arm.com>
2833
2834          Backported from master:
2835          2023-01-25  Andrea Corallo  <andrea.corallo@arm.com>
2836
2837          * config/arm/mve.md (mve_vqabsq_s<mode>): Fix spacing.
2838
28392023-05-18  Andrea Corallo  <andrea.corallo@arm.com>
2840
2841          Backported from master:
2842          2023-01-25  Andrea Corallo  <andrea.corallo@arm.com>
2843
2844          * config/arm/mve.md (mve_vnegq_f<mode>, mve_vnegq_s<mode>):
2845          Fix spacing.
2846
28472023-05-18  Andrea Corallo  <andrea.corallo@arm.com>
2848
2849          Backported from master:
2850          2023-01-25  Andrea Corallo  <andrea.corallo@arm.com>
2851
2852          * config/arm/mve.md (@mve_vclzq_s<mode>): Fix spacing.
2853
28542023-05-18  Andrea Corallo  <andrea.corallo@arm.com>
2855
2856          Backported from master:
2857          2023-01-25  Andrea Corallo  <andrea.corallo@arm.com>
2858
2859          * config/arm/mve.md (mve_vclsq_s<mode>): Fix spacing.
2860
28612023-05-18  Christophe Lyon  <christophe.lyon@arm.com>
2862
2863          Backported from master:
2864          2023-02-03  Christophe Lyon  <christophe.lyon@arm.com>
2865
2866          * config/arm/mve.md (mve_vabavq_p_<supf><mode>): Add length
2867          attribute.
2868          (mve_vqshluq_m_n_s<mode>): Likewise.
2869          (mve_vshlq_m_<supf><mode>): Likewise.
2870          (mve_vsriq_m_n_<supf><mode>): Likewise.
2871          (mve_vsubq_m_<supf><mode>): Likewise.
2872
28732023-05-18  Christophe Lyon  <christophe.lyon@arm.com>
2874
2875          Backported from master:
2876          2022-10-03  Christophe Lyon  <christophe.lyon@arm.com>
2877
2878          * config/arm/mve.md (mve_vrev64q_m_<supf><mode>): Add early
2879          clobber.
2880          (mve_vrev64q_m_f<mode>): Likewise.
2881
28822023-05-18  Andrea Corallo  <andrea.corallo@arm.com>
2883
2884          Backported from master:
2885          2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>
2886
2887          * config/arm/mve.md (mve_vrmlaldavhq_<supf>v4si,
2888          mve_vrmlaldavhaq_<supf>v4si): Fix spacing vs tabs.
2889
28902023-05-18  Andrea Corallo  <andrea.corallo@arm.com>
2891
2892          Backported from master:
2893          2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>
2894
2895          * config/arm/mve.md (mve_vmlaldavaq_<supf><mode>)
2896          (mve_vmlaldavaxq_s<mode>, mve_vmlaldavaxq_p_<supf><mode>): Fix
2897          spacing vs tabs.
2898
28992023-05-18  Andrea Corallo  <andrea.corallo@arm.com>
2900
2901          Backported from master:
2902          2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>
2903
2904          * config/arm/mve.md (mve_vsubq_n_f<mode>): Fix spacing.
2905
29062023-05-18  Andrea Corallo  <andrea.corallo@arm.com>
2907
2908          Backported from master:
2909          2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>
2910
2911          * config/arm/mve.md (mve_vaddlvq_p_<supf>v4si)
2912          (mve_vaddq_n_<supf><mode>, mve_vaddvaq_<supf><mode>)
2913          (mve_vaddlvaq_<supf>v4si, mve_vaddq_n_f<mode>)
2914          (mve_vaddlvaq_p_<supf>v4si, mve_vaddq<mode>, mve_vaddq_f<mode>):
2915          Fix spacing.
2916
29172023-05-18  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
2918
2919          Backported from master:
2920          2022-11-28  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
2921
2922          * config/arm/arm_mve.h (__arm_vsubq_x FP): New overloads.
2923          (__arm_vsubq_x Integer): New.
2924
29252023-05-18  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
2926
2927          Backported from master:
2928          2022-11-28  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
2929
2930          PR target/107515
2931          * config/arm/arm_mve.h (__ARM_mve_typeid): Add float types.
2932
29332023-05-18  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
2934
2935          Backported from master:
2936          2022-11-28  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
2937
2938          PR target/96795
2939          * config/arm/arm_mve.h (__arm_vaddq): Fix Overloading.
2940          (__arm_vmulq): Likewise.
2941          (__arm_vcmpeqq): Likewise.
2942          (__arm_vcmpneq): Likewise.
2943          (__arm_vmaxnmavq): Likewise.
2944          (__arm_vmaxnmvq): Likewise.
2945          (__arm_vminnmavq): Likewise.
2946          (__arm_vsubq): Likewise.
2947          (__arm_vminnmvq): Likewise.
2948          (__arm_vrshlq): Likewise.
2949          (__arm_vqsubq): Likewise.
2950          (__arm_vqdmulltq): Likewise.
2951          (__arm_vqdmullbq): Likewise.
2952          (__arm_vqdmulhq): Likewise.
2953          (__arm_vqaddq): Likewise.
2954          (__arm_vhaddq): Likewise.
2955          (__arm_vhsubq): Likewise.
2956          (__arm_vqdmlashq): Likewise.
2957          (__arm_vqrdmlahq): Likewise.
2958          (__arm_vmlasq): Likewise.
2959          (__arm_vqdmlahq): Likewise.
2960          (__arm_vmaxnmavq_p): Likewise.
2961          (__arm_vmaxnmvq_p): Likewise.
2962          (__arm_vminnmavq_p): Likewise.
2963          (__arm_vminnmvq_p): Likewise.
2964          (__arm_vfmasq_m): Likewise.
2965          (__arm_vsetq_lane): Likewise.
2966          (__arm_vcmpneq_m): Likewise.
2967          (__arm_vhaddq_x): Likewise.
2968          (__arm_vhsubq_x): Likewise.
2969          (__arm_vqrdmlashq_m): Likewise.
2970          (__arm_vqdmlashq_m): Likewise.
2971          (__arm_vmlaldavaxq_p): Likewise.
2972          (__arm_vmlasq_m): Likewise.
2973          (__arm_vqdmulhq_m): Likewise.
2974          (__arm_vqdmulltq_m): Likewise.
2975          (__arm_viwdupq_m): Likewise.
2976          (__arm_viwdupq_u16): Likewise.
2977          (__arm_viwdupq_u32): Likewise.
2978          (__arm_viwdupq_u8): Likewise.
2979          (__arm_vdwdupq_m): Likewise.
2980          (__arm_vdwdupq_u16): Likewise.
2981          (__arm_vdwdupq_u32): Likewise.
2982          (__arm_vdwdupq_u8): Likewise.
2983          (__arm_vaddlvaq): Likewise.
2984          (__arm_vaddlvaq_p): Likewise.
2985          (__arm_vaddvaq): Likewise.
2986          (__arm_vaddvaq_p): Likewise.
2987          (__arm_vcmphiq_m): Likewise.
2988          (__arm_vmladavaq_p): Likewise.
2989          (__arm_vmladavaxq): Likewise.
2990          (__arm_vmlaldavaxq): Likewise.
2991          (__arm_vrmlaldavhaq_p): Likewise.
2992
29932023-05-18  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
2994
2995          Backported from master:
2996          2022-11-28  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
2997
2998          PR target/96795
2999          * config/arm/arm_mve.h (__arm_vaddq_m_n_s8): Change types.
3000          (__arm_vaddq_m_n_s32): Likewise.
3001          (__arm_vaddq_m_n_s16): Likewise.
3002          (__arm_vaddq_m_n_u8): Likewise.
3003          (__arm_vaddq_m_n_u32): Likewise.
3004          (__arm_vaddq_m_n_u16): Likewise.
3005          (__arm_vaddq_m): Fix Overloading.
3006          (__ARM_mve_coerce3): New.
3007
30082023-05-18  Andrea Corallo  <andrea.corallo@arm.com>
3009
3010          Backported from master:
3011          2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>
3012
3013          * config/arm/mve.md (mve_vabsq_f<mode>): Fix spacing.
3014
30152023-05-18  Andrea Corallo  <andrea.corallo@arm.com>
3016
3017          Backported from master:
3018          2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>
3019
3020          * config/arm/mve.md (@mve_vcmp<mve_cmp_op>q_<mode>): Fix
3021          spacing.
3022          * config/arm/arm_mve.h (__arm_vcmpgtq_m, __arm_vcmpleq_m)
3023          (__arm_vcmpltq_m, __arm_vcmpneq_m): Add missing defines.
3024
30252023-05-18  Andrea Corallo  <andrea.corallo@arm.com>
3026
3027          Backported from master:
3028          2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>
3029
3030          * config/arm/mve.md (mve_vdupq_n_f<mode>)
3031          (mve_vdupq_n_<supf><mode>, mve_vdupq_m_n_<supf><mode>)
3032          (mve_vdupq_m_n_f<mode>): Fix spacing.
3033
30342023-05-18  Andrea Corallo  <andrea.corallo@arm.com>
3035
3036          Backported from master:
3037          2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>
3038
3039          * config/arm/mve.md (mve_vdwdupq_m_wb_u<mode>_insn): Fix spacing.
3040
30412023-05-18  Andrea Corallo  <andrea.corallo@arm.com>
3042
3043          Backported from master:
3044          2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>
3045
3046          * config/arm/mve.md (mve_vddupq_u<mode>_insn): Fix 'vddup.u'
3047          spacing.
3048          (mve_vddupq_m_wb_u<mode>_insn): Likewise.
3049
30502023-05-18  Andrea Corallo  <andrea.corallo@arm.com>
3051
3052          Backported from master:
3053          2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>
3054
3055          * config/arm/vfp.md (*thumb2_movhi_vfp, *thumb2_movhi_fp16): Fix
3056          'vmsr' spacing and reg capitalization.
3057
30582023-05-15  liuhongt  <hongtao.liu@intel.com>
3059
3060          * config/i386/cygwin.h (ENDFILE_SPEC): Link crtfastmath.o
3061          whenever -mdaz-ftz is specified. Don't link crtfastmath.o
3062          when -mno-daz-ftz is specified.
3063          * config/i386/darwin.h (ENDFILE_SPEC): Ditto.
3064          * config/i386/gnu-user-common.h
3065          (GNU_USER_TARGET_MATHFILE_SPEC): Ditto.
3066          * config/i386/mingw32.h (ENDFILE_SPEC): Ditto.
3067          * config/i386/i386.opt (mdaz-ftz): New option.
3068          * doc/invoke.texi (x86 options): Document mftz-daz.
3069
30702023-05-09  Jakub Jelinek  <jakub@redhat.com>
3071
3072          Backported from master:
3073          2023-05-09  Jakub Jelinek  <jakub@redhat.com>
3074
3075          PR tree-optimization/109778
3076          * wide-int.h (wi::lrotate, wi::rrotate): Call wi::lrshift on
3077          wi::zext (x, width) rather than x if width != precision, rather
3078          than using wi::zext (right, width) after the shift.
3079          * tree-ssa-ccp.cc (bit_value_binop): Call wi::ext on the results
3080          of wi::lrotate or wi::rrotate.
3081
30822023-05-09  Kewen Lin  <linkw@linux.ibm.com>
3083
3084          Backported from master:
3085          2023-04-26  Kewen Lin  <linkw@linux.ibm.com>
3086
3087          PR target/108758
3088          * config/rs6000/rs6000-builtins.def
3089          (__builtin_vsx_scalar_cmp_exp_qp_eq, __builtin_vsx_scalar_cmp_exp_qp_gt
3090          __builtin_vsx_scalar_cmp_exp_qp_lt,
3091          __builtin_vsx_scalar_cmp_exp_qp_unordered): Move from stanza ieee128-hw
3092          to power9-vector.
3093
30942023-05-09  Kewen Lin  <linkw@linux.ibm.com>
3095
3096          Backported from master:
3097          2023-04-26  Kewen Lin  <linkw@linux.ibm.com>
3098
3099          PR target/109069
3100          * config/rs6000/altivec.md (sldoi_to_mov<mode>): Replace predicate
3101          easy_vector_constant with const_vector_each_byte_same, add
3102          handlings in preparation for !easy_vector_constant, and update
3103          VECTOR_UNIT_ALTIVEC_OR_VSX_P with VECTOR_MEM_ALTIVEC_OR_VSX_P.
3104          * config/rs6000/predicates.md (const_vector_each_byte_same): New
3105          predicate.
3106
31072023-05-08  Release Manager
3108
3109          * GCC 12.3.0 released.
3110
31112023-04-27  Jakub Jelinek  <jakub@redhat.com>
3112
3113          Backported from master:
3114          2023-04-08  Jakub Jelinek  <jakub@redhat.com>
3115
3116          PR tree-optimization/109392
3117          * tree-vect-generic.cc (tree_vec_extract): Handle failure
3118          of maybe_push_res_to_seq better.
3119
31202023-04-27  Richard Biener  <rguenther@suse.de>
3121
3122          Backported from master:
3123          2023-02-16  Richard Biener  <rguenther@suse.de>
3124
3125          PR tree-optimization/108791
3126          * tree-ssa-forwprop.cc (optimize_vector_load): Build
3127          the ADDR_EXPR of a TARGET_MEM_REF using a more meaningful
3128          type.
3129
31302023-04-27  Roger Sayle  <roger@nextmovesoftware.com>
3131
3132          Backported from master:
3133          2023-01-10  Roger Sayle  <roger@nextmovesoftware.com>
3134
3135          PR rtl-optimization/106421
3136          * cprop.cc (bypass_block): Check that DEST is local to this
3137          function (non-NULL) before calling find_edge.
3138
31392023-04-27  H.J. Lu  <hjl.tools@gmail.com>
3140
3141          Backported from master:
3142          2023-01-16  H.J. Lu  <hjl.tools@gmail.com>
3143
3144          PR target/105980
3145          * config/i386/i386.cc (x86_output_mi_thunk): Disable
3146          -mforce-indirect-call for PIC in 32-bit mode.
3147
31482023-04-27  Jan Hubicka  <jh@suse.cz>
3149
3150          Backported from master:
3151          2022-08-12  Jan Hubicka  <hubicka@ucw.cz>
3152
3153          PR middle-end/106057
3154          * ipa-devirt.cc (type_or_derived_type_possibly_instantiated_p): New
3155          function.
3156          (possible_polymorphic_call_targets): Use it.
3157
31582023-04-26  Martin Jambor  <mjambor@suse.cz>
3159
3160          Backported from master:
3161          2023-04-17  Martin Jambor  <mjambor@suse.cz>
3162
3163          PR ipa/107769
3164          PR ipa/109318
3165          * cgraph.h (symtab_node::find_reference): Add parameter use_type.
3166          * ipa-prop.h (ipa_pass_through_data): New flag refdesc_decremented.
3167          (ipa_zap_jf_refdesc): New function.
3168          (ipa_get_jf_pass_through_refdesc_decremented): Likewise.
3169          (ipa_set_jf_pass_through_refdesc_decremented): Likewise.
3170          * ipa-cp.cc (ipcp_discover_new_direct_edges): Provide a value for
3171          the new parameter of find_reference.
3172          (adjust_references_in_caller): Likewise. Make sure the constant jump
3173          function is not used to decrement a refdec counter again.  Only
3174          decrement refdesc counters when the pass_through jump function allows
3175          it.  Added a detailed dump when decrementing refdesc counters.
3176          * ipa-prop.cc (ipa_print_node_jump_functions_for_edge): Dump new flag.
3177          (ipa_set_jf_simple_pass_through): Initialize the new flag.
3178          (ipa_set_jf_unary_pass_through): Likewise.
3179          (ipa_set_jf_arith_pass_through): Likewise.
3180          (remove_described_reference): Provide a value for the new parameter of
3181          find_reference.
3182          (update_jump_functions_after_inlining): Zap refdesc of new jfunc if
3183          the previous pass_through had a flag mandating that we do so.
3184          (propagate_controlled_uses): Likewise.  Only decrement refdesc
3185          counters when the pass_through jump function allows it.
3186          (ipa_edge_args_sum_t::duplicate): Provide a value for the new
3187          parameter of find_reference.
3188          (ipa_write_jump_function): Assert the new flag does not have to be
3189          streamed.
3190          * symtab.cc (symtab_node::find_reference): Add parameter use_type, use
3191          it in searching.
3192
31932023-04-26  Jakub Jelinek  <jakub@redhat.com>
3194
3195          Backported from master:
3196          2023-04-25  Jakub Jelinek  <jakub@redhat.com>
3197
3198          PR target/109566
3199          * config/rs6000/rs6000.cc (rs6000_is_valid_rotate_dot_mask): For
3200          !TARGET_64BIT, don't return true if UINTVAL (mask) << (63 - nb)
3201          is larger than signed int maximum.
3202
32032023-04-26  Richard Biener  <rguenther@suse.de>
3204
3205          Backported from master:
3206          2023-04-25  Richard Biener  <rguenther@suse.de>
3207
3208          PR tree-optimization/109609
3209          * attr-fnspec.h (arg_max_access_size_given_by_arg_p):
3210          Clarify semantics.
3211          * tree-ssa-alias.cc (check_fnspec): Correctly interpret
3212          the size given by arg_max_access_size_given_by_arg_p as
3213          maximum, not exact, size.
3214
32152023-04-26  Richard Biener  <rguenther@suse.de>
3216
3217          Backported from master:
3218          2023-04-25  Richard Biener  <rguenther@suse.de>
3219
3220          PR rtl-optimization/109585
3221          * tree-ssa-alias.cc (aliasing_component_refs_p): Fix typo.
3222
32232023-04-26  Richard Biener  <rguenther@suse.de>
3224
3225          Backported from master:
3226          2023-04-21  Richard Biener  <rguenther@suse.de>
3227
3228          PR tree-optimization/109573
3229          * tree-vect-loop.cc (vectorizable_live_operation): Allow
3230          unhandled SSA copy as well.  Demote assert to checking only.
3231
32322023-04-21  John David Anglin  <danglin@gcc.gnu.org>
3233
3234          PR target/109478
3235          * config/pa/pa-protos.h (pa_function_arg_size): Update prototype.
3236          * config/pa/pa.cc (pa_function_arg): Return NULL_RTX if argument
3237          size is zero.
3238          (pa_arg_partial_bytes): Don't call pa_function_arg_size twice.
3239          (pa_function_arg_size): Change return type to int.  Return zero
3240          for arguments larger than 1 GB.  Update comments.
3241
32422023-04-21  Haochen Gui  <guihaoc@gcc.gnu.org>
3243
3244          Backported from master:
3245          2023-04-11  Haochen Gui  <guihaoc@gcc.gnu.org>
3246
3247          PR target/108812
3248          * config/rs6000/vsx.md (vsx_sign_extend_qi_<mode>): Rename to...
3249          (vsx_sign_extend_v16qi_<mode>): ... this.
3250          (vsx_sign_extend_hi_<mode>): Rename to...
3251          (vsx_sign_extend_v8hi_<mode>): ... this.
3252          (vsx_sign_extend_si_v2di): Rename to...
3253          (vsx_sign_extend_v4si_v2di): ... this.
3254          (vsignextend_qi_<mode>): Remove.
3255          (vsignextend_hi_<mode>): Remove.
3256          (vsignextend_si_v2di): Remove.
3257          (vsignextend_v2di_v1ti): Remove.
3258          (*xxspltib_<mode>_split): Replace gen_vsx_sign_extend_qi_v2di with
3259          gen_vsx_sign_extend_v16qi_v2di and gen_vsx_sign_extend_qi_v4si
3260          with gen_vsx_sign_extend_v16qi_v4si.
3261          * config/rs6000/rs6000.md (split for DI constant generation):
3262          Replace gen_vsx_sign_extend_qi_si with gen_vsx_sign_extend_v16qi_si.
3263          (split for HSDI constant generation): Replace gen_vsx_sign_extend_qi_di
3264          with gen_vsx_sign_extend_v16qi_di and gen_vsx_sign_extend_qi_si
3265          with gen_vsx_sign_extend_v16qi_si.
3266          * config/rs6000/rs6000-builtins.def (__builtin_altivec_vsignextsb2d):
3267          Set bif-pattern to vsx_sign_extend_v16qi_v2di.
3268          (__builtin_altivec_vsignextsb2w): Set bif-pattern to
3269          vsx_sign_extend_v16qi_v4si.
3270          (__builtin_altivec_visgnextsh2d): Set bif-pattern to
3271          vsx_sign_extend_v8hi_v2di.
3272          (__builtin_altivec_vsignextsh2w): Set bif-pattern to
3273          vsx_sign_extend_v8hi_v4si.
3274          (__builtin_altivec_vsignextsw2d): Set bif-pattern to
3275          vsx_sign_extend_si_v2di.
3276          (__builtin_altivec_vsignext): Set bif-pattern to
3277          vsx_sign_extend_v2di_v1ti.
3278          * config/rs6000/rs6000-builtin.cc (lxvrse_expand_builtin): Replace
3279          gen_vsx_sign_extend_qi_v2di with gen_vsx_sign_extend_v16qi_v2di,
3280          gen_vsx_sign_extend_hi_v2di with gen_vsx_sign_extend_v8hi_v2di and
3281          gen_vsx_sign_extend_si_v2di with gen_vsx_sign_extend_v4si_v2di.
3282
32832023-04-18  Jakub Jelinek  <jakub@redhat.com>
3284
3285          Backported from master:
3286          2023-04-12  Jakub Jelinek  <jakub@redhat.com>
3287
3288          PR tree-optimization/109410
3289          * tree-ssa-reassoc.cc (build_and_add_sum): Split edge from entry
3290          block if first statement of the function is a call to returns_twice
3291          function.
3292
32932023-04-18  Jakub Jelinek  <jakub@redhat.com>
3294
3295          Backported from master:
3296          2023-03-28  Jakub Jelinek  <jakub@redhat.com>
3297
3298          PR middle-end/106190
3299          * sanopt.cc (pass_sanopt::execute): Return TODO_cleanup_cfg if any
3300          of the IFN_{UB,HWA,A}SAN_* internal fns are lowered.
3301
33022023-04-18  Jakub Jelinek  <jakub@redhat.com>
3303
3304          Backported from master:
3305          2023-03-28  Jakub Jelinek  <jakub@redhat.com>
3306
3307          PR target/109276
3308          * config/i386/i386.cc (assign_386_stack_local): For DImode
3309          with SLOT_FLOATxFDI_387 and -m32 -mpreferred-stack-boundary=2 pass
3310          align 32 rather than 0 to assign_stack_local.
3311
33122023-04-18  Jakub Jelinek  <jakub@redhat.com>
3313
3314          Backported from master:
3315          2023-03-26  Jakub Jelinek  <jakub@redhat.com>
3316
3317          PR ipa/105685
3318          * predict.cc (compute_function_frequency): Don't call
3319          warn_function_cold if function already has cold attribute.
3320
33212023-04-18  Jakub Jelinek  <jakub@redhat.com>
3322
3323          Backported from master:
3324          2023-03-23  Jakub Jelinek  <jakub@redhat.com>
3325
3326          PR tree-optimization/109176
3327          * tree-vect-generic.cc (expand_vector_condition): If a has
3328          vector boolean type and is a comparison, also check if both
3329          the comparison and VEC_COND_EXPR could be successfully expanded
3330          individually.
3331
33322023-04-18  Philipp Tomsich  <philipp.tomsich@vrull.eu>
3333
3334          Backported from master:
3335          2023-01-31  Philipp Tomsich  <philipp.tomsich@vrull.eu>
3336
3337          PR target/108589
3338          * config/aarch64/aarch64.cc (aarch_macro_fusion_pair_p): Check
3339          REG_P on SET_DEST.
3340
33412023-04-17  Philipp Tomsich  <philipp.tomsich@vrull.eu>
3342
3343          Backported from master:
3344          2023-04-17  Philipp Tomsich  <philipp.tomsich@vrull.eu>
3345                        Di Zhao  <di.zhao@amperecomputing.com>
3346
3347          * config/aarch64/aarch64-tuning-flags.def (AARCH64_EXTRA_TUNING_OPTION):
3348          Add AARCH64_EXTRA_TUNE_NO_LDP_COMBINE.
3349          * config/aarch64/aarch64.cc (aarch64_operands_ok_for_ldpstp):
3350          Check for the above tuning option when processing loads.
3351
33522023-04-17  Richard Sandiford  <richard.sandiford@arm.com>
3353
3354          Backported from master:
3355          2023-04-13  Richard Sandiford  <richard.sandiford@arm.com>
3356
3357          PR target/108910
3358          * config/aarch64/aarch64.cc (aarch64_function_arg_alignment): Do
3359          not trust TYPE_ALIGN for pointer types; use POINTER_SIZE instead.
3360
33612023-04-17  Richard Biener  <rguenther@suse.de>
3362
3363          PR tree-optimization/109434
3364          * tree-ssa-dse.cc (initialize_ao_ref_for_dse): Properly
3365          handle possibly throwing calls when processing the LHS
3366          and may-defs are not OK.  Add mode to initialize a may-def.
3367          (dse_optimize_stmt): Query may-defs.
3368
33692023-04-17  Richard Biener  <rguenther@suse.de>
3370
3371          Backported from master:
3372          2023-04-14  Richard Biener  <rguenther@suse.de>
3373
3374          PR tree-optimization/109502
3375          * tree-vect-stmts.cc (vectorizable_assignment): Fix
3376          check for conversion between mask and non-mask types.
3377
33782023-04-17  Richard Biener  <rguenther@suse.de>
3379
3380          Backported from master:
3381          2023-04-13  Richard Biener  <rguenther@suse.de>
3382
3383          PR tree-optimization/109491
3384          * tree-ssa-sccvn.cc (expressions_equal_p): Restore the
3385          NULL operands test.
3386
33872023-04-17  Richard Biener  <rguenther@suse.de>
3388
3389          Backported from master:
3390          2023-04-12  Richard Biener  <rguenther@suse.de>
3391
3392          PR tree-optimization/109473
3393          * tree-vect-loop.cc (vect_create_epilog_for_reduction):
3394          Convert scalar result to the computation type before performing
3395          the reduction adjustment.
3396
33972023-04-17  Richard Biener  <rguenther@suse.de>
3398
3399          Backported from master:
3400          2023-04-12  Richard Biener  <rguenther@suse.de>
3401
3402          PR tree-optimization/109469
3403          * tree-vect-slp.cc (vect_slp_function): Skip region starts with
3404          a returns-twice call.
3405
34062023-04-17  Richard Biener  <rguenther@suse.de>
3407
3408          Backported from master:
3409          2023-03-27  Richard Biener  <rguenther@suse.de>
3410
3411          PR lto/109263
3412          * lto-wrapper.cc (run_gcc): Parse alternate debug options
3413          as well, they always enable debug.
3414
34152023-04-17  Richard Biener  <rguenther@suse.de>
3416
3417          Backported from master:
3418          2023-03-21  Richard Biener  <rguenther@suse.de>
3419
3420          PR tree-optimization/109219
3421          * tree-vect-loop.cc (vectorizable_reduction): Check
3422          slp_node, not STMT_SLP_TYPE.
3423          * tree-vect-stmts.cc (vectorizable_condition): Likewise.
3424          * tree-vect-slp.cc (vect_slp_analyze_node_operations_1):
3425          Remove assertion on STMT_SLP_TYPE.
3426
34272023-04-17  Richard Biener  <rguenther@suse.de>
3428
3429          Backported from master:
3430          2023-03-29  Richard Biener  <rguenther@suse.de>
3431
3432          PR ipa/106124
3433          * dwarf2out.cc (lookup_type_die): Reset TREE_ASM_WRITTEN
3434          so we can re-create the DIE for the type if required.
3435
34362023-04-17  Richard Biener  <rguenther@suse.de>
3437
3438          Backported from master:
3439          2022-12-07  Richard Biener  <rguenther@suse.de>
3440
3441          PR ipa/105676
3442          * ipa-pure-const.cc (ipa_make_function_pure): Skip also
3443          for functions already being const.
3444
34452023-04-17  Kewen Lin  <linkw@linux.ibm.com>
3446
3447          Backported from master:
3448          2023-04-04  Kewen Lin  <linkw@linux.ibm.com>
3449
3450          PR target/108699
3451          * config/rs6000/altivec.md (*p9v_parity<mode>2): Rename to ...
3452          (rs6000_vprtyb<mode>2): ... this.
3453          * config/rs6000/rs6000-builtins.def (VPRTYBD): Replace parityv2di2 with
3454          rs6000_vprtybv2di2.
3455          (VPRTYBW): Replace parityv4si2 with rs6000_vprtybv4si2.
3456          (VPRTYBQ): Replace parityv1ti2 with rs6000_vprtybv1ti2.
3457          * config/rs6000/vector.md (parity<mode>2 with VEC_IP): Expand with
3458          popcountv16qi2 and the corresponding rs6000_vprtyb<mode>2.
3459
34602023-04-17  Kewen Lin  <linkw@linux.ibm.com>
3461
3462          Backported from master:
3463          2023-04-04  Kewen Lin  <linkw@linux.ibm.com>
3464
3465          PR target/108807
3466          * config/rs6000/rs6000.cc (rs6000_expand_vector_set_var_p9): Fix gen
3467          function for permutation control vector by considering big endianness.
3468
34692023-04-14  Jan Hubicka  <hubicka@ucw.cz>
3470
3471          PR target/109137
3472          * config/i386/x86-tune.def (X86_TUNE_AVX256_MOVE_BY_PIECES):
3473          Remove znver1-3.
3474          (X86_TUNE_AVX256_STORE_BY_PIECES): Remove znver1-3.
3475
34762023-04-13  Philipp Tomsich  <philipp.tomsich@vrull.eu>
3477
3478          Backported from master:
3479          2023-03-27  Philipp Tomsich  <philipp.tomsich@vrull.eu>
3480                        Jiangning Liu  <jiangning.liu@amperecomputing.com>
3481                        Manolis Tsamis  <manolis.tsamis@vrull.eu>
3482
3483          * config/aarch64/aarch64.cc: Update vector costs for ampere1.
3484
34852023-04-11  Michael Meissner  <meissner@linux.ibm.com>
3486
3487          PR target/109067
3488          * config/rs6000/rs6000.cc (create_complex_muldiv): Delete.
3489          (init_float128_ieee): Delete code to switch complex multiply and divide
3490          for long double.  Backport from master, 3/20/2023.
3491          (complex_multiply_builtin_code): New helper function.
3492          (complex_divide_builtin_code): Likewise.
3493          (rs6000_mangle_decl_assembler_name): Add support for mangling the name
3494          of complex 128-bit multiply and divide built-in functions.
3495
34962023-04-06  Andrew Pinski  <apinski@marvell.com>
3497
3498          Backported from master:
3499          2023-04-06  Andrew Pinski  <apinski@marvell.com>
3500
3501          PR tree-optimization/109427
3502          * params.opt (-param=vect-induction-float=):
3503          Fix option attribute typo for IntegerRange.
3504
35052023-04-03  Richard Sandiford  <richard.sandiford@arm.com>
3506
3507          PR tree-optimization/96373
3508          PR tree-optimization/108979
3509          * tree-vect-stmts.cc (vectorizable_operation): Predicate trapping
3510          operations on the loop mask.  Reject partial vectors if this isn't
3511          possible.  Don't mask operations on invariants.
3512
35132023-04-03  Richard Sandiford  <richard.sandiford@arm.com>
3514
3515          Backported from master:
3516          2023-03-28  Richard Sandiford  <richard.sandiford@arm.com>
3517
3518          PR target/109072
3519          * config/aarch64/aarch64-protos.h (aarch64_vector_load_decl): Declare.
3520          * config/aarch64/aarch64.h (machine_function::vector_load_decls): New
3521          variable.
3522          * config/aarch64/aarch64-builtins.cc (aarch64_record_vector_load_arg):
3523          New function.
3524          (aarch64_general_gimple_fold_builtin): Delay folding of vld1 until
3525          after inlining.  Record which decls are loaded from.  Fix handling
3526          of vops for loads and stores.
3527          * config/aarch64/aarch64.cc (aarch64_vector_load_decl): New function.
3528          (aarch64_accesses_vector_load_decl_p): Likewise.
3529          (aarch64_vector_costs::m_stores_to_vector_load_decl): New member
3530          variable.
3531          (aarch64_vector_costs::add_stmt_cost): If the function has a vld1
3532          that loads from a decl, treat vector stores to those decls as
3533          zero cost.
3534          (aarch64_vector_costs::finish_cost): ...and in that case,
3535          if the vector code does nothing more than a store, give the
3536          prologue a zero cost as well.
3537
35382023-04-03  Richard Sandiford  <richard.sandiford@arm.com>
3539
3540          Backported from master:
3541          2023-02-13  Richard Sandiford  <richard.sandiford@arm.com>
3542
3543          PR rtl-optimization/108681
3544          * lra-spills.cc (lra_final_code_change): Extend subreg replacement
3545          code to handle bare uses and clobbers.
3546
35472023-04-03  Richard Sandiford  <richard.sandiford@arm.com>
3548
3549          Backported from master:
3550          2023-01-31  Richard Sandiford  <richard.sandiford@arm.com>
3551
3552          PR tree-optimization/108608
3553          * tree-vect-loop.cc (vect_transform_reduction): Handle single
3554          def-use cycles that involve function calls rather than tree codes.
3555
35562023-04-03  Richard Sandiford  <richard.sandiford@arm.com>
3557
3558          Backported from master:
3559          2023-03-02  Richard Sandiford  <richard.sandiford@arm.com>
3560
3561          PR tree-optimization/108603
3562          * explow.cc (convert_memory_address_addr_space_1): Only wrap
3563          the result of a recursive call in a CONST if no instructions
3564          were emitted.
3565
35662023-04-03  Richard Sandiford  <richard.sandiford@arm.com>
3567
3568          Backported from master:
3569          2023-02-02  Richard Sandiford  <richard.sandiford@arm.com>
3570
3571          PR rtl-optimization/108508
3572          * rtl-ssa/accesses.cc (function_info::split_clobber_group): When
3573          the splay tree search gives the first clobber in the second group,
3574          make sure that the root of the first clobber group is updated
3575          correctly.  Enter the new clobber group into the definition splay
3576          tree.
3577
35782023-04-03  Richard Sandiford  <richard.sandiford@arm.com>
3579
3580          Backported from master:
3581          2023-03-02  Richard Sandiford  <richard.sandiford@arm.com>
3582
3583          PR tree-optimization/108430
3584          * tree-vect-stmts.cc (vectorizable_condition): Fix handling
3585          of inverted condition.
3586
35872023-04-03  Richard Sandiford  <richard.sandiford@arm.com>
3588
3589          Backported from master:
3590          2023-02-02  Richard Sandiford  <richard.sandiford@arm.com>
3591
3592          PR rtl-optimization/108086
3593          * rtl-ssa/insns.h (insn_info): Make m_num_defs a full unsigned int.
3594          Adjust size-related commentary accordingly.
3595
35962023-03-31  Vladimir N. Makarov  <vmakarov@redhat.com>
3597
3598          * ira-costs.cc: Include print-rtl.h.
3599          (record_reg_classes, scan_one_insn): Add code to print debug info.
3600          (record_operand_costs): Find and use smaller cost for hard reg
3601          move.
3602
36032023-03-29  David Malcolm  <dmalcolm@redhat.com>
3604
3605          * doc/invoke.texi (Static Analyzer Options): Add notes about
3606          limitations of -fanalyzer.
3607
36082023-03-29  David Malcolm  <dmalcolm@redhat.com>
3609
3610          * doc/analyzer.texi: Drop out-of-date ideas for other checkers.
3611
36122023-03-28  Eric Botcazou  <ebotcazou@adacore.com>
3613
3614          PR target/109140
3615          * config/sparc/sparc.cc (sparc_expand_vcond): Call signed_condition
3616          on operand #3 to get the final condition code.  Use std::swap.
3617          * config/sparc/sparc.md (vcondv8qiv8qi): New VIS 4 expander.
3618          (fucmp<gcond:code>8<P:mode>_vis): Move around.
3619          (fpcmpu<gcond:code><GCM:gcm_name><P:mode>_vis): Likewise.
3620          (vcondu<GCM:mode><GCM:mode>): New VIS 4 expander.
3621
36222023-03-22  Martin Jambor  <mjambor@suse.cz>
3623
3624          Backported from master:
3625          2023-03-14  Martin Jambor  <mjambor@suse.cz>
3626
3627          PR ipa/107925
3628          * ipa-cp.cc (update_specialized_profile): Drop orig_node_count to
3629          ipa count, remove assert, lenient_count_portion_handling, dump
3630          also orig_node_count.
3631
36322023-03-20  Peter Bergner  <bergner@linux.ibm.com>
3633
3634          Backported from master:
3635          2023-03-20  Peter Bergner  <bergner@linux.ibm.com>
3636
3637          PR target/109178
3638          * config/rs6000/rs6000-builtin.cc (stv_expand_builtin): Use tmode.
3639
36402023-03-19  Jakub Jelinek  <jakub@redhat.com>
3641
3642          Backported from master:
3643          2023-03-17  Jakub Jelinek  <jakub@redhat.com>
3644
3645          PR target/105554
3646          * function.h (push_struct_function): Add ABSTRACT_P argument defaulted
3647          to false.
3648          * function.cc (push_struct_function): Add ABSTRACT_P argument, pass it
3649          to allocate_struct_function instead of false.
3650          * tree-inline.cc (initialize_cfun): Don't copy DECL_ARGUMENTS
3651          nor DECL_RESULT here.  Pass true as ABSTRACT_P to
3652          push_struct_function.  Call targetm.target_option.relayout_function
3653          after it.
3654          (tree_function_versioning): Formatting fix.
3655
36562023-03-19  Jakub Jelinek  <jakub@redhat.com>
3657
3658          Backported from master:
3659          2023-03-17  Jakub Jelinek  <jakub@redhat.com>
3660
3661          PR middle-end/108685
3662          * omp-expand.cc (expand_omp_for_ordered_loops): Add L0_BB argument,
3663          use its loop_father rather than BODY_BB's loop_father.
3664          (expand_omp_for_generic): Adjust expand_omp_for_ordered_loops caller.
3665          If broken_loop with ordered > collapse and at least one of those
3666          extra loops aren't guaranteed to have at least one iteration, change
3667          l0_bb's loop_father to entry_bb's loop_father.  Set cont_bb's
3668          loop_father to l0_bb's loop_father rather than l1_bb's.
3669
36702023-03-19  Jakub Jelinek  <jakub@redhat.com>
3671
3672          Backported from master:
3673          2023-03-10  Jakub Jelinek  <jakub@redhat.com>
3674
3675          PR c/108079
3676          * cgraphunit.cc (check_global_declaration): Don't warn for unused
3677          variables which have OPT_Wunused_variable warning suppressed.
3678
36792023-03-19  Jakub Jelinek  <jakub@redhat.com>
3680
3681          Backported from master:
3682          2023-03-04  Jakub Jelinek  <jakub@redhat.com>
3683
3684          PR testsuite/108973
3685          * selftest-diagnostic.cc
3686          (test_diagnostic_context::test_diagnostic_context): Set
3687          caret_max_width to 80.
3688
36892023-03-19  Jakub Jelinek  <jakub@redhat.com>
3690
3691          Backported from master:
3692          2023-03-03  Jakub Jelinek  <jakub@redhat.com>
3693
3694          PR c/108986
3695          * gimple-ssa-warn-access.cc (pass_waccess::maybe_check_access_sizes):
3696          Return immediately if OPT_Wnonnull or OPT_Wstringop_overflow_ is
3697          suppressed on stmt.  For [static %E] warning, print access_nelts
3698          rather than access_size.  Fix up comment wording.
3699
37002023-03-19  Jakub Jelinek  <jakub@redhat.com>
3701
3702          Backported from master:
3703          2023-03-02  Jakub Jelinek  <jakub@redhat.com>
3704
3705          PR c++/108934
3706          * fold-const.cc (native_interpret_expr) <case REAL_CST>: Before memcmp
3707          comparison copy the bytes from ptr to a temporary buffer and clearing
3708          padding bits in there.
3709
37102023-03-19  Jakub Jelinek  <jakub@redhat.com>
3711
3712          Backported from master:
3713          2023-03-01  Jakub Jelinek  <jakub@redhat.com>
3714
3715          PR debug/108967
3716          * cfgexpand.cc (expand_debug_expr): Handle WIDEN_{PLUS,MINUS}_EXPR
3717          and VEC_WIDEN_{PLUS,MINUS}_{HI,LO}_EXPR.
3718
37192023-03-19  Jakub Jelinek  <jakub@redhat.com>
3720
3721          Backported from master:
3722          2023-02-24  Jakub Jelinek  <jakub@redhat.com>
3723
3724          PR middle-end/108854
3725          * cgraphclones.cc (duplicate_thunk_for_node): If no parameter
3726          changes are needed, copy at least DECL_ARGUMENTS PARM_DECL
3727          nodes and adjust their DECL_CONTEXT.
3728
37292023-03-19  Jakub Jelinek  <jakub@redhat.com>
3730
3731          Backported from master:
3732          2023-02-24  Jakub Jelinek  <jakub@redhat.com>
3733
3734          PR target/108881
3735          * config/i386/i386-builtin.def (__builtin_ia32_cvtne2ps2bf16_v16hi,
3736          __builtin_ia32_cvtne2ps2bf16_v16hi_mask,
3737          __builtin_ia32_cvtne2ps2bf16_v16hi_maskz,
3738          __builtin_ia32_cvtne2ps2bf16_v8hi,
3739          __builtin_ia32_cvtne2ps2bf16_v8hi_mask,
3740          __builtin_ia32_cvtne2ps2bf16_v8hi_maskz,
3741          __builtin_ia32_cvtneps2bf16_v8sf_mask,
3742          __builtin_ia32_cvtneps2bf16_v8sf_maskz,
3743          __builtin_ia32_cvtneps2bf16_v4sf_mask,
3744          __builtin_ia32_cvtneps2bf16_v4sf_maskz,
3745          __builtin_ia32_dpbf16ps_v8sf, __builtin_ia32_dpbf16ps_v8sf_mask,
3746          __builtin_ia32_dpbf16ps_v8sf_maskz, __builtin_ia32_dpbf16ps_v4sf,
3747          __builtin_ia32_dpbf16ps_v4sf_mask,
3748          __builtin_ia32_dpbf16ps_v4sf_maskz): Require also
3749          OPTION_MASK_ISA_AVX512VL.
3750
37512023-03-19  Jakub Jelinek  <jakub@redhat.com>
3752
3753          Backported from master:
3754          2023-02-18  Jakub Jelinek  <jakub@redhat.com>
3755
3756          PR tree-optimization/108819
3757          * tree-ssa-reassoc.cc (update_ops): Fold new stmt in place.
3758
37592023-03-19  Jakub Jelinek  <jakub@redhat.com>
3760
3761          Backported from master:
3762          2023-02-09  Jakub Jelinek  <jakub@redhat.com>
3763
3764          PR target/100758
3765          * common/config/i386/cpuinfo.h (cpu_indicator_init): Call
3766          get_available_features for all CPUs with max_level >= 1, rather
3767          than just Intel or AMD.
3768
37692023-03-15  Richard Biener  <rguenther@suse.de>
3770
3771          Backported from master:
3772          2023-03-01  Richard Biener  <rguenther@suse.de>
3773
3774          PR tree-optimization/108950
3775          * tree-vect-patterns.cc (vect_recog_widen_sum_pattern):
3776          Check oprnd0 is defined in the loop.
3777          * tree-vect-loop.cc (vectorizable_reduction): Record all
3778          operands vector types, compute that of invariants and
3779          properly update their SLP nodes.
3780
37812023-03-15  Richard Biener  <rguenther@suse.de>
3782
3783          Backported from master:
3784          2023-02-17  Richard Biener  <rguenther@suse.de>
3785
3786          PR tree-optimization/108821
3787          * tree-ssa-loop-im.cc (sm_seq_valid_bb): We can also not
3788          move volatile accesses.
3789
37902023-03-15  Richard Biener  <rguenther@suse.de>
3791
3792          Backported from master:
3793          2023-02-20  Richard Biener  <rguenther@suse.de>
3794
3795          PR tree-optimization/108816
3796          * tree-vect-loop-manip.cc (vect_loop_versioning): Adjust
3797          versioning condition split prerequesite, assert required
3798          invariant.
3799
38002023-03-15  Richard Biener  <rguenther@suse.de>
3801
3802          Backported from master:
3803          2023-02-21  Richard Biener  <rguenther@suse.de>
3804
3805          PR tree-optimization/108793
3806          * tree-ssa-loop-niter.cc (number_of_iterations_until_wrap):
3807          Use convert operands to niter_type when computing num.
3808
38092023-03-15  Richard Biener  <rguenther@suse.de>
3810
3811          Backported from master:
3812          2023-02-10  Richard Biener  <rguenther@suse.de>
3813
3814          PR tree-optimization/108724
3815          * tree-vect-stmts.cc (vectorizable_operation): Avoid
3816          using word_mode vectors when vector lowering will
3817          decompose them to elementwise operations.
3818
38192023-03-15  Richard Biener  <rguenther@suse.de>
3820
3821          Backported from master:
3822          2023-02-02  Richard Biener  <rguenther@suse.de>
3823
3824          PR middle-end/108625
3825          * genmatch.cc (expr::gen_transform): Also disallow resimplification
3826          from pushing to lseq with force_leaf.
3827          (dt_simplify::gen_1): Likewise.
3828
38292023-03-15  Richard Biener  <rguenther@suse.de>
3830
3831          Backported from master:
3832          2023-02-01  Richard Biener  <rguenther@suse.de>
3833
3834          PR middle-end/108500
3835          * dominance.cc (assign_dfs_numbers): Replace recursive DFS
3836          with tree traversal algorithm.
3837
38382023-03-15  Richard Biener  <rguenther@suse.de>
3839
3840          Backported from master:
3841          2022-12-22  Richard Biener  <rguenther@suse.de>
3842
3843          PR tree-optimization/107451
3844          * tree-vect-stmts.cc (vectorizable_load): Avoid loading
3845          SLP group members from group numbers in excess of the
3846          vectorization factor.
3847
38482023-03-15  Richard Biener  <rguenther@suse.de>
3849
3850          Backported from master:
3851          2022-12-11  Richard Biener  <rguenther@suse.de>
3852
3853          PR tree-optimization/106904
3854          * tree.h (strip_zero_offset_components): Declare.
3855          * tree.cc (strip_zero_offset_components): Define.
3856          * tree-vect-data-refs.cc (vect_create_addr_base_for_vector_ref):
3857          Strip zero offset components before building the address.
3858
38592023-03-14  Jan Hubicka  <jh@suse.cz>
3860
3861          Backported from master:
3862          2023-03-06  Jan Hubicka  <hubicka@ucw.cz>
3863
3864          PR target/108429
3865          * config/i386/x86-tune.def (X86_TUNE_USE_SCATTER_2PARTS): Enable for
3866          generic.
3867          (X86_TUNE_USE_SCATTER_4PARTS): Likewise.
3868          (X86_TUNE_USE_SCATTER): Likewise.
3869
38702023-03-14  Jan Hubicka  <jh@suse.cz>
3871
3872          Backported from master:
3873          2023-02-07  Jan Hubicka  <jh@suse.cz>
3874
3875          * config/i386/x86-tune.def (X86_TUNE_AVX256_OPTIMAL): Turn off
3876          for znver4.
3877
38782023-03-11  Andrew Pinski  <apinski@marvell.com>
3879
3880          Backported from master:
3881          2022-12-21  Andrew Pinski  <apinski@marvell.com>
3882
3883          PR tree-optimization/105532
3884          * match.pd (~(X >> Y) -> ~X >> Y): Check if it is an integral
3885          type before calling tree_nonzero_bits.
3886          (popcount(X) + popcount(Y)): Likewise.
3887          (popcount(X&C1)): Likewise.
3888
38892023-03-10  Andrew Pinski  <apinski@marvell.com>
3890
3891          Backported from master:
3892          2023-02-10  Andrew Pinski  <apinski@marvell.com>
3893                        Andrew Macleod   <amacleod@redhat.com>
3894
3895          PR tree-optimization/108684
3896          * tree-ssa-dce.cc (simple_dce_from_worklist):
3897          Check all ssa names and not just non-vdef ones
3898          before accepting the inline-asm.
3899          Call unlink_stmt_vdef on the statement before
3900          removing it.
3901
39022023-03-08  Tobias Burnus  <tobias@codesourcery.com>
3903
3904          Backported from master:
3905          2023-03-01  Tobias Burnus  <tobias@codesourcery.com>
3906
3907          PR middle-end/108546
3908          * omp-low.cc (lower_omp_target): Remove optional handling
3909          on the receiver side, i.e. inside target (data), for
3910          use_device_ptr.
3911
39122023-03-06  Xi Ruoyao  <xry111@xry111.site>
3913
3914          Backported from master:
3915          2023-03-06  Xi Ruoyao  <xry111@xry111.site>
3916
3917          PR target/109000
3918          * config/loongarch/loongarch.h (FP_RETURN): Use
3919          TARGET_*_FLOAT_ABI instead of TARGET_*_FLOAT.
3920          (UNITS_PER_FP_ARG): Likewise.
3921
39222023-02-27  Martin Liska  <mliska@suse.cz>
3923
3924          Backported from master:
3925          2023-02-24  Martin Liska  <mliska@suse.cz>
3926
3927          PR sanitizer/108834
3928          * asan.cc (asan_add_global): Use proper TU name for normal
3929          global variables (and aux_base_name for the artificial one).
3930
39312023-02-24  Sebastian Huber  <sebastian.huber@embedded-brains.de>
3932
3933          Backported from master:
3934          2023-02-24  Sebastian Huber  <sebastian.huber@embedded-brains.de>
3935
3936          * config/riscv/t-rtems: Keep only -mcmodel=medany 64-bit multilibs.
3937          Add non-compact 32-bit multilibs.
3938
39392023-02-20  Alex Coplan  <alex.coplan@arm.com>
3940
3941          Backported from master:
3942          2023-02-06  Alex Coplan  <alex.coplan@arm.com>
3943
3944          PR target/104921
3945          * config/aarch64/aarch64-simd.md (aarch64_bfmlal<bt>_lane<q>v4sf):
3946          Use correct constraint for operand 3.
3947
39482023-02-18  Xi Ruoyao  <xry111@xry111.site>
3949
3950          Backported from master:
3951          2023-02-18  Xi Ruoyao  <xry111@xry111.site>
3952
3953          * config.gcc (triplet_abi): Set its value based on $with_abi,
3954          instead of $target.
3955          (la_canonical_triplet): Set it after $triplet_abi is set
3956          correctly.
3957          * config/loongarch/t-linux (MULTILIB_OSDIRNAMES): Make the
3958          multiarch tuple for lp64d "loongarch64-linux-gnu" (without
3959          "f64" suffix).
3960
39612023-02-15  Eric Botcazou  <ebotcazou@adacore.com>
3962
3963          PR target/90458
3964          * config/i386/i386.cc (ix86_compute_frame_layout): Disable the
3965          effects of -fstack-clash-protection for TARGET_STACK_PROBE.
3966          (ix86_expand_prologue): Likewise.
3967
39682023-02-15  Marek Polacek  <polacek@redhat.com>
3969
3970          Backported from master:
3971          2023-02-15  Marek Polacek  <polacek@redhat.com>
3972
3973          PR middle-end/106080
3974          * gimple-ssa-warn-access.cc (is_auto_decl): Remove.  Use auto_var_p
3975          instead.
3976
39772023-02-14  Eric Botcazou  <ebotcazou@adacore.com>
3978
3979          * gimplify.cc (gimplify_save_expr): Add missing guard.
3980
39812023-02-13  Kewen Lin  <linkw@linux.ibm.com>
3982
3983          Backported from master:
3984          2023-01-18  Kewen Lin  <linkw@linux.ibm.com>
3985                        Andrew Pinski  <apinski@marvell.com>
3986
3987          PR target/108396
3988          * config/rs6000/rs6000-overload.def (VEC_VSUBCUQ): Fix typo
3989          vec_vsubcuqP with vec_vsubcuq.
3990
39912023-02-13  Kewen Lin  <linkw@linux.ibm.com>
3992
3993          Backported from master:
3994          2023-01-18  Kewen Lin  <linkw@linux.ibm.com>
3995
3996          PR target/108348
3997          * config/rs6000/rs6000.cc (rs6000_opaque_type_invalid_use_p): Add the
3998          support for invalid uses of MMA opaque type in function arguments.
3999
40002023-02-13  Kewen Lin  <linkw@linux.ibm.com>
4001
4002          Backported from master:
4003          2023-01-16  Kewen Lin  <linkw@linux.ibm.com>
4004
4005          PR target/108272
4006          * config/rs6000/rs6000.cc (rs6000_opaque_type_invalid_use_p): Add the
4007          support for invalid uses in inline asm, factor out the checking and
4008          erroring to lambda function check_and_error_invalid_use.
4009
40102023-02-11  John David Anglin  <danglin@gcc.gnu.org>
4011
4012          * config/pa/pa.cc (pa_option_override): Disable -fstack-protector.
4013
40142023-02-10  Jakub Jelinek  <jakub@redhat.com>
4015
4016          Backported from master:
4017          2023-01-31  Jakub Jelinek  <jakub@redhat.com>
4018
4019          PR c++/105593
4020          * config/i386/avx512erintrin.h (_mm512_exp2a23_round_pd,
4021          _mm512_exp2a23_round_ps, _mm512_rcp28_round_pd, _mm512_rcp28_round_ps,
4022          _mm512_rsqrt28_round_pd, _mm512_rsqrt28_round_ps): Use
4023          _mm512_undefined_pd () or _mm512_undefined_ps () instead of using
4024          uninitialized automatic variable __W.
4025
40262023-02-10  Jakub Jelinek  <jakub@redhat.com>
4027
4028          Backported from master:
4029          2023-01-16  Jakub Jelinek  <jakub@redhat.com>
4030
4031          PR c++/105593
4032          * config/i386/xmmintrin.h (_mm_undefined_ps): Temporarily
4033          disable -Winit-self using pragma GCC diagnostic ignored.
4034          * config/i386/emmintrin.h (_mm_undefined_pd, _mm_undefined_si128):
4035          Likewise.
4036          * config/i386/avxintrin.h (_mm256_undefined_pd, _mm256_undefined_ps,
4037          _mm256_undefined_si256): Likewise.
4038          * config/i386/avx512fintrin.h (_mm512_undefined_pd,
4039          _mm512_undefined_ps, _mm512_undefined_epi32): Likewise.
4040          * config/i386/avx512fp16intrin.h (_mm_undefined_ph,
4041          _mm256_undefined_ph, _mm512_undefined_ph): Likewise.
4042
40432023-02-10  Jakub Jelinek  <jakub@redhat.com>
4044
4045          Backported from master:
4046          2023-01-19  Jakub Jelinek  <jakub@redhat.com>
4047
4048          PR tree-optimization/108440
4049          * tree-ssa-forwprop.cc: Include gimple-range.h.
4050          (simplify_rotate): For the forms with T2 wider than T and shift counts of
4051          Y and B - Y add & (B - 1) masking for the rotate count if Y could be equal
4052          to B.  For the forms with T2 wider than T and shift counts of
4053          Y and (-Y) & (B - 1), don't punt if range could be [B, B2], but only if
4054          range doesn't guarantee Y < B or Y = N * B.  If range doesn't guarantee
4055          Y < B, also add & (B - 1) masking for the rotate count.  Use lazily created
4056          pass specific ranger instead of get_global_range_query.
4057          (pass_forwprop::execute): Disable that ranger at the end of pass if it has
4058          been created.
4059
40602023-02-10  Jakub Jelinek  <jakub@redhat.com>
4061
4062          Backported from master:
4063          2023-01-17  Jakub Jelinek  <jakub@redhat.com>
4064
4065          PR tree-optimization/106523
4066          * tree-ssa-forwprop.cc (simplify_rotate): For the
4067          patterns with (-Y) & (B - 1) in one operand's shift
4068          count and Y in another, if T2 has wider precision than T,
4069          punt if Y could have a value in [B, B2 - 1] range.
4070
40712023-02-10  Andrew Pinski  <apinski@marvell.com>
4072
4073          Backported from master:
4074          2023-02-09  Andrew Pinski  <apinski@marvell.com>
4075
4076          PR tree-optimization/108688
4077          * match.pd (bit_field_ref [bit_insert]): Avoid generating
4078          BIT_FIELD_REFs of non-mode-precision integral operands.
4079
40802023-02-10  Jakub Jelinek  <jakub@redhat.com>
4081
4082          Backported from master:
4083          2023-02-08  Jakub Jelinek  <jakub@redhat.com>
4084
4085          PR tree-optimization/108692
4086          * tree-vect-patterns.cc (vect_widened_op_tree): If rhs_code is
4087          widened_code which is different from code, don't call
4088          vect_look_through_possible_promotion but instead just check op is
4089          SSA_NAME with integral type for which vect_is_simple_use is true
4090          and call set_op on this_unprom.
4091
40922023-02-10  Jakub Jelinek  <jakub@redhat.com>
4093
4094          Backported from master:
4095          2023-02-02  Jakub Jelinek  <jakub@redhat.com>
4096
4097          PR middle-end/108435
4098          * tree-nested.cc (convert_nonlocal_omp_clauses)
4099          <case OMP_CLAUSE_LASTPRIVATE>: If info->new_local_var_chain and *seq
4100          is not a GIMPLE_BIND, wrap the sequence into a new GIMPLE_BIND
4101          before calling declare_vars.
4102          (convert_nonlocal_omp_clauses) <case OMP_CLAUSE_LINEAR>: Merge
4103          with the OMP_CLAUSE_LASTPRIVATE handling except for whether
4104          seq is initialized to &OMP_CLAUSE_LASTPRIVATE_GIMPLE_SEQ (clause)
4105          or &OMP_CLAUSE_LINEAR_GIMPLE_SEQ (clause).
4106
41072023-02-10  Jakub Jelinek  <jakub@redhat.com>
4108
4109          Backported from master:
4110          2023-02-01  Jakub Jelinek  <jakub@redhat.com>
4111
4112          PR debug/108573
4113          * ree.cc (combine_reaching_defs): Don't return false for paradoxical
4114          subregs in DEBUG_INSNs.
4115
41162023-02-10  Jakub Jelinek  <jakub@redhat.com>
4117
4118          Backported from master:
4119          2023-01-31  Jakub Jelinek  <jakub@redhat.com>
4120
4121          PR target/108599
4122          * config/i386/i386-expand.cc
4123          (ix86_convert_const_wide_int_to_broadcast): Return nullptr if
4124          CONST_WIDE_INT_NUNITS (op) times HOST_BITS_PER_WIDE_INT isn't
4125          equal to bitsize of mode.
4126
41272023-02-10  Jakub Jelinek  <jakub@redhat.com>
4128
4129          Backported from master:
4130          2023-01-31  Jakub Jelinek  <jakub@redhat.com>
4131
4132          PR rtl-optimization/108596
4133          * bb-reorder.cc (fix_up_fall_thru_edges): Handle the case where cur_bb
4134          ends with asm goto and has a crossing fallthrough edge to the same bb
4135          that contains at least one of its labels by restoring EDGE_CROSSING
4136          flag even on possible edge from cur_bb to new_bb successor.
4137
41382023-02-10  Jakub Jelinek  <jakub@redhat.com>
4139
4140          Backported from master:
4141          2023-01-27  Jakub Jelinek  <jakub@redhat.com>
4142
4143          PR other/108560
4144          * doc/extend.texi: Fix up return type of __builtin_va_arg_pack_len
4145          from size_t to int.
4146
41472023-02-10  Jakub Jelinek  <jakub@redhat.com>
4148
4149          Backported from master:
4150          2023-01-25  Jakub Jelinek  <jakub@redhat.com>
4151
4152          PR tree-optimization/108498
4153          * gimple-ssa-store-merging.cc (class store_operand_info):
4154          End coment with full stop rather than comma.
4155          (split_group): Likewise.
4156          (merged_store_group::apply_stores): Clear string_concatenation if
4157          start or end aren't on a byte boundary.
4158
41592023-02-10  Eric Biggers  <ebiggers@google.com>
4160
4161          Backported from master:
4162          2023-01-24  Eric Biggers  <ebiggers@google.com>
4163
4164          PR bootstrap/90543
4165          * optc-save-gen.awk: Fix copy-and-paste error.
4166
41672023-02-10  Jakub Jelinek  <jakub@redhat.com>
4168
4169          Backported from master:
4170          2023-01-19  Jakub Jelinek  <jakub@redhat.com>
4171
4172          PR middle-end/108459
4173          * omp-expand.cc (expand_omp_for_init_counts): Use fold_build1 rather
4174          than fold_unary for NEGATE_EXPR.
4175
41762023-02-10  Jakub Jelinek  <jakub@redhat.com>
4177
4178          Backported from master:
4179          2023-01-04  Jakub Jelinek  <jakub@redhat.com>
4180
4181          PR middle-end/108237
4182          * generic-match-head.cc: Include tree-pass.h.
4183          (canonicalize_math_p, optimize_vectors_before_lowering_p): Define
4184          to false if cfun and cfun->curr_properties has PROP_gimple_opt_math
4185          resp. PROP_gimple_lvec property set.
4186
41872023-02-10  Jakub Jelinek  <jakub@redhat.com>
4188
4189          Backported from master:
4190          2023-01-03  Jakub Jelinek  <jakub@redhat.com>
4191
4192          PR middle-end/108264
4193          * expr.cc (store_expr): For stores into SUBREG_PROMOTED_* targets
4194          from source which doesn't have scalar integral mode first convert
4195          it to outer_mode.
4196
41972023-02-10  Jakub Jelinek  <jakub@redhat.com>
4198
4199          Backported from master:
4200          2022-12-23  Jakub Jelinek  <jakub@redhat.com>
4201
4202          PR tree-optimization/108068
4203          * tree.h (real_maybe_zerop): Declare.
4204          * tree.cc (real_maybe_zerop): Define.
4205          * tree-ssa-dom.cc (record_edge_info): Use it instead of
4206          real_zerop or TREE_CODE (op1) == SSA_NAME || real_zerop.  Always set
4207          can_infer_simple_equiv to false for decimal floating point types.
4208
42092023-02-10  Jakub Jelinek  <jakub@redhat.com>
4210
4211          Backported from master:
4212          2022-12-22  Jakub Jelinek  <jakub@redhat.com>
4213
4214          PR tree-optimization/108166
4215          * tree-ssa-phiopt.cc (value_replacement): For the maybe_equal_p
4216          case turned into equal_p reset SSA_NAME_RANGE_INFO of phi result.
4217
42182023-02-10  Jakub Jelinek  <jakub@redhat.com>
4219
4220          Backported from master:
4221          2022-12-22  Jakub Jelinek  <jakub@redhat.com>
4222
4223          PR rtl-optimization/108193
4224          * cse.cc (compute_const_anchors): Change n type to
4225          unsigned HOST_WIDE_INT, adjust comparison against it to avoid
4226          warnings.  Formatting fix.
4227          (insert_const_anchor): Use gen_int_mode instead of GEN_INT.
4228
42292023-02-10  Jakub Jelinek  <jakub@redhat.com>
4230
4231          Backported from master:
4232          2022-12-16  Jakub Jelinek  <jakub@redhat.com>
4233
4234          PR rtl-optimization/106751
4235          * loop-invariant.cc (move_invariant_reg): If preheader bb ends
4236          with a JUMP_INSN, split the preheader edge and emit invariants
4237          into the new preheader basic block.
4238
42392023-02-10  Jakub Jelinek  <jakub@redhat.com>
4240
4241          Backported from master:
4242          2022-12-15  Jakub Jelinek  <jakub@redhat.com>
4243
4244          PR tree-optimization/108095
4245          * tree-into-ssa.cc (maybe_register_def): Insert debug stmt
4246          on all non-EH edges from asm goto if they have a single
4247          predecessor rather than asserting there is at most one such edge.
4248          Test whether there are no PHI nodes next to the single predecessor
4249          test.
4250
42512023-02-10  Jakub Jelinek  <jakub@redhat.com>
4252
4253          Backported from master:
4254          2022-12-10  Jakub Jelinek  <jakub@redhat.com>
4255
4256          PR tree-optimization/107997
4257          * tree-ssa-loop-ivopts.cc: Include cfganal.h.
4258          (create_new_iv) <case IP_END>: If ip_end_pos bb is non-empty and ends
4259          with a stmt which ends bb, instead of adding iv update after it split
4260          the latch edge and insert iterator into the new latch bb.
4261
42622023-02-10  Jakub Jelinek  <jakub@redhat.com>
4263
4264          Backported from master:
4265          2022-12-08  Jakub Jelinek  <jakub@redhat.com>
4266
4267          PR debug/106719
4268          * cfgbuild.cc (find_bb_boundaries): If there are NOTEs in between
4269          debug_insn (seen after flow_transfer_insn) and insn, move NOTEs
4270          before all the DEBUG_INSNs and split after NOTEs.  If there are
4271          other insns like jump table data, clear debug_insn.
4272
42732023-02-10  Jakub Jelinek  <jakub@redhat.com>
4274
4275          Backported from master:
4276          2022-11-28  Jakub Jelinek  <jakub@redhat.com>
4277
4278          PR target/106875
4279          * config/i386/i386.opt (x_ix86_abi): Remove TargetSave.
4280          (ix86_abi): Replace it with TargetVariable.
4281          * config/i386/i386-options.cc (ix86_function_specific_save,
4282          ix86_function_specific_restore): Don't save and restore x_ix86_abi.
4283
42842023-02-10  Jakub Jelinek  <jakub@redhat.com>
4285
4286          Backported from master:
4287          2022-11-24  Jakub Jelinek  <jakub@redhat.com>
4288
4289          PR middle-end/107317
4290          * asan.cc: Include diagnostic-core.h.
4291          (asan_emit_stack_protection): Return NULL early if seen_error ().
4292
42932023-02-07  Andrew Pinski  <apinski@marvell.com>
4294
4295          Backported from master:
4296          2023-01-30  Andrew Pinski  <apinski@marvell.com>
4297
4298          PR tree-optimization/108582
4299          * tree-ssa-phiopt.cc (match_simplify_replacement): Add check
4300          for middlebb to have no phi nodes.
4301
43022023-02-07  Siddhesh Poyarekar  <siddhesh@gotplt.org>
4303
4304          Backported from master:
4305          2023-01-26  Siddhesh Poyarekar  <siddhesh@gotplt.org>
4306
4307          PR tree-optimization/108522
4308          * tree-object-size.cc (compute_object_offset): Make EXPR
4309          argument non-const.  Call component_ref_field_offset.
4310
43112023-02-07  Siddhesh Poyarekar  <siddhesh@gotplt.org>
4312
4313          Backported from master:
4314          2023-01-25  Siddhesh Poyarekar  <siddhesh@gotplt.org>
4315                        Jakub Jelinek  <jakub@redhat.com>
4316
4317          PR tree-optimization/108522
4318          * tree-object-size.cc (compute_object_offset): Use
4319          TREE_OPERAND(ref, 2) for COMPONENT_REF when available.
4320
43212023-02-01  Martin Jambor  <mjambor@suse.cz>
4322
4323          Backported from master:
4324          2023-01-18  Martin Jambor  <mjambor@suse.cz>
4325
4326          PR ipa/107944
4327          * cgraph.cc (cgraph_node::remove): Check whether nodes up the
4328          lcone_of chain also do not need the body.
4329
43302023-01-30  Andrew MacLeod  <amacleod@redhat.com>
4331
4332          PR tree-optimization/108306
4333          * range-op.cc (operator_lshift::fold_range): Return [0, 0] not
4334          varying for shifts that are always out of void range.
4335          (operator_rshift::fold_range): Return [0, 0] not
4336          varying for shifts that are always out of void range.
4337
43382023-01-30  liuhongt  <hongtao.liu@intel.com>
4339
4340          * config/i386/i386.opt: Change AVX512FP16 to AVX512-FP16.
4341          * doc/invoke.texi: Ditto.
4342
43432023-01-29  Jan Hubicka  <jh@suse.cz>
4344
4345          Backported from master:
4346          2023-01-16  Jan Hubicka  <jh@suse.cz>
4347
4348          * config/i386/i386.cc (ix86_vectorize_builtin_scatter): Guard scatter
4349          by TARGET_USE_SCATTER.
4350          * config/i386/i386.h (TARGET_USE_SCATTER_2PARTS,
4351          TARGET_USE_SCATTER_4PARTS, TARGET_USE_SCATTER): New macros.
4352          * config/i386/x86-tune.def (TARGET_USE_SCATTER_2PARTS,
4353          TARGET_USE_SCATTER_4PARTS, TARGET_USE_SCATTER): New tunes.
4354          (X86_TUNE_AVOID_256FMA_CHAINS, X86_TUNE_AVOID_512FMA_CHAINS): Disable
4355          for znver4.  (X86_TUNE_USE_GATHER): Disable for zen4.
4356
43572023-01-29  Jan Hubicka  <jh@suse.cz>
4358
4359          Backported from master:
4360          2022-12-22  Jan Hubicka  <hubicka@ucw.cz>
4361
4362          * config/i386/i386-expand.cc (ix86_expand_set_or_cpymem): Add
4363          TARGET_AVX512_SPLIT_REGS
4364          * config/i386/i386-options.cc (ix86_option_override_internal):
4365          Honor x86_TONE_AVOID_256FMA_CHAINS.
4366          * config/i386/i386.cc (ix86_vec_cost): Honor TARGET_AVX512_SPLIT_REGS.
4367          (ix86_reassociation_width): Likewise.
4368          * config/i386/i386.h (TARGET_AVX512_SPLIT_REGS): New tune.
4369          * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): Disable
4370          for znver4.
4371          (X86_TUNE_USE_GATHER_4PARTS): Likewise.
4372          (X86_TUNE_AVOID_256FMA_CHAINS): Set for znver4.
4373          (X86_TUNE_AVOID_512FMA_CHAINS): New utne; set for znver4.
4374          (X86_TUNE_AVX256_OPTIMAL): Add znver4.
4375          (X86_TUNE_AVX512_SPLIT_REGS): New tune.
4376          (X86_TUNE_AVX256_MOVE_BY_PIECES): Add znver1-3.
4377          (X86_TUNE_AVX256_STORE_BY_PIECES): Add znver1-3.
4378          (X86_TUNE_AVX512_MOVE_BY_PIECES): Add znver4.
4379          (X86_TUNE_AVX512_STORE_BY_PIECES): Add znver4.
4380
43812023-01-29  Jan Hubicka  <jh@suse.cz>
4382
4383          Backported from master:
4384          2022-12-22  Jan Hubicka  <hubicka@ucw.cz>
4385
4386          * config/i386/x86-tune-costs.h (znver4_cost): Upate costs of FP and SSE
4387          moves, division multiplication, gathers, L2 cache size, and more
4388          complex FP instrutions.
4389
43902023-01-28  Tejas Joshi  <TejasSanjay.Joshi@amd.com>
4391
4392          Backported from master:
4393          2023-01-05  Tejas Joshi  <TejasSanjay.Joshi@amd.com>
4394
4395          * common/config/i386/i386-common.cc (processor_alias_table):
4396          Use CPU_ZNVER4 for znver4.
4397          * config/i386/i386.md: Add znver4.md.
4398          * config/i386/znver4.md: New.
4399
44002023-01-28  Tejas Joshi  <TejasSanjay.Joshi@amd.com>
4401
4402          Backported from master:
4403          2022-10-25  Tejas Joshi  <TejasSanjay.Joshi@amd.com>
4404
4405          * common/config/i386/i386-common.cc (processor_alias_table): Use
4406          CPU_ZNVER3 for znver4.
4407          * config/i386/znver.md: Remove znver4 reservations.
4408
44092023-01-28  Tejas Joshi  <TejasSanjay.Joshi@amd.com>
4410
4411          Backported from master:
4412          2022-10-21  Tejas Joshi  <TejasSanjay.Joshi@amd.com>
4413
4414          * common/config/i386/cpuinfo.h (get_amd_cpu): Recognize znver4.
4415          * common/config/i386/i386-common.cc (processor_names): Add znver4.
4416          (processor_alias_table): Add znver4 and modularize old znvers.
4417          * common/config/i386/i386-cpuinfo.h (processor_subtypes):
4418          AMDFAM19H_ZNVER4.
4419          * config.gcc (x86_64-*-* |...): Likewise.
4420          * config/i386/driver-i386.cc (host_detect_local_cpu): Let
4421          -march=native recognize znver4 cpus.
4422          * config/i386/i386-c.cc (ix86_target_macros_internal): Add znver4.
4423          * config/i386/i386-options.cc (m_ZNVER4): New definition.
4424          (m_ZNVER): Include m_ZNVER4.
4425          (processor_cost_table): Add znver4.
4426          * config/i386/i386.cc (ix86_reassociation_width): Likewise.
4427          * config/i386/i386.h (processor_type): Add PROCESSOR_ZNVER4.
4428          (PTA_ZNVER1): New definition.
4429          (PTA_ZNVER2): Likewise.
4430          (PTA_ZNVER3): Likewise.
4431          (PTA_ZNVER4): Likewise.
4432          * config/i386/i386.md (define_attr "cpu"): Add znver4 and rename
4433          md file.
4434          * config/i386/x86-tune-costs.h (znver4_cost): New definition.
4435          * config/i386/x86-tune-sched.cc (ix86_issue_rate): Add znver4.
4436          (ix86_adjust_cost): Likewise.
4437          * config/i386/znver1.md: Rename to znver.md.
4438          * config/i386/znver.md: Add new reservations for znver4.
4439          * doc/extend.texi: Add details about znver4.
4440          * doc/invoke.texi: Likewise.
4441
44422023-01-27  Andre Vieira  <andre.simoesdiasvieira@arm.com>
4443
4444          Backported from master:
4445          2022-12-06  Andre Vieira  <andre.simoesdiasvieira@arm.com>
4446
4447          PR target/107987
4448          * config/arm/mve.md (mve_vcmp<mve_cmp_op>q_n_<mode>,
4449          @mve_vcmp<mve_cmp_op>q_n_f<mode>): Apply vec_duplicate to scalar
4450          operand.
4451
44522023-01-26  Marek Polacek  <polacek@redhat.com>
4453
4454          Backported from master:
4455          2023-01-26  Marek Polacek  <polacek@redhat.com>
4456
4457          PR middle-end/108543
4458          * opts.cc (parse_sanitizer_options): Don't always clear SANITIZE_ADDRESS
4459          if it was previously set.
4460
44612023-01-26  Dimitar Dimitrov  <dimitar@dinux.eu>
4462
4463          Backported from master:
4464          2023-01-22  Dimitar Dimitrov  <dimitar@dinux.eu>
4465
4466          * config/pru/pru.h (CLZ_DEFINED_VALUE_AT_ZERO): Fix value for QI
4467          and HI input modes.
4468          * config/pru/pru.md (clz): Fix generated code for QI and HI
4469          input modes.
4470
44712023-01-25  Christophe Lyon  <christophe.lyon@arm.com>
4472
4473          Backported from master:
4474          2023-01-12  Christophe Lyon  <christophe.lyon@arm.com>
4475                        Richard Sandiford  <richard.sandiford@arm.com>
4476
4477          * config/aarch64/aarch64.cc (aarch64_function_arg_alignment): Fix
4478          comment.
4479          (aarch64_layout_arg): Factorize warning conditions.
4480          (aarch64_function_arg_boundary): Fix typo.
4481          * function.cc (currently_expanding_function_start): New variable.
4482          (expand_function_start): Handle
4483          currently_expanding_function_start.
4484          * function.h (currently_expanding_function_start): Declare.
4485
44862023-01-24  Richard Biener  <rguenther@suse.de>
4487
4488          Backported from master:
4489          2022-12-19  Richard Biener  <rguenther@suse.de>
4490
4491          PR tree-optimization/108164
4492          * tree-vect-loop-manip.cc (vect_update_ivs_after_vectorizer):
4493          Perform vect_step_op_add update in the appropriate type.
4494
44952023-01-24  Richard Biener  <rguenther@suse.de>
4496
4497          Backported from master:
4498          2022-12-13  Richard Biener  <rguenther@suse.de>
4499
4500          PR tree-optimization/108076
4501          * tree-if-conv.cc (if_convertible_loop_p_1): Reject blocks
4502          with non-local or forced labels that we later remove
4503          labels from.
4504
45052023-01-24  Richard Biener  <rguenther@suse.de>
4506
4507          Backported from master:
4508          2022-12-21  Richard Biener  <rguenther@suse.de>
4509
4510          PR middle-end/107994
4511          * gimplify.cc (gimplify_expr): Catch errorneous comparison
4512          operand.
4513
45142023-01-24  Richard Biener  <rguenther@suse.de>
4515
4516          Backported from master:
4517          2022-11-11  Richard Biener  <rguenther@suse.de>
4518                        Nikita Voronov  <nik_1357@mail.ru>
4519
4520          PR tree-optimization/107554
4521          * tree-ssa-strlen.cc (strlen_pass::count_nonzero_bytes):
4522          Use unsigned HOST_WIDE_INT type for the strlen.
4523
45242023-01-24  Sergei Trofimovich  <siarheit@google.com>
4525
4526          Backported from master:
4527          2022-08-16  Sergei Trofimovich  <siarheit@google.com>
4528
4529          PR driver/106624
4530          * gcc.cc (driver::detect_jobserver): Allocate storage xputenv()
4531          argument using xstrdup().
4532
45332023-01-23  Andreas Krebbel  <krebbel@linux.ibm.com>
4534
4535          Backported from master:
4536          2022-08-25  Andreas Krebbel  <krebbel@linux.ibm.com>
4537
4538          PR target/106101
4539          * config/s390/predicates.md (subreg_register_operand): New
4540          predicate.
4541          * config/s390/s390-protos.h (s390_gen_lowpart_subreg): New
4542          function prototype.
4543          * config/s390/s390.cc (s390_gen_lowpart_subreg): New function.
4544          (s390_expand_insv): Use s390_gen_lowpart_subreg instead of
4545          gen_lowpart.
4546          * config/s390/s390.md ("*get_tp_64", "*zero_extendhisi2_31")
4547          ("*zero_extendqisi2_31", "*zero_extendqihi2_31"): Likewise.
4548          ("movstrictqi", "movstricthi", "movstrictsi"): Use the
4549          subreg_register_operand predicate instead of register_operand.
4550
45512023-01-11  Eric Botcazou  <ebotcazou@adacore.com>
4552
4553          PR tree-optimization/108199
4554          * tree-sra.cc (sra_modify_expr): Deal with reverse storage order
4555          for bit-field references.
4556
45572023-01-11  Martin Liska  <mliska@suse.cz>
4558
4559          Backported from master:
4560          2022-12-28  Martin Liska  <mliska@suse.cz>
4561
4562          PR tree-optimization/108137
4563          * tree-ssa-strlen.cc (get_range_strlen_phi): Reject anything
4564          different from INTEGER_CST.
4565
45662023-01-10  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
4567
4568          Backported from master:
4569          2022-12-30  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
4570
4571          PR target/107714
4572          * config/arm/arm-protos.h (mve_struct_mem_operand): New protoype.
4573          * config/arm/arm.cc (mve_struct_mem_operand): New function.
4574          * config/arm/constraints.md (Ug): New constraint.
4575          * config/arm/mve.md (mve_vst4q<mode>): Change constraint.
4576          (mve_vst2q<mode>): Likewise.
4577          (mve_vld4q<mode>): Likewise.
4578          (mve_vld2q<mode>): Likewise.
4579          * config/arm/predicates.md (mve_struct_operand): New predicate.
4580
45812023-01-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4582
4583          Backported from master:
4584          2022-12-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4585
4586          PR target/108140
4587          * config/aarch64/aarch64-builtins.cc
4588          (aarch64_expand_builtin_data_intrinsic): Handle NULL target.
4589
45902023-01-05  Kewen Lin  <linkw@linux.ibm.com>
4591
4592          PR target/106736
4593          * config/rs6000/mma.md (define_expand movoo): Call function
4594          rs6000_opaque_type_invalid_use_p to check and emit error message for
4595          the invalid use of opaque type.
4596          (define_expand movxo): Likewise.
4597          * config/rs6000/rs6000-protos.h
4598          (rs6000_opaque_type_invalid_use_p): New function declaration.
4599          (currently_expanding_gimple_stmt): New extern declaration.
4600          * config/rs6000/rs6000.cc (rs6000_opaque_type_invalid_use_p): New
4601          function.
4602
46032022-12-22  Richard Biener  <rguenther@suse.de>
4604
4605          Backported from master:
4606          2022-12-22  Richard Biener  <rguenther@suse.de>
4607
4608          PR bootstrap/106482
4609          * doc/install.texi (ISO C++11 Compiler): Document GCC version
4610          known to work.
4611
46122022-12-22  Martin Liska  <mliska@suse.cz>
4613
4614          Backported from master:
4615          2022-08-10  Martin Liska  <mliska@suse.cz>
4616
4617          * opts-jobserver.h: Add one member.
4618          * opts-common.cc (jobserver_info::jobserver_info): Parse FIFO
4619          format of --jobserver-auth.
4620
46212022-12-22  Martin Liska  <mliska@suse.cz>
4622
4623          Backported from master:
4624          2022-08-10  Martin Liska  <mliska@suse.cz>
4625
4626          * gcc.cc (driver::detect_jobserver): Remove and move to
4627          jobserver.h.
4628          * lto-wrapper.cc (jobserver_active_p): Likewise.
4629          (run_gcc): Likewise.
4630          * opts-jobserver.h: New file.
4631          * opts-common.cc (jobserver_info::jobserver_info): New function.
4632
46332022-12-20  Richard Biener  <rguenther@suse.de>
4634
4635          Backported from master:
4636          2022-12-20  Richard Biener  <rguenther@suse.de>
4637
4638          PR d/104749
4639          * doc/install.texi (GDC): Document GDC 9.4 or later is required
4640          to build the D language frontend.
4641
46422022-12-20  Hongyu Wang  <hongyu.wang@intel.com>
4643
4644          * config/i386/x86-tune.def (X86_TUNE_AVOID_256FMA_CHAINS): Add
4645          m_SAPPHIRERAPIDS, m_ALDERLAKE.
4646
46472022-12-15  Sebastian Pop  <spop@amazon.com>
4648
4649          PR target/98776
4650          * config/aarch64/aarch64-protos.h (aarch64_output_patchable_area):
4651          Declared.
4652          * config/aarch64/aarch64.cc (aarch64_print_patchable_function_entry):
4653          Emit an UNSPECV_PATCHABLE_AREA pseudo instruction.
4654          (aarch64_output_patchable_area): New.
4655          * config/aarch64/aarch64.md (UNSPECV_PATCHABLE_AREA): New.
4656          (patchable_area): Define.
4657
46582022-12-13  Alex Coplan  <alex.coplan@arm.com>
4659
4660          Backported from master:
4661          2022-12-01  Alex Coplan  <alex.coplan@arm.com>
4662
4663          * varasm.cc (assemble_variable): Fix type confusion bug when
4664          checking for ".vtable_map_vars" section.
4665
46662022-12-12  Richard Biener  <rguenther@suse.de>
4667
4668          Backported from master:
4669          2022-11-29  Richard Biener  <rguenther@suse.de>
4670
4671          PR tree-optimization/107898
4672          * gimple-ssa-warn-alloca.cc (alloca_call_type): Check
4673          the type of the alloca argument is compatible with size_t
4674          before querying ranges.
4675
46762022-12-12  Richard Biener  <rguenther@suse.de>
4677
4678          Backported from master:
4679          2022-11-25  Richard Biener  <rguenther@suse.de>
4680
4681          PR tree-optimization/107865
4682          * tree-cfg.cc (move_sese_region_to_fn): Free the number of
4683          iterations of moved loops.
4684
46852022-12-12  Richard Biener  <rguenther@suse.de>
4686
4687          Backported from master:
4688          2022-12-05  Richard Biener  <rguenther@suse.de>
4689
4690          PR tree-optimization/107833
4691          PR tree-optimization/107839
4692          * cfghooks.cc: Include tree.h.
4693          * tree-ssa-loop-im.cc (movement_possibility): Wrap and
4694          make stmts using any ssa_name_maybe_undef_p operand
4695          to preserve execution.
4696          (loop_invariant_motion_in_fun): Call mark_ssa_maybe_undefs
4697          to init maybe-undefined status.
4698          * tree-ssa-loop-ivopts.cc (ssa_name_maybe_undef_p,
4699          ssa_name_set_maybe_undef, ssa_name_any_use_dominates_bb_p,
4700          mark_ssa_maybe_undefs): Move ...
4701          * tree-ssa.cc: ... here.
4702          * tree-ssa.h (ssa_name_any_use_dominates_bb_p,
4703          mark_ssa_maybe_undefs): Declare.
4704          (ssa_name_maybe_undef_p, ssa_name_set_maybe_undef): Define.
4705
47062022-12-12  Richard Biener  <rguenther@suse.de>
4707
4708          Backported from master:
4709          2022-11-16  Richard Biener  <rguenther@suse.de>
4710
4711          PR tree-optimization/107686
4712          * tree-ssa-forwprop.cc (optimize_vector_load): Restrict
4713          VEC_UNPACK support to integral typed bitfield refs.
4714
47152022-12-12  Richard Biener  <rguenther@suse.de>
4716
4717          Backported from master:
4718          2022-11-22  Richard Biener  <rguenther@suse.de>
4719
4720          PR tree-optimization/107766
4721          * tree-vect-slp-patterns.cc (complex_mul_pattern::matches):
4722          Use *node to check for FP vector types.
4723
47242022-12-12  Richard Biener  <rguenther@suse.de>
4725
4726          Backported from master:
4727          2022-11-18  Richard Biener  <rguenther@suse.de>
4728
4729          PR tree-optimization/107647
4730          * tree-vect-slp-patterns.cc (addsub_pattern::recognize): Only
4731          allow FMA generation with -ffp-contract=fast for FP types.
4732          (complex_mul_pattern::matches): Likewise.
4733
47342022-12-12  Richard Biener  <rguenther@suse.de>
4735
4736          Backported from master:
4737          2022-10-28  Richard Biener  <rguenther@suse.de>
4738
4739          PR tree-optimization/107407
4740          * tree-ssa-dse.cc (dse_classify_store): Perform backedge
4741          varying index check when collecting PHI uses rather than
4742          after optimizing processing of the candidate defs.
4743
47442022-12-12  Richard Biener  <rguenther@suse.de>
4745
4746          Backported from master:
4747          2022-12-05  Richard Biener  <rguenther@suse.de>
4748
4749          PR tree-optimization/106868
4750          * gimple-ssa-warn-access.cc (pass_waccess::gimple_call_return_arg_ref):
4751          Inline into single user ...
4752          (pass_waccess::check_dangling_uses): ... here and adjust the
4753          call and the PHI case to require that ref.aref is the address
4754          of the decl.
4755
47562022-12-09  Martin Liska  <mliska@suse.cz>
4757
4758          Backported from master:
4759          2022-12-09  Martin Liska  <mliska@suse.cz>
4760
4761          * config/i386/i386-builtins.cc (fold_builtin_cpu): Use same path
4762          as for PR103661.
4763          * doc/extend.texi: Fix "x86-64" use.
4764
47652022-12-09  Martin Liska  <mliska@suse.cz>
4766
4767          Backported from master:
4768          2022-05-11  Martin Liska  <mliska@suse.cz>
4769
4770          * common/config/i386/cpuinfo.h (has_cpu_feature): Directly
4771          compute index in cpu_features2.
4772          (set_cpu_feature): Likewise.
4773          * config/i386/i386-builtins.cc (fold_builtin_cpu): Also remove
4774          loop for cpu_features2 and use NOP_EXPRs.
4775
47762022-12-06  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4777
4778          Backported from master:
4779          2022-11-30  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4780
4781          * config/aarch64/aarch64.md (aarch64_cpymemdi): Specify clobber of CC reg.
4782          (*aarch64_cpymemdi): Likewise.
4783          (aarch64_movmemdi): Likewise.
4784          (aarch64_setmemdi): Likewise.
4785          (*aarch64_setmemdi): Likewise.
4786
47872022-12-05  Andrew Pinski  <pinskia@gmail.com>
4788
4789          Backported from master:
4790          2022-12-05  Andrew Pinski  <pinskia@gmail.com>
4791
4792          PR tree-optimization/107956
4793          * tree-vect-patterns.cc (vect_recog_mask_conversion_pattern):
4794          Check for NULL LHS on masked loads.
4795
47962022-12-01  liuhongt  <hongtao.liu@intel.com>
4797
4798          PR target/107863
4799          * config/i386/i386-expand.cc (ix86_expand_vec_set_builtin):
4800          Convert op1 to target mode whenever mode mismatch.
4801
48022022-11-30  Iain Buclaw  <ibuclaw@gdcproject.org>
4803
4804          Backported from master:
4805          2022-09-08  Iain Buclaw  <ibuclaw@gdcproject.org>
4806
4807          * config/darwin-d.cc: Include tm.h.
4808          * config/dragonfly-d.cc: Likewise.
4809          * config/freebsd-d.cc: Remove memmodel.h.
4810          * config/glibc-d.cc: Likewise.
4811          * config/netbsd-d.cc: Include tm.h.
4812          * config/openbsd-d.cc: Likewise.
4813          * config/sol2-d.cc: Likewise.
4814
48152022-11-30  Iain Buclaw  <ibuclaw@gdcproject.org>
4816
4817          Backported from master:
4818          2022-09-02  Iain Buclaw  <ibuclaw@gdcproject.org>
4819
4820          PR d/105659
4821          * config.gcc: Set tm_d_file to ${cpu_type}/${cpu_type}-d.h.
4822          * config/aarch64/aarch64-d.cc: Include tm_d.h.
4823          * config/aarch64/aarch64-protos.h (aarch64_d_target_versions): Move to
4824          config/aarch64/aarch64-d.h.
4825          (aarch64_d_register_target_info): Likewise.
4826          * config/aarch64/aarch64.h (TARGET_D_CPU_VERSIONS): Likewise.
4827          (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
4828          * config/arm/arm-d.cc: Include tm_d.h and arm-protos.h instead of
4829          tm_p.h.
4830          * config/arm/arm-protos.h (arm_d_target_versions): Move to
4831          config/arm/arm-d.h.
4832          (arm_d_register_target_info): Likewise.
4833          * config/arm/arm.h (TARGET_D_CPU_VERSIONS): Likewise.
4834          (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
4835          * config/default-d.cc: Remove memmodel.h include.
4836          * config/freebsd-d.cc: Include tm_d.h instead of tm_p.h.
4837          * config/glibc-d.cc: Likewise.
4838          * config/i386/i386-d.cc: Include tm_d.h.
4839          * config/i386/i386-protos.h (ix86_d_target_versions): Move to
4840          config/i386/i386-d.h.
4841          (ix86_d_register_target_info): Likewise.
4842          (ix86_d_has_stdcall_convention): Likewise.
4843          * config/i386/i386.h (TARGET_D_CPU_VERSIONS): Likewise.
4844          (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
4845          (TARGET_D_HAS_STDCALL_CONVENTION): Likewise.
4846          * config/i386/winnt-d.cc: Include tm_d.h instead of tm_p.h.
4847          * config/mips/mips-d.cc: Include tm_d.h.
4848          * config/mips/mips-protos.h (mips_d_target_versions): Move to
4849          config/mips/mips-d.h.
4850          (mips_d_register_target_info): Likewise.
4851          * config/mips/mips.h (TARGET_D_CPU_VERSIONS): Likewise.
4852          (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
4853          * config/netbsd-d.cc: Include tm_d.h instead of tm.h and memmodel.h.
4854          * config/openbsd-d.cc: Likewise.
4855          * config/pa/pa-d.cc: Include tm_d.h.
4856          * config/pa/pa-protos.h (pa_d_target_versions): Move to
4857          config/pa/pa-d.h.
4858          (pa_d_register_target_info): Likewise.
4859          * config/pa/pa.h (TARGET_D_CPU_VERSIONS): Likewise.
4860          (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
4861          * config/riscv/riscv-d.cc: Include tm_d.h.
4862          * config/riscv/riscv-protos.h (riscv_d_target_versions): Move to
4863          config/riscv/riscv-d.h.
4864          (riscv_d_register_target_info): Likewise.
4865          * config/riscv/riscv.h (TARGET_D_CPU_VERSIONS): Likewise.
4866          (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
4867          * config/rs6000/rs6000-d.cc: Include tm_d.h.
4868          * config/rs6000/rs6000-protos.h (rs6000_d_target_versions): Move to
4869          config/rs6000/rs6000-d.h.
4870          (rs6000_d_register_target_info): Likewise.
4871          * config/rs6000/rs6000.h (TARGET_D_CPU_VERSIONS) Likewise.:
4872          (TARGET_D_REGISTER_CPU_TARGET_INFO) Likewise.:
4873          * config/s390/s390-d.cc: Include tm_d.h.
4874          * config/s390/s390-protos.h (s390_d_target_versions): Move to
4875          config/s390/s390-d.h.
4876          (s390_d_register_target_info): Likewise.
4877          * config/s390/s390.h (TARGET_D_CPU_VERSIONS): Likewise.
4878          (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
4879          * config/sol2-d.cc: Include tm_d.h instead of tm.h and memmodel.h.
4880          * config/sparc/sparc-d.cc: Include tm_d.h.
4881          * config/sparc/sparc-protos.h (sparc_d_target_versions): Move to
4882          config/sparc/sparc-d.h.
4883          (sparc_d_register_target_info): Likewise.
4884          * config/sparc/sparc.h (TARGET_D_CPU_VERSIONS): Likewise.
4885          (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
4886          * configure: Regenerate.
4887          * configure.ac (tm_d_file): Remove defaults.h.
4888          (tm_d_include_list): Remove options.h and insn-constants.h.
4889          * config/aarch64/aarch64-d.h: New file.
4890          * config/arm/arm-d.h: New file.
4891          * config/i386/i386-d.h: New file.
4892          * config/mips/mips-d.h: New file.
4893          * config/pa/pa-d.h: New file.
4894          * config/riscv/riscv-d.h: New file.
4895          * config/rs6000/rs6000-d.h: New file.
4896          * config/s390/s390-d.h: New file.
4897          * config/sparc/sparc-d.h: New file.
4898
48992022-11-30  John David Anglin  <danglin@gcc.gnu.org>
4900
4901          * config/pa/pa.md (addvdi3): Force operand 2 to a register.
4902          Remove "addi,tsv,*" instruction from unamed pattern.
4903          (subvdi3): Force operand 1 to a register.
4904          Remove "subi,tsv" instruction from from unamed pattern.
4905
49062022-11-29  Max Filippov  <jcmvbkbc@gmail.com>
4907
4908          Backported from master:
4909          2022-11-08  Max Filippov  <jcmvbkbc@gmail.com>
4910
4911          PR rtl-optimization/107482
4912          * ira-color.cc (assign_hard_reg): Only call
4913          update_costs_from_copies when retry_p is false.
4914
49152022-11-25  Eric Botcazou  <ebotcazou@adacore.com>
4916
4917          * range-op.cc (operator_bitwise_xor::op1_range): Fix thinko.
4918
49192022-11-25  Eric Botcazou  <ebotcazou@adacore.com>
4920
4921          * tree-loop-distribution.cc (loop_distribution::classify_builtin_ldst):
4922          Bail out if source and destination do not have the same storage order.
4923
49242022-11-21  Jakub Jelinek  <jakub@redhat.com>
4925
4926          Backported from master:
4927          2022-11-21  Jakub Jelinek  <jakub@redhat.com>
4928
4929          PR target/107748
4930          * config/i386/avx512fp16intrin.h (_mm512_castph512_ph128,
4931          _mm512_castph512_ph256, _mm512_castph128_ph512,
4932          _mm512_castph256_ph512, _mm512_set1_pch): Uglify names of local
4933          variables and union members.
4934          * config/i386/avx512fp16vlintrin.h (_mm256_castph256_ph128,
4935          _mm256_castph128_ph256, _mm256_set1_pch, _mm_set1_pch): Likewise.
4936          * config/i386/smmintrin.h (_mm_extract_ps): Likewise.
4937          * config/i386/avx512bf16intrin.h (_mm_cvtsbh_ss): Likewise.
4938
49392022-11-20  Jakub Jelinek  <jakub@redhat.com>
4940
4941          Backported from master:
4942          2022-11-20  Jakub Jelinek  <jakub@redhat.com>
4943
4944          PR target/107183
4945          * reg-stack.cc (next_flags_user): Add DEBUG_SEEN argument.
4946          If >= 0 and a DEBUG_INSN would be otherwise returned, set
4947          DEBUG_SEEN to 1 and ignore it.
4948          (swap_rtx_condition): Add DEBUG_SEEN argument.  In >= 0
4949          mode only set DEBUG_SEEN to 1 if problematic DEBUG_ISNSs
4950          were seen and revert all changes on success in that case.
4951          Don't try to recog_memoized DEBUG_INSNs.
4952          (compare_for_stack_reg): Adjust swap_rtx_condition caller.
4953          If it returns true and debug_seen is 1, call swap_rtx_condition
4954          again with debug_seen -1.
4955
49562022-11-19  Thomas Schwinge  <thomas@codesourcery.com>
4957
4958          Backported from master:
4959          2022-11-19  Thomas Schwinge  <thomas@codesourcery.com>
4960
4961          * config/nvptx/nvptx.h (STARTFILE_SPEC): Fix 'crt0.o' for
4962          '-mmainkernel'.
4963
49642022-11-19  Jinyang He  <hejinyang@loongson.cn>
4965
4966          Backported from master:
4967          2022-11-18  Jinyang He  <hejinyang@loongson.cn>
4968
4969          PR target/107713
4970          * config/loongarch/sync.md
4971          (atomic_cas_value_exchange_7_<mode>): New define_insn.
4972          (atomic_exchange): Use atomic_cas_value_exchange_7_si instead of
4973          atomic_cas_value_cmp_and_7_si.
4974
49752022-11-16  Philipp Tomsich  <philipp.tomsich@vrull.eu>
4976
4977          Backported from master:
4978          2022-11-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
4979
4980          * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add ampere1a.
4981          * config/aarch64/aarch64-cost-tables.h: Add ampere1a_extra_costs.
4982          * config/aarch64/aarch64-fusion-pairs.def (AARCH64_FUSION_PAIR):
4983          Define a new fusion pair for A+B+1/A-B-1 (i.e., add/subtract two
4984          registers and then +1/-1).
4985          * config/aarch64/aarch64-tune.md: Regenerate.
4986          * config/aarch64/aarch64.cc (aarch_macro_fusion_pair_p): Implement
4987          idiom-matcher for the new fusion pair.
4988          * doc/invoke.texi: Add ampere1a.
4989
49902022-11-16  Martin Jambor  <mjambor@suse.cz>
4991
4992          Backported from master:
4993          2022-10-19  Martin Jambor  <mjambor@suse.cz>
4994
4995          PR tree-optimization/107206
4996          * tree-sra.cc (struct access): New field grp_result_of_prop_from_lhs.
4997          (analyze_access_subtree): Do not create replacements for accesses with
4998          this flag when not toally scalarizing.
4999          (propagate_subaccesses_from_lhs): Set the new flag.
5000
50012022-11-09  Eric Botcazou  <ebotcazou@adacore.com>
5002
5003          * alias.cc (init_alias_analysis): Do not record sets to the hard
5004          frame pointer if the frame pointer has not been eliminated.
5005
50062022-11-08  H.J. Lu  <hjl.tools@gmail.com>
5007
5008          Backported from master:
5009          2022-10-25  H.J. Lu  <hjl.tools@gmail.com>
5010
5011          PR target/107304
5012          * expr.cc (get_inner_reference): Always use TYPE_MODE for vector
5013          field with vector raw mode.
5014
50152022-11-07  Cui,Lili  <lili.cui@intel.com>
5016
5017          * config/i386/driver-i386.cc (host_detect_local_cpu):
5018          Move sapphirerapids out of AVX512_VP2INTERSECT.
5019          * config/i386/i386.h: Remove AVX512_VP2INTERSECT from PTA_SAPPHIRERAPIDS
5020          * doc/invoke.texi: Remove AVX512_VP2INTERSECT from SAPPHIRERAPIDS
5021
50222022-11-05  Jonathan Wakely  <jwakely@redhat.com>
5023
5024          Backported from master:
5025          2022-11-05  Jonathan Wakely  <jwakely@redhat.com>
5026
5027          PR c/41041
5028          * doc/cppopts.texi: Document -fwide-exec-charset defaults
5029          correctly.
5030
50312022-11-04  Eric Botcazou  <ebotcazou@adacore.com>
5032
5033          * fold-const.cc (operand_compare::operand_equal_p) <COMPONENT_REF>:
5034          Do not take into account operand 2.
5035          (operand_compare::hash_operand) <COMPONENT_REF>: Likewise.
5036
50372022-11-03  Uros Bizjak  <ubizjak@gmail.com>
5038
5039          Backported from master:
5040          2022-11-03  Uroš Bizjak  <ubizjak@gmail.com>
5041
5042          PR target/107404
5043          * config/i386/i386.md (eliminate reg-reg move by inverting the
5044          condition of a cmove #2 peephole2): Check if eliminated move
5045          initialized a register, used in the moved instruction.
5046
50472022-11-03  Jakub Jelinek  <jakub@redhat.com>
5048
5049          Backported from master:
5050          2022-10-02  Jakub Jelinek  <jakub@redhat.com>
5051
5052          PR tree-optimization/107121
5053          * tree-cfg.cc (verify_gimple_call): Fix a typo in diagnostics,
5054          DEFFERED_INIT -> DEFERRED_INIT.
5055
50562022-11-03  Jakub Jelinek  <jakub@redhat.com>
5057
5058          Backported from master:
5059          2022-09-24  Jakub Jelinek  <jakub@redhat.com>
5060
5061          PR c/107001
5062          * omp-low.cc (lower_omp_taskgroup): Don't add GOMP_RETURN statement
5063          at the end.
5064          * omp-expand.cc (build_omp_regions_1): Clarify GF_OMP_TARGET_KIND_DATA
5065          is not stand-alone directive.  For GIMPLE_OMP_TASKGROUP, also don't
5066          update parent.
5067          (omp_make_gimple_edges) <case GIMPLE_OMP_TASKGROUP>: Reset
5068          cur_region back after new_omp_region.
5069
50702022-10-28  Julian Brown  <julian@codesourcery.com>
5071
5072          Backported from master:
5073          2022-10-28  Julian Brown  <julian@codesourcery.com>
5074                        Thomas Schwinge  <thomas@codesourcery.com>
5075
5076          PR middle-end/90115
5077          * omp-low.cc (oacc_privatization_candidate_p): Artificial vars are not
5078          privatization candidates.
5079
50802022-10-27  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
5081
5082          Backported from master:
5083          2022-10-27  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
5084                        Yvan ROUX  <yvan.roux@foss.st.com>
5085
5086          * ira.cc: Resize array after reg number increased.
5087
50882022-10-26  Philipp Tomsich  <philipp.tomsich@vrull.eu>
5089
5090          Backported from master:
5091          2022-10-06  Philipp Tomsich  <philipp.tomsich@vrull.eu>
5092
5093          * config/aarch64/aarch64-cores.def (AARCH64_CORE): Update
5094          Ampere-1 core entry.
5095
50962022-10-26  Philipp Tomsich  <philipp.tomsich@vrull.eu>
5097
5098          Backported from master:
5099          2022-10-06  Philipp Tomsich  <philipp.tomsich@vrull.eu>
5100
5101          * config/aarch64/driver-aarch64.cc (readline): Fix off-by-one.
5102
51032022-10-25  Eric Botcazou  <ebotcazou@adacore.com>
5104
5105          * profile.cc (branch_prob): Be prepared for ignored functions with
5106          DECL_SOURCE_LOCATION set to UNKNOWN_LOCATION.
5107
51082022-10-25  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
5109
5110          Backported from master:
5111          2022-10-19  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
5112
5113          PR target/106355
5114          * config/s390/s390.cc (s390_call_saved_register_used): For a
5115          parameter with BLKmode fix determining number of consecutive
5116          registers.
5117
51182022-10-25  Martin Liska  <mliska@suse.cz>
5119
5120          Backported from master:
5121          2022-10-25  Martin Liska  <mliska@suse.cz>
5122
5123          PR target/107364
5124          * common/config/i386/i386-cpuinfo.h (enum processor_vendor):
5125          Fix pedantic warning.
5126
51272022-10-25  Martin Liska  <mliska@suse.cz>
5128
5129          Backported from master:
5130          2022-10-24  Martin Liska  <mliska@suse.cz>
5131
5132          PR target/107364
5133          * common/config/i386/i386-cpuinfo.h (enum processor_vendor):
5134            Reorder enum values as BUILTIN_VENDOR_MAX should not point
5135            in the middle of the valid enum values.
5136
51372022-10-21  Julian Brown  <julian@codesourcery.com>
5138
5139          Backported from master:
5140          2022-10-20  Julian Brown  <julian@codesourcery.com>
5141
5142          PR target/105421
5143          * config/gcn/gcn.cc (gcn_detect_incoming_pointer_arg): Any pointer
5144          argument forces FLAT addressing mode, not just
5145          pointer-to-non-aggregate.
5146
51472022-10-21  Richard Biener  <rguenther@suse.de>
5148
5149          Backported from master:
5150          2022-10-21  Richard Biener  <rguenther@suse.de>
5151
5152          PR tree-optimization/107323
5153          * tree-loop-distribution.cc (pg_unmark_merged_alias_ddrs):
5154          New function.
5155          (loop_distribution::break_alias_scc_partitions): Revert
5156          postorder save/restore from the PR94125 fix.  Instead
5157          make sure to not ignore edges from SCCs we are going to
5158          merge.
5159
51602022-10-20  Thomas Schwinge  <thomas@codesourcery.com>
5161
5162          Backported from master:
5163          2022-05-10  Thomas Schwinge  <thomas@codesourcery.com>
5164
5165          PR middle-end/100400
5166          * omp-oacc-kernels-decompose.cc
5167          (visit_loops_in_gang_single_region) <GIMPLE_OMP_FOR>: Explicitly
5168          call 'internal_error'.
5169
51702022-10-20  Richard Sandiford  <richard.sandiford@arm.com>
5171
5172          Backported from master:
5173          2022-10-20  Richard Sandiford  <richard.sandiford@arm.com>
5174
5175          * config/aarch64/aarch64-sve.md (*aarch64_brk<brk_op>_cc): Remove
5176          merging alternative.
5177          (*aarch64_brk<brk_op>_ptest): Likewise.
5178
51792022-10-20  Richard Sandiford  <richard.sandiford@arm.com>
5180
5181          Backported from master:
5182          2022-10-20  Richard Sandiford  <richard.sandiford@arm.com>
5183
5184          * config/aarch64/iterators.md (SVE_BRKP): New iterator.
5185          * config/aarch64/aarch64-sve.md (*aarch64_brkn_cc): New pattern.
5186          (*aarch64_brkn_ptest): Likewise.
5187          (*aarch64_brk<brk_op>_cc): Restrict to SVE_BRKP.
5188          (*aarch64_brk<brk_op>_ptest): Likewise.
5189
51902022-10-20  Richard Sandiford  <richard.sandiford@arm.com>
5191
5192          * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH8_3): Add
5193          AARCH64_FL_RCPC.
5194          (AARCH64_ISA_RCPC): New macro.
5195          * config/aarch64/aarch64-cores.def (thunderx3t110, zeus, neoverse-v1)
5196          (neoverse-512tvb, saphira): Remove RCPC from these Armv8.3-A+ cores.
5197          * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Define
5198          __ARM_FEATURE_RCPC when appropriate.
5199
52002022-10-19  Kewen Lin  <linkw@linux.ibm.com>
5201
5202          Backported from master:
5203          2022-09-26  Kewen Lin  <linkw@linux.ibm.com>
5204
5205          PR target/96072
5206          * config/rs6000/rs6000-logue.cc (rs6000_emit_epilogue): Update the
5207          condition for adding REG_CFA_DEF_CFA reg note with
5208          frame_pointer_needed_indeed.
5209
52102022-10-19  Kewen Lin  <linkw@linux.ibm.com>
5211
5212          Backported from master:
5213          2022-09-26  Kewen Lin  <linkw@linux.ibm.com>
5214
5215          PR target/100645
5216          * config/rs6000/vector.md (vec_shr_<mode>): Replace condition
5217          TARGET_ALTIVEC with VECTOR_UNIT_ALTIVEC_OR_VSX_P.
5218
52192022-10-17  Pat Haugen  <pthaugen@linux.ibm.com>
5220
5221          Backported from master:
5222          2022-05-17  Pat Haugen  <pthaugen@linux.ibm.com>
5223
5224          PR target/99685
5225          * config/rs6000/rs6000-call.cc (rs6000_function_arg_advance_1): Bump
5226          register count when not splitting IEEE 128-bit Complex.
5227
52282022-10-17  Richard Biener  <rguenther@suse.de>
5229
5230          Backported from master:
5231          2022-10-14  Richard Biener  <rguenther@suse.de>
5232
5233          PR tree-optimization/107254
5234          * tree-vect-slp.cc (vect_slp_analyze_node_operations_1):
5235          For permutes also analyze live lanes.
5236          (vect_schedule_slp_node): For permutes also code generate
5237          live lane extracts.
5238
52392022-10-17  Richard Biener  <rguenther@suse.de>
5240
5241          Backported from master:
5242          2022-10-11  Richard Biener  <rguenther@suse.de>
5243
5244          PR tree-optimization/107212
5245          * tree-vect-loop.cc (vectorizable_reduction): Make sure to
5246          set STMT_VINFO_REDUC_DEF for all live lanes in a SLP
5247          reduction.
5248          (vectorizable_live_operation): Do not pun to the SLP
5249          node representative for reduction epilogue generation.
5250
52512022-10-17  Richard Biener  <rguenther@suse.de>
5252
5253          Backported from master:
5254          2022-10-13  Richard Biener  <rguenther@suse.de>
5255
5256          PR tree-optimization/107160
5257          * tree-vect-loop.cc (vect_create_epilog_for_reduction):
5258          Do not register accumulator if we failed to reduce it
5259          to a single vector.
5260
52612022-10-17  Richard Biener  <rguenther@suse.de>
5262
5263          Backported from master:
5264          2022-10-06  Richard Biener  <rguenther@suse.de>
5265
5266          PR tree-optimization/107107
5267          * tree-ssa-sccvn.cc (visit_reference_op_store): Do not
5268          affect value-numbering when doing the tail merging
5269          MODIFY_EXPR lookup.
5270
52712022-10-17  Richard Biener  <rguenther@suse.de>
5272
5273          Backported from master:
5274          2022-09-23  Richard Biener  <rguenther@suse.de>
5275
5276          PR tree-optimization/106922
5277          * tree-ssa-sccvn.cc (vn_reference_lookup_3): Allow
5278          an arbitrary number of same valued skipped stores.
5279
52802022-10-17  Richard Biener  <rguenther@suse.de>
5281
5282          Backported from master:
5283          2022-09-22  Richard Biener  <rguenther@suse.de>
5284
5285          PR tree-optimization/106922
5286          * tree-ssa-sccvn.cc (vn_walk_cb_data::same_val): New member.
5287          (vn_walk_cb_data::finish): Perform delayed verification of
5288          a skipped may-alias.
5289          (vn_reference_lookup_pieces): Likewise.
5290          (vn_reference_lookup): Likewise.
5291          (vn_reference_lookup_3): When skipping stores of the same
5292          value also handle constant stores that are more than a
5293          single VDEF away by delaying the verification.
5294
52952022-10-14  Eric Botcazou  <ebotcazou@adacore.com>
5296
5297          PR target/107248
5298          * config/sparc/sparc.cc (sparc_expand_prologue): Emit a frame
5299          blockage for leaf functions.
5300          (sparc_flat_expand_prologue): Emit frame instead of full blockage.
5301          (sparc_expand_epilogue): Emit a frame blockage for leaf functions.
5302          (sparc_flat_expand_epilogue): Emit frame instead of full blockage.
5303
53042022-10-13  Tobias Burnus  <tobias@codesourcery.com>
5305
5306          Backported from master:
5307          2022-10-04  Tobias Burnus  <tobias@codesourcery.com>
5308
5309          * doc/install.texi (Specific): Add missing items to bullet list.
5310          (amdgcn): Update LLVM requirements, use version not date for newlib.
5311          (nvptx): Use version not git hash for newlib.
5312
53132022-10-11  Christophe Lyon  <christophe.lyon@arm.com>
5314
5315          * config/arm/mve.md (mve_vqshluq_n_s<mode>): Use
5316          MVE_pred/MVE_constraint instead of mve_imm_7/Ra.
5317          (mve_vqshluq_m_n_s<mode>): Likewise.
5318          (mve_vqrshrnbq_n_<supf><mode>): Use MVE_pred3/MVE_constraint3
5319          instead of mve_imm_8/Rb.
5320          (mve_vqrshrunbq_n_s<mode>): Likewise.
5321          (mve_vqrshrntq_n_<supf><mode>): Likewise.
5322          (mve_vqrshruntq_n_s<mode>): Likewise.
5323          (mve_vrshrnbq_n_<supf><mode>): Likewise.
5324          (mve_vrshrntq_n_<supf><mode>): Likewise.
5325          (mve_vqrshrnbq_m_n_<supf><mode>): Likewise.
5326          (mve_vqrshrntq_m_n_<supf><mode>): Likewise.
5327          (mve_vrshrnbq_m_n_<supf><mode>): Likewise.
5328          (mve_vrshrntq_m_n_<supf><mode>): Likewise.
5329          (mve_vqrshrunbq_m_n_s<mode>): Likewise.
5330          (mve_vsriq_n_<supf><mode): Use MVE_pred2/MVE_constraint2 instead
5331          of mve_imm_selective_upto_8/Rg.
5332          (mve_vsriq_m_n_<supf><mode>): Likewise.
5333          (cherry-picked from c3fb6658c7670e446f2fd00984404d971e416b3c)
5334
53352022-10-11  Richard Biener  <rguenther@suse.de>
5336
5337          Backported from master:
5338          2022-09-14  Richard Biener  <rguenther@suse.de>
5339
5340          PR tree-optimization/106934
5341          * tree-ssa.cc (non_rewritable_mem_ref_base): Avoid BIT_FIELD_REFs
5342          of bitfields.
5343          (maybe_rewrite_mem_ref_base): Likewise.
5344
53452022-10-11  Richard Biener  <rguenther@suse.de>
5346
5347          Backported from master:
5348          2022-09-15  Richard Biener  <rguenther@suse.de>
5349
5350          PR tree-optimization/106922
5351          * tree-ssa-pre.cc (translate_vuse_through_block): Only
5352          keep the VUSE if its def dominates PHIBLOCK.
5353          (prune_clobbered_mems): Rewrite logic so we check whether
5354          a value dies in a block when the VUSE def doesn't dominate it.
5355
53562022-10-11  Richard Biener  <rguenther@suse.de>
5357
5358          Backported from master:
5359          2022-09-09  Richard Biener  <rguenther@suse.de>
5360
5361          PR tree-optimization/106892
5362          * tree-predcom.cc (ref_at_iteration): Do not associate the
5363          constant part of the offset into the MEM_REF offset
5364          operand, across a non-zero offset.
5365
53662022-10-11  Richard Biener  <rguenther@suse.de>
5367
5368          Backported from master:
5369          2022-08-22  Richard Biener  <rguenther@suse.de>
5370
5371          PR tree-optimization/105937
5372          * tree-ssa-uninit.cc (find_uninit_use): Do not queue PHIs
5373          on backedges.
5374          (execute_late_warn_uninitialized): Mark backedges.
5375
53762022-10-03  Sergei Trofimovich  <siarheit@google.com>
5377
5378          Backported from master:
5379          2022-10-03  Sergei Trofimovich  <siarheit@google.com>
5380
5381          PR target/107064
5382          * config/i386/t-i386: Add build-time dependencies against
5383          i386-builtin-types.inc to i386-builtins.o, i386-expand.o,
5384          i386-features.o.
5385
53862022-09-29  H.J. Lu  <hjl.tools@gmail.com>
5387
5388          Backported from master:
5389          2022-09-28  H.J. Lu  <hjl.tools@gmail.com>
5390
5391          PR target/107061
5392          * config/i386/predicates.md (encodekey128_operation): Check
5393          XMM4-XMM6 as clobbered.
5394          (encodekey256_operation): Likewise.
5395          * config/i386/sse.md (encodekey128u32): Clobber XMM4-XMM6.
5396          (encodekey256u32): Likewise.
5397
53982022-09-29  Tobias Burnus  <tobias@codesourcery.com>
5399
5400          Backported from master:
5401          2022-09-26  Tobias Burnus  <tobias@codesourcery.com>
5402
5403          PR middle-end/106982
5404          * omp-low.cc (lower_oacc_reductions): Add some unshare_expr.
5405
54062022-09-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
5407
5408          Backported from master:
5409          2022-09-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
5410
5411          * config/aarch64/aarch64-cores.def (neoverse-v2): New entry.
5412          (demeter): Update tunings to neoversev2.
5413          * config/aarch64/aarch64-tune.md: Regenerate.
5414          * config/aarch64/aarch64.cc (demeter_addrcost_table): Rename to
5415          neoversev2_addrcost_table.
5416          (demeter_regmove_cost): Rename to neoversev2_addrcost_table.
5417          (demeter_advsimd_vector_cost): Rename to neoversev2_advsimd_vector_cost.
5418          (demeter_sve_vector_cost): Rename to neoversev2_sve_vector_cost.
5419          (demeter_scalar_issue_info): Rename to neoversev2_scalar_issue_info.
5420          (demeter_advsimd_issue_info): Rename to neoversev2_advsimd_issue_info.
5421          (demeter_sve_issue_info): Rename to neoversev2_sve_issue_info.
5422          (demeter_vec_issue_info): Rename to neoversev2_vec_issue_info.
5423          Update references to above.
5424          (demeter_vector_cost): Rename to neoversev2_vector_cost.
5425          (demeter_tunings): Rename to neoversev2_tunings.
5426          (aarch64_vec_op_count::rename_cycles_per_iter): Use
5427          neoversev2_sve_issue_info instead of demeter_sve_issue_info.
5428          * doc/invoke.texi (AArch64 Options): Document neoverse-v2.
5429
54302022-09-21  Richard Sandiford  <richard.sandiford@arm.com>
5431
5432          Backported from master:
5433          2022-09-20  Richard Sandiford  <richard.sandiford@arm.com>
5434
5435          PR target/106491
5436          * config/aarch64/aarch64-sve-builtins.cc (scalar_types)
5437          (acle_vector_types, acle_svpattern, acle_svprfop): Add GTY
5438          markup to (new) extern declarations instead of to the main
5439          definition.
5440
54412022-09-21  Kewen Lin  <linkw@linux.ibm.com>
5442
5443          Backported from master:
5444          2022-09-13  Kewen Lin  <linkw@linux.ibm.com>
5445
5446          PR target/104482
5447          * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin): Fix
5448          the equality check for argument number, and move this hunk ahead.
5449
54502022-09-21  Kewen.Lin  <linkw@gcc.gnu.org>
5451
5452          Backported from master:
5453          2022-09-13  Kewen.Lin  <linkw@gcc.gnu.org>
5454
5455          PR target/105485
5456          * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Add
5457          the handling for unresolved overloaded builtin function.
5458          (rs6000_expand_builtin): Likewise.
5459
54602022-09-09  Richard Biener  <rguenther@suse.de>
5461
5462          Backported from master:
5463          2022-09-07  Richard Biener  <rguenther@suse.de>
5464
5465          PR tree-optimization/106860
5466          * tree-ssa-loop-split.cc (split_loop): Find the exit to
5467          latch edge from the loop exit edge instead of from the
5468          latch.  Verify we're going to find it.
5469
54702022-09-09  Richard Biener  <rguenther@suse.de>
5471
5472          Backported from master:
5473          2022-09-06  Richard Biener  <rguenther@suse.de>
5474
5475          PR tree-optimization/106841
5476          * tree-vect-slp.cc (vect_detect_hybrid_slp): Also process
5477          scatter/gather offset.
5478
54792022-09-09  Richard Biener  <rguenther@suse.de>
5480
5481          Backported from master:
5482          2022-09-02  Richard Biener  <rguenther@suse.de>
5483
5484          PR tree-optimization/106809
5485          * tree-ssa-sccvn.cc (dominaged_by_p_w_unex): Check we have
5486          more than one successor before doing extra work.
5487
54882022-09-08  Sebastian Huber  <sebastian.huber@embedded-brains.de>
5489
5490          * config/rs6000/rtems.h (CPP_OS_DEFAULT_SPEC): Define __PPC_VRSAVE__ if
5491          -mvrsave is present.
5492          * config/rs6000/t-rtems: Add -mvrsave multilib variants for
5493          -mcpu=e6500.
5494
54952022-09-03  Peter Bergner  <bergner@linux.ibm.com>
5496
5497          Backported from master:
5498          2022-09-01  Peter Bergner  <bergner@linux.ibm.com>
5499
5500          PR target/101322
5501          * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_mma_builtin):
5502          Enforce the use of a valid MMA pointer type.
5503
55042022-09-02  Richard Earnshaw  <rearnsha@arm.com>
5505
5506          Backported from master:
5507          2022-08-03  Richard Earnshaw  <rearnsha@arm.com>
5508
5509          PR rtl-optimization/106187
5510          * alias.h (mems_same_for_tbaa_p): Declare.
5511          * alias.cc (mems_same_for_tbaa_p): New function.
5512          * dse.cc (record_store): Use it instead of open-coding
5513          alias check.
5514          * cselib.h (cselib_redundant_set_p): Declare.
5515          * cselib.cc: Include alias.h
5516          (cselib_redundant_set_p): New function.
5517          * cfgcleanup.cc: (mark_effect): Use cselib_redundant_set_p instead
5518          of rtx_equal_for_cselib_p.
5519          * postreload.cc (reload_cse_simplify): Use cselib_redundant_set_p.
5520          (reload_cse_noop_set_p): Delete.
5521
55222022-09-02  Richard Earnshaw  <rearnsha@arm.com>
5523
5524          Backported from master:
5525          2022-05-13  Richard Earnshaw  <rearnsha@arm.com>
5526
5527          PR target/105463
5528          * config/arm/mve.md (*movmisalign<mode>_mve_store): Use
5529          mve_memory_operand.
5530          (*movmisalign<mode>_mve_load): Likewise.
5531          * config/arm/vec-common.md (movmisalign<mode>): Convert to generator
5532          form...
5533          (@movmisalign<mode>): ... thus.  Use generic predicates and then
5534          rework operands if they are not valid.  For MVE rework to a
5535          narrower element size if the alignment is not high enough.
5536
55372022-09-02  Tamar Christina  <tamar.christina@arm.com>
5538
5539          Backported from master:
5540          2022-09-01  Tamar Christina  <tamar.christina@arm.com>
5541
5542          PR other/106782
5543          * config/aarch64/aarch64.cc
5544          (aarch64_vector_costs::prefer_unrolled_loop): Replace %u with
5545          HOST_WIDE_INT_PRINT_UNSIGNED.
5546
55472022-09-01  Jakub Jelinek  <jakub@redhat.com>
5548
5549          Backported from master:
5550          2022-09-01  Jakub Jelinek  <jakub@redhat.com>
5551
5552          PR other/106782
5553          * tree-vect-slp.cc (vect_print_slp_tree): Use
5554          HOST_WIDE_INT_PRINT_UNSIGNED instead of %u.
5555          * tree-vect-loop.cc (vect_estimate_min_profitable_iters): Use
5556          HOST_WIDE_INT_PRINT_UNSIGNED instead of %d.
5557          * tree-vect-slp-patterns.cc (vect_pattern_validate_optab): Use %G
5558          instead of %T and STMT_VINFO_STMT (SLP_TREE_REPRESENTATIVE (node))
5559          instead of SLP_TREE_DEF_TYPE (node).
5560
55612022-08-30  Tamar Christina  <tamar.christina@arm.com>
5562
5563          Backported from master:
5564          2022-08-12  Tamar Christina  <tamar.christina@arm.com>
5565
5566          PR target/106524
5567          * config/aarch64/aarch64-sve.md (*fcmuo<mode>_nor_combine,
5568          *fcmuo<mode>_bic_combine): Don't accept comparisons against zero.
5569
55702022-08-29  Peter Bergner  <bergner@linux.ibm.com>
5571
5572          Backported from master:
5573          2022-08-28  Peter Bergner  <bergner@linux.ibm.com>
5574
5575          PR target/106017
5576          * config/rs6000/rs6000.cc (rs6000_invalid_conversion): Remove handling
5577          of MMA pointer conversions.
5578
55792022-08-29  H.J. Lu  <hjl.tools@gmail.com>
5580
5581          Backported from master:
5582          2022-08-23  H.J. Lu  <hjl.tools@gmail.com>
5583
5584          PR target/106714
5585          * config/i386/amxtileintrin.h (_tile_loadd_internal): Cast to
5586          __PTRDIFF_TYPE__.
5587          (_tile_stream_loadd_internal): Likewise.
5588          (_tile_stored_internal): Likewise.
5589
55902022-08-29  Jakub Jelinek  <jakub@redhat.com>
5591
5592          Backported from master:
5593          2022-08-24  Jakub Jelinek  <jakub@redhat.com>
5594
5595          PR target/106721
5596          * config/i386/sse.md (i128vldq): Add V16HF entry.
5597          (avx512er_vmrcp28<mode><mask_name><round_saeonly_name>): Fix typo,
5598          mask_opernad3 -> mask_operand3.
5599
56002022-08-29  Jakub Jelinek  <jakub@redhat.com>
5601
5602          Backported from master:
5603          2022-08-15  Jakub Jelinek  <jakub@redhat.com>
5604
5605          PR rtl-optimization/106590
5606          * ifcvt.cc (check_for_cc_cmp_clobbers): New function.
5607          (noce_convert_multiple_sets_1): If SEQ sets or clobbers any regs
5608          mentioned in cc_cmp or rev_cc_cmp, don't consider seq2 for any
5609          further conditional moves.
5610
56112022-08-26  liuhongt  <hongtao.liu@intel.com>
5612
5613          PR target/106704
5614          * config/i386/i386-builtin.def (BDESC): Add
5615          CODE_FOR_avx_blendvpd256/CODE_FOR_avx_blendvps256 to
5616          corresponding builtins.
5617          * config/i386/i386.cc (ix86_gimple_fold_builtin):
5618          Don't fold IX86_BUILTIN_PBLENDVB256, IX86_BUILTIN_BLENDVPS256,
5619          IX86_BUILTIN_BLENDVPD256 w/o TARGET_AVX2.
5620
56212022-08-25  Chenghua Xu  <xuchenghua@loongson.cn>
5622
5623          Backported from master:
5624          2022-08-25  Chenghua Xu  <xuchenghua@loongson.cn>
5625
5626          PR target/106459
5627          * config/loongarch/loongarch.cc (loongarch_build_integer):
5628          Use HOST_WIDE_INT.
5629          * config/loongarch/loongarch.h (IMM_REACH): Likewise.
5630          (HWIT_1U): New Defined.
5631          (LU12I_OPERAND): Use HOST_WIDE_INT.
5632          (LU32I_OPERAND): Likewise.
5633          (LU52I_OPERAND): Likewise.
5634          (HWIT_UC_0xFFF): Likwise.
5635
56362022-08-24  Kewen Lin  <linkw@linux.ibm.com>
5637
5638          Backported from master:
5639          2022-08-16  Kewen Lin  <linkw@linux.ibm.com>
5640
5641          PR tree-optimization/106322
5642          * tree-vect-stmts.cc (vectorizable_call): Don't allow
5643          vect_emulated_vector_p type for both vectype_in and vectype_out.
5644
56452022-08-24  Kewen.Lin  <linkw@gcc.gnu.org>
5646
5647          Backported from master:
5648          2022-08-16  Kewen.Lin  <linkw@gcc.gnu.org>
5649
5650          PR target/103353
5651          * config/rs6000/mma.md (define_expand movoo): Move TARGET_MMA condition
5652          check to preparation statements and add handlings for !TARGET_MMA.
5653          (define_expand movxo): Likewise.
5654
56552022-08-23  Tobias Burnus  <tobias@codesourcery.com>
5656
5657          Backported from master:
5658          2022-08-19  Tobias Burnus  <tobias@codesourcery.com>
5659
5660          * config/gcn/mkoffload.cc (main): Add dbgobj to files_to_cleanup.
5661
56622022-08-23  Tobias Burnus  <tobias@codesourcery.com>
5663
5664          Backported from master:
5665          2022-08-17  Tobias Burnus  <tobias@codesourcery.com>
5666
5667          PR middle-end/106548
5668          * omp-low.cc (lower_rec_input_clauses): Use build_outer_var_ref
5669          for 'simd' linear-step values that are variable.
5670
56712022-08-19  Release Manager
5672
5673          * GCC 12.2.0 released.
5674
56752022-08-17  Ilya Leoshkevich  <iii@linux.ibm.com>
5676
5677          Backported from master:
5678          2022-08-04  Ilya Leoshkevich  <iii@linux.ibm.com>
5679
5680          * config/s390/vector.md (V_HW_FT): New iterator.
5681          * config/s390/vx-builtins.md (vsel<mode>): Use V_HW_FT instead
5682          of V_HW.
5683
56842022-08-12  Peter Bergner  <bergner@linux.ibm.com>
5685
5686          Backported from master:
5687          2022-07-26  Peter Bergner  <bergner@linux.ibm.com>
5688
5689          PR c/106016
5690          * expr.cc (count_type_elements): Handle OPAQUE_TYPE.
5691
56922022-08-11  Andre Simoes Dias Vieira  <andre.simoesdiasvieira@arm.com>
5693
5694          Backported from master:
5695          2022-07-25  Andre Vieira  <andre.simoesdiasvieira@arm.com>
5696
5697          * config/aarch64/aarch64.md (rbit<mode>2): Rename this ...
5698          (@aarch64_rbit<mode>): ... to this and change it in...
5699          (ffs<mode>2,ctz<mode>2): ... here.
5700          (@aarch64_rev16<mode>): New.
5701          * config/aarch64/aarch64-builtins.cc: (aarch64_builtins):
5702          Define the following enum AARCH64_REV16, AARCH64_REV16L,
5703          AARCH64_REV16LL, AARCH64_RBIT, AARCH64_RBITL, AARCH64_RBITLL.
5704          (aarch64_init_data_intrinsics): New.
5705          (aarch64_general_init_builtins): Add call to
5706          aarch64_init_data_intrinsics.
5707          (aarch64_expand_builtin_data_intrinsic): New.
5708          (aarch64_general_expand_builtin): Add call to
5709          aarch64_expand_builtin_data_intrinsic.
5710          * config/aarch64/arm_acle.h (__clz, __clzl, __clzll, __cls, __clsl,
5711          __clsll, __rbit, __rbitl, __rbitll, __rev, __revl, __revll, __rev16,
5712          __rev16l, __rev16ll, __ror, __rorl, __rorll, __revsh): New.
5713
57142022-08-10  Tobias Burnus  <tobias@codesourcery.com>
5715
5716          Backported from master:
5717          2022-08-09  Tobias Burnus  <tobias@codesourcery.com>
5718
5719          PR middle-end/106492
5720          * omp-low.cc (lower_rec_input_clauses): Add missing folding
5721          to data type of linear-clause list item.
5722
57232022-08-10  Richard Biener  <rguenther@suse.de>
5724
5725          Backported from master:
5726          2022-08-10  Richard Biener  <rguenther@suse.de>
5727
5728          PR tree-optimization/106513
5729          * gimple-ssa-store-merging.cc (do_shift_rotate): Use uint64_t
5730          for head_marker.
5731
57322022-08-10  Richard Biener  <rguenther@suse.de>
5733
5734          Backported from master:
5735          2022-08-08  Richard Biener  <rguenther@suse.de>
5736
5737          PR lto/106540
5738          PR lto/106334
5739          * lto-streamer-in.cc (lto_read_tree_1): Use lto_input_tree_1
5740          to input DECL_INITIAL, avoiding to commit drefs.
5741
57422022-08-05   Michael Meissner  <meissner@linux.ibm.com>
5743
5744          * config/rs6000/rs6000.cc (rs6000_option_override_internal): Remove code
5745          setting -mblock-ops-vector-pair.  Back port patch from trunk on 8/3.
5746
57472022-08-02  Peter Bergner  <bergner@linux.ibm.com>
5748
5749          Backported from master:
5750          2022-07-25  Peter Bergner  <bergner@linux.ibm.com>
5751                        Kewen Lin  <linkw@linux.ibm.com>
5752
5753          PR testsuite/106345
5754          * config/rs6000/rs6000.h (DRIVER_SELF_SPECS): Adjust -mdejagnu-cpu
5755          to filter out all -mtune options.
5756
57572022-08-02  Kewen Lin  <linkw@linux.ibm.com>
5758
5759          Backported from master:
5760          2022-07-26  Kewen Lin  <linkw@linux.ibm.com>
5761
5762          PR target/106091
5763          * config/rs6000/rs6000-p8swap.cc (replace_swapped_aligned_store): Copy
5764          REG_EH_REGION when replacing one store insn having it.
5765          (replace_swapped_aligned_load): Likewise.
5766
57672022-07-30  Jakub Jelinek  <jakub@redhat.com>
5768
5769          Backported from master:
5770          2022-07-29  Jakub Jelinek  <jakub@redhat.com>
5771
5772          PR middle-end/106449
5773          * omp-expand.cc (expand_omp_simd): Fix up handling of pointer
5774          iterators in non-rectangular simd loops.  Unshare fd->loops[i].n2
5775          or n2 before regimplifying it inside of a condition.
5776
57772022-07-30  Jakub Jelinek  <jakub@redhat.com>
5778
5779          Backported from master:
5780          2022-07-27  Jakub Jelinek  <jakub@redhat.com>
5781
5782          PR debug/106261
5783          * cgraphunit.cc (cgraph_node::assemble_thunks_and_aliases): Don't
5784          output asm thunks for -dx.
5785
57862022-07-30  Jakub Jelinek  <jakub@redhat.com>
5787
5788          Backported from master:
5789          2022-07-01  Jakub Jelinek  <jakub@redhat.com>
5790
5791          PR middle-end/106144
5792          * wide-int.cc (wi::shifted_mask): If end >= prec, return right after
5793          emitting element for shift or if shift is 0 first element after start.
5794          (wide_int_cc_tests): Add tests for equivalency of wi::mask and
5795          wi::shifted_mask with 0 start.
5796
57972022-07-27  David Malcolm  <dmalcolm@redhat.com>
5798
5799          * json.cc (string::print): Fix escaping of '\'.
5800
58012022-07-27  David Malcolm  <dmalcolm@redhat.com>
5802
5803          * doc/invoke.texi (-fdump-analyzer-feasibility): Mention the
5804          fpath.txt output.
5805
58062022-07-27  Maciej W. Rozycki  <macro@embecosm.com>
5807
5808          Backported from master:
5809          2022-07-27  Maciej W. Rozycki  <macro@embecosm.com>
5810
5811          * config/riscv/riscv.md (stack_protect_set_<mode>): Remove
5812          duplicate backslashes.
5813
58142022-07-27  Richard Biener  <rguenther@suse.de>
5815
5816          Backported from master:
5817          2022-07-26  Richard Biener  <rguenther@suse.de>
5818
5819          PR tree-optimization/106189
5820          * gimple-array-bounds.cc (array_bounds_checker::check_mem_ref):
5821          Divide using offset_ints.
5822
58232022-07-27  Joseph Myers  <joseph@codesourcery.com>
5824
5825          Backported from master:
5826          2022-06-30  Joseph Myers  <joseph@codesourcery.com>
5827
5828          PR lto/106129
5829          * lto-wrapper.cc (find_option): Add argument start.
5830          (merge_and_complain): Loop over existing_opt_index and
5831          existing_opt2_index for Xassembler check.  Update calls to
5832          find_option.
5833          (find_and_merge_options): Add argument first to determine whether
5834          to merge options with those passed in *opts.
5835          (run_gcc): Update calls to find_and_merge_options.
5836
58372022-07-27  Andrew Pinski  <apinski@marvell.com>
5838
5839          Backported from master:
5840          2022-07-09  Andrew Pinski  <apinski@marvell.com>
5841
5842          PR tree-optimization/106087
5843          * tree-ssa-dce.cc (simple_dce_from_worklist): Check
5844          to make sure the statement is only defining one operand.
5845
58462022-07-27  Tamar Christina  <tamar.christina@arm.com>
5847
5848          Backported from master:
5849          2022-07-08  Tamar Christina  <tamar.christina@arm.com>
5850
5851          PR tree-optimization/106063
5852          * match.pd: Do not apply pattern after veclower is not supported.
5853
58542022-07-27  Alexandre Oliva  <oliva@adacore.com>
5855
5856          Backported from master:
5857          2022-06-03  Alexandre Oliva  <oliva@adacore.com>
5858
5859          PR tree-optimization/105665
5860          PR tree-optimization/100810
5861          * tree-ssa-loop-ivopts.cc
5862          (ssa_name_maybe_undef_p, ssa_name_set_maybe_undef): New.
5863          (ssa_name_any_use_dominates_bb_p, mark_ssa_maybe_undefs): New.
5864          (find_ssa_undef): Check precomputed flag and intervening uses.
5865          (tree_ssa_iv_optimize): Call mark_ssa_maybe_undefs.
5866
58672022-07-25  Sebastian Huber  <sebastian.huber@embedded-brains.de>
5868
5869          Backported from master:
5870          2022-07-25  Sebastian Huber  <sebastian.huber@embedded-brains.de>
5871
5872          * config/rs6000/rtems.h (CPLUSPLUS_CPP_SPEC): Undef.
5873
58742022-07-19  Richard Biener  <rguenther@suse.de>
5875
5876          Backported from master:
5877          2022-07-19  Richard Biener  <rguenther@suse.de>
5878
5879          PR middle-end/106331
5880          * builtins.cc (get_memory_rtx): Compute alignment from
5881          the original address and set MEM_OFFSET to unknown when
5882          we create a MEM_EXPR from the base object of the address.
5883
58842022-07-19  Richard Biener  <rguenther@suse.de>
5885
5886          Backported from master:
5887          2022-07-01  Richard Biener  <rguenther@suse.de>
5888
5889          PR tree-optimization/106131
5890          * tree-ssa-sccvn.cc (vn_reference_lookup_3): Force alias-set
5891          zero when offsetting the read looking through an aggregate
5892          copy.
5893
58942022-07-19  Richard Biener  <rguenther@suse.de>
5895
5896          Backported from master:
5897          2022-06-29  Richard Biener  <rguenther@suse.de>
5898
5899          PR tree-optimization/106112
5900          * tree-ssa-sccvn.cc (valueized_wider_op): Properly extend
5901          a constant operand according to its type.
5902
59032022-07-19  Richard Biener  <rguenther@suse.de>
5904
5905          Backported from master:
5906          2022-06-20  Richard Biener  <rguenther@suse.de>
5907
5908          PR middle-end/106027
5909          * fold-const.cc (fold_to_nonsharp_ineq_using_bound): Use the
5910          type of the prevailing comparison for the new comparison type.
5911          (fold_binary_loc): Use proper types for the A < X && A + 1 > Y
5912          to A < X && A >= Y folding.
5913
59142022-07-19  Richard Biener  <rguenther@suse.de>
5915
5916          Backported from master:
5917          2022-06-15  Richard Biener  <rguenther@suse.de>
5918
5919          PR tree-optimization/105971
5920          * tree-ssa-alias.cc (refs_may_alias_p_2): Put bail-out for
5921          FUNCTION_DECL and LABEL_DECL refs after decl-decl disambiguation
5922          to leak less surprising alias results.
5923
59242022-07-19  Richard Biener  <rguenther@suse.de>
5925
5926          Backported from master:
5927          2022-06-15  Richard Biener  <rguenther@suse.de>
5928
5929          PR tree-optimization/105969
5930          * gimple-ssa-sprintf.cc (get_origin_and_offset_r): Avoid division
5931          by zero in overflow check.
5932
59332022-07-19  Richard Biener  <rguenther@suse.de>
5934
5935          Backported from master:
5936          2022-06-14  Richard Biener  <rguenther@suse.de>
5937
5938          PR middle-end/105965
5939          * match.pd (view_convert CONSTRUCTOR): Handle single-element
5940          CTOR case.
5941
59422022-07-19  Richard Biener  <rguenther@suse.de>
5943
5944          Backported from master:
5945          2022-06-14  Richard Biener  <rguenther@suse.de>
5946
5947          PR tree-optimization/105946
5948          * tree-ssa-uninit.cc (maybe_warn_pass_by_reference):
5949          Do not look at arguments not specified in the function call.
5950
59512022-07-19  Richard Biener  <rguenther@suse.de>
5952
5953          Backported from master:
5954          2022-07-11  Richard Biener  <rguenthert@suse.de>
5955
5956          PR target/105459
5957          * config/i386/i386-options.cc (ix86_set_current_function):
5958          Rebuild the target optimization node whenever necessary,
5959          not only when the optimization node didn't change.
5960
59612022-07-14   Michael Meissner  <meissner@linux.ibm.com>
5962
5963          * config/rs6000/rs6000.cc (rs6000_option_override_internal): Do
5964          not generate block copies with vector pair instructions if we are
5965          tuning for power10.  Back port from master branch.
5966
59672022-07-14  Surya Kumari Jangala  <jskumari@linux.vnet.ibm.com>
5968
5969          Backported from master:
5970          2022-06-14  Surya Kumari Jangala  <jskumari@linux.ibm.com>
5971
5972          PR rtl-optimization/105041
5973          * regrename.cc (check_new_reg_p): Use nregs value from du chain.
5974
59752022-07-11  Martin Jambor  <mjambor@suse.cz>
5976
5977          Backported from master:
5978          2022-07-04  Martin Jambor  <mjambor@suse.cz>
5979
5980          PR tree-optimization/105860
5981          * tree-sra.cc (build_reconstructed_reference): Start expr
5982          traversal only just below the outermost union.
5983
59842022-07-10  Xi Ruoyao  <xry111@xry111.site>
5985
5986          Backported from master:
5987          2022-07-10  Xi Ruoyao  <xry111@xry111.site>
5988
5989          * config/loongarch/loongarch.md (mulsidi3_64bit): Use mulw.d.w
5990          instead of mul.d.
5991
59922022-07-09  Roger Sayle  <roger@nextmovesoftware.com>
5993              Uroš Bizjak  <ubizjak@gmail.com>
5994
5995          PR target/105930
5996          * config/i386/i386.md (*<any_or>di3_doubleword): Split after
5997          reload.  Use rtx_equal_p to avoid creating memory-to-memory moves,
5998          and emit NOTE_INSN_DELETED if operand[2] is zero (i.e. with -O0).
5999
60002022-07-08  Lulu Cheng  <chenglulu@loongson.cn>
6001
6002          Backported from master:
6003          2022-07-08  Lulu Cheng  <chenglulu@loongson.cn>
6004
6005          * config/loongarch/loongarch.cc (loongarch_compute_frame_info):
6006          Modify fp_sp_offset and gp_sp_offset's calculation method,
6007          when frame->mask or frame->fmask is zero, don't minus UNITS_PER_WORD
6008          or UNITS_PER_FP_REG.
6009
60102022-07-04  Andrew MacLeod  <amacleod@redhat.com>
6011
6012          PR tree-optimization/106114
6013          * gimple-range-fold.cc (fold_using_range::relation_fold_and_or): Check
6014          statement operands instead of GORI cache.
6015
60162022-07-04  Roger Sayle  <roger@nextmovesoftware.com>
6017              Marek Polacek  <polacek@redhat.com>
6018              Segher Boessenkool  <segher@kernel.crashing.org>
6019              Kewen Lin  <linkw@linux.ibm.com>
6020
6021          PR target/105991
6022          * config/rs6000/rs6000.md (rotl<mode>3_insert_3): Check that
6023          exact_log2 doesn't return -1 (or zero).
6024          (plus_xor): New code iterator.
6025          (*rotl<mode>3_insert_3_<code>): New define_insn_and_split.
6026
60272022-07-04  Xi Ruoyao  <xry111@xry111.site>
6028
6029          Backported from master:
6030          2022-07-03  Xi Ruoyao  <xry111@xry111.site>
6031                        Lulu Cheng  <chenglulu@loongson.cn>
6032
6033          * config/loongarch/loongarch.cc (loongarch_check_zero_div_p):
6034          New static function.
6035          (loongarch_idiv_insns): Use loongarch_check_zero_div_p instead
6036          of TARGET_CHECK_ZERO_DIV.
6037          (loongarch_output_division): Likewise.
6038          * common/config/loongarch/loongarch-common.cc
6039          (TARGET_DEFAULT_TARGET_FLAGS): Remove unneeded hook.
6040          * doc/invoke.texi: Update to match the new behavior.
6041
60422022-07-03  Roger Sayle  <roger@nextmovesoftware.com>
6043
6044          PR target/106122
6045          * config/i386/i386.md (peephole2): Avoid generating pop %esp
6046          when optimizing for size.
6047
60482022-07-02  Sergei Trofimovich  <siarheit@google.com>
6049
6050          Backported from master:
6051          2022-06-29  Sergei Trofimovich  <siarheit@google.com>
6052
6053          PR c++/106102
6054          * system.h: Introduce INCLUDE_PTHREAD_H macros to include <pthread.h>.
6055
60562022-07-01  Vladimir Makarov  <vmakarov@gcc.gnu.org>
6057
6058          Backported from master:
6059          2022-05-28  Vladimir Makarov  <vmakarov@gcc.gnu.org>
6060
6061          PR target/103722
6062          * config/sh/sh.cc (sh_register_move_cost): Avoid cost "2" (which
6063          is special) for various scenarios.
6064
60652022-06-29  Richard Biener  <rguenther@suse.de>
6066
6067          Backported from master:
6068          2022-05-11  Richard Biener  <rguenther@suse.de>
6069
6070          PR bootstrap/105551
6071          * opts.cc (finish_options): Also disable var-tracking if
6072          !DWARF2_DEBUGGING_INFO.
6073
60742022-06-29  Lulu Cheng  <chenglulu@loongson.cn>
6075
6076          Backported from master:
6077          2022-06-29  Lulu Cheng  <chenglulu@loongson.cn>
6078
6079          PR target/106097
6080          * config/loongarch/loongarch.cc (loongarch_build_integer):
6081          Remove undefined behavior from code.
6082
60832022-06-28  Jakub Jelinek  <jakub@redhat.com>
6084
6085          Backported from master:
6086          2022-06-21  Jakub Jelinek  <jakub@redhat.com>
6087
6088          PR rtl-optimization/106032
6089          * ifcvt.cc (noce_try_sign_mask): Punt if !t_unconditional, and
6090          t may_trap_or_fault_p, even if it is cheap.
6091
60922022-06-28  Jakub Jelinek  <jakub@redhat.com>
6093
6094          Backported from master:
6095          2022-06-21  Jakub Jelinek  <jakub@redhat.com>
6096
6097          PR middle-end/106030
6098          * expr.cc (expand_cond_expr_using_cmove): Pass NULL_RTX instead of
6099          temp to expand_operands if mode has been promoted.
6100
61012022-06-28  Xi Ruoyao  <xry111@xry111.site>
6102
6103          Backported from master:
6104          2022-06-28  Xi Ruoyao  <xry111@xry111.site>
6105
6106          PR target/106096
6107          * config/loongarch/loongarch.h (REG_CLASS_CONTENTS): Exclude
6108          $r13 from SIBCALL_REGS.
6109          * config/loongarch/loongarch.cc (loongarch_regno_to_class):
6110          Change $r13 to JIRL_REGS.
6111
61122022-06-24  Iain Buclaw  <ibuclaw@gdcproject.org>
6113
6114          Backported from master:
6115          2022-06-24  Iain Buclaw  <ibuclaw@gdcproject.org>
6116
6117          * config/tilepro/gen-mul-tables.cc (tilegx_emit): Adjust loop
6118          condition to avoid overflow.
6119
61202022-06-23  Martin Liska  <mliska@suse.cz>
6121
6122          Backported from master:
6123          2022-06-23  Martin Liska  <mliska@suse.cz>
6124
6125          PR ipa/105600
6126          * ipa-icf.cc (sem_item_optimizer::filter_removed_items):
6127          Skip variables with body_removed.
6128
61292022-06-23  Siddhesh Poyarekar  <siddhesh@gotplt.org>
6130
6131          Backported from master:
6132          2022-06-21  Siddhesh Poyarekar  <siddhesh@gotplt.org>
6133
6134          PR tree-optimization/105736
6135          * tree-object-size.cc (addr_object_size): Return size_unknown
6136          when object offset computation returns an error.
6137
61382022-06-23  Richard Sandiford  <richard.sandiford@arm.com>
6139
6140          Backported from master:
6141          2022-06-15  Richard Sandiford  <richard.sandiford@arm.com>
6142
6143          PR tree-optimization/105254
6144          PR tree-optimization/105940
6145          Revert:
6146          * config/aarch64/aarch64.cc
6147          (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
6148          loop_vec_info as argument.  Restrict the unroll factor to values
6149          that divide the VF.
6150          (aarch64_vector_costs::finish_cost): Update call accordingly.
6151
61522022-06-23  Kewen Lin  <linkw@linux.ibm.com>
6153
6154          Backported from master:
6155          2022-06-14  Kewen Lin  <linkw@linux.ibm.com>
6156
6157          PR tree-optimization/105940
6158          * tree-vect-loop.cc (vect_analyze_loop_2): Move the place of
6159          applying suggested_unroll_factor after start_over.
6160
61612022-06-21  H.J. Lu  <hjl.tools@gmail.com>
6162
6163          Backported from master:
6164          2022-06-20  H.J. Lu  <hjl.tools@gmail.com>
6165
6166          PR target/105960
6167          * config/i386/i386.cc (ix86_function_ok_for_sibcall): Return
6168          false if PIC register is used when calling ifunc functions.
6169
61702022-06-20  Uros Bizjak  <ubizjak@gmail.com>
6171
6172          Backported from master:
6173          2022-06-17  Uroš Bizjak  <ubizjak@gmail.com>
6174
6175          PR target/105209
6176          * config/alpha/alpha-protos.h (alpha_store_data_bypass_p): New.
6177          * config/alpha/alpha.cc (alpha_store_data_bypass_p): New function.
6178          (alpha_store_data_bypass_p_1): Ditto.
6179          * config/alpha/ev4.md: Use alpha_store_data_bypass_p instead
6180          of generic store_data_bypass_p.
6181          (ev4_ist_c): Remove insn reservation.
6182
61832022-06-20  Uros Bizjak  <ubizjak@gmail.com>
6184
6185          Backported from master:
6186          2022-06-17  Uroš Bizjak  <ubizjak@gmail.com>
6187
6188          PR target/105970
6189          * config/i386/i386.cc (ix86_function_arg): Assert that
6190          the mode of pointer argumet is equal to ptr_mode, not Pmode.
6191
61922022-06-19  Jakub Jelinek  <jakub@redhat.com>
6193
6194          Backported from master:
6195          2022-06-18  Jakub Jelinek  <jakub@redhat.com>
6196
6197          PR middle-end/105998
6198          * varasm.cc (narrowing_initializer_constant_valid_p): Check
6199          SCALAR_INT_MODE_P instead of INTEGRAL_MODE_P, also break on
6200          ! INTEGRAL_TYPE_P and do the same check also on op{0,1}'s type.
6201
62022022-06-19  Jakub Jelinek  <jakub@redhat.com>
6203
6204          Backported from master:
6205          2022-06-16  Jakub Jelinek  <jakub@redhat.com>
6206
6207          PR middle-end/105951
6208          * tree-ssa-ccp.cc (optimize_atomic_bit_test_and,
6209          optimize_atomic_op_fetch_cmp_0): Remember gimple_call_fn (call)
6210          as last argument to the internal functions.
6211          * builtins.cc (expand_ifn_atomic_bit_test_and): Adjust for the
6212          extra call argument to ifns.  If expand_atomic_fetch_op fails for the
6213          lhs == NULL_TREE case, fall through into the optab code with
6214          gen_reg_rtx (mode) as target.  If second expand_atomic_fetch_op
6215          fails, construct a CALL_EXPR and expand that.
6216          (expand_ifn_atomic_op_fetch_cmp_0): Adjust for the extra call argument
6217          to ifns.  If expand_atomic_fetch_op fails, construct a CALL_EXPR and
6218          expand that.
6219
62202022-06-19  Jan Hubicka  <jh@suse.cz>
6221
6222          Backported from master:
6223          2022-06-14  Jan Hubicka  <hubicka@ucw.cz>
6224
6225          PR ipa/105739
6226          * ipa-prop.cc (ipa_load_from_parm_agg): Punt on volatile loads.
6227
62282022-06-16  Richard Earnshaw  <rearnsha@arm.com>
6229
6230          Backported from master:
6231          2022-06-15  Richard Earnshaw  <rearnsha@arm.com>
6232
6233          PR target/105981
6234          * config/arm/arm.cc (gen_cpymem_ldrd_strd): Rename low_reg and hi_reg
6235          to first_reg and second_reg respectively.  Initialize them correctly
6236          when generating big-endian code.
6237
62382022-06-15  Simon Wright  <simon@pushface.org>
6239
6240          Backported from master:
6241          2022-06-12  Simon Wright  <simon@pushface.org>
6242
6243          PR target/104871
6244          * config/darwin-driver.cc (darwin_find_version_from_kernel): If the OS
6245          version is darwin20 (macOS 11) or greater, truncate the version to the
6246          major number.
6247
62482022-06-15  Mark Mentovai  <mark@mentovai.com>
6249
6250          Backported from master:
6251          2022-06-12  Mark Mentovai  <mark@mentovai.com>
6252
6253          * config/darwin-c.cc: Make -mmacosx-version-min more future-proof.
6254
62552022-06-15  Iain Sandoe  <iain@sandoe.co.uk>
6256
6257          Backported from master:
6258          2022-05-29  Iain Sandoe  <iain@sandoe.co.uk>
6259
6260          PR target/105599
6261          * config/darwin.h: Move versions-specific handling of multiply_defined
6262          from SUBTARGET_DRIVER_SELF_SPECS to LINK_SPEC.
6263
62642022-06-15  liuhongt  <hongtao.liu@intel.com>
6265
6266          PR target/105953
6267          * config/i386/sse.md (*avx_cmp<mode>3_ltint_not): Force_reg
6268          operands[3].
6269
62702022-06-14  H.J. Lu  <hjl.tools@gmail.com>
6271
6272          Backported from master:
6273          2022-06-13  H.J. Lu  <hjl.tools@gmail.com>
6274
6275          * common/config/i386/cpuinfo.h (get_available_features): Require
6276          AVX for F16C and VAES.
6277
62782022-06-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
6279
6280          Backported from master:
6281          2022-06-02  Philipp Tomsich  <philipp.tomsich@vrull.eu>
6282
6283          * config/riscv/riscv.cc (riscv_build_integer_1): Rewrite value as
6284          (-1 << 31) for the single-bit case, when operating on (1 << 31)
6285          in SImode.
6286          * config/riscv/riscv.h (SINGLE_BIT_MASK_OPERAND): Allow for
6287          any single-bit value, moving the special case for (1 << 31) to
6288          riscv_build_integer_1 (in riscv.c).
6289
62902022-06-08  Max Filippov  <jcmvbkbc@gmail.com>
6291
6292          Backported from master:
6293          2022-06-08  Max Filippov  <jcmvbkbc@gmail.com>
6294
6295          PR target/105879
6296          * config/xtensa/xtensa.md (movdi): Rename 'first' and 'second'
6297          to 'lowpart' and 'highpart' so that they match 'gen_lowpart' and
6298          'gen_highpart' bitwise semantics and fix order of highpart and
6299          lowpart depending on target endianness.
6300
63012022-06-08  liuhongt  <hongtao.liu@intel.com>
6302
6303          PR target/105854
6304          * config/i386/sse.md (ssse3_palignrdi): Change alternative 2
6305          from Yv to Yw.
6306
63072022-06-02  Philipp Tomsich  <philipp.tomsich@vrull.eu>
6308
6309          Backported from master:
6310          2022-05-13  Philipp Tomsich  <philipp.tomsich@vrull.eu>
6311                        Manolis Tsamis  <manolis.tsamis@vrull.eu>
6312
6313          * config/riscv/riscv.h (CLZ_DEFINED_VALUE_AT_ZERO): Implement.
6314          (CTZ_DEFINED_VALUE_AT_ZERO): Same.
6315          * doc/sourcebuild.texi: add documentation for RISC-V specific
6316          test target keywords
6317
63182022-06-02  Richard Biener  <rguenther@suse.de>
6319
6320          Backported from master:
6321          2022-06-01  Richard Biener  <rguenther@suse.de>
6322
6323          PR tree-optimization/105786
6324          * tree-loop-distribution.cc
6325          (loop_distribution::transform_reduction_loop): Only do strlen
6326          replacement for integer type reductions.
6327
63282022-06-02  Richard Biener  <rguenther@suse.de>
6329
6330          Backported from master:
6331          2022-05-27  Richard Biener  <rguenther@suse.de>
6332
6333          PR tree-optimization/105726
6334          * gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset):
6335          Constrain array-of-flexarray case more.
6336
63372022-06-02  Richard Biener  <rguenther@suse.de>
6338
6339          Backported from master:
6340          2022-05-24  Richard Biener  <rguenther@suse.de>
6341
6342          PR middle-end/105711
6343          * expmed.cc (extract_bit_field_as_subreg): Add op0_mode parameter
6344          and use it.
6345          (extract_bit_field_1): Pass down the mode of op0 to
6346          extract_bit_field_as_subreg.
6347
63482022-06-02  Martin Sebor  <msebor@redhat.com>
6349
6350          Backported from master:
6351          2022-05-24  Martin Sebor  <msebor@redhat.com>
6352                        Richard Biener  <rguenther@suse.de>
6353
6354          PR middle-end/105604
6355          * gimple-ssa-sprintf.cc (set_aggregate_size_and_offset): Add comments.
6356          (get_origin_and_offset_r): Remove null handling.  Handle variable array
6357          sizes.
6358          (get_origin_and_offset): Handle null argument here.  Simplify.
6359          (alias_offset): Update comment.
6360          * pointer-query.cc (field_at_offset): Update comment.  Handle members
6361          of variable-length types.
6362
63632022-06-02  Vineet Gupta  <vineetg@rivosinc.com>
6364
6365          Backported from master:
6366          2022-05-24  Vineet Gupta  <vineetg@rivosinc.com>
6367
6368          * config/riscv/riscv.cc: (struct riscv_tune_param): Add
6369            fmv_cost.
6370          (rocket_tune_info): Add default fmv_cost 8.
6371          (sifive_7_tune_info): Ditto.
6372          (thead_c906_tune_info): Ditto.
6373          (optimize_size_tune_info): Ditto.
6374          (riscv_register_move_cost): Use fmv_cost for int<->fp moves.
6375
63762022-05-30  Martin Jambor  <mjambor@suse.cz>
6377
6378          Backported from master:
6379          2022-05-27  Martin Jambor  <mjambor@suse.cz>
6380
6381          PR ipa/105639
6382          * ipa-prop.cc (propagate_controlled_uses): Check type of the
6383          constant before adding a LOAD reference.
6384
63852022-05-30  Jakub Jelinek  <jakub@redhat.com>
6386
6387          Backported from master:
6388          2022-05-27  Jakub Jelinek  <jakub@redhat.com>
6389
6390          PR sanitizer/105729
6391          * fold-const.cc (fold_unary_loc): Don't optimize (X &) ((Y *) z + w)
6392          to (X &) z + w if -fsanitize=null during GENERIC folding.
6393
63942022-05-30  Jakub Jelinek  <jakub@redhat.com>
6395
6396          Backported from master:
6397          2022-05-25  Jakub Jelinek  <jakub@redhat.com>
6398
6399          PR sanitizer/105714
6400          * asan.cc (has_stmt_been_instrumented_p): For assignments which
6401          are both stores and loads, return true only if both destination
6402          and source have been instrumented.
6403
64042022-05-30  Jakub Jelinek  <jakub@redhat.com>
6405
6406          Backported from master:
6407          2022-05-19  Jakub Jelinek  <jakub@redhat.com>
6408
6409          PR c/105635
6410          * pointer-query.cc (gimple_parm_array_size): Return NULL if var
6411          doesn't have pointer or reference type.
6412
64132022-05-26  Simon Cook  <simon.cook@embecosm.com>
6414
6415          Backported from master:
6416          2022-05-25  Simon Cook  <simon.cook@embecosm.com>
6417
6418          * config/riscv/arch-canonicalize: Only add mafd extension if
6419          base was rv32/rv64g.
6420
64212022-05-26  Kito Cheng  <kito.cheng@sifive.com>
6422
6423          Backported from master:
6424          2022-05-09  Kito Cheng  <kito.cheng@sifive.com>
6425
6426          * config/riscv/arch-canonicalize: Handle g correctly.
6427
64282022-05-24  Qing Zhao  <qing.zhao@oracle.com>
6429
6430          Backported from master:
6431          2022-05-09  Qing Zhao  <qing.zhao@oracle.com>
6432
6433          PR target/101891
6434          * config/i386/i386.cc (zero_call_used_regno_mode): use V2SImode
6435          as a generic MMX mode instead of V4HImode.
6436          (zero_all_mm_registers): Use SET to zero instead of MOV for
6437          zeroing scratch registers.
6438          (ix86_zero_call_used_regs): Likewise.
6439
64402022-05-24  Bruno Haible  <bruno@clisp.org>
6441
6442          Backported from master:
6443          2022-05-24  Bruno Haible  <bruno@clisp.org>
6444
6445          PR other/105527
6446          * doc/install.texi (Configuration): Add more details about --with-zstd.
6447          Document --with-zstd-include and --with-zstd-lib
6448
64492022-05-24  Martin Liska  <mliska@suse.cz>
6450
6451          Backported from master:
6452          2022-05-11  Martin Liska  <mliska@suse.cz>
6453
6454          PR other/105527
6455          * doc/install.texi: Document the configure option --with-zstd.
6456
64572022-05-20  Peter Bergner  <bergner@linux.ibm.com>
6458
6459          Backported from master:
6460          2022-05-18  Peter Bergner  <bergner@linux.ibm.com>
6461                        Segher Boessenkool  <segher@kernel.crashing.org>
6462
6463          PR target/105556
6464          * config/rs6000/mma.md (mma_<vv>, mma_<avv>, mma_<pv>, mma_<apv>,
6465          mma_<vvi4i4i8>, mma_<avvi4i4i8>, mma_<vvi4i4i2>, mma_<avvi4i4i2>,
6466          mma_<vvi4i4>, mma_<avvi4i4>, mma_<pvi4i2>, mma_<apvi4i2>,
6467          mma_<vvi4i4i4>, mma_<avvi4i4i4>): Replace "wa" constraints with "v,?wa".
6468          Update other operands accordingly.
6469
64702022-05-20  Richard Biener  <rguenther@suse.de>
6471
6472          Backported from master:
6473          2022-05-04  Richard Biener  <rguenther@suse.de>
6474
6475          PR tree-optimization/103116
6476          * tree-vect-stmts.cc (get_group_load_store_type): Handle the
6477          case we need peeling for gaps even though GROUP_GAP is zero.
6478
64792022-05-19  Richard Biener  <rguenther@suse.de>
6480
6481          Backported from master:
6482          2022-05-17  Richard Biener  <rguenther@suse.de>
6483
6484          PR tree-optimization/105618
6485          * tree-ssa-sink.cc (statement_sink_location): For virtual
6486          PHI uses ignore those defining the used virtual operand.
6487
64882022-05-19  Richard Biener  <rguenther@suse.de>
6489
6490          Backported from master:
6491          2022-05-12  Richard Biener  <rguenther@suse.de>
6492
6493          PR rtl-optimization/105577
6494          * dse.cc (rest_of_handle_dse): Make sure to purge dead EH
6495          edges before running fast DCE via df_analyze.
6496
64972022-05-19  Richard Biener  <rguenther@suse.de>
6498
6499          Backported from master:
6500          2022-05-12  Richard Biener  <rguenther@suse.de>
6501
6502          PR tree-optimization/105562
6503          * tree-ssa-sccvn.cc (vn_reference_lookup_3): Disambiguate
6504          against all CLOBBER defs if there's not an obvious must-alias
6505          and we are not doing redundant store elimination.
6506          (vn_walk_cb_data::redundant_store_removal_p): New field.
6507          (vn_reference_lookup_pieces): Initialize it.
6508          (vn_reference_lookup): Add argument to specify if we are
6509          doing redundant store removal.
6510          (eliminate_dom_walker::eliminate_stmt): Specify we do.
6511          * tree-ssa-sccvn.h (vn_reference_lookup): Adjust.
6512
65132022-05-19  Richard Biener  <rguenther@suse.de>
6514
6515          Backported from master:
6516          2022-05-11  Richard Biener  <rguenther@suse.de>
6517
6518          PR rtl-optimization/105559
6519          * cfgrtl.cc (delete_insn_and_edges): Only perform search to BB_END
6520          for non-debug insns.
6521
65222022-05-19  Richard Biener  <rguenther@suse.de>
6523
6524          Backported from master:
6525          2022-05-10  Richard Biener  <rguenther@suse.de>
6526
6527          PR middle-end/105537
6528          * toplev.cc (process_options): Move flag_var_tracking
6529          handling ...
6530          * opts.cc (finish_options): ... here.
6531
65322022-05-19  Richard Biener  <rguenther@suse.de>
6533
6534          Backported from master:
6535          2022-05-10  Richard Biener  <rguenther@suse.de>
6536
6537          * flags.h (dwarf_debuginfo_p): Add opts argument, guard
6538          API with !GENERATOR_FILE.
6539          * opts.cc (global_options): Poison.
6540          (global_options_set): Likewise.
6541          (finish_options): Refer to options via opts.
6542
65432022-05-19  Richard Biener  <rguenther@suse.de>
6544
6545          Backported from master:
6546          2022-04-29  Richard Biener  <rguenther@suse.de>
6547
6548          PR tree-optimization/105431
6549          * tree-ssa-math-opts.cc (powi_as_mults_1): Make n unsigned.
6550          (powi_as_mults): Use absu_hwi.
6551          (gimple_expand_builtin_powi): Remove now pointless n != -n
6552          check.
6553
65542022-05-18  Andrew MacLeod  <amacleod@redhat.com>
6555
6556          PR tree-optimization/105458
6557          * value-relation.cc (path_oracle::register_relation): Merge, then check
6558          for equivalence.
6559
65602022-05-16  Sebastian Pop  <spop@amazon.com>
6561
6562          PR target/105162
6563          * config/aarch64/aarch64-protos.h (atomic_ool_names): Increase dimension
6564          of str array.
6565          * config/aarch64/aarch64.cc (aarch64_atomic_ool_func): Call
6566          memmodel_from_int and handle MEMMODEL_SYNC_*.
6567          (DEF0): Add __aarch64_*_sync functions.
6568
65692022-05-16  Eric Botcazou  <ebotcazou@adacore.com>
6570
6571          * dwarf2out.cc (loc_list_from_tree_1) <TRUTH_NOT_EXPR>: Do a logical
6572          instead of a bitwise negation.
6573          <COND_EXPR>: Swap the operands if the condition is TRUTH_NOT_EXPR.
6574
65752022-05-13  Eric Botcazou  <ebotcazou@adacore.com>
6576
6577          * tree-sra.cc (sra_modify_assign): Check that scalar storage order
6578          is the same on the LHS and RHS before rewriting one with the model
6579          of the other.
6580
65812022-05-13  Alexandre Oliva  <oliva@adacore.com>
6582
6583          Backported from master:
6584          2022-05-13  Alexandre Oliva  <oliva@adacore.com>
6585
6586          PR rtl-optimization/105455
6587          * gimple-harden-conditionals.cc (insert_check_and_trap): Set
6588          probabilities for newly-conditional edges.
6589
65902022-05-11  Martin Jambor  <mjambor@suse.cz>
6591
6592          Backported from master:
6593          2022-04-29  Martin Jambor  <mjambor@suse.cz>
6594
6595          PR ipa/100413
6596          * cgraph.cc (cgraph_node::remove): Release body of the node this
6597          is clone_of if appropriate.
6598
65992022-05-10  Jakub Jelinek  <jakub@redhat.com>
6600
6601          Backported from master:
6602          2022-05-10  Jakub Jelinek  <jakub@redhat.com>
6603
6604          PR tree-optimization/105528
6605          * gimple-isel.cc (gimple_expand_vec_set_expr): After gsi_remove
6606          set *gsi to gsi_for_stmt (ass_stmt).  Fix up function comment.
6607
66082022-05-10  Eric Botcazou  <ebotcazou@adacore.com>
6609
6610          PR target/105292
6611          * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Return
6612          true only for 8-byte vector modes.
6613
66142022-05-06  Michael Meissner  <meissner@linux.ibm.com>
6615
6616          Backported from master:
6617          2022-05-06   Michael Meissner  <meissner@linux.ibm.com>
6618
6619          PR target/102059
6620          * config/rs6000/rs6000.cc (rs6000_can_inline_p): Ignore -mpower8-fusion
6621          and -mpower10-fusion options for inlining purposes.
6622
66232022-05-06  Richard Biener  <rguenther@suse.de>
6624
6625          Backported from master:
6626          2022-04-29  Richard Biener  <rguenther@suse.de>
6627
6628          PR middle-end/105376
6629          * tree.cc (build_real): Special case dconst* arguments
6630          for decimal floating point types.
6631
66322022-05-06  Richard Biener  <rguenther@suse.de>
6633
6634          Backported from master:
6635          2022-05-05  Richard Biener  <rguenther@suse.de>
6636
6637          PR tree-optimization/105484
6638          * gimple-isel.cc (gimple_expand_vec_set_expr): Clean EH, return
6639          whether the CFG changed.
6640          (gimple_expand_vec_exprs): When the CFG changed, clean it up.
6641
66422022-05-06  Richard Biener  <rguenther@suse.de>
6643
6644          Backported from master:
6645          2022-05-03  Richard Biener  <rguenther@suse.de>
6646
6647          PR middle-end/105461
6648          * opts.cc (finish_options): Match the condition to
6649          disable flag_var_tracking to that of process_options.
6650
66512022-05-06  Richard Biener  <rguenther@suse.de>
6652
6653          Backported from master:
6654          2022-05-03  Richard Biener  <rguenther@suse.de>
6655
6656          * opts.cc: #undef OPTIONS_SET_P.
6657          (finish_options): Use opts_set instead of OPTIONS_SET_P.
6658
66592022-05-06  Richard Biener  <rguenther@suse.de>
6660
6661          Backported from master:
6662          2022-05-02  Richard Biener  <rguenther@suse.de>
6663
6664          PR tree-optimization/105437
6665          * tree-vect-slp.cc (vect_schedule_slp_node): Handle the
6666          case where last_stmt alters control flow.
6667
66682022-05-06  Richard Biener  <rguenther@suse.de>
6669
6670          Backported from master:
6671          2022-05-03  Richard Biener  <rguenther@suse.de>
6672
6673          PR tree-optimization/105394
6674          * tree-vect-generic.cc (expand_vector_condition): Adjust
6675          comp_width for non-integer mode masks as well.
6676
66772022-05-06  Release Manager
6678
6679          * GCC 12.1.0 released.
6680
66812022-05-02  Jakub Jelinek  <jakub@redhat.com>
6682
6683          Backported from master:
6684          2022-05-02  Jakub Jelinek  <jakub@redhat.com>
6685
6686          * system.h: Include initializer_list.
6687
66882022-04-28  Jakub Jelinek  <jakub@redhat.com>
6689
6690          PR lto/105399
6691          * cgraph.cc (cgraph_node::verify_node): Don't verify
6692          semantic_interposition flag against
6693          opt_for_fn (decl, flag_semantic_interposition) for aliases in lto1.
6694
66952022-04-28  Jakub Jelinek  <jakub@redhat.com>
6696
6697          PR target/105331
6698          * config/i386/i386.cc (ix86_gimplify_va_arg): Mark va_arg_tmp
6699          temporary TREE_ADDRESSABLE before trying to gimplify ADDR_EXPR
6700          of it.
6701
67022022-04-28  Jonathan Wakely  <jwakely@redhat.com>
6703
6704          * doc/install.texi (Configuration): Remove misleading text
6705          around LE PowerPC Linux multilibs.
6706
67072022-04-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6708
6709          PR d/103528
6710          * doc/install.texi (Tools/packages necessary for building GCC)
6711          (GDC): Document libphobos requirement.
6712          (Host/target specific installation notes for GCC, *-*-solaris2*):
6713          Document libphobos and GDC specifics.
6714
67152022-04-28  Richard Biener  <rguenther@suse.de>
6716
6717          PR tree-optimization/105219
6718          * tree-vect-loop.cc (vect_transform_loop): Disable
6719          special code narrowing the vectorized epilogue max
6720          iterations when peeling for alignment or gaps was in effect.
6721
67222022-04-28  Xi Ruoyao  <xry111@mengyan1223.wang>
6723
6724          * config/loongarch/loongarch.cc
6725          (loongarch_flatten_aggregate_field): Ignore empty fields for
6726          RECORD_TYPE.
6727
67282022-04-27  Lulu Cheng  <chenglulu@loongson.cn>
6729
6730          * config/loongarch/loongarch.md: Add fdiv define_expand template,
6731          then generate floating-point division and floating-point reciprocal
6732          instructions.
6733
67342022-04-27  Lulu Cheng  <chenglulu@loongson.cn>
6735
6736          * config/loongarch/loongarch.md: Add '(clobber (mem:BLK (scratch)))'
6737          to PLV instruction templates.
6738
67392022-04-27  Richard Biener  <rguenther@suse.de>
6740
6741          PR middle-end/104492
6742          * gimple-ssa-warn-access.cc
6743          (pass_waccess::warn_invalid_pointer): Exclude equality compare
6744          diagnostics for all kind of invalidations.
6745          (pass_waccess::check_dangling_uses): Fix post-dominator query.
6746          (pass_waccess::check_pointer_uses): Likewise.
6747
67482022-04-27  Andreas Krebbel  <krebbel@linux.ibm.com>
6749
6750          PR target/102024
6751          * config/s390/s390-protos.h (s390_function_arg_vector): Remove
6752          prototype.
6753          * config/s390/s390.cc (s390_single_field_struct_p): New function.
6754          (s390_function_arg_vector): Invoke s390_single_field_struct_p.
6755          (s390_function_arg_float): Likewise.
6756
67572022-04-27  Jakub Jelinek  <jakub@redhat.com>
6758
6759          PR sanitizer/105396
6760          * asan.cc (asan_redzone_buffer::emit_redzone_byte): Handle the case
6761          where offset is bigger than off but smaller than m_prev_offset + 32
6762          bits by pushing one or more 0 bytes.  Sink the
6763          m_shadow_bytes.safe_push (value); flush_if_full (); statements from
6764          all cases to the end of the function.
6765
67662022-04-27  Kewen Lin  <linkw@linux.ibm.com>
6767
6768          PR target/105271
6769          * config/rs6000/rs6000-builtins.def (NEG_V2DI): Move to [power8-vector]
6770          stanza.
6771
67722022-04-26  Thomas Schwinge  <thomas@codesourcery.com>
6773
6774          * config/gcn/gcn.cc (gcn_print_lds_decl): Make "gang-private
6775          data-share memory exhausted" error more verbose.
6776
67772022-04-26  Martin Liska  <mliska@suse.cz>
6778
6779          PR lto/105364
6780          * lto-wrapper.cc (print_lto_docs_link): Use global_dc.
6781          (run_gcc): Parse OPT_fdiagnostics_urls_.
6782          (main): Initialize global_dc.
6783
67842022-04-26  Jakub Jelinek  <jakub@redhat.com>
6785
6786          PR rtl-optimization/105314
6787          * ifcvt.cc (noce_try_store_flag_mask): Don't require that the non-zero
6788          operand is equal to if_info->x, instead use the non-zero operand
6789          as one of the operands of AND with if_info->x as target.
6790
67912022-04-26  Jakub Jelinek  <jakub@redhat.com>
6792
6793          PR tree-optimization/105374
6794          * tree-ssa-reassoc.cc (eliminate_redundant_comparison): Punt if
6795          !fold_convertible_p rather than assuming fold_convert must succeed.
6796
67972022-04-26  Jakub Jelinek  <jakub@redhat.com>
6798
6799          PR target/105367
6800          * config/i386/i386.cc (ix86_veclibabi_svml, ix86_veclibabi_acml): Pass
6801          el_mode == DFmode ? double_type_node : float_type_node instead of
6802          TREE_TYPE (type_in) as first arguments to mathfn_built_in.
6803
68042022-04-25  David Malcolm  <dmalcolm@redhat.com>
6805
6806          PR analyzer/104308
6807          * gimple-fold.cc (gimple_fold_builtin_memory_op): Explicitly set
6808          the location of new_stmt in all places that don't already set it,
6809          whether explicitly, or via a call to gsi_replace.
6810
68112022-04-25  Paul A. Clarke  <pc@us.ibm.com>
6812
6813          * doc/extend.texi (Other Builtins): Correct reference to 'modff'.
6814
68152022-04-25  Andrew MacLeod  <amacleod@redhat.com>
6816
6817          PR tree-optimization/105276
6818          * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Include
6819          existing global range with calculated value.
6820
68212022-04-25  Richard Biener  <rguenther@suse.de>
6822
6823          PR tree-optimization/105368
6824          * tree-ssa-math-opts.cc (powi_cost): Use absu_hwi.
6825
68262022-04-25  Richard Biener  <rguenther@suse.de>
6827
6828          PR tree-optimization/100810
6829          * tree-ssa-loop-ivopts.cc (struct iv_cand): Add involves_undefs flag.
6830          (find_ssa_undef): New function.
6831          (add_candidate_1): Avoid adding derived candidates with
6832          undefined SSA names and mark the original ones.
6833          (determine_group_iv_cost_generic): Reject rewriting
6834          uses with a different IV when that involves undefined SSA names.
6835
68362022-04-25  Steven G. Kargl  <kargl@gcc.gnu.org>
6837
6838          PR target/89125
6839          * config/freebsd.h: Define TARGET_LIBC_HAS_FUNCTION to be
6840          bsd_libc_has_function.
6841          * targhooks.cc (bsd_libc_has_function): New function.
6842          Expand the supported math functions to inclue C99 libm.
6843          * targhooks.h (bsd_libc_has_function): New Prototype.
6844
68452022-04-25  Richard Biener  <rguenther@suse.de>
6846
6847          PR rtl-optimization/105231
6848          * combine.cc (distribute_notes): Assert that a REG_EH_REGION
6849          with landing pad > 0 is from i3.  Put any REG_EH_REGION note
6850          on i3 or drop it if the insn can not trap.
6851          (try_combine): Ensure that we can merge REG_EH_REGION notes
6852          with non-call exceptions.  Ensure we are not splitting a
6853          trapping part of an insn with non-call exceptions when there
6854          is any REG_EH_REGION note to preserve.
6855
68562022-04-25  Hongyu Wang  <hongyu.wang@intel.com>
6857
6858          PR target/105339
6859          * config/i386/avx512fintrin.h (_mm512_scalef_round_pd):
6860          Add parentheses for parameters and djust format.
6861          (_mm512_mask_scalef_round_pd): Ditto.
6862          (_mm512_maskz_scalef_round_pd): Ditto.
6863          (_mm512_scalef_round_ps): Ditto.
6864          (_mm512_mask_scalef_round_ps): Ditto.
6865          (_mm512_maskz_scalef_round_ps): Ditto.
6866          (_mm_scalef_round_sd): Use _mm_undefined_pd.
6867          (_mm_scalef_round_ss): Use _mm_undefined_ps.
6868          (_mm_mask_scalef_round_sd): New macro.
6869          (_mm_mask_scalef_round_ss): Ditto.
6870          (_mm_maskz_scalef_round_sd): Ditto.
6871          (_mm_maskz_scalef_round_ss): Ditto.
6872
68732022-04-23  Jakub Jelinek  <jakub@redhat.com>
6874
6875          PR target/105338
6876          * config/i386/i386-expand.cc (ix86_expand_int_movcc): Handle
6877          op0 == cst1 ? op0 : op3 like op0 == cst1 ? cst1 : op3 for the non-cmov
6878          cases.
6879
68802022-04-22  Segher Boessenkool  <segher@kernel.crashing.org>
6881
6882          PR target/105334
6883          * config/rs6000/rs6000.md (pack<mode> for FMOVE128): New expander.
6884          (pack<mode> for FMOVE128): Rename and split the insn_and_split to...
6885          (pack<mode>_hard for FMOVE128): ... this...
6886          (pack<mode>_soft for FMOVE128): ... and this.
6887
68882022-04-22  Paul A. Clarke  <pc@us.ibm.com>
6889
6890          * doc/extend.texi: Correct "This" to "These".
6891
68922022-04-22  Jakub Jelinek  <jakub@redhat.com>
6893
6894          PR rtl-optimization/105333
6895          * rtlanal.cc (replace_rtx): Use simplify_subreg or
6896          simplify_unary_operation if CONST_SCALAR_INT_P rather than just
6897          CONST_INT_P.
6898
68992022-04-21  Segher Boessenkool  <segher@kernel.crashing.org>
6900
6901          PR target/103197
6902          PR target/102146
6903          * config/rs6000/rs6000.md (zero_extendqi<mode>2 for EXTQI): Disparage
6904          the "Z" alternatives in {l,st}{f,xs}iwzx.
6905          (zero_extendhi<mode>2 for EXTHI): Ditto.
6906          (zero_extendsi<mode>2 for EXTSI): Ditto.
6907          (*movsi_internal1): Ditto.
6908          (*mov<mode>_internal1 for QHI): Ditto.
6909          (movsd_hardfloat): Ditto.
6910
69112022-04-21  Martin Liska  <mliska@suse.cz>
6912
6913          * configure.ac: Enable compressed debug sections for mold
6914          linker.
6915          * configure: Regenerate.
6916
69172022-04-21  Jakub Jelinek  <jakub@redhat.com>
6918
6919          PR debug/105203
6920          * emit-rtl.cc (emit_copy_of_insn_after): Don't call mark_jump_label
6921          on DEBUG_INSNs.
6922
69232022-04-20  Richard Biener  <rguenther@suse.de>
6924
6925          PR tree-optimization/104912
6926          * tree-vect-loop-manip.cc (vect_loop_versioning): Split
6927          the cost model check to a separate BB to make sure it is
6928          checked first and not combined with other version checks.
6929
69302022-04-20  Richard Biener  <rguenther@suse.de>
6931
6932          PR tree-optimization/105312
6933          * gimple-isel.cc (gimple_expand_vec_cond_expr): Query both
6934          VCOND and VCONDU for EQ and NE.
6935
69362022-04-20  Jan Hubicka  <hubicka@ucw.cz>
6937
6938          PR ipa/103818
6939          * ipa-modref-tree.cc (modref_access_node::closer_pair_p): Use
6940          poly_offset_int to avoid overflow.
6941          (modref_access_node::update2): likewise.
6942
69432022-04-20  Jakub Jelinek  <jakub@redhat.com>
6944
6945          PR ipa/105306
6946          * cgraph.cc (cgraph_node::create): Set node->semantic_interposition
6947          to opt_for_fn (decl, flag_semantic_interposition).
6948          * cgraphclones.cc (cgraph_node::create_clone): Copy over
6949          semantic_interposition flag.
6950
69512022-04-19  Sergei Trofimovich  <siarheit@google.com>
6952
6953          PR gcov-profile/105282
6954          * value-prof.cc (stream_out_histogram_value): Allow negative counts
6955          on HIST_TYPE_INDIR_CALL.
6956
69572022-04-19  Jakub Jelinek  <jakub@redhat.com>
6958
6959          PR target/105257
6960          * config/sparc/sparc.cc (epilogue_renumber): If ORIGINAL_REGNO,
6961          use gen_raw_REG instead of gen_rtx_REG and copy over also
6962          ORIGINAL_REGNO.  Use return 0; instead of /* fallthrough */.
6963
69642022-04-19  Richard Biener  <rguenther@suse.de>
6965
6966          PR tree-optimization/104010
6967          PR tree-optimization/103941
6968          * tree-vect-slp.cc (vect_bb_slp_scalar_cost): When
6969          we run into stmts in patterns continue walking those
6970          for uses outside of the vectorized region instead of
6971          marking the lane live.
6972
69732022-04-18  Hans-Peter Nilsson  <hp@axis.com>
6974
6975          * doc/install.texi <CRIS>: Remove references to removed websites and
6976          adjust for cris-*-elf being the only remaining toolchain.
6977
69782022-04-18  Hans-Peter Nilsson  <hp@axis.com>
6979
6980          * doc/invoke.texi <CRIS>: Remove references to options for removed
6981          subtarget cris-axis-linux-gnu and tweak wording accordingly.
6982
69832022-04-16  Gerald Pfeifer  <gerald@pfeifer.com>
6984
6985          * doc/install.texi (Specific): Adjust mingw-w64 download link.
6986
69872022-04-15  Hongyu Wang  <hongyu.wang@intel.com>
6988
6989          * config/i386/smmintrin.h: Correct target pragma from sse4.1
6990          and sse4.2 to crc32 for crc32 intrinsics.
6991
69922022-04-14  Indu Bhagat  <indu.bhagat@oracle.com>
6993
6994          PR debug/105089
6995          * ctfc.cc (ctf_dvd_ignore_insert): New function.
6996          (ctf_dvd_ignore_lookup): Likewise.
6997          (ctf_add_variable): Keep track of non-defining decl DIEs.
6998          (new_ctf_container): Initialize the new hash-table.
6999          (ctfc_delete_container): Empty hash-table.
7000          * ctfc.h (struct ctf_container): Add new hash-table.
7001          (ctf_dvd_ignore_lookup): New declaration.
7002          (ctf_add_variable): Add additional argument.
7003          * ctfout.cc (ctf_dvd_preprocess_cb): Skip adding CTF variable
7004          record for non-defining decl for which a defining decl exists
7005          in the same TU.
7006          (ctf_preprocess): Defer updating the number of global objts
7007          until here.
7008          (output_ctf_header): Use ctfc_vars_list_count as some CTF
7009          variables may not make it to the final output.
7010          (output_ctf_vars): Likewise.
7011          * dwarf2ctf.cc (gen_ctf_variable): Skip generating CTF variable
7012          if this is known to be a non-defining decl DIE.
7013
70142022-04-14  Indu Bhagat  <indu.bhagat@oracle.com>
7015
7016          * ctfc.h (struct ctf_container): Introduce a new member.
7017          * ctfout.cc (ctf_list_add_ctf_vars): Use it instead of static
7018          variable.
7019
70202022-04-14  Jakub Jelinek  <jakub@redhat.com>
7021
7022          PR target/105247
7023          * simplify-rtx.cc (simplify_const_binary_operation): For shifts
7024          or rotates by VOIDmode constant integer shift count use word_mode
7025          for the operand if int_mode is narrower than word.
7026
70272022-04-14  Robin Dapp  <rdapp@linux.ibm.com>
7028
7029          * config/s390/s390.cc (s390_get_sched_attrmask): Add z16.
7030          (s390_get_unit_mask): Likewise.
7031          (s390_is_fpd): Likewise.
7032          (s390_is_fxd): Likewise.
7033          * config/s390/s390.h (s390_tune_attr): Set max tune level to z16.
7034          * config/s390/s390.md (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15):
7035          Add z16.
7036          (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15,z16):
7037          Likewise.
7038          * config/s390/3931.md: New file.
7039
70402022-04-13  Richard Sandiford  <richard.sandiford@arm.com>
7041
7042          PR tree-optimization/105254
7043          * config/aarch64/aarch64.cc
7044          (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
7045          loop_vec_info as argument.  Restrict the unroll factor to values
7046          that divide the VF.
7047          (aarch64_vector_costs::finish_cost): Update call accordingly.
7048
70492022-04-13  Richard Biener  <rguenther@suse.de>
7050
7051          PR tree-optimization/105263
7052          * tree-ssa-reassoc.cc (try_special_add_to_ops): Do not consume
7053          negates in multiplication chains with DFP.
7054
70552022-04-13  Jakub Jelinek  <jakub@redhat.com>
7056
7057          PR middle-end/105253
7058          * tree.cc (tree_builtin_call_types_compatible_p): If PROP_gimple,
7059          use useless_type_conversion_p checks instead of TYPE_MAIN_VARIANT
7060          comparisons or tree_nop_conversion_p checks.
7061
70622022-04-13  Hongyu Wang  <hongyu.wang@intel.com>
7063
7064          PR target/103069
7065          * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop):
7066            Add missing set to target_val at pause label.
7067
70682022-04-13  Jakub Jelinek  <jakub@redhat.com>
7069
7070          PR target/105234
7071          * attribs.cc (decl_attributes): Don't set
7072          DECL_FUNCTION_SPECIFIC_TARGET if target_option_default_node is
7073          NULL.
7074
70752022-04-13  Richard Biener  <rguenther@suse.de>
7076
7077          PR tree-optimization/105250
7078          * fold-const.cc (fold_convertible_p): Revert
7079          r12-7979-geaaf77dd85c333, instead check for size equality
7080          of the vector types involved.
7081
70822022-04-13  Richard Biener  <rguenther@suse.de>
7083
7084          Revert:
7085          2022-04-13  Richard Biener  <rguenther@suse.de>
7086
7087          PR tree-optimization/104912
7088          * tree-vect-loop-manip.cc (vect_loop_versioning): Split
7089          the cost model check to a separate BB to make sure it is
7090          checked first and not combined with other version checks.
7091
70922022-04-13  Richard Biener  <rguenther@suse.de>
7093
7094          PR tree-optimization/104912
7095          * tree-vect-loop-manip.cc (vect_loop_versioning): Split
7096          the cost model check to a separate BB to make sure it is
7097          checked first and not combined with other version checks.
7098
70992022-04-13  Jakub Jelinek  <jakub@redhat.com>
7100
7101          * tree-scalar-evolution.cc (expression_expensive_p): Fix a comment typo.
7102
71032022-04-12  Antoni Boucher  <bouanto@zoho.com>
7104
7105          PR jit/104072
7106          * reginfo.cc: New functions (clear_global_regs_cache,
7107          reginfo_cc_finalize) to avoid an issue where compiling the same
7108          code multiple times gives an error about assigning the same
7109          register to 2 global variables.
7110          * rtl.h: New function (reginfo_cc_finalize).
7111          * toplev.cc: Call it.
7112
71132022-04-12  Antoni Boucher  <bouanto@zoho.com>
7114
7115          PR jit/104071
7116          * toplev.cc: Call the new function tree_cc_finalize in
7117          toplev::finalize.
7118          * tree.cc: New functions (clear_nonstandard_integer_type_cache
7119          and tree_cc_finalize) to clear the cache of non-standard integer
7120          types to avoid having issues with some optimizations of
7121          bitcast where the SSA_NAME will have a size of a cached
7122          integer type that should have been invalidated, causing a
7123          comparison of integer constant to fail.
7124          * tree.h: New function (tree_cc_finalize).
7125
71262022-04-12  Thomas Schwinge  <thomas@codesourcery.com>
7127
7128          PR target/97348
7129          * config/nvptx/nvptx.h (ASM_SPEC): Don't set.
7130          * config/nvptx/nvptx.opt (misa): Adjust comment.
7131
71322022-04-12  Thomas Schwinge  <thomas@codesourcery.com>
7133
7134          Revert:
7135          2022-03-03  Tom de Vries  <tdevries@suse.de>
7136
7137          * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
7138
71392022-04-12  Thomas Schwinge  <thomas@codesourcery.com>
7140
7141          Revert:
7142          2022-03-31  Tom de Vries  <tdevries@suse.de>
7143
7144          * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
7145
71462022-04-12  Richard Biener  <rguenther@suse.de>
7147
7148          PR ipa/104303
7149          * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Do not
7150          include local escaped memory as obviously necessary stores.
7151
71522022-04-12  Richard Biener  <rguenther@suse.de>
7153
7154          PR tree-optimization/105235
7155          * tree-ssa-math-opts.cc (execute_cse_conv_1): Clean EH and
7156          return whether the CFG changed.
7157          (execute_cse_sincos_1): Adjust.
7158
71592022-04-12  Przemyslaw Wirkus  <Przemyslaw.Wirkus@arm.com>
7160
7161          PR target/104144
7162          * config/arm/t-aprofile (MULTI_ARCH_OPTS_A): Remove Armv9-a options.
7163          (MULTI_ARCH_DIRS_A): Remove Armv9-a diretories.
7164          (MULTILIB_REQUIRED): Don't require Armv9-a libraries.
7165          (MULTILIB_MATCHES): Treat Armv9-a as equivalent to Armv8-a.
7166          (MULTILIB_REUSE): Remove remap rules for Armv9-a.
7167          * config/arm/t-multilib (v9_a_nosimd_variants): Delete.
7168          (MULTILIB_MATCHES): Remove mappings for v9_a_nosimd_variants.
7169
71702022-04-12  Richard Biener  <rguenther@suse.de>
7171
7172          PR tree-optimization/105232
7173          * tree.cc (component_ref_size): Bail out for too large
7174          or non-constant sizes.
7175
71762022-04-12  Richard Biener  <rguenther@suse.de>
7177
7178          PR tree-optimization/105226
7179          * tree-vect-loop-manip.cc (vect_loop_versioning): Verify
7180          we can split the exit of an outer loop we choose to version.
7181
71822022-04-12  Jakub Jelinek  <jakub@redhat.com>
7183
7184          * config/i386/i386-expand.cc (ix86_emit_i387_sinh, ix86_emit_i387_cosh,
7185          ix86_emit_i387_tanh, ix86_emit_i387_asinh, ix86_emit_i387_acosh,
7186          ix86_emit_i387_atanh, ix86_emit_i387_log1p, ix86_emit_i387_round,
7187          ix86_emit_swdivsf, ix86_emit_swsqrtsf,
7188          ix86_expand_atomic_fetch_op_loop, ix86_expand_cmpxchg_loop):
7189          Formatting fix.
7190          * config/i386/i386.cc (warn_once_call_ms2sysv_xlogues): Likewise.
7191
71922022-04-12  Jakub Jelinek  <jakub@redhat.com>
7193
7194          PR target/105214
7195          * config/i386/i386-expand.cc (ix86_emit_i387_log1p): Call
7196          do_pending_stack_adjust.
7197
71982022-04-12  Jakub Jelinek  <jakub@redhat.com>
7199
7200          PR rtl-optimization/105211
7201          * builtins.cc (expand_builtin_int_roundingfn_2): If mathfn_built_in_1
7202          fails for TREE_TYPE (arg), retry it with
7203          TREE_VALUE (TYPE_ARG_TYPES (TREE_TYPE (fndecl))) and if even that
7204          fails, emit call normally.
7205
72062022-04-12  Andreas Krebbel  <krebbel@linux.ibm.com>
7207
7208          * common/config/s390/s390-common.cc: Rename PF_ARCH14 to PF_Z16.
7209          * config.gcc: Add z16 as march/mtune switch.
7210          * config/s390/driver-native.cc (s390_host_detect_local_cpu):
7211          Recognize z16 with -march=native.
7212          * config/s390/s390-opts.h (enum processor_type): Rename
7213          PROCESSOR_ARCH14 to PROCESSOR_3931_Z16.
7214          * config/s390/s390.cc (PROCESSOR_ARCH14): Rename to ...
7215          (PROCESSOR_3931_Z16): ... throughout the file.
7216          (s390_processor processor_table): Add z16 as cpu string.
7217          * config/s390/s390.h (enum processor_flags): Rename PF_ARCH14 to
7218          PF_Z16.
7219          (TARGET_CPU_ARCH14): Rename to ...
7220          (TARGET_CPU_Z16): ... this.
7221          (TARGET_CPU_ARCH14_P): Rename to ...
7222          (TARGET_CPU_Z16_P): ... this.
7223          (TARGET_ARCH14): Rename to ...
7224          (TARGET_Z16): ... this.
7225          (TARGET_ARCH14_P): Rename to ...
7226          (TARGET_Z16_P): ... this.
7227          * config/s390/s390.md (cpu_facility): Rename arch14 to z16 and
7228          check TARGET_Z16 instead of TARGET_ARCH14.
7229          * config/s390/s390.opt: Add z16 to processor_type.
7230          * doc/invoke.texi: Document z16 and arch14.
7231
72322022-04-12  chenglulu  <chenglulu@loongson.cn>
7233
7234          * config/loongarch/loongarch.cc: Fix bug for
7235          tmpdir-g++.dg-struct-layout-1/t033.
7236
72372022-04-11  Peter Bergner  <bergner@linux.ibm.com>
7238
7239          PR target/104894
7240          * config/rs6000/rs6000.cc (rs6000_sibcall_aix): Handle pcrel sibcalls
7241          to longcall functions.
7242
72432022-04-11  Jason Merrill  <jason@redhat.com>
7244
7245          * ipa-free-lang-data.cc (free_lang_data_in_decl): Fix typos.
7246
72472022-04-11  Segher Boessenkool  <segher@kernel.crashing.org>
7248
7249          PR target/105213
7250          PR target/103623
7251          * config/rs6000/rs6000.md (unpack<mode>_nodm): Add m,r,i alternative.
7252
72532022-04-11  Jakub Jelinek  <jakub@redhat.com>
7254
7255          PR tree-optimization/105218
7256          * tree-ssa-phiopt.cc (value_replacement): If middle_bb has
7257          more than one predecessor or phi's bb more than 2 predecessors,
7258          reset phi result uses instead of adding a debug temp.
7259
72602022-04-11  Kito Cheng  <kito.cheng@sifive.com>
7261
7262          PR target/104853
7263          * config.gcc: Pass -misa-spec to arch-canonicalize and
7264          multilib-generator.
7265          * config/riscv/arch-canonicalize: Adding -misa-spec option.
7266          (SUPPORTED_ISA_SPEC): New.
7267          (arch_canonicalize): New argument `isa_spec`.
7268          Handle multiple ISA spec versions.
7269          * config/riscv/multilib-generator: Adding -misa-spec option.
7270
72712022-04-11  Kito Cheng  <kito.cheng@sifive.com>
7272
7273          * config/riscv/arch-canonicalize: Add TODO item.
7274          (IMPLIED_EXT): Sync.
7275          (arch_canonicalize): Checking until no change.
7276
72772022-04-11  Tamar Christina  <tamar.christina@arm.com>
7278
7279          PR target/105197
7280          * tree-vect-stmts.cc (vectorizable_condition): Prevent cond swap when
7281          not masked.
7282
72832022-04-11  Jason Merrill  <jason@redhat.com>
7284
7285          PR c++/100370
7286          * pointer-query.cc (compute_objsize_r) [POINTER_PLUS_EXPR]: Require
7287          deref == -1.
7288
72892022-04-11  Jakub Jelinek  <jakub@redhat.com>
7290
7291          PR tree-optimization/104639
7292          * tree-ssa-phiopt.cc: Include tree-ssa-propagate.h.
7293          (value_replacement): Optimize (x != cst1 ? x : cst2) != cst3
7294          into x != cst3.
7295
72962022-04-11  Jeff Law  <jeffreyalaw@gmail.com>
7297
7298          * config/bfin/bfin.md (rol_one): Fix pattern to indicate the
7299          sign bit of the source ends up in CC.
7300
73012022-04-09  Jan Hubicka  <hubicka@ucw.cz>
7302
7303          PR ipa/103376
7304          * cgraphunit.cc (cgraph_node::analyze): update semantic_interposition
7305          flag.
7306
73072022-04-09  Jan Hubicka  <hubicka@ucw.cz>
7308
7309          * ipa-modref.cc (ipa_merge_modref_summary_after_inlining): Propagate
7310          nondeterministic and side_effects flags.
7311
73122022-04-08  Andre Vieira  <andre.simoesdiasvieira@arm.com>
7313
7314          PR target/105157
7315          * config.gcc: Shift ext_mask by TARGET_CPU_NBITS.
7316          * config/aarch64/aarch64.h (TARGET_CPU_NBITS): New macro.
7317          (TARGET_CPU_MASK): Likewise.
7318          (TARGET_CPU_DEFAULT): Use TARGET_CPU_NBITS.
7319          * config/aarch64/aarch64.cc (aarch64_get_tune_cpu): Use TARGET_CPU_MASK.
7320          (aarch64_get_arch): Likewise.
7321          (aarch64_override_options): Use TARGET_CPU_NBITS.
7322
73232022-04-08  Richard Biener  <rguenther@suse.de>
7324
7325          PR tree-optimization/105198
7326          * tree-predcom.cc (find_looparound_phi): Check whether
7327          the found memory location of the entry value is clobbered
7328          inbetween the value we want to use and loop entry.
7329
73302022-04-08  Jakub Jelinek  <jakub@redhat.com>
7331
7332          PR tree-optimization/105189
7333          * fold-const.cc (make_range_step): Fix up handling of
7334          (unsigned) x +[low, -] ranges for signed x if low fits into
7335          typeof (x).
7336
73372022-04-08  Richard Biener  <rguenther@suse.de>
7338
7339          PR tree-optimization/105175
7340          * tree-vect-stmts.cc (vectorizable_operation): Suppress
7341          -Wvector-operation-performance if using emulated vectors.
7342          * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
7343          -Wvector-operation-performance when suppressed.
7344          (expand_vector_parallel): Likewise.
7345          (expand_vector_comparison): Likewise.
7346          (expand_vector_condition): Likewise.
7347          (lower_vec_perm): Likewise.
7348          (expand_vector_conversion): Likewise.
7349
73502022-04-07  Tamar Christina  <tamar.christina@arm.com>
7351
7352          PR target/104409
7353          * config/aarch64/aarch64-builtins.cc (handle_arm_acle_h): New.
7354          (aarch64_general_init_builtins): Move LS64 code.
7355          * config/aarch64/aarch64-c.cc (aarch64_pragma_aarch64): Support
7356          arm_acle.h
7357          * config/aarch64/aarch64-protos.h (handle_arm_acle_h): New.
7358          * config/aarch64/arm_acle.h: Add pragma GCC aarch64 "arm_acle.h".
7359
73602022-04-07  Richard Biener  <rguenther@suse.de>
7361              Jan Hubicka  <hubicka@ucw.cz>
7362
7363          PR ipa/104303
7364          * tree-ssa-alias.h (ptr_deref_may_alias_global_p,
7365          ref_may_alias_global_p, ref_may_alias_global_p,
7366          stmt_may_clobber_global_p, pt_solution_includes_global): Add
7367          bool parameters indicating whether escaped locals should be
7368          considered global.
7369          * tree-ssa-structalias.cc (pt_solution_includes_global):
7370          When the new escaped_nonlocal_p flag is true also consider
7371          pt->vars_contains_escaped.
7372          * tree-ssa-alias.cc (ptr_deref_may_alias_global_p):
7373          Pass down new escaped_nonlocal_p flag.
7374          (ref_may_alias_global_p): Likewise.
7375          (stmt_may_clobber_global_p): Likewise.
7376          (ref_may_alias_global_p_1): Likewise.  For decls also
7377          query the escaped solution if true.
7378          (ref_may_access_global_memory_p): Remove.
7379          (modref_may_conflict): Use ref_may_alias_global_p with
7380          escaped locals considered global.
7381          (ref_maybe_used_by_stmt_p): Adjust.
7382          * ipa-fnsummary.cc (points_to_local_or_readonly_memory_p):
7383          Likewise.
7384          * tree-ssa-dse.cc (dse_classify_store): Likewise.
7385          * trans-mem.cc (thread_private_new_memory): Likewise, but
7386          consider escaped locals global.
7387          * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Likewise.
7388
73892022-04-07  Richard Biener  <rguenther@suse.de>
7390
7391          PR tree-optimization/105185
7392          * tree-ssa-sccvn.cc (visit_reference_op_call): Simplify
7393          modref query again.
7394
73952022-04-07  Tamar Christina  <tamar.christina@arm.com>
7396
7397          PR target/104049
7398          * config/aarch64/aarch64-simd.md
7399          (aarch64_reduc_plus_internal<mode>): Fix RTL and rename to...
7400          (reduc_plus_scal_<mode>): ... This.
7401          (reduc_plus_scal_v4sf): Moved.
7402          (aarch64_reduc_plus_internalv2si): Fix RTL and rename to...
7403          (reduc_plus_scal_v2si): ... This.
7404
74052022-04-07  Jakub Jelinek  <jakub@redhat.com>
7406
7407          PR tree-optimization/102586
7408          * langhooks.h (struct lang_hooks_for_types): Add classtype_as_base
7409          langhook.
7410          * langhooks-def.h (LANG_HOOKS_CLASSTYPE_AS_BASE): Define.
7411          (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add it.
7412          * gimple-fold.cc (clear_padding_type): Use ftype instead of
7413          TREE_TYPE (field) some more.  For artificial FIELD_DECLs without
7414          name try the lang_hooks.types.classtype_as_base langhook and
7415          if it returns non-NULL, use that instead of ftype for recursive call.
7416
74172022-04-07  Jakub Jelinek  <jakub@redhat.com>
7418
7419          PR tree-optimization/105150
7420          * tree.cc (tree_builtin_call_types_compatible_p): New function.
7421          (get_call_combined_fn): Use it.
7422
74232022-04-07  Richard Biener  <rguenther@suse.de>
7424
7425          PR middle-end/105165
7426          * tree-complex.cc (expand_complex_asm): Sorry for asm goto
7427          _Complex outputs.
7428
74292022-04-07  liuhongt  <hongtao.liu@intel.com>
7430
7431          * config/i386/sse.md (<sse2_avx2>_andnot<mode>3_mask):
7432          Removed.
7433          (<sse>_andnot<mode>3<mask_name>): Disable V*HFmode patterns
7434          for mask_applied.
7435          (<code><mode>3<mask_name>): Ditto.
7436          (*<code><mode>3<mask_name>): Ditto.
7437          (VFB_128_256): Adjust condition of V8HF/V16HFmode according to
7438          real instruction.
7439          (VFB_512): Ditto.
7440          (VFB): Ditto.
7441
74422022-04-06  Jakub Jelinek  <jakub@redhat.com>
7443
7444          PR rtl-optimization/104985
7445          * combine.cc (struct undo): Add where.regno member.
7446          (do_SUBST_MODE): Rename to ...
7447          (subst_mode): ... this.  Change first argument from rtx * into int,
7448          operate on regno_reg_rtx[regno] and save regno into where.regno.
7449          (SUBST_MODE): Remove.
7450          (try_combine): Use subst_mode instead of SUBST_MODE, change first
7451          argument from regno_reg_rtx[whatever] to whatever.  For UNDO_MODE, use
7452          regno_reg_rtx[undo->where.regno] instead of *undo->where.r.
7453          (undo_to_marker): For UNDO_MODE, use regno_reg_rtx[undo->where.regno]
7454          instead of *undo->where.r.
7455          (simplify_set): Use subst_mode instead of SUBST_MODE, change first
7456          argument from regno_reg_rtx[whatever] to whatever.
7457
74582022-04-06  Jakub Jelinek  <jakub@redhat.com>
7459
7460          PR target/105069
7461          * config/sh/sh.opt (mdiv=): Add Save.
7462
74632022-04-06  Martin Liska  <mliska@suse.cz>
7464
7465          PR driver/105096
7466          * common.opt: Document properly based on what it does.
7467          * gcc.cc (display_help): Unify with what we have in common.opt.
7468          * opts.cc (common_handle_option): Do not print undocumented
7469          options.
7470
74712022-04-06  Xi Ruoyao  <xry111@mengyan1223.wang>
7472
7473          * config/mips/mips.cc (mips_fpr_return_fields): Ignore
7474          cxx17_empty_base_field_p fields and set an indicator.
7475          (mips_return_in_msb): Adjust for mips_fpr_return_fields change.
7476          (mips_function_value_1): Inform psABI change about C++17 empty
7477          bases.
7478
74792022-04-06  Jakub Jelinek  <jakub@redhat.com>
7480
7481          PR tree-optimization/105150
7482          * gimple.cc (gimple_builtin_call_types_compatible_p): Use
7483          builtin_decl_explicit here...
7484          (gimple_call_builtin_p, gimple_call_combined_fn): ... rather than
7485          here.
7486
74872022-04-06  Richard Biener  <rguenther@suse.de>
7488
7489          PR tree-optimization/105173
7490          * tree-ssa-reassoc.cc (find_insert_point): Get extra
7491          insert_before output argument and compute it.
7492          (insert_stmt_before_use): Adjust.
7493          (rewrite_expr_tree): Likewise.
7494
74952022-04-06  Richard Biener  <rguenther@suse.de>
7496
7497          PR ipa/105166
7498          * ipa-modref-tree.cc (modref_access_node::get_ao_ref ): Bail
7499          out for non-pointer arguments.
7500
75012022-04-06  Richard Biener  <rguenther@suse.de>
7502
7503          PR tree-optimization/105163
7504          * tree-ssa-reassoc.cc (repropagate_negates): Avoid propagating
7505          negated abnormals.
7506
75072022-04-06  Jakub Jelinek  <jakub@redhat.com>
7508
7509          PR tree-optimization/105150
7510          * gimple.cc (gimple_call_builtin_p, gimple_call_combined_fn):
7511          For BUILT_IN_NORMAL calls, call gimple_builtin_call_types_compatible_p
7512          preferrably on builtin_decl_explicit decl rather than fndecl.
7513          * tree-ssa-strlen.cc (valid_builtin_call): Don't call
7514          gimple_builtin_call_types_compatible_p here.
7515
75162022-04-06  Richard Sandiford  <richard.sandiford@arm.com>
7517
7518          PR tree-optimization/103761
7519          * tree-vect-stmts.cc (check_load_store_for_partial_vectors): Replace
7520          the ncopies parameter with an slp_node parameter.  Calculate the
7521          number of vectors based on it and vectype.  Rename lambda to
7522          group_memory_nvectors.
7523          (vectorizable_store, vectorizable_load): Update calls accordingly.
7524
75252022-04-06  Martin Liska  <mliska@suse.cz>
7526
7527          * doc/invoke.texi: Document it.
7528
75292022-04-06  Richard Biener  <rguenther@suse.de>
7530
7531          PR tree-optimization/105148
7532          * tree-ssa-loop-ivopts.cc (idx_record_use): Walk raw operands
7533          2 and 3 of ARRAY_REFs.
7534
75352022-04-06  Roger Sayle  <roger@nextmovesoftware.com>
7536
7537          * config/i386/sse.md (ANDNOT_MODE): New mode iterator for TF and V1TI.
7538          (*andnottf3): Replace with...
7539          (*andnot<mode>3): New define_insn using ANDNOT_MODE.
7540
75412022-04-06  Richard Biener  <rguenther@suse.de>
7542
7543          PR tree-optimization/105142
7544          * gimple-fold.h (maybe_fold_and_comparisons): Add defaulted
7545          basic-block parameter.
7546          (maybe_fold_or_comparisons): Likewise.
7547          * gimple-fold.cc (follow_outer_ssa_edges): New.
7548          (maybe_fold_comparisons_from_match_pd): Use follow_outer_ssa_edges
7549          when an outer condition basic-block is specified.
7550          (and_comparisons_1, and_var_with_comparison,
7551          and_var_with_comparison_1, or_comparisons_1,
7552          or_var_with_comparison, or_var_with_comparison_1): Receive and pass
7553          down the outer condition basic-block.
7554          * tree-ssa-ifcombine.cc (ifcombine_ifandif): Pass down the
7555          basic-block of the outer condition.
7556
75572022-04-06  Kewen Lin  <linkw@linux.ibm.com>
7558
7559          PR target/105002
7560          * config/rs6000/rs6000.cc (rs6000_maybe_emit_maxc_minc): Support more
7561          comparison codes UNLT/UNLE/UNGT/UNGE.
7562
75632022-04-05  David Malcolm  <dmalcolm@redhat.com>
7564
7565          * doc/extend.texi (Common Function Attributes): Document that
7566          'access' does not imply 'nonnull'.
7567
75682022-04-05  Uroš Bizjak  <ubizjak@gmail.com>
7569
7570          PR target/105139
7571          * config/i386/mmx.md (*movv2qi_internal):
7572          Change insn mode of alternative 5 to HF for TARGET_AVX512FP16.
7573
75742022-04-05  Richard Sandiford  <richard.sandiford@arm.com>
7575
7576          * config/aarch64/aarch64.md (aarch64_cpymemdi): Turn into a
7577          define_expand and turn operands 0 and 1 from REGs to MEMs.
7578          (*aarch64_cpymemdi): New pattern.
7579          (aarch64_setmemdi): Turn into a define_expand and turn operand 0
7580          from a REG to a MEM.
7581          (*aarch64_setmemdi): New pattern.
7582          * config/aarch64/aarch64.cc (aarch64_expand_cpymem_mops): Use
7583          copy_to_mode_reg on all three registers.  Replace the original
7584          MEM addresses rather than creating wild reads and writes.
7585          (aarch64_expand_setmem_mops): Likewise for the size and for the
7586          destination memory and address.
7587
75882022-04-05  Richard Sandiford  <richard.sandiford@arm.com>
7589
7590          PR target/103147
7591          * config/aarch64/aarch64-protos.h (aarch64_simd_switcher): New class.
7592          * config/aarch64/aarch64-sve-builtins.h (sve_switcher): Inherit
7593          from aarch64_simd_switcher.
7594          * config/aarch64/aarch64-builtins.cc (aarch64_simd_tuple_modes):
7595          New variable.
7596          (aarch64_lookup_simd_builtin_type): Use it instead of TYPE_MODE.
7597          (register_tuple_type): Add more asserts.  Expect the alignment
7598          of the structure to be subject to flag_pack_struct and
7599          maximum_field_alignment.  Set aarch64_simd_tuple_modes.
7600          (aarch64_simd_switcher::aarch64_simd_switcher): New function.
7601          (aarch64_simd_switcher::~aarch64_simd_switcher): Likewise.
7602          (handle_arm_neon_h): Hold an aarch64_simd_switcher throughout.
7603          (aarch64_general_init_builtins): Hold an aarch64_simd_switcher
7604          while calling aarch64_init_simd_builtins.
7605          * config/aarch64/aarch64-sve-builtins.cc (sve_switcher::sve_switcher)
7606          (sve_switcher::~sve_switcher): Remove code now performed by
7607          aarch64_simd_switcher.
7608
76092022-04-05  Richard Sandiford  <richard.sandiford@arm.com>
7610
7611          PR target/104897
7612          * config/aarch64/aarch64-sve-builtins.cc
7613          (function_resolver::infer_vector_or_tuple_type): Use error_n
7614          for "%d vectors" messages.
7615
76162022-04-05  Chung-Lin Tang  <cltang@codesourcery.com>
7617
7618          * omp-low.cc (lower_omp_target): Use outer context looked-up 'var' as
7619          argument to lang_hooks.decls.omp_array_data, instead of 'ovar' from
7620          current clause.
7621
76222022-04-05  Richard Biener  <rguenther@suse.de>
7623
7624          PR c/105151
7625          * passes.def (pass_walloca): Move early instance into
7626          pass_build_ssa_passes to make SSA form available.
7627
76282022-04-05  liuhongt  <hongtao.liu@intel.com>
7629
7630          PR target/101908
7631          * config/i386/i386.cc (ix86_split_stlf_stall_load): New
7632          function
7633          (ix86_reorg): Call ix86_split_stlf_stall_load.
7634          * config/i386/i386.opt (-param=x86-stlf-window-ninsns=): New
7635          param.
7636
76372022-04-05  Alexandre Oliva  <oliva@adacore.com>
7638
7639          * targhooks.cc (default_zero_call_used_regs): Attempt to group
7640          regs that the target refuses to use in their natural modes.
7641          (zcur_select_mode_rtx): New.
7642          * regs.h (struct target_regs): Add x_hard_regno_max_nregs.
7643          (hard_regno_max_nregs): Define.
7644          * reginfo.cc (init_reg_modes_target): Set hard_regno_max_nregs.
7645
76462022-04-04  Alex Coplan  <alex.coplan@arm.com>
7647
7648          * doc/match-and-simplify.texi: Fix typos.
7649
76502022-04-04  Jakub Jelinek  <jakub@redhat.com>
7651
7652          PR target/105144
7653          * config/aarch64/t-aarch64 (s-aarch64-tune-md): Do move-if-change
7654          only if configured with --enable-maintainer-mode, otherwise compare
7655          tmp-aarch64-tune.md with $(srcdir)/config/aarch64/aarch64-tune.md and
7656          if they differ, emit a message and fail.
7657
76582022-04-04  Jakub Jelinek  <jakub@redhat.com>
7659
7660          PR target/105144
7661          * config/aarch64/t-aarch64 (s-mddeps): Depend on s-aarch64-tune-md.
7662          * config/aarch64/aarch64-tune.md: Regenerated.
7663
76642022-04-04  Richard Biener  <rguenther@suse.de>
7665
7666          PR tree-optimization/105132
7667          * tree-vect-stmts.cc (vectorizable_operation): Check that
7668          the input vectors have the same number of elements.
7669
76702022-04-04  Richard Biener  <rguenther@suse.de>
7671
7672          PR middle-end/105140
7673          * fold-const.cc (fold_convertible_p): Allow a TYPE_P arg.
7674
76752022-04-03  Jeff Law  <jeffreyalaw@gmail.com>
7676
7677          PR target/104987
7678          * config/iq2000/iq2000.md (bbi): New attribute,  default to no.
7679          (delay slot descripts): Use different delay slot description when
7680          the insn as the "bbi" attribute.
7681          (bbi, bbin patterns): Set the bbi attribute to yes.
7682
76832022-04-03  Jakub Jelinek  <jakub@redhat.com>
7684
7685          PR target/105123
7686          * config/i386/i386-expand.cc (ix86_expand_vector_init_general): Avoid
7687          using word as target for expand_simple_binop when doing ASHIFT and
7688          IOR.
7689
76902022-04-02  Xi Ruoyao  <xry111@mengyan1223.wang>
7691
7692          * config/mips/mips.cc (mips_function_arg): Check if DECL_SIZE is
7693          NULL before dereferencing it.
7694
76952022-04-01  Qing Zhao  <qing.zhao@oracle.com>
7696
7697          * config/i386/i386.cc (zero_all_st_registers): Return the value of
7698          num_of_st.
7699          (ix86_zero_call_used_regs): Update zeroed_hardregs set according to
7700          the return value of zero_all_st_registers.
7701          * doc/tm.texi: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
7702          * function.cc (gen_call_used_regs_seq): Add an assertion.
7703          * target.def: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
7704
77052022-04-01  Xi Ruoyao  <xry111@mengyan1223.wang>
7706
7707          PR target/102024
7708          * config/mips/mips.cc (mips_function_arg): Ignore zero-width
7709          fields, and inform if it causes a psABI change.
7710
77112022-04-01  Xi Ruoyao  <xry111@mengyan1223.wang>
7712
7713          PR target/102024
7714          * config/mips/mips.cc (mips_fpr_return_fields): Detect C++
7715          zero-width bit-fields and set up an indicator.
7716          (mips_return_in_msb): Adapt for mips_fpr_return_fields change.
7717          (mips_function_value_1): Diagnose when the presense of a C++
7718          zero-width bit-field changes function returning in GCC 12.
7719
77202022-04-01  Jakub Jelinek  <jakub@redhat.com>
7721
7722          PR tree-optimization/104645
7723          * tree-ssa-phiopt.cc (value_replacement): If assign has
7724          CONVERT_EXPR_CODE_P rhs_code, treat it like a preparation
7725          statement with constant evaluation.
7726
77272022-04-01  YunQiang Su  <yunqiang.su@cipunited.com>
7728
7729          * config/mips/mips.cc (mips_expand_prologue):
7730            IPL is 8bit for MCU ASE.
7731
77322022-03-31  Bill Schmidt  <wschmidt@linux.ibm.com>
7733
7734          PR target/104004
7735          * config/rs6000/rs6000-builtins.def (MFFSL): Mark nosoft.
7736          (MTFSB0): Likewise.
7737          (MTFSB1): Likewise.
7738          (SET_FPSCR_RN): Likewise.
7739          (SET_FPSCR_DRN): Mark nosoft and no32bit.
7740
77412022-03-31  Thomas Schwinge  <thomas@codesourcery.com>
7742
7743          * doc/options.texi (Option file format): Clarifications around
7744          option definition records' help texts.
7745
77462022-03-31  Thomas Schwinge  <thomas@codesourcery.com>
7747
7748          * optc-gen.awk <END>: Fix "Multiple different help strings" error
7749          diagnostic.
7750
77512022-03-31  Andre Vieira  <andre.simoesdiasvieira@arm.com>
7752
7753          * config/aarch64/aarch64.cc (aarch64_vector_costs): Define
7754          determine_suggested_unroll_factor and m_has_avg.
7755          (determine_suggested_unroll_factor): New function.
7756          (aarch64_vector_costs::add_stmt_cost): Check for a qualifying pattern
7757          to set m_nosve_pattern.
7758          (aarch64_vector_costs::finish_costs): Use
7759          determine_suggested_unroll_factor.
7760          * config/aarch64/aarch64.opt (aarch64-vect-unroll-limit): New.
7761          * doc/invoke.texi: (aarch64-vect-unroll-limit): Document new option.
7762
77632022-03-31  Martin Jambor  <mjambor@suse.cz>
7764
7765          PR ipa/103083
7766          * ipa-prop.h (ipa_ancestor_jf_data): New flag keep_null;
7767          (ipa_get_jf_ancestor_keep_null): New function.
7768          * ipa-prop.cc (ipa_set_ancestor_jf): Initialize keep_null field of the
7769          ancestor function.
7770          (compute_complex_assign_jump_func): Pass false to keep_null
7771          parameter of ipa_set_ancestor_jf.
7772          (compute_complex_ancestor_jump_func): Pass true to keep_null
7773          parameter of ipa_set_ancestor_jf.
7774          (update_jump_functions_after_inlining): Carry over keep_null from the
7775          original ancestor jump-function or merge them.
7776          (ipa_write_jump_function): Stream keep_null flag.
7777          (ipa_read_jump_function): Likewise.
7778          (ipa_print_node_jump_functions_for_edge): Print the new flag.
7779          * ipa-cp.cc (class ipcp_bits_lattice): Make various getters const.  New
7780          member function known_nonzero_p.
7781          (ipcp_bits_lattice::known_nonzero_p): New.
7782          (ipcp_bits_lattice::meet_with_1): New parameter drop_all_ones,
7783          observe it.
7784          (ipcp_bits_lattice::meet_with): Likewise.
7785          (propagate_bits_across_jump_function): Simplify.  Pass true in
7786          drop_all_ones when it is necessary.
7787          (propagate_aggs_across_jump_function): Take care of keep_null
7788          flag.
7789          (ipa_get_jf_ancestor_result): Propagate NULL accross keep_null
7790          jump functions.
7791
77922022-03-31  Martin Jambor  <mjambor@suse.cz>
7793
7794          PR ipa/102513
7795          * ipa-cp.cc (decide_whether_version_node): Skip scalar values
7796          which do not fit the known value_range.
7797
77982022-03-31  Martin Jambor  <mjambor@suse.cz>
7799
7800          PR ipa/103171
7801          * ipa-prop.cc (propagate_controlled_uses): Add a LOAD reference
7802          always when an ADDR_EXPR constant is known to reach a load because
7803          of inlining, not just when removing an ADDR reference.
7804
78052022-03-31  Richard Biener  <rguenther@suse.de>
7806
7807          PR tree-optimization/105109
7808          * tree-ssa.cc (execute_update_addresses_taken): Suppress
7809          diagnostics on the load of the other complex component.
7810
78112022-03-31  Tom de Vries  <tdevries@suse.de>
7812
7813          * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
7814
78152022-03-31  Richard Biener  <rguenther@suse.de>
7816
7817          PR rtl-optimization/105091
7818          * gimple-expr.cc (mark_addressable): Handle TARGET_MEM_REF
7819          bases.
7820
78212022-03-31  Richard Biener  <rguenther@suse.de>
7822
7823          Revert:
7824          2021-09-13  Richard Earnshaw  <rearnsha@arm.com>
7825
7826          PR target/102125
7827          * gimple-fold.c (gimple_fold_builtin_memory_op): Allow folding
7828          memcpy if the size is not more than MOVE_MAX * MOVE_RATIO.
7829
78302022-03-31  Sebastian Huber  <sebastian.huber@embedded-brains.de>
7831
7832          * gcov-io.cc (gcov_read_string): Reword documentation comment.
7833
78342022-03-30  Bill Schmidt  <wschmidt@linux.ibm.com>
7835
7836          * config/rs6000/rs6000-builtins.def (NEG_V16QI): Move to [altivec]
7837          stanza.
7838          (NEG_V4SF): Likewise.
7839          (NEG_V4SI): Likewise.
7840          (NEG_V8HI): Likewise.
7841          (NEG_V2DF): Move to [vsx] stanza.
7842          (NEG_V2DI): Likewise.
7843
78442022-03-30  Vladimir N. Makarov  <vmakarov@redhat.com>
7845
7846          PR middle-end/105032
7847          * lra-assigns.cc (find_reload_regno_insns): Modify loop condition.
7848
78492022-03-30  Tom de Vries  <tdevries@suse.de>
7850              Tobias Burnus  <tobias@codesourcery.com>
7851
7852          * doc/invoke.texi (march): Document __PTX_SM__.
7853           (mptx): Document __PTX_ISA_VERSION_MAJOR__ and
7854           __PTX_ISA_VERSION_MINOR__.
7855
78562022-03-30  Jakub Jelinek  <jakub@redhat.com>
7857
7858          PR sanitizer/105093
7859          * ubsan.cc (instrument_object_size): If t is equal to inner and
7860          is a decl other than global var, punt.  When emitting call to
7861          UBSAN_OBJECT_SIZE ifn, make sure base is addressable.
7862
78632022-03-30  Jakub Jelinek  <jakub@redhat.com>
7864
7865          PR tree-optimization/105094
7866          * gimple-ssa-store-merging.cc (mem_valid_for_store_merging): Punt if
7867          bitsize <= 0 rather than just == 0.
7868
78692022-03-30  Tom de Vries  <tdevries@suse.de>
7870
7871          * doc/invoke.texi (misa, mptx): Update.
7872          (march, march-map): Add.
7873
78742022-03-30  Thomas Schwinge  <thomas@codesourcery.com>
7875
7876          * opt-functions.awk (n_args): New function.
7877          (lang_enabled_by): Merge function into...
7878          * optc-gen.awk <END>: ... sole user here.
7879          Improve diagnostics.
7880
78812022-03-29  Marek Polacek  <polacek@redhat.com>
7882              Jakub Jelinek  <jakub@redhat.com>
7883
7884          PR middle-end/103597
7885          * gimplify.cc (collect_fallthrough_labels): Don't push UNUSED_LABEL_Ps
7886          into labels.  Maybe set prev to the statement preceding UNUSED_LABEL_P.
7887          (gimplify_cond_expr): Set UNUSED_LABEL_P.
7888          * tree.h (UNUSED_LABEL_P): New.
7889
78902022-03-29   Michael Meissner  <meissner@linux.ibm.com>
7891
7892          * config/rs6000/vsx.md (vsx_extract_<mode>): Allow destination to
7893          be any VSX register.
7894
78952022-03-29  Richard Earnshaw  <rearnsha@arm.com>
7896
7897          PR target/102024
7898          * config/aarch64/aarch64.cc (aapcs_vfp_sub_candidate): Handle
7899          zero-sized bit-fields.  Detect cases where a warning may be needed.
7900          (aarch64_vfp_is_call_or_return_candidate): Emit a note if a
7901          zero-sized bit-field has caused parameter passing to change.
7902
79032022-03-29  Richard Earnshaw  <rearnsha@arm.com>
7904
7905          PR target/102024
7906          * config/arm/arm.cc (aapcs_vfp_sub_candidate): Handle zero-sized
7907          bit-fields.  Detect cases where a warning may be needed.
7908          (aapcs_vfp_is_call_or_return_candidate): Emit a note if
7909          a zero-sized bit-field has caused parameter passing to change.
7910
79112022-03-29  Richard Earnshaw  <rearnsha@arm.com>
7912
7913          PR target/96882
7914          * config/arm/arm.cc (arm_get_pcs_model): Disable selection of
7915          ARM_PCS_AAPCS_LOCAL.
7916
79172022-03-29  Tom de Vries  <tdevries@suse.de>
7918
7919          PR target/104857
7920          * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Emit
7921          __PTX_ISA_VERSION_MAJOR__ and __PTX_ISA_VERSION_MINOR__.
7922          * config/nvptx/nvptx.cc (ptx_version_to_number): New function.
7923          * config/nvptx/nvptx-protos.h (ptx_version_to_number): Declare.
7924
79252022-03-29  Tom de Vries  <tdevries@suse.de>
7926
7927          * config/nvptx/nvptx.opt (m64): Update help text to reflect that it
7928          is ignored.
7929
79302022-03-29  Tom de Vries  <tdevries@suse.de>
7931
7932          PR target/104714
7933          * config/nvptx/nvptx.opt (march-map=*): Add aliases.
7934
79352022-03-29  Jan Hubicka  <hubicka@ucw.cz>
7936
7937          * config/i386/i386-builtins.cc (ix86_vectorize_builtin_gather): Test
7938          TARGET_USE_GATHER_2PARTS and TARGET_USE_GATHER_4PARTS.
7939          * config/i386/i386.h (TARGET_USE_GATHER_2PARTS): New macro.
7940          (TARGET_USE_GATHER_4PARTS): New macro.
7941          * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): New tune
7942          (X86_TUNE_USE_GATHER_4PARTS): New tune
7943
79442022-03-29  Tom de Vries  <tdevries@suse.de>
7945
7946          * config/nvptx/nvptx.opt (march): Add alias of misa.
7947
79482022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
7949              Lulu Cheng  <chenglulu@loongson.cn>
7950
7951          * doc/install.texi: Add LoongArch options section.
7952          * doc/invoke.texi: Add LoongArch options section.
7953          * doc/md.texi: Add LoongArch options section.
7954
79552022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
7956              Lulu Cheng  <chenglulu@loongson.cn>
7957
7958          * config/loongarch/loongarch-c.cc
7959
79602022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
7961              Lulu Cheng  <chenglulu@loongson.cn>
7962
7963          * config/loongarch/larchintrin.h: New file.
7964          * config/loongarch/loongarch-builtins.cc: New file.
7965
79662022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
7967              Lulu Cheng  <chenglulu@loongson.cn>
7968
7969          * config/host-linux.cc: Add LoongArch support.
7970          * config/loongarch/loongarch-protos.h: New file.
7971          * config/loongarch/loongarch-tune.h: Likewise.
7972          * config/loongarch/loongarch.cc: Likewise.
7973          * config/loongarch/loongarch.h: Likewise.
7974
79752022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
7976              Lulu Cheng  <chenglulu@loongson.cn>
7977
7978          * config/loongarch/constraints.md: New file.
7979          * config/loongarch/generic.md: New file.
7980          * config/loongarch/la464.md: New file.
7981          * config/loongarch/loongarch-ftypes.def: New file.
7982          * config/loongarch/loongarch-modes.def: New file.
7983          * config/loongarch/loongarch.md: New file.
7984          * config/loongarch/predicates.md: New file.
7985          * config/loongarch/sync.md: New file.
7986
79872022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
7988              Lulu Cheng  <chenglulu@loongson.cn>
7989
7990          * configure: Regenerate file.
7991
79922022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
7993              Lulu Cheng  <chenglulu@loongson.cn>
7994
7995          * common/config/loongarch/loongarch-common.cc: New file.
7996          * config/loongarch/genopts/genstr.sh: New file.
7997          * config/loongarch/genopts/loongarch-strings: New file.
7998          * config/loongarch/genopts/loongarch.opt.in: New file.
7999          * config/loongarch/loongarch-str.h: New file.
8000          * config/loongarch/gnu-user.h: New file.
8001          * config/loongarch/linux.h: New file.
8002          * config/loongarch/loongarch-cpu.cc: New file.
8003          * config/loongarch/loongarch-cpu.h: New file.
8004          * config/loongarch/loongarch-def.c: New file.
8005          * config/loongarch/loongarch-def.h: New file.
8006          * config/loongarch/loongarch-driver.cc: New file.
8007          * config/loongarch/loongarch-driver.h: New file.
8008          * config/loongarch/loongarch-opts.cc: New file.
8009          * config/loongarch/loongarch-opts.h: New file.
8010          * config/loongarch/loongarch.opt: New file.
8011          * config/loongarch/t-linux: New file.
8012          * config/loongarch/t-loongarch: New file.
8013          * config.gcc: Add LoongArch support.
8014          * configure.ac: Add LoongArch support.
8015
80162022-03-29  Thomas Schwinge  <thomas@codesourcery.com>
8017
8018          * opt-functions.awk (lang_enabled_by): Fix 'enabledby_negargs'
8019          typo.
8020
80212022-03-29  Richard Biener  <rguenther@suse.de>
8022
8023          PR tree-optimization/105080
8024          * tree-ssa-strlen.cc (printf_strlen_execute): Always init
8025          loops and SCEV.
8026
80272022-03-28  Indu Bhagat  <indu.bhagat@oracle.com>
8028
8029          * ctfout.cc (ctf_preprocess): Use ctfc_get_num_ctf_vars instead.
8030          (output_ctf_vars): Likewise.
8031
80322022-03-28  Jason Merrill  <jason@redhat.com>
8033
8034          PR c++/59426
8035          * doc/extend.texi: Refer to __is_trivial instead of __is_pod.
8036
80372022-03-28  H.J. Lu  <hjl.tools@gmail.com>
8038
8039          PR target/105068
8040          * config/i386/sse.md (*ssse3_pshufbv8qi3): Also replace "Yv" with
8041          "Yw" in clobber.
8042
80432022-03-28  Tom de Vries  <tdevries@suse.de>
8044
8045          PR target/104818
8046          * config/nvptx/gen-opt.sh (ptx_isa): Improve help text.
8047          * config/nvptx/nvptx-gen.opt: Regenerate.
8048          * config/nvptx/nvptx.opt (misa, mptx, ptx_version): Improve help text.
8049          * config/nvptx/t-nvptx (s-nvptx-gen-opt): Add missing dependency on
8050          gen-opt.sh.
8051
80522022-03-28  David Malcolm  <dmalcolm@redhat.com>
8053
8054          PR analyzer/104308
8055          * gimple-fold.cc (gimple_fold_builtin_memory_op): When optimizing
8056          to loads then stores, set the location of the new load stmt.
8057
80582022-03-28  Richard Biener  <rguenther@suse.de>
8059
8060          PR tree-optimization/105070
8061          * tree-switch-conversion.h
8062          (bit_test_cluster::hoist_edge_and_branch_if_true): Add location
8063          argument.
8064          * tree-switch-conversion.cc
8065          (bit_test_cluster::hoist_edge_and_branch_if_true): Annotate
8066          cond with location.
8067          (bit_test_cluster::emit): Annotate all generated expressions
8068          with location.
8069
80702022-03-28  Andre Vieira  <andre.simoesdiasvieira@arm.com>
8071
8072          * config/aarch64/aarch64-cores.def: Update Neoverse N2 core entry.
8073
80742022-03-28  liuhongt  <hongtao.liu@intel.com>
8075
8076          PR target/105066
8077          * config/i386/sse.md (vec_set<mode>_0): Change attr "isa" of
8078          alternative 4 from sse4_noavx to noavx.
8079
80802022-03-28  Jakub Jelinek  <jakub@redhat.com>
8081
8082          PR tree-optimization/105056
8083          * tree-predcom.cc (component::component): Initialize also comp_step.
8084
80852022-03-27  H.J. Lu  <hjl.tools@gmail.com>
8086
8087          PR target/105068
8088          * config/i386/sse.md (*ssse3_pshufbv8qi3): Replace "Yv" with
8089          "Yw".
8090
80912022-03-26  Roger Sayle  <roger@nextmovesoftware.com>
8092
8093          PR middle-end/104885
8094          * calls.cc (mark_stack_region_used): Check that the region
8095          is within the allocated size of stack_usage_map.
8096
80972022-03-26  Jakub Jelinek  <jakub@redhat.com>
8098
8099          PR rtl-optimization/103775
8100          * recog.cc (check_invalid_inc_dec): New function.
8101          (insn_invalid_p): Return 1 if REG_INC operand overlaps
8102          any stored REGs.
8103
81042022-03-26  H.J. Lu  <hjl.tools@gmail.com>
8105
8106          PR target/105058
8107          * config/i386/sse.md (loadiwkey): Replace "v" with "x".
8108          (aes<aesklvariant>u8): Likewise.
8109
81102022-03-26  H.J. Lu  <hjl.tools@gmail.com>
8111
8112          PR target/105052
8113          * config/i386/sse.md (ssse3_ph<plusminus_mnemonic>wv4hi3):
8114          Replace "Yv" with "x".
8115          (ssse3_ph<plusminus_mnemonic>dv2si3): Likewise.
8116          (ssse3_psign<mode>3): Likewise.
8117
81182022-03-26  Hans-Peter Nilsson  <hp@axis.com>
8119
8120          * reload.cc (find_reloads): Align comment with code where
8121          considering the intersection of register classes then tweaking the
8122          regclass for the current alternative or rejecting it.
8123
81242022-03-25  Christophe Lyon  <christohe.lyon@arm.com>
8125
8126          PR target/104882
8127          Revert
8128          2021-06-11  Christophe Lyon  <christophe.lyon@linaro.org>
8129
8130          * config/arm/mve.md (mve_vec_unpack<US>_lo_<mode>): Delete.
8131          (mve_vec_unpack<US>_hi_<mode>): Delete.
8132          (@mve_vec_pack_trunc_lo_<mode>): Delete.
8133          (mve_vmovntq_<supf><mode>): Remove '@' prefix.
8134          * config/arm/neon.md (vec_unpack<US>_hi_<mode>): Move back
8135          from vec-common.md.
8136          (vec_unpack<US>_lo_<mode>): Likewise.
8137          (vec_pack_trunc_<mode>): Rename from
8138          neon_quad_vec_pack_trunc_<mode>.
8139          * config/arm/vec-common.md (vec_unpack<US>_hi_<mode>): Delete.
8140          (vec_unpack<US>_lo_<mode>): Delete.
8141          (vec_pack_trunc_<mode>): Delete.
8142
81432022-03-25  Vladimir N. Makarov  <vmakarov@redhat.com>
8144
8145          PR middle-end/104971
8146          * lra-lives.cc (process_bb_lives): Check hard_regs_live for hard
8147          regs to clear remove_p flag.
8148
81492022-03-25  Richard Biener  <rguenther@suse.de>
8150
8151          PR tree-optimization/105053
8152          * tree-vect-loop.cc (vect_create_epilog_for_reduction): Pick
8153          the correct live-out stmt for a reduction chain.
8154
81552022-03-25  Richard Biener  <rguenther@suse.de>
8156
8157          PR middle-end/105049
8158          * tree.cc (uniform_vector_p): Recurse for VECTOR_CST or
8159          CONSTRUCTOR first elements.
8160
81612022-03-25  Tobias Burnus  <tobias@codesourcery.com>
8162
8163          PR analyzer/103533
8164          * doc/invoke.texi (Static Analyzer Options): Move
8165          @ignore block after @gccoptlist's '}' for 'make pdf'.
8166
81672022-03-25  David Malcolm  <dmalcolm@redhat.com>
8168
8169          PR analyzer/104954
8170          * doc/invoke.texi (Static Analyzer Options): Add
8171          -fdump-analyzer-untracked.
8172
81732022-03-25  Avinash Sonawane  <rootkea@gmail.com>
8174
8175          PR analyzer/103533
8176          * doc/invoke.texi: Document that enabling taint analyzer
8177          checker disables some warnings from `-fanalyzer`.
8178
81792022-03-24  Alexandre Oliva  <oliva@adacore.com>
8180
8181          PR debug/104564
8182          * gimple-harden-conditionals.cc (detach_value): Keep temps
8183          anonymous.
8184
81852022-03-24  Alexandre Oliva  <oliva@adacore.com>
8186
8187          PR middle-end/104975
8188          * gimple-harden-conditionals.cc
8189          (pass_harden_compares::execute): Force split in case of
8190          multiple edges.
8191
81922022-03-24  Jakub Jelinek  <jakub@redhat.com>
8193
8194          PR c++/105035
8195          * fold-const.cc (operand_equal_p) <case COMPONENT_REF>: If either
8196          field0 or field1 is not a FIELD_DECL, return false.
8197
81982022-03-24  Richard Biener  <rguenther@suse.de>
8199
8200          * tree-predcom.cc (chain::chain): Add CTOR.
8201          (component::component): Likewise.
8202          (pcom_worker::release_chain): Use delete.
8203          (release_components): Likewise.
8204          (pcom_worker::filter_suitable_components): Likewise.
8205          (pcom_worker::split_data_refs_to_components): Use new.
8206          (make_invariant_chain): Likewise.
8207          (make_rooted_chain): Likewise.
8208          (pcom_worker::combine_chains): Likewise.
8209          * tree-vect-loop.cc (vect_create_epilog_for_reduction):
8210          Make sure to release previously constructed scalar_results.
8211          * tree-vect-stmts.cc (vectorizable_load): Use auto_vec
8212          for vec_offsets.
8213          * vr-values.cc (simplify_using_ranges::~simplify_using_ranges):
8214          Release m_flag_set_edges.
8215
82162022-03-24  Siddhesh Poyarekar  <siddhesh@gotplt.org>
8217
8218          PR tree-optimization/104970
8219          * tree-object-size.cc (parm_object_size): Restrict size
8220          computation scenarios to explicit access attributes.
8221
82222022-03-24  Kewen Lin  <linkw@linux.ibm.com>
8223
8224          PR target/104967
8225          * config/rs6000/rs6000-c.cc (find_instance): Skip instances with null
8226          function types.
8227
82282022-03-23  Richard Biener  <rguenther@suse.de>
8229
8230          PR target/102125
8231          * gimple-fold.cc (gimple_fold_builtin_memory_op): Allow the
8232          use of movmisalign when either the source or destination
8233          decl is properly aligned.
8234
82352022-03-23  Richard Biener  <rguenther@suse.de>
8236
8237          PR rtl-optimization/105028
8238          * ira-color.cc (form_threads_from_copies): Remove unnecessary
8239          copying of the sorted_copies tail.
8240
82412022-03-23  Martin Liska  <mliska@suse.cz>
8242
8243          * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
8244          Use %qs in format.
8245          * config/rs6000/rs6000.cc (rs6000_option_override_internal):
8246          Reword the error message.
8247
82482022-03-23  liuhongt  <hongtao.liu@intel.com>
8249
8250          PR target/104976
8251          * config/i386/sse.md (ssePSmodelower): New.
8252          (*avx_cmp<mode>3_ltint_not): Force_reg operand before
8253          lowpart_subreg to avoid NULL_RTX.
8254          (<avx512>_fmaddc_<mode>_mask1<round_expand_name>,
8255          <avx512>_fcmaddc_<mode>_mask1<round_expand_name>,
8256          fma_<mode>_fmaddc_bcst, fma_<mode>_fcmaddc_bcst,
8257          <avx512>_<complexopname>_<mode>_mask<round_name>,
8258          avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name>,
8259          avx512fp16_fcmaddcsh_v8hf_mask3<round_expand_name>,
8260          avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
8261          avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
8262          float<floatunssuffix><mode>v4hf2,
8263          float<floatunssuffix>v2div2hf2,
8264          fix<fixunssuffix>_truncv4hf<mode>2,
8265          fix<fixunssuffix>_truncv2hfv2di2, extendv4hf<mode>2,
8266          extendv2hfv2df2,
8267          trunc<mode>v4hf2,truncv2dfv2hf2,
8268          *avx512bw_permvar_truncv16siv16hi_1,
8269          *avx512bw_permvar_truncv16siv16hi_1_hf,
8270          *avx512f_permvar_truncv8siv8hi_1,
8271          *avx512f_permvar_truncv8siv8hi_1_hf,
8272          *avx512f_vpermvar_truncv8div8si_1,
8273          *avx512f_permvar_truncv32hiv32qi_1,
8274          *avx512f_permvar_truncv16hiv16qi_1,
8275          *avx512f_permvar_truncv4div4si_1,
8276          *avx512f_pshufb_truncv8hiv8qi_1,
8277          *avx512f_pshufb_truncv4siv4hi_1,
8278          *avx512f_pshufd_truncv2div2si_1,
8279          sdot_prod<mode>, avx2_pblend<ssemodesuffix>_1,
8280          ashrv2di3,ashrv2di3,usdot_prod<mode>): Ditto.
8281
82822022-03-22  Tom de Vries  <tdevries@suse.de>
8283
8284          PR target/104925
8285          * config/nvptx/nvptx.md (define_insn "nvptx_uniform_warp_check"):
8286          Use % as register prefix.
8287
82882022-03-22  Tom de Vries  <tdevries@suse.de>
8289
8290          * config/nvptx/nvptx.cc (nvptx_scalar_mode_supported_p)
8291          (nvptx_libgcc_floating_mode_supported_p): Only enable HFmode for
8292          mexperimental.
8293
82942022-03-22  Tom de Vries  <tdevries@suse.de>
8295
8296          * config/nvptx/nvptx.opt (mexperimental): New option.
8297
82982022-03-22  Tom de Vries  <tdevries@suse.de>
8299
8300          PR target/104957
8301          * config/nvptx/nvptx-protos.h (nvptx_asm_output_def_from_decls): Declare.
8302          * config/nvptx/nvptx.cc (write_fn_proto_1): Don't add function marker
8303          for alias.
8304          (SET_ASM_OP, NVPTX_ASM_OUTPUT_DEF): New macro def.
8305          (nvptx_asm_output_def_from_decls): New function.
8306          * config/nvptx/nvptx.h (ASM_OUTPUT_DEF): New macro def, define to
8307          gcc_unreachable ().
8308          (ASM_OUTPUT_DEF_FROM_DECLS): New macro def, define to
8309          nvptx_asm_output_def_from_decls.
8310          * config/nvptx/nvptx.opt (malias): New opt.
8311
83122022-03-22  Tom de Vries  <tdevries@suse.de>
8313
8314          PR target/104916
8315          PR target/104783
8316          * config/nvptx/nvptx.md (define_expand "omp_simt_exit"): Emit warp
8317          sync (or uniform warp check for mptx < 6.0).
8318
83192022-03-22  Richard Biener  <rguenther@suse.de>
8320
8321          PR tree-optimization/105012
8322          * tree-if-conv.cc (ifcvt_local_dce): Only call
8323          dse_classify_store when we have a VDEF.
8324
83252022-03-22  Martin Liska  <mliska@suse.cz>
8326
8327          PR target/104902
8328          * config/nvptx/nvptx.cc (handle_ptx_version_option):
8329          Fix option wrapping in an error message.
8330
83312022-03-22  Martin Liska  <mliska@suse.cz>
8332
8333          PR target/104903
8334          * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
8335          Wrap const keyword.
8336
83372022-03-22  Martin Liska  <mliska@suse.cz>
8338
8339          * config/v850/v850-c.cc (pop_data_area): Fix typo in pragma
8340          name.
8341
83422022-03-22  Martin Liska  <mliska@suse.cz>
8343
8344          PR target/104898
8345          * config/rs6000/rs6000.cc (rs6000_option_override_internal):
8346          Use %qs instead of (%qs).
8347
83482022-03-22  Martin Liska  <mliska@suse.cz>
8349
8350          PR target/104898
8351          * config/i386/i386-options.cc (ix86_option_override_internal):
8352            Use '%qs' instead of '(%qs)'.
8353
83542022-03-22  Martin Liska  <mliska@suse.cz>
8355
8356          PR target/104898
8357          * config/aarch64/aarch64.cc (aarch64_handle_attr_arch):
8358          Use 'qs' and remove usage '(%qs)'.
8359          (aarch64_handle_attr_cpu): Likewise.
8360          (aarch64_handle_attr_tune): Likewise.
8361          (aarch64_handle_attr_isa_flags): Likewise.
8362
83632022-03-22  Tamar Christina  <tamar.christina@arm.com>
8364              Andre Vieira  <andre.simoesdiasvieira@arm.com>
8365
8366          * config/aarch64/aarch64.cc (neoversev1_regmove_cost): New tuning
8367          struct.
8368          (neoversev1_tunings): Use neoversev1_regmove_cost and update store_int
8369          cost.
8370          (neoverse512tvb_tunings): Likewise.
8371
83722022-03-22  Tamar Christina  <tamar.christina@arm.com>
8373              Andre Vieira  <andre.simoesdiasvieira@arm.com>
8374
8375          * config/aarch64/aarch64.cc (demeter_addrcost_table,
8376          demeter_regmove_cost, demeter_advsimd_vector_cost,
8377          demeter_sve_vector_cost, demeter_scalar_issue_info,
8378          demeter_advsimd_issue_info, demeter_sve_issue_info,
8379          demeter_vec_issue_info, demeter_vector_cost,
8380          demeter_tunings): New tuning structs.
8381          (aarch64_ve_op_count::rename_cycles_per_iter): Enable for demeter
8382          tuning.
8383          * config/aarch64/aarch64-cores.def: Add entry for demeter.
8384          * config/aarch64/aarch64-tune.md (tune): Add demeter to list.
8385
83862022-03-22  Tamar Christina  <tamar.christina@arm.com>
8387              Andre Vieira  <andre.simoesdiasvieira@arm.com>
8388
8389          * config/aarch64/aarch64-protos.h (struct cpu_memmov_cost): New struct.
8390          (struct tune_params): Change type of memmov_cost to use cpu_memmov_cost.
8391          * config/aarch64/aarch64.cc (aarch64_memory_move_cost): Update all
8392          tunings to use cpu_memmov_cost struct.
8393
83942022-03-22  Tamar Christina  <tamar.christina@arm.com>
8395              Andre Vieira  <andre.simoesdiasvieira@arm.com>
8396
8397          * config/aarch64/aarch64.cc (neoversen2_addrcost_table,
8398          neoversen2_regmove_cost, neoversen2_advsimd_vector_cost,
8399          neoversen2_sve_vector_cost, neoversen2_scalar_issue_info,
8400          neoversen2_advsimd_issue_info, neoversen2_sve_issue_info,
8401          neoversen2_vec_issue_info, neoversen2_tunings): New structs.
8402          (neoversen2_tunings): Use new structs and update tuning flags.
8403          (aarch64_vec_op_count::rename_cycles_per_iter): Enable for neoversen2
8404          tuning.
8405
84062022-03-22  Andre Vieira  <andre.simoesdiasvieira@arm.com>
8407
8408          * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH9): Add FP16 feature
8409          bit.
8410
84112022-03-22  liuhongt  <hongtao.liu@intel.com>
8412
8413          PR target/104982
8414          * config/i386/i386.md (*jcc_bt<mode>_mask): Extend the
8415          following splitter to reversed condition.
8416
84172022-03-22  Jakub Jelinek  <jakub@redhat.com>
8418
8419          PR rtl-optimization/104989
8420          * calls.cc (expand_call): Don't set ECF_NORETURN in flags after
8421          sorry for passing too large argument, instead set sibcall_failure
8422          for pass == 0, or a new normal_failure flag otherwise.  If
8423          normal_failure is set, don't assert all stack has been deallocated
8424          at the end and throw away the whole insn sequence.
8425
84262022-03-22  Qian Jianhua  <qianjh@cn.fujitsu.com>
8427
8428          * print-tree.cc: Change array length
8429
84302022-03-22  Hongyu Wang  <hongyu.wang@intel.com>
8431
8432          PR target/104978
8433          * config/i386/sse.md
8434          (avx512fp16_fmaddcsh_v8hf_mask1<round_expand_name):
8435          Use avx512f_movsf_mask instead of vmovaps or vblend, and
8436          force_reg before lowpart_subreg.
8437          (avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name): Likewise.
8438
84392022-03-21  H.J. Lu  <hjl.tools@gmail.com>
8440
8441          PR target/105000
8442          * common/config/i386/i386-common.cc
8443          (OPTION_MASK_ISA2_GENERAL_REGS_ONLY_UNSET): Replace
8444          OPTION_MASK_ISA2_AVX512F_UNSET with OPTION_MASK_ISA2_SSE_UNSET.
8445
84462022-03-21  H.J. Lu  <hjl.tools@gmail.com>
8447
8448          PR target/104998
8449          * common/config/i386/cpuinfo.h (get_available_features): Pass
8450          0x19 to __cpuid for bit_AESKLE.  Enable FEATURE_AESKLE only if
8451          bit_AESKLE is set.
8452
84532022-03-21  Richard Sandiford  <richard.sandiford@arm.com>
8454
8455          PR middle-end/104869
8456          * rtl-ssa/accesses.h (clobber_group::prev_clobber): Declare.
8457          (clobber_group::next_clobber): Likewise.
8458          (def_lookup::prev_def): Rename to...
8459          (def_lookup::last_def_of_prev_group): ...this.
8460          (def_lookup::next_def): Rename to...
8461          (def_lookup::first_def_of_next_group): ...this.
8462          (def_lookup::matching_or_prev_def): Rename to...
8463          (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
8464          (def_lookup::matching_or_next_def): Rename to...
8465          (def_lookup::matching_set_or_first_def_of_next_group): ...this.
8466          (def_lookup::prev_def): New function, taking the lookup insn as
8467          argument.
8468          (def_lookup::next_def): Likewise.
8469          * rtl-ssa/member-fns.inl (def_lookup::prev_def): Rename to...
8470          (def_lookup::last_def_of_prev_group): ...this.
8471          (def_lookup::next_def): Rename to...
8472          (def_lookup::first_def_of_next_group): ...this.
8473          (def_lookup::matching_or_prev_def): Rename to...
8474          (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
8475          (def_lookup::matching_or_next_def): Rename to...
8476          (def_lookup::matching_set_or_first_def_of_next_group): ...this.
8477          * rtl-ssa/movement.h (restrict_movement_for_dead_range): Update after
8478          above renaming.
8479          * rtl-ssa/accesses.cc (clobber_group::prev_clobber): New function.
8480          (clobber_group::next_clobber): Likewise.
8481          (def_lookup::prev_def): Likewise.
8482          (def_lookup::next_def): Likewise.
8483          (function_info::make_use_available): Pass the lookup insn to
8484          def_lookup::prev_def and def_lookup::next_def.
8485
84862022-03-21  Martin Liska  <mliska@suse.cz>
8487
8488          * doc/invoke.texi: Document min-pagesize parameter.
8489
84902022-03-21  Richard Biener  <rguenther@suse.de>
8491
8492          * tree-ssa-loop-niter.cc (estimate_numbers_of_iterations): Dump
8493          we are estimating niter of loop.
8494
84952022-03-21  Kito Cheng  <kito.cheng@sifive.com>
8496
8497          * common/config/riscv/riscv-common.cc (riscv_ext_flag_table):
8498          Update flag name and mask name.
8499          * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Define
8500          misc macro for vector extensions.
8501          * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): Rename to ...
8502          (MASK_VECTOR_ELEN_32): ... this.
8503          (MASK_VECTOR_EEW_64): Rename to ...
8504          (MASK_VECTOR_ELEN_64): ... this.
8505          (MASK_VECTOR_EEW_FP_32): Rename to ...
8506          (MASK_VECTOR_ELEN_FP_32): ... this.
8507          (MASK_VECTOR_EEW_FP_64): Rename to ...
8508          (MASK_VECTOR_ELEN_FP_64): ... this.
8509          (TARGET_VECTOR_ELEN_32): New.
8510          (TARGET_VECTOR_ELEN_64): Ditto.
8511          (TARGET_VECTOR_ELEN_FP_32): Ditto.
8512          (TARGET_VECTOR_ELEN_FP_64): Ditto.
8513          (TARGET_MIN_VLEN): Ditto.
8514          * config/riscv/riscv.opt (riscv_vector_eew_flags): Rename to ...
8515          (riscv_vector_elen_flags): ... this.
8516
85172022-03-21  Hongyu Wang  <hongyu.wang@intel.com>
8518
8519          PR target/104977
8520          * config/i386/sse.md
8521          (avx512fp16_fma<complexopname>sh_v8hf<mask_scalarcz_name><round_scalarcz_name>):
8522          Correct round operand for intel dialect.
8523
85242022-03-19  Arthur Cohen  <arthur.cohen@embecosm.com>
8525
8526          * diagnostic.cc (diagnostic_cc_tests): Rename to...
8527          (c_diagnostic_cc_tests): ...this.
8528          * opt-problem.cc (opt_problem_cc_tests): Rename to...
8529          (c_opt_problem_cc_tests): ...this.
8530          * selftest-run-tests.cc (selftest::run_tests): No longer run
8531          opt_problem_cc_tests or diagnostic_cc_tests.
8532          * selftest.h (diagnostic_cc_tests): Remove declaration.
8533          (opt_problem_cc_tests): Likewise.
8534
85352022-03-19  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>
8536
8537          PR jit/63854
8538          * hash-traits.h (struct typed_const_free_remove): New.
8539          (struct free_string_hash): New.
8540          * pass_manager.h: Use free_string_hash.
8541          * passes.cc (pass_manager::register_pass_name): Use free_string_hash.
8542          (pass_manager::~pass_manager): Delete allocated m_name_to_pass_map.
8543
85442022-03-19  Jakub Jelinek  <jakub@redhat.com>
8545
8546          PR middle-end/104971
8547          * config/i386/i386-expand.cc
8548          (ix86_expand_builtin) <case IX86_BUILTIN_READ_FLAGS>: If ignore,
8549          don't push/pop anything and just return const0_rtx.
8550
85512022-03-18  Vladimir N. Makarov  <vmakarov@redhat.com>
8552
8553          PR rtl-optimization/104961
8554          * lra-assigns.cc (find_reload_regno_insns): Process reload pseudo clobber.
8555
85562022-03-18  Jason Merrill  <jason@redhat.com>
8557
8558          * tree.h (IDENTIFIER_LENGTH): Add comment.
8559
85602022-03-18  Jakub Jelinek  <jakub@redhat.com>
8561
8562          PR middle-end/99578
8563          PR middle-end/100680
8564          PR tree-optimization/100834
8565          * params.opt (--param=min-pagesize=): New parameter.
8566          * pointer-query.cc
8567          (compute_objsize_r) <case ARRAY_REF>: Formatting fix.
8568          (compute_objsize_r) <case INTEGER_CST>: Use maximum object size instead
8569          of zero for pointer constants equal or larger than min-pagesize.
8570
85712022-03-18  Tom de Vries  <tdevries@suse.de>
8572
8573          * gimplify.cc (gimplify_omp_for): Set location using 'input_location'.
8574          Set gfor location only when dealing with a OMP_TASKLOOP.
8575
85762022-03-18  Tom de Vries  <tdevries@suse.de>
8577
8578          * gimplify.cc (gimplify_omp_for): Set taskloop location.
8579
85802022-03-18  Tom de Vries  <tdevries@suse.de>
8581
8582          PR target/104952
8583          * omp-low.cc (lower_rec_input_clauses): Make sure GOMP_SIMT_XCHG_BFLY
8584          is executed unconditionally.
8585
85862022-03-18  liuhongt  <hongtao.liu@intel.com>
8587
8588          PR target/104974
8589          * config/i386/i386.md (*movhi_internal): Set attr type from HI
8590          to HF for alternative 12 under TARGET_AVX512FP16.
8591
85922022-03-18  Cui,Lili  <lili.cui@intel.com>
8593
8594          PR target/104963
8595          * config/i386/i386.h (PTA_SAPPHIRERAPIDS): change it to base on ICX.
8596          * doc/invoke.texi: Update documents for Intel sapphirerapids.
8597
85982022-03-17  Roger Sayle  <roger@nextmovesoftware.com>
8599
8600          PR target/86722
8601          PR tree-optimization/90356
8602          * config/i386/i386.md (*movtf_internal): Don't guard
8603          standard_sse_constant_p clause by optimize_function_for_size_p.
8604          (*movdf_internal): Likewise.
8605          (*movsf_internal): Likewise.
8606
86072022-03-17  Andrew MacLeod  <amacleod@redhat.com>
8608
8609          PR tree-optimization/102943
8610          * gimple-range-cache.cc (ranger_cache::range_from_dom): Find range via
8611          dominators and apply intermediary outgoing edge ranges.
8612
86132022-03-17  Richard Biener  <rguenther@suse.de>
8614
8615          PR tree-optimization/104960
8616          * passes.def: Add pass parameter to pass_sink_code, mark
8617          last one to unsplit edges.
8618          * tree-ssa-sink.cc (pass_sink_code::set_pass_param): New.
8619          (pass_sink_code::execute): Always execute TODO_cleanup_cfg
8620          when we need to unsplit edges.
8621
86222022-03-17  Jakub Jelinek  <jakub@redhat.com>
8623
8624          PR middle-end/103984
8625          * gimplify.cc (gimplify_target_expr): Gimplify type sizes and
8626          TARGET_EXPR_INITIAL into a temporary sequence, then push clobbers
8627          and asan unpoisioning, then append the temporary sequence and
8628          finally the TARGET_EXPR_CLEANUP clobbers.
8629
86302022-03-16  Roger Sayle  <roger@nextmovesoftware.com>
8631
8632          * config/i386/sse.md: Delete corrupt character/typo.
8633
86342022-03-16  Roger Sayle  <roger@nextmovesoftware.com>
8635
8636          PR target/94680
8637          * config/i386/sse.md (sse2_movq128): New define_expand to
8638          preserve previous named instruction.
8639          (*sse2_movq128_<mode>): Renamed from sse2_movq128, and
8640          generalized to VI8F_128 (both V2DI and V2DF).
8641
86422022-03-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
8643
8644          PR tree-optimization/104941
8645          * tree-object-size.cc (size_for_offset): Make useless conversion
8646          check lighter and assign result of fold_convert to OFFSET.
8647
86482022-03-16  H.J. Lu  <hjl.tools@gmail.com>
8649
8650          PR target/104890
8651          * config/i386/x86gprintrin.h: Also check _SOFT_FLOAT before
8652          pushing target("general-regs-only").
8653
86542022-03-16  Kito Cheng  <kito.cheng@sifive.com>
8655
8656          * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
8657          Add version info for zk, zks and zkn.
8658
86592022-03-16  LiaoShihua  <shihua@iscas.ac.cn>
8660
8661          * common/config/riscv/riscv-common.cc
8662          (riscv_combine_info): New.
8663          (riscv_subset_list::handle_combine_ext): Combine back into zk to
8664          maintain the canonical order in isa strings.
8665          (riscv_subset_list::parse): Ditto.
8666          * config/riscv/riscv-subset.h (handle_combine_ext): New.
8667
86682022-03-16  Richard Biener  <rguenther@suse.de>
8669
8670          PR tree-optimization/102008
8671          * passes.def: Move the added code sinking pass before the
8672          preceeding phiopt pass.
8673
86742022-03-16  Patrick Palka  <ppalka@redhat.com>
8675
8676          PR c++/96780
8677          * doc/invoke.texi (C++ Dialect Options): Document
8678          -ffold-simple-inlines.
8679
86802022-03-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
8681
8682          PR tree-optimization/104942
8683          * tree-object-size.cc (alloc_object_size): Remove STRIP_NOPS.
8684
86852022-03-16  Jakub Jelinek  <jakub@redhat.com>
8686
8687          PR target/104910
8688          * config/aarch64/aarch64.cc (aarch64_load_symref_appropriately): Copy
8689          imm rtx.
8690
86912022-03-16  Roger Sayle  <roger@nextmovesoftware.com>
8692              Richard Biener  <rguenther@suse.de>
8693
8694          * gimple-match-head.cc (single_use): Implement inline using a
8695          single loop.
8696
86972022-03-16  Roger Sayle  <roger@nextmovesoftware.com>
8698
8699          * match.pd (X CMP X -> true): Test tree_expr_maybe_nan_p
8700          instead of HONOR_NANS.
8701          (X LTGT X -> false): Enable if X is not tree_expr_maybe_nan_p, as
8702          this can't trap/signal.
8703
87042022-03-16  liuhongt  <hongtao.liu@intel.com>
8705
8706          PR target/104946
8707          * config/i386/i386-builtin.def (BDESC): Add
8708          CODE_FOR_sse4_1_blendvpd for IX86_BUILTIN_BLENDVPD.
8709          * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
8710          __builtin_ia32_blendvpd w/o sse4.2
8711
87122022-03-15  Peter Bergner  <bergner@linux.ibm.com>
8713
8714          PR target/104923
8715          * config/rs6000/predicates.md (mma_disassemble_output_operand): Restrict
8716          acceptable MEM addresses.
8717
87182022-03-15  Jakub Jelinek  <jakub@redhat.com>
8719
8720          PR target/91229
8721          * config/riscv/riscv.cc (riscv_pass_aggregate_in_fpr_pair_p,
8722          riscv_pass_aggregate_in_fpr_and_gpr_p): Pass OPT_Wpsabi instead of 0
8723          to warning calls.
8724
87252022-03-15  Jakub Jelinek  <jakub@redhat.com>
8726
8727          PR target/104890
8728          * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Use no-mmx,no-sse
8729          instead of general-regs-only.
8730
87312022-03-15  Roger Sayle  <roger@nextmovesoftware.com>
8732              Marc Glisse  <marc.glisse@inria.fr>
8733              Richard Biener  <rguenther@suse.de>
8734
8735          PR tree-optimization/101895
8736          * match.pd (vec_same_elem_p): Handle CONSTRUCTOR_EXPR def.
8737          (plus (vec_perm (mult ...) ...) ...): New reordering simplification.
8738
87392022-03-15  Jakub Jelinek  <jakub@redhat.com>
8740
8741          PR rtl-optimization/104814
8742          * ifcvt.cc (find_if_case_1, find_if_case_2): Punt if test_bb doesn't
8743          end with onlyjump_p.  Assume BB_END (test_bb) is always non-NULL.
8744
87452022-03-15  Martin Sebor  <msebor@redhat.com>
8746
8747          PR middle-end/104436
8748          * gimple-ssa-warn-access.cc (pass_waccess::check_dangling_stores):
8749          Check for warning suppression.  Avoid by-value arguments transformed
8750          into by-transparent-reference.
8751
87522022-03-14  Roger Sayle  <roger@nextmovesoftware.com>
8753              Uroš Bizjak  <ubizjak@gmail.com>
8754
8755          * config/i386/i386.md (peephole2 xorl;movb -> movzbl): Disable
8756          transformation when *zero_extend<mode>si2 is not available.
8757
87582022-03-14  Xi Ruoyao  <xry111@mengyan1223.wang>
8759
8760          * config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Define.
8761          * config/mips/mips.cc (mips_option_override): Make
8762          -fsanitize=address imply -fasynchronous-unwind-tables.  This is
8763          needed by libasan for stack backtrace on MIPS.
8764          (mips_asan_shadow_offset): Return SUBTARGET_SHADOW_OFFSET.
8765
87662022-03-14  Jakub Jelinek  <jakub@redhat.com>
8767
8768          PR debug/104778
8769          * lra.cc (lra_substitute_pseudo): For debug_p mode, simplify
8770          SUBREG, ZERO_EXTEND, SIGN_EXTEND, FLOAT or UNSIGNED_FLOAT if recursive
8771          call simplified the first operand into VOIDmode constant.
8772
87732022-03-14  Jakub Jelinek  <jakub@redhat.com>
8774
8775          PR tree-optimization/102586
8776          * doc/extend.texi (__builtin_clear_padding): Clearify that for C++
8777          argument type should be pointer to trivially-copyable type unless it
8778          is address of a variable or parameter.
8779
87802022-03-14  Jakub Jelinek  <jakub@redhat.com>
8781
8782          PR target/99754
8783          * config/i386/emmintrin.h (_mm_loadu_si32): Put loaded value into
8784          first     rather than last element of the vector, use __m32_u to do
8785          a really unaligned load, use just 0 instead of (int)0.
8786          (_mm_loadu_si16): Put loaded value into first rather than last
8787          element of the vector, use __m16_u to do a really unaligned load,
8788          use just 0 instead of (short)0.
8789
87902022-03-14  Jakub Jelinek  <jakub@redhat.com>
8791
8792          PR other/104899
8793          * config/bfin/bfin.cc (bfin_handle_longcall_attribute): Fix a typo
8794          in diagnostic message - cannott -> cannot.  Use %< and %> around
8795          names of attribute.  Avoid too long line.
8796          * range-op.cc (operator_logical_and::op1_range): Fix up a typo
8797          in comment - cannott -> cannot.  Use 2 spaces after . instead of one.
8798
87992022-03-14  liuhongt  <hongtao.liu@intel.com>
8800
8801          PR target/104666
8802          * config/i386/i386-expand.cc
8803          (ix86_check_builtin_isa_match):         New func.
8804          (ix86_expand_builtin): Move code to
8805          ix86_check_builtin_isa_match and call it.
8806          * config/i386/i386-protos.h
8807          (ix86_check_builtin_isa_match): Declare.
8808          * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
8809          builtin into gimple when isa mismatches.
8810
88112022-03-13  Tobias Burnus  <tobias@codesourcery.com>
8812
8813          * doc/invoke.texi: Fix typos.
8814          * doc/tm.texi.in: Remove duplicated word.
8815          * doc/tm.texi: Regenerate.
8816
88172022-03-12  Segher Boessenkool  <segher@kernel.crashing.org>
8818
8819          PR target/104829
8820          * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Don't output
8821          "ppc" and "ppc64" based on rs6000_cpu.
8822
88232022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
8824
8825          PR middle-end/100280
8826          PR middle-end/104892
8827          * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
8828          Remove special handling of 'GOMP_MAP_FORCE_TOFROM'.
8829
88302022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
8831
8832          PR middle-end/100280
8833          PR middle-end/104086
8834          * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
8835          Mark variables used in 'present' clauses as addressable.
8836          * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Gracefully
8837          handle duplicate 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
8838
88392022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
8840
8841          PR other/65095
8842          * tree-core.h (user_omp_claus_code_name): Declare function.
8843          * tree.cc (user_omp_clause_code_name): New function.
8844
88452022-03-12  Roger Sayle  <roger@nextmovesoftware.com>
8846
8847          PR middle-end/98420
8848          * match.pd (minus @0 @0): Additional checks for -fno-rounding-math
8849          (the defaut) or -fno-signed-zeros.
8850
88512022-03-12   Michael Meissner  <meissner@linux.ibm.com>
8852
8853          PR target/104868
8854          * config/rs6000/vsx.md (extendditi2): Use a 'b' constraint when
8855          moving from a GPR register to an Altivec register.
8856
88572022-03-11  Roger Sayle  <roger@nextmovesoftware.com>
8858
8859          PR tree-optimization/98335
8860          * config/i386/i386.md (peephole2): Eliminate redundant insv.
8861          Combine movl followed by movb.  Transform xorl followed by
8862          a suitable movb or movw into the equivalent movz[bw]l.
8863
88642022-03-11  Roger Sayle  <roger@nextmovesoftware.com>
8865              Richard Biener  <rguenther@suse.de>
8866
8867          PR tree-optimization/98335
8868          * builtins.cc (get_object_alignment_2): Export.
8869          * builtins.h (get_object_alignment_2): Likewise.
8870          * tree-ssa-alias.cc (ao_ref_alignment): New.
8871          * tree-ssa-alias.h (ao_ref_alignment): Declare.
8872          * tree-ssa-dse.cc (compute_trims): Improve logic deciding whether
8873          to align head/tail, writing more bytes but using fewer store insns.
8874
88752022-03-11  Richard Biener  <rguenther@suse.de>
8876
8877          PR tree-optimization/104880
8878          * tree-ssa.cc (execute_update_address_taken): Remember if we
8879          optimistically made something not addressable and
8880          prepare to undo it.
8881
88822022-03-11  Richard Biener  <rguenther@suse.de>
8883
8884          PR target/104762
8885          * config/i386/i386.cc (ix86_builtin_vectorization_cost): Do not
8886          cost the first lane of SSE pieces as inserts for vec_construct.
8887
88882022-03-10  Roger Sayle  <roger@nextmovesoftware.com>
8889
8890          PR c++/84964
8891          * calls.cc (expand_call): Ignore stack adjustments after sorry.
8892
88932022-03-10  Vladimir N. Makarov  <vmakarov@redhat.com>
8894
8895          PR target/103074
8896          * lra-constraints.cc (split_reg): Set up
8897          check_and_force_assignment_correctness_p when splitting hard
8898          register live range.
8899
89002022-03-10  Martin Jambor  <mjambor@suse.cz>
8901
8902          PR ipa/104813
8903          * ipa-cp.cc (create_specialized_node): Move removal of
8904          self-recursive calls from callers vector before refrence
8905          adjustments.
8906
89072022-03-10  Richard Biener  <rguenther@suse.de>
8908
8909          PR tree-optimization/102943
8910          * gimple-range-cache.cc (sbr_sparse_bitmap::bitvec):
8911          Make a bitmap_head.
8912          (sbr_sparse_bitmap::sbr_sparse_bitmap): Adjust and switch
8913          to tree view.
8914          (sbr_sparse_bitmap::set_bb_range): Adjust.
8915          (sbr_sparse_bitmap::get_bb_range): Likewise.
8916
89172022-03-10  Richard Biener  <rguenther@suse.de>
8918
8919          PR tree-optimization/102943
8920          * tree-ssa-dom.cc (back_propagate_equivalences): Only
8921          populate the dominance bitmap if fast queries are not
8922          available.  Use a tree view bitmap.
8923          (record_temporary_equivalences): Cache the dominance bitmap
8924          across all equivalences on the edge.
8925
89262022-03-10  Tom de Vries  <tdevries@suse.de>
8927
8928          PR target/104840
8929          * config/nvptx/nvptx.md (define_attr "predicable"): Use no,yes instead
8930          of false,true.
8931
89322022-03-10  Tom de Vries  <tdevries@suse.de>
8933
8934          PR target/104783
8935          * config/nvptx/nvptx.cc (nvptx_init_unisimt_predicate)
8936          (nvptx_output_unisimt_switch): Handle unisimt_outside_simt_predicate.
8937          (nvptx_get_unisimt_outside_simt_predicate): New function.
8938          (predicate_insn): New function, factored out of ...
8939          (nvptx_reorg_uniform_simt): ... here.  Predicate all emitted insns.
8940          * config/nvptx/nvptx.h (struct machine_function): Add
8941          unisimt_outside_simt_predicate field.
8942          * config/nvptx/nvptx.md (define_insn "nvptx_warpsync")
8943          (define_insn "nvptx_uniform_warp_check"): Make predicable.
8944
89452022-03-10  Tom de Vries  <tdevries@suse.de>
8946
8947          * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Handle unused
8948          result.
8949
89502022-03-10  Tom de Vries  <tdevries@suse.de>
8951
8952          PR target/104815
8953          * config/nvptx/nvptx.cc (nvptx_print_operand): Handle 'x' operand
8954          modifier.
8955          * config/nvptx/nvptx.md: Use %x0 destination operand in atom insns.
8956
89572022-03-10  Tom de Vries  <tdevries@suse.de>
8958
8959          * config/nvptx/nvptx.md (define_insn "atomic_fetch_<logic><mode>"):
8960          Emit atom.and.b64 instead of atom.b64.and.
8961
89622022-03-10  Tom de Vries  <tdevries@suse.de>
8963
8964          * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Move mptx=3.1 ...
8965          (MULTILIB_OPTIONS): ... here.
8966
89672022-03-10  Tom de Vries  <tdevries@suse.de>
8968
8969          PR target/104758
8970          * config/nvptx/nvptx.opt (misa): Set default to sm_30.
8971          * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Remove misa=sm_30.
8972
89732022-03-10  Thomas Schwinge  <thomas@codesourcery.com>
8974
8975          PR middle-end/90115
8976          PR middle-end/102330
8977          PR middle-end/104774
8978          * omp-low.cc (oacc_privatization_candidate_p)
8979          (oacc_privatization_scan_clause_chain)
8980          (oacc_privatization_scan_decl_chain, lower_oacc_private_marker):
8981          Analyze 'lookup_decl'-translated DECL.
8982
89832022-03-10  Jakub Jelinek  <jakub@redhat.com>
8984
8985          PR target/99708
8986          * config/rs6000/rs6000.h (enum rs6000_builtin_type_index): Remove
8987          RS6000_BTI_ptr_ieee128_float and RS6000_BTI_ptr_ibm128_float.
8988          (ptr_ieee128_float_type_node, ptr_ibm128_float_type_node): Remove.
8989          * config/rs6000/rs6000-builtin.cc (rs6000_type_string): Return
8990          "**NULL**" if type_node is NULL first.  Handle
8991          ieee128_float_type_node.
8992          (rs6000_init_builtins): Don't initialize ptr_ieee128_float_type_node
8993          and ptr_ibm128_float_type_node.  Set ibm128_float_type_node and
8994          ieee128_float_type_node to NULL rather than long_double_type_node if
8995          they aren't supported.  Do support __ibm128 even if
8996          !TARGET_FLOAT128_TYPE when long double is double double.
8997          (rs6000_expand_builtin): Error if bif_is_ibm128 and
8998          !ibm128_float_type_node.  Remap RS6000_BIF_{,UN}PACK_IF to
8999          RS6000_BIF_{,UN}PACK_TF much earlier and only use bif_is_ibm128 check
9000          for it.
9001          * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Define
9002          __SIZEOF_FLOAT128__ here and only iff __float128 macro is defined.
9003          (rs6000_cpu_cpp_builtins): Don't define __SIZEOF_FLOAT128__ here.
9004          Define __SIZEOF_IBM128__=16 if ieee128_float_type_node is non-NULL.
9005          Formatting fix.
9006          * config/rs6000/rs6000-gen-builtins.cc: Document ibm128 attribute.
9007          (struct attrinfo): Add isibm128 member.
9008          (TYPE_MAP_SIZE): Remove.
9009          (type_map): Use [] instead of [TYPE_MAP_SIZE].  For "if" use
9010          ibm128_float_type_node only if it is non-NULL, otherwise fall back
9011          to long_double_type_node.  Remove "pif" entry.
9012          (parse_bif_attrs): Handle ibm128 attribute and print it for debugging.
9013          (write_decls): Output bif_ibm128_bit and bif_is_ibm128.
9014          (write_type_node): Use sizeof type_map / sizeof type_map[0]
9015          instead of TYPE_MAP_SIZE.
9016          (write_bif_static_init): Handle isibm128.
9017          * config/rs6000/rs6000-builtins.def: Document ibm128 attribute.
9018          (__builtin_pack_ibm128, __builtin_unpack_ibm128): Add ibm128
9019          attribute.
9020
90212022-03-09  Richard Biener  <rguenther@suse.de>
9022
9023          * cfgexpand.cc (expand_gimple_asm): Special-case MEM_REF
9024          with non-decl operand, avoiding a copy.
9025
90262022-03-09  Jakub Jelinek  <jakub@redhat.com>
9027
9028          PR target/104781
9029          * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Define for ia32.
9030
90312022-03-09  Richard Biener  <rguenther@suse.de>
9032
9033          PR middle-end/104786
9034          * cfgexpand.cc (expand_asm_stmt): Do not generate a copy
9035          for VLAs without an upper size bound.
9036
90372022-03-09  Xi Ruoyao  <xry111@mengyan1223.wang>
9038
9039          PR tree-optimization/104851
9040          * optabs-query.cc (supports_vec_convert_optab_p): Fix off-by-one
9041          error.
9042
90432022-03-09  Jakub Jelinek  <jakub@redhat.com>
9044
9045          PR c/104711
9046          * doc/invoke.texi (-Wextra): Document that -Wshift-negative-value
9047          is enabled by it only for C++11 to C++17 rather than for C++03 or
9048          later.
9049          (-Wshift-negative-value): Similarly (except here we stated
9050          that it is enabled for C++11 or later).
9051
90522022-03-09  Jakub Jelinek  <jakub@redhat.com>
9053
9054          PR rtl-optimization/104839
9055          * simplify-rtx.cc (simplify_unary_operation_1) <case SIGN_EXTEND>:
9056          Use SRP_SIGNED instead of incorrect 1 in SUBREG_PROMOTED_SET.
9057          (simplify_unary_operation_1) <case ZERO_EXTEND>: Use SRP_UNSIGNED
9058          instead of incorrect 0 in SUBREG_PROMOTED_SET.
9059
90602022-03-09  Xi Ruoyao  <xry111@mengyan1223.wang>
9061
9062          PR target/104842
9063          * config/mips/mips.h (LUI_OPERAND): Cast the input to an unsigned
9064          value before adding an offset.
9065
90662022-03-08  Christophe Lyon  <christophe.lyon@arm.com>
9067
9068          * config/arm/arm-builtins.cc
9069          (arm_binop_none_none_unone_qualifiers): Delete.
9070          (BINOP_NONE_NONE_UNONE_QUALIFIERS): Delete.
9071
90722022-03-08  Iain Sandoe  <iain@sandoe.co.uk>
9073
9074          PR translation/104552
9075          * config/host-darwin.cc (darwin_gt_pch_get_address): Amend
9076          the PCH out of memory error message punctuation and wording.
9077
90782022-03-08  Marek Polacek  <polacek@redhat.com>
9079
9080          PR rtl-optimization/104777
9081          * rtl.cc (classify_insn): For ASM_OPERANDS, return JUMP_INSN only if
9082          ASM_OPERANDS_LABEL_VEC has at least one element.
9083
90842022-03-08  H.J. Lu  <hjl.tools@gmail.com>
9085
9086          PR target/104781
9087          * config/i386/i386.cc (ix86_expand_epilogue): Sorry if there is
9088          stack realignment or regparm nested function with EH return.
9089
90902022-03-08  Andre Vieira  <andre.simoesdiasvieira@arm.com>
9091
9092          PR target/104790
9093          * config/arm/arm.h (MVE_STN_LDW_MODE): New MACRO.
9094          * config/arm/arm.cc (mve_vector_mem_operand): Relax constraint on base
9095          register for non widening loads or narrowing stores.
9096
90972022-03-08  Eric Gallager  <egallager@gcc.gnu.org>
9098
9099          PR translation/104552
9100          * params.opt: Fix typo.
9101
91022022-03-08  Richard Biener  <rguenther@suse.de>
9103
9104          PR tree-optimization/84201
9105          * params.opt (-param=vect-induction-float): Add.
9106          * doc/invoke.texi (vect-induction-float): Document.
9107          * tree-vect-loop.cc (vectorizable_induction): Honor
9108          param_vect_induction_float.
9109
91102022-03-08  Martin Jambor  <mjambor@suse.cz>
9111
9112          PR translation/104552
9113          * params.opt (ipa-cp-recursive-freq-factor): Remove repeated word
9114          "that" in the description.
9115
91162022-03-08  Richard Biener  <rguenther@suse.de>
9117
9118          PR tree-optimization/104825
9119          * tree-ssa-sccvn.cc (visit_reference_op_call): Properly
9120          guard modref get_ao_ref on a pointer typed argument.
9121
91222022-03-08  liuhongt  <hongtao.liu@intel.com>
9123
9124          * config/i386/sse.md (*vec_dupv4si): Disable memory operand
9125          for !TARGET_INTER_UNIT_MOVES_TO_VEC when prefer_for_speed.
9126
91272022-03-07  Jonathan Wakely  <jwakely@redhat.com>
9128
9129          * doc/invoke.texi (C++ Modules): Remove anachronism.
9130
91312022-03-07  Martin Liska  <mliska@suse.cz>
9132
9133          PR middle-end/104381
9134          * opts.cc (finish_options): If debug info is disabled
9135          (debug_info_level) and -fvar-tracking is unset, disable it.
9136
91372022-03-07  Jakub Jelinek  <jakub@redhat.com>
9138
9139          * tree-ssa-propagate.cc: Fix up duplicated word issue in a comment.
9140          * config/riscv/riscv.cc: Likewise.
9141          * config/darwin.h: Likewise.
9142          * config/i386/i386.cc: Likewise.
9143          * config/aarch64/thunderx3t110.md: Likewise.
9144          * config/aarch64/fractional-cost.h: Likewise.
9145          * config/vax/vax.cc: Likewise.
9146          * config/rs6000/pcrel-opt.md: Likewise.
9147          * config/rs6000/predicates.md: Likewise.
9148          * ctfc.h: Likewise.
9149          * tree-ssa-uninit.cc: Likewise.
9150          * value-relation.h: Likewise.
9151          * gimple-range-gori.cc: Likewise.
9152          * ipa-polymorphic-call.cc: Likewise.
9153          * pointer-query.cc: Likewise.
9154          * ipa-sra.cc: Likewise.
9155          * internal-fn.cc: Likewise.
9156          * varasm.cc: Likewise.
9157          * gimple-ssa-warn-access.cc: Likewise.
9158
91592022-03-07  Martin Liska  <mliska@suse.cz>
9160
9161          PR target/104794
9162          * config/arm/arm.cc (arm_option_override_internal): Add missing
9163          space.
9164
91652022-03-07  Richard Biener  <rguenther@suse.de>
9166
9167          PR tree-optimization/104782
9168          * tree-vect-slp.cc (vectorize_slp_instance_root_stmt):
9169          Re-instantiate r10-5979 fix, add comment.
9170
91712022-03-07  Martin Liska  <mliska@suse.cz>
9172
9173          PR target/104797
9174          * config/msp430/msp430.cc (msp430_expand_delay_cycles): Remove
9175          parenthesis from built-in name.
9176
91772022-03-07  Martin Liska  <mliska@suse.cz>
9178
9179          PR target/104794
9180          * config/arm/arm.cc (arm_option_override_internal): Fix quoting
9181          of options in error messages.
9182          (arm_option_reconfigure_globals): Likewise.
9183
91842022-03-07  Martin Liska  <mliska@suse.cz>
9185
9186          PR target/104794
9187          * config/arm/arm-builtins.cc (arm_expand_builtin): Reuse error
9188          message.  Fix ARM_BUILTIN_WRORHI and ARM_BUILTIN_WRORH that can
9189          have only range [0,32].
9190
91912022-03-07  Jakub Jelinek  <jakub@redhat.com>
9192
9193          PR target/104775
9194          * config/s390/s390.md (*cmp_and_trap_unsigned_int<mode>): Use
9195          S constraint instead of T in the last alternative.
9196
91972022-03-07  Martin Liska  <mliska@suse.cz>
9198
9199          * plugin.cc (default_plugin_dir_name): Remove <dir> from error
9200          message.
9201
92022022-03-07  Martin Liska  <mliska@suse.cz>
9203
9204          PR translation/90148
9205          * config/rs6000/rs6000.cc (rs6000_linux64_override_options): Put
9206          quote to a proper place.
9207          * plugin.cc (default_plugin_dir_name): Likewise.
9208
92092022-03-07  Martin Liska  <mliska@suse.cz>
9210
9211          PR target/99297
9212          * config/rx/rx.cc (rx_expand_builtin_mvtc): Fix translation
9213          string.
9214
92152022-03-07  Jakub Jelinek  <jakub@redhat.com>
9216
9217          PR target/104779
9218          * config/i386/sse.md (avx512dq_mul<mode>3<mask_name>): New
9219          define_expand pattern.  Rename define_insn to ...
9220          (*avx512dq_mul<mode>3<mask_name>): ... this.
9221          (<code><mode>3_mask): New any_logic define_expand pattern.
9222          (<mask_codefor><code><mode>3<mask_name>): Rename to ...
9223          (*<code><mode>3<mask_name>): ... this.
9224
92252022-03-05  Jakub Jelinek  <jakub@redhat.com>
9226
9227          * gimple-ssa-warn-access.cc (pass_waccess::use_after_inval_p): Remove
9228          visited bitmap and its use.  Also punt on EDGE_ABNORMAL edges.
9229
92302022-03-05  Roger Sayle  <roger@nextmovesoftware.com>
9231              Uroš Bizjak  <ubizjak@gmail.com>
9232
9233          PR testsuite/104732
9234          * config/i386/i386.md (SWIM1248x): Renamed from SWIM1248s.
9235          Include DI mode unconditionally.
9236          (*anddi3_doubleword): Remove && TARGET_STV && TARGET_SSE2 condition,
9237          i.e. always split on !TARGET_64BIT.
9238          (*<any_or>di3_doubleword): Likewise.
9239          (*one_cmpldi2_doubleword): Likewise.
9240          (and<mode>3 expander): Update to use SWIM1248x from SWIM1248s.
9241          (<any_or><mode>3 expander): Likewise.
9242          (one_cmpl<mode>2 expander): Likewise.
9243
92442022-03-05   Michael Meissner  <meissner@linux.ibm.com>
9245
9246          PR target/104698
9247          * config/rs6000/vsx.md (UNSPEC_MTVSRD_DITI_W1): Delete.
9248          (mtvsrdd_diti_w1): Delete.
9249          (extendditi2): Convert from define_expand to
9250          define_insn_and_split.  Replace with code to deal with both GPR
9251          registers and with altivec registers.
9252
92532022-03-04  Segher Boessenkool  <segher@kernel.crashing.org>
9254
9255          * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Restructure a
9256          bit.  Handle most older CPUs.
9257
92582022-03-04  Iain Sandoe  <iain@sandoe.co.uk>
9259
9260          * config/darwin.cc (darwin_fold_builtin): Make fcode an int to
9261          avoid a mismatch with DECL_MD_FUNCTION_CODE().
9262
92632022-03-04  Iain Sandoe  <iain@sandoe.co.uk>
9264
9265          PR target/104117
9266          * config/rs6000/darwin.md (@machopic_high_<mode>): New.
9267          (@machopic_low_<mode>): New.
9268          * config/rs6000/predicates.md (macho_pic_address): New.
9269          * config/rs6000/rs6000.cc (rs6000_legitimize_address): Do not
9270          apply the TLS processing to Darwin.
9271          * lra-constraints.cc (process_address_1): Revert the changes
9272          in r12-7209.
9273
92742022-03-04  Peter Bergner  <bergner@linux.ibm.com>
9275
9276          PR target/87496
9277          PR target/104208
9278          * config/rs6000/rs6000.cc (rs6000_option_override_internal): Make the
9279          ISA 2.06 requirement for -mabi=ieeelongdouble conditional on
9280          -mlong-double-128.
9281          Move the -mabi=ieeelongdouble and -mabi=ibmlongdouble error checking
9282          from here...
9283          * common/config/rs6000/rs6000-common.cc (rs6000_handle_option):
9284          ... to here.
9285
92862022-03-04  Jakub Jelinek  <jakub@redhat.com>
9287
9288          PR middle-end/104529
9289          * gimplify.cc (gimplify_init_constructor): Clear TREE_READONLY
9290          on automatic objects which will be runtime initialized.
9291
92922022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
9293
9294          PR middle-end/100280
9295          PR middle-end/104132
9296          PR middle-end/104133
9297          * omp-low.cc (task_shared_vars): Rename to
9298          'make_addressable_vars'.  Adjust all users.
9299          (scan_sharing_clauses) <OMP_CLAUSE_MAP> Use it for
9300          'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' DECLs, too.
9301
93022022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
9303
9304          PR middle-end/100280
9305          * tree.h (OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE): New.
9306          * tree-core.h: Document it.
9307          * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Handle
9308          'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
9309          * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
9310          Set 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' instead of
9311          'TREE_ADDRESSABLE'.
9312
93132022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
9314
9315          PR middle-end/100280
9316          * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
9317          Add diagnostic: "note: OpenACC 'kernels' decomposition: variable
9318          '[...]' declared in block made addressable".
9319
93202022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
9321
9322          PR middle-end/100400
9323          PR middle-end/103836
9324          PR middle-end/104061
9325          * omp-oacc-kernels-decompose.cc (decompose_kernels_region_body):
9326          Catch 'GIMPLE_DEBUG'.
9327
93282022-03-04  Jakub Jelinek  <jakub@redhat.com>
9329
9330          PR c/104627
9331          * tree.cc (warn_deprecated_use): For types prefer to use node
9332          and only use TYPE_MAIN_VARIANT (node) if TYPE_STUB_DECL (node) is
9333          NULL.
9334
93352022-03-04  H.J. Lu  <hjl.tools@gmail.com>
9336
9337          PR target/104704
9338          * config/i386/i386.cc (ix86_gen_scratch_sse_rtx): Always return
9339          a pseudo register.
9340
93412022-03-03  Martin Sebor  <msebor@redhat.com>
9342
9343          PR middle-end/104761
9344          * gimple-ssa-warn-access.cc (pass_waccess::execute): Call
9345          mark_dfs_back_edges.
9346
93472022-03-03  Martin Liska  <mliska@suse.cz>
9348
9349          * configure.ac: Use linker plug-in by default.
9350          * configure: Regenerate.
9351
93522022-03-03  Martin Liska  <mliska@suse.cz>
9353
9354          * configure.ac: Now ld.mold support LTO plugin API, use it.
9355          * configure: Regenerate.
9356
93572022-03-03  Tom de Vries  <tdevries@suse.de>
9358
9359          * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add mptx=3.1.
9360
93612022-03-03  Tom de Vries  <tdevries@suse.de>
9362
9363          PR target/104758
9364          * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add misa=sm_30.
9365
93662022-03-03  Tom de Vries  <tdevries@suse.de>
9367
9368          * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
9369
93702022-03-03  Jakub Jelinek  <jakub@redhat.com>
9371
9372          PR middle-end/104757
9373          * gimplify.cc (gimplify_omp_loop): Call gimplify_expr rather than
9374          gimplify_omp_for.
9375          (gimplify_expr) <case OMP_SIMD>: Temporarily disable
9376          gimplify_ctxp->into_ssa around call to gimplify_omp_for.
9377
93782022-03-03  Jakub Jelinek  <jakub@redhat.com>
9379
9380          PR middle-end/104558
9381          * calls.cc (store_one_arg): When not calling emit_push_insn
9382          because size_rtx is const0_rtx, call at least anti_adjust_stack
9383          on arg->locate.alignment_pad if !argblock and the alignment might
9384          be non-zero.
9385
93862022-03-02  Alexandre Oliva  <oliva@adacore.com>
9387
9388          * lra-constraints.cc (undo_optional_reloads): Recognize and
9389          drop insns of multi-word move sequences, tolerate removal
9390          iteration on an already-removed clobber, and refuse to
9391          substitute original pseudos into clobbers.
9392
93932022-03-02  Qing Zhao  <qing.zhao@oracle.com>
9394
9395          PR middle-end/102276
9396          * common.opt (-Wtrivial-auto-var-init): New option.
9397          * doc/invoke.texi (-Wtrivial-auto-var-init): Document new option.
9398          (-ftrivial-auto-var-init): Update option;
9399          * gimplify.cc (emit_warn_switch_unreachable): New function.
9400          (warn_switch_unreachable_r): Rename to ...
9401          (warn_switch_unreachable_and_auto_init_r): This.
9402          (maybe_warn_switch_unreachable): Rename to ...
9403          (maybe_warn_switch_unreachable_and_auto_init): This.
9404          (gimplify_switch_expr): Update calls to renamed function.
9405
94062022-03-02  Richard Biener  <rguenther@suse.de>
9407
9408          PR rtl-optimization/104686
9409          * ira-color.cc (object_conflicts_with_allocno_p): New function
9410          using a bitvector test instead of iterating when possible.
9411          (allocnos_conflict_p): Choose the best allocno to iterate over
9412          object conflicts.
9413          (update_conflict_hard_regno_costs): Do allocnos_conflict_p test
9414          last.
9415
94162022-03-02  Jakub Jelinek  <jakub@redhat.com>
9417
9418          * cfg.cc (dump_edge_info): Dump goto_locus if present.
9419
94202022-03-02  Jakub Jelinek  <jakub@redhat.com>
9421
9422          PR rtl-optimization/104589
9423          * cfgrtl.cc (fixup_reorder_chain): Use loc_equal instead of direct
9424          INSN_LOCATION comparison with goto_locus.
9425
94262022-03-02  Jakub Jelinek  <jakub@redhat.com>
9427
9428          * tree-ssa-strlen.cc (strlen_pass::handle_assign,
9429          strlen_pass::before_dom_children): Comment spelling fixes.
9430
94312022-03-02  Jakub Jelinek  <jakub@redhat.com>
9432
9433          * ipa-modref-tree.cc (modref_access_node::contains,
9434          modref_access_node::closer_pair_p, modref_access_node::insert,
9435          modref_access_node::insert_kill): Comment spelling fixes.
9436          * ipa-modref.cc: Likewise.
9437          (modref_summary::finalize, ignore_nondeterminism_p,
9438          class modref_access_analysis,
9439          modref_access_analysis::set_side_effects,
9440          modref_access_analysis::set_nondeterministic,
9441          modref_access_analysis::record_global_memory_load,
9442          modref_access_analysis::propagate, modref_access_analysis::analyze,
9443          struct escape_point, class modref_lattice, modref_lattice::merge,
9444          modref_lattice::merge_deref, class modref_eaf_analysis,
9445          modref_eaf_analysis::merge_call_lhs_flags,
9446          modref_eaf_analysis::analyze_ssa_name, modref_eaf_analysis::propagate,
9447          modref_eaf_analysis::record_escape_points, remap_kills,
9448          update_escape_summary, remove_useless_summaries,
9449          ipa_merge_modref_summary_after_inlining, pass_ipa_modref::execute):
9450          Likewise.
9451          * ipa-modref.h (struct modref_summary, interposable_eaf_flags):
9452          Likewise.
9453          * ipa-modref-tree.h (enum modref_special_parms,
9454          struct modref_access_node): Likewise.
9455
94562022-03-01  Jakub Jelinek  <jakub@redhat.com>
9457
9458          PR tree-optimization/104715
9459          * gimple-ssa-warn-access.cc (pass_waccess::check_pointer_uses): Don't
9460          unnecessarily test if ptr is a SSA_NAME, it has to be.  Only push lhs
9461          of a call if gimple_call_return_arg is equal to ptr, not just when it
9462          is non-NULL.
9463
94642022-03-01  Jakub Jelinek  <jakub@redhat.com>
9465
9466          * gimple-ssa-warn-access.cc (warn_string_no_nul,
9467          maybe_warn_nonstring_arg, fndecl_alloc_p, new_delete_mismatch_p,
9468          matching_alloc_calls_p, maybe_warn_alloc_args_overflow,
9469          pass_waccess::check_alloca, pass_waccess::check_strcat,
9470          memmodel_to_uhwi, fntype_argno_type,
9471          pass_waccess::maybe_check_access_sizes,
9472          pass_waccess::check_call_access,
9473          pass_waccess::maybe_check_dealloc_call, pass_waccess::check_stmt):
9474          Comment spelling fixes.
9475
94762022-03-01  Richard Biener  <rguenther@suse.de>
9477
9478          PR tree-optimization/104716
9479          * tree-loop-distribution.cc (find_seed_stmts_for_distribution):
9480          Check if we can copy the loop.
9481
94822022-03-01  H.J. Lu  <hjl.tools@gmail.com>
9483
9484          PR middle-end/104721
9485          * cfgexpand.cc (expand_gimple_basic_block): Clear
9486          currently_expanding_gimple_stmt when returning inside the loop.
9487
94882022-03-01  Martin Liska  <mliska@suse.cz>
9489
9490          PR ipa/104533
9491          * multiple_target.cc (get_attr_len): Move to tree.c.
9492          (expand_target_clones): Remove single value checking.
9493          * tree.cc (get_target_clone_attr_len): New fn.
9494          * tree.h (get_target_clone_attr_len): Likewise.
9495
94962022-03-01  Martin Liska  <mliska@suse.cz>
9497
9498          PR gcov-profile/104677
9499          * doc/invoke.texi: Document more .gcda file name generation.
9500
95012022-03-01  Tom de Vries  <tdevries@suse.de>
9502
9503          PR target/102429
9504          * config/nvptx/nvptx.cc (nvptx_gen_shuffle): Handle DCmode and CDImode.
9505          * config/nvptx/nvptx.md
9506          (define_predicate "nvptx_register_or_complex_di_df_register_operand"):
9507          New predicate.
9508          (define_expand "omp_simt_xchg_bfly", define_expand "omp_simt_xchg_idx"):
9509          Use nvptx_register_or_complex_di_df_register_operand.
9510
95112022-03-01  Tom de Vries  <tdevries@suse.de>
9512
9513          * config.gcc (nvptx*-*-*): Add nvptx/nvptx-gen.opt to extra_options.
9514          * config/nvptx/gen-copyright.sh: New file.
9515          * config/nvptx/gen-h.sh: New file.
9516          * config/nvptx/gen-opt.sh: New file.
9517          * config/nvptx/nvptx.h (TARGET_SM35, TARGET_SM53, TARGET_SM70)
9518          (TARGET_SM75, TARGET_SM80): Move ...
9519          * config/nvptx/nvptx-gen.h: ... here.  New file, generate.
9520          * config/nvptx/nvptx.opt (Enum ptx_isa): Move ...
9521          * config/nvptx/nvptx-gen.opt: ... here.  New file, generate.
9522          * config/nvptx/t-nvptx ($(srcdir)/config/nvptx/nvptx-gen.h)
9523          ($(srcdir)/config/nvptx/nvptx-gen.opt): New make target.
9524
95252022-03-01  Tom de Vries  <tdevries@suse.de>
9526
9527          * config/nvptx/gen-omp-device-properties.sh: New file.
9528          * config/nvptx/t-omp-device: Use gen-omp-device-properties.sh.
9529
95302022-03-01  Tom de Vries  <tdevries@suse.de>
9531
9532          * config/nvptx/nvptx-sm.def: New file.
9533          * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Use nvptx-sm.def.
9534          * config/nvptx/nvptx-opts.h (enum ptx_isa): Same.
9535          * config/nvptx/nvptx.cc (sm_version_to_string)
9536          (nvptx_omp_device_kind_arch_isa): Same.
9537
95382022-03-01  Robin Dapp  <rdapp@linux.ibm.com>
9539
9540          PR rtl-optimization/104154
9541          * config/arc/arc.cc (gen_compare_reg):  Return the CC-mode
9542          comparison ifcvt passed us.
9543
95442022-03-01  Hongyu Wang  <hongyu.wang@intel.com>
9545
9546          PR target/104664
9547          * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
9548            Use vec_setv8hf_0 for HF to V8HFmode move instead of subreg.
9549
95502022-02-28  Roger Sayle  <roger@nextmovesoftware.com>
9551
9552          PR tree-optimization/91384
9553          * config/i386/i386.md (peephole2): Eliminate final testl insn
9554          from the sequence *movsi_internal, *negsi_1, *cmpsi_ccno_1 by
9555          transforming using *negsi_2 for the negation.
9556
95572022-02-28  Roger Sayle  <roger@nextmovesoftware.com>
9558              Eric Botcazou  <ebotcazou@adacore.com>
9559
9560          PR middle-end/80270
9561          * expmed.cc (extract_integral_bit_field): If OP0 is a hard
9562          register, copy it to a pseudo before calling simplify_gen_subreg.
9563
95642022-02-28  Vladimir N. Makarov  <vmakarov@redhat.com>
9565
9566          PR rtl-optimization/104637
9567          * lra-assigns.cc (lra_split_hard_reg_for): Split hard regs as many
9568          as possible on one subpass.
9569
95702022-02-28  Qing Zhao  <qing.zhao@oracle.com>
9571
9572          PR middle-end/104550
9573          * gimple-fold.cc (clear_padding_flush): Suppress warnings for new
9574          created uses.
9575
95762022-02-28  Martin Liska  <mliska@suse.cz>
9577
9578          PR ipa/104648
9579          * main.cc (main): Use flag_checking instead of CHECKING_P
9580          and run toplev::finalize only if there is not error seen.
9581
95822022-02-28  Richard Biener  <rguenther@suse.de>
9583
9584          * tree-ssa-pre.cc (compute_avail): Revert part of last change.
9585
95862022-02-28  Richard Biener  <rguenther@suse.de>
9587
9588          PR tree-optimization/104700
9589          * tree-ssa-pre.cc (get_or_alloc_expr_for): Remove and inline
9590          into ...
9591          (find_or_generate_expression): ... here, simplifying code.
9592
95932022-02-28  Tom de Vries  <tdevries@suse.de>
9594
9595          * config/nvptx/nvptx-opts.h (enum ptx_version): Add
9596          PTX_VERSION_default.
9597          * config/nvptx/nvptx.cc (handle_ptx_version_option): Handle
9598          PTX_VERSION_default.
9599          * config/nvptx/nvptx.opt: Add EnumValue "_" / PTX_VERSION_default.
9600
96012022-02-28  Richard Biener  <rguenther@suse.de>
9602
9603          PR rtl-optimization/104686
9604          * ira-int.h (minmax_set_iter_cond): Use ctz_hwi to elide loop
9605          skipping bits that are zero.
9606          (ira_object_conflict_iter_cond): Likewise.
9607
96082022-02-28  Hongyu Wang  <hongyu.wang@intel.com>
9609
9610          * config/i386/avx512fintrin.h (_MM_TERNLOG_ENUM): New enum.
9611          (_mm512_ternarylogic_epi64): Truncate imm to unsigned
9612          char to avoid error when using ~enum as parameter.
9613          (_mm512_mask_ternarylogic_epi64): Likewise.
9614          (_mm512_maskz_ternarylogic_epi64): Likewise.
9615          (_mm512_ternarylogic_epi32): Likewise.
9616          (_mm512_mask_ternarylogic_epi32): Likewise.
9617          (_mm512_maskz_ternarylogic_epi32): Likewise.
9618          * config/i386/avx512vlintrin.h (_mm256_ternarylogic_epi64):
9619          Adjust imm param type to unsigned char.
9620          (_mm256_mask_ternarylogic_epi64): Likewise.
9621          (_mm256_maskz_ternarylogic_epi64): Likewise.
9622          (_mm256_ternarylogic_epi32): Likewise.
9623          (_mm256_mask_ternarylogic_epi32): Likewise.
9624          (_mm256_maskz_ternarylogic_epi32): Likewise.
9625          (_mm_ternarylogic_epi64): Likewise.
9626          (_mm_mask_ternarylogic_epi64): Likewise.
9627          (_mm_maskz_ternarylogic_epi64): Likewise.
9628          (_mm_ternarylogic_epi32): Likewise.
9629          (_mm_mask_ternarylogic_epi32): Likewise.
9630          (_mm_maskz_ternarylogic_epi32): Likewise.
9631
96322022-02-25  Jakub Jelinek  <jakub@redhat.com>
9633              Marc Glisse  <marc.glisse@inria.fr>
9634
9635          PR tree-optimization/104675
9636          * match.pd (t * 2U / 2 -> t & (~0 / 2), t / 2U * 2 -> t & ~1):
9637          Restrict simplifications to INTEGRAL_TYPE_P.
9638
96392022-02-25  Jakub Jelinek  <jakub@redhat.com>
9640
9641          PR target/104681
9642          * config/rs6000/vector.md (movmisalign<mode>): Use rs6000_emit_move.
9643
96442022-02-25  Claudiu Zissulescu  <claziss@synopsys.com>
9645
9646          * config/arc/arc.cc (gen_compare_reg): Return NULL_RTX if the
9647          comparison is not valid.
9648          * config/arc/arc.md (movsicc): Fail if comparison is not valid.
9649          (movdicc): Likewise.
9650          (movsfcc): Likewise.
9651          (movdfcc): Likewise.
9652
96532022-02-25  Richard Biener  <rguenther@suse.de>
9654
9655          PR tree-optimization/103037
9656          * tree-ssa-sccvn.h (alloc_vn_nary_op_noinit): Declare.
9657          (vn_nary_length_from_stmt): Likewise.
9658          (init_vn_nary_op_from_stmt): Likewise.
9659          (vn_nary_op_compute_hash): Likewise.
9660          * tree-ssa-sccvn.cc (alloc_vn_nary_op_noinit): Export.
9661          (vn_nary_length_from_stmt): Likewise.
9662          (init_vn_nary_op_from_stmt): Likewise.
9663          (vn_nary_op_compute_hash): Likewise.
9664          * tree-ssa-pre.cc (pre_expr_obstack): New obstack.
9665          (get_or_alloc_expr_for_nary): Pass in the value-id to use,
9666          (re-)compute the hash value and if the expression is not
9667          found allocate it from pre_expr_obstack.
9668          (phi_translate_1): Do not insert the NARY found in the
9669          VN tables but build a PRE expression from the valueized
9670          NARY with the value-id we eventually found.
9671          (find_or_generate_expression): Assert we have an entry
9672          for constant values.
9673          (compute_avail): Insert not valueized expressions into
9674          EXP_GEN using the value-id from the VN tables.
9675          (init_pre): Allocate pre_expr_obstack.
9676          (fini_pre): Free pre_expr_obstack.
9677
96782022-02-25  Jakub Jelinek  <jakub@redhat.com>
9679
9680          PR target/104674
9681          * config/i386/i386.h (enum ix86_stack_slot): Add SLOT_FLOATxFDI_387.
9682          * config/i386/i386.md (splitter to floatdi<mode>2_i387_with_xmm): Use
9683          SLOT_FLOATxFDI_387 rather than SLOT_TEMP.
9684
96852022-02-25  Jakub Jelinek  <jakub@redhat.com>
9686
9687          * warning-control.cc (get_nowarn_spec): Comment spelling fix.
9688
96892022-02-25  Jakub Jelinek  <jakub@redhat.com>
9690
9691          PR middle-end/104679
9692          * internal-fn.cc (expand_SPACESHIP): Call do_pending_stack_adjust.
9693
96942022-02-25  Jakub Jelinek  <jakub@redhat.com>
9695
9696          PR tree-optimization/104675
9697          * match.pd (-A - 1 -> ~A, -1 - A -> ~A): Don't simplify for
9698          COMPLEX_TYPE.
9699
97002022-02-25  Alexandre Oliva  <oliva@adacore.com>
9701
9702          PR target/104121
9703          PR target/103302
9704          * expr.cc (emit_move_multi_word): Restore clobbers during LRA.
9705
97062022-02-25  Alexandre Oliva  <oliva@adacore.com>
9707
9708          PR middle-end/104540
9709          * dwarf2cfi.cc (cfi_oprnd_equal_p): Cope with NULL
9710          dw_cfi_cfa_loc.
9711
97122022-02-25  Alexandre Oliva  <oliva@adacore.com>
9713
9714          PR tree-optimization/103856
9715          * gimple-harden-conditionals.cc (non_eh_succ_edge): Enable the
9716          eh edge to be requested through an extra parameter.
9717          (pass_harden_compares::execute): Copy PHI args in the EH dest
9718          block for the new EH edge added for the inverted compare.
9719
97202022-02-24  Palmer Dabbelt  <palmer@rivosinc.com>
9721
9722          * doc/invoke.texi (RISC-V -mcmodel=medany): Document the degree
9723          of position independence that -mcmodel=medany affords.
9724
97252022-02-24  Jose E. Marchesi  <jose.marchesi@oracle.com>
9726
9727          PR target/104656
9728          * configure.ac: --disable-gcov if targetting bpf-*.
9729          * configure: Regenerate.
9730
97312022-02-24  Richard Biener  <rguenther@suse.de>
9732
9733          PR tree-optimization/104676
9734          * tree-loop-distribution.cc (loop_distribution::execute):
9735          Do a full scev_reset.
9736
97372022-02-24  Jakub Jelinek  <jakub@redhat.com>
9738
9739          PR tree-optimization/104601
9740          * tree-ssa-sccvn.cc (visit_reference_op_call): For calls with
9741          non-SSA_NAME lhs value number vdef to itself instead of e.g. the
9742          vuse value number.
9743
97442022-02-24  Tom de Vries  <tdevries@suse.de>
9745              Tobias Burnus  <tobias@codesourcery.com>
9746
9747          * config/nvptx/nvptx.cc (nvptx_omp_device_kind_arch_isa): Handle
9748          sm_70, sm_75 and sm_80.
9749          * config/nvptx/t-omp-device: Add sm_53, sm_70, sm_75 and sm_80.
9750
97512022-02-24  Tom de Vries  <tdevries@suse.de>
9752
9753          * config/nvptx/nvptx.md (define_insn "rotlsi3", define_insn
9754          "rotrsi3"): New define_insn.
9755
97562022-02-24  Tom de Vries  <tdevries@suse.de>
9757
9758          * config/nvptx/nvptx.cc (gen_comment): Use
9759          DECL_SOURCE_LOCATION (cfun->decl) instead of cfun->function_start_locus.
9760
97612022-02-24  liuhongt  <hongtao.liu@intel.com>
9762
9763          * config/i386/sse.md (<code>v1ti3): Add suffix and replace
9764          isa attr of alternative 2 from avx to avx512vl.
9765
97662022-02-23  Richard Biener  <rguenther@suse.de>
9767              Jakub Jelinek  <jakub@redhat.com>
9768
9769          PR tree-optimization/104644
9770          * doc/match-and-simplify.texi: Amend ! documentation.
9771          * genmatch.cc (expr::gen_transform): Code-generate ! support
9772          for GENERIC.
9773          (parser::parse_expr): Allow ! for GENERIC.
9774          * match.pd (cmp (bswap @0) INTEGER_CST@1): Use ! modifier on
9775          bswap.
9776
97772022-02-23  Richard Biener  <rguenther@suse.de>
9778
9779          PR tree-optimization/101636
9780          * tree-vect-slp.cc (vect_print_slp_tree): Dump the
9781          vector type of the node.
9782          (vect_slp_analyze_operations): Make sure the CTOR
9783          is vectorized with an expected type.
9784          (vectorize_slp_instance_root_stmt): Revert r10-5979 fix.
9785
97862022-02-23  Jakub Jelinek  <jakub@redhat.com>
9787
9788          PR c/104633
9789          * gimple-warn-recursion.cc (pass_warn_recursion::find_function_exit):
9790          Don't warn about calls to corresponding builtin from extern inline
9791          gnu_inline wrappers.
9792
97932022-02-23  Roger Sayle  <roger@nextmovesoftware.com>
9794
9795          PR target/104489
9796          * config/nvptx/nvptx.md (*movhf_insn): Add subregs_ok attribute.
9797
97982022-02-23  Christophe Lyon  <christophe.lyon@arm.com>
9799
9800          PR target/100757
9801          PR target/101325
9802          * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Fix
9803          typo.
9804
98052022-02-23  Cui,Lili  <lili.cui@intel.com>
9806
9807          * doc/invoke.texi: Update documents for Intel architectures.
9808
98092022-02-22  Roger Sayle  <roger@nextmovesoftware.com>
9810
9811          * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop): Restore
9812          bootstrap.
9813
98142022-02-22  Thomas Schwinge  <thomas@codesourcery.com>
9815
9816          * omp-low.cc (omp_build_component_ref): Move function...
9817          * omp-general.cc (omp_build_component_ref): ... here.  Remove
9818          'static'.
9819          * omp-general.h (omp_build_component_ref): Declare function.
9820          * omp-oacc-neuter-broadcast.cc (oacc_build_component_ref): Remove
9821          function.
9822          (build_receiver_ref, build_sender_ref): Call
9823          'omp_build_component_ref' instead.
9824
98252022-02-22  Thomas Schwinge  <thomas@codesourcery.com>
9826
9827          * omp-oacc-neuter-broadcast.cc (record_field_map_t): Further
9828          simplify.  Adjust all users.
9829
98302022-02-22  Segher Boessenkool  <segher@kernel.crashing.org>
9831
9832          PR target/88134
9833          * config/rs6000/rs6000.cc (atomic_hold_decl, atomic_clear_decl,
9834          atomic_update_decl): Add GTY markup.
9835
98362022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
9837
9838          * config/arm/arm.h (REG_CLASS_CONTENTS): Add VPR_REG to ALL_REGS.
9839
98402022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
9841
9842          PR target/100757
9843          PR target/101325
9844          * config/arm/arm-builtins.cc (CX_UNARY_UNONE_QUALIFIERS): Use
9845          predicate.
9846          (CX_BINARY_UNONE_QUALIFIERS): Likewise.
9847          (CX_TERNARY_UNONE_QUALIFIERS): Likewise.
9848          (TERNOP_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
9849          (QUADOP_NONE_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
9850          (QUADOP_UNONE_UNONE_UNONE_UNONE_UNONE_QUALIFIERS): Delete.
9851          * config/arm/arm_mve_builtins.def: Use predicated qualifiers.
9852          * config/arm/mve.md: Use VxBI instead of HI.
9853
98542022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
9855
9856          PR target/100757
9857          PR target/101325
9858          * config/arm/arm-builtins.cc (STRSBS_P_QUALIFIERS): Use predicate
9859          qualifier.
9860          (STRSBU_P_QUALIFIERS): Likewise.
9861          (LDRGBS_Z_QUALIFIERS): Likewise.
9862          (LDRGBU_Z_QUALIFIERS): Likewise.
9863          (LDRGBWBXU_Z_QUALIFIERS): Likewise.
9864          (LDRGBWBS_Z_QUALIFIERS): Likewise.
9865          (LDRGBWBU_Z_QUALIFIERS): Likewise.
9866          (STRSBWBS_P_QUALIFIERS): Likewise.
9867          (STRSBWBU_P_QUALIFIERS): Likewise.
9868          * config/arm/mve.md: Use VxBI instead of HI.
9869
98702022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
9871
9872          PR target/100757
9873          PR target/101325
9874          * config/arm/arm-builtins.cc (TERNOP_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
9875          (TERNOP_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
9876          (TERNOP_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
9877          (TERNOP_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
9878          (TERNOP_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
9879          (TERNOP_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
9880          (TERNOP_NONE_NONE_UNONE_UNONE_QUALIFIERS): Change to ...
9881          (TERNOP_NONE_NONE_UNONE_PRED_QUALIFIERS): ... this.
9882          (QUADOP_UNONE_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
9883          (QUADOP_UNONE_UNONE_NONE_NONE_PRED_QUALIFIERS): ... this.
9884          (QUADOP_NONE_NONE_NONE_NONE_PRED_QUALIFIERS): New.
9885          (QUADOP_NONE_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
9886          (QUADOP_NONE_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
9887          (QUADOP_UNONE_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
9888          (QUADOP_UNONE_UNONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
9889          (QUADOP_UNONE_UNONE_NONE_IMM_PRED_QUALIFIERS): ... this.
9890          (QUADOP_NONE_NONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
9891          (QUADOP_NONE_NONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
9892          (QUADOP_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
9893          (QUADOP_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
9894          (QUADOP_UNONE_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
9895          (QUADOP_UNONE_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
9896          (STRS_P_QUALIFIERS): Use predicate qualifier.
9897          (STRU_P_QUALIFIERS): Likewise.
9898          (STRSU_P_QUALIFIERS): Likewise.
9899          (STRSS_P_QUALIFIERS): Likewise.
9900          (LDRGS_Z_QUALIFIERS): Likewise.
9901          (LDRGU_Z_QUALIFIERS): Likewise.
9902          (LDRS_Z_QUALIFIERS): Likewise.
9903          (LDRU_Z_QUALIFIERS): Likewise.
9904          (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
9905          (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
9906          (BINOP_NONE_NONE_PRED_QUALIFIERS): New.
9907          (BINOP_UNONE_UNONE_PRED_QUALIFIERS): New.
9908          * config/arm/arm_mve_builtins.def: Use new predicated qualifiers.
9909          * config/arm/mve.md: Use MVE_VPRED instead of HI.
9910
99112022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
9912
9913          PR target/100757
9914          PR target/101325
9915          * config/arm/arm-builtins.cc (BINOP_UNONE_NONE_NONE_QUALIFIERS):
9916          Delete.
9917          (TERNOP_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
9918          (TERNOP_PRED_NONE_NONE_PRED_QUALIFIERS): ... this.
9919          (TERNOP_PRED_UNONE_UNONE_PRED_QUALIFIERS): New.
9920          * config/arm/arm_mve_builtins.def (vcmp*q_n_, vcmp*q_m_f): Use new
9921          predicated qualifiers.
9922          * config/arm/mve.md (mve_vcmp<mve_cmp_op>q_n_<mode>)
9923          (mve_vcmp*q_m_f<mode>): Use MVE_VPRED instead of HI.
9924
99252022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
9926
9927          PR target/100757
9928          * config/arm/arm-protos.h (arm_get_mask_mode): New prototype.
9929          (arm_expand_vector_compare): Update prototype.
9930          * config/arm/arm.cc (TARGET_VECTORIZE_GET_MASK_MODE): New.
9931          (arm_vector_mode_supported_p): Add support for VxBI modes.
9932          (arm_expand_vector_compare): Remove useless generation of vpsel.
9933          (arm_expand_vcond): Fix select operands.
9934          (arm_get_mask_mode): New.
9935          * config/arm/mve.md (vec_cmp<mode><MVE_vpred>): New.
9936          (vec_cmpu<mode><MVE_vpred>): New.
9937          (vcond_mask_<mode><MVE_vpred>): New.
9938          * config/arm/vec-common.md (vec_cmp<mode><v_cmp_result>)
9939          (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): Move to ...
9940          * config/arm/neon.md (vec_cmp<mode><v_cmp_result>)
9941          (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): ... here
9942          and disable for MVE.
9943          * doc/sourcebuild.texi (arm_mve): Document new effective-target.
9944
99452022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
9946
9947          PR target/100757
9948          PR target/101325
9949          * config/arm/arm-builtins.cc (BINOP_PRED_UNONE_UNONE_QUALIFIERS)
9950          (BINOP_PRED_NONE_NONE_QUALIFIERS)
9951          (TERNOP_NONE_NONE_NONE_PRED_QUALIFIERS)
9952          (TERNOP_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
9953          * config/arm/arm-protos.h (mve_bool_vec_to_const): New.
9954          * config/arm/arm.cc (arm_hard_regno_mode_ok): Handle new VxBI
9955          modes.
9956          (arm_mode_to_pred_mode): New.
9957          (arm_expand_vector_compare): Use the right VxBI mode instead of
9958          HI.
9959          (arm_expand_vcond): Likewise.
9960          (simd_valid_immediate): Handle MODE_VECTOR_BOOL.
9961          (mve_bool_vec_to_const): New.
9962          (neon_make_constant): Call mve_bool_vec_to_const when needed.
9963          * config/arm/arm_mve_builtins.def (vcmpneq_, vcmphiq_, vcmpcsq_)
9964          (vcmpltq_, vcmpleq_, vcmpgtq_, vcmpgeq_, vcmpeqq_, vcmpneq_f)
9965          (vcmpltq_f, vcmpleq_f, vcmpgtq_f, vcmpgeq_f, vcmpeqq_f, vpselq_u)
9966          (vpselq_s, vpselq_f): Use new predicated qualifiers.
9967          * config/arm/constraints.md (DB): New.
9968          * config/arm/iterators.md (MVE_7, MVE_7_HI): New mode iterators.
9969          (MVE_VPRED, MVE_vpred): New attribute iterators.
9970          * config/arm/mve.md (@mve_vcmp<mve_cmp_op>q_<mode>)
9971          (@mve_vcmp<mve_cmp_op>q_f<mode>, @mve_vpselq_<supf><mode>)
9972          (@mve_vpselq_f<mode>): Use MVE_VPRED instead of HI.
9973          (@mve_vpselq_<supf>v2di): Define separately.
9974          (mov<mode>): New expander for VxBI modes.
9975          * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Use
9976          MVE_7_HI iterator and add support for DB constraint.
9977
99782022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
9979              Richard Sandiford  <richard.sandiford@arm.com>
9980
9981          PR target/100757
9982          PR target/101325
9983          * config/aarch64/aarch64-modes.def (VNx16BI, VNx8BI, VNx4BI,
9984          VNx2BI): Update definition.
9985          * config/arm/arm-builtins.cc (arm_init_simd_builtin_types): Add new
9986          simd types.
9987          (arm_init_builtin): Map predicate vectors arguments to HImode.
9988          (arm_expand_builtin_args): Move HImode predicate arguments to VxBI
9989          rtx. Move return value to HImode rtx.
9990          * config/arm/arm-builtins.h (arm_type_qualifiers): Add qualifier_predicate.
9991          * config/arm/arm-modes.def (B2I, B4I, V16BI, V8BI, V4BI): New modes.
9992          * config/arm/arm-simd-builtin-types.def (Pred1x16_t,
9993          Pred2x8_t,Pred4x4_t): New.
9994          * emit-rtl.cc (init_emit_once): Handle all boolean modes.
9995          * genmodes.cc (mode_data): Add boolean field.
9996          (blank_mode): Initialize it.
9997          (make_complex_modes): Fix handling of boolean modes.
9998          (make_vector_modes): Likewise.
9999          (VECTOR_BOOL_MODE): Use new COMPONENT parameter.
10000          (make_vector_bool_mode): Likewise.
10001          (BOOL_MODE): New.
10002          (make_bool_mode): New.
10003          (emit_insn_modes_h): Fix generation of boolean modes.
10004          (emit_class_narrowest_mode): Likewise.
10005          * machmode.def: (VECTOR_BOOL_MODE): Document new COMPONENT
10006          parameter.  Use new BOOL_MODE instead of FRACTIONAL_INT_MODE to
10007          define BImode.
10008          * rtx-vector-builder.cc (rtx_vector_builder::find_cached_value):
10009          Fix handling of constm1_rtx for VECTOR_BOOL.
10010          * simplify-rtx.cc (native_encode_rtx): Fix support for VECTOR_BOOL.
10011          (native_decode_vector_rtx): Likewise.
10012          (test_vector_ops_duplicate): Skip vec_merge test
10013          with vectors of booleans.
10014          * varasm.cc (output_constant_pool_2): Likewise.
10015
100162022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
10017
10018          * config/arm/mve.md (mve_vmvnq_n_<supf><mode>): Use V_elem mode
10019          for operand 1.
10020
100212022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
10022
10023          * config/arm/arm.cc (arm_class_likely_spilled_p): Handle VPR_REG.
10024
100252022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
10026
10027          * config/arm/arm.h (reg_class): Add GENERAL_AND_VPR_REGS.
10028          (REG_CLASS_NAMES): Likewise.
10029          (REG_CLASS_CONTENTS): Likewise.
10030          (CLASS_MAX_NREGS): Handle VPR.
10031          * config/arm/arm.cc (arm_hard_regno_nregs): Handle VPR.
10032
100332022-02-22  Tobias Burnus  <tobias@codesourcery.com>
10034              Tom de Vries  <tdevries@suse.de>
10035
10036          * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Handle SM70.
10037          * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm):
10038          Likewise.
10039          * config/nvptx/nvptx.opt (misa): Add sm_70 alias PTX_ISA_SM70.
10040
100412022-02-22  Tobias Burnus  <tobias@codesourcery.com>
10042              Tom de Vries  <tdevries@suse.de>
10043
10044          * config/nvptx/nvptx.opt (mptx): Add 6.0 alias PTX_VERSION_6_0.
10045          * doc/invoke.texi (-mptx): Update for new values and defaults.
10046
100472022-02-22  Tom de Vries  <tdevries@suse.de>
10048
10049          * config/nvptx/nvptx.cc (gen_comment): New function.
10050          (workaround_uninit_method_1, workaround_uninit_method_2)
10051          (workaround_uninit_method_3): : Use gen_comment.
10052          * config/nvptx/nvptx.opt (mptx-comment): New option.
10053
100542022-02-22  Richard Biener  <rguenther@suse.de>
10055
10056          * tree-vect-slp.cc (vect_build_slp_tree_2): Dump the def used
10057          for a splat.
10058
100592022-02-22  Roger Sayle  <roger@nextmovesoftware.com>
10060              Richard Biener  <rguenther@suse.de>
10061
10062          * fold-const.cc (ctor_single_nonzero_element): New function to
10063          return the single non-zero element of a (vector) constructor.
10064          * fold-const.h (ctor_single_nonzero_element): Prototype here.
10065          * match.pd (reduc (constructor@0)): Simplify reductions of a
10066          constructor containing a single non-zero element.
10067          (reduc (@0 op VECTOR_CST) ->  (reduc @0) op CONST): Simplify
10068          reductions of vector operations of the same operator with
10069          constant vector operands.
10070
100712022-02-22  Jakub Jelinek  <jakub@redhat.com>
10072
10073          PR tree-optimization/104604
10074          * gimple-range-fold.cc (adjust_imagpart_expr, adjust_realpart_expr):
10075          Only check if gimple_assign_rhs1 is COMPLEX_CST if
10076          gimple_assign_rhs_code is COMPLEX_CST.
10077
100782022-02-22  Jakub Jelinek  <jakub@redhat.com>
10079
10080          PR target/104612
10081          * config/i386/i386-expand.cc (ix86_expand_copysign): Call force_reg
10082          on input operands before calling lowpart_subreg on it.  For output
10083          operand, use a vmode pseudo as destination and then move its lowpart
10084          subreg into operands[0] if lowpart_subreg fails on dest.
10085          (ix86_expand_xorsign): Likewise.
10086
100872022-02-22  Richard Biener  <rguenther@suse.de>
10088
10089          PR tree-optimization/104582
10090          PR target/99881
10091          * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
10092          Cost GPR to vector register moves for integer vector construction.
10093
100942022-02-22  Richard Biener  <rguenther@suse.de>
10095
10096          PR tree-optimization/104582
10097          * tree-vectorizer.h (stmt_info_for_cost::node): New field.
10098          (vector_costs::add_stmt_cost): Add SLP node parameter.
10099          (dump_stmt_cost): Likewise.
10100          (add_stmt_cost): Likewise, new overload and adjust.
10101          (add_stmt_costs): Adjust.
10102          (record_stmt_cost): New overload.
10103          * tree-vectorizer.cc (dump_stmt_cost): Dump the SLP node.
10104          (vector_costs::add_stmt_cost): Adjust.
10105          * tree-vect-loop.cc (vect_estimate_min_profitable_iters):
10106          Adjust.
10107          * tree-vect-slp.cc (vect_prologue_cost_for_slp): Record
10108          the SLP node for costing.
10109          (vectorizable_slp_permutation): Likewise.
10110          * tree-vect-stmts.cc (record_stmt_cost): Adjust and add
10111          new overloads.
10112          * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
10113          Adjust.
10114          * config/aarch64/aarch64.cc (aarch64_vector_costs::add_stmt_cost):
10115          Adjust.
10116          * config/rs6000/rs6000.cc (rs6000_vector_costs::add_stmt_cost):
10117          Adjust.
10118          (rs6000_cost_data::adjust_vect_cost_per_loop): Likewise.
10119
101202022-02-22  Richard Biener  <rguenther@suse.de>
10121
10122          PR tree-optimization/104582
10123          * tree-vectorizer.h (add_stmt_cost): New overload.
10124          (record_stmt_cost): Likewise.
10125          * tree-vect-loop.cc (vect_compute_single_scalar_iteration_cost):
10126          Use add_stmt_costs.
10127          (vect_get_known_peeling_cost): Use new overloads.
10128          (vect_estimate_min_profitable_iters): Likewise.  Consistently
10129          use scalar_stmt for costing versioning checks.
10130          * tree-vect-stmts.cc (record_stmt_cost): New overload.
10131
101322022-02-22  Hongyu Wang  <hongyu.wang@intel.com>
10133
10134          PR target/103069
10135          * config/i386/i386-expand.cc (ix86_expand_atomic_fetch_op_loop):
10136          Split atomic fetch and loop part.
10137          (ix86_expand_cmpxchg_loop): New expander for cmpxchg loop.
10138          * config/i386/i386-protos.h (ix86_expand_cmpxchg_loop): New
10139          prototype.
10140          * config/i386/sync.md (atomic_compare_and_swap<mode>): Call new
10141          expander under TARGET_RELAX_CMPXCHG_LOOP.
10142          (atomic_compare_and_swap<mode>): Likewise for doubleword modes.
10143
101442022-02-21  Dan Li  <ashimida@linux.alibaba.com>
10145
10146          * config/aarch64/aarch64.cc (SLOT_REQUIRED):
10147          Change wb_candidate[12] to wb_push_candidate[12].
10148          (aarch64_layout_frame): Likewise, and
10149          change callee_adjust when scs is enabled.
10150          (aarch64_save_callee_saves):
10151          Change wb_candidate[12] to wb_push_candidate[12].
10152          (aarch64_restore_callee_saves):
10153          Change wb_candidate[12] to wb_pop_candidate[12].
10154          (aarch64_get_separate_components):
10155          Change wb_candidate[12] to wb_push_candidate[12].
10156          (aarch64_expand_prologue): Push x30 onto SCS before it's
10157          pushed onto stack.
10158          (aarch64_expand_epilogue): Pop x30 frome SCS, while
10159          preventing it from being popped from the regular stack again.
10160          (aarch64_override_options_internal): Add SCS compile option check.
10161          (TARGET_HAVE_SHADOW_CALL_STACK): New hook.
10162          * config/aarch64/aarch64.h (struct GTY): Add is_scs_enabled,
10163          wb_pop_candidate[12], and rename wb_candidate[12] to
10164          wb_push_candidate[12].
10165          * config/aarch64/aarch64.md (scs_push): New template.
10166          (scs_pop): Likewise.
10167          * doc/invoke.texi: Document -fsanitize=shadow-call-stack.
10168          * doc/tm.texi: Regenerate.
10169          * doc/tm.texi.in: Add hook have_shadow_call_stack.
10170          * flag-types.h (enum sanitize_code):
10171          Add SANITIZE_SHADOW_CALL_STACK.
10172          * opts.cc (parse_sanitizer_options): Add shadow-call-stack
10173          and exclude SANITIZE_SHADOW_CALL_STACK.
10174          * target.def: New hook.
10175          * toplev.cc (process_options): Add SCS compile option check.
10176          * ubsan.cc (ubsan_expand_null_ifn): Enum type conversion.
10177
101782022-02-21  Tom de Vries  <tdevries@suse.de>
10179
10180          PR target/104440
10181          * config/nvptx/nvptx.cc (workaround_uninit_method_1)
10182          (workaround_uninit_method_2, workaround_uninit_method_3)
10183          (workaround_uninit): New function.
10184          (nvptx_reorg): Use workaround_uninit.
10185          * config/nvptx/nvptx.opt (minit-regs): New option.
10186
101872022-02-21  Andre Vieira  <andre.simoesdiasvieira@arm.com>
10188
10189          PR rtl-optimization/104498
10190          * alias.cc (compare_base_symbol_refs): Correct distance computation
10191          when swapping x and y.
10192
101932022-02-21  Andrew Pinski  <apinski@marvell.com>
10194
10195          PR c/104506
10196          * tree-ssa.cc (tree_ssa_useless_type_conversion):
10197          Check the inner type before calling useless_type_conversion_p.
10198
101992022-02-19  Tom de Vries  <tdevries@suse.de>
10200
10201          * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle SET insn.
10202          * config/nvptx/nvptx.md
10203          (define_insn "nvptx_atomic_store<mode>"): Rename to ...
10204          (define_insn "nvptx_atomic_store_sm70<mode>"): This.
10205          (define_insn "nvptx_atomic_store<mode>"): New define_insn.
10206          (define_expand "atomic_store<mode>"): Handle rename.  Use
10207          nvptx_atomic_store instead of atomic_exchange.
10208
102092022-02-19  Tom de Vries  <tdevries@suse.de>
10210
10211          * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle all
10212          insns with atomic attribute.  Assert that all handled insns are
10213          PARALLELs.
10214          * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"):
10215          Set atomic attribute to false.
10216
102172022-02-19  Tom de Vries  <tdevries@suse.de>
10218
10219          * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Change return
10220          type to bool.
10221          (nvptx_reorg_uniform_simt): Insert nvptx_uniform_warp_check or
10222          nvptx_warpsync, if necessary.
10223
102242022-02-19  Jakub Jelinek  <jakub@redhat.com>
10225
10226          PR sanitizer/102656
10227          * asan.cc (instrument_derefs): If inner is a RESULT_DECL and access is
10228          known to be within bounds, treat it like automatic variables.
10229          If instrumenting access and inner is {VAR,PARM,RESULT}_DECL from
10230          current function and !TREE_STATIC which is not TREE_ADDRESSABLE, mark
10231          it addressable.
10232
102332022-02-18  Pat Haugen  <pthaugen@linux.ibm.com>
10234
10235          * config/rs6000/rs6000.opt (mpower10-fusion): Mark Undocumented.
10236          (mpower10-fusion-ld-cmpi, mpower10-fusion-2logical,
10237          mpower10-fusion-logical-add, mpower10-fusion-add-logical,
10238          mpower10-fusion-2add, mpower10-fusion-2store): Remove.
10239          * config/rs6000/rs6000-cpus.def (ISA_3_1_MASKS_SERVER,
10240          OTHER_P9_VECTOR_MASKS): Remove Power10 fusion sub-options.
10241          * config/rs6000/rs6000.cc (rs6000_option_override_internal,
10242          power10_sched_reorder): Likewise.
10243          * config/rs6000/genfusion.pl (gen_ld_cmpi_p10, gen_logical_addsubf,
10244          gen_addadd): Likewise
10245          * config/rs6000/fusion.md: Regenerate.
10246
102472022-02-18  Jakub Jelinek  <jakub@redhat.com>
10248
10249          PR target/104257
10250          PR target/104598
10251          * config/rs6000/mm_malloc.h (_mm_malloc): Call posix_memalign
10252          rather than __posix_memalign.
10253
102542022-02-18  Richard Biener  <rguenther@suse.de>
10255
10256          PR target/104581
10257          * config/i386/i386.cc (ix86_avx_u128_mode_source): Remove.
10258          (ix86_avx_u128_mode_needed): Return AVX_U128_DIRTY instead
10259          of calling ix86_avx_u128_mode_source which would eventually
10260          have returned AVX_U128_ANY in some very special case.
10261
102622022-02-18  Richard Biener  <rguenther@suse.de>
10263
10264          PR tree-optimization/96881
10265          * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Comment
10266          CLOBBER handling.
10267          (control_parents_preserved_p): New function.
10268          (eliminate_unnecessary_stmts): Check that we preserved control
10269          parents before retaining a CLOBBER.
10270          (perform_tree_ssa_dce): Pass down aggressive flag
10271          to eliminate_unnecessary_stmts.
10272
102732022-02-17  Jason Merrill  <jason@redhat.com>
10274
10275          * tree.cc (warn_deprecated_use): Look for TYPE_STUB_DECL
10276          on TYPE_MAIN_VARIANT.
10277
102782022-02-17  Paul A. Clarke  <pc@us.ibm.com>
10279
10280          PR target/104257
10281          * config/rs6000/bmi2intrin.h: Uglify local variables.
10282          * config/rs6000/emmintrin.h: Likewise.
10283          * config/rs6000/mm_malloc.h: Likewise.
10284          * config/rs6000/mmintrin.h: Likewise.
10285          * config/rs6000/pmmintrin.h: Likewise.
10286          * config/rs6000/smmintrin.h: Likewise.
10287          * config/rs6000/tmmintrin.h: Likewise.
10288          * config/rs6000/xmmintrin.h: Likewise.
10289
102902022-02-17  Robin Dapp  <rdapp@linux.ibm.com>
10291
10292          PR target/104335
10293          * config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Return false
10294          if the expected comparison's first operand is of mode MODE_CC.
10295
102962022-02-17  Vladimir N. Makarov  <vmakarov@redhat.com>
10297
10298          PR rtl-optimization/104447
10299          * lra-constraints.cc (spill_hard_reg_in_range): Initiate ignore
10300          hard reg set by lra_no_alloc_regs.
10301
103022022-02-17  liuhongt  <hongtao.liu@intel.com>
10303
10304          PR tree-optimization/104551
10305          PR tree-optimization/103771
10306          * match.pd (cond_expr_convert_p): Add types_match check when
10307          convert is extension.
10308          * tree-vect-patterns.cc
10309          (gimple_cond_expr_convert_p): Adjust comments.
10310          (vect_recog_cond_expr_convert_pattern): Ditto.
10311
103122022-02-17  Jakub Jelinek  <jakub@redhat.com>
10313
10314          PR debug/104557
10315          * valtrack.cc (debug_lowpart_subreg): Don't call gen_rtx_raw_SUBREG
10316          if expr has VOIDmode.
10317
103182022-02-17  liuhongt  <hongtao.liu@intel.com>
10319
10320          * config/i386/cpuid.h (bit_MPX): Removed.
10321          (bit_BNDREGS): Ditto.
10322          (bit_BNDCSR): Ditto.
10323
103242022-02-17  Michael Meissner  <meissner@the-meissners.org>
10325
10326          PR target/99708
10327          * config/rs6000/rs6000-c.cc (rs6000_cpu_cpp_builtins): Define
10328          __SIZEOF_IBM128__ if the IBM 128-bit long double type is created.
10329          Define __SIZEOF_FLOAT128__ if the IEEE 128-bit floating point type
10330          is created.
10331
103322022-02-16  Andrew MacLeod  <amacleod@redhat.com>
10333
10334          * gimple-range-gori.cc (gori_compute::condexpr_adjust): Use
10335          range_compatible_p instead of direct type comparison.
10336
103372022-02-16  Jakub Jelinek  <jakub@redhat.com>
10338
10339          PR rtl-optimization/104544
10340          * combine.cc (try_combine): When looking for insn whose links
10341          should be updated from i3 to i2, don't stop on debug insns, instead
10342          skip over them.
10343
103442022-02-16  Richard Sandiford  <richard.sandiford@arm.com>
10345
10346          PR target/100056
10347          * config/aarch64/iterators.md (LOGICAL_OR_PLUS): New iterator.
10348          * config/aarch64/aarch64.md: Extend the PR100056 patterns
10349          to handle plus in the same way as ior, if the operands have
10350          no set bits in common.
10351
103522022-02-15  Andrew MacLeod  <amacleod@redhat.com>
10353
10354          PR tree-optimization/104526
10355          * gimple-range-fold.cc (fold_using_range::range_of_cond_expr): Call
10356          new routine.
10357          * gimple-range-gori.cc (range_def_chain::get_def_chain): Force a build
10358          of dependency chain if there isn't one.
10359          (gori_compute::condexpr_adjust): New.
10360          * gimple-range-gori.h (class gori_compute): New prototype.
10361
103622022-02-15  Richard Sandiford  <richard.sandiford@arm.com>
10363
10364          PR target/100874
10365          * config/aarch64/aarch64-protos.h (aarch64_maxmin_plus_const):
10366          Declare.
10367          * config/aarch64/aarch64.cc (aarch64_maxmin_plus_const): New function.
10368          * config/aarch64/aarch64.md (*aarch64_minmax_plus): New pattern.
10369
103702022-02-15  Richard Sandiford  <richard.sandiford@arm.com>
10371
10372          * tree-vectorizer.h (vect_scalar_ops_slice): New struct.
10373          (vect_scalar_ops_slice_hash): Likewise.
10374          (vect_scalar_ops_slice::op): New function.
10375          * tree-vect-slp.cc (vect_scalar_ops_slice::all_same_p): New function.
10376          (vect_scalar_ops_slice_hash::hash): Likewise.
10377          (vect_scalar_ops_slice_hash::equal): Likewise.
10378          (vect_prologue_cost_for_slp): Check for duplicate vectors.
10379          * config/aarch64/aarch64.cc
10380          (aarch64_vector_costs::m_stp_sequence_cost): New member variable.
10381          (aarch64_aligned_constant_offset_p): New function.
10382          (aarch64_stp_sequence_cost): Likewise.
10383          (aarch64_vector_costs::add_stmt_cost): Handle new STP heuristic.
10384          (aarch64_vector_costs::finish_cost): Likewise.
10385
103862022-02-15  Richard Sandiford  <richard.sandiford@arm.com>
10387
10388          * tree-vect-slp.cc (vect_bb_vectorization_profitable_p): Fix
10389          use after free.
10390
103912022-02-15  Richard Biener  <rguenther@suse.de>
10392
10393          PR tree-optimization/104543
10394          * gimple-loop-jam.cc (unroll_jam_possible_p): Check outer loop exits
10395          come after the inner loop.
10396
103972022-02-15  Jakub Jelinek  <jakub@redhat.com>
10398
10399          PR target/104536
10400          * config/i386/host-cygwin.cc (cygwin_gt_pch_get_address): Use
10401          cannot instead of can%'t in diagnostics.  Formatting fixes.
10402
104032022-02-15  Jakub Jelinek  <jakub@redhat.com>
10404
10405          PR middle-end/104522
10406          * fold-const.h (native_interpret_real): Declare.
10407          * fold-const.cc (native_interpret_real): No longer static.  Don't
10408          perform MODE_COMPOSITE_P verification here.
10409          (native_interpret_expr) <case REAL_TYPE>: But perform it here instead
10410          for all modes.
10411          * gimple-fold.cc (clear_padding_type): Call native_interpret_real
10412          instead of native_interpret_expr.
10413          * simplify-rtx.cc (simplify_immed_subreg): Perform the native_encode_rtx
10414          and comparison verification for all FLOAT_MODE_P modes, not just
10415          MODE_COMPOSITE_P.
10416
104172022-02-15  Richard Biener  <rguenther@suse.de>
10418
10419          PR tree-optimization/104519
10420          * fold-const.cc (multiple_of_p): Remove never true condition.
10421          * tree-ssa-loop-niter.cc (number_of_iterations_ne): Use
10422          the appropriate types for determining whether the difference
10423          of final and base is a multiple of the step.
10424
104252022-02-15  Jakub Jelinek  <jakub@redhat.com>
10426
10427          PR debug/104517
10428          * omp-low.cc (task_cpyfns): New variable.
10429          (delete_omp_context): Don't call finalize_task_copyfn from here.
10430          (create_task_copyfn): Push task_stmt into task_cpyfns.
10431          (execute_lower_omp): Call finalize_task_copyfn here on entries from
10432          task_cpyfns vector and release the vector.
10433
104342022-02-14  Martin Sebor  <msebor@redhat.com>
10435
10436          PR middle-end/104355
10437          * doc/invoke.texi (-Warray-bounds): Update documentation.
10438
104392022-02-14  Michael Meissner  <meissner@the-meissners.org>
10440
10441          PR target/104253
10442          * config/rs6000/rs6000.cc (init_float128_ibm): Update the
10443          conversion functions used to convert IFmode types.
10444
104452022-02-14  Andrew Stubbs  <ams@codesourcery.com>
10446
10447          * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Use force_reg.
10448
104492022-02-14  Richard Biener  <rguenther@suse.de>
10450
10451          PR tree-optimization/104528
10452          * tree-ssa.h (find_released_ssa_name): Declare.
10453          * tree-ssa.cc (find_released_ssa_name): Export.
10454          * cfgloop.cc (verify_loop_structure): Look for released
10455          SSA names in loops nb_iterations.
10456          * tree-ssa-dse.cc (pass_dse::execute): Release number of iteration
10457          estimates.
10458
104592022-02-14  Richard Biener  <rguenther@suse.de>
10460
10461          PR tree-optimization/104511
10462          * tree-ssa-forwprop.cc (simplify_vector_constructor): Avoid
10463          touching DFP <-> FP conversions.
10464
104652022-02-14  Richard Biener  <rguenther@suse.de>
10466
10467          PR middle-end/104497
10468          * gimplify.cc (gimplify_compound_lval): Make sure the
10469          base is a non-register if needed and possible.
10470
104712022-02-13  liuhongt  <hongtao.liu@intel.com>
10472
10473          PR target/103771
10474          * match.pd (cond_expr_convert_p): New match.
10475          * tree-vect-patterns.cc (gimple_cond_expr_convert_p): Declare.
10476          (vect_recog_cond_expr_convert_pattern): New.
10477
104782022-02-12  Jakub Jelinek  <jakub@redhat.com>
10479
10480          PR sanitizer/104449
10481          * asan.cc: Include tree-eh.h.
10482          (handle_builtin_alloca): Handle the case when __builtin_alloca or
10483          __builtin_alloca_with_align can throw.
10484
104852022-02-12  Jakub Jelinek  <jakub@redhat.com>
10486
10487          PR target/104502
10488          * config/i386/i386.md (cvtsd2ss splitter): If operands[1] is xmm16+
10489          and AVX512VL isn't available, move operands[1] to operands[0] first.
10490
104912022-02-12  Uroš Bizjak  <ubizjak@gmail.com>
10492
10493          PR target/79754
10494          * config/i386/i386.cc (type_natural_mode):
10495          Skip decimal float vector modes.
10496
104972022-02-11  Iain Sandoe  <iain@sandoe.co.uk>
10498              Vladimir Makarov  <vmakarov@redhat.com>
10499
10500          PR target/104117
10501          * config/rs6000/rs6000.cc (darwin_rs6000_legitimate_lo_sum_const_p):
10502          Check for UNSPEC_MACHOPIC_OFFSET wrappers on symbolic addresses when
10503          emitting PIC code.
10504          (legitimate_lo_sum_address_p): Likewise.
10505          * lra-constraints.cc (process_address_1): Do not attempt to emit a reg
10506          load from an invalid lo_sum address.
10507
105082022-02-11  Jakub Jelinek  <jakub@redhat.com>
10509
10510          PR tree-optimization/104499
10511          * match.pd ((X & Y) CMP 0 -> X CMP2 ~Y): Use view_convert instead
10512          of convert.
10513
105142022-02-11  Jakub Jelinek  <jakub@redhat.com>
10515
10516          * tree.cc (build_common_builtin_nodes): Fix up formatting in
10517          __builtin_clear_padding decl creation.
10518          * gimplify.cc (gimple_add_padding_init_for_auto_var): Encode
10519          for_auto_init in the value of 2nd BUILT_IN_CLEAR_PADDING
10520          argument rather than in 3rd argument.
10521          (gimplify_call_expr): Likewise.  Fix up comment formatting.
10522          * gimple-fold.cc (gimple_fold_builtin_clear_padding): Expect
10523          2 arguments instead of 3, take for_auto_init from the value
10524          of 2nd argument.
10525
105262022-02-11  Vladimir N. Makarov  <vmakarov@redhat.com>
10527
10528          PR rtl-optimization/104400
10529          * lra-constraints.cc (process_alt_operands): Don't make union of
10530          this_alternative_exclude_start_hard_regs when reg class in insn
10531          alternative covers other reg classes in the same alternative.
10532
105332022-02-11  Jakub Jelinek  <jakub@redhat.com>
10534
10535          PR middle-end/104446
10536          * combine.cc (subst): Don't substitute CONST_INTs into RTX_AUTOINC
10537          operands.
10538
105392022-02-11  Richard Biener  <rguenther@suse.de>
10540
10541          PR middle-end/104496
10542          * internal-fn.cc (vectorized_internal_fn_supported_p):
10543          Bail out for integer mode vector types.
10544
105452022-02-11  Jakub Jelinek  <jakub@redhat.com>
10546
10547          PR rtl-optimization/104459
10548          * df-scan.cc (df_insn_change_bb): Don't call df_set_bb_dirty when
10549          moving DEBUG_INSNs between bbs.
10550
105512022-02-11  liuhongt  <hongtao.liu@intel.com>
10552
10553          PR tree-optimization/104479
10554          * match.pd (uncond_op + vec_cond -> cond_op): Add single_use
10555          for the dest of uncond_op.
10556
105572022-02-11  Tom de Vries  <tdevries@suse.de>
10558
10559          PR target/104456
10560          * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle asm
10561          insn.
10562
105632022-02-10  Qing Zhao  <qing.zhao@oracle.com>
10564
10565          PR middle-end/100775
10566          * function.cc (gen_call_used_regs_seq): Call
10567          df_update_exit_block_uses when updating df.
10568
105692022-02-10  Uroš Bizjak  <ubizjak@gmail.com>
10570
10571          PR target/104469
10572          * config/i386/sse.md (vec_unpacks_float_lo_v4si):
10573          Change operand 1 constraint to register_operand.
10574
105752022-02-10  Richard Biener  <rguenther@suse.de>
10576
10577          PR tree-optimization/104373
10578          * tree-ssa-sccvn.h (do_rpo_vn): New export exposing the
10579          walk kind.
10580          * tree-ssa-sccvn.cc (do_rpo_vn): Export, get the default
10581          walk kind as argument.
10582          (run_rpo_vn): Adjust.
10583          (pass_fre::execute): Likewise.
10584          * tree-ssa-uninit.cc (warn_uninitialized_vars): Skip
10585          blocks not reachable.
10586          (execute_late_warn_uninitialized): Mark all edges as
10587          executable.
10588          (execute_early_warn_uninitialized): Use VN to compute
10589          executable edges.
10590          (pass_data_early_warn_uninitialized): Enable a dump file,
10591          change dump name to warn_uninit.
10592
105932022-02-10  Richard Biener  <rguenther@suse.de>
10594
10595          PR middle-end/104467
10596          * match.pd (vector extract simplification): Multiply the
10597          number of CTOR elements with the number of element elements.
10598
105992022-02-10  Richard Biener  <rguenther@suse.de>
10600
10601          PR tree-optimization/104466
10602          * tree-ssa-alias.cc (refs_may_alias_p_2): Use rbase1/rbase2
10603          for the MR_DEPENDENCE checks as intended.
10604
106052022-02-10  Tom de Vries  <tdevries@suse.de>
10606
10607          * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"): New
10608          define_insn.
10609          (define_expand "atomic_store<mode>"): Use nvptx_atomic_store<mode> for
10610          TARGET_SM70.
10611          (define_c_enum "unspecv"): Add UNSPECV_ST.
10612
106132022-02-10  Tom de Vries  <tdevries@suse.de>
10614
10615          * config/nvptx/nvptx-protos.h (nvptx_mem_maybe_shared_p): Declare.
10616          * config/nvptx/nvptx.cc (nvptx_mem_data_area): New static function.
10617          (nvptx_mem_maybe_shared_p): New function.
10618          * config/nvptx/nvptx.md (define_expand "atomic_store<mode>"): New
10619          define_expand.
10620
106212022-02-10  Tom de Vries  <tdevries@suse.de>
10622
10623          PR target/97005
10624          * config/nvptx/nvptx.md (define_insn "sub<mode>3"): Workaround
10625          driver JIT bug by using sub.s16 instead of sub.u16.
10626
106272022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
10628
10629          * config/nvptx/nvptx.md (copysign<mode>3): Allow immediate
10630          floating point constants as operands 1 and/or 2.
10631
106322022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
10633
10634          PR target/104345
10635          * config/nvptx/nvptx.md (sel_true<mode>): Fix indentation.
10636          (sel_false<mode>): Likewise.
10637          (define_code_iterator eqne): New code iterator for EQ and NE.
10638          (*selp<mode>_neg_<code>): New define_insn_and_split to optimize
10639          the negation of a selp instruction.
10640          (*selp<mode>_not_<code>): New define_insn_and_split to optimize
10641          the bitwise not of a selp instruction.
10642          (*setcc_int<mode>): Use set instruction for neg:SI of a selp.
10643
106442022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
10645
10646          * config/nvptx/nvptx.md (any_logic): Move code iterator earlier
10647          in machine description.
10648          (logic): Move code attribute earlier in machine description.
10649          (ilogic): New code attribute, like logic but "ior" for IOR.
10650          (and<mode>3, ior<mode>3, xor<mode>3): Delete. Replace with...
10651          (<ilogic><mode>3): New define_insn for HSDIM logic operations.
10652          (<ilogic>bi3): New define_insn for BI mode logic operations.
10653          (define_split): Lower logic operations from integer modes to
10654          BI mode predicate operations.
10655
106562022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
10657
10658          * config/nvptx/nvptx.md (UNSPEC_ISINF): New UNSPEC.
10659          (one_cmplbi2): New define_insn for not.pred.
10660          (mulditi3): New define_expand for signed widening multiply.
10661          (umulditi3): New define_expand for unsigned widening multiply.
10662          (smul<mode>3_highpart): New define_insn for signed highpart mult.
10663          (umul<mode>3_highpart): New define_insn for unsigned highpart mult.
10664          (*smulhi3_highpart_2): Renamed from smulhi3_highpart.
10665          (*smulsi3_highpart_2): Renamed from smulsi3_highpart.
10666          (*umulhi3_highpart_2): Renamed from umulhi3_highpart.
10667          (*umulsi3_highpart_2): Renamed from umulsi3_highpart.
10668          (*setcc<mode>_from_not_bi): New define_insn.
10669          (*setcc_isinf<mode>): New define_insn for testp.infinite.
10670          (isinf<mode>2): New define_expand.
10671
106722022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
10673
10674          * config/nvptx/nvptx.md (cmp<mode>): Renamed from *cmp<mode>.
10675          (setcc<mode>_from_bi): Additionally support QImode.
10676          (extendbi<mode>2): Additionally support QImode.
10677          (zero_extendbi<mode>2): Additionally support QImode.
10678          (any_sbinary, any_ubinary, any_sunary, any_uunary): New code
10679          iterators for signed and unsigned, binary and unary operations.
10680          (<sbinary>qi3, <ubinary>qi3, <sunary>qi2, <uunary>qi2): New
10681          expanders to perform QImode operations using SImode instructions.
10682          (cstoreqi4): New define_expand.
10683          (*ext_truncsi2_qi): New define_insn.
10684          (*zext_truncsi2_qi): New define_insn.
10685
106862022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
10687
10688          * config/nvptx/nvptx.md (*cmpf): New define_insn.
10689          (cstorehf4): New define_expand.
10690          (fmahf4): New define_insn.
10691          (neghf2): New define_insn.
10692          (abshf2): New define_insn.
10693
106942022-02-10  Gerald Pfeifer  <gerald@pfeifer.com>
10695
10696          * doc/install.texi (Specific): Change the www.bitwizard.nl
10697          reference to use https.
10698
106992022-02-10  Marcel Vollweiler  <marcel@codesourcery.com>
10700
10701          * gimplify.cc (gimplify_scan_omp_clauses): Added cases for
10702          OMP_CLAUSE_HAS_DEVICE_ADDR
10703          and handle array sections.
10704          (gimplify_adjust_omp_clauses): Added OMP_CLAUSE_HAS_DEVICE_ADDR case.
10705          * omp-low.cc (scan_sharing_clauses): Handle OMP_CLAUSE_HAS_DEVICE_ADDR.
10706          (lower_omp_target): Same.
10707          * tree-core.h (enum omp_clause_code): Same.
10708          * tree-nested.cc (convert_nonlocal_omp_clauses): Same.
10709          (convert_local_omp_clauses): Same.
10710          * tree-pretty-print.cc (dump_omp_clause): Same.
10711          * tree.cc: Same.
10712
107132022-02-10  Eugene Rozenfeld  <erozen@microsoft.com>
10714
10715          * auto-profile.cc (afdo_indirect_call): Don't attempt to promote indirect calls
10716          that will result in direct recursive calls.
10717
107182022-02-10  Andrew Pinski  <apinski@marvell.com>
10719
10720          PR target/104474
10721          * config/aarch64/aarch64.cc
10722          (aarch64_sve_expand_vector_init_handle_trailing_constants):
10723          Use CONST0_RTX instead of const0_rtx for the non-constant elements.
10724
107252022-02-09  Uroš Bizjak  <ubizjak@gmail.com>
10726
10727          PR target/104462
10728          * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_XSAVE_UNSET):
10729          Also include OPTION_MASK_ISA2_AVX2_UNSET.
10730
107312022-02-09  Uroš Bizjak  <ubizjak@gmail.com>
10732
10733          PR target/104458
10734          * config/i386/i386-expand.cc (ix86_split_idivmod):
10735          Force operands[2] and operands[3] into a register..
10736
107372022-02-09  Jeff Law  <jeffreyalaw@gmail.com>
10738
10739          PR target/97040
10740          * config/v850/v850.md (*v850_fnmasf4): Renamed from fnmasf4.
10741          (*v850_fnmssf4): Renamed from fnmssf4
10742
107432022-02-09  Ian Lance Taylor  <iant@golang.org>
10744
10745          * godump.cc (go_force_record_alignment): Really name the alignment
10746          field "_" (complete 2021-12-29 change).
10747
107482022-02-09  Bill Schmidt  <wschmidt@linux.ibm.com>
10749
10750          * config/rs6000/rs6000-builtins.def (VREPLACE_UN_UV2DI): Change
10751          function prototype.
10752          (VREPLACE_UN_UV4SI): Likewise.
10753          (VREPLACE_UN_V2DF): Likewise.
10754          (VREPLACE_UN_V2DI): Likewise.
10755          (VREPLACE_UN_V4SF): Likewise.
10756          (VREPLACE_UN_V4SI): Likewise.
10757          * config/rs6000/rs6000-overload.def (VEC_REPLACE_UN): Change all
10758          function prototypes.
10759          * config/rs6000/vsx.md (vreplace_un_<mode>): Remove define_expand.
10760          (vreplace_un_<mode>): New define_insn.
10761
107622022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
10763
10764          * config/aarch64/iterators.md (VDCSIF): New mode iterator.
10765          (VDBL): Handle SF.
10766          (single_wx, single_type, single_dtype, dblq): New mode attributes.
10767          * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Extend
10768          from VDC to VDCSIF.
10769          (store_pair_lanes<mode>): Likewise.
10770          (*aarch64_combine_internal<mode>): Likewise.
10771          (*aarch64_combine_internal_be<mode>): Likewise.
10772          (*aarch64_combinez<mode>): Likewise.
10773          (*aarch64_combinez_be<mode>): Likewise.
10774          * config/aarch64/aarch64.cc (aarch64_classify_address): Handle
10775          8-byte modes for ADDR_QUERY_LDP_STP_N.
10776          (aarch64_print_operand): Likewise for %y.
10777
107782022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
10779
10780          * config/aarch64/aarch64-simd.md (@aarch64_split_simd_mov<mode>):
10781          Use aarch64_combine instead of move_lo/hi_quad.  Tabify.
10782          (move_lo_quad_<mode>, aarch64_simd_move_hi_quad_<mode>): Delete.
10783          (aarch64_simd_move_hi_quad_be_<mode>, move_hi_quad_<mode>): Delete.
10784          (vec_pack_trunc_<mode>): Take general_operand elements and use
10785          aarch64_combine rather than move_lo/hi_quad to combine them.
10786          (vec_pack_trunc_df): Likewise.
10787
107882022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
10789
10790          * config/aarch64/aarch64-protos.h (aarch64_split_simd_combine):
10791          Delete.
10792          * config/aarch64/aarch64-simd.md (@aarch64_combinez<mode>): Rename
10793          to...
10794          (*aarch64_combinez<mode>): ...this.
10795          (@aarch64_combinez_be<mode>): Rename to...
10796          (*aarch64_combinez_be<mode>): ...this.
10797          (@aarch64_vec_concat<mode>): New expander.
10798          (aarch64_combine<mode>): Use it.
10799          (@aarch64_simd_combine<mode>): Delete.
10800          * config/aarch64/aarch64.cc (aarch64_split_simd_combine): Delete.
10801          (aarch64_expand_vector_init): Use aarch64_vec_concat.
10802
108032022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
10804
10805          * config/aarch64/predicates.md (aarch64_reg_or_mem_pair_operand):
10806          New predicate.
10807          * config/aarch64/aarch64-simd.md (*aarch64_combine_internal<mode>)
10808          (*aarch64_combine_internal_be<mode>): New patterns.
10809
108102022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
10811
10812          * config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>)
10813          (move_lo_quad_internal_be_<mode>): Delete.
10814          (move_lo_quad_<mode>): Use aarch64_combine<Vhalf> instead of the above.
10815
108162022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
10817
10818          * config/aarch64/aarch64-protos.h (aarch64_mergeable_load_pair_p):
10819          Declare.
10820          * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Use
10821          aarch64_mergeable_load_pair_p instead of inline check.
10822          * config/aarch64/aarch64.cc (aarch64_expand_vector_init): Likewise.
10823          (aarch64_check_consecutive_mems): Allow the reversed parameter
10824          to be null.
10825          (aarch64_mergeable_load_pair_p): New function.
10826
108272022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
10828
10829          * config/aarch64/aarch64-simd.md (vec_set<mode>): Allow the
10830          element to be an aarch64_simd_nonimmediate_operand.
10831
108322022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
10833
10834          * config/aarch64/aarch64-simd.md (aarch64_simd_vec_set<mode>): Use
10835          aarch64_simd_nonimmediate_operand instead of
10836          aarch64_simd_general_operand.
10837          (@aarch64_combinez<mode>): Use nonimmediate_operand instead of
10838          general_operand.
10839          (@aarch64_combinez_be<mode>): Likewise.
10840
108412022-02-09  Richard Biener  <rguenther@suse.de>
10842
10843          PR middle-end/104464
10844          * gimple-isel.cc (gimple_expand_vec_cond_expr): Postpone
10845          throwing check to after unproblematic replacement.
10846
108472022-02-09  Roger Sayle  <roger@nextmovesoftware.com>
10848
10849          PR tree-optimization/104420
10850          * match.pd (mult @0 real_zerop): Tweak conditions for constant
10851          folding X*0.0 (or X*-0.0) to HONOR_SIGNED_ZEROS when appropriate.
10852
108532022-02-09  Jakub Jelinek  <jakub@redhat.com>
10854
10855          PR debug/104407
10856          * dwarf2out.cc (mangle_referenced_decls): New function.
10857          (tree_add_const_value_attribute): Don't call rtl_for_decl_init if
10858          early_dwarf.  Instead walk the initializer and try to mangle vars or
10859          functions referenced from it.
10860
108612022-02-09  Andrew MacLeod  <amacleod@redhat.com>
10862
10863          PR tree-optimization/104288
10864          * gimple-range-cache.cc (non_null_ref::set_nonnull): New.
10865          (non_null_ref::adjust_range): Move to header.
10866          (ranger_cache::range_of_def): Don't check non-null.
10867          (ranger_cache::entry_range): Don't check non-null.
10868          (ranger_cache::range_on_edge): Check for nonnull on normal edges.
10869          (ranger_cache::update_to_nonnull): New.
10870          (non_null_loadstore): New.
10871          (ranger_cache::block_apply_nonnull): New.
10872          * gimple-range-cache.h (class non_null_ref): Update prototypes.
10873          (non_null_ref::adjust_range): Move to here and inline.
10874          (class ranger_cache): Update prototypes.
10875          * gimple-range-path.cc (path_range_query::range_defined_in_block): Do
10876          not search dominators.
10877          (path_range_query::adjust_for_non_null_uses): Ditto.
10878          * gimple-range.cc (gimple_ranger::range_of_expr): Check on-entry for
10879          def overrides.  Do not check nonnull.
10880          (gimple_ranger::range_on_entry): Check dominators for nonnull.
10881          (gimple_ranger::range_on_edge): Check for nonnull on normal edges..
10882          (gimple_ranger::register_side_effects): New.
10883          * gimple-range.h (gimple_ranger::register_side_effects): New.
10884          * tree-vrp.cc (rvrp_folder::fold_stmt): Call register_side_effects.
10885
108862022-02-09  Richard Biener  <rguenther@suse.de>
10887
10888          PR tree-optimization/104445
10889          PR tree-optimization/102832
10890          * optabs-query.h (can_vec_extract): New.
10891          * optabs-query.cc (can_vec_extract): Likewise.
10892          * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
10893          we can extract a hi/lo part from the larger vector, rework
10894          check iteration from larger to smaller sizes.
10895
108962022-02-09  H.J. Lu  <hjl.tools@gmail.com>
10897
10898          PR target/35513
10899          PR target/100593
10900          * config/i386/gnu-property.cc: Include "i386-protos.h".
10901          (file_end_indicate_exec_stack_and_gnu_property): Generate
10902          a GNU_PROPERTY_1_NEEDED note for -mno-direct-extern-access or
10903          nodirect_extern_access attribute.
10904          * config/i386/i386-options.cc
10905          (handle_nodirect_extern_access_attribute): New function.
10906          (ix86_attribute_table): Add nodirect_extern_access attribute.
10907          * config/i386/i386-protos.h (ix86_force_load_from_GOT_p): Add a
10908          bool argument.
10909          (ix86_has_no_direct_extern_access): New.
10910          * config/i386/i386.cc (ix86_has_no_direct_extern_access): New.
10911          (ix86_force_load_from_GOT_p): Add a bool argument to indicate
10912          call operand.  Force non-call load from GOT for
10913          -mno-direct-extern-access or nodirect_extern_access attribute.
10914          (legitimate_pic_address_disp_p): Avoid copy relocation in PIE
10915          for -mno-direct-extern-access or nodirect_extern_access attribute.
10916          (ix86_print_operand): Pass true to ix86_force_load_from_GOT_p
10917          for call operand.
10918          (asm_preferred_eh_data_format): Use PC-relative format for
10919          -mno-direct-extern-access to avoid copy relocation.  Check
10920          ptr_mode instead of TARGET_64BIT when selecting DW_EH_PE_sdata4.
10921          (ix86_binds_local_p): Set ix86_has_no_direct_extern_access to
10922          true for -mno-direct-extern-access or nodirect_extern_access
10923          attribute.  Don't treat protected data as extern and avoid copy
10924          relocation on common symbol with -mno-direct-extern-access or
10925          nodirect_extern_access attribute.
10926          (ix86_reloc_rw_mask): New to avoid copy relocation for
10927          -mno-direct-extern-access.
10928          (TARGET_ASM_RELOC_RW_MASK): New.
10929          * config/i386/i386.opt: Add -mdirect-extern-access.
10930          * doc/extend.texi: Document nodirect_extern_access attribute.
10931          * doc/invoke.texi: Document -m[no-]direct-extern-access.
10932
109332022-02-09  H.J. Lu  <hjl.tools@gmail.com>
10934
10935          PR target/104441
10936          * config/i386/i386.cc (ix86_avx_u128_mode_source): New function.
10937          (ix86_avx_u128_mode_needed): Return AVX_U128_ANY for debug INSN.
10938          Call ix86_avx_u128_mode_source to check mode for each component
10939          of source operand.
10940
109412022-02-09  liuhongt  <hongtao.liu@intel.com>
10942
10943          PR target/104451
10944          * config/i386/sse.md (<insn><mode>3): lowpart_subreg
10945          operands[2] from SImode to QImode.
10946
109472022-02-09  Richard Biener  <rguenther@suse.de>
10948
10949          PR middle-end/104450
10950          * gimple-isel.cc: Pass cfun around.
10951          (+gimple_expand_vec_cond_expr): Do not combine a throwing
10952          comparison with the select.
10953
109542022-02-09  Richard Biener  <rguenther@suse.de>
10955
10956          PR target/104453
10957          * config/i386/i386.cc (ix86_gimple_fold_builtin): Guard shift
10958          folding for NULL LHS.
10959
109602022-02-08  Robin Dapp  <rdapp@linux.ibm.com>
10961
10962          PR rtl-optimization/104198
10963          PR rtl-optimization/104153
10964          * ifcvt.cc (noce_convert_multiple_sets_1): Copy rtx instead of
10965          using it directly.  Rework comparison handling and always
10966          perform a second pass.
10967
109682022-02-08  Jakub Jelinek  <jakub@redhat.com>
10969
10970          PR target/102140
10971          * config/rs6000/rs6000.cc (vspltis_shifted): Return false also if
10972          split1 pass has finished already.
10973
109742022-02-08  Bill Schmidt  <wschmidt@linux.ibm.com>
10975
10976          * config/rs6000/rs6000-builtins.def (VMSUMCUD): New.
10977          * config/rs6000/rs6000-overload.def (VEC_MSUMC): New.
10978          * config/rs6000/vsx.md (UNSPEC_VMSUMCUD): New constant.
10979          (vmsumcud): New define_insn.
10980
109812022-02-08  Tom de Vries  <tdevries@suse.de>
10982
10983          * config/nvptx/nvptx-opts.h (enum ptx_isa): Add PTX_ISA_SM70.
10984          * config/nvptx/nvptx.h (TARGET_SM70): Define.
10985
109862022-02-08  Robin Dapp  <rdapp@linux.ibm.com>
10987
10988          * config/s390/s390.cc (s390_rtx_costs): Increase costs for load
10989          on condition.
10990          * config/s390/s390.md: Use paradoxical subreg.
10991
109922022-02-08  Robin Dapp  <rdapp@linux.ibm.com>
10993
10994          * combine.cc (reg_subword_p): Check for paradoxical subreg.
10995
109962022-02-08  Tom de Vries  <tdevries@suse.de>
10997
10998          PR target/104283
10999          * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_3_0
11000          and PTX_VERSION_4_2.
11001          * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm)
11002          (default_ptx_version_option, ptx_version_to_string)
11003          (sm_version_to_string, handle_ptx_version_option): New function.
11004          (nvptx_option_override): Call handle_ptx_version_option.
11005          (nvptx_file_start): Use ptx_version_to_string and sm_version_to_string.
11006          * config/nvptx/nvptx.md (define_insn "nvptx_shuffle<mode>")
11007          (define_insn "nvptx_vote_ballot"): Use TARGET_PTX_6_0.
11008          * config/nvptx/nvptx.opt (mptx): Remove 'Init'.
11009
110102022-02-08  Maciej W. Rozycki  <macro@embecosm.com>
11011
11012          * doc/install.texi (Configuration): Document `--with-isa-spec='
11013          RISC-V option.
11014          * doc/invoke.texi (Option Summary): List `-misa-spec=' RISC-V
11015          option.
11016          (RISC-V Options): Document it.
11017
110182022-02-08  Maciej W. Rozycki  <macro@embecosm.com>
11019
11020          * config/riscv/t-riscv (riscv-sr.o): Add $(TM_H) dependency.
11021
110222022-02-08  Tom de Vries  <tdevries@suse.de>
11023
11024          * config/nvptx/nvptx.cc (write_fn_proto_1): Handle 'main (int)'.
11025
110262022-02-08  Tom de Vries  <tdevries@suse.de>
11027
11028          PR target/104364
11029          * config/nvptx/nvptx-protos.h (nvptx_mem_local_p): Declare.
11030          * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Assert that
11031          change is validated.
11032          (nvptx_mem_local_p): New function.
11033          * config/nvptx/nvptx.md: Use nvptx_mem_local_p.
11034          (define_c_enum "unspecv"): Add UNSPECV_CAS_LOCAL.
11035          (define_insn "atomic_compare_and_swap<mode>_1_local"): New
11036          non-atomic, non-predicable define_insn, factored out of ...
11037          (define_insn "atomic_compare_and_swap<mode>_1"): ... here.
11038          Make predicable again.
11039          (define_expand "atomic_compare_and_swap<mode>"): Use
11040          atomic_compare_and_swap<mode>_1_local.
11041
110422022-02-08  liuhongt  <hongtao.liu@intel.com>
11043
11044          PR rtl-optimization/104059
11045          * regcprop.cc (copyprop_hardreg_forward_1): Don't propagate
11046          for a more expensive reg-reg move.
11047
110482022-02-07  Tamar Christina  <tamar.christina@arm.com>
11049
11050          * config/arm/arm_neon.h (vusdotq_s32, vusdot_laneq_s32,
11051          vusdotq_laneq_s32, vsudot_laneq_s32, vsudotq_laneq_s32): New
11052          * config/arm/arm_neon_builtins.def (usdot): Add V16QI.
11053          (usdot_laneq, sudot_laneq): New.
11054          * config/arm/neon.md (neon_<sup>dot_laneq<vsi2qi>): New.
11055          (neon_<sup>dot_lane<vsi2qi>): Remote unneeded code.
11056
110572022-02-07  Tamar Christina  <tamar.christina@arm.com>
11058
11059          * config/arm/arm_neon.h (vdot_laneq_u32, vdotq_laneq_u32,
11060          vdot_laneq_s32, vdotq_laneq_s32): New.
11061          * config/arm/arm_neon_builtins.def (sdot_laneq, udot_laneq): New.
11062          * config/arm/neon.md (neon_<sup>dot<vsi2qi>): New.
11063          (<sup>dot_prod<vsi2qi>): Re-order rtl.
11064          (neon_<sup>dot_lane<vsi2qi>): Fix rtl order and endiannes.
11065          (neon_<sup>dot_laneq<vsi2qi>): New.
11066
110672022-02-07  Andreas Krebbel  <krebbel@linux.ibm.com>
11068
11069          PR target/104327
11070          * config/s390/s390.cc (s390_can_inline_p): Accept a few more flags
11071          if always_inline is set. Don't inline when tune differs without
11072          always_inline.
11073
110742022-02-07  Richard Biener  <rguenther@suse.de>
11075
11076          PR middle-end/104402
11077          * gimple-expr.cc (is_gimple_condexpr): _Complex typed
11078          compares are not valid.
11079          * tree-cfg.cc (verify_gimple_assign_ternary): For COND_EXPR
11080          check is_gimple_condexpr.
11081
110822022-02-07  Kewen Lin  <linkw@linux.ibm.com>
11083
11084          PR target/103627
11085          * config/rs6000/rs6000.cc (rs6000_option_override_internal): Move the
11086          hunk affecting VSX and ALTIVEC to appropriate place.
11087
110882022-02-07  Kewen Lin  <linkw@linux.ibm.com>
11089
11090          PR target/103627
11091          * config/rs6000/rs6000.cc (rs6000_option_override_internal): Disable
11092          MMA if !TARGET_VSX.
11093
110942022-02-06  Jakub Jelinek  <jakub@redhat.com>
11095
11096          PR c++/89074
11097          PR c++/104033
11098          * fold-const.h (folding_initializer): Adjust comment.
11099          (folding_cxx_constexpr): Declare.
11100          * fold-const.cc (folding_initializer): Adjust comment.
11101          (folding_cxx_constexpr): New variable.
11102          (address_compare): Restrict the decl vs. STRING_CST
11103          or vice versa or STRING_CST vs. STRING_CST or
11104          is_global_var != is_global_var optimizations to !folding_cxx_constexpr.
11105          Punt for FUNCTION_DECLs with non-zero offsets.  If folding_initializer,
11106          assume non-aliased functions have non-zero size and have different
11107          addresses.  For folding_cxx_constexpr, punt on comparisons of start
11108          of some object and end of another one, regardless whether it is a decl
11109          or string literal.  Also punt for folding_cxx_constexpr on
11110          STRING_CST vs. STRING_CST comparisons if the two literals could be
11111          overlapping.
11112
111132022-02-05  Jakub Jelinek  <jakub@redhat.com>
11114
11115          PR tree-optimization/104389
11116          * match.pd (x * 0 -> 0): Punt if x maybe infinite and NaNs are
11117          honored.
11118
111192022-02-05  Kito Cheng  <kito.cheng@sifive.com>
11120
11121          * configure.ac: Fix detection for zifencei support.
11122          * configure: Regenerate.
11123
111242022-02-05  Kito Cheng  <kito.cheng@sifive.com>
11125
11126          PR target/104219
11127          * config.gcc (riscv*-*-*): Normalize the with_isa_spec value.
11128          (all_defaults): Add isa_spec.
11129          * config/riscv/riscv.h (OPTION_DEFAULT_SPECS): Add isa_spec.
11130
111312022-02-04  Bill Schmidt  <wschmidt@linux.ibm.com>
11132
11133          * config/rs6000/rs6000-c.cc (resolve_vec_mul): Accept args and types
11134          parameters instead of arglist and nargs.  Simplify accordingly.  Remove
11135          unnecessary test for argument count mismatch.
11136          (resolve_vec_cmpne): Likewise.
11137          (resolve_vec_adde_sube): Likewise.
11138          (resolve_vec_addec_subec): Likewise.
11139          (altivec_resolve_overloaded_builtin): Move overload special handling
11140          after the gathering of arguments into args[] and types[] and the test
11141          for correct number of arguments.  Don't perform the test for correct
11142          number of arguments for certain special cases.  Call the other special
11143          cases with args and types instead of arglist and nargs.
11144
111452022-02-04  Bill Schmidt  <wschmidt@linux.ibm.com>
11146
11147          PR target/100808
11148          * doc/extend.texi (Basic PowerPC Built-in Functions Available on ISA
11149          3.1): Provide consistent type names.  Remove unnecessary semicolons.
11150          Fix bad line breaks.
11151
111522022-02-04  Jakub Jelinek  <jakub@redhat.com>
11153
11154          PR target/104380
11155          * config/rs6000/rs6000.cc (rs6000_mangle_decl_assembler_name): Also
11156          adjust mangling of __builtin*printf_chk.
11157
111582022-02-04  Jonathan Wakely  <jwakely@redhat.com>
11159
11160          * doc/cpp.texi (Variadic Macros): Replace C++2a with C++20.
11161
111622022-02-04  Richard Biener  <rguenther@suse.de>
11163              Bin Cheng   <bin.cheng@linux.alibaba.com>
11164
11165          PR tree-optimization/100499
11166          * fold-const.h (multiple_of_p): Add nowrap parameter, defaulted
11167          to true.
11168          * fold-const.cc (multiple_of_p): Likewise.  Honor it for
11169          MULT_EXPR, PLUS_EXPR and MINUS_EXPR and pass it along,
11170          switching to false for conversions.
11171          * tree-ssa-loop-niter.cc (number_of_iterations_ne): Do not
11172          claim the outermost expression does not wrap when calling
11173          multiple_of_p.  Refactor the check done to check the
11174          original IV, avoiding a bias that might wrap.
11175
111762022-02-04  Richard Biener  <rguenther@suse.de>
11177
11178          * fold-const.cc (multiple_of_p): Re-write and move LSHIFT_EXPR
11179          handling.
11180
111812022-02-04  Eric Botcazou  <ebotcazou@adacore.com>
11182
11183          PR debug/104366
11184          * dwarf2out.cc (dwarf2out_finish): Empty base_types.
11185          (dwarf2out_early_finish): Likewise.
11186
111872022-02-04  Eric Botcazou  <ebotcazou@adacore.com>
11188
11189          PR tree-optimization/104356
11190          * match.pd (X / bool_range_Y is X): Add guard.
11191          (X / X is one): Likewise.
11192          (X / abs (X) is X < 0 ? -1 : 1): Likewise.
11193          (X / -X is -1): Likewise.
11194          (1 / X -> X == 1): Likewise.
11195
111962022-02-04  Richard Biener  <rguenther@suse.de>
11197
11198          PR tree-optimization/103641
11199          * tree-vect-patterns.cc (vect_synth_mult_by_constant):
11200          Pass the vector mode to choose_mult_variant.
11201
112022022-02-04  Roger Sayle  <roger@nextmovesoftware.com>
11203
11204          PR rtl-optimization/101885
11205          * combine.cc (try_combine): When splitting a parallel into two
11206          sequential sets, check not only that the first doesn't clobber
11207          the second but also that the second doesn't clobber the first.
11208
112092022-02-04  Richard Biener  <rguenther@suse.de>
11210
11211          PR middle-end/90348
11212          PR middle-end/104092
11213          * tree-core.h (clobber_kind): New enum.
11214          (tree_base::u::bits::address_space): Document use in CONSTRUCTORs.
11215          * tree.h (CLOBBER_KIND): Add.
11216          (build_clobber): Add clobber kind argument, defaulted to
11217          CLOBBER_UNDEF.
11218          * tree.cc (build_clobber): Likewise.
11219          * gimple.h (gimple_clobber_p): New overload with specified kind.
11220          * tree-streamer-in.cc (streamer_read_tree_bitfields): Stream
11221          CLOBBER_KIND.
11222          * tree-streamer-out.cc (streamer_write_tree_bitfields):
11223          Likewise.
11224          * tree-pretty-print.cc (dump_generic_node): Mark EOL CLOBBERs.
11225          * gimplify.cc (gimplify_bind_expr): Build storage end-of-life clobbers
11226          with CLOBBER_EOL.
11227          (gimplify_target_expr): Likewise.
11228          * tree-inline.cc (expand_call_inline): Likewise.
11229          * tree-ssa-ccp.cc (insert_clobber_before_stack_restore): Likewise.
11230          * gimple-ssa-warn-access.cc (pass_waccess::check_stmt): Only treat
11231          CLOBBER_EOL clobbers as ending lifetime of storage.
11232
112332022-02-04  Martin Sebor  <msebor@redhat.com>
11234
11235          * pointer-query.h (pointer_query::cache_type): Use auto_vec for auto
11236          cleanup.
11237
112382022-02-03  Martin Sebor  <msebor@redhat.com>
11239
11240          PR middle-end/104260
11241          * passes.def (pass_warn_access): Adjust pass placement.
11242
112432022-02-03  Uroš Bizjak  <ubizjak@gmail.com>
11244
11245          PR target/104362
11246          * config/i386/i386.cc (find_drap_reg): For 32bit targets
11247          return DI_REG if function uses __builtin_eh_return.
11248
112492022-02-03  Martin Sebor  <msebor@redhat.com>
11250
11251          * gimple-ssa-warn-restrict.cc (class pass_wrestrict): Outline ctor.
11252          (pass_wrestrict::m_ptr_qry): New member.
11253          (wrestrict_walk): Rename...
11254          (pass_wrestrict::check_block): ...to this.
11255          (pass_wrestrict::execute): Set up and tear down pointer_query and
11256          ranger.
11257          (builtin_memref::builtin_memref): Change ctor argument.  Simplify.
11258          (builtin_access::builtin_access): Same.
11259          (builtin_access::m_ptr_qry): New member.
11260          (check_call): Rename...
11261          (pass_wrestrict::check_call): ...to this.
11262          (check_bounds_or_overlap): Change argument.
11263          * gimple-ssa-warn-restrict.h (check_bounds_or_overlap): Same.
11264
112652022-02-03  Martin Sebor  <msebor@redhat.com>
11266
11267          * gimple-array-bounds.cc (array_bounds_checker::array_bounds_checker):
11268          Define ctor.
11269          (array_bounds_checker::get_value_range): Use new member.
11270          (array_bounds_checker::check_mem_ref): Same.
11271          * gimple-array-bounds.h (array_bounds_checker::array_bounds_checker):
11272          Outline ctor.
11273          (array_bounds_checker::m_ptr_query): New member.
11274
112752022-02-03  Martin Sebor  <msebor@redhat.com>
11276
11277          * gimple-ssa-warn-access.cc (pass_waccess::pass_waccess): Remove
11278          pointer_query cache.
11279          * pointer-query.cc (pointer_query::pointer_query): Remove cache
11280          argument.  Zero-initialize new cache member.
11281          (pointer_query::get_ref): Replace cache pointer with direct access.
11282          (pointer_query::put_ref): Same.
11283          (pointer_query::flush_cache): Same.
11284          (pointer_query::dump): Same.
11285          * pointer-query.h (class pointer_query): Remove cache argument from
11286          ctor.  Change cache pointer to cache subobject member.
11287          * tree-ssa-strlen.cc: Remove pointer_query cache.
11288
112892022-02-03  Martin Sebor  <msebor@redhat.com>
11290
11291          PR tree-optimization/104119
11292          * gimple-ssa-sprintf.cc (struct directive): Change argument type.
11293          (format_none): Same.
11294          (format_percent): Same.
11295          (format_integer): Same.
11296          (format_floating): Same.
11297          (get_string_length): Same.
11298          (format_character): Same.
11299          (format_string): Same.
11300          (format_plain): Same.
11301          (format_directive): Same.
11302          (compute_format_length): Same.
11303          (handle_printf_call): Same.
11304          * tree-ssa-strlen.cc (get_range_strlen_dynamic): Same.   Call
11305          get_maxbound.
11306          (get_range_strlen_phi): Same.
11307          (get_maxbound): New function.
11308          (strlen_pass::get_len_or_size): Adjust to parameter change.
11309          * tree-ssa-strlen.h (get_range_strlen_dynamic): Change argument type.
11310
113112022-02-03  Bill Schmidt  <wschmidt@linux.ibm.com>
11312
11313          PR target/103686
11314          * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin):       Remove
11315          test for !rs6000_fold_gimple.
11316          * config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise.
11317          * config/rs6000/rs6000.opt (mfold-gimple): Remove.
11318
113192022-02-03  Bill Schmidt  <wschmidt@linux.ibm.com>
11320
11321          PR target/95082
11322          * config/rs6000/rs6000-builtin.cc (rs6000_expand_builtin): Handle
11323          endianness for vclzlsbb and vctzlsbb.
11324          * config/rs6000/rs6000-builtins.def (VCLZLSBB_V16QI): Change
11325          default pattern and indicate a different pattern will be used for
11326          big endian.
11327          (VCLZLSBB_V4SI): Likewise.
11328          (VCLZLSBB_V8HI): Likewise.
11329          (VCTZLSBB_V16QI): Likewise.
11330          (VCTZLSBB_V4SI): Likewise.
11331          (VCTZLSBB_V8HI): Likewise.
11332
113332022-02-03  Bill Schmidt  <wschmidt@linux.ibm.com>
11334
11335          * config.gcc (powerpc*-*-*): Add rs6000-builtin.o to extra_objs.
11336          * config/rs6000/rs6000-builtin.cc: New file, containing code moved
11337          from other files.
11338          * config/rs6000/rs6000-call.cc (cpu_is_info): Move to
11339          rs6000-builtin.cc.
11340          (cpu_supports_info): Likewise.
11341          (rs6000_type_string): Likewise.
11342          (altivec_expand_predicate_builtin): Likewise.
11343          (rs6000_htm_spr_icode): Likewise.
11344          (altivec_expand_vec_init_builtin): Likewise.
11345          (get_element_number): Likewise.
11346          (altivec_expand_vec_set_builtin): Likewise.
11347          (altivec_expand_vec_ext_builtin): Likewise.
11348          (rs6000_invalid_builtin): Likewise.
11349          (rs6000_fold_builtin): Likewise.
11350          (fold_build_vec_cmp): Likewise.
11351          (fold_compare_helper): Likewise.
11352          (map_to_integral_tree_type): Likewise.
11353          (fold_mergehl_helper): Likewise.
11354          (fold_mergeeo_helper): Likewise.
11355          (rs6000_builtin_valid_without_lhs): Likewise.
11356          (rs6000_builtin_is_supported): Likewise.
11357          (rs6000_gimple_fold_mma_builtin): Likewise.
11358          (rs6000_gimple_fold_builtin): Likewise.
11359          (rs6000_expand_ldst_mask): Likewise.
11360          (cpu_expand_builtin): Likewise.
11361          (elemrev_icode): Likewise.
11362          (ldv_expand_builtin): Likewise.
11363          (lxvrse_expand_builtin): Likewise.
11364          (lxvrze_expand_builtin): Likewise.
11365          (stv_expand_builtin): Likewise.
11366          (mma_expand_builtin): Likewise.
11367          (htm_spr_num): Likewise.
11368          (htm_expand_builtin): Likewise.
11369          (rs6000_expand_builtin): Likewise.
11370          (rs6000_vector_type): Likewise.
11371          (rs6000_init_builtins): Likewise.  Remove initialization of
11372          builtin_mode_to_type entries.
11373          (rs6000_builtin_decl): Move to rs6000-builtin.cc.
11374          * config/rs6000/rs6000.cc (rs6000_builtin_mask_for_load): New
11375          external declaration.
11376          (rs6000_builtin_md_vectorized_function): Likewise.
11377          (rs6000_builtin_reciprocal): Likewise.
11378          (altivec_builtin_mask_for_load): Move to rs6000-builtin.cc.
11379          (rs6000_builtin_types): Likewise.
11380          (builtin_mode_to_type): Remove.
11381          (rs6000_builtin_mask_for_load): Move to rs6000-builtin.cc.  Remove
11382          static qualifier.
11383          (rs6000_builtin_md_vectorized_function): Likewise.
11384          (rs6000_builtin_reciprocal): Likewise.
11385          * config/rs6000/rs6000.h (builtin_mode_to_type): Remove.
11386          * config/rs6000/t-rs6000 (rs6000-builtin.o): New target.
11387
113882022-02-03  Richard Biener  <rguenther@suse.de>
11389
11390          PR debug/104337
11391          * tree-nrv.cc (pass_nrv::execute): Remove tieing result and found
11392          together via DECL_ABSTRACT_ORIGIN.
11393
113942022-02-03  Bill Schmidt  <wschmidt@linux.ibm.com>
11395
11396          * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Revise error
11397          message for RES_BITS case.
11398
113992022-02-03  Aldy Hernandez  <aldyh@redhat.com>
11400
11401          * gimple-range-fold.cc (fur_list::fur_list): Set m_local[1] correctly.
11402
114032022-02-03  Jakub Jelinek  <jakub@redhat.com>
11404
11405          * config/arm/arm.opt (mfix-cortex-a57-aes-1742098,
11406          mfix-cortex-a72-aes-1655431): Ensure description ends with full stop.
11407
114082022-02-03  Aldy Hernandez  <aldyh@redhat.com>
11409
11410          * cfganal.cc (verify_marked_backedges): New.
11411          * cfganal.h (verify_marked_backedges): New.
11412          * gimple-range-path.cc (path_range_query::path_range_query):
11413          Verify freshness of back edges.
11414          * tree-ssa-loop-ch.cc (ch_base::copy_headers): Call
11415          mark_dfs_back_edges.
11416          * tree-ssa-threadbackward.cc (back_threader::back_threader): Move
11417          path_range_query construction after backedges have been
11418          updated.
11419
114202022-02-03  Richard Sandiford  <richard.sandiford@arm.com>
11421
11422          * config/aarch64/aarch64-simd.md (movmisalign<mode>): Extend from
11423          VALL to VALL_F16.
11424
114252022-02-03  Richard Sandiford  <richard.sandiford@arm.com>
11426
11427          * config/aarch64/iterators.md (VALL_F16MOV): Delete.
11428          * config/aarch64/aarch64-simd.md (mov<mode>): Use VALL_F16 instead
11429          of VALL_F16MOV.
11430
114312022-02-03  Martin Liska  <mliska@suse.cz>
11432
11433          * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p):
11434          Change subject and object in the error message.
11435          * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
11436          Likewise.
11437
114382022-02-03  Martin Liska  <mliska@suse.cz>
11439
11440          * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
11441          Use the error message for i386 target.
11442
114432022-02-03  Jakub Jelinek  <jakub@redhat.com>
11444
11445          PR tree-optimization/104334
11446          * range-op.cc (range_operator::wi_fold_in_parts): Change lh_range
11447          and rh_range type to widest_int and subtract in widest_int.  Remove
11448          ov_rh, ov_lh and sign vars, always perform comparisons as signed
11449          and use >, < and == operators for it.
11450
114512022-02-03  Martin Sebor  <msebor@redhat.com>
11452
11453          * common.opt (-Wuse-after-free): Correct typos.
11454
114552022-02-02  David Malcolm  <dmalcolm@redhat.com>
11456
11457          PR analyzer/104270
11458          * doc/invoke.texi (-ftrivial-auto-var-init=): Add reference to
11459          -Wanalyzer-use-of-uninitialized-value to paragraph documenting that
11460          -ftrivial-auto-var-init= doesn't suppress warnings.
11461
114622022-02-02  Martin Liska  <mliska@suse.cz>
11463
11464          * dwarf2out.cc (TEXT_SECTION_NAME): Remove unused macro.
11465
114662022-02-02  Bernd Kuhls  <bernd.kuhls@t-online.de>
11467
11468          PR target/94372
11469          * config/or1k/linux.h (CPP_SPEC): Define.
11470
114712022-02-02  Tamar Christina  <tamar.christina@arm.com>
11472
11473          PR tree-optimization/102819
11474          PR tree-optimization/103169
11475          * config/arm/vec-common.md (cml<fcmac1><conj_op><mode>4): Use
11476          canonical order.
11477
114782022-02-02  Tamar Christina  <tamar.christina@arm.com>
11479
11480          PR tree-optimization/102819
11481          PR tree-optimization/103169
11482          * config/aarch64/aarch64-simd.md (cml<fcmac1><conj_op><mode>4): Use
11483          canonical order.
11484          * config/aarch64/aarch64-sve.md (cml<fcmac1><conj_op><mode>4): Likewise.
11485
114862022-02-02  Tamar Christina  <tamar.christina@arm.com>
11487
11488          PR tree-optimization/102819
11489          PR tree-optimization/103169
11490          * doc/md.texi: Update docs for cfms, cfma.
11491          * tree-data-ref.h (same_data_refs): Accept optional offset.
11492          * tree-vect-slp-patterns.cc (is_linear_load_p): Fix issue with repeating
11493          patterns.
11494          (vect_normalize_conj_loc): Remove.
11495          (is_eq_or_top): Change to take two nodes.
11496          (enum _conj_status, compatible_complex_nodes_p,
11497          vect_validate_multiplication): New.
11498          (class complex_add_pattern, complex_add_pattern::matches,
11499          complex_add_pattern::recognize, class complex_mul_pattern,
11500          complex_mul_pattern::recognize, class complex_fms_pattern,
11501          complex_fms_pattern::recognize, class complex_operations_pattern,
11502          complex_operations_pattern::recognize, addsub_pattern::recognize): Pass
11503          new cache.
11504          (complex_fms_pattern::matches, complex_mul_pattern::matches): Pass new
11505          cache and use new validation code.
11506          * tree-vect-slp.cc (vect_match_slp_patterns_2, vect_match_slp_patterns,
11507          vect_analyze_slp): Pass along cache.
11508          (compatible_calls_p): Expose.
11509          * tree-vectorizer.h (compatible_calls_p, slp_node_hash,
11510          slp_compat_nodes_map_t): New.
11511          (class vect_pattern): Update signatures include new cache.
11512
115132022-02-02  Hans-Peter Nilsson  <hp@axis.com>
11514
11515          * config/cris/cris.cc (cris_preferred_reload_class): Reject
11516          "eliminated" registers and small-enough constants unless
11517          reloaded into a class that is a subset of GENERAL_REGS.
11518          * config/cris/cris.md (attribute "cpu_variant"): New.
11519          (attribute "enabled"): Conditionalize on a matching attribute
11520          cpu_variant, if specified.
11521          ("*movsi_internal<setcc><setnz><setnzvc>"): For moves to and from
11522          memory, add cpu-variant-enabled variants for "r" alternatives on
11523          the far side of the "x" alternatives, preferring the "x" ones
11524          only for variants where MOF is present (in addition to SRP).
11525
115262022-02-02  Hans-Peter Nilsson  <hp@axis.com>
11527
11528          * config/cris/cris.cc (cris_register_move_cost): Remove special pre-ira
11529          extra cost for ALL_REGS.
11530
115312022-02-02  Hans-Peter Nilsson  <hp@axis.com>
11532
11533          * config/cris/constraints.md (define_register_constraint "b"): Now
11534          GENERAL_REGS.
11535          * config/cris/cris.md (CRIS_ACR_REGNUM): Remove.
11536          * config/cris/cris.h: (reg_class, REG_CLASS_NAMES)
11537          (REG_CLASS_CONTENTS): Remove ACR_REGS, SPEC_ACR_REGS, GENNONACR_REGS,
11538          and SPEC_GENNONACR_REGS.
11539          * config/cris/cris.cc (cris_preferred_reload_class): Don't mention
11540          ACR_REGS and return GENERAL_REGS instead of GENNONACR_REGS.
11541
115422022-02-02  Hans-Peter Nilsson  <hp@axis.com>
11543
11544          * config/cris/cris.md ("*movsi_internal<setcc><setnz><setnzvc>"):
11545          Conditionalize on (sub-)register operands or operand 1 being 0.
11546
115472022-02-02  Hans-Peter Nilsson  <hp@axis.com>
11548
11549          * config/cris/cris.h (TARGET_DEFAULT): Don't include MASK_MUL_BUG.
11550          (MUL_BUG_ASM_DEFAULT): New macro.
11551          (MAYBE_AS_NO_MUL_BUG_ABORT): Define in terms of MUL_BUG_ASM_DEFAULT.
11552          * doc/invoke.texi (CRIS Options, -mmul-bug-workaround): Adjust
11553          accordingly.
11554
115552022-02-01  Eugene Rozenfeld  <erozen@microsoft.com>
11556
11557          * opts.cc (common_handle_option): Don't set param_early_inliner_max_iterations
11558          to 10 for AutoFDO.
11559
115602022-02-01  Eugene Rozenfeld  <erozen@microsoft.com>
11561
11562          * auto-profile.cc (auto_profile): Hard-code the number of iterations (10).
11563
115642022-02-01  Andrew Pinski  <apinski@marvell.com>
11565
11566          * doc/install.texi:
11567
115682022-02-01  Ilya Leoshkevich  <iii@linux.ibm.com>
11569
11570          * config/s390/s390.cc (s390_code_end): Do not switch back to
11571          code section.
11572
115732022-02-01  Jakub Jelinek  <jakub@redhat.com>
11574
11575          PR target/104323
11576          * config/rs6000/t-rs6000 (EXTRA_GTYPE_DEPS): Append rs6000-builtins.h
11577          rather than $(srcdir)/config/rs6000/rs6000-builtins.def.
11578          * config/rs6000/rs6000-gen-builtins.cc (write_decls): Don't use
11579          GTY((user)) for struct bifdata and struct ovlddata.  Instead add
11580          GTY((skip(""))) to members with pointer and enum types that don't need
11581          to be tracked.  Add GTY(()) to rs6000_builtin_info and rs6000_instance_info
11582          declarations.  Don't emit gt_ggc_mx and gt_pch_nx declarations.
11583          (write_extern_fntype, write_fntype): Remove.
11584          (write_fntype_init): Emit the fntype vars as automatic vars instead
11585          of file scope ones.
11586          (write_header_file): Don't iterate with write_extern_fntype.
11587          (write_init_file): Don't iterate with write_fntype.  Don't emit
11588          gt_ggc_mx and gt_pch_nx definitions.
11589
115902022-02-01  Jason Merrill  <jason@redhat.com>
11591
11592          * tree.h (struct tree_vec_map_cache_hasher): Move from...
11593          * tree.cc (struct tree_vec_map_cache_hasher): ...here.
11594
115952022-02-01  Tom de Vries  <tdevries@suse.de>
11596
11597          * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_uniform_warp_check.
11598          * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
11599          UNSPECV_UNIFORM_WARP_CHECK.
11600          (define_insn "nvptx_uniform_warp_check"): New define_insn.
11601
116022022-02-01  Tom de Vries  <tdevries@suse.de>
11603
11604          * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_warpsync.
11605          * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
11606          UNSPECV_WARPSYNC.
11607          (define_insn "nvptx_warpsync"): New define_insn.
11608
116092022-02-01  Tom de Vries  <tdevries@suse.de>
11610
11611          * config/nvptx/nvptx.opt (mptx): Set to PTX_VERSION_6_3 by default.
11612
116132022-02-01  Tom de Vries  <tdevries@suse.de>
11614
11615          * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_6_0.
11616          * config/nvptx/nvptx.h (TARGET_PTX_6_0): New macro.
11617          * config/nvptx/nvptx.md (define_insn "nvptx_barsync"): Use barrier
11618          insn for TARGET_PTX_6_0.
11619
116202022-02-01  Tom de Vries  <tdevries@suse.de>
11621
11622          PR target/100428
11623          * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle nop
11624          insn.
11625
116262022-02-01  Tom de Vries  <tdevries@suse.de>
11627
11628          * config/nvptx/nvptx.md (define_insn "atomic_compare_and_swap<mode>_1")
11629          (define_insn "atomic_exchange<mode>")
11630          (define_insn "atomic_fetch_add<mode>")
11631          (define_insn "atomic_fetch_addsf")
11632          (define_insn "atomic_fetch_<logic><mode>"): Output non-atomic version
11633          if memory operands is frame-relative.
11634
116352022-02-01  Tom de Vries  <tdevries@suse.de>
11636
11637          * config/nvptx/nvptx.cc (enum nvptx_builtins): Add
11638          NVPTX_BUILTIN_MEMBAR_GL and NVPTX_BUILTIN_MEMBAR_CTA.
11639          (VOID): New macro.
11640          (nvptx_init_builtins): Add MEMBAR_GL and MEMBAR_CTA.
11641          (nvptx_expand_builtin): Handle NVPTX_BUILTIN_MEMBAR_GL and
11642          NVPTX_BUILTIN_MEMBAR_CTA.
11643          (nvptx_lockfull_update): Add level parameter.  Emit barriers.
11644          (nvptx_reduction_update, nvptx_goacc_reduction_fini): Update call to
11645          nvptx_lockfull_update.
11646          * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
11647          UNSPECV_MEMBAR_GL.
11648          (define_expand "nvptx_membar_gl"): New expand.
11649          (define_insn "*nvptx_membar_gl"): New insn.
11650
116512022-02-01  Martin Liska  <mliska@suse.cz>
11652
11653          * doc/install.texi: Remove option for GCC < 4.8.
11654
116552022-02-01  Jakub Jelinek  <jakub@redhat.com>
11656
11657          PR middle-end/104307
11658          * tree-vect-generic.cc (expand_vector_comparison): Don't push debug
11659          stmts to uses vector, just set vec_cond_expr_only to false for
11660          non-VEC_COND_EXPRs instead of pushing them into uses.  Treat
11661          VEC_COND_EXPRs that use lhs not just in rhs1, but rhs2 or rhs3 too
11662          like non-VEC_COND_EXPRs.
11663
116642022-02-01  Bill Schmidt  <wschmidt@linux.ibm.com>
11665
11666          * config/rs6000/rs6000-overload.def (VEC_ABSD): Remove #ifdef token.
11667          (VEC_BLENDV): Likewise.
11668          (VEC_BPERM): Likewise.
11669          (VEC_CFUGE): Likewise.
11670          (VEC_CIPHER_BE): Likewise.
11671          (VEC_CIPHERLAST_BE): Likewise.
11672          (VEC_CLRL): Likewise.
11673          (VEC_CLRR): Likewise.
11674          (VEC_CMPNEZ): Likewise.
11675          (VEC_CNTLZ): Likewise.
11676          (VEC_CNTLZM): Likewise.
11677          (VEC_CNTTZM): Likewise.
11678          (VEC_CNTLZ_LSBB): Likewise.
11679          (VEC_CNTM): Likewise.
11680          (VEC_CNTTZ): Likewise.
11681          (VEC_CNTTZ_LSBB): Likewise.
11682          (VEC_CONVERT_4F32_8F16): Likewise.
11683          (VEC_DIV): Likewise.
11684          (VEC_DIVE): Likewise.
11685          (VEC_EQV): Likewise.
11686          (VEC_EXPANDM): Likewise.
11687          (VEC_EXTRACT_FP_FROM_SHORTH): Likewise.
11688          (VEC_EXTRACT_FP_FROM_SHORTL): Likewise.
11689          (VEC_EXTRACTH): Likewise.
11690          (VEC_EXTRACTL): Likewise.
11691          (VEC_EXTRACTM): Likewise.
11692          (VEC_EXTRACT4B): Likewise.
11693          (VEC_EXTULX): Likewise.
11694          (VEC_EXTURX): Likewise.
11695          (VEC_FIRSTMATCHINDEX): Likewise.
11696          (VEC_FIRSTMACHOREOSINDEX): Likewise.
11697          (VEC_FIRSTMISMATCHINDEX): Likewise.
11698          (VEC_FIRSTMISMATCHOREOSINDEX): Likewise.
11699          (VEC_GB): Likewise.
11700          (VEC_GENBM): Likewise.
11701          (VEC_GENHM): Likewise.
11702          (VEC_GENWM): Likewise.
11703          (VEC_GENDM): Likewise.
11704          (VEC_GENQM): Likewise.
11705          (VEC_GENPCVM): Likewise.
11706          (VEC_GNB): Likewise.
11707          (VEC_INSERTH): Likewise.
11708          (VEC_INSERTL): Likewise.
11709          (VEC_INSERT4B): Likewise.
11710          (VEC_LXVL): Likewise.
11711          (VEC_MERGEE): Likewise.
11712          (VEC_MERGEO): Likewise.
11713          (VEC_MOD): Likewise.
11714          (VEC_MSUB): Likewise.
11715          (VEC_MULH): Likewise.
11716          (VEC_NAND): Likewise.
11717          (VEC_NCIPHER_BE): Likewise.
11718          (VEC_NCIPHERLAST_BE): Likewise.
11719          (VEC_NEARBYINT): Likewise.
11720          (VEC_NMADD): Likewise.
11721          (VEC_ORC): Likewise.
11722          (VEC_PDEP): Likewise.
11723          (VEC_PERMX): Likewise.
11724          (VEC_PEXT): Likewise.
11725          (VEC_POPCNT): Likewise.
11726          (VEC_PARITY_LSBB): Likewise.
11727          (VEC_REPLACE_ELT): Likewise.
11728          (VEC_REPLACE_UN): Likewise.
11729          (VEC_REVB): Likewise.
11730          (VEC_RINT): Likewise.
11731          (VEC_RLMI): Likewise.
11732          (VEC_RLNM): Likewise.
11733          (VEC_SBOX_BE): Likewise.
11734          (VEC_SIGNEXTI): Likewise.
11735          (VEC_SIGNEXTLL): Likewise.
11736          (VEC_SIGNEXTQ): Likewise.
11737          (VEC_SLDB): Likewise.
11738          (VEC_SLV): Likewise.
11739          (VEC_SPLATI): Likewise.
11740          (VEC_SPLATID): Likewise.
11741          (VEC_SPLATI_INS): Likewise.
11742          (VEC_SQRT): Likewise.
11743          (VEC_SRDB): Likewise.
11744          (VEC_SRV): Likewise.
11745          (VEC_STRIL): Likewise.
11746          (VEC_STRIL_P): Likewise.
11747          (VEC_STRIR): Likewise.
11748          (VEC_STRIR_P): Likewise.
11749          (VEC_STXVL): Likewise.
11750          (VEC_TERNARYLOGIC): Likewise.
11751          (VEC_TEST_LSBB_ALL_ONES): Likewise.
11752          (VEC_TEST_LSBB_ALL_ZEROS): Likewise.
11753          (VEC_VEE): Likewise.
11754          (VEC_VES): Likewise.
11755          (VEC_VIE): Likewise.
11756          (VEC_VPRTYB): Likewise.
11757          (VEC_VSCEEQ): Likewise.
11758          (VEC_VSCEGT): Likewise.
11759          (VEC_VSCELT): Likewise.
11760          (VEC_VSCEUO): Likewise.
11761          (VEC_VSEE): Likewise.
11762          (VEC_VSES): Likewise.
11763          (VEC_VSIE): Likewise.
11764          (VEC_VSTDC): Likewise.
11765          (VEC_VSTDCN): Likewise.
11766          (VEC_VTDC): Likewise.
11767          (VEC_XL): Likewise.
11768          (VEC_XL_BE): Likewise.
11769          (VEC_XL_LEN_R): Likewise.
11770          (VEC_XL_SEXT): Likewise.
11771          (VEC_XL_ZEXT): Likewise.
11772          (VEC_XST): Likewise.
11773          (VEC_XST_BE): Likewise.
11774          (VEC_XST_LEN_R): Likewise.
11775          (VEC_XST_TRUNC): Likewise.
11776          (VEC_XXPERMDI): Likewise.
11777          (VEC_XXSLDWI): Likewise.
11778          (VEC_TSTSFI_EQ_DD): Likewise.
11779          (VEC_TSTSFI_EQ_TD): Likewise.
11780          (VEC_TSTSFI_GT_DD): Likewise.
11781          (VEC_TSTSFI_GT_TD): Likewise.
11782          (VEC_TSTSFI_LT_DD): Likewise.
11783          (VEC_TSTSFI_LT_TD): Likewise.
11784          (VEC_TSTSFI_OV_DD): Likewise.
11785          (VEC_TSTSFI_OV_TD): Likewise.
11786          (VEC_VADDCUQ): Likewise.
11787          (VEC_VADDECUQ): Likewise.
11788          (VEC_VADDEUQM): Likewise.
11789          (VEC_VADDUDM): Likewise.
11790          (VEC_VADDUQM): Likewise.
11791          (VEC_VBPERMQ): Likewise.
11792          (VEC_VCLZB): Likewise.
11793          (VEC_VCLZD): Likewise.
11794          (VEC_VCLZH): Likewise.
11795          (VEC_VCLZW): Likewise.
11796          (VEC_VCTZB): Likewise.
11797          (VEC_VCTZD): Likewise.
11798          (VEC_VCTZH): Likewise.
11799          (VEC_VCTZW): Likewise.
11800          (VEC_VEEDP): Likewise.
11801          (VEC_VEESP): Likewise.
11802          (VEC_VESDP): Likewise.
11803          (VEC_VESSP): Likewise.
11804          (VEC_VIEDP): Likewise.
11805          (VEC_VIESP): Likewise.
11806          (VEC_VPKSDSS): Likewise.
11807          (VEC_VPKSDUS): Likewise.
11808          (VEC_VPKUDUM): Likewise.
11809          (VEC_VPKUDUS): Likewise.
11810          (VEC_VPOPCNT): Likewise.
11811          (VEC_VPOPCNTB): Likewise.
11812          (VEC_VPOPCNTD): Likewise.
11813          (VEC_VPOPCNTH): Likewise.
11814          (VEC_VPOPCNTW): Likewise.
11815          (VEC_VPRTYBD): Likewise.
11816          (VEC_VPRTYBQ): Likewise.
11817          (VEC_VPRTYBW): Likewise.
11818          (VEC_VRLD): Likewise.
11819          (VEC_VSLD): Likewise.
11820          (VEC_VSRAD): Likewise.
11821          (VEC_VSRD): Likewise.
11822          (VEC_VSTDCDP): Likewise.
11823          (VEC_VSTDCNDP): Likewise.
11824          (VEC_VSTDCNQP): Likewise.
11825          (VEC_VSTDCNSP): Likewise.
11826          (VEC_VSTDCQP): Likewise.
11827          (VEC_VSTDCSP): Likewise.
11828          (VEC_VSUBECUQ): Likewise.
11829          (VEC_VSUBEUQM): Likewise.
11830          (VEC_VSUBUDM): Likewise.
11831          (VEC_VSUBUQM): Likewise.
11832          (VEC_VTDCDP): Likewise.
11833          (VEC_VTDCSP): Likewise.
11834          (VEC_VUPKHSW): Likewise.
11835          (VEC_VUPKLSW): Likewise.
11836
118372022-02-01  Andreas Krebbel  <krebbel@linux.ibm.com>
11838
11839          PR rtl-optimization/101260
11840          * regcprop.cc (maybe_mode_change): Invoke mode_change_ok also for
11841          copy_regno.
11842
118432022-02-01  Xi Ruoyao  <xry111@mengyan1223.wang>
11844
11845          PR middle-end/95115
11846          * fold-const.cc (const_binop): Do not fold NaN result from
11847            non-NaN operands.
11848
118492022-02-01  Tom de Vries  <tdevries@suse.de>
11850
11851          * tree-loop-distribution.cc (generate_reduction_builtin_1): Check for
11852          -ftree-loop-distribute-patterns.
11853          (loop_distribution::execute): Don't call transform_reduction_loop for
11854          -fno-tree-loop-distribute-patterns.
11855
118562022-01-31  Andrew Pinski  <apinski@marvell.com>
11857
11858          * fold-const.h (operand_compare::operand_equal_p):
11859          Fix comment about OEP_* flags.
11860
118612022-01-31  Jakub Jelinek  <jakub@redhat.com>
11862
11863          PR target/104298
11864          * config/rs6000/aix.h (OPTION_GLIBC): Remove.
11865          * config/rs6000/darwin.h (OPTION_GLIBC): Likewise.
11866          * config/rs6000/option-defaults.h (OPTION_GLIBC): Define to 0
11867          if not already defined.
11868
118692022-01-31  Martin Sebor  <msebor@redhat.com>
11870
11871          PR middle-end/104232
11872          * gimple-ssa-warn-access.cc (pointers_related_p): Add argument.
11873          Handle PHIs.  Add a synonymous overload.
11874          (pass_waccess::check_pointer_uses): Call pointers_related_p.
11875
118762022-01-31  Richard Biener  <rguenther@suse.de>
11877
11878          PR tree-optimization/100499
11879          * fold-const.cc (multiple_of_p): Pass the correct type of
11880          the expression to the recursive invocation of multiple_of_p
11881          for conversions and use CASE_CONVERT.
11882
118832022-01-31  Eric Botcazou  <ebotcazou@adacore.com>
11884
11885          PR target/104189
11886          * config/sparc/linux64.h (TARGET_DEFAULT): Add MASK_V8PLUS.
11887
118882022-01-31  Richard Biener  <rguenther@suse.de>
11889
11890          PR tree-optimization/100499
11891          * tree-cfg.cc (verify_gimple_assign_ternary): Use multiple_p
11892          on poly-ints instead of multiple_of_p.
11893          * tree-ssa.cc (maybe_rewrite_mem_ref_base): Likewise.
11894          (non_rewritable_mem_ref_base): Likewise.
11895          (non_rewritable_lvalue_p): Likewise.
11896          (execute_update_addresses_taken): Likewise.
11897
118982022-01-29  Jakub Jelinek  <jakub@redhat.com>
11899              Andrew Pinski  <apinski@marvell.com>
11900
11901          PR tree-optimization/104279
11902          PR tree-optimization/104280
11903          PR tree-optimization/104281
11904          * match.pd (1 / X -> X == 1 for unsigned X): Build eq with
11905          boolean_type_node and convert to type.  Formatting fixes.
11906
119072022-01-28  Yoshinori Sato  <yo-satoh@sios.com>
11908
11909          * config/sh/t-linux (MULTILIB_EXCEPTIONS): Add m1, mb/m1 and m2a.
11910
119112022-01-28  Navid Rahimi  <navidrahimi@microsoft.com>
11912
11913          PR tree-optimization/103514
11914          * match.pd (a & b) ^ (a == b) -> !(a | b): New optimization.
11915          (a & b) == (a ^ b) -> !(a | b): New optimization.
11916
119172022-01-28  Marek Polacek  <polacek@redhat.com>
11918
11919          * doc/invoke.texi: Update -Wbidi-chars documentation.
11920
119212022-01-28  Iain Sandoe  <iain@sandoe.co.uk>
11922
11923          * config/rs6000/darwin.h (OPTION_GLIBC): Define to 0.
11924
119252022-01-28  Zhao Wei Liew  <zhaoweiliew@gmail.com>
11926
11927          PR tree-optimization/95424
11928          * match.pd: Simplify 1 / X where X is an integer.
11929
119302022-01-28  Jakub Jelinek  <jakub@redhat.com>
11931
11932          PR tree-optimization/104263
11933          * gimple-ssa-store-merging.cc (get_status_for_store_merging): For
11934          cfun->can_throw_non_call_exceptions && cfun->eh test whether
11935          last non-debug stmt in the bb is store_valid_for_store_merging_p
11936          rather than last stmt.
11937
119382022-01-28  Martin Liska  <mliska@suse.cz>
11939
11940          * diagnostic.cc (diagnostic_action_after_output): Remove extra
11941          newline.
11942
119432022-01-28  Martin Liska  <mliska@suse.cz>
11944
11945          * config/rs6000/host-darwin.cc (segv_crash_handler):
11946          Do not use leading capital letter.
11947          (segv_handler): Likewise.
11948          * ipa-sra.cc (verify_splitting_accesses): Likewise.
11949          * varasm.cc (get_section): Likewise.
11950
119512022-01-28  Richard Biener  <rguenther@suse.de>
11952
11953          PR tree-optimization/104267
11954          * tree-vect-stmts.cc (vectorizable_call): Properly use the
11955          per-argument determined vector type for externals and
11956          invariants.
11957
119582022-01-28  Richard Biener  <rguenther@suse.de>
11959
11960          PR tree-optimization/104263
11961          * tree-cfg.cc (gimple_purge_dead_abnormal_call_edges):
11962          Purge edges also when !cfun->has_nonlocal_label
11963          and !cfun->calls_setjmp.
11964
119652022-01-28  Maciej W. Rozycki  <macro@embecosm.com>
11966
11967          * config/riscv/riscv.md: Document `auipc' and `bitmanip' `type'
11968          attributes.
11969
119702022-01-28  Jakub Jelinek  <jakub@redhat.com>
11971
11972          PR lto/104237
11973          * cfgrtl.cc (loc_equal): New function.
11974          (unique_locus_on_edge_between_p): Use it.
11975
119762022-01-28  Richard Biener  <rguenther@suse.de>
11977
11978          * cfganal.h (mark_dfs_back_edges): Provide API with struct
11979          function argument.
11980          * cfganal.cc (mark_dfs_back_edges): Take a struct function
11981          to work on, add a wrapper passing cfun.
11982          * graph.cc (draw_cfg_nodes_no_loops): Replace stray cfun
11983          uses with fun which is already passed.
11984          (draw_cfg_edges): Likewise.
11985          (draw_cfg_nodes_for_loop): Do not use draw_cfg_nodes_for_loop
11986          for fun != cfun.
11987
119882022-01-27  Patrick Palka  <ppalka@redhat.com>
11989
11990          PR c++/99895
11991          * tree.cc (build_call_vec): Add const to second parameter.
11992          * tree.h (build_call_vec): Likewise.
11993
119942022-01-27  Martin Liska  <mliska@suse.cz>
11995
11996          PR web/104254
11997          * diagnostic.cc (diagnostic_initialize):
11998          Initialize report_bug flag.
11999          (diagnostic_action_after_output):
12000          Explain that -freport-bug option can be used for pre-processed
12001          file creation.  Make the message shorter.
12002          (error_recursion): Rename Internal to internal.
12003          * diagnostic.h (struct diagnostic_context): New field.
12004          * opts.cc (common_handle_option): Init the field here.
12005
120062022-01-27  Kewen Lin  <linkw@linux.ibm.com>
12007
12008          PR target/103702
12009          * config/rs6000/rs6000.cc
12010          (rs6000_cost_data::update_target_cost_per_stmt): Fix one wrong
12011          assertion with early return.
12012
120132022-01-27  Chung-Lin Tang  <cltang@codesourcery.com>
12014
12015          PR middle-end/103642
12016          * gimplify.cc (gimplify_scan_omp_clauses): Do not do indir_p handling
12017          for non-pointer or non-reference-to-pointer cases.
12018
120192022-01-27  Jakub Jelinek  <jakub@redhat.com>
12020
12021          PR tree-optimization/104196
12022          * gimple-fold.h (rewrite_to_defined_overflow): Add IN_PLACE argument.
12023          * gimple-fold.cc (rewrite_to_defined_overflow): Likewise.  If true,
12024          return NULL and emit needed stmts before and after stmt.
12025          * tree-ssa-reassoc.cc (update_range_test): For inter-bb range opt
12026          pick as operand_entry that will hold the merged test the one feeding
12027          earliest condition, ensure that by swapping range->idx with some
12028          other range's idx if needed.  If seq is non-NULL, don't actually swap
12029          it but instead rewrite stmts with undefined overflow in between
12030          the two locations.
12031          (maybe_optimize_range_tests): Set ops[]->id to bb->index with the
12032          corresponding condition even if they have non-NULL ops[]->op.
12033          Formatting fix.
12034
120352022-01-26  Jakub Jelinek  <jakub@redhat.com>
12036
12037          PR target/104239
12038          * config/rs6000/emmintrin.h (_mm_sad_epu8): Use __asm__ instead of
12039          asm.
12040          * config/rs6000/smmintrin.h (_mm_minpos_epu16): Declare iterator
12041          before for loop instead of for init clause.
12042          * config/rs6000/bmi2intrin.h (_pext_u64): Likewise.
12043
120442022-01-26  Jakub Jelinek  <jakub@redhat.com>
12045
12046          PR target/104239
12047          * config/rs6000/bmiintrin.h: Test _X86GPRINTRIN_H_INCLUDED instead of
12048          _X86INTRIN_H_INCLUDED and adjust #error wording.
12049          * config/rs6000/bmi2intrin.h: Likewise.
12050
120512022-01-26  Jakub Jelinek  <jakub@redhat.com>
12052
12053          PR debug/104194
12054          * dwarf2out.cc (long_double_as_float128): New function.
12055          (modified_type_die): For powerpc64le IEEE 754 quad long double
12056          and complex long double emit those as DW_TAG_typedef to
12057          _Float128 or complex _Float128 base type.
12058
120592022-01-26  Marek Polacek  <polacek@redhat.com>
12060
12061          PR target/104213
12062          * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer): Don't
12063          warn when the SSA_NAME_VAR of REF has supressed -Wuse-after-free.
12064
120652022-01-26  Martin Liska  <mliska@suse.cz>
12066
12067          * ipa-modref-tree.cc (modref_access_node::update):
12068          Remove "--param param=foo" with "--param foo".
12069          (modref_access_node::insert): Likewise.
12070          (modref_access_node::insert_kill): Likewise.
12071          * ipa-modref-tree.h (struct modref_ref_node): Likewise.
12072          (struct modref_base_node): Likewise.
12073          (struct modref_tree): Likewise.
12074
120752022-01-26  Raoni Fassina Firmino  <raoni@linux.ibm.com>
12076
12077          PR target/94193
12078          * builtins.cc (expand_builtin_feclear_feraise_except): Add op0
12079          predicate check.
12080
120812022-01-25  Martin Sebor  <msebor@redhat.com>
12082
12083          PR tree-optimization/104203
12084          * gimple-ssa-warn-access.cc (pass_data pass_data_waccess): Use
12085          TV_WARN_ACCESS.
12086          * pointer-query.cc (access_ref::merge_ref): Change return type.
12087          Convert failure to a conservative success.
12088          (access_ref::get_ref): Adjust to the change above.  Short-circuit
12089          PHI evaluation after first failure turned into conservative success.
12090          * pointer-query.h (access_ref::merge_ref): Change return type.
12091          * timevar.def (TV_WARN_ACCESS): New timer variable.
12092
120932022-01-25  David Edelsohn  <dje.gcc@gmail.com>
12094
12095          * config/rs6000/aix.h (OPTION_GLIBC): Define as 0.
12096
120972022-01-25  Richard Biener  <rguenther@suse.de>
12098
12099          PR tree-optimization/104214
12100          * tree-ssa-loop-niter.cc (number_of_iterations_cond): Use
12101          stronger guarantees for relational pointer compares when
12102          rewriting BASE0 + STEP0 cmp BASE1 + STEP1 as
12103          BASE0 + STEP0 - STEP1 cmp BASE1.
12104
121052022-01-25  Jakub Jelinek  <jakub@redhat.com>
12106
12107          PR target/104172
12108          * config/rs6000/rs6000-internal.h (rs6000_passes_ieee128): Don't
12109          declare.
12110          * config/rs6000/rs6000.cc (rs6000_passes_ieee128,
12111          ieee128_mangling_gcc_8_1): Remove.
12112          (TARGET_ASM_GLOBALIZE_DECL_NAME): Don't redefine.
12113          (rs6000_mangle_type): Return "u9__ieee128" instead of
12114          ieee128_mangling_gcc_8_1 ? "U10__float128" : "u9__ieee128".
12115          (rs6000_globalize_decl_name): Remove.
12116          * config/rs6000/rs6000-call.cc (init_cumulative_args,
12117          rs6000_function_arg_advance_1): Don't set rs6000_passes_ieee128.
12118
121192022-01-24  Martin Sebor  <msebor@redhat.com>
12120
12121          * pointer-query.cc (pointer_query::dump): Remove duplicate
12122          block.
12123
121242022-01-24  Marek Polacek  <polacek@redhat.com>
12125
12126          PR preprocessor/104030
12127          * doc/invoke.texi: Update documentation for -Wbidi-chars.
12128
121292022-01-24  Raoni Fassina Firmino  <raoni@linux.ibm.com>
12130
12131          PR target/94193
12132          * builtins.cc (expand_builtin_fegetround): New function.
12133          (expand_builtin_feclear_feraise_except): New function.
12134          (expand_builtin): Add cases for BUILT_IN_FEGETROUND,
12135          BUILT_IN_FECLEAREXCEPT and BUILT_IN_FERAISEEXCEPT.
12136          * config/rs6000/rs6000.md (fegetroundsi): New pattern.
12137          (feclearexceptsi): New Pattern.
12138          (feraiseexceptsi): New Pattern.
12139          * doc/extend.texi: Add a new introductory paragraph about the
12140          new builtins.
12141          * doc/md.texi: (fegetround@var{m}): Document new optab.
12142          (feclearexcept@var{m}): Document new optab.
12143          (feraiseexcept@var{m}): Document new optab.
12144          * optabs.def (fegetround_optab): New optab.
12145          (feclearexcept_optab): New optab.
12146          (feraiseexcept_optab): New optab.
12147
121482022-01-24  Richard Biener  <rguenther@suse.de>
12149              Jiufu Guo  <guojiufu@linux.ibm.com>
12150
12151          PR tree-optimization/100740
12152          PR tree-optimization/101508
12153          PR tree-optimization/101972
12154          PR tree-optimization/102131
12155          * tree-ssa-loop-niter.cc (number_of_iterations_cond): Properly
12156          constrain BASE0 + STEP0 cmp BASE1 + STEP1 to
12157          BASE0 + STEP0 - STEP1 cmp BASE1 transform.
12158
121592022-01-24  Jakub Jelinek  <jakub@redhat.com>
12160
12161          PR sanitizer/104158
12162          * opt-functions.awk (var_set): Handle EnumBitSet property.
12163          * optc-gen.awk: Don't disallow RejectNegative if EnumBitSet is
12164          specified.
12165          * opts.h (enum cl_enum_var_value): New type.
12166          * opts-common.cc (decode_cmdline_option): Use CLEV_* values.
12167          Handle CLEV_BITSET.
12168          (cmdline_handle_error): Handle CLEV_BITSET.
12169          * opts.cc (test_enum_sets): Also test EnumBitSet requirements.
12170          * doc/options.texi (EnumBitSet): Document.
12171          * common.opt (fsanitize-coverage=): Use EnumBitSet instead of
12172          EnumSet.
12173          (trace-pc, trace-cmp): Drop Set properties.
12174
121752022-01-24  Jakub Jelinek  <jakub@redhat.com>
12176
12177          PR sanitizer/104158
12178          * common.opt (flag_sanitize_coverage): Remove Variable entry.
12179          (fsanitize-coverage=): Remove RejectNegative property, add
12180          Var(flag_sanitize_coverage) and EnumSet properties.
12181          (trace-pc): Add Set(1) property.
12182          (trace-cmp): Add Set(2) property.
12183          * opts.cc (common_handle_option): Don't handle
12184          OPT_fsanitize_coverage_.
12185
121862022-01-24  Jakub Jelinek  <jakub@redhat.com>
12187
12188          PR sanitizer/104158
12189          * opt-functions.awk (var_set): Handle EnumSet property.
12190          * optc-gen.awk: Don't disallow RejectNegative if EnumSet is
12191          specified.
12192          * opt-read.awk: Handle Set property.
12193          * opts.h (CL_ENUM_SET_SHIFT, CL_ERR_ENUM_SET_ARG): Define.
12194          (struct cl_decoded_option): Mention enum in value description.
12195          Add mask member.
12196          (set_option): Add mask argument defaulted to 0.
12197          * opts.cc (test_enum_sets): New function.
12198          (opts_cc_tests): Call it.
12199          * opts-common.cc (enum_arg_to_value): Change return argument
12200          from bool to int, on success return index into the cl_enum_arg
12201          array, on failure -1.  Add len argument, if non-0, use strncmp
12202          instead of strcmp.
12203          (opt_enum_arg_to_value): Adjust caller.
12204          (decode_cmdline_option): Handle EnumSet represented as
12205          CLVC_ENUM with non-zero var_value.  Initialize decoded->mask.
12206          (decode_cmdline_options_to_array): CLear opt_array[0].mask.
12207          (handle_option): Pass decoded->mask to set_options last argument.
12208          (generate_option): Clear decoded->mask.
12209          (generate_option_input_file): Likewise.
12210          (cmdline_handle_error): Handle CL_ERR_ENUM_SET_ARG.
12211          (set_option): Add mask argument, use it for CLVC_ENUM.
12212          (control_warning_option): Adjust enum_arg_to_value caller.
12213          * doc/options.texi: Document Set and EnumSet properties.
12214
122152022-01-24  Jakub Jelinek  <jakub@redhat.com>
12216
12217          PR bootstrap/104170
12218          * config/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
12219          OPTION_BIONIC_P, OPTION_MUSL_P): Define.
12220          (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
12221          using OPTION_*_P macros.
12222          * config/alpha/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
12223          OPTION_BIONIC_P, OPTION_MUSL_P): Define.
12224          (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
12225          using OPTION_*_P macros.
12226          * config/rs6000/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
12227          OPTION_BIONIC_P, OPTION_MUSL_P): Define.
12228          (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
12229          using OPTION_*_P macros.
12230          * config/rs6000/linux64.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
12231          OPTION_BIONIC_P, OPTION_MUSL_P): Define.
12232          (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
12233          using OPTION_*_P macros.
12234          * config/fuchsia.h (OPTION_MUSL_P): Redefine.
12235          * config/glibc-stdint.h (OPTION_MUSL_P): Define if not defined.
12236          * common/config/s390/s390-common.cc (s390_supports_split_stack): Re-add
12237          ATTRIBUTE_UNUSED to opts parameter.  If OPTION_GLIBC_P is defined, use
12238          OPTION_GLIBC_P (opts) as condition, otherwise assume if (false).
12239          * common/config/i386/i386-common.cc (ix86_supports_split_stack): If
12240          OPTION_GLIBC_P is defined use !OPTION_GLIBC_P (opts) as condition,
12241          otherwise assume if (true).
12242
122432022-01-24  Kito Cheng  <kito.cheng@sifive.com>
12244
12245          * common/config/riscv/riscv-common.cc (riscv_subset_list::to_string):
12246          Skip zicsr and zifencei if I-ext is 2.0.
12247
122482022-01-24  Jia-Wei Chen  <jiawei@iscas.ac.cn>
12249
12250          * config.gcc: Modify default isa_spec version.
12251
122522022-01-24  Jiufu Guo  <guojiufu@linux.ibm.com>
12253
12254          PR tree-optimization/102087
12255          * tree-ssa-loop-niter.cc (number_of_iterations_until_wrap):
12256          Correct PLUS result type.
12257
122582022-01-24  H.J. Lu  <hjl.tools@gmail.com>
12259
12260          PR target/104188
12261          * config/i386/predicates.md (bcst_mem_operand): Also check mode
12262          of memory broadcast.
12263
122642022-01-23  Andrew Pinski  <apinski@marvell.com>
12265
12266          PR target/64821
12267          * config/aarch64/aarch64-builtins.cc
12268          (aarch64_general_gimple_fold_builtin): Handle
12269          __builtin_aarch64_sqrt* and simplify into SQRT internal
12270          function.
12271
122722022-01-22  Jakub Jelinek  <jakub@redhat.com>
12273
12274          PR other/104176
12275          * opts-global.cc (handle_common_deferred_options): Quote
12276          --enable-plugin in diagnostics to avoid -Werror=format-diag.
12277
122782022-01-21  Michael Meissner  <meissner@the-meissners.org>
12279
12280          PR target/104136
12281          * config/rs6000/rs6000-protos.h (prefixed_xxsplti_p): Delete.
12282          * config/rs6000/rs6000.cc (prefixed_xxsplti_p): Delete.
12283          * config/rs6000/rs6000.md (prefixed attribute): Delete section
12284          that sets the prefixed attribute for xxspltiw, xxspltidp, and
12285          xxsplti32dx instructions.
12286          (movsf_hardfloat): Explicitly set the prefixed attribute
12287          when xxspltiw and xxspltidp instructions are generated.
12288          (mov<mode>_hardfloat32): Likewise.
12289          (mov<mode>_hardfloat64): Likewise.
12290          * config/rs6000/vsx.md (vsx_mov<mode>_64bit): Explicitly set the
12291          prefixed attribute for xxspltiw and xxspltidp instructions.
12292          (vsx_mov<mode>_32bit): Likewise.
12293
122942022-01-21  H.J. Lu  <hjl.tools@gmail.com>
12295
12296          PR bootstrap/104170
12297          * common/config/i386/i386-common.cc (ix86_supports_split_stack):
12298          Return true only on glibc.
12299          * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN):
12300          Revert commit c163647ffbc.
12301          * config/i386/gnu.h (TARGET_LIBC_PROVIDES_SSP): Likewise.
12302
123032022-01-21  Sören Tempel  <soeren@soeren-tempel.net>
12304
12305          * common/config/s390/s390-common.cc (s390_supports_split_stack):
12306          Only support split-stack on glibc targets.
12307          * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN): Ditto.
12308          * config/i386/gnu.h (defined): Ditto.
12309
123102022-01-21  Bill Schmidt  <wschmidt@linux.ibm.com>
12311
12312          * config/rs6000/rs6000-overload.def (VEC_SLDW): Add instances for
12313          vector float and vector double.
12314
123152022-01-21  Bill Seurer  <seurer@gcc.gnu.org>
12316
12317          * config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher):
12318          Fix mention of ifunc in string.
12319
123202022-01-21  Roger Sayle  <roger@nextmovesoftware.com>
12321
12322          PR middle-end/104140
12323          * tree-ssa-math-opts.cc (convert_mult_to_highpart): Check that the
12324          operands of the widening multiplication are either both signed or
12325          both unsigned, and abort the conversion if mismatched.
12326          * doc/generic.texi (WIDEN_MULT_EXPR): Describe expression node.
12327          (MULT_HIGHPART_EXPR): Clarify that operands must have the same
12328          signedness.
12329          * tree.def (MULT_HIGHPART_EXPR): Document both operands must have
12330          integer types with the same precision and signedness.
12331          (WIDEN_MULT_EXPR): Document that operands must have integer types
12332          with the same precision, but possibly differing signedness.
12333          * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Defend against
12334          riscv_current_subset_list returning a NULL pointer (empty list).
12335
123362022-01-21  Vladimir N. Makarov  <vmakarov@redhat.com>
12337
12338          PR target/103676
12339          * ira.h (struct target_ira): Add member
12340          x_ira_exclude_class_mode_regs.
12341          (ira_exclude_class_mode_regs): New macro.
12342          * lra.h (lra_create_new_reg): Add arg exclude_start_hard_regs and
12343          move from here ...
12344          * lra-int.h: ... to here.
12345          (lra_create_new_reg_with_unique_value): Add arg
12346          exclude_start_hard_regs.
12347          (class lra_reg): Add member exclude_start_hard_regs.
12348          * lra-assigns.cc (find_hard_regno_for_1): Setup
12349          impossible_start_hard_regs from exclude_start_hard_regs.
12350          * lra-constraints.cc (get_reload_reg): Add arg exclude_start_hard_regs and pass
12351          it lra_create_new_reg[_with_unique_value].
12352          (match_reload): Ditto.
12353          (check_and_process_move): Pass NULL
12354          exclude_start_hard_regs to lra_create_new_reg_with_unique_value.
12355          (goal_alt_exclude_start_hard_regs): New static variable.
12356          (process_addr_reg, simplify_operand_subreg): Pass NULL
12357          exclude_start_hard_regs to lra_create_new_reg_with_unique_value
12358          and get_reload_reg.
12359          (process_alt_operands): Setup goal_alt_exclude_start_hard_regs.
12360          Use this_alternative_exclude_start_hard_regs additionally to find
12361          winning operand alternative.
12362          (base_to_reg, base_plus_disp_to_reg, index_part_to_reg): Pass NULL
12363          exclude_start_hard_regs to lra_create_new_reg.
12364          (process_address_1, emit_inc): Ditto.
12365          (curr_insn_transform): Pass exclude_start_hard_regs value to
12366          lra_create_new_reg, get_reload_reg, match_reload.
12367          (inherit_reload_reg, split_reg): Pass NULL exclude_start_hard_regs
12368          to lra_create_new_reg.
12369          (process_invariant_for_inheritance): Ditto.
12370          * lra-remat.cc (update_scratch_ops): Ditto.
12371          * lra.cc (lra_create_new_reg_with_unique_value): Add arg
12372          exclude_start_hard_regs.  Setup the corresponding member of
12373          lra reg info.
12374          (lra_create_new_reg): Add arg exclude_start_hard_regs and pass it
12375          to lra_create_new_reg_with_unique_value.
12376          (initialize_lra_reg_info_element): Initialize member
12377          exclude_start_hard_regs.
12378          (get_scratch_reg): Pass NULL to lra_create_new_reg.
12379          * ira.cc (setup_prohibited_class_mode_regs): Rename to
12380          setup_prohibited_and_exclude_class_mode_regs and calculate
12381          ira_exclude_class_mode_regs.
12382
123832022-01-21  Martin Liska  <mliska@suse.cz>
12384
12385          * configure.ac: Detect ld_is_mold and use it for
12386          comdat_group=yes and gcc_cv_ld_hidden=yes.
12387          * configure: Regenerate.
12388
123892022-01-21  Richard Biener  <rguenther@suse.de>
12390
12391          PR tree-optimization/100089
12392          * tree-vect-slp.cc (vect_slp_region): Reject BB vectorization
12393          of if-converted loops with unvectorized COND_EXPRs for
12394          all but the unlimited cost models.
12395
123962022-01-21  Ard Biesheuvel  <ardb@kernel.org>
12397
12398          * config/arm/arm-opts.h (enum stack_protector_guard): New.
12399          * config/arm/arm-protos.h (arm_stack_protect_tls_canary_mem):
12400          New.
12401          * config/arm/arm.cc (TARGET_STACK_PROTECT_GUARD): Define.
12402          (arm_option_override_internal): Handle and put in error checks.
12403          for stack protector guard options.
12404          (arm_option_reconfigure_globals): Likewise.
12405          (arm_stack_protect_tls_canary_mem): New.
12406          (arm_stack_protect_guard): New.
12407          * config/arm/arm.md (stack_protect_set): New.
12408          (stack_protect_set_tls): Likewise.
12409          (stack_protect_test): Likewise.
12410          (stack_protect_test_tls): Likewise.
12411          (reload_tp_hard): Likewise.
12412          * config/arm/arm.opt (-mstack-protector-guard): New
12413          (-mstack-protector-guard-offset): New.
12414          * doc/invoke.texi: Document new options.
12415
124162022-01-21  Richard Biener  <rguenther@suse.de>
12417
12418          PR tree-optimization/104156
12419          * tree-ssa-loop-unswitch.cc (tree_unswitch_outer_loop):
12420          Collect and reset debug stmts with out-of-loop uses when
12421          hoisting guards.
12422          (find_loop_guard): Adjust.
12423          (empty_bb_without_guard_p): Likewise.  Ignore debug stmts.
12424          (used_outside_loop_p): Push debug uses to a vector of
12425          debug stmts to reset.
12426          (hoist_guard): Adjust -fopt-info category.
12427
124282022-01-21  Richard Biener  <rguenther@suse.de>
12429
12430          PR tree-optimization/104152
12431          * tree-vect-slp.cc (vect_build_slp_tree_2): Add missing
12432          can_duplicate_and_interleave_p check.
12433
124342022-01-21  Jakub Jelinek  <jakub@redhat.com>
12435
12436          * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer):
12437          Avoid passing var to warning_at when the format string doesn't
12438          refer to it.
12439
124402022-01-21  Aldy Hernandez  <aldyh@redhat.com>
12441
12442          PR tree-optimization/103721
12443          * gimple-range-path.cc
12444          (path_range_query::relations_may_be_invalidated): New.
12445          (path_range_query::compute_ranges_in_block): Reset relations if
12446          they may be invalidated.
12447          (path_range_query::maybe_register_phi_relation): Exit if relations
12448          may be invalidated on incoming edge.
12449          (path_range_query::compute_phi_relations): Pass incoming PHI edge
12450          to maybe_register_phi_relation.
12451          * gimple-range-path.h (relations_may_be_invalidated): New.
12452          (maybe_register_phi_relation): Pass edge instead of tree.
12453          * tree-ssa-threadbackward.cc (back_threader::back_threader):
12454          Mark DFS edges.
12455          * value-relation.cc (path_oracle::path_oracle): Call
12456          mark_dfs_back_edges.
12457          (path_oracle::register_relation): Add SSA names to m_registered
12458          bitmap.
12459          (path_oracle::reset_path): Clear m_registered bitmap.
12460          * value-relation.h (path_oracle::set_root_oracle): New.
12461
124622022-01-21  Jakub Jelinek  <jakub@redhat.com>
12463
12464          PR rtl-optimization/102478
12465          * optabs.cc (prepare_cmp_insn): If !can_create_pseudo_p (), don't
12466          force_reg constants and for -fnon-call-exceptions fail if copy_to_reg
12467          would be needed.
12468
124692022-01-20  Richard Biener  <rguenther@suse.de>
12470
12471          PR middle-end/100786
12472          * gimple-fold.cc (get_symbol_constant_value): Only return
12473          values of compatible type to the symbol.
12474
124752022-01-20  Andrew MacLeod  <amacleod@redhat.com>
12476
12477          * value-relation.cc (relation_oracle::valid_equivs): Query and add
12478          if valid members of a set.
12479          (equiv_oracle::register_equiv): Call valid_equivs rather than
12480          bitmap direct operations.
12481          (path_oracle::register_equiv): Ditto.
12482          * value-relation.h (relation_oracle::valid_equivs): New prototype.
12483
124842022-01-20  Richard Biener  <rguenther@suse.de>
12485
12486          PR target/100784
12487          * config/i386/i386.cc (ix86_gimple_fold_builtin): Check for
12488          LHS before folding __builtin_ia32_shufpd and friends.
12489
124902022-01-20  Richard Earnshaw  <rearnsha@arm.com>
12491
12492          * config/arm/crypto.md (aes_op_protect): Allow moves from core
12493          registers and from memory.
12494          (aes_op_protect_misalign_load): New pattern.
12495          (aes_op_protect_neon_vld1v16qi): New pattern.
12496
124972022-01-20  Richard Earnshaw  <rearnsha@arm.com>
12498
12499          * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>_protected):
12500          New pattern.
12501          (aarch32_crypto_aese_fused_protected): Likewise.
12502          (aarch32_crypto_aesd_fused_protected): Likewise.
12503
125042022-01-20  Richard Earnshaw  <rearnsha@arm.com>
12505
12506          * config/arm/crypto.md (crypto_<CRYPTO_AES:crypto_pattern>): Convert
12507          to define_expand.  Add mitigation for the Cortex-A AES erratum
12508          when enabled.
12509          (*crypto_<CRYPTO_AES:crypto_pattern>_insn): New pattern, based
12510          on original crypto_<CRYPTO_AES:crypto_pattern> insn.
12511          (aes_op_protect): New pattern.
12512          * config/arm/unspecs.md (unspec): Add UNSPEC_AES_PROTECT.
12513
125142022-01-20  Richard Earnshaw  <rearnsha@arm.com>
12515
12516          * config/arm/arm-cpus.in (quirk_aes_1742098): New quirk feature
12517          (ALL_QUIRKS): Add it.
12518          (cortex-a57, cortex-a72): Enable it.
12519          (cortex-a57.cortex-a53, cortex-a72.cortex-a53): Likewise.
12520          * config/arm/arm.opt (mfix-cortex-a57-aes-1742098): New command-line
12521          option.
12522          (mfix-cortex-a72-aes-1655431): New option alias.
12523          * config/arm/arm.cc (arm_option_override): Handle default settings
12524          for AES erratum switch.
12525          * doc/invoke.texi (Arm Options): Document new options.
12526
125272022-01-20  Richard Earnshaw  <rearnsha@arm.com>
12528
12529          * config/arm/crypto.md (crypto_<CYRPTO_AES:crypto_pattern>): Use
12530          <crypto_mode> rather than hard-coding the mode.
12531          (crypto_<CRYPTO_AESMC:crypto_pattern>): Fix white space.
12532          (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
12533          (*aarch32_crypto_aese_fused): Likewise.
12534          (*aarch32_crypto_aesd_fused): Likewise.
12535          (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
12536          (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
12537          (crypto_sha1h_lb): Likewise.
12538          (crypto_vmullp64): Likewise.
12539          (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
12540          (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
12541
125422022-01-20  Richard Earnshaw  <rearnsha@arm.com>
12543
12544          * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>): Add
12545          iterator to pattern name to disambiguate.
12546          (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
12547          (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
12548          (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
12549          (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
12550          (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
12551
125522022-01-20  Martin Liska  <mliska@suse.cz>
12553
12554          PR bootstrap/104135
12555          * emit-rtl.cc (make_insn_raw): Fix -Wformat-diag warnings.
12556          * rtl.cc: Partially disable -Wformat-diag for RTL checking
12557          error messages.
12558
125592022-01-20  Jakub Jelinek  <jakub@redhat.com>
12560
12561          PR debug/103874
12562          * dwarf2out.cc (index_rnglists): For !HAVE_AS_LEB128 and
12563          block_num > 0, index entry even if !have_multiple_function_sections.
12564
125652022-01-20  liuhongt  <hongtao.liu@intel.com>
12566
12567          PR target/103771
12568          * tree-vect-stmts.cc (supportable_narrowing_operation): Enhance
12569          integral mode mask pack by multi steps which takes
12570          vec_pack_sbool_trunc_optab as start when elements number is
12571          less than BITS_PER_UNITS.
12572
125732022-01-20  Richard Biener  <rguenther@suse.de>
12574
12575          PR tree-optimization/104114
12576          * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
12577          single element vector decomposition.
12578
125792022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
12580
12581          * ifcvt.cc (noce_convert_multiple_sets_1): New function.
12582          (noce_convert_multiple_sets): Call function a second time if we can
12583          improve the first try.
12584
125852022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
12586
12587          * ifcvt.cc (cond_exec_get_condition): New parameter to allow getting the
12588          reversed comparison.
12589          (try_emit_cmove_seq): New function to facilitate creating a cmov
12590          sequence.
12591          (noce_convert_multiple_sets): Create two sequences and use the less
12592          expensive one.
12593
125942022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
12595
12596          * rtl.h (struct rtx_comparison): New struct that holds an rtx
12597          comparison.
12598          * config/rs6000/rs6000.cc (rs6000_emit_minmax): Use struct instead of
12599          single parameters.
12600          (rs6000_emit_swsqrt): Likewise.
12601          * expmed.cc (expand_sdiv_pow2): Likewise.
12602          (emit_store_flag): Likewise.
12603          * expr.cc (expand_cond_expr_using_cmove): Likewise.
12604          (expand_expr_real_2): Likewise.
12605          * ifcvt.cc (noce_emit_cmove): Add compare and reversed compare
12606          parameters.
12607          * optabs.cc (emit_conditional_move_1): New function.
12608          (expand_doubleword_shift_condmove): Use struct.
12609          (emit_conditional_move): Use struct and allow to call directly
12610          without going through preparation steps.
12611          * optabs.h (emit_conditional_move): Use struct.
12612
126132022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
12614
12615          * ifcvt.cc (bb_ok_for_noce_convert_multiple_sets): Estimate insns costs.
12616          (noce_process_if_block): Use potential costs.
12617
126182022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
12619
12620          * ifcvt.cc (noce_convert_multiple_sets): Allow constants.
12621          (bb_ok_for_noce_convert_multiple_sets): Likewise.
12622
126232022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
12624
12625          * ifcvt.cc (need_cmov_or_rewire): New function.
12626          (noce_convert_multiple_sets): Call it.
12627
126282022-01-19  David Malcolm  <dmalcolm@redhat.com>
12629
12630          * attribs.cc (attribute_c_tests): Rename to...
12631          (attribs_cc_tests): ...this.
12632          * bitmap.cc (bitmap_c_tests): Rename to...
12633          (bitmap_cc_tests): ...this.
12634          * cgraph.cc (cgraph_c_finalize): Rename to...
12635          (cgraph_cc_finalize): ...this.
12636          (cgraph_c_tests): Rename to...
12637          (cgraph_cc_tests): ...this.
12638          * cgraph.h (cgraph_c_finalize): Rename to...
12639          (cgraph_cc_finalize): ...this.
12640          (cgraphunit_c_finalize): Rename to...
12641          (cgraphunit_cc_finalize): ...this.
12642          * cgraphunit.cc (cgraphunit_c_finalize): Rename to...
12643          (cgraphunit_cc_finalize): ...this.
12644          * convert.cc (convert_c_tests): Rename to...
12645          (convert_cc_tests): ...this.
12646          * dbgcnt.cc (dbgcnt_c_tests): Rename to...
12647          (dbgcnt_cc_tests): ...this.
12648          * diagnostic-show-locus.cc (diagnostic_show_locus_c_tests): Rename to...
12649          (diagnostic_show_locus_cc_tests): ...this.
12650          * diagnostic.cc (diagnostic_c_tests): Rename to...
12651          (diagnostic_cc_tests): ...this.
12652          * dumpfile.cc (dumpfile_c_tests): Rename to...
12653          (dumpfile_cc_tests): ...this.
12654          * dwarf2out.cc (dwarf2out_c_finalize): Rename to...
12655          (dwarf2out_cc_finalize): ...this.
12656          * dwarf2out.h (dwarf2out_c_finalize): Rename to...
12657          (dwarf2out_cc_finalize): ...this.
12658          * edit-context.cc (edit_context_c_tests): Rename to...
12659          (edit_context_cc_tests): ...this.
12660          * et-forest.cc (et_forest_c_tests): Rename to...
12661          (et_forest_cc_tests): ...this.
12662          * fibonacci_heap.cc (fibonacci_heap_c_tests): Rename to...
12663          (fibonacci_heap_cc_tests): ...this.
12664          * fold-const.cc (fold_const_c_tests): Rename to...
12665          (fold_const_cc_tests): ...this.
12666          * function-tests.cc (function_tests_c_tests): Rename to...
12667          (function_tests_cc_tests): ...this.
12668          * gcse.cc (gcse_c_finalize): Rename to...
12669          (gcse_cc_finalize): ...this.
12670          * gcse.h (gcse_c_finalize): Rename to...
12671          (gcse_cc_finalize): ...this.
12672          * ggc-tests.cc (ggc_tests_c_tests): Rename to...
12673          (ggc_tests_cc_tests): ...this.
12674          * gimple-ssa-store-merging.cc (store_merging_c_tests): Rename to...
12675          (store_merging_cc_tests): ...this.
12676          * gimple.cc (gimple_c_tests): Rename to...
12677          (gimple_cc_tests): ...this.
12678          * hash-map-tests.cc (hash_map_tests_c_tests): Rename to...
12679          (hash_map_tests_cc_tests): ...this.
12680          * hash-set-tests.cc (hash_set_tests_c_tests): Rename to...
12681          (hash_set_tests_cc_tests): ...this.
12682          * input.cc (input_c_tests): Rename to...
12683          (input_cc_tests): ...this.
12684          * ipa-cp.cc (ipa_cp_c_finalize): Rename to...
12685          (ipa_cp_cc_finalize): ...this.
12686          * ipa-fnsummary.cc (ipa_fnsummary_c_finalize): Rename to...
12687          (ipa_fnsummary_cc_finalize): ...this.
12688          * ipa-fnsummary.h (ipa_fnsummary_c_finalize): Rename to...
12689          (ipa_fnsummary_cc_finalize): ...this.
12690          * ipa-modref-tree.cc (ipa_modref_tree_c_tests): Rename to...
12691          (ipa_modref_tree_cc_tests): ...this.
12692          * ipa-modref-tree.h (modref_c_tests): Delete bogus decl.
12693          * ipa-modref.cc (ipa_modref_c_finalize): Rename to...
12694          (ipa_modref_cc_finalize): ...this.
12695          * ipa-modref.h (ipa_modref_c_finalize): Rename to...
12696          (ipa_modref_cc_finalize): ...this.
12697          * ipa-prop.h (ipa_cp_c_finalize): Rename to...
12698          (ipa_cp_cc_finalize): ...this.
12699          * ipa-reference.cc (ipa_reference_c_finalize): Rename to...
12700          (ipa_reference_cc_finalize): ...this.
12701          * ipa-reference.h (ipa_reference_c_finalize): Rename to...
12702          (ipa_reference_cc_finalize): ...this.
12703          * ira-costs.cc (ira_costs_c_finalize): Rename to...
12704          (ira_costs_cc_finalize): ...this.
12705          * ira.h (ira_costs_c_finalize): Rename to...
12706          (ira_costs_cc_finalize): ...this.
12707          * opt-suggestions.cc (opt_proposer_c_tests): Rename to...
12708          (opt_suggestions_cc_tests): ...this.
12709          * opts.cc (opts_c_tests): Rename to...
12710          (opts_cc_tests): ...this.
12711          * predict.cc (predict_c_tests): Rename to...
12712          (predict_cc_tests): ...this.
12713          * pretty-print.cc (pretty_print_c_tests): Rename to...
12714          (pretty_print_cc_tests): ...this.
12715          * read-rtl-function.cc (read_rtl_function_c_tests): Rename to...
12716          (read_rtl_function_cc_tests): ...this.
12717          * rtl-tests.cc (rtl_tests_c_tests): Rename to...
12718          (rtl_tests_cc_tests): ...this.
12719          * sbitmap.cc (sbitmap_c_tests): Rename to...
12720          (sbitmap_cc_tests): ...this.
12721          * selftest-run-tests.cc (selftest::run_tests): Update calls for
12722          _c_ to _cc_ function renamings; fix names of attribs and
12723          opt-suggestions tests.
12724          * selftest.cc (selftest_c_tests): Rename to...
12725          (selftest_cc_tests): ...this.
12726          * selftest.h (attribute_c_tests): Rename to...
12727          (attribs_cc_tests): ...this.
12728          (bitmap_c_tests): Rename to...
12729          (bitmap_cc_tests): ...this.
12730          (cgraph_c_tests): Rename to...
12731          (cgraph_cc_tests): ...this.
12732          (convert_c_tests): Rename to...
12733          (convert_cc_tests): ...this.
12734          (diagnostic_c_tests): Rename to...
12735          (diagnostic_cc_tests): ...this.
12736          (diagnostic_show_locus_c_tests): Rename to...
12737          (diagnostic_show_locus_cc_tests): ...this.
12738          (dumpfile_c_tests): Rename to...
12739          (dumpfile_cc_tests): ...this.
12740          (edit_context_c_tests): Rename to...
12741          (edit_context_cc_tests): ...this.
12742          (et_forest_c_tests): Rename to...
12743          (et_forest_cc_tests): ...this.
12744          (fibonacci_heap_c_tests): Rename to...
12745          (fibonacci_heap_cc_tests): ...this.
12746          (fold_const_c_tests): Rename to...
12747          (fold_const_cc_tests): ...this.
12748          (function_tests_c_tests): Rename to...
12749          (function_tests_cc_tests): ...this.
12750          (ggc_tests_c_tests): Rename to...
12751          (ggc_tests_cc_tests): ...this.
12752          (gimple_c_tests): Rename to...
12753          (gimple_cc_tests): ...this.
12754          (hash_map_tests_c_tests): Rename to...
12755          (hash_map_tests_cc_tests): ...this.
12756          (hash_set_tests_c_tests): Rename to...
12757          (hash_set_tests_cc_tests): ...this.
12758          (input_c_tests): Rename to...
12759          (input_cc_tests): ...this.
12760          (opts_c_tests): Rename to...
12761          (opts_cc_tests): ...this.
12762          (predict_c_tests): Rename to...
12763          (predict_cc_tests): ...this.
12764          (pretty_print_c_tests): Rename to...
12765          (pretty_print_cc_tests): ...this.
12766          (read_rtl_function_c_tests): Rename to...
12767          (read_rtl_function_cc_tests): ...this.
12768          (rtl_tests_c_tests): Rename to...
12769          (rtl_tests_cc_tests): ...this.
12770          (sbitmap_c_tests): Rename to...
12771          (sbitmap_cc_tests): ...this.
12772          (selftest_c_tests): Rename to...
12773          (selftest_cc_tests): ...this.
12774          (simplify_rtx_c_tests): Rename to...
12775          (simplify_rtx_cc_tests): ...this.
12776          (spellcheck_c_tests): Rename to...
12777          (spellcheck_cc_tests): ...this.
12778          (spellcheck_tree_c_tests): Rename to...
12779          (spellcheck_tree_cc_tests): ...this.
12780          (sreal_c_tests): Rename to...
12781          (sreal_cc_tests): ...this.
12782          (store_merging_c_tests): Rename to...
12783          (store_merging_cc_tests): ...this.
12784          (tree_c_tests): Rename to...
12785          (tree_cc_tests): ...this.
12786          (tree_cfg_c_tests): Rename to...
12787          (tree_cfg_cc_tests): ...this.
12788          (typed_splay_tree_c_tests): Rename to...
12789          (typed_splay_tree_cc_tests): ...this.
12790          (vec_c_tests): Rename to...
12791          (vec_cc_tests): ...this.
12792          (vec_perm_indices_c_tests): Rename to...
12793          (vec_perm_indices_cc_tests): ..this.
12794          (opt_proposer_c_tests): Rename to...
12795          (opt_suggestions_cc_tests): ...this.
12796          (dbgcnt_c_tests): Rename to...
12797          (dbgcnt_cc_tests): ...this.
12798          (ipa_modref_tree_c_tests): Rename to...
12799          (ipa_modref_tree_cc_tests): ...this.
12800          * simplify-rtx.cc (simplify_rtx_c_tests): Rename to...
12801          (simplify_rtx_cc_tests): ...this.
12802          * spellcheck-tree.cc (spellcheck_tree_c_tests): Rename to...
12803          (spellcheck_tree_cc_tests): ...this.
12804          * spellcheck.cc (spellcheck_c_tests): Rename to...
12805          (spellcheck_cc_tests): ...this.
12806          * sreal.cc (sreal_c_tests): Rename to...
12807          (sreal_cc_tests): ...this.
12808          * toplev.cc (toplev::finalize): Update calls for _c_ to _cc_
12809          function renamings.
12810          * tree-cfg.cc (tree_cfg_c_tests): Rename to...
12811          (tree_cfg_cc_tests): ...this.
12812          * tree.cc (tree_c_tests): Rename to...
12813          (tree_cc_tests): ...this.
12814          * typed-splay-tree.cc (typed_splay_tree_c_tests): Rename to...
12815          (typed_splay_tree_cc_tests): ...this.
12816          * vec-perm-indices.cc (vec_perm_indices_c_tests): Rename to...
12817          (vec_perm_indices_cc_tests): ...this.
12818          * vec.cc (vec_c_tests): Rename to...
12819          (vec_cc_tests): ...this.
12820
128212022-01-19  Andre Vieira  <andre.simoesdiasvieira@arm.com>
12822
12823          PR tree-optimization/103997
12824          * tree-vect-loop.cc (vect_analyze_loop): Fix mode skipping for epilogue
12825          vectorization.
12826
128272022-01-19  Jakub Jelinek  <jakub@redhat.com>
12828
12829          PR middle-end/102860
12830          * match.pd (x %[fl] y -> x % y): New simplification for
12831          unsigned integral types.
12832          * optabs-tree.cc (optab_for_tree_code): Return unknown_optab
12833          for {CEIL,FLOOR,ROUND}_{DIV,MOD}_EXPR with VECTOR_TYPE.
12834
128352022-01-19  Richard Biener  <rguenther@suse.de>
12836
12837          PR tree-optimization/104112
12838          * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
12839          for required intermediate vector types.
12840
128412022-01-19  Jakub Jelinek  <jakub@redhat.com>
12842
12843          * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Add default:.
12844
128452022-01-19  Martin Liska  <mliska@suse.cz>
12846
12847          * configure.ac: Remove -Wno-error=format-diag.
12848          * configure: Regenerate.
12849
128502022-01-19  Martin Liska  <mliska@suse.cz>
12851
12852          * config/riscv/riscv.cc (riscv_handle_type_attribute):
12853          Update one -Wformat-diag string in warning message.
12854
128552022-01-19  Jakub Jelinek  <jakub@redhat.com>
12856
12857          PR middle-end/104103
12858          * gimple-ssa-warn-access.cc (pass_waccess::check_call): Don't check
12859          .ASAN_MARK calls.
12860
128612022-01-19  Jakub Jelinek  <jakub@redhat.com>
12862
12863          PR c++/89074
12864          * fold-const.cc (address_compare): Consider different STRING_CSTs
12865          with the same lengths that memcmp the same as equal, not different.
12866
128672022-01-19  Jakub Jelinek  <jakub@redhat.com>
12868
12869          * config/i386/sse.md (*aes<aeswideklvariant>u*): Use %0 instead of
12870          {%0}.
12871
128722022-01-19  Martin Liska  <mliska@suse.cz>
12873              Thomas Schwinge  <thomas@codesourcery.com>
12874
12875          * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Update
12876          warning messages.
12877
128782022-01-19  Sebastian Huber  <sebastian.huber@embedded-brains.de>
12879
12880          PR target/104090
12881          * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Use also
12882          rs6000_cpu.
12883
128842022-01-19  Jakub Jelinek  <jakub@redhat.com>
12885
12886          PR target/104104
12887          * config/i386/sse.md
12888          (<avx512>_<complexopname>_<mode><maskc_name><round_name>,
12889          avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>,
12890          avx512dq_mul<mode>3<mask_name>, <avx2_avx512>_permvar<mode><mask_name>,
12891          avx2_perm<mode>_1<mask_name>, avx512f_perm<mode>_1<mask_name>,
12892          avx512dq_rangep<mode><mask_name><round_saeonly_name>,
12893          avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>,
12894          <avx512>_getmant<mode><mask_name><round_saeonly_name>,
12895          avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
12896          Use vxorps\t%x0, %x0, %x0 instead of vxorps\t{%x0, %x0, %x0}.
12897
128982022-01-19  Martin Sebor  <msebor@redhat.com>
12899
12900          PR middle-end/104069
12901          * gimple-ssa-warn-access.cc (pointers_related_p): Return false for
12902          an unknown result as documented.
12903
129042022-01-18  Andrew Pinski  <apinski@marvell.com>
12905
12906          * ipa-split.cc (visit_bb): Fix comment before the
12907          warning/error attribute checking code.
12908
129092022-01-18  David Faust  <david.faust@oracle.com>
12910
12911          * config/bpf/coreout.cc (bpf_core_reloc_add): Do not account
12912          for base strtab offset yet as it may change.
12913          (output_asm_btfext_core_reloc): Do so here instead.
12914          (output_btfext_core_sections): Likewise.
12915
129162022-01-18  David Faust  <david.faust@oracle.com>
12917
12918          * config/bpf/coreout.cc (output_btfext_header): Account for
12919          4-byte record size in core_relo_len.
12920          (output_btfext_core_sections): Only write record size once.
12921          * config/bpf/coreout.h (btf_ext_section_header): Delete unused
12922          member.
12923
129242022-01-18  Maciej W. Rozycki  <macro@embecosm.com>
12925
12926          * common/config/riscv/riscv-common.cc
12927          (riscv_subset_list::parse_multiletter_ext): Move pointer
12928          arithmetic ahead of `free'.
12929
129302022-01-18  Jason Merrill  <jason@redhat.com>
12931
12932          PR c++/104007
12933          * gimplify.cc (gimple_push_cleanup): Handle eh_only in conditional
12934          context.
12935
129362022-01-18  Sandra Loosemore  <sandra@codesourcery.com>
12937
12938          PR middle-end/103163
12939          * emit-rtl.cc (init_emit_regs): Initialize stack_limit_rtx here...
12940          (init_emit_once): ...not here.
12941
129422022-01-18  Martin Liska  <mliska@suse.cz>
12943
12944          * collect2.cc (scan_libraries): Fix -Wformat-diag issues.
12945          * config/aarch64/aarch64-builtins.cc (aarch64_simd_expand_builtin): Likewise.
12946          * config/arc/arc.md: Likewise.
12947          * config/avr/avr.cc (avr_section_type_flags): Likewise.
12948          * config/bfin/bfin.cc (bfin_option_override): Likewise.
12949          (bfin_handle_longcall_attribute): Likewise.
12950          * config/cris/cris.h (FUNCTION_PROFILER): Likewise.
12951          * config/frv/frv.cc (frv_expand_builtin): Likewise.
12952          * config/ia64/ia64-c.cc (ia64_hpux_handle_builtin_pragma): Likewise.
12953          * config/iq2000/iq2000.cc (save_restore_insns): Likewise.
12954          (iq2000_print_operand_address): Likewise.
12955          (iq2000_print_operand): Likewise.
12956          * config/m32c/m32c-pragma.cc (m32c_pragma_memregs): Likewise.
12957          (m32c_pragma_address): Likewise.
12958          * config/m68k/m68k.cc (m68k_handle_fndecl_attribute): Likewise.
12959          * config/mips/mips.cc (mips_handle_interrupt_attr): Likewise.
12960          (mips_set_compression_mode): Likewise.
12961          * config/mmix/mmix.cc (mmix_function_profiler): Likewise.
12962          (mmix_print_operand): Likewise.
12963          (mmix_output_shiftvalue_op_from_str): Likewise.
12964          (mmix_output_shifted_value): Likewise.
12965          * config/msp430/driver-msp430.cc (msp430_select_hwmult_lib): Likewise.
12966          * config/msp430/msp430.cc (msp430_option_override): Likewise.
12967          (msp430_attr): Likewise.
12968          (msp430_expand_delay_cycles): Likewise.
12969          (msp430_expand_builtin): Likewise.
12970          * config/rs6000/aix73.h: Likewise.
12971          * config/rs6000/rtems.h (INVALID_64BIT): Likewise.
12972          * config/rx/rx.cc (rx_expand_builtin_mvtc): Likewise.
12973          (valid_psw_flag): Likewise.
12974          * config/sh/sh.cc (parse_validate_atomic_model_option): Likewise.
12975          * config/stormy16/stormy16.cc (xstormy16_function_profiler): Likewise.
12976          (xstormy16_expand_builtin_va_start): Likewise.
12977          (xstormy16_handle_below100_attribute): Likewise.
12978
129792022-01-18  Martin Liska  <mliska@suse.cz>
12980
12981          * config/vms/vms-c.cc (vms_pragma_nostandard): Fix -Wformat-diag
12982          warning.
12983          (vms_pragma_standard): Likewise.
12984          (vms_pragma_extern_prefix): Likewise.
12985
129862022-01-18  Martin Liska  <mliska@suse.cz>
12987
12988          * config/xtensa/xtensa.cc (print_operand): Fix warnings.
12989          (print_operand_address): Likewise.
12990          (xtensa_multibss_section_type_flags): Likewise.
12991
129922022-01-18  Martin Liska  <mliska@suse.cz>
12993
12994          * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Change
12995          wording of an error message.
12996
129972022-01-18  Martin Liska  <mliska@suse.cz>
12998
12999          * config/v850/v850-c.cc (pop_data_area): Fix -Wformat-diag
13000          warning.
13001          (ghs_pragma_section): Likewise.
13002          (ghs_pragma_interrupt): Likewise.
13003          (ghs_pragma_starttda): Likewise.
13004          (ghs_pragma_startsda): Likewise.
13005          (ghs_pragma_startzda): Likewise.
13006          (ghs_pragma_endtda): Likewise.
13007          (ghs_pragma_endsda): Likewise.
13008          (ghs_pragma_endzda): Likewise.
13009
130102022-01-18  Martin Liska  <mliska@suse.cz>
13011
13012          * config/nds32/nds32-intrinsic.cc (nds32_expand_builtin_impl):
13013          Fix warnings.
13014          * config/nds32/nds32-intrinsic.md: Likewise.
13015          * config/nds32/nds32-isr.cc (nds32_check_isr_attrs_conflict): Likewise.
13016          * config/nds32/nds32.cc (nds32_print_operand): Likewise.
13017          (nds32_insert_attributes): Likewise.
13018
130192022-01-18  Martin Liska  <mliska@suse.cz>
13020
13021          * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Wrap
13022          keyword.
13023          * config/nvptx/nvptx.md: Remove trailing dot.
13024
130252022-01-18  Martin Liska  <mliska@suse.cz>
13026
13027          * common/config/riscv/riscv-common.cc (riscv_subset_list::add):
13028          Wrap keywords with quotes and remove trailing dots.
13029          (riscv_subset_list::parsing_subset_version): Likewise.
13030          (riscv_subset_list::parse_std_ext): Likewise.
13031          (riscv_subset_list::parse_multiletter_ext): Likewise.
13032          * config/riscv/riscv.cc (riscv_handle_type_attribute): Likewise.
13033
130342022-01-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>
13035
13036          * tree-vect-loop.cc (vect_estimate_min_profitable_iters): Pass new
13037          argument suggested_unroll_factor.
13038          (vect_analyze_loop_costing): Likewise.
13039          (_loop_vec_info::_loop_vec_info): Initialize new member
13040          suggested_unroll_factor.
13041          (vect_determine_partial_vectors_and_peeling): Make epilogue of unrolled
13042          main loop use partial vectors.
13043          (vect_analyze_loop_2): Pass and use new argument
13044          suggested_unroll_factor.
13045          (vect_analyze_loop_1): Change to intialize local
13046          suggested_unroll_factor and use it.
13047          (vectorizable_reduction): Don't use single_defuse_cycle when unrolling.
13048          * tree-vectorizer.h (_loop_vec_info::_loop_vec_info): Add new member
13049          suggested_unroll_factor.
13050          (vector_costs::vector_costs): Add new member m_suggested_unroll_factor.
13051          (vector_costs::suggested_unroll_factor): New getter function.
13052          (finish_cost): Set return argument suggested_unroll_factor.
13053
130542022-01-18  Andrew MacLeod  <amacleod@redhat.com>
13055
13056          PR tree-optimization/104038
13057          * doc/invoke.texi (relation-block-limit): New.
13058          * params.opt (relation-block-limit): New.
13059          * value-relation.cc (dom_oracle::register_relation): Check for NULL
13060          record before invoking transitive registery.
13061          (dom_oracle::set_one_relation): Check limit before creating record.
13062          (dom_oracle::register_transitives): Stop when no record created.
13063          * value-relation.h (relation_chain_head::m_num_relations): New.
13064
130652022-01-18  Richard Biener  <rguenther@suse.de>
13066
13067          PR ipa/103989
13068          * ipa-inline.cc (inline_small_functions): Do not enqueue call
13069          edges originating in functions compiled with -Og.
13070
130712022-01-18  Richard Biener  <rguenther@suse.de>
13072
13073          PR ipa/103989
13074          * passes.def (pass_all_optimizations_g): Remove pass_modref
13075          and pass_local_pure_const.
13076
130772022-01-18  Martin Liska  <mliska@suse.cz>
13078
13079          * config/s390/s390.cc: Fix -Wformat-diag warnings.
13080
130812022-01-18  Martin Liska  <mliska@suse.cz>
13082
13083          * config/s390/s390-c.cc (s390_expand_overloaded_builtin): Wrap
13084          keyword in quotes.
13085          (s390_resolve_overloaded_builtin): Remove trailing dot.
13086          * config/s390/s390.cc (s390_const_operand_ok): Use - for range.
13087          (s390_expand_builtin): Remove trailing dot.
13088          (s390_emit_prologue): Likewise, use semicolon.
13089          (s390_option_override_internal): Update keyword.
13090          * varasm.cc (do_assemble_alias): Wrap keyword in quotes.
13091
130922022-01-18  Martin Liska  <mliska@suse.cz>
13093
13094          * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Wrap
13095          keywords and use %qs instead of %<%s%>.
13096
130972022-01-18  Richard Biener  <rguenther@suse.de>
13098
13099          PR tree-optimization/103987
13100          * tree-ssa-dse.cc (dse_optimize_call): Properly guard modref
13101          query with a pointer check.
13102
131032022-01-18  Richard Sandiford  <richard.sandiford@arm.com>
13104
13105          PR target/104005
13106          * config/aarch64/aarch64.cc (aarch64_check_consecutive_mems):
13107          When using MEM_EXPR, require the base to be a decl.
13108
131092022-01-18  Richard Biener  <rguenther@suse.de>
13110
13111          * cgraph.h (struct cgraph_simd_clone_arg): Re-arrange fields to
13112          avoid padding.
13113          * function.h (struct function): Likewise.
13114
131152022-01-18  Arnaud Charlet  <charlet@adacore.com>
13116
13117          * doc/install.texi: Update prerequisites for GNAT
13118
131192022-01-18  Andrew Pinski  <apinski@marvell.com>
13120
13121          PR tree-optimization/101941
13122          * ipa-split.cc (visit_bb): Disallow function calls where
13123          the function has either error or warning attribute.
13124
131252022-01-18  Richard Biener  <rguenther@suse.de>
13126
13127          PR tree-optimization/104064
13128          * tree-vect-data-refs.cc (vect_analyze_data_ref_accesses): Check
13129          DR_INIT fits in a signed HWI, represent the difference from the
13130          first DR in unsigned.
13131
131322022-01-17  Martin Liska  <mliska@suse.cz>
13133
13134          * Makefile.in: Rename .c names to .cc.
13135          * config.gcc: Likewise.
13136          * configure: Regenerate. Likewise.
13137          * configure.ac: Likewise.
13138          * gengtype.cc (set_gc_used): Likewise.
13139          (source_dot_c_frul): Likewise.
13140          (source_dot_cc_frul): Likewise.
13141          (struct file_rule_st): Likewise.
13142          (close_output_files): Likewise.
13143          * config/avr/t-avr: Use CXXFLAGS_* and CXX_FOR_BUILD.
13144
131452022-01-17  Martin Liska  <mliska@suse.cz>
13146
13147          * Makefile.in: Rename .c names to .cc.
13148          * alias.h: Likewise.
13149          * asan.cc: Likewise.
13150          * auto-profile.h: Likewise.
13151          * basic-block.h (struct basic_block_d): Likewise.
13152          * btfout.cc: Likewise.
13153          * builtins.cc (expand_builtin_longjmp): Likewise.
13154          (validate_arg): Likewise.
13155          (access_ref::offset_bounded): Likewise.
13156          * caller-save.cc (reg_restore_code): Likewise.
13157          (setup_save_areas): Likewise.
13158          * calls.cc (initialize_argument_information): Likewise.
13159          (expand_call): Likewise.
13160          (emit_library_call_value_1): Likewise.
13161          * cfg-flags.def (RTL): Likewise.
13162          (SIBCALL): Likewise.
13163          (CAN_FALLTHRU): Likewise.
13164          * cfganal.cc (post_order_compute): Likewise.
13165          * cfgcleanup.cc (try_simplify_condjump): Likewise.
13166          (merge_blocks_move_predecessor_nojumps): Likewise.
13167          (merge_blocks_move_successor_nojumps): Likewise.
13168          (merge_blocks_move): Likewise.
13169          (old_insns_match_p): Likewise.
13170          (try_crossjump_bb): Likewise.
13171          * cfgexpand.cc (expand_gimple_stmt): Likewise.
13172          * cfghooks.cc (split_block_before_cond_jump): Likewise.
13173          (profile_record_check_consistency): Likewise.
13174          * cfghooks.h: Likewise.
13175          * cfgrtl.cc (pass_free_cfg::execute): Likewise.
13176          (rtl_can_merge_blocks): Likewise.
13177          (try_redirect_by_replacing_jump): Likewise.
13178          (make_pass_outof_cfg_layout_mode): Likewise.
13179          (cfg_layout_can_merge_blocks_p): Likewise.
13180          * cgraph.cc (release_function_body): Likewise.
13181          (cgraph_node::get_fun): Likewise.
13182          * cgraph.h (struct cgraph_node): Likewise.
13183          (asmname_hasher::equal): Likewise.
13184          (cgraph_inline_failed_type): Likewise.
13185          (thunk_adjust): Likewise.
13186          (dump_callgraph_transformation): Likewise.
13187          (record_references_in_initializer): Likewise.
13188          (ipa_discover_variable_flags): Likewise.
13189          * cgraphclones.cc (GTY): Likewise.
13190          * cgraphunit.cc (symbol_table::finalize_compilation_unit): Likewise.
13191          * collect-utils.h (GCC_COLLECT_UTILS_H): Likewise.
13192          * collect2-aix.h (GCC_COLLECT2_AIX_H): Likewise.
13193          * collect2.cc (maybe_run_lto_and_relink): Likewise.
13194          * combine-stack-adj.cc: Likewise.
13195          * combine.cc (setup_incoming_promotions): Likewise.
13196          (combine_simplify_rtx): Likewise.
13197          (count_rtxs): Likewise.
13198          * common.opt: Likewise.
13199          * common/config/aarch64/aarch64-common.cc: Likewise.
13200          * common/config/arm/arm-common.cc (arm_asm_auto_mfpu): Likewise.
13201          * common/config/avr/avr-common.cc: Likewise.
13202          * common/config/i386/i386-isas.h (struct _isa_names_table): Likewise.
13203          * conditions.h: Likewise.
13204          * config.gcc: Likewise.
13205          * config/aarch64/aarch64-builtins.cc (aarch64_resolve_overloaded_memtag): Likewise.
13206          * config/aarch64/aarch64-protos.h (aarch64_classify_address): Likewise.
13207          (aarch64_get_extension_string_for_isa_flags): Likewise.
13208          * config/aarch64/aarch64-sve-builtins.cc (function_builder::add_function): Likewise.
13209          * config/aarch64/aarch64.cc (aarch64_regmode_natural_size): Likewise.
13210          (aarch64_sched_first_cycle_multipass_dfa_lookahead): Likewise.
13211          (aarch64_option_valid_attribute_p): Likewise.
13212          (aarch64_short_vector_p): Likewise.
13213          (aarch64_float_const_representable_p): Likewise.
13214          * config/aarch64/aarch64.h (DBX_REGISTER_NUMBER): Likewise.
13215          (ASM_OUTPUT_POOL_EPILOGUE): Likewise.
13216          (GTY): Likewise.
13217          * config/aarch64/cortex-a57-fma-steering.cc: Likewise.
13218          * config/aarch64/driver-aarch64.cc (contains_core_p): Likewise.
13219          * config/aarch64/t-aarch64: Likewise.
13220          * config/aarch64/x-aarch64: Likewise.
13221          * config/aarch64/x-darwin: Likewise.
13222          * config/alpha/alpha-protos.h: Likewise.
13223          * config/alpha/alpha.cc (alpha_scalar_mode_supported_p): Likewise.
13224          * config/alpha/alpha.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
13225          (enum reg_class): Likewise.
13226          * config/alpha/alpha.md: Likewise.
13227          * config/alpha/driver-alpha.cc (AMASK_LOCKPFTCHOK): Likewise.
13228          * config/alpha/x-alpha: Likewise.
13229          * config/arc/arc-protos.h (arc_eh_uses): Likewise.
13230          * config/arc/arc.cc (ARC_OPT): Likewise.
13231          (arc_ccfsm_advance): Likewise.
13232          (arc_arg_partial_bytes): Likewise.
13233          (conditionalize_nonjump): Likewise.
13234          * config/arc/arc.md: Likewise.
13235          * config/arc/builtins.def: Likewise.
13236          * config/arc/t-arc: Likewise.
13237          * config/arm/arm-c.cc (arm_resolve_overloaded_builtin): Likewise.
13238          (arm_pragma_target_parse): Likewise.
13239          * config/arm/arm-protos.h (save_restore_target_globals): Likewise.
13240          (arm_cpu_cpp_builtins): Likewise.
13241          * config/arm/arm.cc (vfp3_const_double_index): Likewise.
13242          (shift_op): Likewise.
13243          (thumb2_final_prescan_insn): Likewise.
13244          (arm_final_prescan_insn): Likewise.
13245          (arm_asm_output_labelref): Likewise.
13246          (arm_small_register_classes_for_mode_p): Likewise.
13247          * config/arm/arm.h: Likewise.
13248          * config/arm/arm.md: Likewise.
13249          * config/arm/driver-arm.cc: Likewise.
13250          * config/arm/symbian.h: Likewise.
13251          * config/arm/t-arm: Likewise.
13252          * config/arm/thumb1.md: Likewise.
13253          * config/arm/x-arm: Likewise.
13254          * config/avr/avr-c.cc (avr_register_target_pragmas): Likewise.
13255          * config/avr/avr-fixed.md: Likewise.
13256          * config/avr/avr-log.cc (avr_log_vadump): Likewise.
13257          * config/avr/avr-mcus.def: Likewise.
13258          * config/avr/avr-modes.def (FRACTIONAL_INT_MODE): Likewise.
13259          * config/avr/avr-passes.def (INSERT_PASS_BEFORE): Likewise.
13260          * config/avr/avr-protos.h (make_avr_pass_casesi): Likewise.
13261          * config/avr/avr.cc (avr_option_override): Likewise.
13262          (avr_build_builtin_va_list): Likewise.
13263          (avr_mode_dependent_address_p): Likewise.
13264          (avr_function_arg_advance): Likewise.
13265          (avr_asm_output_aligned_decl_common): Likewise.
13266          * config/avr/avr.h (RETURN_ADDR_RTX): Likewise.
13267          (SUPPORTS_INIT_PRIORITY): Likewise.
13268          * config/avr/avr.md: Likewise.
13269          * config/avr/builtins.def: Likewise.
13270          * config/avr/gen-avr-mmcu-specs.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
13271          * config/avr/gen-avr-mmcu-texi.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
13272          (main): Likewise.
13273          * config/avr/t-avr: Likewise.
13274          * config/bfin/bfin.cc (frame_related_constant_load): Likewise.
13275          * config/bpf/bpf-protos.h (GCC_BPF_PROTOS_H): Likewise.
13276          * config/bpf/bpf.h (enum reg_class): Likewise.
13277          * config/bpf/t-bpf: Likewise.
13278          * config/c6x/c6x-protos.h (GCC_C6X_PROTOS_H): Likewise.
13279          * config/cr16/cr16-protos.h: Likewise.
13280          * config/cris/cris.cc (cris_address_cost): Likewise.
13281          (cris_side_effect_mode_ok): Likewise.
13282          (cris_init_machine_status): Likewise.
13283          (cris_emit_movem_store): Likewise.
13284          * config/cris/cris.h (INDEX_REG_CLASS): Likewise.
13285          (enum reg_class): Likewise.
13286          (struct cum_args): Likewise.
13287          * config/cris/cris.opt: Likewise.
13288          * config/cris/sync.md: Likewise.
13289          * config/csky/csky.cc (csky_expand_prologue): Likewise.
13290          * config/darwin-c.cc: Likewise.
13291          * config/darwin-f.cc: Likewise.
13292          * config/darwin-sections.def (zobj_const_section): Likewise.
13293          * config/darwin.cc (output_objc_section_asm_op): Likewise.
13294          (fprintf): Likewise.
13295          * config/darwin.h (GTY): Likewise.
13296          * config/elfos.h: Likewise.
13297          * config/epiphany/epiphany-sched.md: Likewise.
13298          * config/epiphany/epiphany.cc (epiphany_function_value): Likewise.
13299          * config/epiphany/epiphany.h (GTY): Likewise.
13300          (NO_FUNCTION_CSE): Likewise.
13301          * config/epiphany/mode-switch-use.cc: Likewise.
13302          * config/epiphany/predicates.md: Likewise.
13303          * config/epiphany/t-epiphany: Likewise.
13304          * config/fr30/fr30-protos.h: Likewise.
13305          * config/frv/frv-protos.h: Likewise.
13306          * config/frv/frv.cc (TLS_BIAS): Likewise.
13307          * config/frv/frv.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
13308          * config/ft32/ft32-protos.h: Likewise.
13309          * config/gcn/gcn-hsa.h (ASM_APP_OFF): Likewise.
13310          * config/gcn/gcn.cc (gcn_init_libfuncs): Likewise.
13311          * config/gcn/mkoffload.cc (copy_early_debug_info): Likewise.
13312          * config/gcn/t-gcn-hsa: Likewise.
13313          * config/gcn/t-omp-device: Likewise.
13314          * config/h8300/h8300-protos.h (GCC_H8300_PROTOS_H): Likewise.
13315          (same_cmp_following_p): Likewise.
13316          * config/h8300/h8300.cc (F): Likewise.
13317          * config/h8300/h8300.h (struct cum_arg): Likewise.
13318          (BRANCH_COST): Likewise.
13319          * config/i386/cygming.h (DEFAULT_PCC_STRUCT_RETURN): Likewise.
13320          * config/i386/djgpp.h (TARGET_ASM_LTO_END): Likewise.
13321          * config/i386/dragonfly.h (NO_PROFILE_COUNTERS): Likewise.
13322          * config/i386/driver-i386.cc (detect_caches_intel): Likewise.
13323          * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
13324          * config/i386/i386-c.cc (ix86_target_macros): Likewise.
13325          * config/i386/i386-expand.cc (get_mode_wider_vector): Likewise.
13326          * config/i386/i386-options.cc (ix86_set_func_type): Likewise.
13327          * config/i386/i386-protos.h (ix86_extract_perm_from_pool_constant): Likewise.
13328          (ix86_register_pragmas): Likewise.
13329          (ix86_d_has_stdcall_convention): Likewise.
13330          (i386_pe_seh_init_sections): Likewise.
13331          * config/i386/i386.cc (ix86_function_arg_regno_p): Likewise.
13332          (ix86_function_value_regno_p): Likewise.
13333          (ix86_compute_frame_layout): Likewise.
13334          (legitimize_pe_coff_symbol): Likewise.
13335          (output_pic_addr_const): Likewise.
13336          * config/i386/i386.h (defined): Likewise.
13337          (host_detect_local_cpu): Likewise.
13338          (CONSTANT_ADDRESS_P): Likewise.
13339          (DEFAULT_LARGE_SECTION_THRESHOLD): Likewise.
13340          (struct machine_frame_state): Likewise.
13341          * config/i386/i386.md: Likewise.
13342          * config/i386/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
13343          * config/i386/mmx.md: Likewise.
13344          * config/i386/sse.md: Likewise.
13345          * config/i386/t-cygming: Likewise.
13346          * config/i386/t-djgpp: Likewise.
13347          * config/i386/t-gnu-property: Likewise.
13348          * config/i386/t-i386: Likewise.
13349          * config/i386/t-intelmic: Likewise.
13350          * config/i386/t-omp-device: Likewise.
13351          * config/i386/winnt-cxx.cc (i386_pe_type_dllimport_p): Likewise.
13352          (i386_pe_adjust_class_at_definition): Likewise.
13353          * config/i386/winnt.cc (gen_stdcall_or_fastcall_suffix): Likewise.
13354          (i386_pe_mangle_decl_assembler_name): Likewise.
13355          (i386_pe_encode_section_info): Likewise.
13356          * config/i386/x-cygwin: Likewise.
13357          * config/i386/x-darwin: Likewise.
13358          * config/i386/x-i386: Likewise.
13359          * config/i386/x-mingw32: Likewise.
13360          * config/i386/x86-tune-sched-core.cc: Likewise.
13361          * config/i386/x86-tune.def: Likewise.
13362          * config/i386/xm-djgpp.h (STANDARD_STARTFILE_PREFIX_1): Likewise.
13363          * config/ia64/freebsd.h: Likewise.
13364          * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Likewise.
13365          * config/ia64/ia64-protos.h (ia64_except_unwind_info): Likewise.
13366          * config/ia64/ia64.cc (ia64_function_value_regno_p): Likewise.
13367          (ia64_secondary_reload_class): Likewise.
13368          (bundling): Likewise.
13369          * config/ia64/ia64.h: Likewise.
13370          * config/ia64/ia64.md: Likewise.
13371          * config/ia64/predicates.md: Likewise.
13372          * config/ia64/sysv4.h: Likewise.
13373          * config/ia64/t-ia64: Likewise.
13374          * config/iq2000/iq2000.h (FUNCTION_MODE): Likewise.
13375          * config/iq2000/iq2000.md: Likewise.
13376          * config/linux.h (TARGET_HAS_BIONIC): Likewise.
13377          (if): Likewise.
13378          * config/m32c/m32c.cc (m32c_function_needs_enter): Likewise.
13379          * config/m32c/m32c.h (MAX_REGS_PER_ADDRESS): Likewise.
13380          * config/m32c/t-m32c: Likewise.
13381          * config/m32r/m32r-protos.h: Likewise.
13382          * config/m32r/m32r.cc (m32r_print_operand): Likewise.
13383          * config/m32r/m32r.h: Likewise.
13384          * config/m32r/m32r.md: Likewise.
13385          * config/m68k/m68k-isas.def: Likewise.
13386          * config/m68k/m68k-microarchs.def: Likewise.
13387          * config/m68k/m68k-protos.h (strict_low_part_peephole_ok): Likewise.
13388          (m68k_epilogue_uses): Likewise.
13389          * config/m68k/m68k.cc (m68k_call_tls_get_addr): Likewise.
13390          (m68k_sched_adjust_cost): Likewise.
13391          (m68k_sched_md_init): Likewise.
13392          * config/m68k/m68k.h (__transfer_from_trampoline): Likewise.
13393          (enum m68k_function_kind): Likewise.
13394          * config/m68k/m68k.md: Likewise.
13395          * config/m68k/m68kemb.h: Likewise.
13396          * config/m68k/uclinux.h (ENDFILE_SPEC): Likewise.
13397          * config/mcore/mcore-protos.h: Likewise.
13398          * config/mcore/mcore.cc (mcore_expand_insv): Likewise.
13399          (mcore_expand_prolog): Likewise.
13400          * config/mcore/mcore.h (TARGET_MCORE): Likewise.
13401          * config/mcore/mcore.md: Likewise.
13402          * config/microblaze/microblaze-protos.h: Likewise.
13403          * config/microblaze/microblaze.cc (microblaze_legitimate_pic_operand): Likewise.
13404          (microblaze_function_prologue): Likewise.
13405          (microblaze_function_epilogue): Likewise.
13406          (microblaze_select_section): Likewise.
13407          (microblaze_asm_output_mi_thunk): Likewise.
13408          (microblaze_eh_return): Likewise.
13409          * config/microblaze/microblaze.h: Likewise.
13410          * config/microblaze/microblaze.md: Likewise.
13411          * config/microblaze/t-microblaze: Likewise.
13412          * config/mips/driver-native.cc: Likewise.
13413          * config/mips/loongson2ef.md: Likewise.
13414          * config/mips/mips-protos.h (mips_expand_vec_cmp_expr): Likewise.
13415          * config/mips/mips.cc (mips_rtx_costs): Likewise.
13416          (mips_output_filename): Likewise.
13417          (mips_output_function_prologue): Likewise.
13418          (mips_output_function_epilogue): Likewise.
13419          (mips_output_mi_thunk): Likewise.
13420          * config/mips/mips.h: Likewise.
13421          * config/mips/mips.md: Likewise.
13422          * config/mips/t-mips: Likewise.
13423          * config/mips/x-native: Likewise.
13424          * config/mmix/mmix-protos.h: Likewise.
13425          * config/mmix/mmix.cc (mmix_option_override): Likewise.
13426          (mmix_dbx_register_number): Likewise.
13427          (mmix_expand_prologue): Likewise.
13428          * config/mmix/mmix.h: Likewise.
13429          * config/mmix/mmix.md: Likewise.
13430          * config/mmix/predicates.md: Likewise.
13431          * config/mn10300/mn10300.cc (mn10300_symbolic_operand): Likewise.
13432          (mn10300_legitimate_pic_operand_p): Likewise.
13433          * config/mn10300/mn10300.h (enum reg_class): Likewise.
13434          (NO_FUNCTION_CSE): Likewise.
13435          * config/moxie/moxie-protos.h: Likewise.
13436          * config/moxie/uclinux.h (TARGET_LIBC_HAS_FUNCTION): Likewise.
13437          * config/msp430/msp430-devices.cc (extract_devices_dir_from_exec_prefix): Likewise.
13438          * config/msp430/msp430.cc (msp430_gimplify_va_arg_expr): Likewise.
13439          (msp430_incoming_return_addr_rtx): Likewise.
13440          * config/msp430/msp430.h (msp430_get_linker_devices_include_path): Likewise.
13441          * config/msp430/t-msp430: Likewise.
13442          * config/nds32/nds32-cost.cc (nds32_rtx_costs_speed_prefer): Likewise.
13443          (nds32_rtx_costs_size_prefer): Likewise.
13444          (nds32_init_rtx_costs): Likewise.
13445          * config/nds32/nds32-doubleword.md: Likewise.
13446          * config/nds32/nds32.cc (nds32_memory_move_cost): Likewise.
13447          (nds32_builtin_decl): Likewise.
13448          * config/nds32/nds32.h (enum nds32_16bit_address_type): Likewise.
13449          (enum nds32_isr_nested_type): Likewise.
13450          (enum reg_class): Likewise.
13451          * config/nds32/predicates.md: Likewise.
13452          * config/nds32/t-nds32: Likewise.
13453          * config/nios2/nios2.cc (nios2_pragma_target_parse): Likewise.
13454          * config/nvptx/nvptx-protos.h: Likewise.
13455          * config/nvptx/nvptx.cc (nvptx_goacc_expand_var_decl): Likewise.
13456          * config/nvptx/nvptx.h (TARGET_CPU_CPP_BUILTINS): Likewise.
13457          * config/nvptx/t-nvptx: Likewise.
13458          * config/nvptx/t-omp-device: Likewise.
13459          * config/pa/elf.h: Likewise.
13460          * config/pa/pa-linux.h (GLOBAL_ASM_OP): Likewise.
13461          * config/pa/pa-netbsd.h (GLOBAL_ASM_OP): Likewise.
13462          * config/pa/pa-openbsd.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
13463          * config/pa/pa-protos.h (pa_eh_return_handler_rtx): Likewise.
13464          (pa_legitimize_reload_address): Likewise.
13465          (pa_can_use_return_insn): Likewise.
13466          * config/pa/pa.cc (mem_shadd_or_shadd_rtx_p): Likewise.
13467          (som_output_text_section_asm_op): Likewise.
13468          * config/pa/pa.h (PROFILE_BEFORE_PROLOGUE): Likewise.
13469          * config/pa/pa.md: Likewise.
13470          * config/pa/som.h: Likewise.
13471          * config/pa/t-pa: Likewise.
13472          * config/pdp11/pdp11.cc (decode_pdp11_d): Likewise.
13473          * config/pdp11/pdp11.h: Likewise.
13474          * config/pdp11/pdp11.md: Likewise.
13475          * config/pdp11/t-pdp11: Likewise.
13476          * config/pru/pru.md: Likewise.
13477          * config/pru/t-pru: Likewise.
13478          * config/riscv/riscv-protos.h (NUM_SYMBOL_TYPES): Likewise.
13479          (riscv_gpr_save_operation_p): Likewise.
13480          (riscv_d_register_target_info): Likewise.
13481          (riscv_init_builtins): Likewise.
13482          * config/riscv/riscv.cc (riscv_output_mi_thunk): Likewise.
13483          * config/riscv/riscv.h (CSW_MAX_OFFSET): Likewise.
13484          * config/riscv/t-riscv: Likewise.
13485          * config/rl78/rl78.cc (rl78_asm_ctor_dtor): Likewise.
13486          * config/rl78/t-rl78: Likewise.
13487          * config/rs6000/aix.h: Likewise.
13488          * config/rs6000/aix71.h (ASM_SPEC_COMMON): Likewise.
13489          * config/rs6000/aix72.h (ASM_SPEC_COMMON): Likewise.
13490          * config/rs6000/aix73.h (ASM_SPEC_COMMON): Likewise.
13491          * config/rs6000/darwin.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
13492          * config/rs6000/driver-rs6000.cc: Likewise.
13493          * config/rs6000/freebsd.h: Likewise.
13494          * config/rs6000/freebsd64.h: Likewise.
13495          * config/rs6000/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
13496          * config/rs6000/rbtree.cc: Likewise.
13497          * config/rs6000/rbtree.h: Likewise.
13498          * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Likewise.
13499          * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Likewise.
13500          (rs6000_expand_builtin): Likewise.
13501          (rs6000_init_builtins): Likewise.
13502          * config/rs6000/rs6000-cpus.def: Likewise.
13503          * config/rs6000/rs6000-gen-builtins.cc (write_init_ovld_table): Likewise.
13504          * config/rs6000/rs6000-internal.h (ALTIVEC_REG_BIT): Likewise.
13505          (quad_address_offset_p): Likewise.
13506          * config/rs6000/rs6000-logue.cc (interesting_frame_related_regno): Likewise.
13507          (rs6000_emit_epilogue): Likewise.
13508          * config/rs6000/rs6000-overload.def: Likewise.
13509          * config/rs6000/rs6000-p8swap.cc: Likewise.
13510          * config/rs6000/rs6000-protos.h (GCC_RS6000_PROTOS_H): Likewise.
13511          (rs6000_const_f32_to_i32): Likewise.
13512          * config/rs6000/rs6000.cc (legitimate_lo_sum_address_p): Likewise.
13513          (rs6000_debug_legitimize_address): Likewise.
13514          (rs6000_mode_dependent_address): Likewise.
13515          (rs6000_adjust_priority): Likewise.
13516          (rs6000_c_mode_for_suffix): Likewise.
13517          * config/rs6000/rs6000.h (defined): Likewise.
13518          (LONG_DOUBLE_TYPE_SIZE): Likewise.
13519          * config/rs6000/rs6000.md: Likewise.
13520          * config/rs6000/sysv4.h: Likewise.
13521          * config/rs6000/t-linux: Likewise.
13522          * config/rs6000/t-linux64: Likewise.
13523          * config/rs6000/t-rs6000: Likewise.
13524          * config/rs6000/x-darwin: Likewise.
13525          * config/rs6000/x-darwin64: Likewise.
13526          * config/rs6000/x-rs6000: Likewise.
13527          * config/rs6000/xcoff.h (ASM_OUTPUT_LABELREF): Likewise.
13528          * config/rx/rx.cc (rx_expand_builtin): Likewise.
13529          * config/s390/constraints.md: Likewise.
13530          * config/s390/driver-native.cc: Likewise.
13531          * config/s390/htmxlintrin.h: Likewise.
13532          * config/s390/s390-builtins.def (B_DEF): Likewise.
13533          (OB_DEF_VAR): Likewise.
13534          * config/s390/s390-builtins.h: Likewise.
13535          * config/s390/s390-c.cc: Likewise.
13536          * config/s390/s390-opts.h: Likewise.
13537          * config/s390/s390-protos.h (s390_check_symref_alignment): Likewise.
13538          (s390_register_target_pragmas): Likewise.
13539          * config/s390/s390.cc (s390_init_builtins): Likewise.
13540          (s390_expand_plus_operand): Likewise.
13541          (s390_expand_atomic): Likewise.
13542          (s390_valid_target_attribute_inner_p): Likewise.
13543          * config/s390/s390.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
13544          * config/s390/s390.md: Likewise.
13545          * config/s390/t-s390: Likewise.
13546          * config/s390/vx-builtins.md: Likewise.
13547          * config/s390/x-native: Likewise.
13548          * config/sh/divtab-sh4-300.cc (main): Likewise.
13549          * config/sh/divtab-sh4.cc (main): Likewise.
13550          * config/sh/divtab.cc (main): Likewise.
13551          * config/sh/elf.h: Likewise.
13552          * config/sh/sh-protos.h (sh_fsca_int2sf): Likewise.
13553          * config/sh/sh.cc (SYMBOL_FLAG_FUNCVEC_FUNCTION): Likewise.
13554          (sh_struct_value_rtx): Likewise.
13555          (sh_remove_reg_dead_or_unused_notes): Likewise.
13556          * config/sh/sh.h (MIN_UNITS_PER_WORD): Likewise.
13557          * config/sh/t-sh: Likewise.
13558          * config/sol2-protos.h (solaris_override_options): Likewise.
13559          * config/sol2.h: Likewise.
13560          * config/sparc/driver-sparc.cc: Likewise.
13561          * config/sparc/freebsd.h: Likewise.
13562          * config/sparc/sparc-protos.h (make_pass_work_around_errata): Likewise.
13563          * config/sparc/sparc.cc (sparc_output_mi_thunk): Likewise.
13564          (sparc_asan_shadow_offset): Likewise.
13565          * config/sparc/sparc.h: Likewise.
13566          * config/sparc/sparc.md: Likewise.
13567          * config/sparc/t-sparc: Likewise.
13568          * config/sparc/x-sparc: Likewise.
13569          * config/stormy16/stormy16.cc (xstormy16_mode_dependent_address_p): Likewise.
13570          * config/t-darwin: Likewise.
13571          * config/t-dragonfly: Likewise.
13572          * config/t-freebsd: Likewise.
13573          * config/t-glibc: Likewise.
13574          * config/t-linux: Likewise.
13575          * config/t-netbsd: Likewise.
13576          * config/t-openbsd: Likewise.
13577          * config/t-pnt16-warn: Likewise.
13578          * config/t-sol2: Likewise.
13579          * config/t-vxworks: Likewise.
13580          * config/t-winnt: Likewise.
13581          * config/tilegx/t-tilegx: Likewise.
13582          * config/tilegx/tilegx-c.cc: Likewise.
13583          * config/tilegx/tilegx-protos.h (tilegx_function_profiler): Likewise.
13584          * config/tilegx/tilegx.md: Likewise.
13585          * config/tilepro/t-tilepro: Likewise.
13586          * config/tilepro/tilepro-c.cc: Likewise.
13587          * config/v850/t-v850: Likewise.
13588          * config/v850/v850-protos.h: Likewise.
13589          * config/v850/v850.cc (F): Likewise.
13590          * config/v850/v850.h (enum reg_class): Likewise.
13591          (SLOW_BYTE_ACCESS): Likewise.
13592          * config/vax/vax.cc (vax_mode_dependent_address_p): Likewise.
13593          * config/vax/vax.h (enum reg_class): Likewise.
13594          * config/vax/vax.md: Likewise.
13595          * config/visium/visium.cc (visium_legitimate_address_p): Likewise.
13596          * config/visium/visium.h: Likewise.
13597          * config/vms/t-vms: Likewise.
13598          * config/vms/vms-crtlmap.map: Likewise.
13599          * config/vms/vms-protos.h (vms_c_get_vms_ver): Likewise.
13600          * config/vx-common.h: Likewise.
13601          * config/x-darwin: Likewise.
13602          * config/x-hpux: Likewise.
13603          * config/x-linux: Likewise.
13604          * config/x-netbsd: Likewise.
13605          * config/x-openbsd: Likewise.
13606          * config/x-solaris: Likewise.
13607          * config/xtensa/xtensa-protos.h (xtensa_mem_offset): Likewise.
13608          * config/xtensa/xtensa.cc (xtensa_option_override): Likewise.
13609          * config/xtensa/xtensa.h: Likewise.
13610          * configure.ac: Likewise.
13611          * context.cc: Likewise.
13612          * convert.h: Likewise.
13613          * coretypes.h: Likewise.
13614          * coverage.cc: Likewise.
13615          * coverage.h: Likewise.
13616          * cppdefault.h (struct default_include): Likewise.
13617          * cprop.cc (local_cprop_pass): Likewise.
13618          (one_cprop_pass): Likewise.
13619          * cse.cc (hash_rtx_cb): Likewise.
13620          (fold_rtx): Likewise.
13621          * ctfc.h (ctfc_get_num_vlen_bytes): Likewise.
13622          * data-streamer.h (bp_unpack_var_len_int): Likewise.
13623          (streamer_write_widest_int): Likewise.
13624          * dbgcnt.def: Likewise.
13625          * dbxout.cc (dbxout_early_global_decl): Likewise.
13626          (dbxout_common_check): Likewise.
13627          * dbxout.h: Likewise.
13628          * debug.h (struct gcc_debug_hooks): Likewise.
13629          (dump_go_spec_init): Likewise.
13630          * df-core.cc: Likewise.
13631          * df-scan.cc (df_insn_info_delete): Likewise.
13632          (df_insn_delete): Likewise.
13633          * df.h (debug_df_chain): Likewise.
13634          (can_move_insns_across): Likewise.
13635          * dfp.cc (decimal_from_binary): Likewise.
13636          * diagnostic-color.cc: Likewise.
13637          * diagnostic-event-id.h: Likewise.
13638          * diagnostic-show-locus.cc (test_one_liner_labels): Likewise.
13639          * diagnostic.cc (bt_callback): Likewise.
13640          (num_digits): Likewise.
13641          * doc/avr-mmcu.texi: Likewise.
13642          * doc/cfg.texi: Likewise.
13643          * doc/contrib.texi: Likewise.
13644          * doc/cppinternals.texi: Likewise.
13645          * doc/extend.texi: Likewise.
13646          * doc/generic.texi: Likewise.
13647          * doc/gimple.texi: Likewise.
13648          * doc/gty.texi: Likewise.
13649          * doc/invoke.texi: Likewise.
13650          * doc/loop.texi: Likewise.
13651          * doc/lto.texi: Likewise.
13652          * doc/match-and-simplify.texi: Likewise.
13653          * doc/md.texi: Likewise.
13654          * doc/optinfo.texi: Likewise.
13655          * doc/options.texi: Likewise.
13656          * doc/passes.texi: Likewise.
13657          * doc/plugins.texi: Likewise.
13658          * doc/rtl.texi: Likewise.
13659          * doc/sourcebuild.texi: Likewise.
13660          * doc/tm.texi: Likewise.
13661          * doc/tm.texi.in: Likewise.
13662          * doc/tree-ssa.texi: Likewise.
13663          * dojump.cc (do_jump): Likewise.
13664          * dojump.h: Likewise.
13665          * dumpfile.cc (test_impl_location): Likewise.
13666          (test_capture_of_dump_calls): Likewise.
13667          * dumpfile.h (enum dump_kind): Likewise.
13668          (class dump_location_t): Likewise.
13669          (dump_enabled_p): Likewise.
13670          (enable_rtl_dump_file): Likewise.
13671          (dump_combine_total_stats): Likewise.
13672          * dwarf2asm.cc (dw2_asm_output_delta_uleb128): Likewise.
13673          * dwarf2ctf.h (ctf_debug_finish): Likewise.
13674          * dwarf2out.cc (dwarf2out_begin_prologue): Likewise.
13675          (struct loc_descr_context): Likewise.
13676          (rtl_for_decl_location): Likewise.
13677          (gen_subprogram_die): Likewise.
13678          (gen_label_die): Likewise.
13679          (is_trivial_indirect_ref): Likewise.
13680          (dwarf2out_late_global_decl): Likewise.
13681          (dwarf_file_hasher::hash): Likewise.
13682          (dwarf2out_end_source_file): Likewise.
13683          (dwarf2out_define): Likewise.
13684          (dwarf2out_early_finish): Likewise.
13685          * dwarf2out.h (struct dw_fde_node): Likewise.
13686          (struct dw_discr_list_node): Likewise.
13687          (output_loc_sequence_raw): Likewise.
13688          * emit-rtl.cc (gen_raw_REG): Likewise.
13689          (maybe_set_max_label_num): Likewise.
13690          * emit-rtl.h (struct rtl_data): Likewise.
13691          * errors.cc (internal_error): Likewise.
13692          (trim_filename): Likewise.
13693          * et-forest.cc: Likewise.
13694          * except.cc (init_eh_for_function): Likewise.
13695          * explow.cc (promote_ssa_mode): Likewise.
13696          (get_dynamic_stack_size): Likewise.
13697          * explow.h: Likewise.
13698          * expmed.h: Likewise.
13699          * expr.cc (safe_from_p): Likewise.
13700          (expand_expr_real_2): Likewise.
13701          (expand_expr_real_1): Likewise.
13702          * file-prefix-map.cc (remap_filename): Likewise.
13703          * final.cc (app_enable): Likewise.
13704          (make_pass_compute_alignments): Likewise.
13705          (final_scan_insn_1): Likewise.
13706          (final_scan_insn): Likewise.
13707          * fixed-value.h (fixed_from_string): Likewise.
13708          * flag-types.h (NO_DEBUG): Likewise.
13709          (DWARF2_DEBUG): Likewise.
13710          (VMS_DEBUG): Likewise.
13711          (BTF_DEBUG): Likewise.
13712          (enum ctf_debug_info_levels): Likewise.
13713          * fold-const.cc (const_binop): Likewise.
13714          (fold_binary_loc): Likewise.
13715          (fold_checksum_tree): Likewise.
13716          * fp-test.cc: Likewise.
13717          * function.cc (expand_function_end): Likewise.
13718          * function.h (struct function): Likewise.
13719          * fwprop.cc (should_replace_address): Likewise.
13720          * gcc-main.cc: Likewise.
13721          * gcc-rich-location.h (class gcc_rich_location): Likewise.
13722          * gcc-symtab.h: Likewise.
13723          * gcc.cc (MIN_FATAL_STATUS): Likewise.
13724          (driver_handle_option): Likewise.
13725          (quote_spec_arg): Likewise.
13726          (driver::finalize): Likewise.
13727          * gcc.h (set_input): Likewise.
13728          * gcov-dump.cc: Likewise.
13729          * gcov.cc (solve_flow_graph): Likewise.
13730          * gcse-common.cc: Likewise.
13731          * gcse.cc (make_pass_rtl_hoist): Likewise.
13732          * genattr-common.cc: Likewise.
13733          * genattrtab.cc (min_fn): Likewise.
13734          (write_const_num_delay_slots): Likewise.
13735          * genautomata.cc: Likewise.
13736          * genconditions.cc (write_one_condition): Likewise.
13737          * genconstants.cc: Likewise.
13738          * genemit.cc (gen_exp): Likewise.
13739          * generic-match-head.cc: Likewise.
13740          * genextract.cc: Likewise.
13741          * gengenrtl.cc (always_void_p): Likewise.
13742          * gengtype-parse.cc (gtymarker_opt): Likewise.
13743          * gengtype-state.cc (state_writer::state_writer): Likewise.
13744          (write_state_trailer): Likewise.
13745          (equals_type_number): Likewise.
13746          (read_state): Likewise.
13747          * gengtype.cc (open_base_files): Likewise.
13748          (struct file_rule_st): Likewise.
13749          (header_dot_h_frul): Likewise.
13750          * gengtype.h: Likewise.
13751          * genmatch.cc (main): Likewise.
13752          * genmddeps.cc: Likewise.
13753          * genmodes.cc (emit_mode_inner): Likewise.
13754          (emit_mode_unit_size): Likewise.
13755          * genpeep.cc (gen_peephole): Likewise.
13756          * genpreds.cc (write_tm_preds_h): Likewise.
13757          * genrecog.cc (validate_pattern): Likewise.
13758          (write_header): Likewise.
13759          (main): Likewise.
13760          * gensupport.cc (change_subst_attribute): Likewise.
13761          (traverse_c_tests): Likewise.
13762          (add_predicate): Likewise.
13763          (init_predicate_table): Likewise.
13764          * gensupport.h (struct optab_pattern): Likewise.
13765          (get_num_insn_codes): Likewise.
13766          (maybe_eval_c_test): Likewise.
13767          (struct pred_data): Likewise.
13768          * ggc-internal.h: Likewise.
13769          * gimple-fold.cc (maybe_fold_reference): Likewise.
13770          (get_range_strlen_tree): Likewise.
13771          * gimple-fold.h (gimple_stmt_integer_valued_real_p): Likewise.
13772          * gimple-low.cc: Likewise.
13773          * gimple-match-head.cc (directly_supported_p): Likewise.
13774          * gimple-pretty-print.h: Likewise.
13775          * gimple-ssa-sprintf.cc (format_percent): Likewise.
13776          (adjust_range_for_overflow): Likewise.
13777          * gimple-streamer.h: Likewise.
13778          * gimple.h (struct GTY): Likewise.
13779          (is_gimple_resx): Likewise.
13780          * gimplify.cc (gimplify_expr): Likewise.
13781          (gimplify_init_constructor): Likewise.
13782          (omp_construct_selector_matches): Likewise.
13783          (gimplify_omp_target_update): Likewise.
13784          (gimplify_omp_ordered): Likewise.
13785          (gimplify_va_arg_expr): Likewise.
13786          * graphite-isl-ast-to-gimple.cc (should_copy_to_new_region): Likewise.
13787          * haifa-sched.cc (increase_insn_priority): Likewise.
13788          (try_ready): Likewise.
13789          (sched_create_recovery_edges): Likewise.
13790          * ifcvt.cc (find_if_case_1): Likewise.
13791          (find_if_case_2): Likewise.
13792          * inchash.h: Likewise.
13793          * incpath.cc (add_env_var_paths): Likewise.
13794          * input.cc (dump_location_info): Likewise.
13795          (assert_loceq): Likewise.
13796          (test_lexer_string_locations_concatenation_1): Likewise.
13797          (test_lexer_string_locations_concatenation_2): Likewise.
13798          (test_lexer_string_locations_concatenation_3): Likewise.
13799          * input.h (BUILTINS_LOCATION): Likewise.
13800          (class string_concat_db): Likewise.
13801          * internal-fn.cc (expand_MUL_OVERFLOW): Likewise.
13802          (expand_LOOP_VECTORIZED): Likewise.
13803          * ipa-cp.cc (make_pass_ipa_cp): Likewise.
13804          * ipa-fnsummary.cc (remap_freqcounting_preds_after_dup): Likewise.
13805          (ipa_fn_summary_t::duplicate): Likewise.
13806          (make_pass_ipa_fn_summary): Likewise.
13807          * ipa-fnsummary.h (enum ipa_hints_vals): Likewise.
13808          * ipa-free-lang-data.cc (fld_simplified_type): Likewise.
13809          (free_lang_data_in_decl): Likewise.
13810          * ipa-inline.cc (compute_inlined_call_time): Likewise.
13811          (inline_always_inline_functions): Likewise.
13812          * ipa-inline.h (free_growth_caches): Likewise.
13813          (inline_account_function_p): Likewise.
13814          * ipa-modref.cc (modref_access_analysis::analyze_stmt): Likewise.
13815          (modref_eaf_analysis::analyze_ssa_name): Likewise.
13816          * ipa-param-manipulation.cc (ipa_param_body_adjustments::mark_dead_statements): Likewise.
13817          (ipa_param_body_adjustments::remap_with_debug_expressions): Likewise.
13818          * ipa-prop.cc (ipa_set_node_agg_value_chain): Likewise.
13819          * ipa-prop.h (IPA_UNDESCRIBED_USE): Likewise.
13820          (unadjusted_ptr_and_unit_offset): Likewise.
13821          * ipa-reference.cc (make_pass_ipa_reference): Likewise.
13822          * ipa-reference.h (GCC_IPA_REFERENCE_H): Likewise.
13823          * ipa-split.cc (consider_split): Likewise.
13824          * ipa-sra.cc (isra_read_node_info): Likewise.
13825          * ipa-utils.h (struct ipa_dfs_info): Likewise.
13826          (recursive_call_p): Likewise.
13827          (ipa_make_function_pure): Likewise.
13828          * ira-build.cc (ira_create_allocno): Likewise.
13829          (ira_flattening): Likewise.
13830          * ira-color.cc (do_coloring): Likewise.
13831          (update_curr_costs): Likewise.
13832          * ira-conflicts.cc (process_regs_for_copy): Likewise.
13833          * ira-int.h (struct ira_emit_data): Likewise.
13834          (ira_prohibited_mode_move_regs): Likewise.
13835          (ira_get_dup_out_num): Likewise.
13836          (ira_destroy): Likewise.
13837          (ira_tune_allocno_costs): Likewise.
13838          (ira_implicitly_set_insn_hard_regs): Likewise.
13839          (ira_build_conflicts): Likewise.
13840          (ira_color): Likewise.
13841          * ira-lives.cc (process_bb_node_lives): Likewise.
13842          * ira.cc (class ira_spilled_reg_stack_slot): Likewise.
13843          (setup_uniform_class_p): Likewise.
13844          (def_dominates_uses): Likewise.
13845          * ira.h (ira_nullify_asm_goto): Likewise.
13846          * langhooks.cc (lhd_post_options): Likewise.
13847          * langhooks.h (class substring_loc): Likewise.
13848          (struct lang_hooks_for_tree_inlining): Likewise.
13849          (struct lang_hooks_for_types): Likewise.
13850          (struct lang_hooks): Likewise.
13851          * libfuncs.h (synchronize_libfunc): Likewise.
13852          * loop-doloop.cc (doloop_condition_get): Likewise.
13853          * loop-init.cc (fix_loop_structure): Likewise.
13854          * loop-invariant.cc: Likewise.
13855          * lower-subreg.h: Likewise.
13856          * lra-constraints.cc (curr_insn_transform): Likewise.
13857          * lra-int.h (struct lra_insn_reg): Likewise.
13858          (lra_undo_inheritance): Likewise.
13859          (lra_setup_reload_pseudo_preferenced_hard_reg): Likewise.
13860          (lra_split_hard_reg_for): Likewise.
13861          (lra_coalesce): Likewise.
13862          (lra_final_code_change): Likewise.
13863          * lra-spills.cc (lra_final_code_change): Likewise.
13864          * lra.cc (lra_process_new_insns): Likewise.
13865          * lto-compress.h (struct lto_compression_stream): Likewise.
13866          * lto-streamer-out.cc (DFS::DFS_write_tree_body): Likewise.
13867          (write_symbol): Likewise.
13868          * lto-streamer.h (enum LTO_tags): Likewise.
13869          (lto_value_range_error): Likewise.
13870          (lto_append_block): Likewise.
13871          (lto_streamer_hooks_init): Likewise.
13872          (stream_read_tree_ref): Likewise.
13873          (lto_prepare_function_for_streaming): Likewise.
13874          (select_what_to_stream): Likewise.
13875          (omp_lto_input_declare_variant_alt): Likewise.
13876          (cl_optimization_stream_in): Likewise.
13877          * lto-wrapper.cc (append_compiler_options): Likewise.
13878          * machmode.def: Likewise.
13879          * machmode.h (struct int_n_data_t): Likewise.
13880          * main.cc (main): Likewise.
13881          * match.pd: Likewise.
13882          * omp-builtins.def (BUILT_IN_GOMP_CRITICAL_NAME_END): Likewise.
13883          (BUILT_IN_GOMP_LOOP_ULL_ORDERED_RUNTIME_NEXT): Likewise.
13884          * omp-expand.cc (expand_omp_atomic_fetch_op): Likewise.
13885          (make_pass_expand_omp_ssa): Likewise.
13886          * omp-low.cc (struct omp_context): Likewise.
13887          (struct omp_taskcopy_context): Likewise.
13888          (lower_omp): Likewise.
13889          * omp-oacc-neuter-broadcast.cc (omp_sese_active_worker_call): Likewise.
13890          (mask_name): Likewise.
13891          (omp_sese_dump_pars): Likewise.
13892          (worker_single_simple): Likewise.
13893          * omp-offload.cc (omp_finish_file): Likewise.
13894          (execute_oacc_loop_designation): Likewise.
13895          * optabs-query.cc (lshift_cheap_p): Likewise.
13896          * optc-gen.awk: Likewise.
13897          * optc-save-gen.awk: Likewise.
13898          * optinfo-emit-json.cc (optrecord_json_writer::optrecord_json_writer): Likewise.
13899          * opts-common.cc: Likewise.
13900          * output.h (app_enable): Likewise.
13901          (output_operand_lossage): Likewise.
13902          (insn_current_reference_address): Likewise.
13903          (get_insn_template): Likewise.
13904          (output_quoted_string): Likewise.
13905          * pass_manager.h (struct register_pass_info): Likewise.
13906          * plugin.cc: Likewise.
13907          * plugin.def (PLUGIN_ANALYZER_INIT): Likewise.
13908          * plugin.h (invoke_plugin_callbacks): Likewise.
13909          * pointer-query.cc (handle_mem_ref): Likewise.
13910          * postreload-gcse.cc (alloc_mem): Likewise.
13911          * predict.h (enum prediction): Likewise.
13912          (add_reg_br_prob_note): Likewise.
13913          * prefix.h: Likewise.
13914          * profile.h (get_working_sets): Likewise.
13915          * read-md.cc: Likewise.
13916          * read-md.h (struct mapping): Likewise.
13917          (class md_reader): Likewise.
13918          (class noop_reader): Likewise.
13919          * read-rtl-function.cc (function_reader::create_function): Likewise.
13920          (function_reader::extra_parsing_for_operand_code_0): Likewise.
13921          * read-rtl.cc (initialize_iterators): Likewise.
13922          * real.cc: Likewise.
13923          * real.h (struct real_value): Likewise.
13924          (format_helper::format_helper): Likewise.
13925          (real_hash): Likewise.
13926          (real_can_shorten_arithmetic): Likewise.
13927          * recog.cc (struct target_recog): Likewise.
13928          (offsettable_nonstrict_memref_p): Likewise.
13929          (constrain_operands): Likewise.
13930          * recog.h (MAX_RECOG_ALTERNATIVES): Likewise.
13931          (which_op_alt): Likewise.
13932          (struct insn_gen_fn): Likewise.
13933          * reg-notes.def (REG_NOTE): Likewise.
13934          * reg-stack.cc: Likewise.
13935          * regs.h (reg_is_parm_p): Likewise.
13936          * regset.h: Likewise.
13937          * reload.cc (push_reload): Likewise.
13938          (find_reloads): Likewise.
13939          (find_reloads_address_1): Likewise.
13940          (find_replacement): Likewise.
13941          (refers_to_regno_for_reload_p): Likewise.
13942          (refers_to_mem_for_reload_p): Likewise.
13943          * reload.h (push_reload): Likewise.
13944          (deallocate_reload_reg): Likewise.
13945          * reload1.cc (emit_input_reload_insns): Likewise.
13946          * reorg.cc (relax_delay_slots): Likewise.
13947          * rtl.def (UNKNOWN): Likewise.
13948          (SEQUENCE): Likewise.
13949          (BARRIER): Likewise.
13950          (ASM_OPERANDS): Likewise.
13951          (EQ_ATTR_ALT): Likewise.
13952          * rtl.h (struct GTY): Likewise.
13953          (LABEL_NAME): Likewise.
13954          (LABEL_ALT_ENTRY_P): Likewise.
13955          (SUBREG_BYTE): Likewise.
13956          (get_stack_check_protect): Likewise.
13957          (dump_rtx_statistics): Likewise.
13958          (unwrap_const_vec_duplicate): Likewise.
13959          (subreg_promoted_mode): Likewise.
13960          (gen_lowpart_common): Likewise.
13961          (operand_subword): Likewise.
13962          (immed_wide_int_const): Likewise.
13963          (decide_function_section): Likewise.
13964          (active_insn_p): Likewise.
13965          (delete_related_insns): Likewise.
13966          (try_split): Likewise.
13967          (val_signbit_known_clear_p): Likewise.
13968          (simplifiable_subregs): Likewise.
13969          (set_insn_deleted): Likewise.
13970          (subreg_get_info): Likewise.
13971          (remove_free_EXPR_LIST_node): Likewise.
13972          (finish_subregs_of_mode): Likewise.
13973          (get_mem_attrs): Likewise.
13974          (lookup_constant_def): Likewise.
13975          (rtx_to_tree_code): Likewise.
13976          (hash_rtx): Likewise.
13977          (condjump_in_parallel_p): Likewise.
13978          (validate_subreg): Likewise.
13979          (make_compound_operation): Likewise.
13980          (schedule_ebbs): Likewise.
13981          (print_inline_rtx): Likewise.
13982          (fixup_args_size_notes): Likewise.
13983          (expand_dec): Likewise.
13984          (prepare_copy_insn): Likewise.
13985          (mark_elimination): Likewise.
13986          (valid_mode_changes_for_regno): Likewise.
13987          (make_debug_expr_from_rtl): Likewise.
13988          (delete_vta_debug_insns): Likewise.
13989          (simplify_using_condition): Likewise.
13990          (set_insn_locations): Likewise.
13991          (fatal_insn_not_found): Likewise.
13992          (word_register_operation_p): Likewise.
13993          * rtlanal.cc (get_call_fndecl): Likewise.
13994          (side_effects_p): Likewise.
13995          (subreg_nregs): Likewise.
13996          (rtx_cost): Likewise.
13997          (canonicalize_condition): Likewise.
13998          * rtlanal.h (rtx_properties::try_to_add_note): Likewise.
13999          * run-rtl-passes.cc (run_rtl_passes): Likewise.
14000          * sanitizer.def (BUILT_IN_ASAN_VERSION_MISMATCH_CHECK): Likewise.
14001          * sched-deps.cc (add_dependence_1): Likewise.
14002          * sched-ebb.cc (begin_move_insn): Likewise.
14003          (add_deps_for_risky_insns): Likewise.
14004          (advance_target_bb): Likewise.
14005          * sched-int.h (reemit_notes): Likewise.
14006          (struct _haifa_insn_data): Likewise.
14007          (HID): Likewise.
14008          (DEP_CANCELLED): Likewise.
14009          (debug_ds): Likewise.
14010          (number_in_ready): Likewise.
14011          (schedule_ebbs_finish): Likewise.
14012          (find_modifiable_mems): Likewise.
14013          * sched-rgn.cc (debug_rgn_dependencies): Likewise.
14014          * sel-sched-dump.cc (dump_lv_set): Likewise.
14015          * sel-sched-dump.h: Likewise.
14016          * sel-sched-ir.cc (sel_insn_rtx_cost): Likewise.
14017          (setup_id_reg_sets): Likewise.
14018          (has_dependence_p): Likewise.
14019          (sel_num_cfg_preds_gt_1): Likewise.
14020          (bb_ends_ebb_p): Likewise.
14021          * sel-sched-ir.h (struct _list_node): Likewise.
14022          (struct idata_def): Likewise.
14023          (bb_next_bb): Likewise.
14024          * sel-sched.cc (vinsn_writes_one_of_regs_p): Likewise.
14025          (choose_best_pseudo_reg): Likewise.
14026          (verify_target_availability): Likewise.
14027          (can_speculate_dep_p): Likewise.
14028          (sel_rank_for_schedule): Likewise.
14029          * selftest-run-tests.cc (selftest::run_tests): Likewise.
14030          * selftest.h (class auto_fix_quotes): Likewise.
14031          * shrink-wrap.cc (handle_simple_exit): Likewise.
14032          * shrink-wrap.h: Likewise.
14033          * simplify-rtx.cc (simplify_context::simplify_associative_operation): Likewise.
14034          (simplify_context::simplify_gen_vec_select): Likewise.
14035          * spellcheck-tree.h: Likewise.
14036          * spellcheck.h: Likewise.
14037          * statistics.h (struct function): Likewise.
14038          * stmt.cc (conditional_probability): Likewise.
14039          * stmt.h: Likewise.
14040          * stor-layout.h: Likewise.
14041          * streamer-hooks.h: Likewise.
14042          * stringpool.h: Likewise.
14043          * symtab.cc (symbol_table::change_decl_assembler_name): Likewise.
14044          * target.def (HOOK_VECTOR_END): Likewise.
14045          (type.): Likewise.
14046          * target.h (union cumulative_args_t): Likewise.
14047          (by_pieces_ninsns): Likewise.
14048          (class predefined_function_abi): Likewise.
14049          * targhooks.cc (default_translate_mode_attribute): Likewise.
14050          * timevar.def: Likewise.
14051          * timevar.h (class timer): Likewise.
14052          * toplev.h (enable_rtl_dump_file): Likewise.
14053          * trans-mem.cc (collect_bb2reg): Likewise.
14054          * tree-call-cdce.cc (gen_conditions_for_pow): Likewise.
14055          * tree-cfg.cc (remove_bb): Likewise.
14056          (verify_gimple_debug): Likewise.
14057          (remove_edge_and_dominated_blocks): Likewise.
14058          (push_fndecl): Likewise.
14059          * tree-cfgcleanup.h (GCC_TREE_CFGCLEANUP_H): Likewise.
14060          * tree-complex.cc (expand_complex_multiplication): Likewise.
14061          (expand_complex_div_straight): Likewise.
14062          * tree-core.h (enum tree_index): Likewise.
14063          (enum operand_equal_flag): Likewise.
14064          * tree-eh.cc (honor_protect_cleanup_actions): Likewise.
14065          * tree-if-conv.cc (if_convertible_gimple_assign_stmt_p): Likewise.
14066          * tree-inline.cc (initialize_inlined_parameters): Likewise.
14067          * tree-inline.h (force_value_to_type): Likewise.
14068          * tree-nested.cc (get_chain_decl): Likewise.
14069          (walk_all_functions): Likewise.
14070          * tree-object-size.h: Likewise.
14071          * tree-outof-ssa.cc: Likewise.
14072          * tree-parloops.cc (create_parallel_loop): Likewise.
14073          * tree-pretty-print.cc (print_generic_expr_to_str): Likewise.
14074          (dump_generic_node): Likewise.
14075          * tree-profile.cc (tree_profiling): Likewise.
14076          * tree-sra.cc (maybe_add_sra_candidate): Likewise.
14077          * tree-ssa-address.cc: Likewise.
14078          * tree-ssa-alias.cc: Likewise.
14079          * tree-ssa-alias.h (ao_ref::max_size_known_p): Likewise.
14080          (dump_alias_stats): Likewise.
14081          * tree-ssa-ccp.cc: Likewise.
14082          * tree-ssa-coalesce.h: Likewise.
14083          * tree-ssa-live.cc (remove_unused_scope_block_p): Likewise.
14084          * tree-ssa-loop-manip.cc (copy_phi_node_args): Likewise.
14085          * tree-ssa-loop-unswitch.cc: Likewise.
14086          * tree-ssa-math-opts.cc: Likewise.
14087          * tree-ssa-operands.cc (class operands_scanner): Likewise.
14088          * tree-ssa-pre.cc: Likewise.
14089          * tree-ssa-reassoc.cc (optimize_ops_list): Likewise.
14090          (debug_range_entry): Likewise.
14091          * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Likewise.
14092          * tree-ssa-sccvn.h (TREE_SSA_SCCVN_H): Likewise.
14093          * tree-ssa-scopedtables.cc (add_expr_commutative): Likewise.
14094          (equal_mem_array_ref_p): Likewise.
14095          * tree-ssa-strlen.cc (is_strlen_related_p): Likewise.
14096          * tree-ssa-strlen.h (get_range_strlen_dynamic): Likewise.
14097          * tree-ssa-tail-merge.cc (stmt_local_def): Likewise.
14098          * tree-ssa-ter.h: Likewise.
14099          * tree-ssa-threadupdate.h (enum bb_dom_status): Likewise.
14100          * tree-streamer-in.cc (lto_input_ts_block_tree_pointers): Likewise.
14101          * tree-streamer-out.cc (pack_ts_block_value_fields): Likewise.
14102          (write_ts_block_tree_pointers): Likewise.
14103          * tree-streamer.h (struct streamer_tree_cache_d): Likewise.
14104          (streamer_read_tree_bitfields): Likewise.
14105          (streamer_write_integer_cst): Likewise.
14106          * tree-vect-patterns.cc (apply_binop_and_append_stmt): Likewise.
14107          (vect_synth_mult_by_constant): Likewise.
14108          * tree-vect-stmts.cc (vectorizable_operation): Likewise.
14109          * tree-vectorizer.cc: Likewise.
14110          * tree-vectorizer.h (class auto_purge_vect_location): Likewise.
14111          (vect_update_inits_of_drs): Likewise.
14112          (vect_get_mask_type_for_stmt): Likewise.
14113          (vect_rgroup_iv_might_wrap_p): Likewise.
14114          (cse_and_gimplify_to_preheader): Likewise.
14115          (vect_free_slp_tree): Likewise.
14116          (vect_pattern_recog): Likewise.
14117          (vect_stmt_dominates_stmt_p): Likewise.
14118          * tree.cc (initialize_tree_contains_struct): Likewise.
14119          (need_assembler_name_p): Likewise.
14120          (type_with_interoperable_signedness): Likewise.
14121          * tree.def (SWITCH_EXPR): Likewise.
14122          * tree.h (TYPE_SYMTAB_ADDRESS): Likewise.
14123          (poly_int_tree_p): Likewise.
14124          (inlined_function_outer_scope_p): Likewise.
14125          (tree_code_for_canonical_type_merging): Likewise.
14126          * value-prof.cc: Likewise.
14127          * value-prof.h (get_nth_most_common_value): Likewise.
14128          (find_func_by_profile_id): Likewise.
14129          * value-range.cc (vrp_operand_equal_p): Likewise.
14130          * value-range.h: Likewise.
14131          * var-tracking.cc: Likewise.
14132          * varasm.cc (default_function_section): Likewise.
14133          (function_section_1): Likewise.
14134          (assemble_variable): Likewise.
14135          (handle_vtv_comdat_section): Likewise.
14136          * vec.h (struct vec_prefix): Likewise.
14137          * vmsdbgout.cc (full_name): Likewise.
14138          * vtable-verify.cc: Likewise.
14139          * vtable-verify.h (struct vtv_graph_node): Likewise.
14140          * xcoffout.cc: Likewise.
14141          * xcoffout.h (DEBUG_SYMS_TEXT): Likewise.
14142
141432022-01-17  Martin Liska  <mliska@suse.cz>
14144
14145          * adjust-alignment.c: Moved to...
14146          * adjust-alignment.cc: ...here.
14147          * alias.c: Moved to...
14148          * alias.cc: ...here.
14149          * alloc-pool.c: Moved to...
14150          * alloc-pool.cc: ...here.
14151          * asan.c: Moved to...
14152          * asan.cc: ...here.
14153          * attribs.c: Moved to...
14154          * attribs.cc: ...here.
14155          * auto-inc-dec.c: Moved to...
14156          * auto-inc-dec.cc: ...here.
14157          * auto-profile.c: Moved to...
14158          * auto-profile.cc: ...here.
14159          * bb-reorder.c: Moved to...
14160          * bb-reorder.cc: ...here.
14161          * bitmap.c: Moved to...
14162          * bitmap.cc: ...here.
14163          * btfout.c: Moved to...
14164          * btfout.cc: ...here.
14165          * builtins.c: Moved to...
14166          * builtins.cc: ...here.
14167          * caller-save.c: Moved to...
14168          * caller-save.cc: ...here.
14169          * calls.c: Moved to...
14170          * calls.cc: ...here.
14171          * ccmp.c: Moved to...
14172          * ccmp.cc: ...here.
14173          * cfg.c: Moved to...
14174          * cfg.cc: ...here.
14175          * cfganal.c: Moved to...
14176          * cfganal.cc: ...here.
14177          * cfgbuild.c: Moved to...
14178          * cfgbuild.cc: ...here.
14179          * cfgcleanup.c: Moved to...
14180          * cfgcleanup.cc: ...here.
14181          * cfgexpand.c: Moved to...
14182          * cfgexpand.cc: ...here.
14183          * cfghooks.c: Moved to...
14184          * cfghooks.cc: ...here.
14185          * cfgloop.c: Moved to...
14186          * cfgloop.cc: ...here.
14187          * cfgloopanal.c: Moved to...
14188          * cfgloopanal.cc: ...here.
14189          * cfgloopmanip.c: Moved to...
14190          * cfgloopmanip.cc: ...here.
14191          * cfgrtl.c: Moved to...
14192          * cfgrtl.cc: ...here.
14193          * cgraph.c: Moved to...
14194          * cgraph.cc: ...here.
14195          * cgraphbuild.c: Moved to...
14196          * cgraphbuild.cc: ...here.
14197          * cgraphclones.c: Moved to...
14198          * cgraphclones.cc: ...here.
14199          * cgraphunit.c: Moved to...
14200          * cgraphunit.cc: ...here.
14201          * collect-utils.c: Moved to...
14202          * collect-utils.cc: ...here.
14203          * collect2-aix.c: Moved to...
14204          * collect2-aix.cc: ...here.
14205          * collect2.c: Moved to...
14206          * collect2.cc: ...here.
14207          * combine-stack-adj.c: Moved to...
14208          * combine-stack-adj.cc: ...here.
14209          * combine.c: Moved to...
14210          * combine.cc: ...here.
14211          * common/common-targhooks.c: Moved to...
14212          * common/common-targhooks.cc: ...here.
14213          * common/config/aarch64/aarch64-common.c: Moved to...
14214          * common/config/aarch64/aarch64-common.cc: ...here.
14215          * common/config/alpha/alpha-common.c: Moved to...
14216          * common/config/alpha/alpha-common.cc: ...here.
14217          * common/config/arc/arc-common.c: Moved to...
14218          * common/config/arc/arc-common.cc: ...here.
14219          * common/config/arm/arm-common.c: Moved to...
14220          * common/config/arm/arm-common.cc: ...here.
14221          * common/config/avr/avr-common.c: Moved to...
14222          * common/config/avr/avr-common.cc: ...here.
14223          * common/config/bfin/bfin-common.c: Moved to...
14224          * common/config/bfin/bfin-common.cc: ...here.
14225          * common/config/bpf/bpf-common.c: Moved to...
14226          * common/config/bpf/bpf-common.cc: ...here.
14227          * common/config/c6x/c6x-common.c: Moved to...
14228          * common/config/c6x/c6x-common.cc: ...here.
14229          * common/config/cr16/cr16-common.c: Moved to...
14230          * common/config/cr16/cr16-common.cc: ...here.
14231          * common/config/cris/cris-common.c: Moved to...
14232          * common/config/cris/cris-common.cc: ...here.
14233          * common/config/csky/csky-common.c: Moved to...
14234          * common/config/csky/csky-common.cc: ...here.
14235          * common/config/default-common.c: Moved to...
14236          * common/config/default-common.cc: ...here.
14237          * common/config/epiphany/epiphany-common.c: Moved to...
14238          * common/config/epiphany/epiphany-common.cc: ...here.
14239          * common/config/fr30/fr30-common.c: Moved to...
14240          * common/config/fr30/fr30-common.cc: ...here.
14241          * common/config/frv/frv-common.c: Moved to...
14242          * common/config/frv/frv-common.cc: ...here.
14243          * common/config/gcn/gcn-common.c: Moved to...
14244          * common/config/gcn/gcn-common.cc: ...here.
14245          * common/config/h8300/h8300-common.c: Moved to...
14246          * common/config/h8300/h8300-common.cc: ...here.
14247          * common/config/i386/i386-common.c: Moved to...
14248          * common/config/i386/i386-common.cc: ...here.
14249          * common/config/ia64/ia64-common.c: Moved to...
14250          * common/config/ia64/ia64-common.cc: ...here.
14251          * common/config/iq2000/iq2000-common.c: Moved to...
14252          * common/config/iq2000/iq2000-common.cc: ...here.
14253          * common/config/lm32/lm32-common.c: Moved to...
14254          * common/config/lm32/lm32-common.cc: ...here.
14255          * common/config/m32r/m32r-common.c: Moved to...
14256          * common/config/m32r/m32r-common.cc: ...here.
14257          * common/config/m68k/m68k-common.c: Moved to...
14258          * common/config/m68k/m68k-common.cc: ...here.
14259          * common/config/mcore/mcore-common.c: Moved to...
14260          * common/config/mcore/mcore-common.cc: ...here.
14261          * common/config/microblaze/microblaze-common.c: Moved to...
14262          * common/config/microblaze/microblaze-common.cc: ...here.
14263          * common/config/mips/mips-common.c: Moved to...
14264          * common/config/mips/mips-common.cc: ...here.
14265          * common/config/mmix/mmix-common.c: Moved to...
14266          * common/config/mmix/mmix-common.cc: ...here.
14267          * common/config/mn10300/mn10300-common.c: Moved to...
14268          * common/config/mn10300/mn10300-common.cc: ...here.
14269          * common/config/msp430/msp430-common.c: Moved to...
14270          * common/config/msp430/msp430-common.cc: ...here.
14271          * common/config/nds32/nds32-common.c: Moved to...
14272          * common/config/nds32/nds32-common.cc: ...here.
14273          * common/config/nios2/nios2-common.c: Moved to...
14274          * common/config/nios2/nios2-common.cc: ...here.
14275          * common/config/nvptx/nvptx-common.c: Moved to...
14276          * common/config/nvptx/nvptx-common.cc: ...here.
14277          * common/config/or1k/or1k-common.c: Moved to...
14278          * common/config/or1k/or1k-common.cc: ...here.
14279          * common/config/pa/pa-common.c: Moved to...
14280          * common/config/pa/pa-common.cc: ...here.
14281          * common/config/pdp11/pdp11-common.c: Moved to...
14282          * common/config/pdp11/pdp11-common.cc: ...here.
14283          * common/config/pru/pru-common.c: Moved to...
14284          * common/config/pru/pru-common.cc: ...here.
14285          * common/config/riscv/riscv-common.c: Moved to...
14286          * common/config/riscv/riscv-common.cc: ...here.
14287          * common/config/rs6000/rs6000-common.c: Moved to...
14288          * common/config/rs6000/rs6000-common.cc: ...here.
14289          * common/config/rx/rx-common.c: Moved to...
14290          * common/config/rx/rx-common.cc: ...here.
14291          * common/config/s390/s390-common.c: Moved to...
14292          * common/config/s390/s390-common.cc: ...here.
14293          * common/config/sh/sh-common.c: Moved to...
14294          * common/config/sh/sh-common.cc: ...here.
14295          * common/config/sparc/sparc-common.c: Moved to...
14296          * common/config/sparc/sparc-common.cc: ...here.
14297          * common/config/tilegx/tilegx-common.c: Moved to...
14298          * common/config/tilegx/tilegx-common.cc: ...here.
14299          * common/config/tilepro/tilepro-common.c: Moved to...
14300          * common/config/tilepro/tilepro-common.cc: ...here.
14301          * common/config/v850/v850-common.c: Moved to...
14302          * common/config/v850/v850-common.cc: ...here.
14303          * common/config/vax/vax-common.c: Moved to...
14304          * common/config/vax/vax-common.cc: ...here.
14305          * common/config/visium/visium-common.c: Moved to...
14306          * common/config/visium/visium-common.cc: ...here.
14307          * common/config/xstormy16/xstormy16-common.c: Moved to...
14308          * common/config/xstormy16/xstormy16-common.cc: ...here.
14309          * common/config/xtensa/xtensa-common.c: Moved to...
14310          * common/config/xtensa/xtensa-common.cc: ...here.
14311          * compare-elim.c: Moved to...
14312          * compare-elim.cc: ...here.
14313          * config/aarch64/aarch64-bti-insert.c: Moved to...
14314          * config/aarch64/aarch64-bti-insert.cc: ...here.
14315          * config/aarch64/aarch64-builtins.c: Moved to...
14316          * config/aarch64/aarch64-builtins.cc: ...here.
14317          * config/aarch64/aarch64-c.c: Moved to...
14318          * config/aarch64/aarch64-c.cc: ...here.
14319          * config/aarch64/aarch64-d.c: Moved to...
14320          * config/aarch64/aarch64-d.cc: ...here.
14321          * config/aarch64/aarch64.c: Moved to...
14322          * config/aarch64/aarch64.cc: ...here.
14323          * config/aarch64/cortex-a57-fma-steering.c: Moved to...
14324          * config/aarch64/cortex-a57-fma-steering.cc: ...here.
14325          * config/aarch64/driver-aarch64.c: Moved to...
14326          * config/aarch64/driver-aarch64.cc: ...here.
14327          * config/aarch64/falkor-tag-collision-avoidance.c: Moved to...
14328          * config/aarch64/falkor-tag-collision-avoidance.cc: ...here.
14329          * config/aarch64/host-aarch64-darwin.c: Moved to...
14330          * config/aarch64/host-aarch64-darwin.cc: ...here.
14331          * config/alpha/alpha.c: Moved to...
14332          * config/alpha/alpha.cc: ...here.
14333          * config/alpha/driver-alpha.c: Moved to...
14334          * config/alpha/driver-alpha.cc: ...here.
14335          * config/arc/arc-c.c: Moved to...
14336          * config/arc/arc-c.cc: ...here.
14337          * config/arc/arc.c: Moved to...
14338          * config/arc/arc.cc: ...here.
14339          * config/arc/driver-arc.c: Moved to...
14340          * config/arc/driver-arc.cc: ...here.
14341          * config/arm/aarch-common.c: Moved to...
14342          * config/arm/aarch-common.cc: ...here.
14343          * config/arm/arm-builtins.c: Moved to...
14344          * config/arm/arm-builtins.cc: ...here.
14345          * config/arm/arm-c.c: Moved to...
14346          * config/arm/arm-c.cc: ...here.
14347          * config/arm/arm-d.c: Moved to...
14348          * config/arm/arm-d.cc: ...here.
14349          * config/arm/arm.c: Moved to...
14350          * config/arm/arm.cc: ...here.
14351          * config/arm/driver-arm.c: Moved to...
14352          * config/arm/driver-arm.cc: ...here.
14353          * config/avr/avr-c.c: Moved to...
14354          * config/avr/avr-c.cc: ...here.
14355          * config/avr/avr-devices.c: Moved to...
14356          * config/avr/avr-devices.cc: ...here.
14357          * config/avr/avr-log.c: Moved to...
14358          * config/avr/avr-log.cc: ...here.
14359          * config/avr/avr.c: Moved to...
14360          * config/avr/avr.cc: ...here.
14361          * config/avr/driver-avr.c: Moved to...
14362          * config/avr/driver-avr.cc: ...here.
14363          * config/avr/gen-avr-mmcu-specs.c: Moved to...
14364          * config/avr/gen-avr-mmcu-specs.cc: ...here.
14365          * config/avr/gen-avr-mmcu-texi.c: Moved to...
14366          * config/avr/gen-avr-mmcu-texi.cc: ...here.
14367          * config/bfin/bfin.c: Moved to...
14368          * config/bfin/bfin.cc: ...here.
14369          * config/bpf/bpf.c: Moved to...
14370          * config/bpf/bpf.cc: ...here.
14371          * config/bpf/coreout.c: Moved to...
14372          * config/bpf/coreout.cc: ...here.
14373          * config/c6x/c6x.c: Moved to...
14374          * config/c6x/c6x.cc: ...here.
14375          * config/cr16/cr16.c: Moved to...
14376          * config/cr16/cr16.cc: ...here.
14377          * config/cris/cris.c: Moved to...
14378          * config/cris/cris.cc: ...here.
14379          * config/csky/csky.c: Moved to...
14380          * config/csky/csky.cc: ...here.
14381          * config/darwin-c.c: Moved to...
14382          * config/darwin-c.cc: ...here.
14383          * config/darwin-d.c: Moved to...
14384          * config/darwin-d.cc: ...here.
14385          * config/darwin-driver.c: Moved to...
14386          * config/darwin-driver.cc: ...here.
14387          * config/darwin-f.c: Moved to...
14388          * config/darwin-f.cc: ...here.
14389          * config/darwin.c: Moved to...
14390          * config/darwin.cc: ...here.
14391          * config/default-c.c: Moved to...
14392          * config/default-c.cc: ...here.
14393          * config/default-d.c: Moved to...
14394          * config/default-d.cc: ...here.
14395          * config/dragonfly-d.c: Moved to...
14396          * config/dragonfly-d.cc: ...here.
14397          * config/epiphany/epiphany.c: Moved to...
14398          * config/epiphany/epiphany.cc: ...here.
14399          * config/epiphany/mode-switch-use.c: Moved to...
14400          * config/epiphany/mode-switch-use.cc: ...here.
14401          * config/epiphany/resolve-sw-modes.c: Moved to...
14402          * config/epiphany/resolve-sw-modes.cc: ...here.
14403          * config/fr30/fr30.c: Moved to...
14404          * config/fr30/fr30.cc: ...here.
14405          * config/freebsd-d.c: Moved to...
14406          * config/freebsd-d.cc: ...here.
14407          * config/frv/frv.c: Moved to...
14408          * config/frv/frv.cc: ...here.
14409          * config/ft32/ft32.c: Moved to...
14410          * config/ft32/ft32.cc: ...here.
14411          * config/gcn/driver-gcn.c: Moved to...
14412          * config/gcn/driver-gcn.cc: ...here.
14413          * config/gcn/gcn-run.c: Moved to...
14414          * config/gcn/gcn-run.cc: ...here.
14415          * config/gcn/gcn-tree.c: Moved to...
14416          * config/gcn/gcn-tree.cc: ...here.
14417          * config/gcn/gcn.c: Moved to...
14418          * config/gcn/gcn.cc: ...here.
14419          * config/gcn/mkoffload.c: Moved to...
14420          * config/gcn/mkoffload.cc: ...here.
14421          * config/glibc-c.c: Moved to...
14422          * config/glibc-c.cc: ...here.
14423          * config/glibc-d.c: Moved to...
14424          * config/glibc-d.cc: ...here.
14425          * config/h8300/h8300.c: Moved to...
14426          * config/h8300/h8300.cc: ...here.
14427          * config/host-darwin.c: Moved to...
14428          * config/host-darwin.cc: ...here.
14429          * config/host-hpux.c: Moved to...
14430          * config/host-hpux.cc: ...here.
14431          * config/host-linux.c: Moved to...
14432          * config/host-linux.cc: ...here.
14433          * config/host-netbsd.c: Moved to...
14434          * config/host-netbsd.cc: ...here.
14435          * config/host-openbsd.c: Moved to...
14436          * config/host-openbsd.cc: ...here.
14437          * config/host-solaris.c: Moved to...
14438          * config/host-solaris.cc: ...here.
14439          * config/i386/djgpp.c: Moved to...
14440          * config/i386/djgpp.cc: ...here.
14441          * config/i386/driver-i386.c: Moved to...
14442          * config/i386/driver-i386.cc: ...here.
14443          * config/i386/driver-mingw32.c: Moved to...
14444          * config/i386/driver-mingw32.cc: ...here.
14445          * config/i386/gnu-property.c: Moved to...
14446          * config/i386/gnu-property.cc: ...here.
14447          * config/i386/host-cygwin.c: Moved to...
14448          * config/i386/host-cygwin.cc: ...here.
14449          * config/i386/host-i386-darwin.c: Moved to...
14450          * config/i386/host-i386-darwin.cc: ...here.
14451          * config/i386/host-mingw32.c: Moved to...
14452          * config/i386/host-mingw32.cc: ...here.
14453          * config/i386/i386-builtins.c: Moved to...
14454          * config/i386/i386-builtins.cc: ...here.
14455          * config/i386/i386-c.c: Moved to...
14456          * config/i386/i386-c.cc: ...here.
14457          * config/i386/i386-d.c: Moved to...
14458          * config/i386/i386-d.cc: ...here.
14459          * config/i386/i386-expand.c: Moved to...
14460          * config/i386/i386-expand.cc: ...here.
14461          * config/i386/i386-features.c: Moved to...
14462          * config/i386/i386-features.cc: ...here.
14463          * config/i386/i386-options.c: Moved to...
14464          * config/i386/i386-options.cc: ...here.
14465          * config/i386/i386.c: Moved to...
14466          * config/i386/i386.cc: ...here.
14467          * config/i386/intelmic-mkoffload.c: Moved to...
14468          * config/i386/intelmic-mkoffload.cc: ...here.
14469          * config/i386/msformat-c.c: Moved to...
14470          * config/i386/msformat-c.cc: ...here.
14471          * config/i386/winnt-cxx.c: Moved to...
14472          * config/i386/winnt-cxx.cc: ...here.
14473          * config/i386/winnt-d.c: Moved to...
14474          * config/i386/winnt-d.cc: ...here.
14475          * config/i386/winnt-stubs.c: Moved to...
14476          * config/i386/winnt-stubs.cc: ...here.
14477          * config/i386/winnt.c: Moved to...
14478          * config/i386/winnt.cc: ...here.
14479          * config/i386/x86-tune-sched-atom.c: Moved to...
14480          * config/i386/x86-tune-sched-atom.cc: ...here.
14481          * config/i386/x86-tune-sched-bd.c: Moved to...
14482          * config/i386/x86-tune-sched-bd.cc: ...here.
14483          * config/i386/x86-tune-sched-core.c: Moved to...
14484          * config/i386/x86-tune-sched-core.cc: ...here.
14485          * config/i386/x86-tune-sched.c: Moved to...
14486          * config/i386/x86-tune-sched.cc: ...here.
14487          * config/ia64/ia64-c.c: Moved to...
14488          * config/ia64/ia64-c.cc: ...here.
14489          * config/ia64/ia64.c: Moved to...
14490          * config/ia64/ia64.cc: ...here.
14491          * config/iq2000/iq2000.c: Moved to...
14492          * config/iq2000/iq2000.cc: ...here.
14493          * config/linux.c: Moved to...
14494          * config/linux.cc: ...here.
14495          * config/lm32/lm32.c: Moved to...
14496          * config/lm32/lm32.cc: ...here.
14497          * config/m32c/m32c-pragma.c: Moved to...
14498          * config/m32c/m32c-pragma.cc: ...here.
14499          * config/m32c/m32c.c: Moved to...
14500          * config/m32c/m32c.cc: ...here.
14501          * config/m32r/m32r.c: Moved to...
14502          * config/m32r/m32r.cc: ...here.
14503          * config/m68k/m68k.c: Moved to...
14504          * config/m68k/m68k.cc: ...here.
14505          * config/mcore/mcore.c: Moved to...
14506          * config/mcore/mcore.cc: ...here.
14507          * config/microblaze/microblaze-c.c: Moved to...
14508          * config/microblaze/microblaze-c.cc: ...here.
14509          * config/microblaze/microblaze.c: Moved to...
14510          * config/microblaze/microblaze.cc: ...here.
14511          * config/mips/driver-native.c: Moved to...
14512          * config/mips/driver-native.cc: ...here.
14513          * config/mips/frame-header-opt.c: Moved to...
14514          * config/mips/frame-header-opt.cc: ...here.
14515          * config/mips/mips-d.c: Moved to...
14516          * config/mips/mips-d.cc: ...here.
14517          * config/mips/mips.c: Moved to...
14518          * config/mips/mips.cc: ...here.
14519          * config/mmix/mmix.c: Moved to...
14520          * config/mmix/mmix.cc: ...here.
14521          * config/mn10300/mn10300.c: Moved to...
14522          * config/mn10300/mn10300.cc: ...here.
14523          * config/moxie/moxie.c: Moved to...
14524          * config/moxie/moxie.cc: ...here.
14525          * config/msp430/driver-msp430.c: Moved to...
14526          * config/msp430/driver-msp430.cc: ...here.
14527          * config/msp430/msp430-c.c: Moved to...
14528          * config/msp430/msp430-c.cc: ...here.
14529          * config/msp430/msp430-devices.c: Moved to...
14530          * config/msp430/msp430-devices.cc: ...here.
14531          * config/msp430/msp430.c: Moved to...
14532          * config/msp430/msp430.cc: ...here.
14533          * config/nds32/nds32-cost.c: Moved to...
14534          * config/nds32/nds32-cost.cc: ...here.
14535          * config/nds32/nds32-fp-as-gp.c: Moved to...
14536          * config/nds32/nds32-fp-as-gp.cc: ...here.
14537          * config/nds32/nds32-intrinsic.c: Moved to...
14538          * config/nds32/nds32-intrinsic.cc: ...here.
14539          * config/nds32/nds32-isr.c: Moved to...
14540          * config/nds32/nds32-isr.cc: ...here.
14541          * config/nds32/nds32-md-auxiliary.c: Moved to...
14542          * config/nds32/nds32-md-auxiliary.cc: ...here.
14543          * config/nds32/nds32-memory-manipulation.c: Moved to...
14544          * config/nds32/nds32-memory-manipulation.cc: ...here.
14545          * config/nds32/nds32-pipelines-auxiliary.c: Moved to...
14546          * config/nds32/nds32-pipelines-auxiliary.cc: ...here.
14547          * config/nds32/nds32-predicates.c: Moved to...
14548          * config/nds32/nds32-predicates.cc: ...here.
14549          * config/nds32/nds32-relax-opt.c: Moved to...
14550          * config/nds32/nds32-relax-opt.cc: ...here.
14551          * config/nds32/nds32-utils.c: Moved to...
14552          * config/nds32/nds32-utils.cc: ...here.
14553          * config/nds32/nds32.c: Moved to...
14554          * config/nds32/nds32.cc: ...here.
14555          * config/netbsd-d.c: Moved to...
14556          * config/netbsd-d.cc: ...here.
14557          * config/netbsd.c: Moved to...
14558          * config/netbsd.cc: ...here.
14559          * config/nios2/nios2.c: Moved to...
14560          * config/nios2/nios2.cc: ...here.
14561          * config/nvptx/mkoffload.c: Moved to...
14562          * config/nvptx/mkoffload.cc: ...here.
14563          * config/nvptx/nvptx-c.c: Moved to...
14564          * config/nvptx/nvptx-c.cc: ...here.
14565          * config/nvptx/nvptx.c: Moved to...
14566          * config/nvptx/nvptx.cc: ...here.
14567          * config/openbsd-d.c: Moved to...
14568          * config/openbsd-d.cc: ...here.
14569          * config/or1k/or1k.c: Moved to...
14570          * config/or1k/or1k.cc: ...here.
14571          * config/pa/pa-d.c: Moved to...
14572          * config/pa/pa-d.cc: ...here.
14573          * config/pa/pa.c: Moved to...
14574          * config/pa/pa.cc: ...here.
14575          * config/pdp11/pdp11.c: Moved to...
14576          * config/pdp11/pdp11.cc: ...here.
14577          * config/pru/pru-passes.c: Moved to...
14578          * config/pru/pru-passes.cc: ...here.
14579          * config/pru/pru-pragma.c: Moved to...
14580          * config/pru/pru-pragma.cc: ...here.
14581          * config/pru/pru.c: Moved to...
14582          * config/pru/pru.cc: ...here.
14583          * config/riscv/riscv-builtins.c: Moved to...
14584          * config/riscv/riscv-builtins.cc: ...here.
14585          * config/riscv/riscv-c.c: Moved to...
14586          * config/riscv/riscv-c.cc: ...here.
14587          * config/riscv/riscv-d.c: Moved to...
14588          * config/riscv/riscv-d.cc: ...here.
14589          * config/riscv/riscv-shorten-memrefs.c: Moved to...
14590          * config/riscv/riscv-shorten-memrefs.cc: ...here.
14591          * config/riscv/riscv-sr.c: Moved to...
14592          * config/riscv/riscv-sr.cc: ...here.
14593          * config/riscv/riscv.c: Moved to...
14594          * config/riscv/riscv.cc: ...here.
14595          * config/rl78/rl78-c.c: Moved to...
14596          * config/rl78/rl78-c.cc: ...here.
14597          * config/rl78/rl78.c: Moved to...
14598          * config/rl78/rl78.cc: ...here.
14599          * config/rs6000/driver-rs6000.c: Moved to...
14600          * config/rs6000/driver-rs6000.cc: ...here.
14601          * config/rs6000/host-darwin.c: Moved to...
14602          * config/rs6000/host-darwin.cc: ...here.
14603          * config/rs6000/host-ppc64-darwin.c: Moved to...
14604          * config/rs6000/host-ppc64-darwin.cc: ...here.
14605          * config/rs6000/rbtree.c: Moved to...
14606          * config/rs6000/rbtree.cc: ...here.
14607          * config/rs6000/rs6000-c.c: Moved to...
14608          * config/rs6000/rs6000-c.cc: ...here.
14609          * config/rs6000/rs6000-call.c: Moved to...
14610          * config/rs6000/rs6000-call.cc: ...here.
14611          * config/rs6000/rs6000-d.c: Moved to...
14612          * config/rs6000/rs6000-d.cc: ...here.
14613          * config/rs6000/rs6000-gen-builtins.c: Moved to...
14614          * config/rs6000/rs6000-gen-builtins.cc: ...here.
14615          * config/rs6000/rs6000-linux.c: Moved to...
14616          * config/rs6000/rs6000-linux.cc: ...here.
14617          * config/rs6000/rs6000-logue.c: Moved to...
14618          * config/rs6000/rs6000-logue.cc: ...here.
14619          * config/rs6000/rs6000-p8swap.c: Moved to...
14620          * config/rs6000/rs6000-p8swap.cc: ...here.
14621          * config/rs6000/rs6000-pcrel-opt.c: Moved to...
14622          * config/rs6000/rs6000-pcrel-opt.cc: ...here.
14623          * config/rs6000/rs6000-string.c: Moved to...
14624          * config/rs6000/rs6000-string.cc: ...here.
14625          * config/rs6000/rs6000.c: Moved to...
14626          * config/rs6000/rs6000.cc: ...here.
14627          * config/rx/rx.c: Moved to...
14628          * config/rx/rx.cc: ...here.
14629          * config/s390/driver-native.c: Moved to...
14630          * config/s390/driver-native.cc: ...here.
14631          * config/s390/s390-c.c: Moved to...
14632          * config/s390/s390-c.cc: ...here.
14633          * config/s390/s390-d.c: Moved to...
14634          * config/s390/s390-d.cc: ...here.
14635          * config/s390/s390.c: Moved to...
14636          * config/s390/s390.cc: ...here.
14637          * config/sh/divtab-sh4-300.c: Moved to...
14638          * config/sh/divtab-sh4-300.cc: ...here.
14639          * config/sh/divtab-sh4.c: Moved to...
14640          * config/sh/divtab-sh4.cc: ...here.
14641          * config/sh/divtab.c: Moved to...
14642          * config/sh/divtab.cc: ...here.
14643          * config/sh/sh-c.c: Moved to...
14644          * config/sh/sh-c.cc: ...here.
14645          * config/sh/sh.c: Moved to...
14646          * config/sh/sh.cc: ...here.
14647          * config/sol2-c.c: Moved to...
14648          * config/sol2-c.cc: ...here.
14649          * config/sol2-cxx.c: Moved to...
14650          * config/sol2-cxx.cc: ...here.
14651          * config/sol2-d.c: Moved to...
14652          * config/sol2-d.cc: ...here.
14653          * config/sol2-stubs.c: Moved to...
14654          * config/sol2-stubs.cc: ...here.
14655          * config/sol2.c: Moved to...
14656          * config/sol2.cc: ...here.
14657          * config/sparc/driver-sparc.c: Moved to...
14658          * config/sparc/driver-sparc.cc: ...here.
14659          * config/sparc/sparc-c.c: Moved to...
14660          * config/sparc/sparc-c.cc: ...here.
14661          * config/sparc/sparc-d.c: Moved to...
14662          * config/sparc/sparc-d.cc: ...here.
14663          * config/sparc/sparc.c: Moved to...
14664          * config/sparc/sparc.cc: ...here.
14665          * config/stormy16/stormy16.c: Moved to...
14666          * config/stormy16/stormy16.cc: ...here.
14667          * config/tilegx/mul-tables.c: Moved to...
14668          * config/tilegx/mul-tables.cc: ...here.
14669          * config/tilegx/tilegx-c.c: Moved to...
14670          * config/tilegx/tilegx-c.cc: ...here.
14671          * config/tilegx/tilegx.c: Moved to...
14672          * config/tilegx/tilegx.cc: ...here.
14673          * config/tilepro/mul-tables.c: Moved to...
14674          * config/tilepro/mul-tables.cc: ...here.
14675          * config/tilepro/tilepro-c.c: Moved to...
14676          * config/tilepro/tilepro-c.cc: ...here.
14677          * config/tilepro/tilepro.c: Moved to...
14678          * config/tilepro/tilepro.cc: ...here.
14679          * config/v850/v850-c.c: Moved to...
14680          * config/v850/v850-c.cc: ...here.
14681          * config/v850/v850.c: Moved to...
14682          * config/v850/v850.cc: ...here.
14683          * config/vax/vax.c: Moved to...
14684          * config/vax/vax.cc: ...here.
14685          * config/visium/visium.c: Moved to...
14686          * config/visium/visium.cc: ...here.
14687          * config/vms/vms-c.c: Moved to...
14688          * config/vms/vms-c.cc: ...here.
14689          * config/vms/vms-f.c: Moved to...
14690          * config/vms/vms-f.cc: ...here.
14691          * config/vms/vms.c: Moved to...
14692          * config/vms/vms.cc: ...here.
14693          * config/vxworks-c.c: Moved to...
14694          * config/vxworks-c.cc: ...here.
14695          * config/vxworks.c: Moved to...
14696          * config/vxworks.cc: ...here.
14697          * config/winnt-c.c: Moved to...
14698          * config/winnt-c.cc: ...here.
14699          * config/xtensa/xtensa.c: Moved to...
14700          * config/xtensa/xtensa.cc: ...here.
14701          * context.c: Moved to...
14702          * context.cc: ...here.
14703          * convert.c: Moved to...
14704          * convert.cc: ...here.
14705          * coverage.c: Moved to...
14706          * coverage.cc: ...here.
14707          * cppbuiltin.c: Moved to...
14708          * cppbuiltin.cc: ...here.
14709          * cppdefault.c: Moved to...
14710          * cppdefault.cc: ...here.
14711          * cprop.c: Moved to...
14712          * cprop.cc: ...here.
14713          * cse.c: Moved to...
14714          * cse.cc: ...here.
14715          * cselib.c: Moved to...
14716          * cselib.cc: ...here.
14717          * ctfc.c: Moved to...
14718          * ctfc.cc: ...here.
14719          * ctfout.c: Moved to...
14720          * ctfout.cc: ...here.
14721          * data-streamer-in.c: Moved to...
14722          * data-streamer-in.cc: ...here.
14723          * data-streamer-out.c: Moved to...
14724          * data-streamer-out.cc: ...here.
14725          * data-streamer.c: Moved to...
14726          * data-streamer.cc: ...here.
14727          * dbgcnt.c: Moved to...
14728          * dbgcnt.cc: ...here.
14729          * dbxout.c: Moved to...
14730          * dbxout.cc: ...here.
14731          * dce.c: Moved to...
14732          * dce.cc: ...here.
14733          * ddg.c: Moved to...
14734          * ddg.cc: ...here.
14735          * debug.c: Moved to...
14736          * debug.cc: ...here.
14737          * df-core.c: Moved to...
14738          * df-core.cc: ...here.
14739          * df-problems.c: Moved to...
14740          * df-problems.cc: ...here.
14741          * df-scan.c: Moved to...
14742          * df-scan.cc: ...here.
14743          * dfp.c: Moved to...
14744          * dfp.cc: ...here.
14745          * diagnostic-color.c: Moved to...
14746          * diagnostic-color.cc: ...here.
14747          * diagnostic-show-locus.c: Moved to...
14748          * diagnostic-show-locus.cc: ...here.
14749          * diagnostic-spec.c: Moved to...
14750          * diagnostic-spec.cc: ...here.
14751          * diagnostic.c: Moved to...
14752          * diagnostic.cc: ...here.
14753          * dojump.c: Moved to...
14754          * dojump.cc: ...here.
14755          * dominance.c: Moved to...
14756          * dominance.cc: ...here.
14757          * domwalk.c: Moved to...
14758          * domwalk.cc: ...here.
14759          * double-int.c: Moved to...
14760          * double-int.cc: ...here.
14761          * dse.c: Moved to...
14762          * dse.cc: ...here.
14763          * dumpfile.c: Moved to...
14764          * dumpfile.cc: ...here.
14765          * dwarf2asm.c: Moved to...
14766          * dwarf2asm.cc: ...here.
14767          * dwarf2cfi.c: Moved to...
14768          * dwarf2cfi.cc: ...here.
14769          * dwarf2ctf.c: Moved to...
14770          * dwarf2ctf.cc: ...here.
14771          * dwarf2out.c: Moved to...
14772          * dwarf2out.cc: ...here.
14773          * early-remat.c: Moved to...
14774          * early-remat.cc: ...here.
14775          * edit-context.c: Moved to...
14776          * edit-context.cc: ...here.
14777          * emit-rtl.c: Moved to...
14778          * emit-rtl.cc: ...here.
14779          * errors.c: Moved to...
14780          * errors.cc: ...here.
14781          * et-forest.c: Moved to...
14782          * et-forest.cc: ...here.
14783          * except.c: Moved to...
14784          * except.cc: ...here.
14785          * explow.c: Moved to...
14786          * explow.cc: ...here.
14787          * expmed.c: Moved to...
14788          * expmed.cc: ...here.
14789          * expr.c: Moved to...
14790          * expr.cc: ...here.
14791          * fibonacci_heap.c: Moved to...
14792          * fibonacci_heap.cc: ...here.
14793          * file-find.c: Moved to...
14794          * file-find.cc: ...here.
14795          * file-prefix-map.c: Moved to...
14796          * file-prefix-map.cc: ...here.
14797          * final.c: Moved to...
14798          * final.cc: ...here.
14799          * fixed-value.c: Moved to...
14800          * fixed-value.cc: ...here.
14801          * fold-const-call.c: Moved to...
14802          * fold-const-call.cc: ...here.
14803          * fold-const.c: Moved to...
14804          * fold-const.cc: ...here.
14805          * fp-test.c: Moved to...
14806          * fp-test.cc: ...here.
14807          * function-tests.c: Moved to...
14808          * function-tests.cc: ...here.
14809          * function.c: Moved to...
14810          * function.cc: ...here.
14811          * fwprop.c: Moved to...
14812          * fwprop.cc: ...here.
14813          * gcc-ar.c: Moved to...
14814          * gcc-ar.cc: ...here.
14815          * gcc-main.c: Moved to...
14816          * gcc-main.cc: ...here.
14817          * gcc-rich-location.c: Moved to...
14818          * gcc-rich-location.cc: ...here.
14819          * gcc.c: Moved to...
14820          * gcc.cc: ...here.
14821          * gcov-dump.c: Moved to...
14822          * gcov-dump.cc: ...here.
14823          * gcov-io.c: Moved to...
14824          * gcov-io.cc: ...here.
14825          * gcov-tool.c: Moved to...
14826          * gcov-tool.cc: ...here.
14827          * gcov.c: Moved to...
14828          * gcov.cc: ...here.
14829          * gcse-common.c: Moved to...
14830          * gcse-common.cc: ...here.
14831          * gcse.c: Moved to...
14832          * gcse.cc: ...here.
14833          * genattr-common.c: Moved to...
14834          * genattr-common.cc: ...here.
14835          * genattr.c: Moved to...
14836          * genattr.cc: ...here.
14837          * genattrtab.c: Moved to...
14838          * genattrtab.cc: ...here.
14839          * genautomata.c: Moved to...
14840          * genautomata.cc: ...here.
14841          * gencfn-macros.c: Moved to...
14842          * gencfn-macros.cc: ...here.
14843          * gencheck.c: Moved to...
14844          * gencheck.cc: ...here.
14845          * genchecksum.c: Moved to...
14846          * genchecksum.cc: ...here.
14847          * gencodes.c: Moved to...
14848          * gencodes.cc: ...here.
14849          * genconditions.c: Moved to...
14850          * genconditions.cc: ...here.
14851          * genconfig.c: Moved to...
14852          * genconfig.cc: ...here.
14853          * genconstants.c: Moved to...
14854          * genconstants.cc: ...here.
14855          * genemit.c: Moved to...
14856          * genemit.cc: ...here.
14857          * genenums.c: Moved to...
14858          * genenums.cc: ...here.
14859          * generic-match-head.c: Moved to...
14860          * generic-match-head.cc: ...here.
14861          * genextract.c: Moved to...
14862          * genextract.cc: ...here.
14863          * genflags.c: Moved to...
14864          * genflags.cc: ...here.
14865          * gengenrtl.c: Moved to...
14866          * gengenrtl.cc: ...here.
14867          * gengtype-parse.c: Moved to...
14868          * gengtype-parse.cc: ...here.
14869          * gengtype-state.c: Moved to...
14870          * gengtype-state.cc: ...here.
14871          * gengtype.c: Moved to...
14872          * gengtype.cc: ...here.
14873          * genhooks.c: Moved to...
14874          * genhooks.cc: ...here.
14875          * genmatch.c: Moved to...
14876          * genmatch.cc: ...here.
14877          * genmddeps.c: Moved to...
14878          * genmddeps.cc: ...here.
14879          * genmddump.c: Moved to...
14880          * genmddump.cc: ...here.
14881          * genmodes.c: Moved to...
14882          * genmodes.cc: ...here.
14883          * genopinit.c: Moved to...
14884          * genopinit.cc: ...here.
14885          * genoutput.c: Moved to...
14886          * genoutput.cc: ...here.
14887          * genpeep.c: Moved to...
14888          * genpeep.cc: ...here.
14889          * genpreds.c: Moved to...
14890          * genpreds.cc: ...here.
14891          * genrecog.c: Moved to...
14892          * genrecog.cc: ...here.
14893          * gensupport.c: Moved to...
14894          * gensupport.cc: ...here.
14895          * gentarget-def.c: Moved to...
14896          * gentarget-def.cc: ...here.
14897          * genversion.c: Moved to...
14898          * genversion.cc: ...here.
14899          * ggc-common.c: Moved to...
14900          * ggc-common.cc: ...here.
14901          * ggc-none.c: Moved to...
14902          * ggc-none.cc: ...here.
14903          * ggc-page.c: Moved to...
14904          * ggc-page.cc: ...here.
14905          * ggc-tests.c: Moved to...
14906          * ggc-tests.cc: ...here.
14907          * gimple-builder.c: Moved to...
14908          * gimple-builder.cc: ...here.
14909          * gimple-expr.c: Moved to...
14910          * gimple-expr.cc: ...here.
14911          * gimple-fold.c: Moved to...
14912          * gimple-fold.cc: ...here.
14913          * gimple-iterator.c: Moved to...
14914          * gimple-iterator.cc: ...here.
14915          * gimple-laddress.c: Moved to...
14916          * gimple-laddress.cc: ...here.
14917          * gimple-loop-jam.c: Moved to...
14918          * gimple-loop-jam.cc: ...here.
14919          * gimple-low.c: Moved to...
14920          * gimple-low.cc: ...here.
14921          * gimple-match-head.c: Moved to...
14922          * gimple-match-head.cc: ...here.
14923          * gimple-pretty-print.c: Moved to...
14924          * gimple-pretty-print.cc: ...here.
14925          * gimple-ssa-backprop.c: Moved to...
14926          * gimple-ssa-backprop.cc: ...here.
14927          * gimple-ssa-evrp-analyze.c: Moved to...
14928          * gimple-ssa-evrp-analyze.cc: ...here.
14929          * gimple-ssa-evrp.c: Moved to...
14930          * gimple-ssa-evrp.cc: ...here.
14931          * gimple-ssa-isolate-paths.c: Moved to...
14932          * gimple-ssa-isolate-paths.cc: ...here.
14933          * gimple-ssa-nonnull-compare.c: Moved to...
14934          * gimple-ssa-nonnull-compare.cc: ...here.
14935          * gimple-ssa-split-paths.c: Moved to...
14936          * gimple-ssa-split-paths.cc: ...here.
14937          * gimple-ssa-sprintf.c: Moved to...
14938          * gimple-ssa-sprintf.cc: ...here.
14939          * gimple-ssa-store-merging.c: Moved to...
14940          * gimple-ssa-store-merging.cc: ...here.
14941          * gimple-ssa-strength-reduction.c: Moved to...
14942          * gimple-ssa-strength-reduction.cc: ...here.
14943          * gimple-ssa-warn-alloca.c: Moved to...
14944          * gimple-ssa-warn-alloca.cc: ...here.
14945          * gimple-ssa-warn-restrict.c: Moved to...
14946          * gimple-ssa-warn-restrict.cc: ...here.
14947          * gimple-streamer-in.c: Moved to...
14948          * gimple-streamer-in.cc: ...here.
14949          * gimple-streamer-out.c: Moved to...
14950          * gimple-streamer-out.cc: ...here.
14951          * gimple-walk.c: Moved to...
14952          * gimple-walk.cc: ...here.
14953          * gimple-warn-recursion.c: Moved to...
14954          * gimple-warn-recursion.cc: ...here.
14955          * gimple.c: Moved to...
14956          * gimple.cc: ...here.
14957          * gimplify-me.c: Moved to...
14958          * gimplify-me.cc: ...here.
14959          * gimplify.c: Moved to...
14960          * gimplify.cc: ...here.
14961          * godump.c: Moved to...
14962          * godump.cc: ...here.
14963          * graph.c: Moved to...
14964          * graph.cc: ...here.
14965          * graphds.c: Moved to...
14966          * graphds.cc: ...here.
14967          * graphite-dependences.c: Moved to...
14968          * graphite-dependences.cc: ...here.
14969          * graphite-isl-ast-to-gimple.c: Moved to...
14970          * graphite-isl-ast-to-gimple.cc: ...here.
14971          * graphite-optimize-isl.c: Moved to...
14972          * graphite-optimize-isl.cc: ...here.
14973          * graphite-poly.c: Moved to...
14974          * graphite-poly.cc: ...here.
14975          * graphite-scop-detection.c: Moved to...
14976          * graphite-scop-detection.cc: ...here.
14977          * graphite-sese-to-poly.c: Moved to...
14978          * graphite-sese-to-poly.cc: ...here.
14979          * graphite.c: Moved to...
14980          * graphite.cc: ...here.
14981          * haifa-sched.c: Moved to...
14982          * haifa-sched.cc: ...here.
14983          * hash-map-tests.c: Moved to...
14984          * hash-map-tests.cc: ...here.
14985          * hash-set-tests.c: Moved to...
14986          * hash-set-tests.cc: ...here.
14987          * hash-table.c: Moved to...
14988          * hash-table.cc: ...here.
14989          * hooks.c: Moved to...
14990          * hooks.cc: ...here.
14991          * host-default.c: Moved to...
14992          * host-default.cc: ...here.
14993          * hw-doloop.c: Moved to...
14994          * hw-doloop.cc: ...here.
14995          * hwint.c: Moved to...
14996          * hwint.cc: ...here.
14997          * ifcvt.c: Moved to...
14998          * ifcvt.cc: ...here.
14999          * inchash.c: Moved to...
15000          * inchash.cc: ...here.
15001          * incpath.c: Moved to...
15002          * incpath.cc: ...here.
15003          * init-regs.c: Moved to...
15004          * init-regs.cc: ...here.
15005          * input.c: Moved to...
15006          * input.cc: ...here.
15007          * internal-fn.c: Moved to...
15008          * internal-fn.cc: ...here.
15009          * intl.c: Moved to...
15010          * intl.cc: ...here.
15011          * ipa-comdats.c: Moved to...
15012          * ipa-comdats.cc: ...here.
15013          * ipa-cp.c: Moved to...
15014          * ipa-cp.cc: ...here.
15015          * ipa-devirt.c: Moved to...
15016          * ipa-devirt.cc: ...here.
15017          * ipa-fnsummary.c: Moved to...
15018          * ipa-fnsummary.cc: ...here.
15019          * ipa-icf-gimple.c: Moved to...
15020          * ipa-icf-gimple.cc: ...here.
15021          * ipa-icf.c: Moved to...
15022          * ipa-icf.cc: ...here.
15023          * ipa-inline-analysis.c: Moved to...
15024          * ipa-inline-analysis.cc: ...here.
15025          * ipa-inline-transform.c: Moved to...
15026          * ipa-inline-transform.cc: ...here.
15027          * ipa-inline.c: Moved to...
15028          * ipa-inline.cc: ...here.
15029          * ipa-modref-tree.c: Moved to...
15030          * ipa-modref-tree.cc: ...here.
15031          * ipa-modref.c: Moved to...
15032          * ipa-modref.cc: ...here.
15033          * ipa-param-manipulation.c: Moved to...
15034          * ipa-param-manipulation.cc: ...here.
15035          * ipa-polymorphic-call.c: Moved to...
15036          * ipa-polymorphic-call.cc: ...here.
15037          * ipa-predicate.c: Moved to...
15038          * ipa-predicate.cc: ...here.
15039          * ipa-profile.c: Moved to...
15040          * ipa-profile.cc: ...here.
15041          * ipa-prop.c: Moved to...
15042          * ipa-prop.cc: ...here.
15043          * ipa-pure-const.c: Moved to...
15044          * ipa-pure-const.cc: ...here.
15045          * ipa-ref.c: Moved to...
15046          * ipa-ref.cc: ...here.
15047          * ipa-reference.c: Moved to...
15048          * ipa-reference.cc: ...here.
15049          * ipa-split.c: Moved to...
15050          * ipa-split.cc: ...here.
15051          * ipa-sra.c: Moved to...
15052          * ipa-sra.cc: ...here.
15053          * ipa-utils.c: Moved to...
15054          * ipa-utils.cc: ...here.
15055          * ipa-visibility.c: Moved to...
15056          * ipa-visibility.cc: ...here.
15057          * ipa.c: Moved to...
15058          * ipa.cc: ...here.
15059          * ira-build.c: Moved to...
15060          * ira-build.cc: ...here.
15061          * ira-color.c: Moved to...
15062          * ira-color.cc: ...here.
15063          * ira-conflicts.c: Moved to...
15064          * ira-conflicts.cc: ...here.
15065          * ira-costs.c: Moved to...
15066          * ira-costs.cc: ...here.
15067          * ira-emit.c: Moved to...
15068          * ira-emit.cc: ...here.
15069          * ira-lives.c: Moved to...
15070          * ira-lives.cc: ...here.
15071          * ira.c: Moved to...
15072          * ira.cc: ...here.
15073          * jump.c: Moved to...
15074          * jump.cc: ...here.
15075          * langhooks.c: Moved to...
15076          * langhooks.cc: ...here.
15077          * lcm.c: Moved to...
15078          * lcm.cc: ...here.
15079          * lists.c: Moved to...
15080          * lists.cc: ...here.
15081          * loop-doloop.c: Moved to...
15082          * loop-doloop.cc: ...here.
15083          * loop-init.c: Moved to...
15084          * loop-init.cc: ...here.
15085          * loop-invariant.c: Moved to...
15086          * loop-invariant.cc: ...here.
15087          * loop-iv.c: Moved to...
15088          * loop-iv.cc: ...here.
15089          * loop-unroll.c: Moved to...
15090          * loop-unroll.cc: ...here.
15091          * lower-subreg.c: Moved to...
15092          * lower-subreg.cc: ...here.
15093          * lra-assigns.c: Moved to...
15094          * lra-assigns.cc: ...here.
15095          * lra-coalesce.c: Moved to...
15096          * lra-coalesce.cc: ...here.
15097          * lra-constraints.c: Moved to...
15098          * lra-constraints.cc: ...here.
15099          * lra-eliminations.c: Moved to...
15100          * lra-eliminations.cc: ...here.
15101          * lra-lives.c: Moved to...
15102          * lra-lives.cc: ...here.
15103          * lra-remat.c: Moved to...
15104          * lra-remat.cc: ...here.
15105          * lra-spills.c: Moved to...
15106          * lra-spills.cc: ...here.
15107          * lra.c: Moved to...
15108          * lra.cc: ...here.
15109          * lto-cgraph.c: Moved to...
15110          * lto-cgraph.cc: ...here.
15111          * lto-compress.c: Moved to...
15112          * lto-compress.cc: ...here.
15113          * lto-opts.c: Moved to...
15114          * lto-opts.cc: ...here.
15115          * lto-section-in.c: Moved to...
15116          * lto-section-in.cc: ...here.
15117          * lto-section-out.c: Moved to...
15118          * lto-section-out.cc: ...here.
15119          * lto-streamer-in.c: Moved to...
15120          * lto-streamer-in.cc: ...here.
15121          * lto-streamer-out.c: Moved to...
15122          * lto-streamer-out.cc: ...here.
15123          * lto-streamer.c: Moved to...
15124          * lto-streamer.cc: ...here.
15125          * lto-wrapper.c: Moved to...
15126          * lto-wrapper.cc: ...here.
15127          * main.c: Moved to...
15128          * main.cc: ...here.
15129          * mcf.c: Moved to...
15130          * mcf.cc: ...here.
15131          * mode-switching.c: Moved to...
15132          * mode-switching.cc: ...here.
15133          * modulo-sched.c: Moved to...
15134          * modulo-sched.cc: ...here.
15135          * multiple_target.c: Moved to...
15136          * multiple_target.cc: ...here.
15137          * omp-expand.c: Moved to...
15138          * omp-expand.cc: ...here.
15139          * omp-general.c: Moved to...
15140          * omp-general.cc: ...here.
15141          * omp-low.c: Moved to...
15142          * omp-low.cc: ...here.
15143          * omp-offload.c: Moved to...
15144          * omp-offload.cc: ...here.
15145          * omp-simd-clone.c: Moved to...
15146          * omp-simd-clone.cc: ...here.
15147          * opt-suggestions.c: Moved to...
15148          * opt-suggestions.cc: ...here.
15149          * optabs-libfuncs.c: Moved to...
15150          * optabs-libfuncs.cc: ...here.
15151          * optabs-query.c: Moved to...
15152          * optabs-query.cc: ...here.
15153          * optabs-tree.c: Moved to...
15154          * optabs-tree.cc: ...here.
15155          * optabs.c: Moved to...
15156          * optabs.cc: ...here.
15157          * opts-common.c: Moved to...
15158          * opts-common.cc: ...here.
15159          * opts-global.c: Moved to...
15160          * opts-global.cc: ...here.
15161          * opts.c: Moved to...
15162          * opts.cc: ...here.
15163          * passes.c: Moved to...
15164          * passes.cc: ...here.
15165          * plugin.c: Moved to...
15166          * plugin.cc: ...here.
15167          * postreload-gcse.c: Moved to...
15168          * postreload-gcse.cc: ...here.
15169          * postreload.c: Moved to...
15170          * postreload.cc: ...here.
15171          * predict.c: Moved to...
15172          * predict.cc: ...here.
15173          * prefix.c: Moved to...
15174          * prefix.cc: ...here.
15175          * pretty-print.c: Moved to...
15176          * pretty-print.cc: ...here.
15177          * print-rtl-function.c: Moved to...
15178          * print-rtl-function.cc: ...here.
15179          * print-rtl.c: Moved to...
15180          * print-rtl.cc: ...here.
15181          * print-tree.c: Moved to...
15182          * print-tree.cc: ...here.
15183          * profile-count.c: Moved to...
15184          * profile-count.cc: ...here.
15185          * profile.c: Moved to...
15186          * profile.cc: ...here.
15187          * read-md.c: Moved to...
15188          * read-md.cc: ...here.
15189          * read-rtl-function.c: Moved to...
15190          * read-rtl-function.cc: ...here.
15191          * read-rtl.c: Moved to...
15192          * read-rtl.cc: ...here.
15193          * real.c: Moved to...
15194          * real.cc: ...here.
15195          * realmpfr.c: Moved to...
15196          * realmpfr.cc: ...here.
15197          * recog.c: Moved to...
15198          * recog.cc: ...here.
15199          * ree.c: Moved to...
15200          * ree.cc: ...here.
15201          * reg-stack.c: Moved to...
15202          * reg-stack.cc: ...here.
15203          * regcprop.c: Moved to...
15204          * regcprop.cc: ...here.
15205          * reginfo.c: Moved to...
15206          * reginfo.cc: ...here.
15207          * regrename.c: Moved to...
15208          * regrename.cc: ...here.
15209          * regstat.c: Moved to...
15210          * regstat.cc: ...here.
15211          * reload.c: Moved to...
15212          * reload.cc: ...here.
15213          * reload1.c: Moved to...
15214          * reload1.cc: ...here.
15215          * reorg.c: Moved to...
15216          * reorg.cc: ...here.
15217          * resource.c: Moved to...
15218          * resource.cc: ...here.
15219          * rtl-error.c: Moved to...
15220          * rtl-error.cc: ...here.
15221          * rtl-tests.c: Moved to...
15222          * rtl-tests.cc: ...here.
15223          * rtl.c: Moved to...
15224          * rtl.cc: ...here.
15225          * rtlanal.c: Moved to...
15226          * rtlanal.cc: ...here.
15227          * rtlhash.c: Moved to...
15228          * rtlhash.cc: ...here.
15229          * rtlhooks.c: Moved to...
15230          * rtlhooks.cc: ...here.
15231          * rtx-vector-builder.c: Moved to...
15232          * rtx-vector-builder.cc: ...here.
15233          * run-rtl-passes.c: Moved to...
15234          * run-rtl-passes.cc: ...here.
15235          * sancov.c: Moved to...
15236          * sancov.cc: ...here.
15237          * sanopt.c: Moved to...
15238          * sanopt.cc: ...here.
15239          * sbitmap.c: Moved to...
15240          * sbitmap.cc: ...here.
15241          * sched-deps.c: Moved to...
15242          * sched-deps.cc: ...here.
15243          * sched-ebb.c: Moved to...
15244          * sched-ebb.cc: ...here.
15245          * sched-rgn.c: Moved to...
15246          * sched-rgn.cc: ...here.
15247          * sel-sched-dump.c: Moved to...
15248          * sel-sched-dump.cc: ...here.
15249          * sel-sched-ir.c: Moved to...
15250          * sel-sched-ir.cc: ...here.
15251          * sel-sched.c: Moved to...
15252          * sel-sched.cc: ...here.
15253          * selftest-diagnostic.c: Moved to...
15254          * selftest-diagnostic.cc: ...here.
15255          * selftest-rtl.c: Moved to...
15256          * selftest-rtl.cc: ...here.
15257          * selftest-run-tests.c: Moved to...
15258          * selftest-run-tests.cc: ...here.
15259          * selftest.c: Moved to...
15260          * selftest.cc: ...here.
15261          * sese.c: Moved to...
15262          * sese.cc: ...here.
15263          * shrink-wrap.c: Moved to...
15264          * shrink-wrap.cc: ...here.
15265          * simplify-rtx.c: Moved to...
15266          * simplify-rtx.cc: ...here.
15267          * sparseset.c: Moved to...
15268          * sparseset.cc: ...here.
15269          * spellcheck-tree.c: Moved to...
15270          * spellcheck-tree.cc: ...here.
15271          * spellcheck.c: Moved to...
15272          * spellcheck.cc: ...here.
15273          * sreal.c: Moved to...
15274          * sreal.cc: ...here.
15275          * stack-ptr-mod.c: Moved to...
15276          * stack-ptr-mod.cc: ...here.
15277          * statistics.c: Moved to...
15278          * statistics.cc: ...here.
15279          * stmt.c: Moved to...
15280          * stmt.cc: ...here.
15281          * stor-layout.c: Moved to...
15282          * stor-layout.cc: ...here.
15283          * store-motion.c: Moved to...
15284          * store-motion.cc: ...here.
15285          * streamer-hooks.c: Moved to...
15286          * streamer-hooks.cc: ...here.
15287          * stringpool.c: Moved to...
15288          * stringpool.cc: ...here.
15289          * substring-locations.c: Moved to...
15290          * substring-locations.cc: ...here.
15291          * symtab.c: Moved to...
15292          * symtab.cc: ...here.
15293          * target-globals.c: Moved to...
15294          * target-globals.cc: ...here.
15295          * targhooks.c: Moved to...
15296          * targhooks.cc: ...here.
15297          * timevar.c: Moved to...
15298          * timevar.cc: ...here.
15299          * toplev.c: Moved to...
15300          * toplev.cc: ...here.
15301          * tracer.c: Moved to...
15302          * tracer.cc: ...here.
15303          * trans-mem.c: Moved to...
15304          * trans-mem.cc: ...here.
15305          * tree-affine.c: Moved to...
15306          * tree-affine.cc: ...here.
15307          * tree-call-cdce.c: Moved to...
15308          * tree-call-cdce.cc: ...here.
15309          * tree-cfg.c: Moved to...
15310          * tree-cfg.cc: ...here.
15311          * tree-cfgcleanup.c: Moved to...
15312          * tree-cfgcleanup.cc: ...here.
15313          * tree-chrec.c: Moved to...
15314          * tree-chrec.cc: ...here.
15315          * tree-complex.c: Moved to...
15316          * tree-complex.cc: ...here.
15317          * tree-data-ref.c: Moved to...
15318          * tree-data-ref.cc: ...here.
15319          * tree-dfa.c: Moved to...
15320          * tree-dfa.cc: ...here.
15321          * tree-diagnostic.c: Moved to...
15322          * tree-diagnostic.cc: ...here.
15323          * tree-dump.c: Moved to...
15324          * tree-dump.cc: ...here.
15325          * tree-eh.c: Moved to...
15326          * tree-eh.cc: ...here.
15327          * tree-emutls.c: Moved to...
15328          * tree-emutls.cc: ...here.
15329          * tree-if-conv.c: Moved to...
15330          * tree-if-conv.cc: ...here.
15331          * tree-inline.c: Moved to...
15332          * tree-inline.cc: ...here.
15333          * tree-into-ssa.c: Moved to...
15334          * tree-into-ssa.cc: ...here.
15335          * tree-iterator.c: Moved to...
15336          * tree-iterator.cc: ...here.
15337          * tree-loop-distribution.c: Moved to...
15338          * tree-loop-distribution.cc: ...here.
15339          * tree-nested.c: Moved to...
15340          * tree-nested.cc: ...here.
15341          * tree-nrv.c: Moved to...
15342          * tree-nrv.cc: ...here.
15343          * tree-object-size.c: Moved to...
15344          * tree-object-size.cc: ...here.
15345          * tree-outof-ssa.c: Moved to...
15346          * tree-outof-ssa.cc: ...here.
15347          * tree-parloops.c: Moved to...
15348          * tree-parloops.cc: ...here.
15349          * tree-phinodes.c: Moved to...
15350          * tree-phinodes.cc: ...here.
15351          * tree-predcom.c: Moved to...
15352          * tree-predcom.cc: ...here.
15353          * tree-pretty-print.c: Moved to...
15354          * tree-pretty-print.cc: ...here.
15355          * tree-profile.c: Moved to...
15356          * tree-profile.cc: ...here.
15357          * tree-scalar-evolution.c: Moved to...
15358          * tree-scalar-evolution.cc: ...here.
15359          * tree-sra.c: Moved to...
15360          * tree-sra.cc: ...here.
15361          * tree-ssa-address.c: Moved to...
15362          * tree-ssa-address.cc: ...here.
15363          * tree-ssa-alias.c: Moved to...
15364          * tree-ssa-alias.cc: ...here.
15365          * tree-ssa-ccp.c: Moved to...
15366          * tree-ssa-ccp.cc: ...here.
15367          * tree-ssa-coalesce.c: Moved to...
15368          * tree-ssa-coalesce.cc: ...here.
15369          * tree-ssa-copy.c: Moved to...
15370          * tree-ssa-copy.cc: ...here.
15371          * tree-ssa-dce.c: Moved to...
15372          * tree-ssa-dce.cc: ...here.
15373          * tree-ssa-dom.c: Moved to...
15374          * tree-ssa-dom.cc: ...here.
15375          * tree-ssa-dse.c: Moved to...
15376          * tree-ssa-dse.cc: ...here.
15377          * tree-ssa-forwprop.c: Moved to...
15378          * tree-ssa-forwprop.cc: ...here.
15379          * tree-ssa-ifcombine.c: Moved to...
15380          * tree-ssa-ifcombine.cc: ...here.
15381          * tree-ssa-live.c: Moved to...
15382          * tree-ssa-live.cc: ...here.
15383          * tree-ssa-loop-ch.c: Moved to...
15384          * tree-ssa-loop-ch.cc: ...here.
15385          * tree-ssa-loop-im.c: Moved to...
15386          * tree-ssa-loop-im.cc: ...here.
15387          * tree-ssa-loop-ivcanon.c: Moved to...
15388          * tree-ssa-loop-ivcanon.cc: ...here.
15389          * tree-ssa-loop-ivopts.c: Moved to...
15390          * tree-ssa-loop-ivopts.cc: ...here.
15391          * tree-ssa-loop-manip.c: Moved to...
15392          * tree-ssa-loop-manip.cc: ...here.
15393          * tree-ssa-loop-niter.c: Moved to...
15394          * tree-ssa-loop-niter.cc: ...here.
15395          * tree-ssa-loop-prefetch.c: Moved to...
15396          * tree-ssa-loop-prefetch.cc: ...here.
15397          * tree-ssa-loop-split.c: Moved to...
15398          * tree-ssa-loop-split.cc: ...here.
15399          * tree-ssa-loop-unswitch.c: Moved to...
15400          * tree-ssa-loop-unswitch.cc: ...here.
15401          * tree-ssa-loop.c: Moved to...
15402          * tree-ssa-loop.cc: ...here.
15403          * tree-ssa-math-opts.c: Moved to...
15404          * tree-ssa-math-opts.cc: ...here.
15405          * tree-ssa-operands.c: Moved to...
15406          * tree-ssa-operands.cc: ...here.
15407          * tree-ssa-phiopt.c: Moved to...
15408          * tree-ssa-phiopt.cc: ...here.
15409          * tree-ssa-phiprop.c: Moved to...
15410          * tree-ssa-phiprop.cc: ...here.
15411          * tree-ssa-pre.c: Moved to...
15412          * tree-ssa-pre.cc: ...here.
15413          * tree-ssa-propagate.c: Moved to...
15414          * tree-ssa-propagate.cc: ...here.
15415          * tree-ssa-reassoc.c: Moved to...
15416          * tree-ssa-reassoc.cc: ...here.
15417          * tree-ssa-sccvn.c: Moved to...
15418          * tree-ssa-sccvn.cc: ...here.
15419          * tree-ssa-scopedtables.c: Moved to...
15420          * tree-ssa-scopedtables.cc: ...here.
15421          * tree-ssa-sink.c: Moved to...
15422          * tree-ssa-sink.cc: ...here.
15423          * tree-ssa-strlen.c: Moved to...
15424          * tree-ssa-strlen.cc: ...here.
15425          * tree-ssa-structalias.c: Moved to...
15426          * tree-ssa-structalias.cc: ...here.
15427          * tree-ssa-tail-merge.c: Moved to...
15428          * tree-ssa-tail-merge.cc: ...here.
15429          * tree-ssa-ter.c: Moved to...
15430          * tree-ssa-ter.cc: ...here.
15431          * tree-ssa-threadbackward.c: Moved to...
15432          * tree-ssa-threadbackward.cc: ...here.
15433          * tree-ssa-threadedge.c: Moved to...
15434          * tree-ssa-threadedge.cc: ...here.
15435          * tree-ssa-threadupdate.c: Moved to...
15436          * tree-ssa-threadupdate.cc: ...here.
15437          * tree-ssa-uncprop.c: Moved to...
15438          * tree-ssa-uncprop.cc: ...here.
15439          * tree-ssa-uninit.c: Moved to...
15440          * tree-ssa-uninit.cc: ...here.
15441          * tree-ssa.c: Moved to...
15442          * tree-ssa.cc: ...here.
15443          * tree-ssanames.c: Moved to...
15444          * tree-ssanames.cc: ...here.
15445          * tree-stdarg.c: Moved to...
15446          * tree-stdarg.cc: ...here.
15447          * tree-streamer-in.c: Moved to...
15448          * tree-streamer-in.cc: ...here.
15449          * tree-streamer-out.c: Moved to...
15450          * tree-streamer-out.cc: ...here.
15451          * tree-streamer.c: Moved to...
15452          * tree-streamer.cc: ...here.
15453          * tree-switch-conversion.c: Moved to...
15454          * tree-switch-conversion.cc: ...here.
15455          * tree-tailcall.c: Moved to...
15456          * tree-tailcall.cc: ...here.
15457          * tree-vect-data-refs.c: Moved to...
15458          * tree-vect-data-refs.cc: ...here.
15459          * tree-vect-generic.c: Moved to...
15460          * tree-vect-generic.cc: ...here.
15461          * tree-vect-loop-manip.c: Moved to...
15462          * tree-vect-loop-manip.cc: ...here.
15463          * tree-vect-loop.c: Moved to...
15464          * tree-vect-loop.cc: ...here.
15465          * tree-vect-patterns.c: Moved to...
15466          * tree-vect-patterns.cc: ...here.
15467          * tree-vect-slp-patterns.c: Moved to...
15468          * tree-vect-slp-patterns.cc: ...here.
15469          * tree-vect-slp.c: Moved to...
15470          * tree-vect-slp.cc: ...here.
15471          * tree-vect-stmts.c: Moved to...
15472          * tree-vect-stmts.cc: ...here.
15473          * tree-vector-builder.c: Moved to...
15474          * tree-vector-builder.cc: ...here.
15475          * tree-vectorizer.c: Moved to...
15476          * tree-vectorizer.cc: ...here.
15477          * tree-vrp.c: Moved to...
15478          * tree-vrp.cc: ...here.
15479          * tree.c: Moved to...
15480          * tree.cc: ...here.
15481          * tsan.c: Moved to...
15482          * tsan.cc: ...here.
15483          * typed-splay-tree.c: Moved to...
15484          * typed-splay-tree.cc: ...here.
15485          * ubsan.c: Moved to...
15486          * ubsan.cc: ...here.
15487          * valtrack.c: Moved to...
15488          * valtrack.cc: ...here.
15489          * value-prof.c: Moved to...
15490          * value-prof.cc: ...here.
15491          * var-tracking.c: Moved to...
15492          * var-tracking.cc: ...here.
15493          * varasm.c: Moved to...
15494          * varasm.cc: ...here.
15495          * varpool.c: Moved to...
15496          * varpool.cc: ...here.
15497          * vec-perm-indices.c: Moved to...
15498          * vec-perm-indices.cc: ...here.
15499          * vec.c: Moved to...
15500          * vec.cc: ...here.
15501          * vmsdbgout.c: Moved to...
15502          * vmsdbgout.cc: ...here.
15503          * vr-values.c: Moved to...
15504          * vr-values.cc: ...here.
15505          * vtable-verify.c: Moved to...
15506          * vtable-verify.cc: ...here.
15507          * web.c: Moved to...
15508          * web.cc: ...here.
15509          * xcoffout.c: Moved to...
15510          * xcoffout.cc: ...here.
15511
155122022-01-17  qing zhao  <qing.zhao@oracle.com>
15513
15514          * tree-ssa-uninit.c (warn_uninit): Delete the 4th parameter. Handle
15515          .DEFERRED_INIT call with an anonymous SSA_NAME specially.
15516          (check_defs): Handle .DEFERRED_INIT call with an anonymous SSA_NAME
15517          specially.
15518          (warn_uninit_phi_uses): Delete the 4th actual when call warn_uninit.
15519          (warn_uninitialized_vars): Likewise.
15520          (warn_uninitialized_phi): Likewise.
15521
155222022-01-17  Jason Merrill  <jason@redhat.com>
15523
15524          * diagnostic.h (struct diagnostic_context): Add includes_seen.
15525          * diagnostic.c (diagnostic_initialize): Initialize it.
15526          (diagnostic_finish): Clean it up.
15527          (includes_seen): New function.
15528          (diagnostic_report_current_module): Use it.
15529
155302022-01-17  Richard Biener  <rguenther@suse.de>
15531
15532          PR middle-end/101292
15533          * diagnostic-spec.c (copy_warning): Make sure to not
15534          reference old hashtable content on possible resize.
15535          * warning-control.cc (copy_warning): Likewise.
15536
155372022-01-17  Jakub Jelinek  <jakub@redhat.com>
15538
15539          PR target/103973
15540          * tree-cfg.h (cond_only_block_p): Declare.
15541          * tree-ssa-phiopt.c (cond_only_block_p): Move function to ...
15542          * tree-cfg.c (cond_only_block_p): ... here.  No longer static.
15543          * optabs.def (spaceship_optab): New optab.
15544          * internal-fn.def (SPACESHIP): New internal function.
15545          * internal-fn.h (expand_SPACESHIP): Declare.
15546          * internal-fn.c (expand_PHI): Formatting fix.
15547          (expand_SPACESHIP): New function.
15548          * tree-ssa-math-opts.c (optimize_spaceship): New function.
15549          (math_opts_dom_walker::after_dom_children): Use it.
15550          * config/i386/i386.md (spaceship<mode>3): New define_expand.
15551          * config/i386/i386-protos.h (ix86_expand_fp_spaceship): Declare.
15552          * config/i386/i386-expand.c (ix86_expand_fp_spaceship): New function.
15553          * doc/md.texi (spaceship@var{m}3): Document.
15554
155552022-01-17  Kewen Lin  <linkw@linux.ibm.com>
15556
15557          * config/rs6000/altivec.md (altivec_vreveti2): Remove.
15558          * config/rs6000/vsx.md (*vsx_extract_si, *vsx_extract_si_<uns>float_df,
15559          *vsx_extract_si_<uns>float_<mode>, *vsx_insert_extract_v4sf_p9): Use
15560          known constant values to simplify code.
15561
155622022-01-17  Haochen Gui  <guihaoc@gcc.gnu.org>
15563
15564          PR target/103124
15565          * config/rs6000/vsx.md (split pattern for TI to V1TI move): Defined.
15566
155672022-01-16  wwwhhhyyy  <hongyu.wang@intel.com>
15568
15569          * config/i386/i386.h (TARGET_DEST_FALSE_DEP_FOR_GLC): New macro.
15570          * config/i386/sse.md (<avx512>_<complexopname>_<mode><maskc_name><round_name>):
15571          Insert zero-idiom in output template when attr enabled, set new attribute to
15572          true for non-mask/maskz insn.
15573          (avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>):
15574          Likewise.
15575          (avx512dq_mul<mode>3<mask_name>): Likewise.
15576          (<avx2_avx512>_permvar<mode><mask_name>): Likewise.
15577          (avx2_perm<mode>_1<mask_name>): Likewise.
15578          (avx512f_perm<mode>_1<mask_name>): Likewise.
15579          (avx512dq_rangep<mode><mask_name><round_saeonly_name>): Likewise.
15580          (avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>):
15581          Likewise.
15582          (<avx512>_getmant<mode><mask_name><round_saeonly_name>): Likewise.
15583          (avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
15584          Likewise.
15585          * config/i386/subst.md (mask3_dest_false_dep_for_glc_cond): New
15586          subst_attr.
15587          (mask4_dest_false_dep_for_glc_cond): Likewise.
15588          (mask6_dest_false_dep_for_glc_cond): Likewise.
15589          (mask10_dest_false_dep_for_glc_cond): Likewise.
15590          (maskc_dest_false_dep_for_glc_cond): Likewise.
15591          (mask_scalar4_dest_false_dep_for_glc_cond): Likewise.
15592          (mask_scalarc_dest_false_dep_for_glc_cond): Likewise.
15593          * config/i386/x86-tune.def (X86_TUNE_DEST_FALSE_DEP_FOR_GLC): New
15594          DEF_TUNE enabled for m_SAPPHIRERAPIDS and m_ALDERLAKE
15595
155962022-01-15  Martin Sebor  <msebor@redhat.com>
15597
15598          PR c/63272
15599          * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
15600          -Wdangling-pointer.
15601          * doc/invoke.texi (-Wdangling-pointer): Document new option.
15602          * gimple-ssa-warn-access.cc (pass_waccess::clone): Set new member.
15603          (pass_waccess::check_pointer_uses): New function.
15604          (pass_waccess::gimple_call_return_arg): New function.
15605          (pass_waccess::gimple_call_return_arg_ref): New function.
15606          (pass_waccess::check_call_dangling): New function.
15607          (pass_waccess::check_dangling_uses): New function overloads.
15608          (pass_waccess::check_dangling_stores): New function.
15609          (pass_waccess::check_dangling_stores): New function.
15610          (pass_waccess::m_clobbers): New data member.
15611          (pass_waccess::m_func): New data member.
15612          (pass_waccess::m_run_number): New data member.
15613          (pass_waccess::m_check_dangling_p): New data member.
15614          (pass_waccess::check_alloca): Check m_early_checks_p.
15615          (pass_waccess::check_alloc_size_call): Same.
15616          (pass_waccess::check_strcat): Same.
15617          (pass_waccess::check_strncat): Same.
15618          (pass_waccess::check_stxcpy): Same.
15619          (pass_waccess::check_stxncpy): Same.
15620          (pass_waccess::check_strncmp): Same.
15621          (pass_waccess::check_memop_access): Same.
15622          (pass_waccess::check_read_access): Same.
15623          (pass_waccess::check_builtin): Call check_pointer_uses.
15624          (pass_waccess::warn_invalid_pointer): Add arguments.
15625          (is_auto_decl): New function.
15626          (pass_waccess::check_stmt): New function.
15627          (pass_waccess::check_block): Call check_stmt.
15628          (pass_waccess::execute): Call check_dangling_uses,
15629          check_dangling_stores.  Empty m_clobbers.
15630          * passes.def (pass_warn_access): Invoke pass two more times.
15631
156322022-01-15  Martin Sebor  <msebor@redhat.com>
15633
15634          PR tree-optimization/80532
15635          * common.opt (-Wuse-after-free): New options.
15636          * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
15637          OPT_Wreturn_local_addr and OPT_Wuse_after_free_.
15638          * diagnostic-spec.h (NW_DANGLING): New enumerator.
15639          * doc/invoke.texi (-Wuse-after-free): Document new option.
15640          * gimple-ssa-warn-access.cc (pass_waccess::check_call): Rename...
15641          (pass_waccess::check_call_access): ...to this.
15642          (pass_waccess::check): Rename...
15643          (pass_waccess::check_block): ...to this.
15644          (pass_waccess::check_pointer_uses): New function.
15645          (pass_waccess::gimple_call_return_arg): New function.
15646          (pass_waccess::warn_invalid_pointer): New function.
15647          (pass_waccess::check_builtin): Handle free and realloc.
15648          (gimple_use_after_inval_p): New function.
15649          (get_realloc_lhs): New function.
15650          (maybe_warn_mismatched_realloc): New function.
15651          (pointers_related_p): New function.
15652          (pass_waccess::check_call): Call check_pointer_uses.
15653          (pass_waccess::execute): Compute and free dominance info.
15654
156552022-01-15  Uroš Bizjak  <ubizjak@gmail.com>
15656
15657          * config/i386/i386-expand.c (ix86_expand_sse_movcc): Use
15658          expand_simple_unop and expand_simple_binop instead of manually
15659          constructing NOT, AND and IOR RTXes.  Use vector_all_ones_operand
15660          consistently.  Eliminate common subexpressions and simplify code.
15661          * config/i386/sse.md (<any_logic:code><MODEF:mode>3): New expander.
15662          (<any_logic:code><MODEF:mode>3): Make public.
15663
156642022-01-14  Eric Botcazou  <ebotcazou@adacore.com>
15665
15666          * ipa-param-manipulation.c (ipa_dump_adjusted_parameters): Dump
15667          reverse flag as "reverse" for the sake of consistency.
15668          * ipa-sra.c: Fix copyright year.
15669          (ipa_sra_function_summaries::duplicate): Copy the reverse flag.
15670          (dump_isra_access): Tweak dump line.
15671          (isra_write_node_summary): Write the reverse flag.
15672          (isra_read_node_info): Read it.
15673          (pull_accesses_from_callee): Test its consistency and copy it.
15674
156752022-01-14  Richard Sandiford  <richard.sandiford@arm.com>
15676
15677          PR middle-end/104026
15678          * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize
15679          partial_load_store_bias.
15680
156812022-01-14  Martin Sebor  <msebor@redhat.com>
15682
15683          PR middle-end/101475
15684          * pointer-query.cc (handle_component_ref): Use the size of
15685          the enclosing object if it's smaller than the member.
15686
156872022-01-14  Martin Liska  <mliska@suse.cz>
15688
15689          * configure: Regenerate.
15690
156912022-01-14  Uroš Bizjak  <ubizjak@gmail.com>
15692
15693          * config/i386/i386.md (*add<mode>_1_slp"):
15694          Mark alternative 1 output operand earlyclobbered.
15695          (*sub<mode>_1_slp): Ditto.
15696          (*and<mode>_1_slp): Ditto.
15697          (*<code><mode>_1_slp): Ditto.
15698          (*neg<mode>_1_slp): Ditto.
15699          (*one_cmpl<mode>_1_slp): Ditto.
15700          (*ashl<mode>3_1_slp): Ditto.
15701          (*<insn><mode>3_1_slp): Ditto.
15702          (*<insn><mode>3_1_slp): Ditto.
15703
157042022-01-14  Kewen Lin  <linkw@linux.ibm.com>
15705
15706          PR tree-optimization/104015
15707          * tree-vect-loop.c (vect_analyze_loop): Check
15708          param_vect_partial_vector_usage for supports_partial_vectors.
15709
157102022-01-14  Jakub Jelinek  <jakub@redhat.com>
15711
15712          PR c++/89074
15713          * fold-const.c (address_compare): Punt on comparison of address of
15714          one object with address of end of another object if
15715          folding_initializer.
15716
157172022-01-14  Jakub Jelinek  <jakub@redhat.com>
15718
15719          PR target/98737
15720          * tree-ssa-forwprop.c (simplify_builtin_call): Canonicalize
15721          __atomic_fetch_op (p, x, y) op x into __atomic_op_fetch (p, x, y)
15722          and __atomic_op_fetch (p, x, y) iop x into
15723          __atomic_fetch_op (p, x, y).
15724
157252022-01-14  Claudiu Zissulescu  <claziss@synopsys.com>
15726
15727          * config/arc/arc.h (DWARF_FRAME_REGNUM): Update definition.
15728          (DWARF_FRAME_RETURN_COLUMN): Use RETURN_ADDR_REGNUM macro.
15729          (INCOMING_RETURN_ADDR_RTX): Likewise.
15730          (DWARF_ALT_FRAME_RETURN_COLUMN): Define.
15731
157322022-01-14  Claudiu Zissulescu  <claziss@synopsys.com>
15733
15734          * config/arc/arc.c (arc_compute_frame_size): Remove condition when
15735          computin checking accumulator regs.
15736          (arc_expand_prologue): Update comments.
15737          (arc_expand_epilogue): Likewise.
15738
157392022-01-14  Roger Sayle  <roger@nextmovesoftware.com>
15740              Uroš Bizjak  <ubizjak@gmail.com>
15741
15742          * config/i386/i386-expand.c (ix86_expand_v1ti_to_ti): Use force_reg.
15743          (ix86_expand_ti_to_v1ti): Use force_reg.
15744          (ix86_expand_v1ti_shift): Use force_reg.
15745          (ix86_expand_v1ti_rotate): Use force_reg.
15746          (ix86_expand_v1ti_ashiftrt): Provide new three operation
15747          implementations for shifts by 111..126 bits.  Use force_reg.
15748
157492022-01-14  Martin Liska  <mliska@suse.cz>
15750
15751          * common/config/arm/arm-common.c (arm_target_mode): Fix
15752          warning: unterminated quoting directive [-Wformat=].
15753
157542022-01-14  Siddhesh Poyarekar  <siddhesh@gotplt.org>
15755
15756          PR tree-optimization/104009
15757          * tree-object-size.c (compute_builtin_object_size): Bail out on
15758          negative offset.
15759          (plus_stmt_object_size): Return maximum of wholesize and minimum
15760          of 0 for negative offset.
15761
157622022-01-14  liuhongt  <hongtao.liu@intel.com>
15763
15764          PR target/104001
15765          PR target/94790
15766          PR target/104014
15767          * config/i386/i386.md (*xor2andn): Refine predicate of
15768          operands[0] from nonimmediate_operand to
15769          register_operand, remove TARGET_AVX512BW from condition.
15770
157712022-01-14  David Malcolm  <dmalcolm@redhat.com>
15772
15773          * doc/extend.texi (Function Attributes): Note that "tainted_args" can
15774          be used on field decls.
15775          (Common Function Attributes): Add entry on "tainted_args" attribute.
15776
157772022-01-13  Anthony Sharp  <anthonysharp15@gmail.com>
15778              Jason Merrill  <jason@redhat.com>
15779
15780          PR c++/70417
15781          * doc/invoke.texi: Documentation for Wmissing-template-keyword.
15782
157832022-01-13  Uroš Bizjak  <ubizjak@gmail.com>
15784
15785          PR target/103861
15786          * config/i386/i386.md (*ashlqi_ext<mode>_2): New insn pattern.
15787          (*<any_shiftrt:insn>qi_ext<mode>_2): Ditto.
15788          * config/i386/mmx.md (<any_shift:insn>v2qi):
15789          New insn_and_split pattern.
15790
157912022-01-13  Robin Dapp  <rdapp@linux.ibm.com>
15792
15793          * internal-fn.c (expand_partial_load_optab_fn): Add bias.
15794          (expand_partial_store_optab_fn): Likewise.
15795          (internal_len_load_store_bias): New function.
15796          * internal-fn.h (VECT_PARTIAL_BIAS_UNSUPPORTED): New define.
15797          (internal_len_load_store_bias): New function.
15798          * tree-vect-loop-manip.c (vect_set_loop_controls_directly): Set bias.
15799          (vect_set_loop_condition_partial_vectors): Add header_seq parameter.
15800          * tree-vect-loop.c (vect_verify_loop_lens): Verify bias.
15801          (vect_estimate_min_profitable_iters): Account for bias.
15802          (vect_get_loop_len): Add bias-adjusted length.
15803          * tree-vect-stmts.c (vectorizable_store): Use.
15804          (vectorizable_load): Use.
15805          * tree-vectorizer.h (struct rgroup_controls): Add bias-adjusted length.
15806          (LOOP_VINFO_PARTIAL_LOAD_STORE_BIAS): New macro.
15807          * config/rs6000/vsx.md: Use const0 bias predicate.
15808          * doc/md.texi: Document bias value.
15809
158102022-01-13  Andrew MacLeod  <amacleod@redhat.com>
15811
15812          PR tree-optimization/83072
15813          PR tree-optimization/83073
15814          PR tree-optimization/97909
15815          * fold-const.c (expr_not_equal_to): Use a multi-range class.
15816
158172022-01-13  Andrew MacLeod  <amacleod@redhat.com>
15818
15819          PR tree-optimization/96707
15820          * range-op.cc (operator_rshift::lhs_op1_relation): New.
15821
158222022-01-13  Uroš Bizjak  <ubizjak@gmail.com>
15823
15824          * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
15825          Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
15826          (negv2qi splitters): Use lowpart_subreg instead of
15827          gen_lowpart to create subreg.
15828          (<plusminus:insn>v2qi3): Disparage GPR alternative a bit.
15829          Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
15830          (<plusminus:insn>v2qi3 splitters): Use lowpart_subreg instead of
15831          gen_lowpart to create subreg.
15832          * config/i386/i386.md (*subqi_ext<mode>_2): Move.
15833
158342022-01-13  Uroš Bizjak  <ubizjak@gmail.com>
15835
15836          PR target/104003
15837          * config/i386/mmx.md (*xop_pcmov_<mode>): Use VI_16_32 mode iterator.
15838
158392022-01-13  Martin Liska  <mliska@suse.cz>
15840
15841          * common/config/arm/arm-common.c (arm_target_mode): Wrap
15842          keywords with %<, %> and remove trailing punctuation char.
15843          (arm_canon_arch_option_1): Likewise.
15844          (arm_asm_auto_mfpu): Likewise.
15845          * config/arm/arm-builtins.c (arm_expand_builtin): Likewise.
15846          * config/arm/arm.c (arm_options_perform_arch_sanity_checks): Likewise.
15847          (use_vfp_abi): Likewise.
15848          (aapcs_vfp_is_call_or_return_candidate): Likewise.
15849          (arm_handle_cmse_nonsecure_entry): Likewise.
15850          (arm_handle_cmse_nonsecure_call): Likewise.
15851          (thumb1_md_asm_adjust): Likewise.
15852
158532022-01-13  Paul A. Clarke  <pc@us.ibm.com>
15854
15855          * config/rs6000/smmintrin.h (_mm_round_pd, _mm_round_ps,
15856          _mm_round_sd, _mm_round_ss, _MM_FROUND_TO_NEAREST_INT,
15857          _MM_FROUND_TO_ZERO, _MM_FROUND_TO_POS_INF, _MM_FROUND_TO_NEG_INF,
15858          _MM_FROUND_CUR_DIRECTION, _MM_FROUND_RAISE_EXC, _MM_FROUND_NO_EXC,
15859          _MM_FROUND_NINT, _MM_FROUND_FLOOR, _MM_FROUND_CEIL, _MM_FROUND_TRUNC,
15860          _MM_FROUND_RINT, _MM_FROUND_NEARBYINT): New.
15861          (_mm_ceil_pd, _mm_ceil_ps, _mm_ceil_sd, _mm_ceil_ss, _mm_floor_pd,
15862          _mm_floor_ps, _mm_floor_sd, _mm_floor_ss): Convert from function to
15863          macro.
15864
158652022-01-13  Jakub Jelinek  <jakub@redhat.com>
15866
15867          PR tree-optimization/103989
15868          * tree-inline.c (setup_one_parameter): Don't copy parms with
15869          empty type.
15870
158712022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
15872
15873          * tree-streamer-out.c (pack_ts_base_value_fields): Don't pack
15874          'TYPE_ADDR_SPACE' for offloading.
15875          * tree-streamer-in.c (unpack_ts_base_value_fields): Don't unpack
15876          'TYPE_ADDR_SPACE' for offloading.
15877
158782022-01-13  Julian Brown  <julian@codesourcery.com>
15879              Thomas Schwinge  <thomas@codesourcery.com>
15880
15881          * omp-oacc-kernels-decompose.cc (add_wait): New function, split out
15882          of...
15883          (add_async_clauses_and_wait): ...here. Call new outlined function.
15884          (decompose_kernels_region_body): Add wait at the end of
15885          explicitly-asynchronous kernels regions.
15886
158872022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
15888
15889          PR middle-end/100280
15890          * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
15891          Mark variables used in synthesized data clauses as addressable.
15892
158932022-01-13  Martin Liska  <mliska@suse.cz>
15894
15895          * config/epiphany/epiphany.c (epiphany_mode_priority):
15896          Use gcc_unreachable for not handled cases.
15897
158982022-01-13  Martin Liska  <mliska@suse.cz>
15899
15900          * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
15901          Use %qs format specifier.
15902          (epiphany_override_options): Wrap keyword in %<, %>.
15903
159042022-01-13  Haochen Jiang  <haochen.jiang@intel.com>
15905
15906          PR target/94790
15907          * config/i386/i386.md (*xor2andn): New define_insn_and_split.
15908
159092022-01-13  Xionghu Luo  <luoxhu@linux.ibm.com>
15910
15911          * config/rs6000/altivec.md (sldoi_to_mov<mode>): New.
15912
159132022-01-12  Uroš Bizjak  <ubizjak@gmail.com>
15914
15915          PR target/100637
15916          PR target/103861
15917          * config/i386/i386-expand.c (ix86_emit_vec_binop): New static function.
15918          (ix86_expand_sse_movcc): Use ix86_emit_vec_binop instead of gen_rtx_X
15919          when constructing vector logic RTXes.
15920          (expand_vec_perm_pshufb2): Ditto.
15921          * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
15922          (<plusminus:insn>v2qi3): Ditto.
15923          (vcond<mode><mode>): Re-enable for TARGET_SSE2.
15924          (vcondu<mode><mode>): Ditto.
15925          (vcond_mask_<mode><mode>): Ditto.
15926          (one_cmpl<VI_32:mode>2): Remove expander.
15927          (one_cmpl<VI_16_32:mode>2): Rename from one_cmplv2qi.
15928          Use VI_16_32 mode iterator.
15929          (one_cmpl<VI_16_32:mode>2 splitters): Use VI_16_32 mode iterator.
15930          Use lowpart_subreg instead of gen_lowpart to create subreg.
15931          (*andnot<VI_16_32:mode>3): Merge from "*andnot<VI_32:mode>" and
15932          "*andnotv2qi3" insn patterns using VI_16_32 mode iterator.
15933          Disparage GPR alternative a bit.  Add CC clobber.
15934          (*andnot<VI_16_32:mode>3 splitters): Use VI_16_32 mode iterator.
15935          Use lowpart_subreg instead of gen_lowpart to create subreg.
15936          (*<any_logic:code><VI_16_32:mode>3): Merge from
15937          "*<any_logic:code><VI_32:mode>" and "*<any_logic:code>v2qi3" insn patterns
15938          using VI_16_32 mode iterator.  Disparage GPR alternative a bit.
15939          Add CC clobber.
15940          (*<any_logic:code><VI_16_32:mode>3 splitters):Use VI_16_32 mode
15941          iterator.  Use lowpart_subreg instead of gen_lowpart to create subreg.
15942
159432022-01-12  Clément Chigot  <clement.chigot@atos.net>
15944
15945          * configure.ac: Check sizeof ino_t and dev_t.
15946          (HOST_STAT_FOR_64BIT_INODES): New AC_DEFINE to provide stat
15947          syscall being able to handle 64bit inodes.
15948          * config.in: Regenerate.
15949          * configure: Regenerate.
15950          * incpath.c (HOST_STAT_FOR_64BIT_INODES): New define.
15951          (remove_duplicates): Use it.
15952
159532022-01-12  Andrew MacLeod  <amacleod@redhat.com>
15954
15955          PR tree-optimization/103551
15956          * tree-vrp.c (execute_ranger_vrp): Always set EDGE_EXECUTABLE.
15957
159582022-01-12  Richard Biener  <rguenther@suse.de>
15959
15960          PR tree-optimization/103990
15961          * tree-pass.h (tail_merge_optimize): Drop unused argument.
15962          * tree-ssa-tail-merge.c (tail_merge_optimize): Likewise.
15963          * tree-ssa-pre.c (pass_pre::execute): Retain TODO_cleanup_cfg
15964          and adjust call to tail_merge_optimize.
15965
159662022-01-12  Andre Vieira  <andre.simoesdiasvieira@arm.com>
15967
15968          * tree-vect-loop.c (vect-analyze-loop): Handle scenario where target
15969          does not add autovectorize_vector_modes.
15970
159712022-01-12  Martin Liska  <mliska@suse.cz>
15972
15973          * config/aarch64/aarch64.c (aarch64_parse_boolean_options): Use
15974          %qs where possible.
15975          (aarch64_parse_sve_width_string): Likewise.
15976          (aarch64_override_options_internal): Likewise.
15977          (aarch64_print_hint_for_extensions): Likewise.
15978          (aarch64_validate_sls_mitigation): Likewise.
15979          (aarch64_handle_attr_arch): Likewise.
15980          (aarch64_handle_attr_cpu): Likewise.
15981          (aarch64_handle_attr_tune): Likewise.
15982          (aarch64_handle_attr_isa_flags): Likewise.
15983
159842022-01-12  Martin Liska  <mliska@suse.cz>
15985
15986          * config.gcc: Include elfos.h before ${tm_file}.
15987
159882022-01-12  Hans-Peter Nilsson  <hp@axis.com>
15989
15990          * config/cris/cris.c: Quote identifiers in parameters to error
15991          and internal_error, and remove extraneous spaces with punctuation.
15992          * config/cris/cris.h (CRIS_ASSERT): When passing on stringified
15993          expression to internal_error, pass it as a parameter instead of
15994          appending it to the format part.
15995
159962022-01-12  Hans-Peter Nilsson  <hp@axis.com>
15997
15998          * config/cris/cris.c (cris_postdbr_cmpelim): Parenthesize
15999          parameter to as_a.
16000
160012022-01-11  qing zhao  <qing.zhao@oracle.com>
16002
16003          * gimplify.c (gimple_add_init_for_auto_var): Delete the 3rd argument.
16004          Change the 3rd argument of function .DEFERRED_INIT to the name of the
16005          decl.
16006          (gimplify_decl_expr): Delete the 3rd argument when call
16007          gimple_add_init_for_auto_var.
16008          * internal-fn.c (expand_DEFERRED_INIT): Update comments to reflect
16009          the 3rd argument change of function .DEFERRED_INIT.
16010          * tree-cfg.c (verify_gimple_call): Update comments and verification
16011          to reflect the 3rd argument change of function .DEFERRED_INIT.
16012          * tree-sra.c (generate_subtree_deferred_init): Delete the 3rd argument.
16013          (sra_modify_deferred_init): Change the 3rd argument of function
16014          .DEFERRED_INIT to the name of the decl.
16015
160162022-01-11  Thomas Koenig  <tkoenig@gcc.gnu.org>
16017
16018          * flag-types.h (enum gfc_convert): Add flags for
16019          conversion.
16020
160212022-01-11  Michael Meissner  <meissner@the-meissners.org>
16022
16023          * config/rs6000/rs6000.c (rs6000_option_override_internal): Remove
16024          checks for only C/C++ front ends before allowing the long double
16025          format to change without a warning.
16026
160272022-01-11  Richard Sandiford  <richard.sandiford@arm.com>
16028
16029          PR rtl-optimization/103974
16030          * ira-int.h (ira_subloop_allocnos_can_differ_p): Take an
16031          extra argument, default true, that says whether old-reload
16032          targets should be excluded.
16033          * ira-color.c (color_pass): Pass false.
16034
160352022-01-11  Uroš Bizjak  <ubizjak@gmail.com>
16036
16037          PR target/103861
16038          * config/i386/mmx.md (vcond<mode><mode>):
16039          Use VI_16_32 mode iterator.  Enable for TARGET_SSE4_1.
16040          (vcondu<mode><mode>): Ditto.
16041          (vcond_mask_<mode><mode>): Ditto.
16042          (mmx_pblendvb_v8qi): Rename from mmx_pblendvb64.
16043          (mmx_pblendvb_<mode>): Rename from mmx_pblendvb32.
16044          Use VI_16_32 mode iterator.
16045          * config/i386/i386-expand.c (ix86_expand_sse_movcc):
16046          Update for rename.  Handle V2QImode.
16047          (expand_vec_perm_blend): Update for rename.
16048
160492022-01-11  Jakub Jelinek  <jakub@redhat.com>
16050
16051          PR c++/101597
16052          * tree.def (OBJ_TYPE_REF): Document type of OBJ_TYPE_REF_TOKEN.
16053
160542022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
16055
16056          PR middle-end/70090
16057          * tree-object-size.c (size_valid_p): New function.
16058          (size_for_offset): Remove OFFSET constness assertion.
16059          (addr_object_size): Build dynamic expressions for object
16060          sizes and use size_valid_p to decide if it is valid for the
16061          given OBJECT_SIZE_TYPE.
16062          (compute_builtin_object_size): Allow dynamic offsets when
16063          computing size at O0.
16064          (call_object_size): Call size_valid_p.
16065          (plus_stmt_object_size): Allow non-constant offset and use
16066          size_valid_p to decide if it is valid for the given
16067          OBJECT_SIZE_TYPE.
16068
160692022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
16070
16071          PR middle-end/70090
16072          * tree-object-size.c (alloc_object_size): Make and return
16073          non-constant size expression.
16074          (call_object_size): Return expression or unknown based on
16075          whether dynamic object size is requested.
16076
160772022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
16078
16079          PR middle-end/70090
16080          * tree-object-size.c: Include tree-dfa.h.
16081          (parm_object_size): New function.
16082          (collect_object_sizes_for): Call it.
16083
160842022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
16085
16086          PR middle-end/70090
16087          * builtins.c (fold_builtin_object_size): Adjust for dynamic size
16088          expressions.
16089          * tree-object-size.c: Include gimplify-me.h.
16090          (struct object_size_info): New member UNKNOWNS.
16091          (size_initval_p, size_usable_p, object_sizes_get_raw): New
16092          functions.
16093          (object_sizes_get): Return suitable gimple variable for
16094          object size.
16095          (bundle_sizes): New function.
16096          (object_sizes_set): Use it and handle dynamic object size
16097          expressions.
16098          (object_sizes_set_temp): New function.
16099          (size_for_offset): Adjust for dynamic size expressions.
16100          (emit_phi_nodes, propagate_unknowns, gimplify_size_expressions):
16101          New functions.
16102          (compute_builtin_object_size): Call gimplify_size_expressions
16103          for OST_DYNAMIC.
16104          (dynamic_object_size): New function.
16105          (cond_expr_object_size): Use it.
16106          (phi_dynamic_object_size): New function.
16107          (collect_object_sizes_for): Call it for OST_DYNAMIC.  Adjust to
16108          accommodate dynamic object sizes.
16109
161102022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
16111              Jakub Jelinek  <jakub@redhat.com>
16112
16113          PR tree-optimization/103961
16114          * tree-object-size.c (plus_stmt_object_size): Always avoid
16115          computing offset for -1 size.
16116
161172022-01-11  Andrew MacLeod  <amacleod@redhat.com>
16118
16119          PR tree-optimization/103821
16120          * range-op.cc (range_operator::fold_range): Only do precise ranges
16121          when there are not too many subranges.
16122
161232022-01-11  Richard Sandiford  <richard.sandiford@arm.com>
16124
16125          * ira-costs.c (ira_tune_allocno_costs): Fix missing rclass
16126          definition in IRA_HARD_REGNO_ADD_COST_MULTIPLIER code.
16127
161282022-01-11  Roger Sayle  <roger@nextmovesoftware.com>
16129              Richard Biener  <rguenther@suse.de>
16130
16131          * tree-ssa-math-opts.c (struct widen_mul_stats): Add a
16132          highpart_mults_inserted field.
16133          (convert_mult_to_highpart): New function to convert right shift
16134          of a widening multiply into a MULT_HIGHPART_EXPR.
16135          (math_opts_dom_walker::after_dom_children) [RSHIFT_EXPR]:
16136          Call new convert_mult_to_highpart function.
16137          (pass_optimize_widening_mul::execute): Add a statistics counter
16138          for tracking "highpart multiplications inserted" events.
16139
161402022-01-11  Xionghu Luo  <luoxhu@linux.ibm.com>
16141
16142          PR target/102239
16143          * config/rs6000/rs6000-protos.h (rs6000_is_valid_rotate_dot_mask): New
16144          declare.
16145          * config/rs6000/rs6000.c (rs6000_is_valid_rotate_dot_mask): New
16146          function.
16147          * config/rs6000/rs6000.md (*branch_anddi3_dot): New.
16148
161492022-01-11  Olivier Hainque  <hainque@adacore.com>
16150
16151          * gcc.c (driver_handle_option): State --sysroot as
16152          validated.
16153
161542022-01-11  Kewen Lin  <linkw@linux.ibm.com>
16155
16156          * config/rs6000/rs6000.c (rs6000_disable_incompatible_switches): Remove
16157          useless related to option -mno-power10.
16158
161592022-01-11  Haochen Jiang  <haochen.jiang@intel.com>
16160
16161          PR target/53652
16162          * config/i386/sse.md (*andnot<mode>3): Extend predicate of
16163          operands[1] from register_operand to vector_operand.
16164
161652022-01-10  Uroš Bizjak  <ubizjak@gmail.com>
16166
16167          PR target/103861
16168          * config/i386/i386-expand.c (ix86_expand_int_sse_cmp):
16169          Handle V2QImode.
16170          * config/i386/mmx.md (<sat_plusminus:insn><mode>3):
16171          Use VI1_16_32 mode iterator.
16172          (*eq<mode>3): Ditto.
16173          (*gt<mode>3): Ditto.
16174          (*xop_maskcmp<mode>3): Ditto.
16175          (*xop_maskcmp_uns<mode>3): Ditto.
16176          (vec_cmp<mode><mode>): Ditto.
16177          (vec_cmpu<mode><mode>): Ditto.
16178
161792022-01-10  Richard Biener  <rguenther@suse.de>
16180
16181          PR tree-optimization/103948
16182          * tree-vect-generic.c (expand_vector_condition): Return true if
16183          all ones vector is returned for true, all zeros vector for false
16184          and the target defines corresponding vec_cmp{,u}MN named RTX pattern.
16185
161862022-01-10  Paul A. Clarke  <pc@us.ibm.com>
16187
16188          * config/rs6000/smmintrin.h (_mm_blendv_epi8): Use vec_blendv
16189          when _ARCH_PWR10. Use signed types.
16190          (_mm_blendv_ps): Use vec_blendv when _ARCH_PWR10.
16191          (_mm_blendv_pd): Likewise.
16192
161932022-01-10  Andre Vieira  <andre.simoesdiasvieira@arm.com>
16194
16195          * tree-vectorizer.c (better_epilogue_loop_than_p): Round factors up for
16196          epilogue costing.
16197          * tree-vect-loop.c (vect_analyze_loop): Re-analyze all modes for
16198          epilogues, unless we are guaranteed that we can't have partial vectors.
16199          * genopinit.c: (partial_vectors_supported): Generate new function.
16200
162012022-01-10  Jakub Jelinek  <jakub@redhat.com>
16202
16203          PR target/102024
16204          * config/i386/i386.c (classify_argument): Add zero_width_bitfields
16205          argument, when seeing DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD bitfields,
16206          always ignore them, when seeing other zero sized bitfields, either
16207          set zero_width_bitfields to 1 and ignore it or if equal to 2 process
16208          it.  Pass it to recursive calls.  Add wrapper
16209          with old arguments and diagnose ABI differences for C structures
16210          with zero width bitfields.  Formatting fixes.
16211
162122022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
16213
16214          PR rtl-optimization/98782
16215          * ira-int.h (ira_soft_conflict): Declare.
16216          * ira-color.c (max_soft_conflict_loop_depth): New constant.
16217          (ira_soft_conflict): New function.
16218          (spill_soft_conflicts): Likewise.
16219          (assign_hard_reg): Use them to handle the case described by
16220          the comment above ira_soft_conflict.
16221          (improve_allocation): Likewise.
16222          * ira.c (check_allocation): Allow allocnos with "soft" conflicts
16223          to share the same register.
16224
162252022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
16226
16227          PR rtl-optimization/98782
16228          * ira-int.h (ira_caller_save_cost): New function.
16229          (ira_caller_save_loop_spill_p): Likewise.
16230          * ira-build.c (ira_propagate_hard_reg_costs): Test whether it is
16231          cheaper to spill a call-clobbered register throughout a loop rather
16232          than spill it around each individual call.  If so, treat all
16233          call-clobbered registers as conflicts and...
16234          (propagate_allocno_info): ...do not propagate call information
16235          from the child to the parent.
16236          * ira-color.c (move_spill_restore): Update accordingly.
16237          * ira-costs.c (ira_tune_allocno_costs): Use ira_caller_save_cost.
16238
162392022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
16240
16241          PR rtl-optimization/98782
16242          * ira-int.h (ira_allocno::might_conflict_with_parent_p): New field.
16243          (ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P): New macro.
16244          (ira_single_region_allocno_p): New function.
16245          (ira_total_conflict_hard_regs): Likewise.
16246          * ira-build.c (ira_create_allocno): Initialize
16247          ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P.
16248          (ira_propagate_hard_reg_costs): New function.
16249          (propagate_allocno_info): Use it.  Try to avoid propagating
16250          hard register conflicts to parent allocnos if we can handle
16251          the conflicts by spilling instead.  Limit the propagated
16252          register costs to the cost of spilling throughout the child loop.
16253          * ira-color.c (color_pass): Use ira_single_region_allocno_p to
16254          test whether a child and parent allocno can share the same
16255          register.
16256          (move_spill_restore): Adjust for the new behavior of
16257          propagate_allocno_info.
16258
162592022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
16260
16261          PR rtl-optimization/98782
16262          * ira-int.h (ira_subloop_allocnos_can_differ_p): New function,
16263          extracted from...
16264          * ira-color.c (color_pass): ...here.
16265
162662022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
16267
16268          PR rtl-optimization/98782
16269          * ira-color.c (color_pass): Add comments to describe the spill costs.
16270          (move_spill_restore): Likewise.  Fix reversed calculation.
16271
162722022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
16273
16274          PR rtl-optimization/98782
16275          * ira-int.h (ira_loop_border_costs): New class.
16276          * ira-color.c (ira_loop_border_costs::ira_loop_border_costs):
16277          New constructor.
16278          (calculate_allocno_spill_cost): Use ira_loop_border_costs.
16279          (color_pass): Likewise.
16280          (move_spill_restore): Likewise.
16281
162822022-01-10  Eric Botcazou  <ebotcazou@adacore.com>
16283
16284          PR target/103465
16285          * coretypes.h (unwind_info_type): Swap UI_SEH and UI_TARGET.
16286
162872022-01-10  Richard Biener  <rguenther@suse.de>
16288
16289          PR tree-optimization/100359
16290          * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
16291          Allow non-growing peeling with !allow_peel and UL_ALL.
16292
162932022-01-08  Roger Sayle  <roger@nextmovesoftware.com>
16294
16295          * config/i386/i386-expand.c (ix86_expand_vector_move): Add
16296          special case for TImode to V1TImode moves, going via V2DImode.
16297
162982022-01-08  Jakub Jelinek  <jakub@redhat.com>
16299
16300          PR c++/89074
16301          * match.pd ((ptr) (x p+ y) p+ z -> (ptr) (x p+ (y + z))): New GENERIC
16302          simplification.
16303
163042022-01-08  David Malcolm  <dmalcolm@redhat.com>
16305
16306          * doc/analyzer.texi
16307          (Special Functions for Debugging the Analyzer): Document
16308          __analyzer_dump_escaped.
16309
163102022-01-08  David Malcolm  <dmalcolm@redhat.com>
16311
16312          * doc/analyzer.texi (Other Debugging Techniques): Document
16313          region::is_named_decl_p.
16314
163152022-01-07  Andrew Pinski  <apinski@marvell.com>
16316
16317          PR target/102941
16318          * config/arm/aarch-common.c (arm_md_asm_adjust):
16319          Use a temp if !REG_P.
16320
163212022-01-07  Uroš Bizjak  <ubizjak@gmail.com>
16322
16323          * config/i386/mmx.md (*move<V_32:mode>_internal): Add isa attribute.
16324          (*movv2qi_internal): Remve sse2 requirement for alternatives 4,5.
16325
163262022-01-07  liuhongt  <hongtao.liu@intel.com>
16327
16328          PR rtl-optimization/103750
16329          * fwprop.c (forward_propagate_into): Allow propagations from
16330          inner loop to outer loop.
16331
163322022-01-07  Roger Sayle  <roger@nextmovesoftware.com>
16333
16334          * config/nvptx/nvptx.md (*cnot<mode>2): New define_insn.
16335
163362022-01-07  Haochen Gui  <guihaoc@gcc.gnu.org>
16337
16338          * config/rs6000/rs6000.md (rs6000_mffscrni): Define.
16339          (rs6000_set_fpscr_rn): Change the type of operand[0] from DI to SI.
16340          Call gen_rs6000_mffscrni when operand[0] is a const_0_to_3_operand.
16341
163422022-01-07  liuhongt  <hongtao.liu@intel.com>
16343
16344          * config/i386/sse.md
16345          (*<avx512>_eq<mode>3<mask_scalar_merge_name>_1): Extend to
16346          UNSPEC_PCMP_UNSIGNED.
16347
163482022-01-07  liuhongt  <hongtao.liu@intel.com>
16349
16350          PR target/103753
16351          * config/i386/i386-expand.c (ix86_expand_vector_set): Not use
16352          gen_avx2_pblendph_1 when elt == 0.
16353          * config/i386/sse.md (avx2_pblendph): Rename to ..
16354          (avx2_pblend<ssemodesuffix>_1).. this, and extend to V16HI.
16355          (*avx2_pblendw): Rename to ..
16356          (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
16357          (avx2_pblendw): Rename to ..
16358          (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
16359          (blendsuf): Removed.
16360          (sse4_1_pblend<blendsuf>): Renamed to ..
16361          (sse4_1_pblend<ssemodesuffix>): .. this.
16362
163632022-01-06  H.J. Lu  <hjl.tools@gmail.com>
16364
16365          PR target/103925
16366          * config/i386/i386.c (ix86_output_indirect_function_return):
16367          Generate INT3 after indirect jmp for -mharden-sls=indirect-jmp.
16368
163692022-01-06  H.J. Lu  <hjl.tools@gmail.com>
16370
16371          PR target/102952
16372          * config/i386/i386-opts.h (harden_sls): Replace
16373          harden_sls_indirect_branch with harden_sls_indirect_jmp.
16374          * config/i386/i386.c (ix86_output_jmp_thunk_or_indirect):
16375          Likewise.
16376          (ix86_output_indirect_jmp): Likewise.
16377          (ix86_output_call_insn): Likewise.
16378          * config/i386/i386.opt: Replace indirect-branch with
16379          indirect-jmp.  Replace harden_sls_indirect_branch with
16380          harden_sls_indirect_jmp.
16381          * doc/invoke.texi (-harden-sls=): Replace indirect-branch with
16382          indirect-jmp.
16383
163842022-01-06  Uroš Bizjak  <ubizjak@gmail.com>
16385
16386          * config/i386/i386.c (ix86_output_ssemov) <MODE_DI>:
16387          Add %q modifier for operands in general registers.
16388          <MODE_SI>: Add %q modifier for operands in general registers.
16389          * config/i386/i386.md (*movhi_internal): Change type attribute of
16390          xmm-gpr interunit alternatives 9,10 to ssemov and mode attribute
16391          to SImode for non-avx512fp16 targets.
16392          (*movhf_internal): Ditto for xmm-gpr interunit alternatives 6,8.
16393          * config/i386/mmx.md (*movv2qi_internal):
16394          Ditto for xmm-gpr interunit alternatives 8,9.
16395
163962022-01-06  Kito Cheng  <kito.cheng@sifive.com>
16397
16398          * common/config/riscv/riscv-common.c (riscv_implied_info): Add
16399          vector extensions.
16400          (riscv_ext_version_table): Add version info for vector extensions.
16401          (riscv_ext_flag_table): Add option mask for vector extensions.
16402          * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): New.
16403          (MASK_VECTOR_EEW_64): New.
16404          (MASK_VECTOR_EEW_FP_32): New.
16405          (MASK_VECTOR_EEW_FP_64): New.
16406          (MASK_ZVL32B): New.
16407          (MASK_ZVL64B): New.
16408          (MASK_ZVL128B): New.
16409          (MASK_ZVL256B): New.
16410          (MASK_ZVL512B): New.
16411          (MASK_ZVL1024B): New.
16412          (MASK_ZVL2048B): New.
16413          (MASK_ZVL4096B): New.
16414          (MASK_ZVL8192B): New.
16415          (MASK_ZVL16384B): New.
16416          (MASK_ZVL32768B): New.
16417          (MASK_ZVL65536B): New.
16418          (TARGET_ZVL32B): New.
16419          (TARGET_ZVL64B): New.
16420          (TARGET_ZVL128B): New.
16421          (TARGET_ZVL256B): New.
16422          (TARGET_ZVL512B): New.
16423          (TARGET_ZVL1024B): New.
16424          (TARGET_ZVL2048B): New.
16425          (TARGET_ZVL4096B): New.
16426          (TARGET_ZVL8192B): New.
16427          (TARGET_ZVL16384B): New.
16428          (TARGET_ZVL32768B): New.
16429          (TARGET_ZVL65536B): New.
16430          * config/riscv/riscv.opt (Mask(VECTOR)): New.
16431          (riscv_vector_eew_flags): New.
16432          (riscv_zvl_flags): New.
16433
164342022-01-06  Kito Cheng  <kito.cheng@sifive.com>
16435
16436          * common/config/riscv/riscv-common.c
16437          (riscv_subset_list::parse_multiletter_ext): Allow ext. name has
16438          digit.
16439
164402022-01-06  Jakub Jelinek  <jakub@redhat.com>
16441
16442          PR tree-optimization/103899
16443          * expr.c (expand_expr_real_1): Add a workaround for bogus uninit
16444          warning by moving context variable to the only spot where it is used
16445          and moving gcc_assert into if body.
16446
164472022-01-06  Jakub Jelinek  <jakub@redhat.com>
16448
16449          PR rtl-optimization/103908
16450          * ifcvt.c (bb_valid_for_noce_process_p): Punt on bbs ending with
16451          asm goto.
16452
164532022-01-05  Bill Schmidt  <wschmidt@linux.ibm.com>
16454
16455          PR target/103622
16456          * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
16457          Skip over instances with undefined function types.
16458
164592022-01-05  Andrew Pinski  <apinski@marvell.com>
16460
16461          PR target/103910
16462          * config/i386/i386.h (x86_mfence): Mark with GTY.
16463
164642022-01-05  Uroš Bizjak  <ubizjak@gmail.com>
16465
16466          PR target/103861
16467          * config/i386/mmx.md (VI_16_32): New mode iterator.
16468          (VI1_16_32): Ditto.
16469          (mmxvecsize): Handle V2QI mode.
16470          (<smaxmin:code><mode>3): Rename from <smaxmin:code>v4qi3.
16471          Use VI1_16_32 mode iterator.
16472          (<umaxmin:code><mode>3): Rename from <umaxmin:code>v4qi3.
16473          Use VI1_16_32 mode iterator.
16474          (abs<mode>2): Use VI_16_32 mode iterator.
16475          (uavgv2qi3_ceil): New insn pattern.
16476
164772022-01-05  Martin Sebor  <msebor@redhat.com>
16478
16479          * gimple-ssa-warn-access.cc (pass_waccess::maybe_warn_memmodel): Use
16480          %qs to avoid -Wformat-diag.
16481
164822022-01-05  Uroš Bizjak  <ubizjak@gmail.com>
16483
16484          PR target/103915
16485          * config/i386/mmx.md (one_cmplv2qi2): Change
16486          alternatives 1,2 type from sselog to sselog1.
16487
164882022-01-05  Uroš Bizjak  <ubizjak@gmail.com>
16489
16490          PR target/103905
16491          * config/i386/i386-expand.c (expand_vec_perm_pshufb): Fix number of
16492          narrow mode remapped elements for !one_operand_p case.
16493
164942022-01-05  Richard Biener  <rguenther@suse.de>
16495
16496          PR tree-optimization/103816
16497          * tree-vect-data-refs.c (vect_analyze_group_access_1): Also
16498          check DR_GROUP_GAP compute for overflow and representability.
16499
165002022-01-05  Jakub Jelinek  <jakub@redhat.com>
16501
16502          PR fortran/103691
16503          * gimple-fold.c (fold_stmt_1): Don't call maybe_fold_reference
16504          for DEBUG stmts with ADDR_EXPR gimple_debug_bind_get_value,
16505          it can do unwanted rhs folding like &a[0] into &2.0 etc.
16506
165072022-01-05  Kewen Lin  <linkw@linux.ibm.com>
16508
16509          PR ipa/102059
16510          * config/rs6000/rs6000.c (TARGET_NEED_IPA_FN_TARGET_INFO): New macro.
16511          (TARGET_UPDATE_IPA_FN_TARGET_INFO): Likewise.
16512          (rs6000_need_ipa_fn_target_info): New function.
16513          (rs6000_update_ipa_fn_target_info): Likewise.
16514          (rs6000_can_inline_p): Adjust for ipa function summary target info.
16515          * config/rs6000/rs6000.h (RS6000_FN_TARGET_INFO_HTM): New macro.
16516          * ipa-fnsummary.c (ipa_dump_fn_summary): Adjust for ipa function
16517          summary target info.
16518          (analyze_function_body): Adjust for ipa function summary target info
16519          and call hook rs6000_need_ipa_fn_target_info and
16520          rs6000_update_ipa_fn_target_info.
16521          (ipa_merge_fn_summary_after_inlining): Adjust for ipa function summary
16522          target info.
16523          (inline_read_section): Likewise.
16524          (ipa_fn_summary_write): Likewise.
16525          * ipa-fnsummary.h (ipa_fn_summary::target_info): New member.
16526          * doc/tm.texi: Regenerate.
16527          * doc/tm.texi.in (TARGET_UPDATE_IPA_FN_TARGET_INFO): Document new hook.
16528          (TARGET_NEED_IPA_FN_TARGET_INFO): Likewise.
16529          * target.def (update_ipa_fn_target_info): New hook.
16530          (need_ipa_fn_target_info): Likewise.
16531          * targhooks.c (default_need_ipa_fn_target_info): New function.
16532          (default_update_ipa_fn_target_info): Likewise.
16533          * targhooks.h (default_update_ipa_fn_target_info): New declare.
16534          (default_need_ipa_fn_target_info): Likewise.
16535
165362022-01-04  Martin Sebor  <msebor@redhat.com>
16537
16538          PR middle-end/99612
16539          * builtins.c (get_memmodel): Move warning code to
16540          gimple-ssa-warn-access.cc.
16541          (expand_builtin_atomic_compare_exchange): Same.
16542          (expand_ifn_atomic_compare_exchange): Same.
16543          (expand_builtin_atomic_load): Same.
16544          (expand_builtin_atomic_store): Same.
16545          (expand_builtin_atomic_clear): Same.
16546          * doc/extend.texi (__atomic_exchange_n): Update valid memory
16547          models.
16548          * gimple-ssa-warn-access.cc (memmodel_to_uhwi): New function.
16549          (struct memmodel_pair): New struct.
16550          (memmodel_name): New function.
16551          (pass_waccess::maybe_warn_memmodel): New function.
16552          (pass_waccess::check_atomic_memmodel): New function.
16553          (pass_waccess::check_atomic_builtin): Handle memory model.
16554          * input.c (expansion_point_location_if_in_system_header): Return
16555          original location if expansion location is in a system header.
16556
165572022-01-04  Uroš Bizjak  <ubizjak@gmail.com>
16558
16559          PR target/103861
16560          * config/i386/mmx.md (one_cmplv2qi3): New insn pattern.
16561          (one_cmplv2qi3 splitters): New post-reload splitters.
16562          (*andnotv2qi3): New insn pattern.
16563          (andnotv2qi3 splitters): New post-reload splitters.
16564          (<any_logic:code>v2qi3): New insn pattern.
16565          (<any_logic:insn>v2qi3 splitters): New post-reload splitters.
16566
165672022-01-04  Richard Biener  <rguenther@suse.de>
16568
16569          PR tree-optimization/103800
16570          * tree-vect-loop.c (vectorizable_phi): Remove assert and
16571          expand comment.
16572
165732022-01-04  Richard Biener  <rguenther@suse.de>
16574
16575          PR tree-optimization/103690
16576          * tree-pass.h (tail_merge_optimize): Adjust.
16577          * tree-ssa-tail-merge.c (tail_merge_optimize): Pass in whether
16578          to re-split critical edges, move CFG cleanup ...
16579          * tree-ssa-pre.c (pass_pre::execute): ... here, before
16580          simple_dce_from_worklist and delay freeing inserted_exprs from
16581          ...
16582          (fini_pre): .. here.
16583
165842022-01-04  Roger Sayle  <roger@nextmovesoftware.com>
16585
16586          * config/nvptx/nvptx.h (STORE_FLAG_VALUE): Change to 1.
16587          * config/nvptx/nvptx.md (movbi): Use P1 constraint for true.
16588          (setcc_from_bi): Remove SImode specific pattern.
16589          (setcc<mode>_from_bi): Provide more general HSDIM pattern.
16590          (extendbi<mode>2, zeroextendbi<mode>2): Provide instructions
16591          for sign- and zero-extending BImode predicates to integers.
16592          (setcc_int<mode>): Remove previous (-1-based) instructions.
16593          (cstorebi4): Remove BImode to SImode specific expander.
16594          (cstore<mode>4): Fix indentation.  Expand using setccsi_from_bi.
16595          (cstore<mode>4): For both integer and floating point modes.
16596
165972022-01-04  Olivier Hainque  <hainque@adacore.com>
16598
16599          * gcc.c (driver_handle_option): do_save --sysroot.
16600
166012022-01-04  Richard Biener  <rguenther@suse.de>
16602
16603          PR tree-optimization/103864
16604          PR tree-optimization/103544
16605          * tree-vect-slp.c (vect_analyze_slp_instance): Exclude
16606          reductions wrapped in conversions from SLP handling.
16607          (vect_analyze_slp): Revert PR103544 change.
16608
166092022-01-04  Jakub Jelinek  <jakub@redhat.com>
16610
16611          PR rtl-optimization/103860
16612          * shrink-wrap.c (try_shrink_wrapping): Don't call can_get_prologue
16613          uselessly for blocks for which it has been called already.
16614
166152022-01-04  Cui,Lili  <lili.cui@intel.com>
16616
16617          * common/config/i386/cpuinfo.h (get_intel_cpu): Add new model values
16618          to Alderlake and Rocketlake.
16619
166202022-01-04  Chung-Lin Tang  <cltang@codesourcery.com>
16621
16622          PR middle-end/103643
16623          * gimplify.c (gimplify_omp_affinity): Adjust gimplify_expr of entire
16624          OMP_CLAUSE_DECL to use 'is_gimple_lvalue, fb_lvalue'
16625
166262022-01-04  liuhongt  <hongtao.liu@intel.com>
16627
16628          PR target/103895
16629          * config/i386/sse.md (*bit_and_float_vector_all_ones):
16630          Force_reg operand 1 to avoid ICE.
16631
166322022-01-04  Jason Merrill  <jason@redhat.com>
16633
16634          * tree-pretty-print.c (do_niy): Add spc parameter.
16635          (NIY): Pass it.
16636          (print_call_name): Add spc local variable.
16637
166382022-01-03  Uroš Bizjak  <ubizjak@gmail.com>
16639
16640          PR target/103894
16641          * config/i386/mmx.md (mov<V_32:mode>): Remove TARGET_SSE2 constraint.
16642          (mov<V_32:mode>_internal): Ditto.
16643          (*push<V_32:mode>_rex64): Ditto.
16644          (movmisalign<V_32:mode>): Ditto.
16645          (*push<V_32:mode>_rex64 splitter): Enable for
16646          TARGET_64BIT && TARGET_SSE.
16647          (*push<V_32:mode>2): Remove insn pattern.
16648
166492022-01-03  Andrew Pinski  <apinski@marvell.com>
16650
16651          PR c/33193
16652          * doc/extend.texi: Extend the documentation about Complex
16653          types for casting and also rewrite the __real__/__imag__
16654          expression portion to use tables.
16655          Move __builtin_complex to the Complex type section.
16656
166572022-01-03  Jakub Jelinek  <jakub@redhat.com>
16658
16659          PR target/98737
16660          * internal-fn.def (ATOMIC_ADD_FETCH_CMP_0, ATOMIC_SUB_FETCH_CMP_0,
16661          ATOMIC_AND_FETCH_CMP_0, ATOMIC_OR_FETCH_CMP_0, ATOMIC_XOR_FETCH_CMP_0):
16662          New internal fns.
16663          * internal-fn.h (ATOMIC_OP_FETCH_CMP_0_EQ, ATOMIC_OP_FETCH_CMP_0_NE,
16664          ATOMIC_OP_FETCH_CMP_0_LT, ATOMIC_OP_FETCH_CMP_0_LE,
16665          ATOMIC_OP_FETCH_CMP_0_GT, ATOMIC_OP_FETCH_CMP_0_GE): New enumerators.
16666          * internal-fn.c (expand_ATOMIC_ADD_FETCH_CMP_0,
16667          expand_ATOMIC_SUB_FETCH_CMP_0, expand_ATOMIC_AND_FETCH_CMP_0,
16668          expand_ATOMIC_OR_FETCH_CMP_0, expand_ATOMIC_XOR_FETCH_CMP_0): New
16669          functions.
16670          * optabs.def (atomic_add_fetch_cmp_0_optab,
16671          atomic_sub_fetch_cmp_0_optab, atomic_and_fetch_cmp_0_optab,
16672          atomic_or_fetch_cmp_0_optab, atomic_xor_fetch_cmp_0_optab): New
16673          direct optabs.
16674          * builtins.h (expand_ifn_atomic_op_fetch_cmp_0): Declare.
16675          * builtins.c (expand_ifn_atomic_op_fetch_cmp_0): New function.
16676          * tree-ssa-ccp.c: Include internal-fn.h.
16677          (optimize_atomic_bit_test_and): Add . before internal fn call
16678          in function comment.  Change return type from void to bool and
16679          return true only if successfully replaced.
16680          (optimize_atomic_op_fetch_cmp_0): New function.
16681          (pass_fold_builtins::execute): Use optimize_atomic_op_fetch_cmp_0
16682          for BUILT_IN_ATOMIC_{ADD,SUB,AND,OR,XOR}_FETCH_{1,2,4,8,16} and
16683          BUILT_IN_SYNC_{ADD,SUB,AND,OR,XOR}_AND_FETCH_{1,2,4,8,16},
16684          for *XOR* ones only if optimize_atomic_bit_test_and failed.
16685          * config/i386/sync.md (atomic_<plusminus_mnemonic>_fetch_cmp_0<mode>,
16686          atomic_<logic>_fetch_cmp_0<mode>): New define_expand patterns.
16687          (atomic_add_fetch_cmp_0<mode>_1, atomic_sub_fetch_cmp_0<mode>_1,
16688          atomic_<logic>_fetch_cmp_0<mode>_1): New define_insn patterns.
16689          * doc/md.texi (atomic_add_fetch_cmp_0<mode>,
16690          atomic_sub_fetch_cmp_0<mode>, atomic_and_fetch_cmp_0<mode>,
16691          atomic_or_fetch_cmp_0<mode>, atomic_xor_fetch_cmp_0<mode>): Document
16692          new named patterns.
16693
166942022-01-03  Richard Biener  <rguenther@suse.de>
16695
16696          PR middle-end/103851
16697          * tree-cfg.c (move_sese_region_to_fn): Always release SSA names.
16698
166992022-01-03  Jakub Jelinek  <jakub@redhat.com>
16700
16701          PR c++/94716
16702          * symtab.c: Include fold-const.h.
16703          (symtab_node::equal_address_to): If folding_initializer is true,
16704          handle it like memory_accessed.  Simplify.
16705
167062022-01-03  Martin Liska  <mliska@suse.cz>
16707
16708          * doc/extend.texi: Use ; for function declarations.
16709
167102022-01-03  Jakub Jelinek  <jakub@redhat.com>
16711
16712          PR c++/103600
16713          * symtab.c (symtab_node::equal_address_to): Return 0 if one of
16714          VAR_DECLs has "non overlapping" attribute and rs1 != rs2.
16715
167162022-01-03  Jakub Jelinek  <jakub@redhat.com>
16717
16718          * gcc.c (process_command): Update copyright notice dates.
16719          * gcov-dump.c (print_version): Ditto.
16720          * gcov.c (print_version): Ditto.
16721          * gcov-tool.c (print_version): Ditto.
16722          * gengtype.c (create_file): Ditto.
16723          * doc/cpp.texi: Bump @copying's copyright year.
16724          * doc/cppinternals.texi: Ditto.
16725          * doc/gcc.texi: Ditto.
16726          * doc/gccint.texi: Ditto.
16727          * doc/gcov.texi: Ditto.
16728          * doc/install.texi: Ditto.
16729          * doc/invoke.texi: Ditto.
16730
167312022-01-02  Uroš Bizjak  <ubizjak@gmail.com>
16732
16733          PR target/103861
16734          * config/i386/i386.h (VALID_SSE2_REG_MODE): Add V2QImode.
16735          (VALID_INT_MODE_P): Ditto.
16736          * config/i386/i386.c (ix86_secondary_reload): Handle
16737          V2QImode reloads from SSE register to memory.
16738          (vector_mode_supported_p): Always return true for V2QImode.
16739          * config/i386/i386.md (*subqi_ext<mode>_2): New insn pattern.
16740          (*negqi_ext<mode>_2): Ditto.
16741          * config/i386/mmx.md (movv2qi): New expander.
16742          (movmisalignv2qi): Ditto.
16743          (*movv2qi_internal): New insn pattern.
16744          (*pushv2qi2): Ditto.
16745          (negv2qi2 and splitters): Ditto.
16746          (<plusminus:insn>v2qi3 and splitters): Ditto.
16747
167482022-01-02  John David Anglin  <danglin@gcc.gnu.org>
16749
16750          * config/pa/pa.md (atomic_storeq): Use optab_libfunc to access
16751          sync_lock_test_and_set libfunc. Call convert_memory_address to
16752          convert memory address to Pmode.
16753          (atomic_storehi, atomic_storesi, atomic_storedi): Likewise.
16754
16755
16756Copyright (C) 2022 Free Software Foundation, Inc.
16757
16758Copying and distribution of this file, with or without modification,
16759are permitted in any medium without royalty provided the copyright
16760notice and this notice are preserved.
16761