analyzer: fix feasibility false +ve on jumps through function ptrs [PR107582]
[platform/upstream/gcc.git] / gcc / ChangeLog
1 2022-11-18  Andrew Pinski  <apinski@marvell.com>
2
3         PR middle-end/107705
4         * function.cc (aggregate_value_p): Return 0 if
5         the function type was an error operand.
6
7 2022-11-18  Andrew Pinski  <apinski@marvell.com>
8
9         PR c/106764
10         PR c/106765
11         PR c/107307
12         * gimplify.cc (gimplify_compound_lval): Return GS_ERROR
13         if gimplify_expr had return GS_ERROR.
14         (gimplify_call_expr): Likewise.
15
16 2022-11-18  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
17
18         * config/aarch64/atomics.md (*aarch64_atomic_load<ALLX:mode>_rcpc_sext):
19         Use <GPI:w>  for destination format.
20         * config/aarch64/iterators.md (w_sz): Delete.
21
22 2022-11-18  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
23
24         * config/aarch64/aarch64.h (TARGET_RCPC2): Define.
25         * config/aarch64/atomics.md (*aarch64_atomic_load<ALLX:mode>_rcpc_zext):
26         Adjust output template.
27         (*aarch64_atomic_load<ALLX:mode>_rcpc_sex): Guard on TARGET_RCPC2.
28         Adjust output template.
29         * config/aarch64/iterators.md (w_sz): New mode attr.
30
31 2022-11-18  Richard Biener  <rguenther@suse.de>
32
33         PR tree-optimization/107647
34         * tree-vect-slp-patterns.cc (addsub_pattern::recognize): Only
35         allow FMA generation with -ffp-contract=fast for FP types.
36         (complex_mul_pattern::matches): Likewise.
37
38 2022-11-18  Jinyang He  <hejinyang@loongson.cn>
39
40         PR target/107713
41         * config/loongarch/sync.md
42         (atomic_cas_value_exchange_7_<mode>): New define_insn.
43         (atomic_exchange): Use atomic_cas_value_exchange_7_si instead of
44         atomic_cas_value_cmp_and_7_si.
45
46 2022-11-17  Andrew Pinski  <apinski@marvell.com>
47
48         PR middle-end/107734
49         * match.pd (perm + vector op pattern): Clear the sbitmap before
50         use.
51
52 2022-11-17  Aldy Hernandez  <aldyh@redhat.com>
53
54         PR tree-optimization/107732
55         * range-op-float.cc (foperator_abs::op1_range): Early exit when
56         result is undefined.
57
58 2022-11-17  Philipp Tomsich  <philipp.tomsich@vrull.eu>
59
60         * config/riscv/bitmanip.md (*bclri<mode>_nottwobits): New pattern.
61         (*bclridisi_nottwobits): New pattern, handling the sign-bit.
62         * config/riscv/predicates.md (const_nottwobits_operand):
63         New predicate.
64
65 2022-11-17  Philipp Tomsich  <philipp.tomsich@vrull.eu>
66
67         * config/riscv/bitmanip.md: Add a splitter to generate
68         polarity-reversed masks from a set bit using bexti + addi.
69
70 2022-11-17  mtsamis  <manolis.tsamis@vrull.eu>
71
72         * config/riscv/riscv.cc (struct machine_function): Add array to store
73         register wrapping information.
74         (riscv_for_each_saved_reg): Skip registers that are wrapped separetely.
75         (riscv_get_separate_components): New function.
76         (riscv_components_for_bb): Likewise.
77         (riscv_disqualify_components): Likewise.
78         (riscv_process_components): Likewise.
79         (riscv_emit_prologue_components): Likewise.
80         (riscv_emit_epilogue_components): Likewise.
81         (riscv_set_handled_components): Likewise.
82         (TARGET_SHRINK_WRAP_GET_SEPARATE_COMPONENTS): Define.
83         (TARGET_SHRINK_WRAP_COMPONENTS_FOR_BB): Likewise.
84         (TARGET_SHRINK_WRAP_DISQUALIFY_COMPONENTS): Likewise.
85         (TARGET_SHRINK_WRAP_EMIT_PROLOGUE_COMPONENTS): Likewise.
86         (TARGET_SHRINK_WRAP_EMIT_EPILOGUE_COMPONENTS): Likewise.
87         (TARGET_SHRINK_WRAP_SET_HANDLED_COMPONENTS): Likewise.
88
89 2022-11-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
90
91         * config/aarch64/atomics.md (*aarch64_atomic_load<ALLX:mode>_rcpc_zext):
92         Add mode size check to condition.
93         (*aarch64_atomic_load<ALLX:mode>_rcpc_sext): Likewise.
94
95 2022-11-17  Aldy Hernandez  <aldyh@redhat.com>
96
97         PR tree-optimization/68097
98         * gimple-fold.cc (gimple_stmt_nonnegative_warnv_p): Call
99         range_of_stmt for floats.
100
101 2022-11-17  Lili Cui  <lili.cui@intel.com>
102
103         * config/i386/x86-tune.def
104         (X86_TUNE_AVX256_MOVE_BY_PIECES): Add alderlake.
105         (X86_TUNE_AVX256_STORE_BY_PIECES): Ditto.
106
107 2022-11-17  Tamar Christina  <tamar.christina@arm.com>
108
109         PR tree-optimization/107717
110         * match.pd: Ensure same SSA_NAME.
111
112 2022-11-17  Tamar Christina  <tamar.christina@arm.com>
113
114         * match.pd: Replace GET_MODE_WIDER_MODE with
115         custom code.
116
117 2022-11-17  Aldy Hernandez  <aldyh@redhat.com>
118
119         * range-op-float.cc (range_operator_float::fold_range): Make check
120         for maybe_isnan more readable.
121
122 2022-11-17  Kewen Lin  <linkw@linux.ibm.com>
123
124         * gimple-fold.cc (gimple_fold_partial_load_store_mem_ref): Use
125         tree_fits_shwi_p rather than tree_fits_uhwi_p as bias is signed.
126
127 2022-11-17  Jia-Wei Chen  <jiawei@iscas.ac.cn>
128
129         * config/riscv/riscv.cc (riscv_expand_epilogue):
130         Do not emit useless add sp, sp, 0 instrutions.
131
132 2022-11-17  Jeff Law  <jlaw@ventanamicro.com>
133
134         * config/sh/sh_treg_combine.cc: Include tm-preds.h.
135         (t_reg_operand): Remove bogus prototype.
136         (negt_reg_operand): Likewise.
137
138 2022-11-16  Marek Polacek  <polacek@redhat.com>
139
140         PR c++/106649
141         * doc/invoke.texi: Document -Winvalid-constexpr.
142
143 2022-11-16  Philipp Tomsich  <philipp.tomsich@vrull.eu>
144
145         * config/riscv/bitmanip.md: Add split covering
146         "(a & (1 << BIT_NO)) ? 0 : 1".
147
148 2022-11-16  Philipp Tomsich  <philipp.tomsich@vrull.eu>
149
150         * config/riscv/bitmanip.md (*bext<mode>): Add an additional
151         pattern that allows the 3rd argument to zero_extract to be
152         an Xmode register operand.
153
154 2022-11-16  Richard Biener  <rguenther@suse.de>
155
156         PR tree-optimization/107686
157         * tree-ssa-forwprop.cc (optimize_vector_load): Restrict
158         VEC_UNPACK support to integral typed bitfield refs.
159
160 2022-11-16  Richard Biener  <rguenther@suse.de>
161
162         PR middle-end/107679
163         * tree-into-ssa.cc (maybe_register_def): Use new temporary if
164         we require an uninitialized value for a parameter decl.
165
166 2022-11-16  Alexander Monakov  <amonakov@ispras.ru>
167
168         PR target/107676
169         * doc/invoke.texi (-mrelax-cmpxchg-loop): Reword description.
170
171 2022-11-16  Alexander Monakov  <amonakov@ispras.ru>
172
173         PR target/87832
174         * config/i386/znver.md: (znver1_fp_op_mul): Correct cycles in
175         the reservation.
176         (znver1_fp_op_mul_load): Ditto.
177         (znver1_mmx_mul): Ditto.
178         (znver1_mmx_load): Ditto.
179         (znver1_ssemul_ss_ps): Ditto.
180         (znver1_ssemul_ss_ps_load): Ditto.
181         (znver1_ssemul_avx256_ps): Ditto.
182         (znver1_ssemul_avx256_ps_load): Ditto.
183         (znver1_ssemul_sd_pd): Ditto.
184         (znver1_ssemul_sd_pd_load): Ditto.
185         (znver2_ssemul_sd_pd): Ditto.
186         (znver2_ssemul_sd_pd_load): Ditto.
187         (znver1_ssemul_avx256_pd): Ditto.
188         (znver1_ssemul_avx256_pd_load): Ditto.
189         (znver1_sseimul): Ditto.
190         (znver1_sseimul_avx256): Ditto.
191         (znver1_sseimul_load): Ditto.
192         (znver1_sseimul_avx256_load): Ditto.
193         (znver1_sseimul_di): Ditto.
194         (znver1_sseimul_load_di): Ditto.
195
196 2022-11-16  Alexander Monakov  <amonakov@ispras.ru>
197
198         PR target/87832
199         * config/i386/znver.md (znver1_fdiv): New automaton.
200         (znver1-fdiv): New unit.
201         (znver1_fp_op_div): Correct unit and cycles in the reservation.
202         (znver1_fp_op_div_load): Ditto.
203         (znver1_fp_op_idiv_load): Ditto.
204         (znver2_fp_op_idiv_load): Ditto.
205         (znver1_ssediv_ss_ps): Ditto.
206         (znver1_ssediv_ss_ps_load): Ditto.
207         (znver1_ssediv_sd_pd): Ditto.
208         (znver1_ssediv_sd_pd_load): Ditto.
209         (znver1_ssediv_avx256_ps): Ditto.
210         (znver1_ssediv_avx256_ps_load): Ditto.
211         (znver1_ssediv_avx256_pd): Ditto.
212         (znver1_ssediv_avx256_pd_load): Ditto.
213
214 2022-11-16  Tobias Burnus  <tobias@codesourcery.com>
215             Andrew Stubbs  <ams@codesourcery.com>
216
217         * config/gcn/gcn-builtins.def (KERNARG_PTR): Add.
218         * config/gcn/gcn.cc (gcn_init_builtin_types): Change siptr_type_node,
219         sfptr_type_node and voidptr_type_node from FLAT to ADDR_SPACE_DEFAULT.
220         (gcn_expand_builtin_1): Handle GCN_BUILTIN_KERNARG_PTR.
221         (gcn_oacc_dim_size): Return in ADDR_SPACE_FLAT.
222
223 2022-11-16  David Malcolm  <dmalcolm@redhat.com>
224
225         * Makefile.in (ANALYZER_OBJS): Add analyzer/checker-event.o.
226
227 2022-11-16  Max Filippov  <jcmvbkbc@gmail.com>
228
229         PR target/107645
230         * config/m68k/predicates.md (symbolic_operand): Return false
231         when UNSPEC is under the CONST node.
232
233 2022-11-16  Christoph Müllner  <christoph.muellner@vrull.eu>
234
235         * doc/invoke.texi: Fix PRU/RISC-V option list formatting.
236
237 2022-11-16  Tobias Burnus  <tobias@codesourcery.com>
238
239         * config/nvptx/mkoffload.cc (process): Recognize '$nohost$...'
240         besides tailing '$nohost' as being for reverse offload.
241
242 2022-11-16  Jakub Jelinek  <jakub@redhat.com>
243
244         PR tree-optimization/107668
245         * range-op-float.cc (float_binary_op_range_finish): Set VARYING
246         also when r is UNDEFINED.
247
248 2022-11-16  Kewen Lin  <linkw@linux.ibm.com>
249
250         PR rtl-optimization/90259
251         * function.cc (rest_of_handle_thread_prologue_and_epilogue): Add
252         parameter fun, and call function purge_all_dead_edges.
253         (pass_thread_prologue_and_epilogue::execute): Name unamed parameter
254         as fun, and use it for rest_of_handle_thread_prologue_and_epilogue.
255
256 2022-11-15  Philipp Tomsich  <philipp.tomsich@vrull.eu>
257
258         * config/riscv/riscv-builtins.cc (struct riscv_builtin_description):
259         add the pause machine-dependent builtin with no result and no
260         arguments; mark it as always present (pause is a true hint
261         that encodes into a fence-insn, if not supported with the new
262         pause semantics).
263         * config/riscv/riscv-ftypes.def: Add type for void -> void.
264         * config/riscv/riscv.md (riscv_pause): Add risc_pause and
265         UNSPECV_PAUSE
266         * doc/extend.texi: Document __builtin_riscv_pause.
267         * optabs.cc (maybe_gen_insn): Allow nops == 0 (void -> void).
268
269 2022-11-15  David Faust  <david.faust@oracle.com>
270
271         * config/bpf/bpf.cc (bpf_expand_builtin): Avoid use of uninitialized
272         variable in error case.
273
274 2022-11-15  David Malcolm  <dmalcolm@redhat.com>
275
276         PR analyzer/106140
277         * doc/invoke.texi (Static Analyzer Options): Add
278         -Wanalyzer-fd-phase-mismatch and -Wanalyzer-fd-type-mismatch.  Add
279         "socket", "bind", "listen", "accept", and "connect" to the list of
280         functions known to the analyzer.
281
282 2022-11-15  David Malcolm  <dmalcolm@redhat.com>
283
284         PR analyzer/106302
285         * Makefile.in (ANALYZER_OBJS): Add analyzer/analyzer-language.o.
286         (GTFILES): Add analyzer/analyzer-language.cc.
287         * doc/analyzer.texi: Document __analyzer_dump_named_constant.
288
289 2022-11-15  Lewis Hyatt  <lhyatt@gmail.com>
290
291         * json.h (class string): Add M_LEN member to store the length of
292         the data.  Add constructor taking an explicit length.
293         * json.cc (string::string):  Implement the new constructor.
294         (string::print): Support printing strings that are not
295         null-terminated.  Escape embdedded null bytes on output.
296         (test_writing_strings): Test the new null-byte-related features of
297         json::string.
298
299 2022-11-15  Lewis Hyatt  <lhyatt@gmail.com>
300
301         * diagnostic.cc (diagnostic_get_location_text): Use
302         special_fname_builtin () rather than a hardcoded string (which was
303         also incorrectly left untranslated previously.)
304         * input.cc (special_fname_builtin): New function.
305         (expand_location_1): Use special_fname_builtin () rather than a
306         hard-coded string.
307         (test_builtins): Likewise.
308         * input.h (special_fname_builtin): Declare.
309
310 2022-11-15  Lewis Hyatt  <lhyatt@gmail.com>
311
312         * tree-diagnostic.cc (maybe_unwind_expanded_macro_loc): Handle ad-hoc
313         location in return value of linemap_resolve_location().
314
315 2022-11-15  Jonathan Wakely  <jwakely@redhat.com>
316
317         * doc/cpp.texi (Pragmas): Use @item and @itemx for region
318         pragmas.
319
320 2022-11-15  Maciej W. Rozycki  <macro@embecosm.com>
321
322         * ira-color.cc (assign_hard_reg): Remove duplicate `memset' over
323         `full_costs'.
324
325 2022-11-15  Andre Vieira  <andre.simoesdiasvieira@arm.com>
326
327         * config/aarch64/atomics.md
328         (*aarch64_atomic_load<ALLX:mode>_rcpc_zext): New pattern.
329         (*aarch64_atomic_load<ALLX:mode>_rcpc_sext): New pattern.
330
331 2022-11-15  Andre Vieira  <andre.simoesdiasvieira@arm.com>
332             Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
333
334         * config/aarch64/aarch64.h (AARCH64_ISA_RCPC): New Macro.
335         (TARGET_RCPC): New Macro.
336         * config/aarch64/atomics.md (atomic_load<mode>): Change into an expand.
337         (aarch64_atomic_load<mode>_rcpc): New define_insn for ldapr.
338         (aarch64_atomic_load<mode>): Rename of old define_insn for ldar.
339         * config/aarch64/iterators.md (UNSPEC_LDAP): New unspec enum value.
340         * doc/invoke.texi (rcpc): Ammend documentation to mention the effects
341         on code generation.
342
343 2022-11-15  Hongyu Wang  <hongyu.wang@intel.com>
344
345         PR target/98167
346         * match.pd: New perm + vector op patterns for int and fp vector.
347
348 2022-11-15  Andrew Pinski  <apinski@marvell.com>
349
350         * doc/invoke.texi: Remove Score option section.
351
352 2022-11-15  Andrew Pinski  <apinski@marvell.com>
353
354         * doc/extend.texi: Remove picoChip builtin section.
355         * doc/invoke.texi: Remove picoChip option section.
356
357 2022-11-15  Andrew Pinski  <apinski@marvell.com>
358
359         * doc/extend.texi: Remove MeP documentation.
360         * doc/invoke.texi: Remove MeP Options documentation.
361
362 2022-11-15  Andrew Pinski  <apinski@marvell.com>
363
364         * doc/invoke.texi: Fix opindex for mcall-aixdesc and mcall-openbsd.
365
366 2022-11-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
367
368         Revert:
369         2022-11-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
370
371         * config/riscv/riscv-cores.def (RISCV_TUNE): Add ventana-vt1.
372         (RISCV_CORE): Ditto.
373         * config/riscv/riscv-opts.h (enum riscv_microarchitecture_type): Ditto.
374         * config/riscv/riscv.cc: Add tune_info for ventana-vt1.
375         * doc/invoke.texi: Document -mcpu= and -mtune with ventana-vt1.
376
377 2022-11-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
378
379         Revert:
380         2022-11-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
381
382         * config/riscv/riscv.cc (enum riscv_fusion_pairs): Add symbolic
383         constants to identify supported fusion patterns.
384         (struct riscv_tune_param): Add fusible_op field.
385         (riscv_macro_fusion_p): Implement.
386         (riscv_fusion_enabled_p): Implement.
387         (riscv_macro_fusion_pair_p): Implement and recognize fusible
388         idioms for Ventana VT1.
389         (TARGET_SCHED_MACRO_FUSION_P): Point to riscv_macro_fusion_p.
390         (TARGET_SCHED_MACRO_FUSION_PAIR_P): Point to
391         riscv_macro_fusion_pair_p.
392
393 2022-11-14  Maciej W. Rozycki  <macro@embecosm.com>
394
395         * ira-build.cc (create_insn_allocnos): Fix documentation.
396
397 2022-11-14  Tamar Christina  <tamar.christina@arm.com>
398
399         * match.pd: Remove returns.
400
401 2022-11-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
402
403         * config/riscv/bitmanip.md (orcb<mode>2): Add orc.b as an
404         unspec.
405         * config/riscv/riscv.md: Add UNSPEC_ORC_B.
406
407 2022-11-14  Tamar Christina  <tamar.christina@arm.com>
408
409         * target.def: Fix typo.
410
411 2022-11-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
412
413         * config/riscv/riscv.cc (enum riscv_fusion_pairs): Add symbolic
414         constants to identify supported fusion patterns.
415         (struct riscv_tune_param): Add fusible_op field.
416         (riscv_macro_fusion_p): Implement.
417         (riscv_fusion_enabled_p): Implement.
418         (riscv_macro_fusion_pair_p): Implement and recognize fusible
419         idioms for Ventana VT1.
420         (TARGET_SCHED_MACRO_FUSION_P): Point to riscv_macro_fusion_p.
421         (TARGET_SCHED_MACRO_FUSION_PAIR_P): Point to
422         riscv_macro_fusion_pair_p.
423
424 2022-11-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
425
426         * config/riscv/riscv-cores.def (RISCV_TUNE): Add ventana-vt1.
427         (RISCV_CORE): Ditto.
428         * config/riscv/riscv-opts.h (enum riscv_microarchitecture_type): Ditto.
429         * config/riscv/riscv.cc: Add tune_info for ventana-vt1.
430         * doc/invoke.texi: Document -mcpu= and -mtune with ventana-vt1.
431
432 2022-11-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
433
434         * config/aarch64/aarch64-option-extensions.def (cssc): Define.
435         * config/aarch64/aarch64.h (AARCH64_ISA_CSSC): Define.
436         (TARGET_CSSC): Likewise.
437         * config/aarch64/aarch64.md (*aarch64_abs<mode>2_cssc_ins): New define_insn.
438         (abs<mode>2): Adjust for the above.
439         (aarch64_umax<mode>3_insn): New define_insn.
440         (umax<mode>3): Adjust for the above.
441         (*aarch64_popcount<mode>2_cssc_insn): New define_insn.
442         (popcount<mode>2): Adjust for the above.
443         (<optab><mode>3): New define_insn.
444         * config/aarch64/constraints.md (Usm): Define.
445         (Uum): Likewise.
446         * doc/invoke.texi (AArch64 options): Document +cssc.
447         * config/aarch64/iterators.md (MAXMIN_NOUMAX): New code iterator.
448         * config/aarch64/predicates.md (aarch64_sminmax_immediate): Define.
449         (aarch64_sminmax_operand): Likewise.
450         (aarch64_uminmax_immediate): Likewise.
451         (aarch64_uminmax_operand): Likewise.
452
453 2022-11-14  Tamar Christina  <tamar.christina@arm.com>
454
455         * config/aarch64/aarch64-sve2.md (@aarch64_bitmask_udiv<mode>3): New.
456
457 2022-11-14  Tamar Christina  <tamar.christina@arm.com>
458
459         * config/aarch64/aarch64-simd.md (@aarch64_bitmask_udiv<mode>3): New.
460         * config/aarch64/aarch64.cc (aarch64_vectorize_can_special_div_by_constant): New.
461
462 2022-11-14  Tamar Christina  <tamar.christina@arm.com>
463
464         * expmed.h (expand_divmod): Pass tree operands down in addition to RTX.
465         * expmed.cc (expand_divmod): Likewise.
466         * explow.cc (round_push, align_dynamic_address): Likewise.
467         * expr.cc (force_operand, expand_expr_divmod): Likewise.
468         * optabs.cc (expand_doubleword_mod, expand_doubleword_divmod):
469         Likewise.
470         * target.h: Include tree-core.
471         * target.def (can_special_div_by_const): New.
472         * targhooks.cc (default_can_special_div_by_const): New.
473         * targhooks.h (default_can_special_div_by_const): New.
474         * tree-vect-generic.cc (expand_vector_operation): Use it.
475         * doc/tm.texi.in: Document it.
476         * doc/tm.texi: Regenerate.
477         * tree-vect-patterns.cc (vect_recog_divmod_pattern): Check for support.
478         * tree-vect-stmts.cc (vectorizable_operation): Likewise.
479
480 2022-11-14  Tamar Christina  <tamar.christina@arm.com>
481
482         * generic-match-head.cc: Include langooks.
483         * gimple-match-head.cc: Likewise.
484         * match.pd: Add fneg/fadd rule.
485
486 2022-11-14  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
487
488         * config/arm/arm-cpus.in (cortex-x1c): Define new CPU.
489         * config/arm/arm-tables.opt: Regenerate.
490         * config/arm/arm-tune.md: Likewise.
491         * doc/invoke.texi: Document Cortex-X1C CPU.
492
493 2022-11-14  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
494
495         * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add Cortex-X3
496         CPU.
497         * config/aarch64/aarch64-tune.md: Regenerate.
498         * doc/invoke.texi: Document Cortex-X3 CPU.
499
500 2022-11-14  Andrew Pinski  <apinski@marvell.com>
501
502         * doc/invoke.texi: Fix @opindex
503         for m80387 option.
504
505 2022-11-14  Andrew Pinski  <apinski@marvell.com>
506
507         * doc/invoke.texi: Remove the front - from
508         some @opindex.
509
510 2022-11-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
511
512         * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add ampere1a.
513         * config/aarch64/aarch64-cost-tables.h: Add ampere1a_extra_costs.
514         * config/aarch64/aarch64-fusion-pairs.def (AARCH64_FUSION_PAIR):
515         Define a new fusion pair for A+B+1/A-B-1 (i.e., add/subtract two
516         registers and then +1/-1).
517         * config/aarch64/aarch64-tune.md: Regenerate.
518         * config/aarch64/aarch64.cc (aarch_macro_fusion_pair_p): Implement
519         idiom-matcher for the new fusion pair.
520         * doc/invoke.texi: Add ampere1a.
521
522 2022-11-14  Richard Biener  <rguenther@suse.de>
523
524         * match.pd: Remove duplicates.
525
526 2022-11-14  Martin Liska  <mliska@suse.cz>
527
528         * doc/contrib.texi: Port from Sphinx.
529         * doc/cpp.texi: Likewise.
530         * doc/install.texi: Likewise.
531         * doc/invoke.texi: Likewise.
532
533 2022-11-14  Martin Liska  <mliska@suse.cz>
534
535         Revert:
536         2022-11-14  Martin Liska  <mliska@suse.cz>
537
538         * doc/cpp/character-sets.rst: New file.
539         * doc/cpp/conditional-syntax.rst: New file.
540         * doc/cpp/conditional-uses.rst: New file.
541         * doc/cpp/conditionals.rst: New file.
542         * doc/cpp/conf.py: New file.
543         * doc/cpp/copyright.rst: New file.
544         * doc/cpp/deleted-code.rst: New file.
545         * doc/cpp/diagnostics.rst: New file.
546         * doc/cpp/environment-variables.rst: New file.
547         * doc/cpp/gnu-free-documentation-license.rst: New file.
548         * doc/cpp/header-files.rst: New file.
549         * doc/cpp/header-files/alternatives-to-wrapper-ifndef.rst: New file.
550         * doc/cpp/header-files/computed-includes.rst: New file.
551         * doc/cpp/header-files/include-operation.rst: New file.
552         * doc/cpp/header-files/include-syntax.rst: New file.
553         * doc/cpp/header-files/once-only-headers.rst: New file.
554         * doc/cpp/header-files/search-path.rst: New file.
555         * doc/cpp/header-files/system-headers.rst: New file.
556         * doc/cpp/header-files/wrapper-headers.rst: New file.
557         * doc/cpp/implementation-defined-behavior.rst: New file.
558         * doc/cpp/implementation-details.rst: New file.
559         * doc/cpp/implementation-limits.rst: New file.
560         * doc/cpp/index.rst: New file.
561         * doc/cpp/indices-and-tables.rst: New file.
562         * doc/cpp/initial-processing.rst: New file.
563         * doc/cpp/invocation.rst: New file.
564         * doc/cpp/line-control.rst: New file.
565         * doc/cpp/macros.rst: New file.
566         * doc/cpp/macros/concatenation.rst: New file.
567         * doc/cpp/macros/directives-within-macro-arguments.rst: New file.
568         * doc/cpp/macros/function-like-macros.rst: New file.
569         * doc/cpp/macros/macro-arguments.rst: New file.
570         * doc/cpp/macros/macro-pitfalls.rst: New file.
571         * doc/cpp/macros/object-like-macros.rst: New file.
572         * doc/cpp/macros/predefined-macros.rst: New file.
573         * doc/cpp/macros/stringizing.rst: New file.
574         * doc/cpp/macros/undefining-and-redefining-macros.rst: New file.
575         * doc/cpp/macros/variadic-macros.rst: New file.
576         * doc/cpp/obsolete-features.rst: New file.
577         * doc/cpp/other-directives.rst: New file.
578         * doc/cpp/overview.rst: New file.
579         * doc/cpp/pragmas.rst: New file.
580         * doc/cpp/preprocessor-output.rst: New file.
581         * doc/cpp/the-preprocessing-language.rst: New file.
582         * doc/cpp/tokenization.rst: New file.
583         * doc/cpp/traditional-lexical-analysis.rst: New file.
584         * doc/cpp/traditional-macros.rst: New file.
585         * doc/cpp/traditional-miscellany.rst: New file.
586         * doc/cpp/traditional-mode.rst: New file.
587         * doc/cpp/traditional-warnings.rst: New file.
588         * doc/cppinternals/conf.py: New file.
589         * doc/cppinternals/copyright.rst: New file.
590         * doc/cppinternals/cppinternals.rst: New file.
591         * doc/cppinternals/cpplib.rst: New file.
592         * doc/cppinternals/files.rst: New file.
593         * doc/cppinternals/index.rst: New file.
594         * doc/cppinternals/indices-and-tables.rst: New file.
595         * doc/cppinternals/internal-representation-of-macros.rst: New file.
596         * doc/cppinternals/just-which-line-number-anyway.rst: New file.
597         * doc/cppinternals/lexing-a-line.rst: New file.
598         * doc/cppinternals/lexing-a-token.rst: New file.
599         * doc/cppinternals/looking-for-a-function-like-macros-opening-parenthesis.rst: New file.
600         * doc/cppinternals/macro-expansion-overview.rst: New file.
601         * doc/cppinternals/marking-tokens-ineligible-for-future-expansion.rst: New file.
602         * doc/cppinternals/multiple-include-optimization.rst: New file.
603         * doc/cppinternals/overview.rst: New file.
604         * doc/cppinternals/representation-of-line-numbers.rst: New file.
605         * doc/cppinternals/scanning-the-replacement-list-for-macros-to-expand.rst: New file.
606         * doc/gcc/binary-compatibility.rst: New file.
607         * doc/gcc/c++-implementation-defined-behavior.rst: New file.
608         * doc/gcc/c-implementation-defined-behavior.rst: New file.
609         * doc/gcc/c-implementation-defined-behavior/architecture.rst: New file.
610         * doc/gcc/c-implementation-defined-behavior/arrays-and-pointers.rst: New file.
611         * doc/gcc/c-implementation-defined-behavior/characters.rst: New file.
612         * doc/gcc/c-implementation-defined-behavior/declarators.rst: New file.
613         * doc/gcc/c-implementation-defined-behavior/environment.rst: New file.
614         * doc/gcc/c-implementation-defined-behavior/floating-point.rst: New file.
615         * doc/gcc/c-implementation-defined-behavior/hints.rst: New file.
616         * doc/gcc/c-implementation-defined-behavior/identifiers.rst: New file.
617         * doc/gcc/c-implementation-defined-behavior/integers.rst: New file.
618         * doc/gcc/c-implementation-defined-behavior/library-functions.rst: New file.
619         * doc/gcc/c-implementation-defined-behavior/locale-specific-behavior.rst: New file.
620         * doc/gcc/c-implementation-defined-behavior/preprocessing-directives.rst: New file.
621         * doc/gcc/c-implementation-defined-behavior/qualifiers.rst: New file.
622         * doc/gcc/c-implementation-defined-behavior/statements.rst: New file.
623         * doc/gcc/c-implementation-defined-behavior/structures-unions-enumerations-and-bit-fields.rst:
624         New file.
625         * doc/gcc/c-implementation-defined-behavior/translation.rst: New file.
626         * doc/gcc/conditionally-supported-behavior.rst: New file.
627         * doc/gcc/conf.py: New file.
628         * doc/gcc/contributing-to-gcc-development.rst: New file.
629         * doc/gcc/contributors-to-gcc.rst: New file.
630         * doc/gcc/copyright.rst: New file.
631         * doc/gcc/exception-handling.rst: New file.
632         * doc/gcc/extensions-to-the-c++-language.rst: New file.
633         * doc/gcc/extensions-to-the-c++-language/backwards-compatibility.rst: New file.
634         * doc/gcc/extensions-to-the-c++-language/c++-concepts.rst: New file.
635         * doc/gcc/extensions-to-the-c++-language/c++-interface-and-implementation-pragmas.rst:
636         New file.
637         * doc/gcc/extensions-to-the-c++-language/c++-specific-variable-function-and-type-attributes.rst:
638         New file.
639         * doc/gcc/extensions-to-the-c++-language/deprecated-features.rst: New file.
640         * doc/gcc/extensions-to-the-c++-language/extracting-the-function-pointer-from-a-bound-pointer-to-member-function.rst:
641         New file.
642         * doc/gcc/extensions-to-the-c++-language/function-multiversioning.rst: New file.
643         * doc/gcc/extensions-to-the-c++-language/restricting-pointer-aliasing.rst: New file.
644         * doc/gcc/extensions-to-the-c++-language/type-traits.rst: New file.
645         * doc/gcc/extensions-to-the-c++-language/vague-linkage.rst: New file.
646         * doc/gcc/extensions-to-the-c++-language/when-is-a-volatile-c++-object-accessed.rst:
647         New file.
648         * doc/gcc/extensions-to-the-c++-language/wheres-the-template.rst: New file.
649         * doc/gcc/extensions-to-the-c-language-family.rst: New file.
650         * doc/gcc/extensions-to-the-c-language-family/128-bit-integers.rst: New file.
651         * doc/gcc/extensions-to-the-c-language-family/additional-floating-types.rst: New file.
652         * doc/gcc/extensions-to-the-c-language-family/alternate-keywords.rst: New file.
653         * doc/gcc/extensions-to-the-c-language-family/an-inline-function-is-as-fast-as-a-macro.rst:
654         New file.
655         * doc/gcc/extensions-to-the-c-language-family/arithmetic-on-void-and-function-pointers.rst:
656         New file.
657         * doc/gcc/extensions-to-the-c-language-family/arrays-of-length-zero.rst: New file.
658         * doc/gcc/extensions-to-the-c-language-family/arrays-of-variable-length.rst: New file.
659         * doc/gcc/extensions-to-the-c-language-family/attribute-syntax.rst: New file.
660         * doc/gcc/extensions-to-the-c-language-family/binary-constants-using-the-0b-prefix.rst:
661         New file.
662         * doc/gcc/extensions-to-the-c-language-family/built-in-functions-for-memory-model-aware-atomic-operations.rst:
663         New file.
664         * doc/gcc/extensions-to-the-c-language-family/built-in-functions-to-perform-arithmetic-with-overflow-checking.rst:
665         New file.
666         * doc/gcc/extensions-to-the-c-language-family/c++-style-comments.rst: New file.
667         * doc/gcc/extensions-to-the-c-language-family/case-ranges.rst: New file.
668         * doc/gcc/extensions-to-the-c-language-family/cast-to-a-union-type.rst: New file.
669         * doc/gcc/extensions-to-the-c-language-family/complex-numbers.rst: New file.
670         * doc/gcc/extensions-to-the-c-language-family/compound-literals.rst: New file.
671         * doc/gcc/extensions-to-the-c-language-family/conditionals-with-omitted-operands.rst:
672         New file.
673         * doc/gcc/extensions-to-the-c-language-family/constructing-function-calls.rst: New file.
674         * doc/gcc/extensions-to-the-c-language-family/decimal-floating-types.rst: New file.
675         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions.rst:
676         New file.
677         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/aarch64-function-attributes.rst:
678         New file.
679         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/amd-gcn-function-attributes.rst:
680         New file.
681         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arc-function-attributes.rst:
682         New file.
683         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arm-function-attributes.rst:
684         New file.
685         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/avr-function-attributes.rst:
686         New file.
687         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/blackfin-function-attributes.rst:
688         New file.
689         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/bpf-function-attributes.rst:
690         New file.
691         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/c-sky-function-attributes.rst:
692         New file.
693         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/common-function-attributes.rst:
694         New file.
695         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/epiphany-function-attributes.rst:
696         New file.
697         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/h8-300-function-attributes.rst:
698         New file.
699         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/ia-64-function-attributes.rst:
700         New file.
701         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32c-function-attributes.rst:
702         New file.
703         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32r-d-function-attributes.rst:
704         New file.
705         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m68k-function-attributes.rst:
706         New file.
707         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mcore-function-attributes.rst:
708         New file.
709         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mep-function-attributes.rst:
710         New file.
711         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microblaze-function-attributes.rst:
712         New file.
713         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microsoft-windows-function-attributes.rst:
714         New file.
715         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mips-function-attributes.rst:
716         New file.
717         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/msp430-function-attributes.rst:
718         New file.
719         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nds32-function-attributes.rst:
720         New file.
721         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nios-ii-function-attributes.rst:
722         New file.
723         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nvidia-ptx-function-attributes.rst:
724         New file.
725         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/powerpc-function-attributes.rst:
726         New file.
727         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/risc-v-function-attributes.rst:
728         New file.
729         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rl78-function-attributes.rst:
730         New file.
731         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rx-function-attributes.rst:
732         New file.
733         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/s-390-function-attributes.rst:
734         New file.
735         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/sh-function-attributes.rst:
736         New file.
737         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/symbian-os-function-attributes.rst:
738         New file.
739         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/v850-function-attributes.rst:
740         New file.
741         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/visium-function-attributes.rst:
742         New file.
743         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/x86-function-attributes.rst:
744         New file.
745         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/xstormy16-function-attributes.rst:
746         New file.
747         * doc/gcc/extensions-to-the-c-language-family/designated-initializers.rst: New file.
748         * doc/gcc/extensions-to-the-c-language-family/determining-the-alignment-of-functions-types-or-variables.rst:
749         New file.
750         * doc/gcc/extensions-to-the-c-language-family/dollar-signs-in-identifier-names.rst:
751         New file.
752         * doc/gcc/extensions-to-the-c-language-family/double-word-integers.rst: New file.
753         * doc/gcc/extensions-to-the-c-language-family/enumerator-attributes.rst: New file.
754         * doc/gcc/extensions-to-the-c-language-family/fixed-point-types.rst: New file.
755         * doc/gcc/extensions-to-the-c-language-family/format-checks-specific-to-particular-target-machines.rst:
756         New file.
757         * doc/gcc/extensions-to-the-c-language-family/function-names-as-strings.rst: New file.
758         * doc/gcc/extensions-to-the-c-language-family/getting-the-return-or-frame-address-of-a-function.rst:
759         New file.
760         * doc/gcc/extensions-to-the-c-language-family/half-precision-floating-point.rst: New file.
761         * doc/gcc/extensions-to-the-c-language-family/hex-floats.rst: New file.
762         * doc/gcc/extensions-to-the-c-language-family/how-to-use-inline-assembly-language-in-c-code.rst:
763         New file.
764         * doc/gcc/extensions-to-the-c-language-family/incomplete-enum-types.rst: New file.
765         * doc/gcc/extensions-to-the-c-language-family/label-attributes.rst: New file.
766         * doc/gcc/extensions-to-the-c-language-family/labels-as-values.rst: New file.
767         * doc/gcc/extensions-to-the-c-language-family/legacy-sync-built-in-functions-for-atomic-memory-access.rst:
768         New file.
769         * doc/gcc/extensions-to-the-c-language-family/locally-declared-labels.rst: New file.
770         * doc/gcc/extensions-to-the-c-language-family/macros-with-a-variable-number-of-arguments.rst:
771         New file.
772         * doc/gcc/extensions-to-the-c-language-family/mixed-declarations-labels-and-code.rst:
773         New file.
774         * doc/gcc/extensions-to-the-c-language-family/named-address-spaces.rst: New file.
775         * doc/gcc/extensions-to-the-c-language-family/nested-functions.rst: New file.
776         * doc/gcc/extensions-to-the-c-language-family/non-constant-initializers.rst: New file.
777         * doc/gcc/extensions-to-the-c-language-family/non-lvalue-arrays-may-have-subscripts.rst:
778         New file.
779         * doc/gcc/extensions-to-the-c-language-family/nonlocal-gotos.rst: New file.
780         * doc/gcc/extensions-to-the-c-language-family/object-size-checking-built-in-functions.rst:
781         New file.
782         * doc/gcc/extensions-to-the-c-language-family/other-built-in-functions-provided-by-gcc.rst:
783         New file.
784         * doc/gcc/extensions-to-the-c-language-family/pointer-arguments-in-variadic-functions.rst:
785         New file.
786         * doc/gcc/extensions-to-the-c-language-family/pointers-to-arrays-with-qualifiers-work-as-expected.rst:
787         New file.
788         * doc/gcc/extensions-to-the-c-language-family/pragmas-accepted-by-gcc.rst: New file.
789         * doc/gcc/extensions-to-the-c-language-family/prototypes-and-old-style-function-definitions.rst:
790         New file.
791         * doc/gcc/extensions-to-the-c-language-family/referring-to-a-type-with-typeof.rst: New file.
792         * doc/gcc/extensions-to-the-c-language-family/slightly-looser-rules-for-escaped-newlines.rst:
793         New file.
794         * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-types.rst: New file.
795         * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-variables.rst:
796         New file.
797         * doc/gcc/extensions-to-the-c-language-family/statement-attributes.rst: New file.
798         * doc/gcc/extensions-to-the-c-language-family/statements-and-declarations-in-expressions.rst:
799         New file.
800         * doc/gcc/extensions-to-the-c-language-family/structures-with-no-members.rst: New file.
801         * doc/gcc/extensions-to-the-c-language-family/support-for-offsetof.rst: New file.
802         * doc/gcc/extensions-to-the-c-language-family/target-builtins.rst: New file.
803         * doc/gcc/extensions-to-the-c-language-family/target-builtins/aarch64-built-in-functions.rst:
804         New file.
805         * doc/gcc/extensions-to-the-c-language-family/target-builtins/alpha-built-in-functions.rst:
806         New file.
807         * doc/gcc/extensions-to-the-c-language-family/target-builtins/altera-nios-ii-built-in-functions.rst:
808         New file.
809         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-built-in-functions.rst:
810         New file.
811         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-simd-built-in-functions.rst:
812         New file.
813         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-armv8-m-security-extensions.rst:
814         New file.
815         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-c-language-extensions-acle.rst:
816         New file.
817         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-floating-point-status-and-control-intrinsics.rst:
818         New file.
819         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-iwmmxt-built-in-functions.rst:
820         New file.
821         * doc/gcc/extensions-to-the-c-language-family/target-builtins/avr-built-in-functions.rst:
822         New file.
823         * doc/gcc/extensions-to-the-c-language-family/target-builtins/basic-powerpc-built-in-functions.rst:
824         New file.
825         * doc/gcc/extensions-to-the-c-language-family/target-builtins/blackfin-built-in-functions.rst:
826         New file.
827         * doc/gcc/extensions-to-the-c-language-family/target-builtins/bpf-built-in-functions.rst:
828         New file.
829         * doc/gcc/extensions-to-the-c-language-family/target-builtins/fr-v-built-in-functions.rst:
830         New file.
831         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-dsp-built-in-functions.rst:
832         New file.
833         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-loongson-built-in-functions.rst:
834         New file.
835         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-paired-single-support.rst:
836         New file.
837         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-simd-architecture-msa-support.rst:
838         New file.
839         * doc/gcc/extensions-to-the-c-language-family/target-builtins/msp430-built-in-functions.rst:
840         New file.
841         * doc/gcc/extensions-to-the-c-language-family/target-builtins/nds32-built-in-functions.rst:
842         New file.
843         * doc/gcc/extensions-to-the-c-language-family/target-builtins/other-mips-built-in-functions.rst:
844         New file.
845         * doc/gcc/extensions-to-the-c-language-family/target-builtins/picochip-built-in-functions.rst:
846         New file.
847         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-altivec-vsx-built-in-functions.rst:
848         New file.
849         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-atomic-memory-operation-functions.rst:
850         New file.
851         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-hardware-transactional-memory-built-in-functions.rst:
852         New file.
853         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-matrix-multiply-assist-built-in-functions.rst:
854         New file.
855         * doc/gcc/extensions-to-the-c-language-family/target-builtins/pru-built-in-functions.rst:
856         New file.
857         * doc/gcc/extensions-to-the-c-language-family/target-builtins/risc-v-built-in-functions.rst:
858         New file.
859         * doc/gcc/extensions-to-the-c-language-family/target-builtins/rx-built-in-functions.rst:
860         New file.
861         * doc/gcc/extensions-to-the-c-language-family/target-builtins/s-390-system-z-built-in-functions.rst:
862         New file.
863         * doc/gcc/extensions-to-the-c-language-family/target-builtins/sh-built-in-functions.rst:
864         New file.
865         * doc/gcc/extensions-to-the-c-language-family/target-builtins/sparc-vis-built-in-functions.rst:
866         New file.
867         * doc/gcc/extensions-to-the-c-language-family/target-builtins/ti-c6x-built-in-functions.rst:
868         New file.
869         * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-built-in-functions.rst:
870         New file.
871         * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-control-flow-protection-intrinsics.rst:
872         New file.
873         * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-transactional-memory-intrinsics.rst:
874         New file.
875         * doc/gcc/extensions-to-the-c-language-family/the-character-esc-in-constants.rst: New file.
876         * doc/gcc/extensions-to-the-c-language-family/thread-local-storage.rst: New file.
877         * doc/gcc/extensions-to-the-c-language-family/unnamed-structure-and-union-fields.rst:
878         New file.
879         * doc/gcc/extensions-to-the-c-language-family/using-vector-instructions-through-built-in-functions.rst:
880         New file.
881         * doc/gcc/extensions-to-the-c-language-family/when-is-a-volatile-object-accessed.rst:
882         New file.
883         * doc/gcc/extensions-to-the-c-language-family/x86-specific-memory-model-extensions-for-transactional-memory.rst:
884         New file.
885         * doc/gcc/funding.rst: New file.
886         * doc/gcc/gcc-command-options.rst: New file.
887         * doc/gcc/gcc-command-options/c++-modules.rst: New file.
888         * doc/gcc/gcc-command-options/compiling-c++-programs.rst: New file.
889         * doc/gcc/gcc-command-options/description.rst: New file.
890         * doc/gcc/gcc-command-options/environment-variables-affecting-gcc.rst: New file.
891         * doc/gcc/gcc-command-options/gcc-developer-options.rst: New file.
892         * doc/gcc/gcc-command-options/machine-dependent-options.rst: New file.
893         * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: New file.
894         * doc/gcc/gcc-command-options/machine-dependent-options/adapteva-epiphany-options.rst:
895         New file.
896         * doc/gcc/gcc-command-options/machine-dependent-options/amd-gcn-options.rst: New file.
897         * doc/gcc/gcc-command-options/machine-dependent-options/arc-options.rst: New file.
898         * doc/gcc/gcc-command-options/machine-dependent-options/arm-options.rst: New file.
899         * doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst: New file.
900         * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst: New file.
901         * doc/gcc/gcc-command-options/machine-dependent-options/blackfin-options.rst: New file.
902         * doc/gcc/gcc-command-options/machine-dependent-options/c-sky-options.rst: New file.
903         * doc/gcc/gcc-command-options/machine-dependent-options/c6x-options.rst: New file.
904         * doc/gcc/gcc-command-options/machine-dependent-options/cris-options.rst: New file.
905         * doc/gcc/gcc-command-options/machine-dependent-options/darwin-options.rst: New file.
906         * doc/gcc/gcc-command-options/machine-dependent-options/dec-alpha-options.rst: New file.
907         * doc/gcc/gcc-command-options/machine-dependent-options/ebpf-options.rst: New file.
908         * doc/gcc/gcc-command-options/machine-dependent-options/fr30-options.rst: New file.
909         * doc/gcc/gcc-command-options/machine-dependent-options/frv-options.rst: New file.
910         * doc/gcc/gcc-command-options/machine-dependent-options/ft32-options.rst: New file.
911         * doc/gcc/gcc-command-options/machine-dependent-options/gnu-linux-options.rst: New file.
912         * doc/gcc/gcc-command-options/machine-dependent-options/h8-300-options.rst: New file.
913         * doc/gcc/gcc-command-options/machine-dependent-options/hppa-options.rst: New file.
914         * doc/gcc/gcc-command-options/machine-dependent-options/ia-64-options.rst: New file.
915         * doc/gcc/gcc-command-options/machine-dependent-options/ibm-rs-6000-and-powerpc-options.rst:
916         New file.
917         * doc/gcc/gcc-command-options/machine-dependent-options/lm32-options.rst: New file.
918         * doc/gcc/gcc-command-options/machine-dependent-options/loongarch-options.rst: New file.
919         * doc/gcc/gcc-command-options/machine-dependent-options/m32c-options.rst: New file.
920         * doc/gcc/gcc-command-options/machine-dependent-options/m32r-d-options.rst: New file.
921         * doc/gcc/gcc-command-options/machine-dependent-options/m680x0-options.rst: New file.
922         * doc/gcc/gcc-command-options/machine-dependent-options/mcore-options.rst: New file.
923         * doc/gcc/gcc-command-options/machine-dependent-options/mep-options.rst: New file.
924         * doc/gcc/gcc-command-options/machine-dependent-options/microblaze-options.rst: New file.
925         * doc/gcc/gcc-command-options/machine-dependent-options/mips-options.rst: New file.
926         * doc/gcc/gcc-command-options/machine-dependent-options/mmix-options.rst: New file.
927         * doc/gcc/gcc-command-options/machine-dependent-options/mn10300-options.rst: New file.
928         * doc/gcc/gcc-command-options/machine-dependent-options/moxie-options.rst: New file.
929         * doc/gcc/gcc-command-options/machine-dependent-options/msp430-options.rst: New file.
930         * doc/gcc/gcc-command-options/machine-dependent-options/nds32-options.rst: New file.
931         * doc/gcc/gcc-command-options/machine-dependent-options/nios-ii-options.rst: New file.
932         * doc/gcc/gcc-command-options/machine-dependent-options/nvidia-ptx-options.rst: New file.
933         * doc/gcc/gcc-command-options/machine-dependent-options/openrisc-options.rst: New file.
934         * doc/gcc/gcc-command-options/machine-dependent-options/options-for-system-v.rst: New file.
935         * doc/gcc/gcc-command-options/machine-dependent-options/pdp-11-options.rst: New file.
936         * doc/gcc/gcc-command-options/machine-dependent-options/picochip-options.rst: New file.
937         * doc/gcc/gcc-command-options/machine-dependent-options/powerpc-options.rst: New file.
938         * doc/gcc/gcc-command-options/machine-dependent-options/pru-options.rst: New file.
939         * doc/gcc/gcc-command-options/machine-dependent-options/risc-v-options.rst: New file.
940         * doc/gcc/gcc-command-options/machine-dependent-options/rl78-options.rst: New file.
941         * doc/gcc/gcc-command-options/machine-dependent-options/rx-options.rst: New file.
942         * doc/gcc/gcc-command-options/machine-dependent-options/s-390-and-zseries-options.rst:
943         New file.
944         * doc/gcc/gcc-command-options/machine-dependent-options/score-options.rst: New file.
945         * doc/gcc/gcc-command-options/machine-dependent-options/sh-options.rst: New file.
946         * doc/gcc/gcc-command-options/machine-dependent-options/solaris-2-options.rst: New file.
947         * doc/gcc/gcc-command-options/machine-dependent-options/sparc-options.rst: New file.
948         * doc/gcc/gcc-command-options/machine-dependent-options/v850-options.rst: New file.
949         * doc/gcc/gcc-command-options/machine-dependent-options/vax-options.rst: New file.
950         * doc/gcc/gcc-command-options/machine-dependent-options/visium-options.rst: New file.
951         * doc/gcc/gcc-command-options/machine-dependent-options/vms-options.rst: New file.
952         * doc/gcc/gcc-command-options/machine-dependent-options/vxworks-options.rst: New file.
953         * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: New file.
954         * doc/gcc/gcc-command-options/machine-dependent-options/x86-windows-options.rst: New file.
955         * doc/gcc/gcc-command-options/machine-dependent-options/xstormy16-options.rst: New file.
956         * doc/gcc/gcc-command-options/machine-dependent-options/xtensa-options.rst: New file.
957         * doc/gcc/gcc-command-options/machine-dependent-options/zseries-options.rst: New file.
958         * doc/gcc/gcc-command-options/option-summary.rst: New file.
959         * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst: New file.
960         * doc/gcc/gcc-command-options/options-controlling-c-dialect.rst: New file.
961         * doc/gcc/gcc-command-options/options-controlling-objective-c-and-objective-c++-dialects.rst:
962         New file.
963         * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst: New file.
964         * doc/gcc/gcc-command-options/options-controlling-the-preprocessor.rst: New file.
965         * doc/gcc/gcc-command-options/options-for-code-generation-conventions.rst: New file.
966         * doc/gcc/gcc-command-options/options-for-debugging-your-program.rst: New file.
967         * doc/gcc/gcc-command-options/options-for-directory-search.rst: New file.
968         * doc/gcc/gcc-command-options/options-for-linking.rst: New file.
969         * doc/gcc/gcc-command-options/options-that-control-optimization.rst: New file.
970         * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: New file.
971         * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
972         New file.
973         * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst: New file.
974         * doc/gcc/gcc-command-options/passing-options-to-the-assembler.rst: New file.
975         * doc/gcc/gcc-command-options/program-instrumentation-options.rst: New file.
976         * doc/gcc/gcc-command-options/specifying-subprocesses-and-the-switches-to-pass-to-them.rst:
977         New file.
978         * doc/gcc/gcc-command-options/using-precompiled-headers.rst: New file.
979         * doc/gcc/gcc.rst: New file.
980         * doc/gcc/gcov-dump.rst: New file.
981         * doc/gcc/gcov-tool.rst: New file.
982         * doc/gcc/gcov.rst: New file.
983         * doc/gcc/gcov/brief-description-of-gcov-data-files.rst: New file.
984         * doc/gcc/gcov/data-file-relocation-to-support-cross-profiling.rst: New file.
985         * doc/gcc/gcov/introduction-to-gcov.rst: New file.
986         * doc/gcc/gcov/invoking-gcov.rst: New file.
987         * doc/gcc/gcov/profiling-and-test-coverage-in-freestanding-environments.rst: New file.
988         * doc/gcc/gcov/using-gcov-with-gcc-optimization.rst: New file.
989         * doc/gcc/general-public-license-3.rst: New file.
990         * doc/gcc/gnu-free-documentation-license.rst: New file.
991         * doc/gcc/gnu-objective-c-features.rst: New file.
992         * doc/gcc/gnu-objective-c-features/compatibilityalias.rst: New file.
993         * doc/gcc/gnu-objective-c-features/constant-string-objects.rst: New file.
994         * doc/gcc/gnu-objective-c-features/exceptions.rst: New file.
995         * doc/gcc/gnu-objective-c-features/fast-enumeration.rst: New file.
996         * doc/gcc/gnu-objective-c-features/garbage-collection.rst: New file.
997         * doc/gcc/gnu-objective-c-features/gnu-objective-c-runtime-api.rst: New file.
998         * doc/gcc/gnu-objective-c-features/load-executing-code-before-main.rst: New file.
999         * doc/gcc/gnu-objective-c-features/messaging-with-the-gnu-objective-c-runtime.rst: New file.
1000         * doc/gcc/gnu-objective-c-features/synchronization.rst: New file.
1001         * doc/gcc/gnu-objective-c-features/type-encoding.rst: New file.
1002         * doc/gcc/gnu.rst: New file.
1003         * doc/gcc/have-you-found-a-bug.rst: New file.
1004         * doc/gcc/how-and-where-to-report-bugs.rst: New file.
1005         * doc/gcc/how-to-get-help-with-gcc.rst: New file.
1006         * doc/gcc/index.rst: New file.
1007         * doc/gcc/indices-and-tables.rst: New file.
1008         * doc/gcc/known-causes-of-trouble-with-gcc.rst: New file.
1009         * doc/gcc/known-causes-of-trouble-with-gcc/actual-bugs-we-havent-fixed-yet.rst: New file.
1010         * doc/gcc/known-causes-of-trouble-with-gcc/certain-changes-we-dont-want-to-make.rst:
1011         New file.
1012         * doc/gcc/known-causes-of-trouble-with-gcc/common-misunderstandings-with-gnu-c.rst:
1013         New file.
1014         * doc/gcc/known-causes-of-trouble-with-gcc/disappointments-and-misunderstandings.rst:
1015         New file.
1016         * doc/gcc/known-causes-of-trouble-with-gcc/fixed-header-files.rst: New file.
1017         * doc/gcc/known-causes-of-trouble-with-gcc/incompatibilities-of-gcc.rst: New file.
1018         * doc/gcc/known-causes-of-trouble-with-gcc/interoperation.rst: New file.
1019         * doc/gcc/known-causes-of-trouble-with-gcc/standard-libraries.rst: New file.
1020         * doc/gcc/known-causes-of-trouble-with-gcc/warning-messages-and-error-messages.rst:
1021         New file.
1022         * doc/gcc/language-standards-supported-by-gcc.rst: New file.
1023         * doc/gcc/language-standards-supported-by-gcc/c++-language.rst: New file.
1024         * doc/gcc/language-standards-supported-by-gcc/c-language.rst: New file.
1025         * doc/gcc/language-standards-supported-by-gcc/d-language.rst: New file.
1026         * doc/gcc/language-standards-supported-by-gcc/go-language.rst: New file.
1027         * doc/gcc/language-standards-supported-by-gcc/objective-c-and-objective-c++-languages.rst:
1028         New file.
1029         * doc/gcc/language-standards-supported-by-gcc/references-for-other-languages.rst: New file.
1030         * doc/gcc/lto-dump.rst: New file.
1031         * doc/gcc/programming-languages-supported-by-gcc.rst: New file.
1032         * doc/gcc/reporting-bugs.rst: New file.
1033         * doc/gccint/analysis-and-optimization-of-gimple-tuples.rst: New file.
1034         * doc/gccint/analysis-and-optimization-of-gimple-tuples/alias-analysis.rst: New file.
1035         * doc/gccint/analysis-and-optimization-of-gimple-tuples/annotations.rst: New file.
1036         * doc/gccint/analysis-and-optimization-of-gimple-tuples/memory-model.rst: New file.
1037         * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst: New file.
1038         * doc/gccint/analysis-and-optimization-of-gimple-tuples/static-single-assignment.rst:
1039         New file.
1040         * doc/gccint/analysis-and-representation-of-loops.rst: New file.
1041         * doc/gccint/analysis-and-representation-of-loops/data-dependency-analysis.rst: New file.
1042         * doc/gccint/analysis-and-representation-of-loops/iv-analysis-on-rtl.rst: New file.
1043         * doc/gccint/analysis-and-representation-of-loops/loop-closed-ssa-form.rst: New file.
1044         * doc/gccint/analysis-and-representation-of-loops/loop-manipulation.rst: New file.
1045         * doc/gccint/analysis-and-representation-of-loops/loop-querying.rst: New file.
1046         * doc/gccint/analysis-and-representation-of-loops/loop-representation.rst: New file.
1047         * doc/gccint/analysis-and-representation-of-loops/number-of-iterations-analysis.rst:
1048         New file.
1049         * doc/gccint/analysis-and-representation-of-loops/scalar-evolutions.rst: New file.
1050         * doc/gccint/analyzer-internals.rst: New file.
1051         * doc/gccint/collect2.rst: New file.
1052         * doc/gccint/conf.py: New file.
1053         * doc/gccint/contributing-to-gcc-development.rst: New file.
1054         * doc/gccint/contributors-to-gcc.rst: New file.
1055         * doc/gccint/control-flow-graph.rst: New file.
1056         * doc/gccint/control-flow-graph/basic-blocks.rst: New file.
1057         * doc/gccint/control-flow-graph/edges.rst: New file.
1058         * doc/gccint/control-flow-graph/liveness-information.rst: New file.
1059         * doc/gccint/control-flow-graph/maintaining-the-cfg.rst: New file.
1060         * doc/gccint/control-flow-graph/profile-information.rst: New file.
1061         * doc/gccint/copyright.rst: New file.
1062         * doc/gccint/debugging-the-analyzer.rst: New file.
1063         * doc/gccint/funding.rst: New file.
1064         * doc/gccint/gcc-and-portability.rst: New file.
1065         * doc/gccint/general-public-license-3.rst: New file.
1066         * doc/gccint/generic.rst: New file.
1067         * doc/gccint/generic/attributes-in-trees.rst: New file.
1068         * doc/gccint/generic/c-and-c++-trees.rst: New file.
1069         * doc/gccint/generic/declarations.rst: New file.
1070         * doc/gccint/generic/deficiencies.rst: New file.
1071         * doc/gccint/generic/expressions.rst: New file.
1072         * doc/gccint/generic/functions.rst: New file.
1073         * doc/gccint/generic/language-dependent-trees.rst: New file.
1074         * doc/gccint/generic/overview.rst: New file.
1075         * doc/gccint/generic/statements.rst: New file.
1076         * doc/gccint/generic/types.rst: New file.
1077         * doc/gccint/gimple-api.rst: New file.
1078         * doc/gccint/gimple.rst: New file.
1079         * doc/gccint/gimple/adding-a-new-gimple-statement-code.rst: New file.
1080         * doc/gccint/gimple/class-hierarchy-of-gimple-statements.rst: New file.
1081         * doc/gccint/gimple/exception-handling.rst: New file.
1082         * doc/gccint/gimple/gimple-instruction-set.rst: New file.
1083         * doc/gccint/gimple/gimple-sequences.rst: New file.
1084         * doc/gccint/gimple/manipulating-gimple-statements.rst: New file.
1085         * doc/gccint/gimple/operands.rst: New file.
1086         * doc/gccint/gimple/sequence-iterators.rst: New file.
1087         * doc/gccint/gimple/statement-and-operand-traversals.rst: New file.
1088         * doc/gccint/gimple/temporaries.rst: New file.
1089         * doc/gccint/gimple/tuple-representation.rst: New file.
1090         * doc/gccint/gimple/tuple-specific-accessors.rst: New file.
1091         * doc/gccint/gimple/tuple-specific-accessors/gimpleasm.rst: New file.
1092         * doc/gccint/gimple/tuple-specific-accessors/gimpleassign.rst: New file.
1093         * doc/gccint/gimple/tuple-specific-accessors/gimplebind.rst: New file.
1094         * doc/gccint/gimple/tuple-specific-accessors/gimplecall.rst: New file.
1095         * doc/gccint/gimple/tuple-specific-accessors/gimplecatch.rst: New file.
1096         * doc/gccint/gimple/tuple-specific-accessors/gimplecond.rst: New file.
1097         * doc/gccint/gimple/tuple-specific-accessors/gimpledebug.rst: New file.
1098         * doc/gccint/gimple/tuple-specific-accessors/gimpleehfilter.rst: New file.
1099         * doc/gccint/gimple/tuple-specific-accessors/gimplegoto.rst: New file.
1100         * doc/gccint/gimple/tuple-specific-accessors/gimplelabel.rst: New file.
1101         * doc/gccint/gimple/tuple-specific-accessors/gimplenop.rst: New file.
1102         * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicload.rst: New file.
1103         * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicstore.rst: New file.
1104         * doc/gccint/gimple/tuple-specific-accessors/gimpleompcontinue.rst: New file.
1105         * doc/gccint/gimple/tuple-specific-accessors/gimpleompcritical.rst: New file.
1106         * doc/gccint/gimple/tuple-specific-accessors/gimpleompfor.rst: New file.
1107         * doc/gccint/gimple/tuple-specific-accessors/gimpleompmaster.rst: New file.
1108         * doc/gccint/gimple/tuple-specific-accessors/gimpleompordered.rst: New file.
1109         * doc/gccint/gimple/tuple-specific-accessors/gimpleompparallel.rst: New file.
1110         * doc/gccint/gimple/tuple-specific-accessors/gimpleompreturn.rst: New file.
1111         * doc/gccint/gimple/tuple-specific-accessors/gimpleompsection.rst: New file.
1112         * doc/gccint/gimple/tuple-specific-accessors/gimpleompsections.rst: New file.
1113         * doc/gccint/gimple/tuple-specific-accessors/gimpleompsingle.rst: New file.
1114         * doc/gccint/gimple/tuple-specific-accessors/gimplephi.rst: New file.
1115         * doc/gccint/gimple/tuple-specific-accessors/gimpleresx.rst: New file.
1116         * doc/gccint/gimple/tuple-specific-accessors/gimplereturn.rst: New file.
1117         * doc/gccint/gimple/tuple-specific-accessors/gimpleswitch.rst: New file.
1118         * doc/gccint/gimple/tuple-specific-accessors/gimpletry.rst: New file.
1119         * doc/gccint/gimple/tuple-specific-accessors/gimplewithcleanupexpr.rst: New file.
1120         * doc/gccint/gnu-free-documentation-license.rst: New file.
1121         * doc/gccint/guidelines-for-diagnostics.rst: New file.
1122         * doc/gccint/guidelines-for-options.rst: New file.
1123         * doc/gccint/host-common.rst: New file.
1124         * doc/gccint/host-configuration.rst: New file.
1125         * doc/gccint/host-filesystem.rst: New file.
1126         * doc/gccint/host-makefile-fragments.rst: New file.
1127         * doc/gccint/host-misc.rst: New file.
1128         * doc/gccint/index.rst: New file.
1129         * doc/gccint/indices-and-tables.rst: New file.
1130         * doc/gccint/interfacing-to-gcc-output.rst: New file.
1131         * doc/gccint/introduction.rst: New file.
1132         * doc/gccint/language-front-ends-in-gcc.rst: New file.
1133         * doc/gccint/link-time-optimization.rst: New file.
1134         * doc/gccint/link-time-optimization/design-overview.rst: New file.
1135         * doc/gccint/link-time-optimization/internal-flags-controlling-lto1.rst: New file.
1136         * doc/gccint/link-time-optimization/lto-file-sections.rst: New file.
1137         * doc/gccint/link-time-optimization/using-summary-information-in-ipa-passes.rst: New file.
1138         * doc/gccint/link-time-optimization/whole-program-assumptions-linker-plugin-and-symbol-visibilities.rst:
1139         New file.
1140         * doc/gccint/machine-descriptions.rst: New file.
1141         * doc/gccint/machine-descriptions/c-statements-for-assembler-output.rst: New file.
1142         * doc/gccint/machine-descriptions/canonicalization-of-instructions.rst: New file.
1143         * doc/gccint/machine-descriptions/conditional-execution.rst: New file.
1144         * doc/gccint/machine-descriptions/constant-definitions.rst: New file.
1145         * doc/gccint/machine-descriptions/defining-how-to-split-instructions.rst: New file.
1146         * doc/gccint/machine-descriptions/defining-jump-instruction-patterns.rst: New file.
1147         * doc/gccint/machine-descriptions/defining-looping-instruction-patterns.rst: New file.
1148         * doc/gccint/machine-descriptions/defining-rtl-sequences-for-code-generation.rst: New file.
1149         * doc/gccint/machine-descriptions/everything-about-instruction-patterns.rst: New file.
1150         * doc/gccint/machine-descriptions/example-of-defineinsn.rst: New file.
1151         * doc/gccint/machine-descriptions/including-patterns-in-machine-descriptions.rst: New file.
1152         * doc/gccint/machine-descriptions/instruction-attributes.rst: New file.
1153         * doc/gccint/machine-descriptions/interdependence-of-patterns.rst: New file.
1154         * doc/gccint/machine-descriptions/iterators.rst: New file.
1155         * doc/gccint/machine-descriptions/machine-specific-peephole-optimizers.rst: New file.
1156         * doc/gccint/machine-descriptions/operand-constraints.rst: New file.
1157         * doc/gccint/machine-descriptions/output-templates-and-operand-substitution.rst: New file.
1158         * doc/gccint/machine-descriptions/overview-of-how-the-machine-description-is-used.rst:
1159         New file.
1160         * doc/gccint/machine-descriptions/predicates.rst: New file.
1161         * doc/gccint/machine-descriptions/rtl-template.rst: New file.
1162         * doc/gccint/machine-descriptions/rtl-templates-transformations.rst: New file.
1163         * doc/gccint/machine-descriptions/standard-pattern-names-for-generation.rst: New file.
1164         * doc/gccint/machine-descriptions/when-the-order-of-patterns-matters.rst: New file.
1165         * doc/gccint/makefile-fragments.rst: New file.
1166         * doc/gccint/match-and-simplify.rst: New file.
1167         * doc/gccint/memory-management-and-type-information.rst: New file.
1168         * doc/gccint/memory-management-and-type-information/how-to-invoke-the-garbage-collector.rst:
1169         New file.
1170         * doc/gccint/memory-management-and-type-information/marking-roots-for-the-garbage-collector.rst:
1171         New file.
1172         * doc/gccint/memory-management-and-type-information/source-files-containing-type-information.rst:
1173         New file.
1174         * doc/gccint/memory-management-and-type-information/support-for-inheritance.rst: New file.
1175         * doc/gccint/memory-management-and-type-information/support-for-user-provided-gc-marking-routines.rst:
1176         New file.
1177         * doc/gccint/memory-management-and-type-information/the-inside-of-a-gty.rst: New file.
1178         * doc/gccint/memory-management-and-type-information/troubleshooting-the-garbage-collector.rst:
1179         New file.
1180         * doc/gccint/option-file-format.rst: New file.
1181         * doc/gccint/option-properties.rst: New file.
1182         * doc/gccint/option-specification-files.rst: New file.
1183         * doc/gccint/passes-and-files-of-the-compiler.rst: New file.
1184         * doc/gccint/passes-and-files-of-the-compiler/gimplification-pass.rst: New file.
1185         * doc/gccint/passes-and-files-of-the-compiler/inter-procedural-optimization-passes.rst:
1186         New file.
1187         * doc/gccint/passes-and-files-of-the-compiler/optimization-info.rst: New file.
1188         * doc/gccint/passes-and-files-of-the-compiler/parsing-pass.rst: New file.
1189         * doc/gccint/passes-and-files-of-the-compiler/pass-manager.rst: New file.
1190         * doc/gccint/passes-and-files-of-the-compiler/rtl-passes.rst: New file.
1191         * doc/gccint/passes-and-files-of-the-compiler/tree-ssa-passes.rst: New file.
1192         * doc/gccint/plugins.rst: New file.
1193         * doc/gccint/plugins/building-gcc-plugins.rst: New file.
1194         * doc/gccint/plugins/controlling-which-passes-are-being-run.rst: New file.
1195         * doc/gccint/plugins/giving-information-about-a-plugin.rst: New file.
1196         * doc/gccint/plugins/interacting-with-the-gcc-garbage-collector.rst: New file.
1197         * doc/gccint/plugins/interacting-with-the-pass-manager.rst: New file.
1198         * doc/gccint/plugins/keeping-track-of-available-passes.rst: New file.
1199         * doc/gccint/plugins/loading-plugins.rst: New file.
1200         * doc/gccint/plugins/plugin-api.rst: New file.
1201         * doc/gccint/plugins/recording-information-about-pass-execution.rst: New file.
1202         * doc/gccint/plugins/registering-custom-attributes-or-pragmas.rst: New file.
1203         * doc/gccint/rtl-representation.rst: New file.
1204         * doc/gccint/rtl-representation/access-to-operands.rst: New file.
1205         * doc/gccint/rtl-representation/access-to-special-operands.rst: New file.
1206         * doc/gccint/rtl-representation/assembler-instructions-as-expressions.rst: New file.
1207         * doc/gccint/rtl-representation/bit-fields.rst: New file.
1208         * doc/gccint/rtl-representation/comparison-operations.rst: New file.
1209         * doc/gccint/rtl-representation/constant-expression-types.rst: New file.
1210         * doc/gccint/rtl-representation/conversions.rst: New file.
1211         * doc/gccint/rtl-representation/declarations.rst: New file.
1212         * doc/gccint/rtl-representation/embedded-side-effects-on-addresses.rst: New file.
1213         * doc/gccint/rtl-representation/flags-in-an-rtl-expression.rst: New file.
1214         * doc/gccint/rtl-representation/insns.rst: New file.
1215         * doc/gccint/rtl-representation/machine-modes.rst: New file.
1216         * doc/gccint/rtl-representation/on-the-side-ssa-form-for-rtl.rst: New file.
1217         * doc/gccint/rtl-representation/reading-rtl.rst: New file.
1218         * doc/gccint/rtl-representation/registers-and-memory.rst: New file.
1219         * doc/gccint/rtl-representation/rtl-classes-and-formats.rst: New file.
1220         * doc/gccint/rtl-representation/rtl-expressions-for-arithmetic.rst: New file.
1221         * doc/gccint/rtl-representation/rtl-object-types.rst: New file.
1222         * doc/gccint/rtl-representation/rtl-representation-of-function-call-insns.rst: New file.
1223         * doc/gccint/rtl-representation/side-effect-expressions.rst: New file.
1224         * doc/gccint/rtl-representation/structure-sharing-assumptions.rst: New file.
1225         * doc/gccint/rtl-representation/variable-location-debug-information-in-rtl.rst: New file.
1226         * doc/gccint/rtl-representation/vector-operations.rst: New file.
1227         * doc/gccint/sizes-and-offsets-as-runtime-invariants.rst: New file.
1228         * doc/gccint/sizes-and-offsets-as-runtime-invariants/alignment-of-polyints.rst: New file.
1229         * doc/gccint/sizes-and-offsets-as-runtime-invariants/arithmetic-on-polyints.rst: New file.
1230         * doc/gccint/sizes-and-offsets-as-runtime-invariants/comparisons-involving-polyint.rst:
1231         New file.
1232         * doc/gccint/sizes-and-offsets-as-runtime-invariants/computing-bounds-on-polyints.rst:
1233         New file.
1234         * doc/gccint/sizes-and-offsets-as-runtime-invariants/consequences-of-using-polyint.rst:
1235         New file.
1236         * doc/gccint/sizes-and-offsets-as-runtime-invariants/converting-polyints.rst: New file.
1237         * doc/gccint/sizes-and-offsets-as-runtime-invariants/guidelines-for-using-polyint.rst:
1238         New file.
1239         * doc/gccint/sizes-and-offsets-as-runtime-invariants/miscellaneous-polyint-routines.rst:
1240         New file.
1241         * doc/gccint/sizes-and-offsets-as-runtime-invariants/overview-of-polyint.rst: New file.
1242         * doc/gccint/source-tree-structure-and-build-system.rst: New file.
1243         * doc/gccint/source-tree-structure-and-build-system/configure-terms-and-history.rst:
1244         New file.
1245         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory.rst: New file.
1246         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-language-front-end.rst:
1247         New file.
1248         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-target-back-end.rst:
1249         New file.
1250         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/build-system-in-the-gcc-directory.rst:
1251         New file.
1252         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/building-documentation.rst:
1253         New file.
1254         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/configuration-in-the-gcc-directory.rst:
1255         New file.
1256         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/headers-installed-by-gcc.rst:
1257         New file.
1258         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/library-source-files-and-headers-under-the-gcc-directory.rst:
1259         New file.
1260         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/makefile-targets.rst:
1261         New file.
1262         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/subdirectories-of-gcc.rst:
1263         New file.
1264         * doc/gccint/source-tree-structure-and-build-system/top-level-source-directory.rst:
1265         New file.
1266         * doc/gccint/standard-header-file-directories.rst: New file.
1267         * doc/gccint/static-analyzer.rst: New file.
1268         * doc/gccint/target-macros.rst: New file.
1269         * doc/gccint/target-macros/adding-support-for-named-address-spaces.rst: New file.
1270         * doc/gccint/target-macros/addressing-modes.rst: New file.
1271         * doc/gccint/target-macros/adjusting-the-instruction-scheduler.rst: New file.
1272         * doc/gccint/target-macros/anchored-addresses.rst: New file.
1273         * doc/gccint/target-macros/c++-abi-parameters.rst: New file.
1274         * doc/gccint/target-macros/condition-code-status.rst: New file.
1275         * doc/gccint/target-macros/controlling-debugging-information-format.rst: New file.
1276         * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: New file.
1277         * doc/gccint/target-macros/cross-compilation-and-floating-point.rst: New file.
1278         * doc/gccint/target-macros/d-abi-parameters.rst: New file.
1279         * doc/gccint/target-macros/defining-coprocessor-specifics-for-mips-targets.rst: New file.
1280         * doc/gccint/target-macros/defining-data-structures-for-per-function-information.rst:
1281         New file.
1282         * doc/gccint/target-macros/defining-target-specific-uses-of-attribute.rst: New file.
1283         * doc/gccint/target-macros/defining-the-output-assembler-language.rst: New file.
1284         * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-alignment.rst:
1285         New file.
1286         * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
1287         New file.
1288         * doc/gccint/target-macros/defining-the-output-assembler-language/how-initialization-functions-are-handled.rst:
1289         New file.
1290         * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
1291         New file.
1292         * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
1293         New file.
1294         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
1295         New file.
1296         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
1297         New file.
1298         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-dispatch-tables.rst:
1299         New file.
1300         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-uninitialized-variables.rst:
1301         New file.
1302         * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
1303         New file.
1304         * doc/gccint/target-macros/describing-relative-costs-of-operations.rst: New file.
1305         * doc/gccint/target-macros/dividing-the-output-into-sections-texts-data.rst: New file.
1306         * doc/gccint/target-macros/emulating-tls.rst: New file.
1307         * doc/gccint/target-macros/implementing-the-varargs-macros.rst: New file.
1308         * doc/gccint/target-macros/implicit-calls-to-library-routines.rst: New file.
1309         * doc/gccint/target-macros/layout-of-source-language-data-types.rst: New file.
1310         * doc/gccint/target-macros/miscellaneous-parameters.rst: New file.
1311         * doc/gccint/target-macros/mode-switching-instructions.rst: New file.
1312         * doc/gccint/target-macros/parameters-for-precompiled-header-validity-checking.rst:
1313         New file.
1314         * doc/gccint/target-macros/position-independent-code.rst: New file.
1315         * doc/gccint/target-macros/register-classes.rst: New file.
1316         * doc/gccint/target-macros/register-usage.rst: New file.
1317         * doc/gccint/target-macros/run-time-target-specification.rst: New file.
1318         * doc/gccint/target-macros/stack-layout-and-calling-conventions.rst: New file.
1319         * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
1320         New file.
1321         * doc/gccint/target-macros/stack-layout-and-calling-conventions/caller-saves-register-allocation.rst:
1322         New file.
1323         * doc/gccint/target-macros/stack-layout-and-calling-conventions/eliminating-frame-pointer-and-arg-pointer.rst:
1324         New file.
1325         * doc/gccint/target-macros/stack-layout-and-calling-conventions/exception-handling-support.rst:
1326         New file.
1327         * doc/gccint/target-macros/stack-layout-and-calling-conventions/function-entry-and-exit.rst:
1328         New file.
1329         * doc/gccint/target-macros/stack-layout-and-calling-conventions/generating-code-for-profiling.rst:
1330         New file.
1331         * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-large-values-are-returned.rst:
1332         New file.
1333         * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-scalar-function-values-are-returned.rst:
1334         New file.
1335         * doc/gccint/target-macros/stack-layout-and-calling-conventions/miscellaneous-register-hooks.rst:
1336         New file.
1337         * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
1338         New file.
1339         * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
1340         New file.
1341         * doc/gccint/target-macros/stack-layout-and-calling-conventions/permitting-tail-calls.rst:
1342         New file.
1343         * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
1344         New file.
1345         * doc/gccint/target-macros/stack-layout-and-calling-conventions/shrink-wrapping-separate-components.rst:
1346         New file.
1347         * doc/gccint/target-macros/stack-layout-and-calling-conventions/specifying-how-stack-checking-is-done.rst:
1348         New file.
1349         * doc/gccint/target-macros/stack-layout-and-calling-conventions/stack-smashing-protection.rst:
1350         New file.
1351         * doc/gccint/target-macros/storage-layout.rst: New file.
1352         * doc/gccint/target-macros/support-for-nested-functions.rst: New file.
1353         * doc/gccint/target-macros/the-global-targetm-variable.rst: New file.
1354         * doc/gccint/target-makefile-fragments.rst: New file.
1355         * doc/gccint/testsuites.rst: New test.
1356         * doc/gccint/testsuites/ada-language-testsuites.rst: New test.
1357         * doc/gccint/testsuites/c-language-testsuites.rst: New test.
1358         * doc/gccint/testsuites/directives-used-within-dejagnu-tests.rst: New test.
1359         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/commands-for-use-in-dg-final.rst:
1360         New test.
1361         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/features-for-dg-add-options.rst:
1362         New test.
1363         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/keywords-describing-target-attributes.rst:
1364         New test.
1365         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/selecting-targets-to-which-a-test-applies.rst:
1366         New test.
1367         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/syntax-and-descriptions-of-test-directives.rst:
1368         New test.
1369         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/variants-of-dg-require-support.rst:
1370         New test.
1371         * doc/gccint/testsuites/idioms-used-in-testsuite-code.rst: New test.
1372         * doc/gccint/testsuites/support-for-testing-binary-compatibility.rst: New test.
1373         * doc/gccint/testsuites/support-for-testing-gcov.rst: New test.
1374         * doc/gccint/testsuites/support-for-testing-gimple-passes.rst: New test.
1375         * doc/gccint/testsuites/support-for-testing-link-time-optimizations.rst: New test.
1376         * doc/gccint/testsuites/support-for-testing-profile-directed-optimizations.rst: New test.
1377         * doc/gccint/testsuites/support-for-testing-rtl-passes.rst: New test.
1378         * doc/gccint/testsuites/support-for-torture-testing-using-multiple-options.rst: New test.
1379         * doc/gccint/the-gcc-low-level-runtime-library.rst: New file.
1380         * doc/gccint/the-gcc-low-level-runtime-library/language-independent-routines-for-exception-handling.rst:
1381         New file.
1382         * doc/gccint/the-gcc-low-level-runtime-library/miscellaneous-runtime-library-routines.rst:
1383         New file.
1384         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-decimal-floating-point-emulation.rst:
1385         New file.
1386         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-fixed-point-fractional-emulation.rst:
1387         New file.
1388         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-floating-point-emulation.rst:
1389         New file.
1390         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-integer-arithmetic.rst:
1391         New file.
1392         * doc/gccint/the-language.rst: New file.
1393         * doc/gccint/user-experience-guidelines.rst: New file.
1394         * doc/install/binaries.rst: New file.
1395         * doc/install/building.rst: New file.
1396         * doc/install/building/building-a-cross-compiler.rst: New file.
1397         * doc/install/building/building-a-native-compiler.rst: New file.
1398         * doc/install/building/building-in-parallel.rst: New file.
1399         * doc/install/building/building-the-ada-compiler.rst: New file.
1400         * doc/install/building/building-the-d-compiler.rst: New file.
1401         * doc/install/building/building-with-profile-feedback.rst: New file.
1402         * doc/install/conf.py: New file.
1403         * doc/install/configuration.rst: New file.
1404         * doc/install/copyright.rst: New file.
1405         * doc/install/downloading-gcc.rst: New file.
1406         * doc/install/final-installation.rst: New file.
1407         * doc/install/gnu-free-documentation-license.rst: New file.
1408         * doc/install/host-target-specific-installation-notes-for-gcc.rst: New file.
1409         * doc/install/how-can-you-run-the-testsuite-on-selected-tests.rst: New test.
1410         * doc/install/how-to-interpret-test-results.rst: New file.
1411         * doc/install/index.rst: New file.
1412         * doc/install/indices-and-tables.rst: New file.
1413         * doc/install/installing-gcc.rst: New file.
1414         * doc/install/passing-options-and-running-multiple-testsuites.rst: New test.
1415         * doc/install/prerequisites.rst: New file.
1416         * doc/install/submitting-test-results.rst: New file.
1417         * doc/install/testing.rst: New file.
1418
1419 2022-11-14  Martin Liska  <mliska@suse.cz>
1420
1421         * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst: Revert.
1422
1423 2022-11-14  Martin Liska  <mliska@suse.cz>
1424
1425         Revert:
1426         2022-11-14  Martin Liska  <mliska@suse.cz>
1427
1428         * common/common-target.def: Port to RST.
1429         * target.def: Port to RST.
1430
1431 2022-11-14  Martin Liska  <mliska@suse.cz>
1432
1433         Revert:
1434         2022-11-09  Martin Liska  <mliska@suse.cz>
1435
1436         * doc/gccint/target-macros/adding-support-for-named-address-spaces.rst: Use tm.rst.in file.
1437         * doc/gccint/target-macros/addressing-modes.rst: Likewise.
1438         * doc/gccint/target-macros/adjusting-the-instruction-scheduler.rst: Likewise.
1439         * doc/gccint/target-macros/anchored-addresses.rst: Likewise.
1440         * doc/gccint/target-macros/c++-abi-parameters.rst: Likewise.
1441         * doc/gccint/target-macros/condition-code-status.rst: Likewise.
1442         * doc/gccint/target-macros/controlling-debugging-information-format.rst: Likewise.
1443         * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: Likewise.
1444         * doc/gccint/target-macros/d-abi-parameters.rst: Likewise.
1445         * doc/gccint/target-macros/defining-target-specific-uses-of-attribute.rst: Likewise.
1446         * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
1447         Likewise.
1448         * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
1449         Likewise.
1450         * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
1451         Likewise.
1452         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
1453         Likewise.
1454         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
1455         Likewise.
1456         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-dispatch-tables.rst:
1457         Likewise.
1458         * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
1459         Likewise.
1460         * doc/gccint/target-macros/describing-relative-costs-of-operations.rst: Likewise.
1461         * doc/gccint/target-macros/dividing-the-output-into-sections-texts-data.rst: Likewise.
1462         * doc/gccint/target-macros/emulating-tls.rst: Likewise.
1463         * doc/gccint/target-macros/implementing-the-varargs-macros.rst: Likewise.
1464         * doc/gccint/target-macros/implicit-calls-to-library-routines.rst: Likewise.
1465         * doc/gccint/target-macros/layout-of-source-language-data-types.rst: Likewise.
1466         * doc/gccint/target-macros/miscellaneous-parameters.rst: Likewise.
1467         * doc/gccint/target-macros/mode-switching-instructions.rst: Likewise.
1468         * doc/gccint/target-macros/parameters-for-precompiled-header-validity-checking.rst:
1469         Likewise.
1470         * doc/gccint/target-macros/register-classes.rst: Likewise.
1471         * doc/gccint/target-macros/register-usage.rst: Likewise.
1472         * doc/gccint/target-macros/run-time-target-specification.rst: Likewise.
1473         * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
1474         Likewise.
1475         * doc/gccint/target-macros/stack-layout-and-calling-conventions/eliminating-frame-pointer-and-arg-pointer.rst:
1476         Likewise.
1477         * doc/gccint/target-macros/stack-layout-and-calling-conventions/function-entry-and-exit.rst:
1478         Likewise.
1479         * doc/gccint/target-macros/stack-layout-and-calling-conventions/generating-code-for-profiling.rst:
1480         Likewise.
1481         * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-large-values-are-returned.rst:
1482         Likewise.
1483         * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-scalar-function-values-are-returned.rst:
1484         Likewise.
1485         * doc/gccint/target-macros/stack-layout-and-calling-conventions/miscellaneous-register-hooks.rst:
1486         Likewise.
1487         * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
1488         Likewise.
1489         * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
1490         Likewise.
1491         * doc/gccint/target-macros/stack-layout-and-calling-conventions/permitting-tail-calls.rst:
1492         Likewise.
1493         * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
1494         Likewise.
1495         * doc/gccint/target-macros/stack-layout-and-calling-conventions/shrink-wrapping-separate-components.rst:
1496         Likewise.
1497         * doc/gccint/target-macros/stack-layout-and-calling-conventions/specifying-how-stack-checking-is-done.rst:
1498         Likewise.
1499         * doc/gccint/target-macros/stack-layout-and-calling-conventions/stack-smashing-protection.rst:
1500         Likewise.
1501         * doc/gccint/target-macros/storage-layout.rst: Likewise.
1502         * doc/gccint/target-macros/support-for-nested-functions.rst: Likewise.
1503
1504 2022-11-14  Martin Liska  <mliska@suse.cz>
1505
1506         Revert:
1507         2022-11-14  Martin Liska  <mliska@suse.cz>
1508
1509         * Makefile.in: Support Sphinx based documentation.
1510         * configure: Regenerate.
1511         * configure.ac: Support Sphinx based documentation.
1512         * genhooks.cc (struct s_hook): Emit tm.rst.in file.
1513
1514 2022-11-14  Martin Liska  <mliska@suse.cz>
1515
1516         Revert:
1517         2022-11-09  Martin Liska  <mliska@suse.cz>
1518
1519         * doc/gccint/target-macros/tm.rst.in: New file.
1520
1521 2022-11-14  Martin Liska  <mliska@suse.cz>
1522
1523         Revert:
1524         2022-11-14  Martin Liska  <mliska@suse.cz>
1525
1526         * doc/analyzer.texi: Removed.
1527         * doc/avr-mmcu.texi: Removed.
1528         * doc/bugreport.texi: Removed.
1529         * doc/cfg.texi: Removed.
1530         * doc/collect2.texi: Removed.
1531         * doc/compat.texi: Removed.
1532         * doc/configfiles.texi: Removed.
1533         * doc/configterms.texi: Removed.
1534         * doc/contrib.texi: Removed.
1535         * doc/contribute.texi: Removed.
1536         * doc/cpp.texi: Removed.
1537         * doc/cppdiropts.texi: Removed.
1538         * doc/cppenv.texi: Removed.
1539         * doc/cppinternals.texi: Removed.
1540         * doc/cppopts.texi: Removed.
1541         * doc/cppwarnopts.texi: Removed.
1542         * doc/extend.texi: Removed.
1543         * doc/fragments.texi: Removed.
1544         * doc/frontends.texi: Removed.
1545         * doc/gcc.texi: Removed.
1546         * doc/gccint.texi: Removed.
1547         * doc/gcov-dump.texi: Removed.
1548         * doc/gcov-tool.texi: Removed.
1549         * doc/gcov.texi: Removed.
1550         * doc/generic.texi: Removed.
1551         * doc/gimple.texi: Removed.
1552         * doc/gnu.texi: Removed.
1553         * doc/gty.texi: Removed.
1554         * doc/headerdirs.texi: Removed.
1555         * doc/hostconfig.texi: Removed.
1556         * doc/implement-c.texi: Removed.
1557         * doc/implement-cxx.texi: Removed.
1558         * doc/include/fdl.texi: Removed.
1559         * doc/include/funding.texi: Removed.
1560         * doc/include/gcc-common.texi: Removed.
1561         * doc/include/gpl_v3.texi: Removed.
1562         * doc/install.texi: Removed.
1563         * doc/interface.texi: Removed.
1564         * doc/invoke.texi: Removed.
1565         * doc/languages.texi: Removed.
1566         * doc/libgcc.texi: Removed.
1567         * doc/loop.texi: Removed.
1568         * doc/lto-dump.texi: Removed.
1569         * doc/lto.texi: Removed.
1570         * doc/makefile.texi: Removed.
1571         * doc/match-and-simplify.texi: Removed.
1572         * doc/md.texi: Removed.
1573         * doc/objc.texi: Removed.
1574         * doc/optinfo.texi: Removed.
1575         * doc/options.texi: Removed.
1576         * doc/passes.texi: Removed.
1577         * doc/plugins.texi: Removed.
1578         * doc/poly-int.texi: Removed.
1579         * doc/portability.texi: Removed.
1580         * doc/rtl.texi: Removed.
1581         * doc/service.texi: Removed.
1582         * doc/sourcebuild.texi: Removed.
1583         * doc/standards.texi: Removed.
1584         * doc/tm.texi: Removed.
1585         * doc/tree-ssa.texi: Removed.
1586         * doc/trouble.texi: Removed.
1587         * doc/ux.texi: Removed.
1588         * doc/tm.texi.in: Removed.
1589
1590 2022-11-14  Martin Liska  <mliska@suse.cz>
1591
1592         Revert:
1593         2022-11-09  Martin Liska  <mliska@suse.cz>
1594
1595         * target.def: Use proper lexers for target macros.
1596         * doc/gccint/target-macros/tm.rst.in: Re-generate.
1597
1598 2022-11-14  Martin Liska  <mliska@suse.cz>
1599
1600         Revert:
1601         2022-11-09  Martin Liska  <mliska@suse.cz>
1602
1603         * Makefile.in: Support --with-sphinx-build.
1604         * configure.ac:
1605         * configure: Regenerate.
1606
1607 2022-11-14  Martin Liska  <mliska@suse.cz>
1608
1609         Revert:
1610         2022-11-14  Martin Liska  <mliska@suse.cz>
1611
1612         * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst:
1613         Fix cross manual refs.
1614         * doc/gcc/language-standards-supported-by-gcc/references-for-other-languages.rst:
1615         Likewise.
1616
1617 2022-11-14  Martin Liska  <mliska@suse.cz>
1618
1619         Revert:
1620         2022-11-09  Martin Liska  <mliska@suse.cz>
1621
1622         * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
1623         Do not include tm.rst.in.
1624         * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
1625         Likewise.
1626         * doc/gccint/target-macros/run-time-target-specification.rst:
1627         Likewise.
1628
1629 2022-11-14  Martin Liska  <mliska@suse.cz>
1630
1631         Revert:
1632         2022-11-09  Martin Liska  <mliska@suse.cz>
1633
1634         * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
1635         Port to RST.
1636         * doc/gccint/target-macros/storage-layout.rst: Likewise.
1637         * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: Sync with master.
1638         * doc/gcc/gcc-command-options/option-summary.rst: Likewise.
1639
1640 2022-11-14  Martin Liska  <mliska@suse.cz>
1641
1642         Revert:
1643         2022-11-09  Martin Liska  <mliska@suse.cz>
1644
1645         * Makefile.in: Support installation if sphinx-build is missing.
1646
1647 2022-11-14  Martin Liska  <mliska@suse.cz>
1648
1649         Revert:
1650         2022-11-09  Martin Liska  <mliska@suse.cz>
1651
1652         * Makefile.in: Add vpath default for .rst files.
1653         * config/avr/avr-devices.cc: For port RST.
1654         * config/avr/avr-mcus.def: Update path.
1655         * config/avr/gen-avr-mmcu-texi.cc: Moved to...
1656         * config/avr/gen-avr-mmcu-rst.cc: ...here.
1657         * config/avr/t-avr: Update to rst.
1658         * doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst: Re-generate.
1659
1660 2022-11-14  Martin Liska  <mliska@suse.cz>
1661
1662         Revert:
1663         2022-11-09  Martin Liska  <mliska@suse.cz>
1664
1665         * opts.cc (get_option_html_page): Port to sphinx URLs.
1666         (get_option_url): Likewise.
1667         (test_get_option_html_page): Likewise.
1668
1669 2022-11-14  Martin Liska  <mliska@suse.cz>
1670
1671         Revert:
1672         2022-11-14  Martin Liska  <mliska@suse.cz>
1673
1674         * doc/cpp/character-sets.rst:
1675         Add trailing newline.
1676         * doc/cpp/conditional-syntax.rst:
1677         Add trailing newline.
1678         * doc/cpp/conditional-uses.rst:
1679         Add trailing newline.
1680         * doc/cpp/conditionals.rst:
1681         Add trailing newline.
1682         * doc/cpp/copyright.rst:
1683         Add trailing newline.
1684         * doc/cpp/deleted-code.rst:
1685         Add trailing newline.
1686         * doc/cpp/diagnostics.rst:
1687         Add trailing newline.
1688         * doc/cpp/environment-variables.rst:
1689         Add trailing newline.
1690         * doc/cpp/gnu-free-documentation-license.rst:
1691         Add trailing newline.
1692         * doc/cpp/header-files.rst:
1693         Add trailing newline.
1694         * doc/cpp/header-files/alternatives-to-wrapper-ifndef.rst:
1695         Add trailing newline.
1696         * doc/cpp/header-files/computed-includes.rst:
1697         Add trailing newline.
1698         * doc/cpp/header-files/include-operation.rst:
1699         Add trailing newline.
1700         * doc/cpp/header-files/include-syntax.rst:
1701         Add trailing newline.
1702         * doc/cpp/header-files/once-only-headers.rst:
1703         Add trailing newline.
1704         * doc/cpp/header-files/search-path.rst:
1705         Add trailing newline.
1706         * doc/cpp/header-files/system-headers.rst:
1707         Add trailing newline.
1708         * doc/cpp/header-files/wrapper-headers.rst:
1709         Add trailing newline.
1710         * doc/cpp/implementation-defined-behavior.rst:
1711         Add trailing newline.
1712         * doc/cpp/implementation-details.rst:
1713         Add trailing newline.
1714         * doc/cpp/implementation-limits.rst:
1715         Add trailing newline.
1716         * doc/cpp/index.rst:
1717         Add trailing newline.
1718         * doc/cpp/indices-and-tables.rst:
1719         Add trailing newline.
1720         * doc/cpp/initial-processing.rst:
1721         Add trailing newline.
1722         * doc/cpp/invocation.rst:
1723         Add trailing newline.
1724         * doc/cpp/line-control.rst:
1725         Add trailing newline.
1726         * doc/cpp/macros.rst:
1727         Add trailing newline.
1728         * doc/cpp/macros/concatenation.rst:
1729         Add trailing newline.
1730         * doc/cpp/macros/directives-within-macro-arguments.rst:
1731         Add trailing newline.
1732         * doc/cpp/macros/function-like-macros.rst:
1733         Add trailing newline.
1734         * doc/cpp/macros/macro-arguments.rst:
1735         Add trailing newline.
1736         * doc/cpp/macros/macro-pitfalls.rst:
1737         Add trailing newline.
1738         * doc/cpp/macros/object-like-macros.rst:
1739         Add trailing newline.
1740         * doc/cpp/macros/predefined-macros.rst:
1741         Add trailing newline.
1742         * doc/cpp/macros/stringizing.rst:
1743         Add trailing newline.
1744         * doc/cpp/macros/undefining-and-redefining-macros.rst:
1745         Add trailing newline.
1746         * doc/cpp/macros/variadic-macros.rst:
1747         Add trailing newline.
1748         * doc/cpp/obsolete-features.rst:
1749         Add trailing newline.
1750         * doc/cpp/other-directives.rst:
1751         Add trailing newline.
1752         * doc/cpp/overview.rst:
1753         Add trailing newline.
1754         * doc/cpp/pragmas.rst:
1755         Add trailing newline.
1756         * doc/cpp/preprocessor-output.rst:
1757         Add trailing newline.
1758         * doc/cpp/the-preprocessing-language.rst:
1759         Add trailing newline.
1760         * doc/cpp/tokenization.rst:
1761         Add trailing newline.
1762         * doc/cpp/traditional-lexical-analysis.rst:
1763         Add trailing newline.
1764         * doc/cpp/traditional-macros.rst:
1765         Add trailing newline.
1766         * doc/cpp/traditional-miscellany.rst:
1767         Add trailing newline.
1768         * doc/cpp/traditional-mode.rst:
1769         Add trailing newline.
1770         * doc/cpp/traditional-warnings.rst:
1771         Add trailing newline.
1772         * doc/cppinternals/copyright.rst:
1773         Add trailing newline.
1774         * doc/cppinternals/cppinternals.rst:
1775         Add trailing newline.
1776         * doc/cppinternals/cpplib.rst:
1777         Add trailing newline.
1778         * doc/cppinternals/files.rst:
1779         Add trailing newline.
1780         * doc/cppinternals/index.rst:
1781         Add trailing newline.
1782         * doc/cppinternals/indices-and-tables.rst:
1783         Add trailing newline.
1784         * doc/cppinternals/internal-representation-of-macros.rst:
1785         Add trailing newline.
1786         * doc/cppinternals/just-which-line-number-anyway.rst:
1787         Add trailing newline.
1788         * doc/cppinternals/lexing-a-line.rst:
1789         Add trailing newline.
1790         * doc/cppinternals/lexing-a-token.rst:
1791         Add trailing newline.
1792         * doc/cppinternals/looking-for-a-function-like-macros-opening-parenthesis.rst:
1793         Add trailing newline.
1794         * doc/cppinternals/macro-expansion-overview.rst:
1795         Add trailing newline.
1796         * doc/cppinternals/marking-tokens-ineligible-for-future-expansion.rst:
1797         Add trailing newline.
1798         * doc/cppinternals/multiple-include-optimization.rst:
1799         Add trailing newline.
1800         * doc/cppinternals/overview.rst:
1801         Add trailing newline.
1802         * doc/cppinternals/representation-of-line-numbers.rst:
1803         Add trailing newline.
1804         * doc/cppinternals/scanning-the-replacement-list-for-macros-to-expand.rst:
1805         Add trailing newline.
1806         * doc/gcc/binary-compatibility.rst:
1807         Add trailing newline.
1808         * doc/gcc/c++-implementation-defined-behavior.rst:
1809         Add trailing newline.
1810         * doc/gcc/c-implementation-defined-behavior.rst:
1811         Add trailing newline.
1812         * doc/gcc/c-implementation-defined-behavior/architecture.rst:
1813         Add trailing newline.
1814         * doc/gcc/c-implementation-defined-behavior/arrays-and-pointers.rst:
1815         Add trailing newline.
1816         * doc/gcc/c-implementation-defined-behavior/characters.rst:
1817         Add trailing newline.
1818         * doc/gcc/c-implementation-defined-behavior/declarators.rst:
1819         Add trailing newline.
1820         * doc/gcc/c-implementation-defined-behavior/environment.rst:
1821         Add trailing newline.
1822         * doc/gcc/c-implementation-defined-behavior/floating-point.rst:
1823         Add trailing newline.
1824         * doc/gcc/c-implementation-defined-behavior/hints.rst:
1825         Add trailing newline.
1826         * doc/gcc/c-implementation-defined-behavior/identifiers.rst:
1827         Add trailing newline.
1828         * doc/gcc/c-implementation-defined-behavior/integers.rst:
1829         Add trailing newline.
1830         * doc/gcc/c-implementation-defined-behavior/library-functions.rst:
1831         Add trailing newline.
1832         * doc/gcc/c-implementation-defined-behavior/locale-specific-behavior.rst:
1833         Add trailing newline.
1834         * doc/gcc/c-implementation-defined-behavior/preprocessing-directives.rst:
1835         Add trailing newline.
1836         * doc/gcc/c-implementation-defined-behavior/qualifiers.rst:
1837         Add trailing newline.
1838         * doc/gcc/c-implementation-defined-behavior/statements.rst:
1839         Add trailing newline.
1840         * doc/gcc/c-implementation-defined-behavior/structures-unions-enumerations-and-bit-fields.rst:
1841         Add trailing newline.
1842         * doc/gcc/c-implementation-defined-behavior/translation.rst:
1843         Add trailing newline.
1844         * doc/gcc/conditionally-supported-behavior.rst:
1845         Add trailing newline.
1846         * doc/gcc/contributing-to-gcc-development.rst:
1847         Add trailing newline.
1848         * doc/gcc/contributors-to-gcc.rst:
1849         Add trailing newline.
1850         * doc/gcc/copyright.rst:
1851         Add trailing newline.
1852         * doc/gcc/exception-handling.rst:
1853         Add trailing newline.
1854         * doc/gcc/extensions-to-the-c++-language.rst:
1855         Add trailing newline.
1856         * doc/gcc/extensions-to-the-c++-language/backwards-compatibility.rst:
1857         Add trailing newline.
1858         * doc/gcc/extensions-to-the-c++-language/c++-concepts.rst:
1859         Add trailing newline.
1860         * doc/gcc/extensions-to-the-c++-language/c++-interface-and-implementation-pragmas.rst:
1861         Add trailing newline.
1862         * doc/gcc/extensions-to-the-c++-language/c++-specific-variable-function-and-type-attributes.rst:
1863         Add trailing newline.
1864         * doc/gcc/extensions-to-the-c++-language/deprecated-features.rst:
1865         Add trailing newline.
1866         * doc/gcc/extensions-to-the-c++-language/extracting-the-function-pointer-from-a-bound-pointer-to-member-function.rst:
1867         Add trailing newline.
1868         * doc/gcc/extensions-to-the-c++-language/function-multiversioning.rst:
1869         Add trailing newline.
1870         * doc/gcc/extensions-to-the-c++-language/restricting-pointer-aliasing.rst:
1871         Add trailing newline.
1872         * doc/gcc/extensions-to-the-c++-language/type-traits.rst:
1873         Add trailing newline.
1874         * doc/gcc/extensions-to-the-c++-language/vague-linkage.rst:
1875         Add trailing newline.
1876         * doc/gcc/extensions-to-the-c++-language/when-is-a-volatile-c++-object-accessed.rst:
1877         Add trailing newline.
1878         * doc/gcc/extensions-to-the-c++-language/wheres-the-template.rst:
1879         Add trailing newline.
1880         * doc/gcc/extensions-to-the-c-language-family.rst:
1881         Add trailing newline.
1882         * doc/gcc/extensions-to-the-c-language-family/128-bit-integers.rst:
1883         Add trailing newline.
1884         * doc/gcc/extensions-to-the-c-language-family/additional-floating-types.rst:
1885         Add trailing newline.
1886         * doc/gcc/extensions-to-the-c-language-family/alternate-keywords.rst:
1887         Add trailing newline.
1888         * doc/gcc/extensions-to-the-c-language-family/an-inline-function-is-as-fast-as-a-macro.rst:
1889         Add trailing newline.
1890         * doc/gcc/extensions-to-the-c-language-family/arithmetic-on-void-and-function-pointers.rst:
1891         Add trailing newline.
1892         * doc/gcc/extensions-to-the-c-language-family/arrays-of-length-zero.rst:
1893         Add trailing newline.
1894         * doc/gcc/extensions-to-the-c-language-family/arrays-of-variable-length.rst:
1895         Add trailing newline.
1896         * doc/gcc/extensions-to-the-c-language-family/attribute-syntax.rst:
1897         Add trailing newline.
1898         * doc/gcc/extensions-to-the-c-language-family/binary-constants-using-the-0b-prefix.rst:
1899         Add trailing newline.
1900         * doc/gcc/extensions-to-the-c-language-family/built-in-functions-for-memory-model-aware-atomic-operations.rst:
1901         Add trailing newline.
1902         * doc/gcc/extensions-to-the-c-language-family/built-in-functions-to-perform-arithmetic-with-overflow-checking.rst:
1903         Add trailing newline.
1904         * doc/gcc/extensions-to-the-c-language-family/c++-style-comments.rst:
1905         Add trailing newline.
1906         * doc/gcc/extensions-to-the-c-language-family/case-ranges.rst:
1907         Add trailing newline.
1908         * doc/gcc/extensions-to-the-c-language-family/cast-to-a-union-type.rst:
1909         Add trailing newline.
1910         * doc/gcc/extensions-to-the-c-language-family/complex-numbers.rst:
1911         Add trailing newline.
1912         * doc/gcc/extensions-to-the-c-language-family/compound-literals.rst:
1913         Add trailing newline.
1914         * doc/gcc/extensions-to-the-c-language-family/conditionals-with-omitted-operands.rst:
1915         Add trailing newline.
1916         * doc/gcc/extensions-to-the-c-language-family/constructing-function-calls.rst:
1917         Add trailing newline.
1918         * doc/gcc/extensions-to-the-c-language-family/decimal-floating-types.rst:
1919         Add trailing newline.
1920         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions.rst:
1921         Add trailing newline.
1922         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/aarch64-function-attributes.rst:
1923         Add trailing newline.
1924         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/amd-gcn-function-attributes.rst:
1925         Add trailing newline.
1926         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arc-function-attributes.rst:
1927         Add trailing newline.
1928         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arm-function-attributes.rst:
1929         Add trailing newline.
1930         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/avr-function-attributes.rst:
1931         Add trailing newline.
1932         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/blackfin-function-attributes.rst:
1933         Add trailing newline.
1934         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/bpf-function-attributes.rst:
1935         Add trailing newline.
1936         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/c-sky-function-attributes.rst:
1937         Add trailing newline.
1938         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/common-function-attributes.rst:
1939         Add trailing newline.
1940         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/epiphany-function-attributes.rst:
1941         Add trailing newline.
1942         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/h8-300-function-attributes.rst:
1943         Add trailing newline.
1944         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/ia-64-function-attributes.rst:
1945         Add trailing newline.
1946         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32c-function-attributes.rst:
1947         Add trailing newline.
1948         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32r-d-function-attributes.rst:
1949         Add trailing newline.
1950         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m68k-function-attributes.rst:
1951         Add trailing newline.
1952         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mcore-function-attributes.rst:
1953         Add trailing newline.
1954         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mep-function-attributes.rst:
1955         Add trailing newline.
1956         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microblaze-function-attributes.rst:
1957         Add trailing newline.
1958         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microsoft-windows-function-attributes.rst:
1959         Add trailing newline.
1960         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mips-function-attributes.rst:
1961         Add trailing newline.
1962         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/msp430-function-attributes.rst:
1963         Add trailing newline.
1964         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nds32-function-attributes.rst:
1965         Add trailing newline.
1966         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nios-ii-function-attributes.rst:
1967         Add trailing newline.
1968         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nvidia-ptx-function-attributes.rst:
1969         Add trailing newline.
1970         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/powerpc-function-attributes.rst:
1971         Add trailing newline.
1972         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/risc-v-function-attributes.rst:
1973         Add trailing newline.
1974         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rl78-function-attributes.rst:
1975         Add trailing newline.
1976         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rx-function-attributes.rst:
1977         Add trailing newline.
1978         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/s-390-function-attributes.rst:
1979         Add trailing newline.
1980         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/sh-function-attributes.rst:
1981         Add trailing newline.
1982         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/symbian-os-function-attributes.rst:
1983         Add trailing newline.
1984         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/v850-function-attributes.rst:
1985         Add trailing newline.
1986         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/visium-function-attributes.rst:
1987         Add trailing newline.
1988         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/x86-function-attributes.rst:
1989         Add trailing newline.
1990         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/xstormy16-function-attributes.rst:
1991         Add trailing newline.
1992         * doc/gcc/extensions-to-the-c-language-family/designated-initializers.rst:
1993         Add trailing newline.
1994         * doc/gcc/extensions-to-the-c-language-family/determining-the-alignment-of-functions-types-or-variables.rst:
1995         Add trailing newline.
1996         * doc/gcc/extensions-to-the-c-language-family/dollar-signs-in-identifier-names.rst:
1997         Add trailing newline.
1998         * doc/gcc/extensions-to-the-c-language-family/double-word-integers.rst:
1999         Add trailing newline.
2000         * doc/gcc/extensions-to-the-c-language-family/enumerator-attributes.rst:
2001         Add trailing newline.
2002         * doc/gcc/extensions-to-the-c-language-family/fixed-point-types.rst:
2003         Add trailing newline.
2004         * doc/gcc/extensions-to-the-c-language-family/format-checks-specific-to-particular-target-machines.rst:
2005         Add trailing newline.
2006         * doc/gcc/extensions-to-the-c-language-family/function-names-as-strings.rst:
2007         Add trailing newline.
2008         * doc/gcc/extensions-to-the-c-language-family/getting-the-return-or-frame-address-of-a-function.rst:
2009         Add trailing newline.
2010         * doc/gcc/extensions-to-the-c-language-family/half-precision-floating-point.rst:
2011         Add trailing newline.
2012         * doc/gcc/extensions-to-the-c-language-family/hex-floats.rst:
2013         Add trailing newline.
2014         * doc/gcc/extensions-to-the-c-language-family/how-to-use-inline-assembly-language-in-c-code.rst:
2015         Add trailing newline.
2016         * doc/gcc/extensions-to-the-c-language-family/incomplete-enum-types.rst:
2017         Add trailing newline.
2018         * doc/gcc/extensions-to-the-c-language-family/label-attributes.rst:
2019         Add trailing newline.
2020         * doc/gcc/extensions-to-the-c-language-family/labels-as-values.rst:
2021         Add trailing newline.
2022         * doc/gcc/extensions-to-the-c-language-family/legacy-sync-built-in-functions-for-atomic-memory-access.rst:
2023         Add trailing newline.
2024         * doc/gcc/extensions-to-the-c-language-family/locally-declared-labels.rst:
2025         Add trailing newline.
2026         * doc/gcc/extensions-to-the-c-language-family/macros-with-a-variable-number-of-arguments.rst:
2027         Add trailing newline.
2028         * doc/gcc/extensions-to-the-c-language-family/mixed-declarations-labels-and-code.rst:
2029         Add trailing newline.
2030         * doc/gcc/extensions-to-the-c-language-family/named-address-spaces.rst:
2031         Add trailing newline.
2032         * doc/gcc/extensions-to-the-c-language-family/nested-functions.rst:
2033         Add trailing newline.
2034         * doc/gcc/extensions-to-the-c-language-family/non-constant-initializers.rst:
2035         Add trailing newline.
2036         * doc/gcc/extensions-to-the-c-language-family/non-lvalue-arrays-may-have-subscripts.rst:
2037         Add trailing newline.
2038         * doc/gcc/extensions-to-the-c-language-family/nonlocal-gotos.rst:
2039         Add trailing newline.
2040         * doc/gcc/extensions-to-the-c-language-family/object-size-checking-built-in-functions.rst:
2041         Add trailing newline.
2042         * doc/gcc/extensions-to-the-c-language-family/other-built-in-functions-provided-by-gcc.rst:
2043         Add trailing newline.
2044         * doc/gcc/extensions-to-the-c-language-family/pointer-arguments-in-variadic-functions.rst:
2045         Add trailing newline.
2046         * doc/gcc/extensions-to-the-c-language-family/pointers-to-arrays-with-qualifiers-work-as-expected.rst:
2047         Add trailing newline.
2048         * doc/gcc/extensions-to-the-c-language-family/pragmas-accepted-by-gcc.rst:
2049         Add trailing newline.
2050         * doc/gcc/extensions-to-the-c-language-family/prototypes-and-old-style-function-definitions.rst:
2051         Add trailing newline.
2052         * doc/gcc/extensions-to-the-c-language-family/referring-to-a-type-with-typeof.rst:
2053         Add trailing newline.
2054         * doc/gcc/extensions-to-the-c-language-family/slightly-looser-rules-for-escaped-newlines.rst:
2055         Add trailing newline.
2056         * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-types.rst:
2057         Add trailing newline.
2058         * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-variables.rst:
2059         Add trailing newline.
2060         * doc/gcc/extensions-to-the-c-language-family/statement-attributes.rst:
2061         Add trailing newline.
2062         * doc/gcc/extensions-to-the-c-language-family/statements-and-declarations-in-expressions.rst:
2063         Add trailing newline.
2064         * doc/gcc/extensions-to-the-c-language-family/structures-with-no-members.rst:
2065         Add trailing newline.
2066         * doc/gcc/extensions-to-the-c-language-family/support-for-offsetof.rst:
2067         Add trailing newline.
2068         * doc/gcc/extensions-to-the-c-language-family/target-builtins.rst:
2069         Add trailing newline.
2070         * doc/gcc/extensions-to-the-c-language-family/target-builtins/aarch64-built-in-functions.rst:
2071         Add trailing newline.
2072         * doc/gcc/extensions-to-the-c-language-family/target-builtins/alpha-built-in-functions.rst:
2073         Add trailing newline.
2074         * doc/gcc/extensions-to-the-c-language-family/target-builtins/altera-nios-ii-built-in-functions.rst:
2075         Add trailing newline.
2076         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-built-in-functions.rst:
2077         Add trailing newline.
2078         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-simd-built-in-functions.rst:
2079         Add trailing newline.
2080         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-armv8-m-security-extensions.rst:
2081         Add trailing newline.
2082         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-c-language-extensions-acle.rst:
2083         Add trailing newline.
2084         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-floating-point-status-and-control-intrinsics.rst:
2085         Add trailing newline.
2086         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-iwmmxt-built-in-functions.rst:
2087         Add trailing newline.
2088         * doc/gcc/extensions-to-the-c-language-family/target-builtins/avr-built-in-functions.rst:
2089         Add trailing newline.
2090         * doc/gcc/extensions-to-the-c-language-family/target-builtins/basic-powerpc-built-in-functions.rst:
2091         Add trailing newline.
2092         * doc/gcc/extensions-to-the-c-language-family/target-builtins/blackfin-built-in-functions.rst:
2093         Add trailing newline.
2094         * doc/gcc/extensions-to-the-c-language-family/target-builtins/bpf-built-in-functions.rst:
2095         Add trailing newline.
2096         * doc/gcc/extensions-to-the-c-language-family/target-builtins/fr-v-built-in-functions.rst:
2097         Add trailing newline.
2098         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-dsp-built-in-functions.rst:
2099         Add trailing newline.
2100         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-loongson-built-in-functions.rst:
2101         Add trailing newline.
2102         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-paired-single-support.rst:
2103         Add trailing newline.
2104         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-simd-architecture-msa-support.rst:
2105         Add trailing newline.
2106         * doc/gcc/extensions-to-the-c-language-family/target-builtins/msp430-built-in-functions.rst:
2107         Add trailing newline.
2108         * doc/gcc/extensions-to-the-c-language-family/target-builtins/nds32-built-in-functions.rst:
2109         Add trailing newline.
2110         * doc/gcc/extensions-to-the-c-language-family/target-builtins/other-mips-built-in-functions.rst:
2111         Add trailing newline.
2112         * doc/gcc/extensions-to-the-c-language-family/target-builtins/picochip-built-in-functions.rst:
2113         Add trailing newline.
2114         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-altivec-vsx-built-in-functions.rst:
2115         Add trailing newline.
2116         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-atomic-memory-operation-functions.rst:
2117         Add trailing newline.
2118         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-hardware-transactional-memory-built-in-functions.rst:
2119         Add trailing newline.
2120         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-matrix-multiply-assist-built-in-functions.rst:
2121         Add trailing newline.
2122         * doc/gcc/extensions-to-the-c-language-family/target-builtins/pru-built-in-functions.rst:
2123         Add trailing newline.
2124         * doc/gcc/extensions-to-the-c-language-family/target-builtins/risc-v-built-in-functions.rst:
2125         Add trailing newline.
2126         * doc/gcc/extensions-to-the-c-language-family/target-builtins/rx-built-in-functions.rst:
2127         Add trailing newline.
2128         * doc/gcc/extensions-to-the-c-language-family/target-builtins/s-390-system-z-built-in-functions.rst:
2129         Add trailing newline.
2130         * doc/gcc/extensions-to-the-c-language-family/target-builtins/sh-built-in-functions.rst:
2131         Add trailing newline.
2132         * doc/gcc/extensions-to-the-c-language-family/target-builtins/sparc-vis-built-in-functions.rst:
2133         Add trailing newline.
2134         * doc/gcc/extensions-to-the-c-language-family/target-builtins/ti-c6x-built-in-functions.rst:
2135         Add trailing newline.
2136         * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-built-in-functions.rst:
2137         Add trailing newline.
2138         * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-control-flow-protection-intrinsics.rst:
2139         Add trailing newline.
2140         * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-transactional-memory-intrinsics.rst:
2141         Add trailing newline.
2142         * doc/gcc/extensions-to-the-c-language-family/the-character-esc-in-constants.rst:
2143         Add trailing newline.
2144         * doc/gcc/extensions-to-the-c-language-family/thread-local-storage.rst:
2145         Add trailing newline.
2146         * doc/gcc/extensions-to-the-c-language-family/unnamed-structure-and-union-fields.rst:
2147         Add trailing newline.
2148         * doc/gcc/extensions-to-the-c-language-family/using-vector-instructions-through-built-in-functions.rst:
2149         Add trailing newline.
2150         * doc/gcc/extensions-to-the-c-language-family/when-is-a-volatile-object-accessed.rst:
2151         Add trailing newline.
2152         * doc/gcc/extensions-to-the-c-language-family/x86-specific-memory-model-extensions-for-transactional-memory.rst:
2153         Add trailing newline.
2154         * doc/gcc/funding.rst:
2155         Add trailing newline.
2156         * doc/gcc/gcc-command-options.rst:
2157         Add trailing newline.
2158         * doc/gcc/gcc-command-options/compiling-c++-programs.rst:
2159         Add trailing newline.
2160         * doc/gcc/gcc-command-options/description.rst:
2161         Add trailing newline.
2162         * doc/gcc/gcc-command-options/environment-variables-affecting-gcc.rst:
2163         Add trailing newline.
2164         * doc/gcc/gcc-command-options/gcc-developer-options.rst:
2165         Add trailing newline.
2166         * doc/gcc/gcc-command-options/machine-dependent-options.rst:
2167         Add trailing newline.
2168         * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst:
2169         Add trailing newline.
2170         * doc/gcc/gcc-command-options/machine-dependent-options/adapteva-epiphany-options.rst:
2171         Add trailing newline.
2172         * doc/gcc/gcc-command-options/machine-dependent-options/amd-gcn-options.rst:
2173         Add trailing newline.
2174         * doc/gcc/gcc-command-options/machine-dependent-options/arc-options.rst:
2175         Add trailing newline.
2176         * doc/gcc/gcc-command-options/machine-dependent-options/arm-options.rst:
2177         Add trailing newline.
2178         * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst:
2179         Add trailing newline.
2180         * doc/gcc/gcc-command-options/machine-dependent-options/blackfin-options.rst:
2181         Add trailing newline.
2182         * doc/gcc/gcc-command-options/machine-dependent-options/c-sky-options.rst:
2183         Add trailing newline.
2184         * doc/gcc/gcc-command-options/machine-dependent-options/c6x-options.rst:
2185         Add trailing newline.
2186         * doc/gcc/gcc-command-options/machine-dependent-options/cris-options.rst:
2187         Add trailing newline.
2188         * doc/gcc/gcc-command-options/machine-dependent-options/darwin-options.rst:
2189         Add trailing newline.
2190         * doc/gcc/gcc-command-options/machine-dependent-options/dec-alpha-options.rst:
2191         Add trailing newline.
2192         * doc/gcc/gcc-command-options/machine-dependent-options/ebpf-options.rst:
2193         Add trailing newline.
2194         * doc/gcc/gcc-command-options/machine-dependent-options/fr30-options.rst:
2195         Add trailing newline.
2196         * doc/gcc/gcc-command-options/machine-dependent-options/frv-options.rst:
2197         Add trailing newline.
2198         * doc/gcc/gcc-command-options/machine-dependent-options/ft32-options.rst:
2199         Add trailing newline.
2200         * doc/gcc/gcc-command-options/machine-dependent-options/gnu-linux-options.rst:
2201         Add trailing newline.
2202         * doc/gcc/gcc-command-options/machine-dependent-options/h8-300-options.rst:
2203         Add trailing newline.
2204         * doc/gcc/gcc-command-options/machine-dependent-options/hppa-options.rst:
2205         Add trailing newline.
2206         * doc/gcc/gcc-command-options/machine-dependent-options/ia-64-options.rst:
2207         Add trailing newline.
2208         * doc/gcc/gcc-command-options/machine-dependent-options/ibm-rs-6000-and-powerpc-options.rst:
2209         Add trailing newline.
2210         * doc/gcc/gcc-command-options/machine-dependent-options/lm32-options.rst:
2211         Add trailing newline.
2212         * doc/gcc/gcc-command-options/machine-dependent-options/loongarch-options.rst:
2213         Add trailing newline.
2214         * doc/gcc/gcc-command-options/machine-dependent-options/m32c-options.rst:
2215         Add trailing newline.
2216         * doc/gcc/gcc-command-options/machine-dependent-options/m32r-d-options.rst:
2217         Add trailing newline.
2218         * doc/gcc/gcc-command-options/machine-dependent-options/m680x0-options.rst:
2219         Add trailing newline.
2220         * doc/gcc/gcc-command-options/machine-dependent-options/mcore-options.rst:
2221         Add trailing newline.
2222         * doc/gcc/gcc-command-options/machine-dependent-options/mep-options.rst:
2223         Add trailing newline.
2224         * doc/gcc/gcc-command-options/machine-dependent-options/microblaze-options.rst:
2225         Add trailing newline.
2226         * doc/gcc/gcc-command-options/machine-dependent-options/mips-options.rst:
2227         Add trailing newline.
2228         * doc/gcc/gcc-command-options/machine-dependent-options/mmix-options.rst:
2229         Add trailing newline.
2230         * doc/gcc/gcc-command-options/machine-dependent-options/mn10300-options.rst:
2231         Add trailing newline.
2232         * doc/gcc/gcc-command-options/machine-dependent-options/moxie-options.rst:
2233         Add trailing newline.
2234         * doc/gcc/gcc-command-options/machine-dependent-options/msp430-options.rst:
2235         Add trailing newline.
2236         * doc/gcc/gcc-command-options/machine-dependent-options/nds32-options.rst:
2237         Add trailing newline.
2238         * doc/gcc/gcc-command-options/machine-dependent-options/nios-ii-options.rst:
2239         Add trailing newline.
2240         * doc/gcc/gcc-command-options/machine-dependent-options/nvidia-ptx-options.rst:
2241         Add trailing newline.
2242         * doc/gcc/gcc-command-options/machine-dependent-options/openrisc-options.rst:
2243         Add trailing newline.
2244         * doc/gcc/gcc-command-options/machine-dependent-options/options-for-system-v.rst:
2245         Add trailing newline.
2246         * doc/gcc/gcc-command-options/machine-dependent-options/pdp-11-options.rst:
2247         Add trailing newline.
2248         * doc/gcc/gcc-command-options/machine-dependent-options/picochip-options.rst:
2249         Add trailing newline.
2250         * doc/gcc/gcc-command-options/machine-dependent-options/powerpc-options.rst:
2251         Add trailing newline.
2252         * doc/gcc/gcc-command-options/machine-dependent-options/pru-options.rst:
2253         Add trailing newline.
2254         * doc/gcc/gcc-command-options/machine-dependent-options/risc-v-options.rst:
2255         Add trailing newline.
2256         * doc/gcc/gcc-command-options/machine-dependent-options/rl78-options.rst:
2257         Add trailing newline.
2258         * doc/gcc/gcc-command-options/machine-dependent-options/rx-options.rst:
2259         Add trailing newline.
2260         * doc/gcc/gcc-command-options/machine-dependent-options/s-390-and-zseries-options.rst:
2261         Add trailing newline.
2262         * doc/gcc/gcc-command-options/machine-dependent-options/score-options.rst:
2263         Add trailing newline.
2264         * doc/gcc/gcc-command-options/machine-dependent-options/sh-options.rst:
2265         Add trailing newline.
2266         * doc/gcc/gcc-command-options/machine-dependent-options/solaris-2-options.rst:
2267         Add trailing newline.
2268         * doc/gcc/gcc-command-options/machine-dependent-options/sparc-options.rst:
2269         Add trailing newline.
2270         * doc/gcc/gcc-command-options/machine-dependent-options/v850-options.rst:
2271         Add trailing newline.
2272         * doc/gcc/gcc-command-options/machine-dependent-options/vax-options.rst:
2273         Add trailing newline.
2274         * doc/gcc/gcc-command-options/machine-dependent-options/visium-options.rst:
2275         Add trailing newline.
2276         * doc/gcc/gcc-command-options/machine-dependent-options/vms-options.rst:
2277         Add trailing newline.
2278         * doc/gcc/gcc-command-options/machine-dependent-options/vxworks-options.rst:
2279         Add trailing newline.
2280         * doc/gcc/gcc-command-options/machine-dependent-options/x86-windows-options.rst:
2281         Add trailing newline.
2282         * doc/gcc/gcc-command-options/machine-dependent-options/xstormy16-options.rst:
2283         Add trailing newline.
2284         * doc/gcc/gcc-command-options/machine-dependent-options/xtensa-options.rst:
2285         Add trailing newline.
2286         * doc/gcc/gcc-command-options/machine-dependent-options/zseries-options.rst:
2287         Add trailing newline.
2288         * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst:
2289         Add trailing newline.
2290         * doc/gcc/gcc-command-options/options-controlling-c-dialect.rst:
2291         Add trailing newline.
2292         * doc/gcc/gcc-command-options/options-controlling-objective-c-and-objective-c++-dialects.rst:
2293         Add trailing newline.
2294         * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst:
2295         Add trailing newline.
2296         * doc/gcc/gcc-command-options/options-controlling-the-preprocessor.rst:
2297         Add trailing newline.
2298         * doc/gcc/gcc-command-options/options-for-code-generation-conventions.rst:
2299         Add trailing newline.
2300         * doc/gcc/gcc-command-options/options-for-debugging-your-program.rst:
2301         Add trailing newline.
2302         * doc/gcc/gcc-command-options/options-for-directory-search.rst:
2303         Add trailing newline.
2304         * doc/gcc/gcc-command-options/options-for-linking.rst:
2305         Add trailing newline.
2306         * doc/gcc/gcc-command-options/options-that-control-optimization.rst:
2307         Add trailing newline.
2308         * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
2309         Add trailing newline.
2310         * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
2311         Add trailing newline.
2312         * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst:
2313         Add trailing newline.
2314         * doc/gcc/gcc-command-options/passing-options-to-the-assembler.rst:
2315         Add trailing newline.
2316         * doc/gcc/gcc-command-options/program-instrumentation-options.rst:
2317         Add trailing newline.
2318         * doc/gcc/gcc-command-options/specifying-subprocesses-and-the-switches-to-pass-to-them.rst:
2319         Add trailing newline.
2320         * doc/gcc/gcc-command-options/using-precompiled-headers.rst:
2321         Add trailing newline.
2322         * doc/gcc/gcc.rst:
2323         Add trailing newline.
2324         * doc/gcc/gcov-dump.rst:
2325         Add trailing newline.
2326         * doc/gcc/gcov-tool.rst:
2327         Add trailing newline.
2328         * doc/gcc/gcov.rst:
2329         Add trailing newline.
2330         * doc/gcc/gcov/brief-description-of-gcov-data-files.rst:
2331         Add trailing newline.
2332         * doc/gcc/gcov/data-file-relocation-to-support-cross-profiling.rst:
2333         Add trailing newline.
2334         * doc/gcc/gcov/introduction-to-gcov.rst:
2335         Add trailing newline.
2336         * doc/gcc/gcov/invoking-gcov.rst:
2337         Add trailing newline.
2338         * doc/gcc/gcov/profiling-and-test-coverage-in-freestanding-environments.rst:
2339         Add trailing newline.
2340         * doc/gcc/gcov/using-gcov-with-gcc-optimization.rst:
2341         Add trailing newline.
2342         * doc/gcc/general-public-license-3.rst:
2343         Add trailing newline.
2344         * doc/gcc/gnu-free-documentation-license.rst:
2345         Add trailing newline.
2346         * doc/gcc/gnu-objective-c-features.rst:
2347         Add trailing newline.
2348         * doc/gcc/gnu-objective-c-features/compatibilityalias.rst:
2349         Add trailing newline.
2350         * doc/gcc/gnu-objective-c-features/constant-string-objects.rst:
2351         Add trailing newline.
2352         * doc/gcc/gnu-objective-c-features/exceptions.rst:
2353         Add trailing newline.
2354         * doc/gcc/gnu-objective-c-features/fast-enumeration.rst:
2355         Add trailing newline.
2356         * doc/gcc/gnu-objective-c-features/garbage-collection.rst:
2357         Add trailing newline.
2358         * doc/gcc/gnu-objective-c-features/gnu-objective-c-runtime-api.rst:
2359         Add trailing newline.
2360         * doc/gcc/gnu-objective-c-features/load-executing-code-before-main.rst:
2361         Add trailing newline.
2362         * doc/gcc/gnu-objective-c-features/messaging-with-the-gnu-objective-c-runtime.rst:
2363         Add trailing newline.
2364         * doc/gcc/gnu-objective-c-features/synchronization.rst:
2365         Add trailing newline.
2366         * doc/gcc/gnu-objective-c-features/type-encoding.rst:
2367         Add trailing newline.
2368         * doc/gcc/gnu.rst:
2369         Add trailing newline.
2370         * doc/gcc/have-you-found-a-bug.rst:
2371         Add trailing newline.
2372         * doc/gcc/how-and-where-to-report-bugs.rst:
2373         Add trailing newline.
2374         * doc/gcc/how-to-get-help-with-gcc.rst:
2375         Add trailing newline.
2376         * doc/gcc/index.rst:
2377         Add trailing newline.
2378         * doc/gcc/indices-and-tables.rst:
2379         Add trailing newline.
2380         * doc/gcc/known-causes-of-trouble-with-gcc.rst:
2381         Add trailing newline.
2382         * doc/gcc/known-causes-of-trouble-with-gcc/actual-bugs-we-havent-fixed-yet.rst:
2383         Add trailing newline.
2384         * doc/gcc/known-causes-of-trouble-with-gcc/certain-changes-we-dont-want-to-make.rst:
2385         Add trailing newline.
2386         * doc/gcc/known-causes-of-trouble-with-gcc/common-misunderstandings-with-gnu-c.rst:
2387         Add trailing newline.
2388         * doc/gcc/known-causes-of-trouble-with-gcc/disappointments-and-misunderstandings.rst:
2389         Add trailing newline.
2390         * doc/gcc/known-causes-of-trouble-with-gcc/fixed-header-files.rst:
2391         Add trailing newline.
2392         * doc/gcc/known-causes-of-trouble-with-gcc/incompatibilities-of-gcc.rst:
2393         Add trailing newline.
2394         * doc/gcc/known-causes-of-trouble-with-gcc/interoperation.rst:
2395         Add trailing newline.
2396         * doc/gcc/known-causes-of-trouble-with-gcc/standard-libraries.rst:
2397         Add trailing newline.
2398         * doc/gcc/known-causes-of-trouble-with-gcc/warning-messages-and-error-messages.rst:
2399         Add trailing newline.
2400         * doc/gcc/language-standards-supported-by-gcc.rst:
2401         Add trailing newline.
2402         * doc/gcc/language-standards-supported-by-gcc/c++-language.rst:
2403         Add trailing newline.
2404         * doc/gcc/language-standards-supported-by-gcc/c-language.rst:
2405         Add trailing newline.
2406         * doc/gcc/language-standards-supported-by-gcc/d-language.rst:
2407         Add trailing newline.
2408         * doc/gcc/language-standards-supported-by-gcc/go-language.rst:
2409         Add trailing newline.
2410         * doc/gcc/language-standards-supported-by-gcc/objective-c-and-objective-c++-languages.rst:
2411         Add trailing newline.
2412         * doc/gcc/lto-dump.rst:
2413         Add trailing newline.
2414         * doc/gcc/programming-languages-supported-by-gcc.rst:
2415         Add trailing newline.
2416         * doc/gcc/reporting-bugs.rst:
2417         Add trailing newline.
2418         * doc/gccint/analysis-and-optimization-of-gimple-tuples.rst:
2419         Add trailing newline.
2420         * doc/gccint/analysis-and-optimization-of-gimple-tuples/alias-analysis.rst:
2421         Add trailing newline.
2422         * doc/gccint/analysis-and-optimization-of-gimple-tuples/annotations.rst:
2423         Add trailing newline.
2424         * doc/gccint/analysis-and-optimization-of-gimple-tuples/memory-model.rst:
2425         Add trailing newline.
2426         * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst:
2427         Add trailing newline.
2428         * doc/gccint/analysis-and-optimization-of-gimple-tuples/static-single-assignment.rst:
2429         Add trailing newline.
2430         * doc/gccint/analysis-and-representation-of-loops.rst:
2431         Add trailing newline.
2432         * doc/gccint/analysis-and-representation-of-loops/data-dependency-analysis.rst:
2433         Add trailing newline.
2434         * doc/gccint/analysis-and-representation-of-loops/iv-analysis-on-rtl.rst:
2435         Add trailing newline.
2436         * doc/gccint/analysis-and-representation-of-loops/loop-closed-ssa-form.rst:
2437         Add trailing newline.
2438         * doc/gccint/analysis-and-representation-of-loops/loop-manipulation.rst:
2439         Add trailing newline.
2440         * doc/gccint/analysis-and-representation-of-loops/loop-querying.rst:
2441         Add trailing newline.
2442         * doc/gccint/analysis-and-representation-of-loops/loop-representation.rst:
2443         Add trailing newline.
2444         * doc/gccint/analysis-and-representation-of-loops/number-of-iterations-analysis.rst:
2445         Add trailing newline.
2446         * doc/gccint/analysis-and-representation-of-loops/scalar-evolutions.rst:
2447         Add trailing newline.
2448         * doc/gccint/analyzer-internals.rst:
2449         Add trailing newline.
2450         * doc/gccint/collect2.rst:
2451         Add trailing newline.
2452         * doc/gccint/contributing-to-gcc-development.rst:
2453         Add trailing newline.
2454         * doc/gccint/contributors-to-gcc.rst:
2455         Add trailing newline.
2456         * doc/gccint/control-flow-graph.rst:
2457         Add trailing newline.
2458         * doc/gccint/control-flow-graph/basic-blocks.rst:
2459         Add trailing newline.
2460         * doc/gccint/control-flow-graph/edges.rst:
2461         Add trailing newline.
2462         * doc/gccint/control-flow-graph/liveness-information.rst:
2463         Add trailing newline.
2464         * doc/gccint/control-flow-graph/maintaining-the-cfg.rst:
2465         Add trailing newline.
2466         * doc/gccint/control-flow-graph/profile-information.rst:
2467         Add trailing newline.
2468         * doc/gccint/copyright.rst:
2469         Add trailing newline.
2470         * doc/gccint/debugging-the-analyzer.rst:
2471         Add trailing newline.
2472         * doc/gccint/funding.rst:
2473         Add trailing newline.
2474         * doc/gccint/gcc-and-portability.rst:
2475         Add trailing newline.
2476         * doc/gccint/general-public-license-3.rst:
2477         Add trailing newline.
2478         * doc/gccint/generic.rst:
2479         Add trailing newline.
2480         * doc/gccint/generic/attributes-in-trees.rst:
2481         Add trailing newline.
2482         * doc/gccint/generic/c-and-c++-trees.rst:
2483         Add trailing newline.
2484         * doc/gccint/generic/declarations.rst:
2485         Add trailing newline.
2486         * doc/gccint/generic/deficiencies.rst:
2487         Add trailing newline.
2488         * doc/gccint/generic/expressions.rst:
2489         Add trailing newline.
2490         * doc/gccint/generic/functions.rst:
2491         Add trailing newline.
2492         * doc/gccint/generic/language-dependent-trees.rst:
2493         Add trailing newline.
2494         * doc/gccint/generic/overview.rst:
2495         Add trailing newline.
2496         * doc/gccint/generic/statements.rst:
2497         Add trailing newline.
2498         * doc/gccint/generic/types.rst:
2499         Add trailing newline.
2500         * doc/gccint/gimple-api.rst:
2501         Add trailing newline.
2502         * doc/gccint/gimple.rst:
2503         Add trailing newline.
2504         * doc/gccint/gimple/adding-a-new-gimple-statement-code.rst:
2505         Add trailing newline.
2506         * doc/gccint/gimple/class-hierarchy-of-gimple-statements.rst:
2507         Add trailing newline.
2508         * doc/gccint/gimple/exception-handling.rst:
2509         Add trailing newline.
2510         * doc/gccint/gimple/gimple-instruction-set.rst:
2511         Add trailing newline.
2512         * doc/gccint/gimple/gimple-sequences.rst:
2513         Add trailing newline.
2514         * doc/gccint/gimple/manipulating-gimple-statements.rst:
2515         Add trailing newline.
2516         * doc/gccint/gimple/operands.rst:
2517         Add trailing newline.
2518         * doc/gccint/gimple/sequence-iterators.rst:
2519         Add trailing newline.
2520         * doc/gccint/gimple/statement-and-operand-traversals.rst:
2521         Add trailing newline.
2522         * doc/gccint/gimple/temporaries.rst:
2523         Add trailing newline.
2524         * doc/gccint/gimple/tuple-representation.rst:
2525         Add trailing newline.
2526         * doc/gccint/gimple/tuple-specific-accessors.rst:
2527         Add trailing newline.
2528         * doc/gccint/gimple/tuple-specific-accessors/gimpleasm.rst:
2529         Add trailing newline.
2530         * doc/gccint/gimple/tuple-specific-accessors/gimpleassign.rst:
2531         Add trailing newline.
2532         * doc/gccint/gimple/tuple-specific-accessors/gimplebind.rst:
2533         Add trailing newline.
2534         * doc/gccint/gimple/tuple-specific-accessors/gimplecall.rst:
2535         Add trailing newline.
2536         * doc/gccint/gimple/tuple-specific-accessors/gimplecatch.rst:
2537         Add trailing newline.
2538         * doc/gccint/gimple/tuple-specific-accessors/gimplecond.rst:
2539         Add trailing newline.
2540         * doc/gccint/gimple/tuple-specific-accessors/gimpledebug.rst:
2541         Add trailing newline.
2542         * doc/gccint/gimple/tuple-specific-accessors/gimpleehfilter.rst:
2543         Add trailing newline.
2544         * doc/gccint/gimple/tuple-specific-accessors/gimplegoto.rst:
2545         Add trailing newline.
2546         * doc/gccint/gimple/tuple-specific-accessors/gimplelabel.rst:
2547         Add trailing newline.
2548         * doc/gccint/gimple/tuple-specific-accessors/gimplenop.rst:
2549         Add trailing newline.
2550         * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicload.rst:
2551         Add trailing newline.
2552         * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicstore.rst:
2553         Add trailing newline.
2554         * doc/gccint/gimple/tuple-specific-accessors/gimpleompcontinue.rst:
2555         Add trailing newline.
2556         * doc/gccint/gimple/tuple-specific-accessors/gimpleompcritical.rst:
2557         Add trailing newline.
2558         * doc/gccint/gimple/tuple-specific-accessors/gimpleompfor.rst:
2559         Add trailing newline.
2560         * doc/gccint/gimple/tuple-specific-accessors/gimpleompmaster.rst:
2561         Add trailing newline.
2562         * doc/gccint/gimple/tuple-specific-accessors/gimpleompordered.rst:
2563         Add trailing newline.
2564         * doc/gccint/gimple/tuple-specific-accessors/gimpleompparallel.rst:
2565         Add trailing newline.
2566         * doc/gccint/gimple/tuple-specific-accessors/gimpleompreturn.rst:
2567         Add trailing newline.
2568         * doc/gccint/gimple/tuple-specific-accessors/gimpleompsection.rst:
2569         Add trailing newline.
2570         * doc/gccint/gimple/tuple-specific-accessors/gimpleompsections.rst:
2571         Add trailing newline.
2572         * doc/gccint/gimple/tuple-specific-accessors/gimpleompsingle.rst:
2573         Add trailing newline.
2574         * doc/gccint/gimple/tuple-specific-accessors/gimplephi.rst:
2575         Add trailing newline.
2576         * doc/gccint/gimple/tuple-specific-accessors/gimpleresx.rst:
2577         Add trailing newline.
2578         * doc/gccint/gimple/tuple-specific-accessors/gimplereturn.rst:
2579         Add trailing newline.
2580         * doc/gccint/gimple/tuple-specific-accessors/gimpleswitch.rst:
2581         Add trailing newline.
2582         * doc/gccint/gimple/tuple-specific-accessors/gimpletry.rst:
2583         Add trailing newline.
2584         * doc/gccint/gimple/tuple-specific-accessors/gimplewithcleanupexpr.rst:
2585         Add trailing newline.
2586         * doc/gccint/gnu-free-documentation-license.rst:
2587         Add trailing newline.
2588         * doc/gccint/guidelines-for-diagnostics.rst:
2589         Add trailing newline.
2590         * doc/gccint/guidelines-for-options.rst:
2591         Add trailing newline.
2592         * doc/gccint/host-common.rst:
2593         Add trailing newline.
2594         * doc/gccint/host-configuration.rst:
2595         Add trailing newline.
2596         * doc/gccint/host-filesystem.rst:
2597         Add trailing newline.
2598         * doc/gccint/host-makefile-fragments.rst:
2599         Add trailing newline.
2600         * doc/gccint/host-misc.rst:
2601         Add trailing newline.
2602         * doc/gccint/index.rst:
2603         Add trailing newline.
2604         * doc/gccint/indices-and-tables.rst:
2605         Add trailing newline.
2606         * doc/gccint/interfacing-to-gcc-output.rst:
2607         Add trailing newline.
2608         * doc/gccint/introduction.rst:
2609         Add trailing newline.
2610         * doc/gccint/language-front-ends-in-gcc.rst:
2611         Add trailing newline.
2612         * doc/gccint/link-time-optimization.rst:
2613         Add trailing newline.
2614         * doc/gccint/link-time-optimization/design-overview.rst:
2615         Add trailing newline.
2616         * doc/gccint/link-time-optimization/internal-flags-controlling-lto1.rst:
2617         Add trailing newline.
2618         * doc/gccint/link-time-optimization/lto-file-sections.rst:
2619         Add trailing newline.
2620         * doc/gccint/link-time-optimization/using-summary-information-in-ipa-passes.rst:
2621         Add trailing newline.
2622         * doc/gccint/link-time-optimization/whole-program-assumptions-linker-plugin-and-symbol-visibilities.rst:
2623         Add trailing newline.
2624         * doc/gccint/machine-descriptions.rst:
2625         Add trailing newline.
2626         * doc/gccint/machine-descriptions/c-statements-for-assembler-output.rst:
2627         Add trailing newline.
2628         * doc/gccint/machine-descriptions/canonicalization-of-instructions.rst:
2629         Add trailing newline.
2630         * doc/gccint/machine-descriptions/conditional-execution.rst:
2631         Add trailing newline.
2632         * doc/gccint/machine-descriptions/constant-definitions.rst:
2633         Add trailing newline.
2634         * doc/gccint/machine-descriptions/defining-how-to-split-instructions.rst:
2635         Add trailing newline.
2636         * doc/gccint/machine-descriptions/defining-jump-instruction-patterns.rst:
2637         Add trailing newline.
2638         * doc/gccint/machine-descriptions/defining-looping-instruction-patterns.rst:
2639         Add trailing newline.
2640         * doc/gccint/machine-descriptions/defining-rtl-sequences-for-code-generation.rst:
2641         Add trailing newline.
2642         * doc/gccint/machine-descriptions/everything-about-instruction-patterns.rst:
2643         Add trailing newline.
2644         * doc/gccint/machine-descriptions/example-of-defineinsn.rst:
2645         Add trailing newline.
2646         * doc/gccint/machine-descriptions/including-patterns-in-machine-descriptions.rst:
2647         Add trailing newline.
2648         * doc/gccint/machine-descriptions/instruction-attributes.rst:
2649         Add trailing newline.
2650         * doc/gccint/machine-descriptions/interdependence-of-patterns.rst:
2651         Add trailing newline.
2652         * doc/gccint/machine-descriptions/iterators.rst:
2653         Add trailing newline.
2654         * doc/gccint/machine-descriptions/machine-specific-peephole-optimizers.rst:
2655         Add trailing newline.
2656         * doc/gccint/machine-descriptions/operand-constraints.rst:
2657         Add trailing newline.
2658         * doc/gccint/machine-descriptions/output-templates-and-operand-substitution.rst:
2659         Add trailing newline.
2660         * doc/gccint/machine-descriptions/overview-of-how-the-machine-description-is-used.rst:
2661         Add trailing newline.
2662         * doc/gccint/machine-descriptions/predicates.rst:
2663         Add trailing newline.
2664         * doc/gccint/machine-descriptions/rtl-template.rst:
2665         Add trailing newline.
2666         * doc/gccint/machine-descriptions/rtl-templates-transformations.rst:
2667         Add trailing newline.
2668         * doc/gccint/machine-descriptions/standard-pattern-names-for-generation.rst:
2669         Add trailing newline.
2670         * doc/gccint/machine-descriptions/when-the-order-of-patterns-matters.rst:
2671         Add trailing newline.
2672         * doc/gccint/makefile-fragments.rst:
2673         Add trailing newline.
2674         * doc/gccint/match-and-simplify.rst:
2675         Add trailing newline.
2676         * doc/gccint/memory-management-and-type-information.rst:
2677         Add trailing newline.
2678         * doc/gccint/memory-management-and-type-information/how-to-invoke-the-garbage-collector.rst:
2679         Add trailing newline.
2680         * doc/gccint/memory-management-and-type-information/marking-roots-for-the-garbage-collector.rst:
2681         Add trailing newline.
2682         * doc/gccint/memory-management-and-type-information/source-files-containing-type-information.rst:
2683         Add trailing newline.
2684         * doc/gccint/memory-management-and-type-information/support-for-inheritance.rst:
2685         Add trailing newline.
2686         * doc/gccint/memory-management-and-type-information/support-for-user-provided-gc-marking-routines.rst:
2687         Add trailing newline.
2688         * doc/gccint/memory-management-and-type-information/the-inside-of-a-gty.rst:
2689         Add trailing newline.
2690         * doc/gccint/memory-management-and-type-information/troubleshooting-the-garbage-collector.rst:
2691         Add trailing newline.
2692         * doc/gccint/option-file-format.rst:
2693         Add trailing newline.
2694         * doc/gccint/option-properties.rst:
2695         Add trailing newline.
2696         * doc/gccint/option-specification-files.rst:
2697         Add trailing newline.
2698         * doc/gccint/passes-and-files-of-the-compiler.rst:
2699         Add trailing newline.
2700         * doc/gccint/passes-and-files-of-the-compiler/gimplification-pass.rst:
2701         Add trailing newline.
2702         * doc/gccint/passes-and-files-of-the-compiler/inter-procedural-optimization-passes.rst:
2703         Add trailing newline.
2704         * doc/gccint/passes-and-files-of-the-compiler/optimization-info.rst:
2705         Add trailing newline.
2706         * doc/gccint/passes-and-files-of-the-compiler/parsing-pass.rst:
2707         Add trailing newline.
2708         * doc/gccint/passes-and-files-of-the-compiler/pass-manager.rst:
2709         Add trailing newline.
2710         * doc/gccint/passes-and-files-of-the-compiler/rtl-passes.rst:
2711         Add trailing newline.
2712         * doc/gccint/passes-and-files-of-the-compiler/tree-ssa-passes.rst:
2713         Add trailing newline.
2714         * doc/gccint/plugins.rst:
2715         Add trailing newline.
2716         * doc/gccint/plugins/building-gcc-plugins.rst:
2717         Add trailing newline.
2718         * doc/gccint/plugins/controlling-which-passes-are-being-run.rst:
2719         Add trailing newline.
2720         * doc/gccint/plugins/giving-information-about-a-plugin.rst:
2721         Add trailing newline.
2722         * doc/gccint/plugins/interacting-with-the-gcc-garbage-collector.rst:
2723         Add trailing newline.
2724         * doc/gccint/plugins/interacting-with-the-pass-manager.rst:
2725         Add trailing newline.
2726         * doc/gccint/plugins/keeping-track-of-available-passes.rst:
2727         Add trailing newline.
2728         * doc/gccint/plugins/loading-plugins.rst:
2729         Add trailing newline.
2730         * doc/gccint/plugins/plugin-api.rst:
2731         Add trailing newline.
2732         * doc/gccint/plugins/recording-information-about-pass-execution.rst:
2733         Add trailing newline.
2734         * doc/gccint/plugins/registering-custom-attributes-or-pragmas.rst:
2735         Add trailing newline.
2736         * doc/gccint/rtl-representation.rst:
2737         Add trailing newline.
2738         * doc/gccint/rtl-representation/access-to-operands.rst:
2739         Add trailing newline.
2740         * doc/gccint/rtl-representation/access-to-special-operands.rst:
2741         Add trailing newline.
2742         * doc/gccint/rtl-representation/assembler-instructions-as-expressions.rst:
2743         Add trailing newline.
2744         * doc/gccint/rtl-representation/bit-fields.rst:
2745         Add trailing newline.
2746         * doc/gccint/rtl-representation/comparison-operations.rst:
2747         Add trailing newline.
2748         * doc/gccint/rtl-representation/constant-expression-types.rst:
2749         Add trailing newline.
2750         * doc/gccint/rtl-representation/conversions.rst:
2751         Add trailing newline.
2752         * doc/gccint/rtl-representation/declarations.rst:
2753         Add trailing newline.
2754         * doc/gccint/rtl-representation/embedded-side-effects-on-addresses.rst:
2755         Add trailing newline.
2756         * doc/gccint/rtl-representation/flags-in-an-rtl-expression.rst:
2757         Add trailing newline.
2758         * doc/gccint/rtl-representation/insns.rst:
2759         Add trailing newline.
2760         * doc/gccint/rtl-representation/machine-modes.rst:
2761         Add trailing newline.
2762         * doc/gccint/rtl-representation/on-the-side-ssa-form-for-rtl.rst:
2763         Add trailing newline.
2764         * doc/gccint/rtl-representation/reading-rtl.rst:
2765         Add trailing newline.
2766         * doc/gccint/rtl-representation/registers-and-memory.rst:
2767         Add trailing newline.
2768         * doc/gccint/rtl-representation/rtl-classes-and-formats.rst:
2769         Add trailing newline.
2770         * doc/gccint/rtl-representation/rtl-expressions-for-arithmetic.rst:
2771         Add trailing newline.
2772         * doc/gccint/rtl-representation/rtl-object-types.rst:
2773         Add trailing newline.
2774         * doc/gccint/rtl-representation/rtl-representation-of-function-call-insns.rst:
2775         Add trailing newline.
2776         * doc/gccint/rtl-representation/side-effect-expressions.rst:
2777         Add trailing newline.
2778         * doc/gccint/rtl-representation/structure-sharing-assumptions.rst:
2779         Add trailing newline.
2780         * doc/gccint/rtl-representation/variable-location-debug-information-in-rtl.rst:
2781         Add trailing newline.
2782         * doc/gccint/rtl-representation/vector-operations.rst:
2783         Add trailing newline.
2784         * doc/gccint/sizes-and-offsets-as-runtime-invariants.rst:
2785         Add trailing newline.
2786         * doc/gccint/sizes-and-offsets-as-runtime-invariants/alignment-of-polyints.rst:
2787         Add trailing newline.
2788         * doc/gccint/sizes-and-offsets-as-runtime-invariants/arithmetic-on-polyints.rst:
2789         Add trailing newline.
2790         * doc/gccint/sizes-and-offsets-as-runtime-invariants/comparisons-involving-polyint.rst:
2791         Add trailing newline.
2792         * doc/gccint/sizes-and-offsets-as-runtime-invariants/computing-bounds-on-polyints.rst:
2793         Add trailing newline.
2794         * doc/gccint/sizes-and-offsets-as-runtime-invariants/consequences-of-using-polyint.rst:
2795         Add trailing newline.
2796         * doc/gccint/sizes-and-offsets-as-runtime-invariants/converting-polyints.rst:
2797         Add trailing newline.
2798         * doc/gccint/sizes-and-offsets-as-runtime-invariants/guidelines-for-using-polyint.rst:
2799         Add trailing newline.
2800         * doc/gccint/sizes-and-offsets-as-runtime-invariants/miscellaneous-polyint-routines.rst:
2801         Add trailing newline.
2802         * doc/gccint/sizes-and-offsets-as-runtime-invariants/overview-of-polyint.rst:
2803         Add trailing newline.
2804         * doc/gccint/source-tree-structure-and-build-system.rst:
2805         Add trailing newline.
2806         * doc/gccint/source-tree-structure-and-build-system/configure-terms-and-history.rst:
2807         Add trailing newline.
2808         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory.rst:
2809         Add trailing newline.
2810         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-language-front-end.rst:
2811         Add trailing newline.
2812         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-target-back-end.rst:
2813         Add trailing newline.
2814         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/build-system-in-the-gcc-directory.rst:
2815         Add trailing newline.
2816         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/configuration-in-the-gcc-directory.rst:
2817         Add trailing newline.
2818         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/headers-installed-by-gcc.rst:
2819         Add trailing newline.
2820         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/library-source-files-and-headers-under-the-gcc-directory.rst:
2821         Add trailing newline.
2822         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/makefile-targets.rst:
2823         Add trailing newline.
2824         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/subdirectories-of-gcc.rst:
2825         Add trailing newline.
2826         * doc/gccint/source-tree-structure-and-build-system/top-level-source-directory.rst:
2827         Add trailing newline.
2828         * doc/gccint/standard-header-file-directories.rst:
2829         Add trailing newline.
2830         * doc/gccint/static-analyzer.rst:
2831         Add trailing newline.
2832         * doc/gccint/target-macros.rst:
2833         Add trailing newline.
2834         * doc/gccint/target-macros/controlling-debugging-information-format.rst:
2835         Add trailing newline.
2836         * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst:
2837         Add trailing newline.
2838         * doc/gccint/target-macros/cross-compilation-and-floating-point.rst:
2839         Add trailing newline.
2840         * doc/gccint/target-macros/defining-coprocessor-specifics-for-mips-targets.rst:
2841         Add trailing newline.
2842         * doc/gccint/target-macros/defining-data-structures-for-per-function-information.rst:
2843         Add trailing newline.
2844         * doc/gccint/target-macros/defining-the-output-assembler-language.rst:
2845         Add trailing newline.
2846         * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-alignment.rst:
2847         Add trailing newline.
2848         * doc/gccint/target-macros/defining-the-output-assembler-language/how-initialization-functions-are-handled.rst:
2849         Add trailing newline.
2850         * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
2851         Add trailing newline.
2852         * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
2853         Add trailing newline.
2854         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
2855         Add trailing newline.
2856         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
2857         Add trailing newline.
2858         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-uninitialized-variables.rst:
2859         Add trailing newline.
2860         * doc/gccint/target-macros/implicit-calls-to-library-routines.rst:
2861         Add trailing newline.
2862         * doc/gccint/target-macros/layout-of-source-language-data-types.rst:
2863         Add trailing newline.
2864         * doc/gccint/target-macros/position-independent-code.rst:
2865         Add trailing newline.
2866         * doc/gccint/target-macros/register-usage.rst:
2867         Add trailing newline.
2868         * doc/gccint/target-macros/stack-layout-and-calling-conventions.rst:
2869         Add trailing newline.
2870         * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
2871         Add trailing newline.
2872         * doc/gccint/target-macros/stack-layout-and-calling-conventions/caller-saves-register-allocation.rst:
2873         Add trailing newline.
2874         * doc/gccint/target-macros/stack-layout-and-calling-conventions/exception-handling-support.rst:
2875         Add trailing newline.
2876         * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
2877         Add trailing newline.
2878         * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
2879         Add trailing newline.
2880         * doc/gccint/target-macros/support-for-nested-functions.rst:
2881         Add trailing newline.
2882         * doc/gccint/target-macros/the-global-targetm-variable.rst:
2883         Add trailing newline.
2884         * doc/gccint/target-makefile-fragments.rst:
2885         Add trailing newline.
2886         * doc/gccint/testsuites.rst:
2887         Add trailing newline.
2888         * doc/gccint/testsuites/ada-language-testsuites.rst:
2889         Add trailing newline.
2890         * doc/gccint/testsuites/c-language-testsuites.rst:
2891         Add trailing newline.
2892         * doc/gccint/testsuites/directives-used-within-dejagnu-tests.rst:
2893         Add trailing newline.
2894         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/commands-for-use-in-dg-final.rst:
2895         Add trailing newline.
2896         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/features-for-dg-add-options.rst:
2897         Add trailing newline.
2898         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/keywords-describing-target-attributes.rst:
2899         Add trailing newline.
2900         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/selecting-targets-to-which-a-test-applies.rst:
2901         Add trailing newline.
2902         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/syntax-and-descriptions-of-test-directives.rst:
2903         Add trailing newline.
2904         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/variants-of-dg-require-support.rst:
2905         Add trailing newline.
2906         * doc/gccint/testsuites/idioms-used-in-testsuite-code.rst:
2907         Add trailing newline.
2908         * doc/gccint/testsuites/support-for-testing-binary-compatibility.rst:
2909         Add trailing newline.
2910         * doc/gccint/testsuites/support-for-testing-gcov.rst:
2911         Add trailing newline.
2912         * doc/gccint/testsuites/support-for-testing-gimple-passes.rst:
2913         Add trailing newline.
2914         * doc/gccint/testsuites/support-for-testing-link-time-optimizations.rst:
2915         Add trailing newline.
2916         * doc/gccint/testsuites/support-for-testing-profile-directed-optimizations.rst:
2917         Add trailing newline.
2918         * doc/gccint/testsuites/support-for-testing-rtl-passes.rst:
2919         Add trailing newline.
2920         * doc/gccint/testsuites/support-for-torture-testing-using-multiple-options.rst:
2921         Add trailing newline.
2922         * doc/gccint/the-gcc-low-level-runtime-library.rst:
2923         Add trailing newline.
2924         * doc/gccint/the-gcc-low-level-runtime-library/language-independent-routines-for-exception-handling.rst:
2925         Add trailing newline.
2926         * doc/gccint/the-gcc-low-level-runtime-library/miscellaneous-runtime-library-routines.rst:
2927         Add trailing newline.
2928         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-decimal-floating-point-emulation.rst:
2929         Add trailing newline.
2930         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-fixed-point-fractional-emulation.rst:
2931         Add trailing newline.
2932         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-floating-point-emulation.rst:
2933         Add trailing newline.
2934         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-integer-arithmetic.rst:
2935         Add trailing newline.
2936         * doc/gccint/the-language.rst:
2937         Add trailing newline.
2938         * doc/gccint/user-experience-guidelines.rst:
2939         Add trailing newline.
2940         * doc/install/binaries.rst:
2941         Add trailing newline.
2942         * doc/install/building.rst:
2943         Add trailing newline.
2944         * doc/install/building/building-a-cross-compiler.rst:
2945         Add trailing newline.
2946         * doc/install/building/building-a-native-compiler.rst:
2947         Add trailing newline.
2948         * doc/install/building/building-in-parallel.rst:
2949         Add trailing newline.
2950         * doc/install/building/building-the-ada-compiler.rst:
2951         Add trailing newline.
2952         * doc/install/building/building-the-d-compiler.rst:
2953         Add trailing newline.
2954         * doc/install/building/building-with-profile-feedback.rst:
2955         Add trailing newline.
2956         * doc/install/configuration.rst:
2957         Add trailing newline.
2958         * doc/install/copyright.rst:
2959         Add trailing newline.
2960         * doc/install/downloading-gcc.rst:
2961         Add trailing newline.
2962         * doc/install/final-installation.rst:
2963         Add trailing newline.
2964         * doc/install/gnu-free-documentation-license.rst:
2965         Add trailing newline.
2966         * doc/install/host-target-specific-installation-notes-for-gcc.rst:
2967         Add trailing newline.
2968         * doc/install/how-can-you-run-the-testsuite-on-selected-tests.rst:
2969         Add trailing newline.
2970         * doc/install/how-to-interpret-test-results.rst:
2971         Add trailing newline.
2972         * doc/install/index.rst:
2973         Add trailing newline.
2974         * doc/install/indices-and-tables.rst:
2975         Add trailing newline.
2976         * doc/install/installing-gcc.rst:
2977         Add trailing newline.
2978         * doc/install/passing-options-and-running-multiple-testsuites.rst:
2979         Add trailing newline.
2980         * doc/install/prerequisites.rst:
2981         Add trailing newline.
2982         * doc/install/submitting-test-results.rst:
2983         Add trailing newline.
2984         * doc/install/testing.rst:
2985         Add trailing newline.
2986
2987 2022-11-14  Martin Liska  <mliska@suse.cz>
2988
2989         Revert:
2990         2022-11-14  Martin Liska  <mliska@suse.cz>
2991
2992         * Makefile.in: Use new install URL.
2993         * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst:
2994         Use intersphinx link.
2995         * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
2996         Use new URL.
2997         * doc/gccint/source-tree-structure-and-build-system.rst: Use
2998         intersphinx link.
2999         * doc/install/host-target-specific-installation-notes-for-gcc.rst: Likewise.
3000         * doc/install/installing-gcc.rst: Likewise.
3001
3002 2022-11-14  Martin Liska  <mliska@suse.cz>
3003
3004         Revert:
3005         2022-11-09  Martin Liska  <mliska@suse.cz>
3006                     Sinan  <sinan.lin@linux.alibaba.com>
3007
3008         * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst:
3009         Add missing variable name.
3010
3011 2022-11-14  Martin Liska  <mliska@suse.cz>
3012
3013         Revert:
3014         2022-11-14  Martin Liska  <mliska@suse.cz>
3015
3016         * doc/cpp/conf.py: Add newline at last line.
3017         * doc/cppinternals/conf.py: Add newline at last line.
3018         * doc/gcc/conf.py: Add newline at last line.
3019         * doc/gccint/conf.py: Add newline at last line.
3020         * doc/install/conf.py: Add newline at last line.
3021
3022 2022-11-14  Martin Liska  <mliska@suse.cz>
3023
3024         * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
3025         Revert.
3026
3027 2022-11-14  Martin Liska  <mliska@suse.cz>
3028
3029         * doc/cpp/pragmas.rst: Revert.
3030
3031 2022-11-14  Martin Liska  <mliska@suse.cz>
3032
3033         * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: Revert.
3034
3035 2022-11-14  Martin Liska  <mliska@suse.cz>
3036
3037         * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: Revert.
3038
3039 2022-11-14  Martin Liska  <mliska@suse.cz>
3040
3041         * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: Revert.
3042         * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst: Revert.
3043
3044 2022-11-14  Martin Liska  <mliska@suse.cz>
3045
3046         Revert:
3047         2022-11-13  Jonathan Wakely  <jwakely@redhat.com>
3048
3049         * doc/install/testing.rst: Remove anachronism about separate
3050         source tarballs.
3051
3052 2022-11-14  Martin Liska  <mliska@suse.cz>
3053
3054         Revert:
3055         2022-11-13  Martin Liska  <mliska@suse.cz>
3056
3057         PR other/107620
3058         * configure: Regenerate.
3059         * configure.ac: Always set sphinx-build.
3060
3061 2022-11-14  Martin Liska  <mliska@suse.cz>
3062
3063         * doc/gcc/gcc-command-options/option-summary.rst: Revert.
3064         * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: Revert.
3065
3066 2022-11-14  Haochen Jiang  <haochen.jiang@intel.com>
3067
3068         * common/config/i386/i386-common.cc
3069         (OPTION_MASK_ISA2_AMX_INT8_SET): Add AMX-TILE dependency.
3070         (OPTION_MASK_ISA2_AMX_BF16_SET): Ditto.
3071         (OPTION_MASK_ISA2_AMX_FP16_SET): Ditto.
3072         (OPTION_MASK_ISA2_AMX_TILE_UNSET): Disable AMX_{INT8,
3073         BF16, FP16} when disable AMX_TILE.
3074
3075 2022-11-14  Martin Liska  <mliska@suse.cz>
3076
3077         * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst:
3078         Revert.
3079         * doc/gcc/gcc-command-options/option-summary.rst:
3080         Revert.
3081
3082 2022-11-14  Hongyu Wang  <hongyu.wang@intel.com>
3083
3084         * common/config/i386/i386-common.cc (ix86_optimization_table):
3085         Enable small loop unroll at O2 by default.
3086         * config/i386/i386.cc (ix86_loop_unroll_adjust): Adjust unroll
3087         factor if -munroll-only-small-loops enabled and -funroll-loops/
3088         -funroll-all-loops are disabled.
3089         * config/i386/i386.h (struct processor_costs): Add 2 field
3090         small_unroll_ninsns and small_unroll_factor.
3091         * config/i386/i386.opt: Add -munroll-only-small-loops.
3092         * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst:
3093         Document -munroll-only-small-loops.
3094         * doc/gcc/gcc-command-options/option-summary.rst: Likewise.
3095         * loop-init.cc (pass_rtl_unroll_loops::gate): Enable rtl
3096         loop unrolling for -O2-speed and above if target hook
3097         loop_unroll_adjust exists.
3098         (pass_rtl_unroll_loops::execute): Set UAP_UNROLL flag
3099         when target hook loop_unroll_adjust exists.
3100         * config/i386/x86-tune-costs.h: Update all processor costs
3101         with small_unroll_ninsns = 4 and small_unroll_factor = 2.
3102
3103 2022-11-13  David Malcolm  <dmalcolm@redhat.com>
3104
3105         PR analyzer/106235
3106         * doc/gcc/gcc-command-options/option-summary.rst: Add
3107         -Wno-analyzer-tainted-assertion.
3108         * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
3109         Add -Wno-analyzer-tainted-assertion.
3110
3111 2022-11-13  Philipp Tomsich  <philipp.tomsich@vrull.eu>
3112
3113         * config/riscv/bitmanip.md: New define_split.
3114
3115 2022-11-13  Philipp Tomsich  <philipp.tomsich@vrull.eu>
3116
3117         * config/riscv/riscv.cc (riscv_rtx_costs): Recognize shNadd,
3118         if expressed as a plus and multiplication with a power-of-2.
3119         Split costing for MINUS from PLUS.
3120
3121 2022-11-13  Martin Liska  <mliska@suse.cz>
3122
3123         PR other/107620
3124         * configure: Regenerate.
3125         * configure.ac: Always set sphinx-build.
3126
3127 2022-11-13  Joseph Myers  <joseph@codesourcery.com>
3128
3129         * ginclude/float.h [__STDC_VERSION__ > 201710L]
3130         (__STDC_VERSION_FLOAT_H__): New macro.
3131         * ginclude/stdarg.h [__STDC_VERSION__ > 201710L]
3132         (__STDC_VERSION_STDARG_H__): New macro.
3133         * ginclude/stdatomic.h [__STDC_VERSION__ > 201710L]
3134         (__STDC_VERSION_STDATOMIC_H__): New macro.
3135         * ginclude/stddef.h [__STDC_VERSION__ > 201710L]
3136         (__STDC_VERSION_STDDEF_H__): New macro.
3137         * ginclude/stdint-gcc.h [__STDC_VERSION__ > 201710L]
3138         (__STDC_VERSION_STDINT_H__): New macro.
3139         * glimits.h [__STDC_VERSION__ > 201710L]
3140         (__STDC_VERSION_LIMITS_H__): New macro.
3141
3142 2022-11-13  Jonathan Wakely  <jwakely@redhat.com>
3143
3144         * doc/install/testing.rst: Remove anachronism about separate
3145         source tarballs.
3146
3147 2022-11-12  Joseph Myers  <joseph@codesourcery.com>
3148
3149         * dfp.cc (decimal_from_binary): Convert a canonical NaN to a
3150         canonical NaN.
3151
3152 2022-11-12  Aldy Hernandez  <aldyh@redhat.com>
3153
3154         * value-range.cc (range_tests_signbit): Move to set from here...
3155         (range_tests_signed_zeros): ...to here.
3156
3157 2022-11-12  Aldy Hernandez  <aldyh@redhat.com>
3158
3159         * range-op-float.cc (build_lt): Adjust with frange_nextafter
3160         instead of default to a closed range.
3161         (build_gt): Same.
3162
3163 2022-11-12  Aldy Hernandez  <aldyh@redhat.com>
3164             Jakub Jelinek  <jakub@redhat.com>
3165
3166         * range-op-float.cc (float_binary_op_range_finish): New function.
3167         (foperator_plus::op1_range): New.
3168         (foperator_plus::op2_range): New.
3169         (foperator_minus::op1_range): New.
3170         (foperator_minus::op2_range): New.
3171         (foperator_mult::op1_range): New.
3172         (foperator_mult::op2_range): New.
3173         (foperator_div::op1_range): New.
3174         (foperator_div::op2_range): New.
3175
3176 2022-11-12  Jakub Jelinek  <jakub@redhat.com>
3177
3178         PR tree-optimization/107569
3179         * range-op-float.cc (zero_p, contains_p, singleton_inf_p,
3180         signbit_known_p, zero_range, inf_range, zero_to_inf_range): New
3181         functions.
3182         (foperator_mult_div_base): New class.
3183         (foperator_mult, foperator_div): Derive from that and use
3184         protected static method from it as well as above new functions
3185         to simplify the code.
3186
3187 2022-11-12  Jakub Jelinek  <jakub@redhat.com>
3188
3189         PR tree-optimization/107569
3190         * range-op-float.cc (foperator_div): New class.
3191         (floating_op_table::floating_op_table): Use foperator_div
3192         for RDIV_EXPR.
3193
3194 2022-11-12  Jakub Jelinek  <jakub@redhat.com>
3195
3196         PR tree-optimization/107569
3197         PR tree-optimization/107591
3198         * range-op.h (range_operator_float::rv_fold): Add relation_kind
3199         argument.
3200         * range-op-float.cc (range_operator_float::fold_range): Name
3201         last argument trio and pass trio.op1_op2 () as last argument to
3202         rv_fold.
3203         (range_operator_float::rv_fold): Add relation_kind argument.
3204         (foperator_plus::rv_fold, foperator_minus::rv_fold): Likewise.
3205         (foperator_mult): New class.
3206         (floating_op_table::floating_op_table): Use foperator_mult for
3207         MULT_EXPR.
3208
3209 2022-11-12  Xi Ruoyao  <xry111@xry111.site>
3210
3211         * config/loongarch/loongarch.md (UNSPEC_FLOGB): New unspec.
3212         (type): Add flogb.
3213         (logb_non_negative<mode>2): New instruction template.
3214         (logb<mode>2): New define_expand.
3215
3216 2022-11-12  Xi Ruoyao  <xry111@xry111.site>
3217
3218         * config/loongarch/loongarch.md (UNSPEC_FSCALEB): New unspec.
3219         (type): Add fscaleb.
3220         (IMODE): New mode attr.
3221         (ldexp<mode>3): New instruction template.
3222
3223 2022-11-12  Xi Ruoyao  <xry111@xry111.site>
3224
3225         * config/loongarch/loongarch.md (UNSPEC_FTINT): New unspec.
3226         (UNSPEC_FTINTRM): Likewise.
3227         (UNSPEC_FTINTRP): Likewise.
3228         (LRINT): New define_int_iterator.
3229         (lrint_pattern): New define_int_attr.
3230         (lrint_submenmonic): Likewise.
3231         (lrint_allow_inexact): Likewise.
3232         (ANYFI): New define_mode_iterator.
3233         (lrint<ANYF><ANYFI>): New instruction template.
3234
3235 2022-11-12  Xi Ruoyao  <xry111@xry111.site>
3236
3237         * config/loongarch/loongarch.md (frint_<fmt>): Rename to ..
3238         (rint<mode>2): .. this.
3239
3240 2022-11-11  David Malcolm  <dmalcolm@redhat.com>
3241
3242         PR analyzer/106147
3243         * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
3244         Add -Wanalyzer-infinite-recursion.
3245         * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst
3246         (-Winfinite-recursion): Mention -Wanalyzer-infinite-recursion.
3247
3248 2022-11-11  David Malcolm  <dmalcolm@redhat.com>
3249
3250         PR analyzer/106147
3251         * Makefile.in (ANALYZER_OBJS): Add analyzer/infinite-recursion.o.
3252
3253 2022-11-11  Andrew MacLeod  <amacleod@redhat.com>
3254
3255         PR tree-optimization/107523
3256         * gimple-range.cc (gimple_ranger::update_stmt): Use fur_stmt
3257         rather than fur_depend.
3258
3259 2022-11-11  Andrew MacLeod  <amacleod@redhat.com>
3260
3261         * tree-vrp.cc (rvrp_folder::rvrp_folder): Init m_last_bb_stmt.
3262         (rvrp_folder::pre_fold_bb): Set m_last_bb_stmt.
3263         (rvrp_folder::pre_fold_stmt): Check for transitive inferred ranges.
3264         (rvrp_folder::fold_stmt): Check in pre_fold_stmt instead.
3265
3266 2022-11-11  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
3267
3268         * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add Cortex-X1C
3269         CPU.
3270         * config/aarch64/aarch64-tune.md: Regenerate.
3271         * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst:
3272         Document Cortex-X1C CPU.
3273
3274 2022-11-11  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
3275
3276         * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add Cortex-A715
3277         CPU.
3278         * config/aarch64/aarch64-tune.md: Regenerate.
3279         * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst:
3280         Document Cortex-A715 CPU.
3281
3282 2022-11-11  Richard Biener  <rguenther@suse.de>
3283             Nikita Voronov  <nik_1357@mail.ru>
3284
3285         PR tree-optimization/107554
3286         * tree-ssa-strlen.cc (strlen_pass::count_nonzero_bytes):
3287         Use unsigned HOST_WIDE_INT type for the strlen.
3288
3289 2022-11-11  Richard Biener  <rguenther@suse.de>
3290
3291         PR tree-optimization/105142
3292         * gimple-fold.cc (fosa_unwind): New global.
3293         (follow_outer_ssa_edges): When the SSA definition to follow
3294         is does not dominate fosa_bb, temporarily clear flow-sensitive
3295         info.  Make sure to not expand stmts with not defined overflow.
3296         (maybe_fold_comparisons_from_match_pd): Set up unwind stack
3297         for follow_outer_ssa_edges and unwind flow-sensitive info
3298         clearing after matching.
3299
3300 2022-11-11  Aldy Hernandez  <aldyh@redhat.com>
3301
3302         * range-op.cc (operator_mult::fold_range): Remove.
3303         (operator_div::fold_range): Remove.
3304         (operator_bitwise_and): Remove.
3305
3306 2022-11-11  Aldy Hernandez  <aldyh@redhat.com>
3307
3308         * range-op.cc (update_known_bitmask): Avoid unnecessary intersection.
3309
3310 2022-11-11  Aldy Hernandez  <aldyh@redhat.com>
3311
3312         * range-op.cc (range_operator::fold_range): Call
3313         update_known_bitmask.
3314         (operator_bitwise_and::fold_range): Avoid setting nonzero bits
3315         when range is undefined.
3316
3317 2022-11-11  Aldy Hernandez  <aldyh@redhat.com>
3318
3319         * range-op.cc (class operator_div): Remove tree code.
3320         (operator_div::wi_op_overflows): Handle EXACT_DIV_EXPR as
3321         TRUNC_DIV_EXPR.
3322
3323 2022-11-11  Aldy Hernandez  <aldyh@redhat.com>
3324
3325         * range-op.cc: (range_op_table::set): Set m_code.
3326         (integral_table::integral_table): Handle shared entries.
3327         (pointer_table::pointer_table): Same.
3328         * range-op.h (class range_operator): Add m_code.
3329
3330 2022-11-11  Richard Biener  <rguenther@suse.de>
3331
3332         PR tree-optimization/107618
3333         * tree-ssa-copy.cc (stmt_may_generate_copy): Simulate all
3334         assignments with a single SSA use.
3335         (copy_prop_visit_assignment): Use gimple_fold_stmt_to_constant_1
3336         to perform simple constant folding.
3337         (copy_prop::visit_stmt): Visit all assignments.
3338
3339 2022-11-11  Richard Biener  <rguenther@suse.de>
3340
3341         PR tree-optimization/84646
3342         * tree-ssa-dce.cc (pass_dce::set_pass_param): Add param
3343         wheter to run update-address-taken.
3344         (pass_dce::execute): Honor it.
3345         * passes.def: Exchange last DCE and CD-DCE invocations.
3346         Swap pass_tail_calls and the last DCE.
3347
3348 2022-11-11  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
3349             Monk Chiang  <monk.chiang@sifive.com>
3350
3351         * config/riscv/riscv-v.cc (emit_pred_move): Adjust for scalable register spilling.
3352         (legitimize_move): Ditto.
3353         * config/riscv/riscv.cc (riscv_v_adjust_scalable_frame): New function.
3354         (riscv_first_stack_step): Adjust for scalable register spilling.
3355         (riscv_expand_prologue): Ditto.
3356         (riscv_expand_epilogue): Ditto.
3357         (riscv_dwarf_poly_indeterminate_value): New function.
3358         (TARGET_DWARF_POLY_INDETERMINATE_VALUE): New target hook support for register spilling.
3359         * config/riscv/riscv.h (RISCV_DWARF_VLENB): New macro.
3360         (RISCV_PROLOGUE_TEMP2_REGNUM): Ditto.
3361         (RISCV_PROLOGUE_TEMP2): Ditto.
3362         * config/riscv/vector-iterators.md: New iterators.
3363         * config/riscv/vector.md (*mov<mode>): Fix it for register spilling.
3364         (*mov<mode>_whole): New pattern.
3365         (*mov<mode>_fract): New pattern.
3366         (@pred_mov<mode>): Fix it for register spilling.
3367
3368 2022-11-11  Jonathan Wakely  <jwakely@redhat.com>
3369
3370         PR c/85487
3371         * doc/cpp/pragmas.rst (Pragmas): Document region pragmas.
3372
3373 2022-11-11  Haochen Jiang  <haochen.jiang@intel.com>
3374
3375         * config/i386/i386-builtin.def (BDESC): Add
3376         OPTION_MASK_ISA2_PREFETCHI for prefetchi builtin.
3377         * config/i386/i386-expand.cc (ix86_expand_builtin):
3378         Add ISA check before emit_insn.
3379         * config/i386/prfchiintrin.h: Add target for intrin.
3380
3381 2022-11-10  David Malcolm  <dmalcolm@redhat.com>
3382
3383         PR analyzer/99671
3384         * tristate.h (tristate::is_unknown): New.
3385
3386 2022-11-10  David Malcolm  <dmalcolm@redhat.com>
3387
3388         * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
3389         Add -Wanalyzer-deref-before-check.
3390
3391 2022-11-10  Marek Polacek  <polacek@redhat.com>
3392
3393         * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst:
3394         Extend the description of -Wdangling-reference.
3395
3396 2022-11-10  Andrew Pinski  <apinski@marvell.com>
3397
3398         * config/bfin/bfin.h (SLOW_SHORT_ACCESS): Delete.
3399         * config/i386/i386.h (SLOW_SHORT_ACCESS): Delete.
3400         * system.h: Poison SLOW_SHORT_ACCESS
3401
3402 2022-11-10  Aldy Hernandez  <aldyh@redhat.com>
3403
3404         * value-range.cc (frange::set_nonnegative): Remove NAN sign handling.
3405         (range_tests_signed_zeros): Adjust test.
3406
3407 2022-11-10  Richard Biener  <rguenther@suse.de>
3408
3409         PR tree-optimization/84646
3410         * tree-ssa-forwprop.cc (pass_forwprop::execute): Improve
3411         copy propagation across PHIs.
3412
3413 2022-11-10  Philipp Tomsich  <philipp.tomsich@vrull.eu>
3414
3415         * config/riscv/riscv-cores.def (RISCV_TUNE): Update
3416         sifive-7-series to point to the sifive_7 pipeline description.
3417
3418 2022-11-10  Richard Biener  <rguenther@suse.de>
3419
3420         PR tree-optimization/84646
3421         * tree-ssa-ccp.cc (set_lattice_value): Make sure we
3422         allow a const -> copy transition and avoid using meet
3423         in that case.
3424
3425 2022-11-10  Martin Liska  <mliska@suse.cz>
3426
3427         * doc/cpp/conf.py: Add newline at last line.
3428         * doc/cppinternals/conf.py: Add newline at last line.
3429         * doc/gcc/conf.py: Add newline at last line.
3430         * doc/gccint/conf.py: Add newline at last line.
3431         * doc/install/conf.py: Add newline at last line.
3432
3433 2022-11-10  Richard Biener  <rguenther@suse.de>
3434
3435         * tree-ssa-loop-unswitch.cc (init_loop_unswitch_info): First collect
3436         candidates and determine the outermost loop to unswitch.
3437         (tree_ssa_unswitch_loops): First perform all guard hoisting,
3438         then perform unswitching on innermost loop predicates.
3439         (find_unswitching_predicates_for_bb): Keep track of the
3440         outermost loop to unswitch.
3441         (evaluate_bbs): Adjust exit test.
3442         (tree_unswitch_single_loop): Dump whether we unswitched an outer
3443         loop.
3444         (tree_unswitch_loop): Remove assert we unswitch only innermost
3445         loops.
3446
3447 2022-11-10  Jakub Jelinek  <jakub@redhat.com>
3448
3449         PR target/107585
3450         PR target/107546
3451         * config/i386/i386-expand.cc (ix86_expand_int_sse_cmp): Use
3452         gen_int_mode rather than GEN_INT.
3453
3454 2022-11-09  Martin Liska  <mliska@suse.cz>
3455             Sinan  <sinan.lin@linux.alibaba.com>
3456
3457         * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst:
3458         Add missing variable name.
3459
3460 2022-11-09  Aldy Hernandez  <aldyh@redhat.com>
3461
3462         * value-range-storage.cc (frange_storage_slot::get_frange): Clear
3463         NAN if appropriate.
3464         * value-range.cc (range_tests_floats): New test.
3465
3466 2022-11-09  Aldy Hernandez  <aldyh@redhat.com>
3467
3468         * range-op-float.cc (class foperator_plus): Remove op[12]_range.
3469         (class foperator_minus): Same.
3470
3471 2022-11-09  Qing Zhao  <qing.zhao@oracle.com>
3472
3473         * gimple-array-bounds.cc (trailing_array): Replace
3474         array_at_struct_end_p with new name and update comments.
3475         * gimple-fold.cc (get_range_strlen_tree): Likewise.
3476         * gimple-ssa-warn-restrict.cc (builtin_memref::builtin_memref):
3477         Likewise.
3478         * graphite-sese-to-poly.cc (bounds_are_valid): Likewise.
3479         * tree-if-conv.cc (idx_within_array_bound): Likewise.
3480         * tree-object-size.cc (addr_object_size): Likewise.
3481         * tree-ssa-alias.cc (component_ref_to_zero_sized_trailing_array_p):
3482         Likewise.
3483         (stmt_kills_ref_p): Likewise.
3484         * tree-ssa-loop-niter.cc (idx_infer_loop_bounds): Likewise.
3485         * tree-ssa-strlen.cc (maybe_set_strlen_range): Likewise.
3486         * tree.cc (array_at_struct_end_p): Rename to ...
3487         (array_ref_flexible_size_p): ... this.
3488         (component_ref_size): Replace array_at_struct_end_p with new name.
3489         * tree.h (array_at_struct_end_p): Rename to ...
3490         (array_ref_flexible_size_p): ... this.
3491
3492 2022-11-09  Martin Liska  <mliska@suse.cz>
3493
3494         * Makefile.in: Use new install URL.
3495         * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst:
3496         Use intersphinx link.
3497         * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
3498         Use new URL.
3499         * doc/gccint/source-tree-structure-and-build-system.rst: Use
3500         intersphinx link.
3501         * doc/install/host-target-specific-installation-notes-for-gcc.rst: Likewise.
3502         * doc/install/installing-gcc.rst: Likewise.
3503
3504 2022-11-09  Richard Biener  <rguenther@suse.de>
3505
3506         PR tree-optimization/84646
3507         * tree-ssa-threadbackward.cc (back_threader::maybe_register_path):
3508         Remove premature cycle rejection.
3509
3510 2022-11-09  Martin Liska  <mliska@suse.cz>
3511
3512         * doc/cpp/character-sets.rst:
3513         Add trailing newline.
3514         * doc/cpp/conditional-syntax.rst:
3515         Add trailing newline.
3516         * doc/cpp/conditional-uses.rst:
3517         Add trailing newline.
3518         * doc/cpp/conditionals.rst:
3519         Add trailing newline.
3520         * doc/cpp/copyright.rst:
3521         Add trailing newline.
3522         * doc/cpp/deleted-code.rst:
3523         Add trailing newline.
3524         * doc/cpp/diagnostics.rst:
3525         Add trailing newline.
3526         * doc/cpp/environment-variables.rst:
3527         Add trailing newline.
3528         * doc/cpp/gnu-free-documentation-license.rst:
3529         Add trailing newline.
3530         * doc/cpp/header-files.rst:
3531         Add trailing newline.
3532         * doc/cpp/header-files/alternatives-to-wrapper-ifndef.rst:
3533         Add trailing newline.
3534         * doc/cpp/header-files/computed-includes.rst:
3535         Add trailing newline.
3536         * doc/cpp/header-files/include-operation.rst:
3537         Add trailing newline.
3538         * doc/cpp/header-files/include-syntax.rst:
3539         Add trailing newline.
3540         * doc/cpp/header-files/once-only-headers.rst:
3541         Add trailing newline.
3542         * doc/cpp/header-files/search-path.rst:
3543         Add trailing newline.
3544         * doc/cpp/header-files/system-headers.rst:
3545         Add trailing newline.
3546         * doc/cpp/header-files/wrapper-headers.rst:
3547         Add trailing newline.
3548         * doc/cpp/implementation-defined-behavior.rst:
3549         Add trailing newline.
3550         * doc/cpp/implementation-details.rst:
3551         Add trailing newline.
3552         * doc/cpp/implementation-limits.rst:
3553         Add trailing newline.
3554         * doc/cpp/index.rst:
3555         Add trailing newline.
3556         * doc/cpp/indices-and-tables.rst:
3557         Add trailing newline.
3558         * doc/cpp/initial-processing.rst:
3559         Add trailing newline.
3560         * doc/cpp/invocation.rst:
3561         Add trailing newline.
3562         * doc/cpp/line-control.rst:
3563         Add trailing newline.
3564         * doc/cpp/macros.rst:
3565         Add trailing newline.
3566         * doc/cpp/macros/concatenation.rst:
3567         Add trailing newline.
3568         * doc/cpp/macros/directives-within-macro-arguments.rst:
3569         Add trailing newline.
3570         * doc/cpp/macros/function-like-macros.rst:
3571         Add trailing newline.
3572         * doc/cpp/macros/macro-arguments.rst:
3573         Add trailing newline.
3574         * doc/cpp/macros/macro-pitfalls.rst:
3575         Add trailing newline.
3576         * doc/cpp/macros/object-like-macros.rst:
3577         Add trailing newline.
3578         * doc/cpp/macros/predefined-macros.rst:
3579         Add trailing newline.
3580         * doc/cpp/macros/stringizing.rst:
3581         Add trailing newline.
3582         * doc/cpp/macros/undefining-and-redefining-macros.rst:
3583         Add trailing newline.
3584         * doc/cpp/macros/variadic-macros.rst:
3585         Add trailing newline.
3586         * doc/cpp/obsolete-features.rst:
3587         Add trailing newline.
3588         * doc/cpp/other-directives.rst:
3589         Add trailing newline.
3590         * doc/cpp/overview.rst:
3591         Add trailing newline.
3592         * doc/cpp/pragmas.rst:
3593         Add trailing newline.
3594         * doc/cpp/preprocessor-output.rst:
3595         Add trailing newline.
3596         * doc/cpp/the-preprocessing-language.rst:
3597         Add trailing newline.
3598         * doc/cpp/tokenization.rst:
3599         Add trailing newline.
3600         * doc/cpp/traditional-lexical-analysis.rst:
3601         Add trailing newline.
3602         * doc/cpp/traditional-macros.rst:
3603         Add trailing newline.
3604         * doc/cpp/traditional-miscellany.rst:
3605         Add trailing newline.
3606         * doc/cpp/traditional-mode.rst:
3607         Add trailing newline.
3608         * doc/cpp/traditional-warnings.rst:
3609         Add trailing newline.
3610         * doc/cppinternals/copyright.rst:
3611         Add trailing newline.
3612         * doc/cppinternals/cppinternals.rst:
3613         Add trailing newline.
3614         * doc/cppinternals/cpplib.rst:
3615         Add trailing newline.
3616         * doc/cppinternals/files.rst:
3617         Add trailing newline.
3618         * doc/cppinternals/index.rst:
3619         Add trailing newline.
3620         * doc/cppinternals/indices-and-tables.rst:
3621         Add trailing newline.
3622         * doc/cppinternals/internal-representation-of-macros.rst:
3623         Add trailing newline.
3624         * doc/cppinternals/just-which-line-number-anyway.rst:
3625         Add trailing newline.
3626         * doc/cppinternals/lexing-a-line.rst:
3627         Add trailing newline.
3628         * doc/cppinternals/lexing-a-token.rst:
3629         Add trailing newline.
3630         * doc/cppinternals/looking-for-a-function-like-macros-opening-parenthesis.rst:
3631         Add trailing newline.
3632         * doc/cppinternals/macro-expansion-overview.rst:
3633         Add trailing newline.
3634         * doc/cppinternals/marking-tokens-ineligible-for-future-expansion.rst:
3635         Add trailing newline.
3636         * doc/cppinternals/multiple-include-optimization.rst:
3637         Add trailing newline.
3638         * doc/cppinternals/overview.rst:
3639         Add trailing newline.
3640         * doc/cppinternals/representation-of-line-numbers.rst:
3641         Add trailing newline.
3642         * doc/cppinternals/scanning-the-replacement-list-for-macros-to-expand.rst:
3643         Add trailing newline.
3644         * doc/gcc/binary-compatibility.rst:
3645         Add trailing newline.
3646         * doc/gcc/c++-implementation-defined-behavior.rst:
3647         Add trailing newline.
3648         * doc/gcc/c-implementation-defined-behavior.rst:
3649         Add trailing newline.
3650         * doc/gcc/c-implementation-defined-behavior/architecture.rst:
3651         Add trailing newline.
3652         * doc/gcc/c-implementation-defined-behavior/arrays-and-pointers.rst:
3653         Add trailing newline.
3654         * doc/gcc/c-implementation-defined-behavior/characters.rst:
3655         Add trailing newline.
3656         * doc/gcc/c-implementation-defined-behavior/declarators.rst:
3657         Add trailing newline.
3658         * doc/gcc/c-implementation-defined-behavior/environment.rst:
3659         Add trailing newline.
3660         * doc/gcc/c-implementation-defined-behavior/floating-point.rst:
3661         Add trailing newline.
3662         * doc/gcc/c-implementation-defined-behavior/hints.rst:
3663         Add trailing newline.
3664         * doc/gcc/c-implementation-defined-behavior/identifiers.rst:
3665         Add trailing newline.
3666         * doc/gcc/c-implementation-defined-behavior/integers.rst:
3667         Add trailing newline.
3668         * doc/gcc/c-implementation-defined-behavior/library-functions.rst:
3669         Add trailing newline.
3670         * doc/gcc/c-implementation-defined-behavior/locale-specific-behavior.rst:
3671         Add trailing newline.
3672         * doc/gcc/c-implementation-defined-behavior/preprocessing-directives.rst:
3673         Add trailing newline.
3674         * doc/gcc/c-implementation-defined-behavior/qualifiers.rst:
3675         Add trailing newline.
3676         * doc/gcc/c-implementation-defined-behavior/statements.rst:
3677         Add trailing newline.
3678         * doc/gcc/c-implementation-defined-behavior/structures-unions-enumerations-and-bit-fields.rst:
3679         Add trailing newline.
3680         * doc/gcc/c-implementation-defined-behavior/translation.rst:
3681         Add trailing newline.
3682         * doc/gcc/conditionally-supported-behavior.rst:
3683         Add trailing newline.
3684         * doc/gcc/contributing-to-gcc-development.rst:
3685         Add trailing newline.
3686         * doc/gcc/contributors-to-gcc.rst:
3687         Add trailing newline.
3688         * doc/gcc/copyright.rst:
3689         Add trailing newline.
3690         * doc/gcc/exception-handling.rst:
3691         Add trailing newline.
3692         * doc/gcc/extensions-to-the-c++-language.rst:
3693         Add trailing newline.
3694         * doc/gcc/extensions-to-the-c++-language/backwards-compatibility.rst:
3695         Add trailing newline.
3696         * doc/gcc/extensions-to-the-c++-language/c++-concepts.rst:
3697         Add trailing newline.
3698         * doc/gcc/extensions-to-the-c++-language/c++-interface-and-implementation-pragmas.rst:
3699         Add trailing newline.
3700         * doc/gcc/extensions-to-the-c++-language/c++-specific-variable-function-and-type-attributes.rst:
3701         Add trailing newline.
3702         * doc/gcc/extensions-to-the-c++-language/deprecated-features.rst:
3703         Add trailing newline.
3704         * doc/gcc/extensions-to-the-c++-language/extracting-the-function-pointer-from-a-bound-pointer-to-member-function.rst:
3705         Add trailing newline.
3706         * doc/gcc/extensions-to-the-c++-language/function-multiversioning.rst:
3707         Add trailing newline.
3708         * doc/gcc/extensions-to-the-c++-language/restricting-pointer-aliasing.rst:
3709         Add trailing newline.
3710         * doc/gcc/extensions-to-the-c++-language/type-traits.rst:
3711         Add trailing newline.
3712         * doc/gcc/extensions-to-the-c++-language/vague-linkage.rst:
3713         Add trailing newline.
3714         * doc/gcc/extensions-to-the-c++-language/when-is-a-volatile-c++-object-accessed.rst:
3715         Add trailing newline.
3716         * doc/gcc/extensions-to-the-c++-language/wheres-the-template.rst:
3717         Add trailing newline.
3718         * doc/gcc/extensions-to-the-c-language-family.rst:
3719         Add trailing newline.
3720         * doc/gcc/extensions-to-the-c-language-family/128-bit-integers.rst:
3721         Add trailing newline.
3722         * doc/gcc/extensions-to-the-c-language-family/additional-floating-types.rst:
3723         Add trailing newline.
3724         * doc/gcc/extensions-to-the-c-language-family/alternate-keywords.rst:
3725         Add trailing newline.
3726         * doc/gcc/extensions-to-the-c-language-family/an-inline-function-is-as-fast-as-a-macro.rst:
3727         Add trailing newline.
3728         * doc/gcc/extensions-to-the-c-language-family/arithmetic-on-void-and-function-pointers.rst:
3729         Add trailing newline.
3730         * doc/gcc/extensions-to-the-c-language-family/arrays-of-length-zero.rst:
3731         Add trailing newline.
3732         * doc/gcc/extensions-to-the-c-language-family/arrays-of-variable-length.rst:
3733         Add trailing newline.
3734         * doc/gcc/extensions-to-the-c-language-family/attribute-syntax.rst:
3735         Add trailing newline.
3736         * doc/gcc/extensions-to-the-c-language-family/binary-constants-using-the-0b-prefix.rst:
3737         Add trailing newline.
3738         * doc/gcc/extensions-to-the-c-language-family/built-in-functions-for-memory-model-aware-atomic-operations.rst:
3739         Add trailing newline.
3740         * doc/gcc/extensions-to-the-c-language-family/built-in-functions-to-perform-arithmetic-with-overflow-checking.rst:
3741         Add trailing newline.
3742         * doc/gcc/extensions-to-the-c-language-family/c++-style-comments.rst:
3743         Add trailing newline.
3744         * doc/gcc/extensions-to-the-c-language-family/case-ranges.rst:
3745         Add trailing newline.
3746         * doc/gcc/extensions-to-the-c-language-family/cast-to-a-union-type.rst:
3747         Add trailing newline.
3748         * doc/gcc/extensions-to-the-c-language-family/complex-numbers.rst:
3749         Add trailing newline.
3750         * doc/gcc/extensions-to-the-c-language-family/compound-literals.rst:
3751         Add trailing newline.
3752         * doc/gcc/extensions-to-the-c-language-family/conditionals-with-omitted-operands.rst:
3753         Add trailing newline.
3754         * doc/gcc/extensions-to-the-c-language-family/constructing-function-calls.rst:
3755         Add trailing newline.
3756         * doc/gcc/extensions-to-the-c-language-family/decimal-floating-types.rst:
3757         Add trailing newline.
3758         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions.rst:
3759         Add trailing newline.
3760         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/aarch64-function-attributes.rst:
3761         Add trailing newline.
3762         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/amd-gcn-function-attributes.rst:
3763         Add trailing newline.
3764         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arc-function-attributes.rst:
3765         Add trailing newline.
3766         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arm-function-attributes.rst:
3767         Add trailing newline.
3768         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/avr-function-attributes.rst:
3769         Add trailing newline.
3770         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/blackfin-function-attributes.rst:
3771         Add trailing newline.
3772         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/bpf-function-attributes.rst:
3773         Add trailing newline.
3774         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/c-sky-function-attributes.rst:
3775         Add trailing newline.
3776         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/common-function-attributes.rst:
3777         Add trailing newline.
3778         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/epiphany-function-attributes.rst:
3779         Add trailing newline.
3780         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/h8-300-function-attributes.rst:
3781         Add trailing newline.
3782         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/ia-64-function-attributes.rst:
3783         Add trailing newline.
3784         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32c-function-attributes.rst:
3785         Add trailing newline.
3786         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32r-d-function-attributes.rst:
3787         Add trailing newline.
3788         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m68k-function-attributes.rst:
3789         Add trailing newline.
3790         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mcore-function-attributes.rst:
3791         Add trailing newline.
3792         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mep-function-attributes.rst:
3793         Add trailing newline.
3794         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microblaze-function-attributes.rst:
3795         Add trailing newline.
3796         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microsoft-windows-function-attributes.rst:
3797         Add trailing newline.
3798         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mips-function-attributes.rst:
3799         Add trailing newline.
3800         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/msp430-function-attributes.rst:
3801         Add trailing newline.
3802         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nds32-function-attributes.rst:
3803         Add trailing newline.
3804         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nios-ii-function-attributes.rst:
3805         Add trailing newline.
3806         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nvidia-ptx-function-attributes.rst:
3807         Add trailing newline.
3808         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/powerpc-function-attributes.rst:
3809         Add trailing newline.
3810         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/risc-v-function-attributes.rst:
3811         Add trailing newline.
3812         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rl78-function-attributes.rst:
3813         Add trailing newline.
3814         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rx-function-attributes.rst:
3815         Add trailing newline.
3816         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/s-390-function-attributes.rst:
3817         Add trailing newline.
3818         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/sh-function-attributes.rst:
3819         Add trailing newline.
3820         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/symbian-os-function-attributes.rst:
3821         Add trailing newline.
3822         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/v850-function-attributes.rst:
3823         Add trailing newline.
3824         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/visium-function-attributes.rst:
3825         Add trailing newline.
3826         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/x86-function-attributes.rst:
3827         Add trailing newline.
3828         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/xstormy16-function-attributes.rst:
3829         Add trailing newline.
3830         * doc/gcc/extensions-to-the-c-language-family/designated-initializers.rst:
3831         Add trailing newline.
3832         * doc/gcc/extensions-to-the-c-language-family/determining-the-alignment-of-functions-types-or-variables.rst:
3833         Add trailing newline.
3834         * doc/gcc/extensions-to-the-c-language-family/dollar-signs-in-identifier-names.rst:
3835         Add trailing newline.
3836         * doc/gcc/extensions-to-the-c-language-family/double-word-integers.rst:
3837         Add trailing newline.
3838         * doc/gcc/extensions-to-the-c-language-family/enumerator-attributes.rst:
3839         Add trailing newline.
3840         * doc/gcc/extensions-to-the-c-language-family/fixed-point-types.rst:
3841         Add trailing newline.
3842         * doc/gcc/extensions-to-the-c-language-family/format-checks-specific-to-particular-target-machines.rst:
3843         Add trailing newline.
3844         * doc/gcc/extensions-to-the-c-language-family/function-names-as-strings.rst:
3845         Add trailing newline.
3846         * doc/gcc/extensions-to-the-c-language-family/getting-the-return-or-frame-address-of-a-function.rst:
3847         Add trailing newline.
3848         * doc/gcc/extensions-to-the-c-language-family/half-precision-floating-point.rst:
3849         Add trailing newline.
3850         * doc/gcc/extensions-to-the-c-language-family/hex-floats.rst:
3851         Add trailing newline.
3852         * doc/gcc/extensions-to-the-c-language-family/how-to-use-inline-assembly-language-in-c-code.rst:
3853         Add trailing newline.
3854         * doc/gcc/extensions-to-the-c-language-family/incomplete-enum-types.rst:
3855         Add trailing newline.
3856         * doc/gcc/extensions-to-the-c-language-family/label-attributes.rst:
3857         Add trailing newline.
3858         * doc/gcc/extensions-to-the-c-language-family/labels-as-values.rst:
3859         Add trailing newline.
3860         * doc/gcc/extensions-to-the-c-language-family/legacy-sync-built-in-functions-for-atomic-memory-access.rst:
3861         Add trailing newline.
3862         * doc/gcc/extensions-to-the-c-language-family/locally-declared-labels.rst:
3863         Add trailing newline.
3864         * doc/gcc/extensions-to-the-c-language-family/macros-with-a-variable-number-of-arguments.rst:
3865         Add trailing newline.
3866         * doc/gcc/extensions-to-the-c-language-family/mixed-declarations-labels-and-code.rst:
3867         Add trailing newline.
3868         * doc/gcc/extensions-to-the-c-language-family/named-address-spaces.rst:
3869         Add trailing newline.
3870         * doc/gcc/extensions-to-the-c-language-family/nested-functions.rst:
3871         Add trailing newline.
3872         * doc/gcc/extensions-to-the-c-language-family/non-constant-initializers.rst:
3873         Add trailing newline.
3874         * doc/gcc/extensions-to-the-c-language-family/non-lvalue-arrays-may-have-subscripts.rst:
3875         Add trailing newline.
3876         * doc/gcc/extensions-to-the-c-language-family/nonlocal-gotos.rst:
3877         Add trailing newline.
3878         * doc/gcc/extensions-to-the-c-language-family/object-size-checking-built-in-functions.rst:
3879         Add trailing newline.
3880         * doc/gcc/extensions-to-the-c-language-family/other-built-in-functions-provided-by-gcc.rst:
3881         Add trailing newline.
3882         * doc/gcc/extensions-to-the-c-language-family/pointer-arguments-in-variadic-functions.rst:
3883         Add trailing newline.
3884         * doc/gcc/extensions-to-the-c-language-family/pointers-to-arrays-with-qualifiers-work-as-expected.rst:
3885         Add trailing newline.
3886         * doc/gcc/extensions-to-the-c-language-family/pragmas-accepted-by-gcc.rst:
3887         Add trailing newline.
3888         * doc/gcc/extensions-to-the-c-language-family/prototypes-and-old-style-function-definitions.rst:
3889         Add trailing newline.
3890         * doc/gcc/extensions-to-the-c-language-family/referring-to-a-type-with-typeof.rst:
3891         Add trailing newline.
3892         * doc/gcc/extensions-to-the-c-language-family/slightly-looser-rules-for-escaped-newlines.rst:
3893         Add trailing newline.
3894         * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-types.rst:
3895         Add trailing newline.
3896         * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-variables.rst:
3897         Add trailing newline.
3898         * doc/gcc/extensions-to-the-c-language-family/statement-attributes.rst:
3899         Add trailing newline.
3900         * doc/gcc/extensions-to-the-c-language-family/statements-and-declarations-in-expressions.rst:
3901         Add trailing newline.
3902         * doc/gcc/extensions-to-the-c-language-family/structures-with-no-members.rst:
3903         Add trailing newline.
3904         * doc/gcc/extensions-to-the-c-language-family/support-for-offsetof.rst:
3905         Add trailing newline.
3906         * doc/gcc/extensions-to-the-c-language-family/target-builtins.rst:
3907         Add trailing newline.
3908         * doc/gcc/extensions-to-the-c-language-family/target-builtins/aarch64-built-in-functions.rst:
3909         Add trailing newline.
3910         * doc/gcc/extensions-to-the-c-language-family/target-builtins/alpha-built-in-functions.rst:
3911         Add trailing newline.
3912         * doc/gcc/extensions-to-the-c-language-family/target-builtins/altera-nios-ii-built-in-functions.rst:
3913         Add trailing newline.
3914         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-built-in-functions.rst:
3915         Add trailing newline.
3916         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-simd-built-in-functions.rst:
3917         Add trailing newline.
3918         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-armv8-m-security-extensions.rst:
3919         Add trailing newline.
3920         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-c-language-extensions-acle.rst:
3921         Add trailing newline.
3922         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-floating-point-status-and-control-intrinsics.rst:
3923         Add trailing newline.
3924         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-iwmmxt-built-in-functions.rst:
3925         Add trailing newline.
3926         * doc/gcc/extensions-to-the-c-language-family/target-builtins/avr-built-in-functions.rst:
3927         Add trailing newline.
3928         * doc/gcc/extensions-to-the-c-language-family/target-builtins/basic-powerpc-built-in-functions.rst:
3929         Add trailing newline.
3930         * doc/gcc/extensions-to-the-c-language-family/target-builtins/blackfin-built-in-functions.rst:
3931         Add trailing newline.
3932         * doc/gcc/extensions-to-the-c-language-family/target-builtins/bpf-built-in-functions.rst:
3933         Add trailing newline.
3934         * doc/gcc/extensions-to-the-c-language-family/target-builtins/fr-v-built-in-functions.rst:
3935         Add trailing newline.
3936         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-dsp-built-in-functions.rst:
3937         Add trailing newline.
3938         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-loongson-built-in-functions.rst:
3939         Add trailing newline.
3940         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-paired-single-support.rst:
3941         Add trailing newline.
3942         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-simd-architecture-msa-support.rst:
3943         Add trailing newline.
3944         * doc/gcc/extensions-to-the-c-language-family/target-builtins/msp430-built-in-functions.rst:
3945         Add trailing newline.
3946         * doc/gcc/extensions-to-the-c-language-family/target-builtins/nds32-built-in-functions.rst:
3947         Add trailing newline.
3948         * doc/gcc/extensions-to-the-c-language-family/target-builtins/other-mips-built-in-functions.rst:
3949         Add trailing newline.
3950         * doc/gcc/extensions-to-the-c-language-family/target-builtins/picochip-built-in-functions.rst:
3951         Add trailing newline.
3952         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-altivec-vsx-built-in-functions.rst:
3953         Add trailing newline.
3954         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-atomic-memory-operation-functions.rst:
3955         Add trailing newline.
3956         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-hardware-transactional-memory-built-in-functions.rst:
3957         Add trailing newline.
3958         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-matrix-multiply-assist-built-in-functions.rst:
3959         Add trailing newline.
3960         * doc/gcc/extensions-to-the-c-language-family/target-builtins/pru-built-in-functions.rst:
3961         Add trailing newline.
3962         * doc/gcc/extensions-to-the-c-language-family/target-builtins/risc-v-built-in-functions.rst:
3963         Add trailing newline.
3964         * doc/gcc/extensions-to-the-c-language-family/target-builtins/rx-built-in-functions.rst:
3965         Add trailing newline.
3966         * doc/gcc/extensions-to-the-c-language-family/target-builtins/s-390-system-z-built-in-functions.rst:
3967         Add trailing newline.
3968         * doc/gcc/extensions-to-the-c-language-family/target-builtins/sh-built-in-functions.rst:
3969         Add trailing newline.
3970         * doc/gcc/extensions-to-the-c-language-family/target-builtins/sparc-vis-built-in-functions.rst:
3971         Add trailing newline.
3972         * doc/gcc/extensions-to-the-c-language-family/target-builtins/ti-c6x-built-in-functions.rst:
3973         Add trailing newline.
3974         * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-built-in-functions.rst:
3975         Add trailing newline.
3976         * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-control-flow-protection-intrinsics.rst:
3977         Add trailing newline.
3978         * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-transactional-memory-intrinsics.rst:
3979         Add trailing newline.
3980         * doc/gcc/extensions-to-the-c-language-family/the-character-esc-in-constants.rst:
3981         Add trailing newline.
3982         * doc/gcc/extensions-to-the-c-language-family/thread-local-storage.rst:
3983         Add trailing newline.
3984         * doc/gcc/extensions-to-the-c-language-family/unnamed-structure-and-union-fields.rst:
3985         Add trailing newline.
3986         * doc/gcc/extensions-to-the-c-language-family/using-vector-instructions-through-built-in-functions.rst:
3987         Add trailing newline.
3988         * doc/gcc/extensions-to-the-c-language-family/when-is-a-volatile-object-accessed.rst:
3989         Add trailing newline.
3990         * doc/gcc/extensions-to-the-c-language-family/x86-specific-memory-model-extensions-for-transactional-memory.rst:
3991         Add trailing newline.
3992         * doc/gcc/funding.rst:
3993         Add trailing newline.
3994         * doc/gcc/gcc-command-options.rst:
3995         Add trailing newline.
3996         * doc/gcc/gcc-command-options/compiling-c++-programs.rst:
3997         Add trailing newline.
3998         * doc/gcc/gcc-command-options/description.rst:
3999         Add trailing newline.
4000         * doc/gcc/gcc-command-options/environment-variables-affecting-gcc.rst:
4001         Add trailing newline.
4002         * doc/gcc/gcc-command-options/gcc-developer-options.rst:
4003         Add trailing newline.
4004         * doc/gcc/gcc-command-options/machine-dependent-options.rst:
4005         Add trailing newline.
4006         * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst:
4007         Add trailing newline.
4008         * doc/gcc/gcc-command-options/machine-dependent-options/adapteva-epiphany-options.rst:
4009         Add trailing newline.
4010         * doc/gcc/gcc-command-options/machine-dependent-options/amd-gcn-options.rst:
4011         Add trailing newline.
4012         * doc/gcc/gcc-command-options/machine-dependent-options/arc-options.rst:
4013         Add trailing newline.
4014         * doc/gcc/gcc-command-options/machine-dependent-options/arm-options.rst:
4015         Add trailing newline.
4016         * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst:
4017         Add trailing newline.
4018         * doc/gcc/gcc-command-options/machine-dependent-options/blackfin-options.rst:
4019         Add trailing newline.
4020         * doc/gcc/gcc-command-options/machine-dependent-options/c-sky-options.rst:
4021         Add trailing newline.
4022         * doc/gcc/gcc-command-options/machine-dependent-options/c6x-options.rst:
4023         Add trailing newline.
4024         * doc/gcc/gcc-command-options/machine-dependent-options/cris-options.rst:
4025         Add trailing newline.
4026         * doc/gcc/gcc-command-options/machine-dependent-options/darwin-options.rst:
4027         Add trailing newline.
4028         * doc/gcc/gcc-command-options/machine-dependent-options/dec-alpha-options.rst:
4029         Add trailing newline.
4030         * doc/gcc/gcc-command-options/machine-dependent-options/ebpf-options.rst:
4031         Add trailing newline.
4032         * doc/gcc/gcc-command-options/machine-dependent-options/fr30-options.rst:
4033         Add trailing newline.
4034         * doc/gcc/gcc-command-options/machine-dependent-options/frv-options.rst:
4035         Add trailing newline.
4036         * doc/gcc/gcc-command-options/machine-dependent-options/ft32-options.rst:
4037         Add trailing newline.
4038         * doc/gcc/gcc-command-options/machine-dependent-options/gnu-linux-options.rst:
4039         Add trailing newline.
4040         * doc/gcc/gcc-command-options/machine-dependent-options/h8-300-options.rst:
4041         Add trailing newline.
4042         * doc/gcc/gcc-command-options/machine-dependent-options/hppa-options.rst:
4043         Add trailing newline.
4044         * doc/gcc/gcc-command-options/machine-dependent-options/ia-64-options.rst:
4045         Add trailing newline.
4046         * doc/gcc/gcc-command-options/machine-dependent-options/ibm-rs-6000-and-powerpc-options.rst:
4047         Add trailing newline.
4048         * doc/gcc/gcc-command-options/machine-dependent-options/lm32-options.rst:
4049         Add trailing newline.
4050         * doc/gcc/gcc-command-options/machine-dependent-options/loongarch-options.rst:
4051         Add trailing newline.
4052         * doc/gcc/gcc-command-options/machine-dependent-options/m32c-options.rst:
4053         Add trailing newline.
4054         * doc/gcc/gcc-command-options/machine-dependent-options/m32r-d-options.rst:
4055         Add trailing newline.
4056         * doc/gcc/gcc-command-options/machine-dependent-options/m680x0-options.rst:
4057         Add trailing newline.
4058         * doc/gcc/gcc-command-options/machine-dependent-options/mcore-options.rst:
4059         Add trailing newline.
4060         * doc/gcc/gcc-command-options/machine-dependent-options/mep-options.rst:
4061         Add trailing newline.
4062         * doc/gcc/gcc-command-options/machine-dependent-options/microblaze-options.rst:
4063         Add trailing newline.
4064         * doc/gcc/gcc-command-options/machine-dependent-options/mips-options.rst:
4065         Add trailing newline.
4066         * doc/gcc/gcc-command-options/machine-dependent-options/mmix-options.rst:
4067         Add trailing newline.
4068         * doc/gcc/gcc-command-options/machine-dependent-options/mn10300-options.rst:
4069         Add trailing newline.
4070         * doc/gcc/gcc-command-options/machine-dependent-options/moxie-options.rst:
4071         Add trailing newline.
4072         * doc/gcc/gcc-command-options/machine-dependent-options/msp430-options.rst:
4073         Add trailing newline.
4074         * doc/gcc/gcc-command-options/machine-dependent-options/nds32-options.rst:
4075         Add trailing newline.
4076         * doc/gcc/gcc-command-options/machine-dependent-options/nios-ii-options.rst:
4077         Add trailing newline.
4078         * doc/gcc/gcc-command-options/machine-dependent-options/nvidia-ptx-options.rst:
4079         Add trailing newline.
4080         * doc/gcc/gcc-command-options/machine-dependent-options/openrisc-options.rst:
4081         Add trailing newline.
4082         * doc/gcc/gcc-command-options/machine-dependent-options/options-for-system-v.rst:
4083         Add trailing newline.
4084         * doc/gcc/gcc-command-options/machine-dependent-options/pdp-11-options.rst:
4085         Add trailing newline.
4086         * doc/gcc/gcc-command-options/machine-dependent-options/picochip-options.rst:
4087         Add trailing newline.
4088         * doc/gcc/gcc-command-options/machine-dependent-options/powerpc-options.rst:
4089         Add trailing newline.
4090         * doc/gcc/gcc-command-options/machine-dependent-options/pru-options.rst:
4091         Add trailing newline.
4092         * doc/gcc/gcc-command-options/machine-dependent-options/risc-v-options.rst:
4093         Add trailing newline.
4094         * doc/gcc/gcc-command-options/machine-dependent-options/rl78-options.rst:
4095         Add trailing newline.
4096         * doc/gcc/gcc-command-options/machine-dependent-options/rx-options.rst:
4097         Add trailing newline.
4098         * doc/gcc/gcc-command-options/machine-dependent-options/s-390-and-zseries-options.rst:
4099         Add trailing newline.
4100         * doc/gcc/gcc-command-options/machine-dependent-options/score-options.rst:
4101         Add trailing newline.
4102         * doc/gcc/gcc-command-options/machine-dependent-options/sh-options.rst:
4103         Add trailing newline.
4104         * doc/gcc/gcc-command-options/machine-dependent-options/solaris-2-options.rst:
4105         Add trailing newline.
4106         * doc/gcc/gcc-command-options/machine-dependent-options/sparc-options.rst:
4107         Add trailing newline.
4108         * doc/gcc/gcc-command-options/machine-dependent-options/v850-options.rst:
4109         Add trailing newline.
4110         * doc/gcc/gcc-command-options/machine-dependent-options/vax-options.rst:
4111         Add trailing newline.
4112         * doc/gcc/gcc-command-options/machine-dependent-options/visium-options.rst:
4113         Add trailing newline.
4114         * doc/gcc/gcc-command-options/machine-dependent-options/vms-options.rst:
4115         Add trailing newline.
4116         * doc/gcc/gcc-command-options/machine-dependent-options/vxworks-options.rst:
4117         Add trailing newline.
4118         * doc/gcc/gcc-command-options/machine-dependent-options/x86-windows-options.rst:
4119         Add trailing newline.
4120         * doc/gcc/gcc-command-options/machine-dependent-options/xstormy16-options.rst:
4121         Add trailing newline.
4122         * doc/gcc/gcc-command-options/machine-dependent-options/xtensa-options.rst:
4123         Add trailing newline.
4124         * doc/gcc/gcc-command-options/machine-dependent-options/zseries-options.rst:
4125         Add trailing newline.
4126         * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst:
4127         Add trailing newline.
4128         * doc/gcc/gcc-command-options/options-controlling-c-dialect.rst:
4129         Add trailing newline.
4130         * doc/gcc/gcc-command-options/options-controlling-objective-c-and-objective-c++-dialects.rst:
4131         Add trailing newline.
4132         * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst:
4133         Add trailing newline.
4134         * doc/gcc/gcc-command-options/options-controlling-the-preprocessor.rst:
4135         Add trailing newline.
4136         * doc/gcc/gcc-command-options/options-for-code-generation-conventions.rst:
4137         Add trailing newline.
4138         * doc/gcc/gcc-command-options/options-for-debugging-your-program.rst:
4139         Add trailing newline.
4140         * doc/gcc/gcc-command-options/options-for-directory-search.rst:
4141         Add trailing newline.
4142         * doc/gcc/gcc-command-options/options-for-linking.rst:
4143         Add trailing newline.
4144         * doc/gcc/gcc-command-options/options-that-control-optimization.rst:
4145         Add trailing newline.
4146         * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
4147         Add trailing newline.
4148         * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
4149         Add trailing newline.
4150         * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst:
4151         Add trailing newline.
4152         * doc/gcc/gcc-command-options/passing-options-to-the-assembler.rst:
4153         Add trailing newline.
4154         * doc/gcc/gcc-command-options/program-instrumentation-options.rst:
4155         Add trailing newline.
4156         * doc/gcc/gcc-command-options/specifying-subprocesses-and-the-switches-to-pass-to-them.rst:
4157         Add trailing newline.
4158         * doc/gcc/gcc-command-options/using-precompiled-headers.rst:
4159         Add trailing newline.
4160         * doc/gcc/gcc.rst:
4161         Add trailing newline.
4162         * doc/gcc/gcov-dump.rst:
4163         Add trailing newline.
4164         * doc/gcc/gcov-tool.rst:
4165         Add trailing newline.
4166         * doc/gcc/gcov.rst:
4167         Add trailing newline.
4168         * doc/gcc/gcov/brief-description-of-gcov-data-files.rst:
4169         Add trailing newline.
4170         * doc/gcc/gcov/data-file-relocation-to-support-cross-profiling.rst:
4171         Add trailing newline.
4172         * doc/gcc/gcov/introduction-to-gcov.rst:
4173         Add trailing newline.
4174         * doc/gcc/gcov/invoking-gcov.rst:
4175         Add trailing newline.
4176         * doc/gcc/gcov/profiling-and-test-coverage-in-freestanding-environments.rst:
4177         Add trailing newline.
4178         * doc/gcc/gcov/using-gcov-with-gcc-optimization.rst:
4179         Add trailing newline.
4180         * doc/gcc/general-public-license-3.rst:
4181         Add trailing newline.
4182         * doc/gcc/gnu-free-documentation-license.rst:
4183         Add trailing newline.
4184         * doc/gcc/gnu-objective-c-features.rst:
4185         Add trailing newline.
4186         * doc/gcc/gnu-objective-c-features/compatibilityalias.rst:
4187         Add trailing newline.
4188         * doc/gcc/gnu-objective-c-features/constant-string-objects.rst:
4189         Add trailing newline.
4190         * doc/gcc/gnu-objective-c-features/exceptions.rst:
4191         Add trailing newline.
4192         * doc/gcc/gnu-objective-c-features/fast-enumeration.rst:
4193         Add trailing newline.
4194         * doc/gcc/gnu-objective-c-features/garbage-collection.rst:
4195         Add trailing newline.
4196         * doc/gcc/gnu-objective-c-features/gnu-objective-c-runtime-api.rst:
4197         Add trailing newline.
4198         * doc/gcc/gnu-objective-c-features/load-executing-code-before-main.rst:
4199         Add trailing newline.
4200         * doc/gcc/gnu-objective-c-features/messaging-with-the-gnu-objective-c-runtime.rst:
4201         Add trailing newline.
4202         * doc/gcc/gnu-objective-c-features/synchronization.rst:
4203         Add trailing newline.
4204         * doc/gcc/gnu-objective-c-features/type-encoding.rst:
4205         Add trailing newline.
4206         * doc/gcc/gnu.rst:
4207         Add trailing newline.
4208         * doc/gcc/have-you-found-a-bug.rst:
4209         Add trailing newline.
4210         * doc/gcc/how-and-where-to-report-bugs.rst:
4211         Add trailing newline.
4212         * doc/gcc/how-to-get-help-with-gcc.rst:
4213         Add trailing newline.
4214         * doc/gcc/index.rst:
4215         Add trailing newline.
4216         * doc/gcc/indices-and-tables.rst:
4217         Add trailing newline.
4218         * doc/gcc/known-causes-of-trouble-with-gcc.rst:
4219         Add trailing newline.
4220         * doc/gcc/known-causes-of-trouble-with-gcc/actual-bugs-we-havent-fixed-yet.rst:
4221         Add trailing newline.
4222         * doc/gcc/known-causes-of-trouble-with-gcc/certain-changes-we-dont-want-to-make.rst:
4223         Add trailing newline.
4224         * doc/gcc/known-causes-of-trouble-with-gcc/common-misunderstandings-with-gnu-c.rst:
4225         Add trailing newline.
4226         * doc/gcc/known-causes-of-trouble-with-gcc/disappointments-and-misunderstandings.rst:
4227         Add trailing newline.
4228         * doc/gcc/known-causes-of-trouble-with-gcc/fixed-header-files.rst:
4229         Add trailing newline.
4230         * doc/gcc/known-causes-of-trouble-with-gcc/incompatibilities-of-gcc.rst:
4231         Add trailing newline.
4232         * doc/gcc/known-causes-of-trouble-with-gcc/interoperation.rst:
4233         Add trailing newline.
4234         * doc/gcc/known-causes-of-trouble-with-gcc/standard-libraries.rst:
4235         Add trailing newline.
4236         * doc/gcc/known-causes-of-trouble-with-gcc/warning-messages-and-error-messages.rst:
4237         Add trailing newline.
4238         * doc/gcc/language-standards-supported-by-gcc.rst:
4239         Add trailing newline.
4240         * doc/gcc/language-standards-supported-by-gcc/c++-language.rst:
4241         Add trailing newline.
4242         * doc/gcc/language-standards-supported-by-gcc/c-language.rst:
4243         Add trailing newline.
4244         * doc/gcc/language-standards-supported-by-gcc/d-language.rst:
4245         Add trailing newline.
4246         * doc/gcc/language-standards-supported-by-gcc/go-language.rst:
4247         Add trailing newline.
4248         * doc/gcc/language-standards-supported-by-gcc/objective-c-and-objective-c++-languages.rst:
4249         Add trailing newline.
4250         * doc/gcc/lto-dump.rst:
4251         Add trailing newline.
4252         * doc/gcc/programming-languages-supported-by-gcc.rst:
4253         Add trailing newline.
4254         * doc/gcc/reporting-bugs.rst:
4255         Add trailing newline.
4256         * doc/gccint/analysis-and-optimization-of-gimple-tuples.rst:
4257         Add trailing newline.
4258         * doc/gccint/analysis-and-optimization-of-gimple-tuples/alias-analysis.rst:
4259         Add trailing newline.
4260         * doc/gccint/analysis-and-optimization-of-gimple-tuples/annotations.rst:
4261         Add trailing newline.
4262         * doc/gccint/analysis-and-optimization-of-gimple-tuples/memory-model.rst:
4263         Add trailing newline.
4264         * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst:
4265         Add trailing newline.
4266         * doc/gccint/analysis-and-optimization-of-gimple-tuples/static-single-assignment.rst:
4267         Add trailing newline.
4268         * doc/gccint/analysis-and-representation-of-loops.rst:
4269         Add trailing newline.
4270         * doc/gccint/analysis-and-representation-of-loops/data-dependency-analysis.rst:
4271         Add trailing newline.
4272         * doc/gccint/analysis-and-representation-of-loops/iv-analysis-on-rtl.rst:
4273         Add trailing newline.
4274         * doc/gccint/analysis-and-representation-of-loops/loop-closed-ssa-form.rst:
4275         Add trailing newline.
4276         * doc/gccint/analysis-and-representation-of-loops/loop-manipulation.rst:
4277         Add trailing newline.
4278         * doc/gccint/analysis-and-representation-of-loops/loop-querying.rst:
4279         Add trailing newline.
4280         * doc/gccint/analysis-and-representation-of-loops/loop-representation.rst:
4281         Add trailing newline.
4282         * doc/gccint/analysis-and-representation-of-loops/number-of-iterations-analysis.rst:
4283         Add trailing newline.
4284         * doc/gccint/analysis-and-representation-of-loops/scalar-evolutions.rst:
4285         Add trailing newline.
4286         * doc/gccint/analyzer-internals.rst:
4287         Add trailing newline.
4288         * doc/gccint/collect2.rst:
4289         Add trailing newline.
4290         * doc/gccint/contributing-to-gcc-development.rst:
4291         Add trailing newline.
4292         * doc/gccint/contributors-to-gcc.rst:
4293         Add trailing newline.
4294         * doc/gccint/control-flow-graph.rst:
4295         Add trailing newline.
4296         * doc/gccint/control-flow-graph/basic-blocks.rst:
4297         Add trailing newline.
4298         * doc/gccint/control-flow-graph/edges.rst:
4299         Add trailing newline.
4300         * doc/gccint/control-flow-graph/liveness-information.rst:
4301         Add trailing newline.
4302         * doc/gccint/control-flow-graph/maintaining-the-cfg.rst:
4303         Add trailing newline.
4304         * doc/gccint/control-flow-graph/profile-information.rst:
4305         Add trailing newline.
4306         * doc/gccint/copyright.rst:
4307         Add trailing newline.
4308         * doc/gccint/debugging-the-analyzer.rst:
4309         Add trailing newline.
4310         * doc/gccint/funding.rst:
4311         Add trailing newline.
4312         * doc/gccint/gcc-and-portability.rst:
4313         Add trailing newline.
4314         * doc/gccint/general-public-license-3.rst:
4315         Add trailing newline.
4316         * doc/gccint/generic.rst:
4317         Add trailing newline.
4318         * doc/gccint/generic/attributes-in-trees.rst:
4319         Add trailing newline.
4320         * doc/gccint/generic/c-and-c++-trees.rst:
4321         Add trailing newline.
4322         * doc/gccint/generic/declarations.rst:
4323         Add trailing newline.
4324         * doc/gccint/generic/deficiencies.rst:
4325         Add trailing newline.
4326         * doc/gccint/generic/expressions.rst:
4327         Add trailing newline.
4328         * doc/gccint/generic/functions.rst:
4329         Add trailing newline.
4330         * doc/gccint/generic/language-dependent-trees.rst:
4331         Add trailing newline.
4332         * doc/gccint/generic/overview.rst:
4333         Add trailing newline.
4334         * doc/gccint/generic/statements.rst:
4335         Add trailing newline.
4336         * doc/gccint/generic/types.rst:
4337         Add trailing newline.
4338         * doc/gccint/gimple-api.rst:
4339         Add trailing newline.
4340         * doc/gccint/gimple.rst:
4341         Add trailing newline.
4342         * doc/gccint/gimple/adding-a-new-gimple-statement-code.rst:
4343         Add trailing newline.
4344         * doc/gccint/gimple/class-hierarchy-of-gimple-statements.rst:
4345         Add trailing newline.
4346         * doc/gccint/gimple/exception-handling.rst:
4347         Add trailing newline.
4348         * doc/gccint/gimple/gimple-instruction-set.rst:
4349         Add trailing newline.
4350         * doc/gccint/gimple/gimple-sequences.rst:
4351         Add trailing newline.
4352         * doc/gccint/gimple/manipulating-gimple-statements.rst:
4353         Add trailing newline.
4354         * doc/gccint/gimple/operands.rst:
4355         Add trailing newline.
4356         * doc/gccint/gimple/sequence-iterators.rst:
4357         Add trailing newline.
4358         * doc/gccint/gimple/statement-and-operand-traversals.rst:
4359         Add trailing newline.
4360         * doc/gccint/gimple/temporaries.rst:
4361         Add trailing newline.
4362         * doc/gccint/gimple/tuple-representation.rst:
4363         Add trailing newline.
4364         * doc/gccint/gimple/tuple-specific-accessors.rst:
4365         Add trailing newline.
4366         * doc/gccint/gimple/tuple-specific-accessors/gimpleasm.rst:
4367         Add trailing newline.
4368         * doc/gccint/gimple/tuple-specific-accessors/gimpleassign.rst:
4369         Add trailing newline.
4370         * doc/gccint/gimple/tuple-specific-accessors/gimplebind.rst:
4371         Add trailing newline.
4372         * doc/gccint/gimple/tuple-specific-accessors/gimplecall.rst:
4373         Add trailing newline.
4374         * doc/gccint/gimple/tuple-specific-accessors/gimplecatch.rst:
4375         Add trailing newline.
4376         * doc/gccint/gimple/tuple-specific-accessors/gimplecond.rst:
4377         Add trailing newline.
4378         * doc/gccint/gimple/tuple-specific-accessors/gimpledebug.rst:
4379         Add trailing newline.
4380         * doc/gccint/gimple/tuple-specific-accessors/gimpleehfilter.rst:
4381         Add trailing newline.
4382         * doc/gccint/gimple/tuple-specific-accessors/gimplegoto.rst:
4383         Add trailing newline.
4384         * doc/gccint/gimple/tuple-specific-accessors/gimplelabel.rst:
4385         Add trailing newline.
4386         * doc/gccint/gimple/tuple-specific-accessors/gimplenop.rst:
4387         Add trailing newline.
4388         * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicload.rst:
4389         Add trailing newline.
4390         * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicstore.rst:
4391         Add trailing newline.
4392         * doc/gccint/gimple/tuple-specific-accessors/gimpleompcontinue.rst:
4393         Add trailing newline.
4394         * doc/gccint/gimple/tuple-specific-accessors/gimpleompcritical.rst:
4395         Add trailing newline.
4396         * doc/gccint/gimple/tuple-specific-accessors/gimpleompfor.rst:
4397         Add trailing newline.
4398         * doc/gccint/gimple/tuple-specific-accessors/gimpleompmaster.rst:
4399         Add trailing newline.
4400         * doc/gccint/gimple/tuple-specific-accessors/gimpleompordered.rst:
4401         Add trailing newline.
4402         * doc/gccint/gimple/tuple-specific-accessors/gimpleompparallel.rst:
4403         Add trailing newline.
4404         * doc/gccint/gimple/tuple-specific-accessors/gimpleompreturn.rst:
4405         Add trailing newline.
4406         * doc/gccint/gimple/tuple-specific-accessors/gimpleompsection.rst:
4407         Add trailing newline.
4408         * doc/gccint/gimple/tuple-specific-accessors/gimpleompsections.rst:
4409         Add trailing newline.
4410         * doc/gccint/gimple/tuple-specific-accessors/gimpleompsingle.rst:
4411         Add trailing newline.
4412         * doc/gccint/gimple/tuple-specific-accessors/gimplephi.rst:
4413         Add trailing newline.
4414         * doc/gccint/gimple/tuple-specific-accessors/gimpleresx.rst:
4415         Add trailing newline.
4416         * doc/gccint/gimple/tuple-specific-accessors/gimplereturn.rst:
4417         Add trailing newline.
4418         * doc/gccint/gimple/tuple-specific-accessors/gimpleswitch.rst:
4419         Add trailing newline.
4420         * doc/gccint/gimple/tuple-specific-accessors/gimpletry.rst:
4421         Add trailing newline.
4422         * doc/gccint/gimple/tuple-specific-accessors/gimplewithcleanupexpr.rst:
4423         Add trailing newline.
4424         * doc/gccint/gnu-free-documentation-license.rst:
4425         Add trailing newline.
4426         * doc/gccint/guidelines-for-diagnostics.rst:
4427         Add trailing newline.
4428         * doc/gccint/guidelines-for-options.rst:
4429         Add trailing newline.
4430         * doc/gccint/host-common.rst:
4431         Add trailing newline.
4432         * doc/gccint/host-configuration.rst:
4433         Add trailing newline.
4434         * doc/gccint/host-filesystem.rst:
4435         Add trailing newline.
4436         * doc/gccint/host-makefile-fragments.rst:
4437         Add trailing newline.
4438         * doc/gccint/host-misc.rst:
4439         Add trailing newline.
4440         * doc/gccint/index.rst:
4441         Add trailing newline.
4442         * doc/gccint/indices-and-tables.rst:
4443         Add trailing newline.
4444         * doc/gccint/interfacing-to-gcc-output.rst:
4445         Add trailing newline.
4446         * doc/gccint/introduction.rst:
4447         Add trailing newline.
4448         * doc/gccint/language-front-ends-in-gcc.rst:
4449         Add trailing newline.
4450         * doc/gccint/link-time-optimization.rst:
4451         Add trailing newline.
4452         * doc/gccint/link-time-optimization/design-overview.rst:
4453         Add trailing newline.
4454         * doc/gccint/link-time-optimization/internal-flags-controlling-lto1.rst:
4455         Add trailing newline.
4456         * doc/gccint/link-time-optimization/lto-file-sections.rst:
4457         Add trailing newline.
4458         * doc/gccint/link-time-optimization/using-summary-information-in-ipa-passes.rst:
4459         Add trailing newline.
4460         * doc/gccint/link-time-optimization/whole-program-assumptions-linker-plugin-and-symbol-visibilities.rst:
4461         Add trailing newline.
4462         * doc/gccint/machine-descriptions.rst:
4463         Add trailing newline.
4464         * doc/gccint/machine-descriptions/c-statements-for-assembler-output.rst:
4465         Add trailing newline.
4466         * doc/gccint/machine-descriptions/canonicalization-of-instructions.rst:
4467         Add trailing newline.
4468         * doc/gccint/machine-descriptions/conditional-execution.rst:
4469         Add trailing newline.
4470         * doc/gccint/machine-descriptions/constant-definitions.rst:
4471         Add trailing newline.
4472         * doc/gccint/machine-descriptions/defining-how-to-split-instructions.rst:
4473         Add trailing newline.
4474         * doc/gccint/machine-descriptions/defining-jump-instruction-patterns.rst:
4475         Add trailing newline.
4476         * doc/gccint/machine-descriptions/defining-looping-instruction-patterns.rst:
4477         Add trailing newline.
4478         * doc/gccint/machine-descriptions/defining-rtl-sequences-for-code-generation.rst:
4479         Add trailing newline.
4480         * doc/gccint/machine-descriptions/everything-about-instruction-patterns.rst:
4481         Add trailing newline.
4482         * doc/gccint/machine-descriptions/example-of-defineinsn.rst:
4483         Add trailing newline.
4484         * doc/gccint/machine-descriptions/including-patterns-in-machine-descriptions.rst:
4485         Add trailing newline.
4486         * doc/gccint/machine-descriptions/instruction-attributes.rst:
4487         Add trailing newline.
4488         * doc/gccint/machine-descriptions/interdependence-of-patterns.rst:
4489         Add trailing newline.
4490         * doc/gccint/machine-descriptions/iterators.rst:
4491         Add trailing newline.
4492         * doc/gccint/machine-descriptions/machine-specific-peephole-optimizers.rst:
4493         Add trailing newline.
4494         * doc/gccint/machine-descriptions/operand-constraints.rst:
4495         Add trailing newline.
4496         * doc/gccint/machine-descriptions/output-templates-and-operand-substitution.rst:
4497         Add trailing newline.
4498         * doc/gccint/machine-descriptions/overview-of-how-the-machine-description-is-used.rst:
4499         Add trailing newline.
4500         * doc/gccint/machine-descriptions/predicates.rst:
4501         Add trailing newline.
4502         * doc/gccint/machine-descriptions/rtl-template.rst:
4503         Add trailing newline.
4504         * doc/gccint/machine-descriptions/rtl-templates-transformations.rst:
4505         Add trailing newline.
4506         * doc/gccint/machine-descriptions/standard-pattern-names-for-generation.rst:
4507         Add trailing newline.
4508         * doc/gccint/machine-descriptions/when-the-order-of-patterns-matters.rst:
4509         Add trailing newline.
4510         * doc/gccint/makefile-fragments.rst:
4511         Add trailing newline.
4512         * doc/gccint/match-and-simplify.rst:
4513         Add trailing newline.
4514         * doc/gccint/memory-management-and-type-information.rst:
4515         Add trailing newline.
4516         * doc/gccint/memory-management-and-type-information/how-to-invoke-the-garbage-collector.rst:
4517         Add trailing newline.
4518         * doc/gccint/memory-management-and-type-information/marking-roots-for-the-garbage-collector.rst:
4519         Add trailing newline.
4520         * doc/gccint/memory-management-and-type-information/source-files-containing-type-information.rst:
4521         Add trailing newline.
4522         * doc/gccint/memory-management-and-type-information/support-for-inheritance.rst:
4523         Add trailing newline.
4524         * doc/gccint/memory-management-and-type-information/support-for-user-provided-gc-marking-routines.rst:
4525         Add trailing newline.
4526         * doc/gccint/memory-management-and-type-information/the-inside-of-a-gty.rst:
4527         Add trailing newline.
4528         * doc/gccint/memory-management-and-type-information/troubleshooting-the-garbage-collector.rst:
4529         Add trailing newline.
4530         * doc/gccint/option-file-format.rst:
4531         Add trailing newline.
4532         * doc/gccint/option-properties.rst:
4533         Add trailing newline.
4534         * doc/gccint/option-specification-files.rst:
4535         Add trailing newline.
4536         * doc/gccint/passes-and-files-of-the-compiler.rst:
4537         Add trailing newline.
4538         * doc/gccint/passes-and-files-of-the-compiler/gimplification-pass.rst:
4539         Add trailing newline.
4540         * doc/gccint/passes-and-files-of-the-compiler/inter-procedural-optimization-passes.rst:
4541         Add trailing newline.
4542         * doc/gccint/passes-and-files-of-the-compiler/optimization-info.rst:
4543         Add trailing newline.
4544         * doc/gccint/passes-and-files-of-the-compiler/parsing-pass.rst:
4545         Add trailing newline.
4546         * doc/gccint/passes-and-files-of-the-compiler/pass-manager.rst:
4547         Add trailing newline.
4548         * doc/gccint/passes-and-files-of-the-compiler/rtl-passes.rst:
4549         Add trailing newline.
4550         * doc/gccint/passes-and-files-of-the-compiler/tree-ssa-passes.rst:
4551         Add trailing newline.
4552         * doc/gccint/plugins.rst:
4553         Add trailing newline.
4554         * doc/gccint/plugins/building-gcc-plugins.rst:
4555         Add trailing newline.
4556         * doc/gccint/plugins/controlling-which-passes-are-being-run.rst:
4557         Add trailing newline.
4558         * doc/gccint/plugins/giving-information-about-a-plugin.rst:
4559         Add trailing newline.
4560         * doc/gccint/plugins/interacting-with-the-gcc-garbage-collector.rst:
4561         Add trailing newline.
4562         * doc/gccint/plugins/interacting-with-the-pass-manager.rst:
4563         Add trailing newline.
4564         * doc/gccint/plugins/keeping-track-of-available-passes.rst:
4565         Add trailing newline.
4566         * doc/gccint/plugins/loading-plugins.rst:
4567         Add trailing newline.
4568         * doc/gccint/plugins/plugin-api.rst:
4569         Add trailing newline.
4570         * doc/gccint/plugins/recording-information-about-pass-execution.rst:
4571         Add trailing newline.
4572         * doc/gccint/plugins/registering-custom-attributes-or-pragmas.rst:
4573         Add trailing newline.
4574         * doc/gccint/rtl-representation.rst:
4575         Add trailing newline.
4576         * doc/gccint/rtl-representation/access-to-operands.rst:
4577         Add trailing newline.
4578         * doc/gccint/rtl-representation/access-to-special-operands.rst:
4579         Add trailing newline.
4580         * doc/gccint/rtl-representation/assembler-instructions-as-expressions.rst:
4581         Add trailing newline.
4582         * doc/gccint/rtl-representation/bit-fields.rst:
4583         Add trailing newline.
4584         * doc/gccint/rtl-representation/comparison-operations.rst:
4585         Add trailing newline.
4586         * doc/gccint/rtl-representation/constant-expression-types.rst:
4587         Add trailing newline.
4588         * doc/gccint/rtl-representation/conversions.rst:
4589         Add trailing newline.
4590         * doc/gccint/rtl-representation/declarations.rst:
4591         Add trailing newline.
4592         * doc/gccint/rtl-representation/embedded-side-effects-on-addresses.rst:
4593         Add trailing newline.
4594         * doc/gccint/rtl-representation/flags-in-an-rtl-expression.rst:
4595         Add trailing newline.
4596         * doc/gccint/rtl-representation/insns.rst:
4597         Add trailing newline.
4598         * doc/gccint/rtl-representation/machine-modes.rst:
4599         Add trailing newline.
4600         * doc/gccint/rtl-representation/on-the-side-ssa-form-for-rtl.rst:
4601         Add trailing newline.
4602         * doc/gccint/rtl-representation/reading-rtl.rst:
4603         Add trailing newline.
4604         * doc/gccint/rtl-representation/registers-and-memory.rst:
4605         Add trailing newline.
4606         * doc/gccint/rtl-representation/rtl-classes-and-formats.rst:
4607         Add trailing newline.
4608         * doc/gccint/rtl-representation/rtl-expressions-for-arithmetic.rst:
4609         Add trailing newline.
4610         * doc/gccint/rtl-representation/rtl-object-types.rst:
4611         Add trailing newline.
4612         * doc/gccint/rtl-representation/rtl-representation-of-function-call-insns.rst:
4613         Add trailing newline.
4614         * doc/gccint/rtl-representation/side-effect-expressions.rst:
4615         Add trailing newline.
4616         * doc/gccint/rtl-representation/structure-sharing-assumptions.rst:
4617         Add trailing newline.
4618         * doc/gccint/rtl-representation/variable-location-debug-information-in-rtl.rst:
4619         Add trailing newline.
4620         * doc/gccint/rtl-representation/vector-operations.rst:
4621         Add trailing newline.
4622         * doc/gccint/sizes-and-offsets-as-runtime-invariants.rst:
4623         Add trailing newline.
4624         * doc/gccint/sizes-and-offsets-as-runtime-invariants/alignment-of-polyints.rst:
4625         Add trailing newline.
4626         * doc/gccint/sizes-and-offsets-as-runtime-invariants/arithmetic-on-polyints.rst:
4627         Add trailing newline.
4628         * doc/gccint/sizes-and-offsets-as-runtime-invariants/comparisons-involving-polyint.rst:
4629         Add trailing newline.
4630         * doc/gccint/sizes-and-offsets-as-runtime-invariants/computing-bounds-on-polyints.rst:
4631         Add trailing newline.
4632         * doc/gccint/sizes-and-offsets-as-runtime-invariants/consequences-of-using-polyint.rst:
4633         Add trailing newline.
4634         * doc/gccint/sizes-and-offsets-as-runtime-invariants/converting-polyints.rst:
4635         Add trailing newline.
4636         * doc/gccint/sizes-and-offsets-as-runtime-invariants/guidelines-for-using-polyint.rst:
4637         Add trailing newline.
4638         * doc/gccint/sizes-and-offsets-as-runtime-invariants/miscellaneous-polyint-routines.rst:
4639         Add trailing newline.
4640         * doc/gccint/sizes-and-offsets-as-runtime-invariants/overview-of-polyint.rst:
4641         Add trailing newline.
4642         * doc/gccint/source-tree-structure-and-build-system.rst:
4643         Add trailing newline.
4644         * doc/gccint/source-tree-structure-and-build-system/configure-terms-and-history.rst:
4645         Add trailing newline.
4646         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory.rst:
4647         Add trailing newline.
4648         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-language-front-end.rst:
4649         Add trailing newline.
4650         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-target-back-end.rst:
4651         Add trailing newline.
4652         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/build-system-in-the-gcc-directory.rst:
4653         Add trailing newline.
4654         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/configuration-in-the-gcc-directory.rst:
4655         Add trailing newline.
4656         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/headers-installed-by-gcc.rst:
4657         Add trailing newline.
4658         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/library-source-files-and-headers-under-the-gcc-directory.rst:
4659         Add trailing newline.
4660         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/makefile-targets.rst:
4661         Add trailing newline.
4662         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/subdirectories-of-gcc.rst:
4663         Add trailing newline.
4664         * doc/gccint/source-tree-structure-and-build-system/top-level-source-directory.rst:
4665         Add trailing newline.
4666         * doc/gccint/standard-header-file-directories.rst:
4667         Add trailing newline.
4668         * doc/gccint/static-analyzer.rst:
4669         Add trailing newline.
4670         * doc/gccint/target-macros.rst:
4671         Add trailing newline.
4672         * doc/gccint/target-macros/controlling-debugging-information-format.rst:
4673         Add trailing newline.
4674         * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst:
4675         Add trailing newline.
4676         * doc/gccint/target-macros/cross-compilation-and-floating-point.rst:
4677         Add trailing newline.
4678         * doc/gccint/target-macros/defining-coprocessor-specifics-for-mips-targets.rst:
4679         Add trailing newline.
4680         * doc/gccint/target-macros/defining-data-structures-for-per-function-information.rst:
4681         Add trailing newline.
4682         * doc/gccint/target-macros/defining-the-output-assembler-language.rst:
4683         Add trailing newline.
4684         * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-alignment.rst:
4685         Add trailing newline.
4686         * doc/gccint/target-macros/defining-the-output-assembler-language/how-initialization-functions-are-handled.rst:
4687         Add trailing newline.
4688         * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
4689         Add trailing newline.
4690         * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
4691         Add trailing newline.
4692         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
4693         Add trailing newline.
4694         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
4695         Add trailing newline.
4696         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-uninitialized-variables.rst:
4697         Add trailing newline.
4698         * doc/gccint/target-macros/implicit-calls-to-library-routines.rst:
4699         Add trailing newline.
4700         * doc/gccint/target-macros/layout-of-source-language-data-types.rst:
4701         Add trailing newline.
4702         * doc/gccint/target-macros/position-independent-code.rst:
4703         Add trailing newline.
4704         * doc/gccint/target-macros/register-usage.rst:
4705         Add trailing newline.
4706         * doc/gccint/target-macros/stack-layout-and-calling-conventions.rst:
4707         Add trailing newline.
4708         * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
4709         Add trailing newline.
4710         * doc/gccint/target-macros/stack-layout-and-calling-conventions/caller-saves-register-allocation.rst:
4711         Add trailing newline.
4712         * doc/gccint/target-macros/stack-layout-and-calling-conventions/exception-handling-support.rst:
4713         Add trailing newline.
4714         * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
4715         Add trailing newline.
4716         * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
4717         Add trailing newline.
4718         * doc/gccint/target-macros/support-for-nested-functions.rst:
4719         Add trailing newline.
4720         * doc/gccint/target-macros/the-global-targetm-variable.rst:
4721         Add trailing newline.
4722         * doc/gccint/target-makefile-fragments.rst:
4723         Add trailing newline.
4724         * doc/gccint/testsuites.rst:
4725         Add trailing newline.
4726         * doc/gccint/testsuites/ada-language-testsuites.rst:
4727         Add trailing newline.
4728         * doc/gccint/testsuites/c-language-testsuites.rst:
4729         Add trailing newline.
4730         * doc/gccint/testsuites/directives-used-within-dejagnu-tests.rst:
4731         Add trailing newline.
4732         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/commands-for-use-in-dg-final.rst:
4733         Add trailing newline.
4734         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/features-for-dg-add-options.rst:
4735         Add trailing newline.
4736         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/keywords-describing-target-attributes.rst:
4737         Add trailing newline.
4738         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/selecting-targets-to-which-a-test-applies.rst:
4739         Add trailing newline.
4740         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/syntax-and-descriptions-of-test-directives.rst:
4741         Add trailing newline.
4742         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/variants-of-dg-require-support.rst:
4743         Add trailing newline.
4744         * doc/gccint/testsuites/idioms-used-in-testsuite-code.rst:
4745         Add trailing newline.
4746         * doc/gccint/testsuites/support-for-testing-binary-compatibility.rst:
4747         Add trailing newline.
4748         * doc/gccint/testsuites/support-for-testing-gcov.rst:
4749         Add trailing newline.
4750         * doc/gccint/testsuites/support-for-testing-gimple-passes.rst:
4751         Add trailing newline.
4752         * doc/gccint/testsuites/support-for-testing-link-time-optimizations.rst:
4753         Add trailing newline.
4754         * doc/gccint/testsuites/support-for-testing-profile-directed-optimizations.rst:
4755         Add trailing newline.
4756         * doc/gccint/testsuites/support-for-testing-rtl-passes.rst:
4757         Add trailing newline.
4758         * doc/gccint/testsuites/support-for-torture-testing-using-multiple-options.rst:
4759         Add trailing newline.
4760         * doc/gccint/the-gcc-low-level-runtime-library.rst:
4761         Add trailing newline.
4762         * doc/gccint/the-gcc-low-level-runtime-library/language-independent-routines-for-exception-handling.rst:
4763         Add trailing newline.
4764         * doc/gccint/the-gcc-low-level-runtime-library/miscellaneous-runtime-library-routines.rst:
4765         Add trailing newline.
4766         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-decimal-floating-point-emulation.rst:
4767         Add trailing newline.
4768         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-fixed-point-fractional-emulation.rst:
4769         Add trailing newline.
4770         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-floating-point-emulation.rst:
4771         Add trailing newline.
4772         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-integer-arithmetic.rst:
4773         Add trailing newline.
4774         * doc/gccint/the-language.rst:
4775         Add trailing newline.
4776         * doc/gccint/user-experience-guidelines.rst:
4777         Add trailing newline.
4778         * doc/install/binaries.rst:
4779         Add trailing newline.
4780         * doc/install/building.rst:
4781         Add trailing newline.
4782         * doc/install/building/building-a-cross-compiler.rst:
4783         Add trailing newline.
4784         * doc/install/building/building-a-native-compiler.rst:
4785         Add trailing newline.
4786         * doc/install/building/building-in-parallel.rst:
4787         Add trailing newline.
4788         * doc/install/building/building-the-ada-compiler.rst:
4789         Add trailing newline.
4790         * doc/install/building/building-the-d-compiler.rst:
4791         Add trailing newline.
4792         * doc/install/building/building-with-profile-feedback.rst:
4793         Add trailing newline.
4794         * doc/install/configuration.rst:
4795         Add trailing newline.
4796         * doc/install/copyright.rst:
4797         Add trailing newline.
4798         * doc/install/downloading-gcc.rst:
4799         Add trailing newline.
4800         * doc/install/final-installation.rst:
4801         Add trailing newline.
4802         * doc/install/gnu-free-documentation-license.rst:
4803         Add trailing newline.
4804         * doc/install/host-target-specific-installation-notes-for-gcc.rst:
4805         Add trailing newline.
4806         * doc/install/how-can-you-run-the-testsuite-on-selected-tests.rst:
4807         Add trailing newline.
4808         * doc/install/how-to-interpret-test-results.rst:
4809         Add trailing newline.
4810         * doc/install/index.rst:
4811         Add trailing newline.
4812         * doc/install/indices-and-tables.rst:
4813         Add trailing newline.
4814         * doc/install/installing-gcc.rst:
4815         Add trailing newline.
4816         * doc/install/passing-options-and-running-multiple-testsuites.rst:
4817         Add trailing newline.
4818         * doc/install/prerequisites.rst:
4819         Add trailing newline.
4820         * doc/install/submitting-test-results.rst:
4821         Add trailing newline.
4822         * doc/install/testing.rst:
4823         Add trailing newline.
4824
4825 2022-11-09  Martin Liska  <mliska@suse.cz>
4826
4827         * opts.cc (get_option_html_page): Port to sphinx URLs.
4828         (get_option_url): Likewise.
4829         (test_get_option_html_page): Likewise.
4830
4831 2022-11-09  Jakub Jelinek  <jakub@redhat.com>
4832
4833         PR tree-optimization/107569
4834         * range-op-float.cc (foperator_abs::op1_range): Clear NaNs
4835         from the negatives frange before unioning it into r.
4836
4837 2022-11-09  Martin Liska  <mliska@suse.cz>
4838
4839         * Makefile.in: Add vpath default for .rst files.
4840         * config/avr/avr-devices.cc: For port RST.
4841         * config/avr/avr-mcus.def: Update path.
4842         * config/avr/gen-avr-mmcu-texi.cc: Moved to...
4843         * config/avr/gen-avr-mmcu-rst.cc: ...here.
4844         * config/avr/t-avr: Update to rst.
4845         * doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst: Re-generate.
4846
4847 2022-11-09  Philipp Tomsich  <philipp.tomsich@vrull.eu>
4848
4849         * config/riscv/riscv.cc (riscv_rtx_costs): Add BSWAP.
4850
4851 2022-11-09  Xi Ruoyao  <xry111@xry111.site>
4852
4853         * config/loongarch/loongarch.cc (loongarch_emit_int_compare):
4854         Avoid signed overflow.
4855
4856 2022-11-09  Aldy Hernandez  <aldyh@redhat.com>
4857
4858         * range-op-float.cc (foperator_plus::op1_range): New.
4859         (foperator_plus::op2_range): New.
4860         (foperator_minus::op1_range): New.
4861         (foperator_minus::op2_range): New.
4862
4863 2022-11-09  Martin Liska  <mliska@suse.cz>
4864
4865         * Makefile.in: Support installation if sphinx-build is missing.
4866
4867 2022-11-09  Martin Liska  <mliska@suse.cz>
4868
4869         * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
4870         Port to RST.
4871         * doc/gccint/target-macros/storage-layout.rst: Likewise.
4872         * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: Sync with master.
4873         * doc/gcc/gcc-command-options/option-summary.rst: Likewise.
4874
4875 2022-11-09  Martin Liska  <mliska@suse.cz>
4876
4877         * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
4878         Do not include tm.rst.in.
4879         * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
4880         Likewise.
4881         * doc/gccint/target-macros/run-time-target-specification.rst:
4882         Likewise.
4883
4884 2022-11-09  Martin Liska  <mliska@suse.cz>
4885
4886         * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst:
4887         Fix cross manual refs.
4888         * doc/gcc/language-standards-supported-by-gcc/references-for-other-languages.rst:
4889         Likewise.
4890
4891 2022-11-09  Martin Liska  <mliska@suse.cz>
4892
4893         * Makefile.in: Support --with-sphinx-build.
4894         * configure.ac:
4895         * configure: Regenerate.
4896
4897 2022-11-09  Martin Liska  <mliska@suse.cz>
4898
4899         * target.def: Use proper lexers for target macros.
4900         * doc/gccint/target-macros/tm.rst.in: Re-generate.
4901
4902 2022-11-09  Martin Liska  <mliska@suse.cz>
4903
4904         * doc/analyzer.texi: Removed.
4905         * doc/avr-mmcu.texi: Removed.
4906         * doc/bugreport.texi: Removed.
4907         * doc/cfg.texi: Removed.
4908         * doc/collect2.texi: Removed.
4909         * doc/compat.texi: Removed.
4910         * doc/configfiles.texi: Removed.
4911         * doc/configterms.texi: Removed.
4912         * doc/contrib.texi: Removed.
4913         * doc/contribute.texi: Removed.
4914         * doc/cpp.texi: Removed.
4915         * doc/cppdiropts.texi: Removed.
4916         * doc/cppenv.texi: Removed.
4917         * doc/cppinternals.texi: Removed.
4918         * doc/cppopts.texi: Removed.
4919         * doc/cppwarnopts.texi: Removed.
4920         * doc/extend.texi: Removed.
4921         * doc/fragments.texi: Removed.
4922         * doc/frontends.texi: Removed.
4923         * doc/gcc.texi: Removed.
4924         * doc/gccint.texi: Removed.
4925         * doc/gcov-dump.texi: Removed.
4926         * doc/gcov-tool.texi: Removed.
4927         * doc/gcov.texi: Removed.
4928         * doc/generic.texi: Removed.
4929         * doc/gimple.texi: Removed.
4930         * doc/gnu.texi: Removed.
4931         * doc/gty.texi: Removed.
4932         * doc/headerdirs.texi: Removed.
4933         * doc/hostconfig.texi: Removed.
4934         * doc/implement-c.texi: Removed.
4935         * doc/implement-cxx.texi: Removed.
4936         * doc/include/fdl.texi: Removed.
4937         * doc/include/funding.texi: Removed.
4938         * doc/include/gcc-common.texi: Removed.
4939         * doc/include/gpl_v3.texi: Removed.
4940         * doc/install.texi: Removed.
4941         * doc/interface.texi: Removed.
4942         * doc/invoke.texi: Removed.
4943         * doc/languages.texi: Removed.
4944         * doc/libgcc.texi: Removed.
4945         * doc/loop.texi: Removed.
4946         * doc/lto-dump.texi: Removed.
4947         * doc/lto.texi: Removed.
4948         * doc/makefile.texi: Removed.
4949         * doc/match-and-simplify.texi: Removed.
4950         * doc/md.texi: Removed.
4951         * doc/objc.texi: Removed.
4952         * doc/optinfo.texi: Removed.
4953         * doc/options.texi: Removed.
4954         * doc/passes.texi: Removed.
4955         * doc/plugins.texi: Removed.
4956         * doc/poly-int.texi: Removed.
4957         * doc/portability.texi: Removed.
4958         * doc/rtl.texi: Removed.
4959         * doc/service.texi: Removed.
4960         * doc/sourcebuild.texi: Removed.
4961         * doc/standards.texi: Removed.
4962         * doc/tm.texi: Removed.
4963         * doc/tree-ssa.texi: Removed.
4964         * doc/trouble.texi: Removed.
4965         * doc/ux.texi: Removed.
4966         * doc/tm.texi.in: Removed.
4967
4968 2022-11-09  Martin Liska  <mliska@suse.cz>
4969
4970         * doc/gccint/target-macros/tm.rst.in: New file.
4971
4972 2022-11-09  Martin Liska  <mliska@suse.cz>
4973
4974         * Makefile.in: Support Sphinx based documentation.
4975         * configure: Regenerate.
4976         * configure.ac: Support Sphinx based documentation.
4977         * genhooks.cc (struct s_hook): Emit tm.rst.in file.
4978
4979 2022-11-09  Martin Liska  <mliska@suse.cz>
4980
4981         * doc/gccint/target-macros/adding-support-for-named-address-spaces.rst: Use tm.rst.in file.
4982         * doc/gccint/target-macros/addressing-modes.rst: Likewise.
4983         * doc/gccint/target-macros/adjusting-the-instruction-scheduler.rst: Likewise.
4984         * doc/gccint/target-macros/anchored-addresses.rst: Likewise.
4985         * doc/gccint/target-macros/c++-abi-parameters.rst: Likewise.
4986         * doc/gccint/target-macros/condition-code-status.rst: Likewise.
4987         * doc/gccint/target-macros/controlling-debugging-information-format.rst: Likewise.
4988         * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: Likewise.
4989         * doc/gccint/target-macros/d-abi-parameters.rst: Likewise.
4990         * doc/gccint/target-macros/defining-target-specific-uses-of-attribute.rst: Likewise.
4991         * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
4992         Likewise.
4993         * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
4994         Likewise.
4995         * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
4996         Likewise.
4997         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
4998         Likewise.
4999         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
5000         Likewise.
5001         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-dispatch-tables.rst:
5002         Likewise.
5003         * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
5004         Likewise.
5005         * doc/gccint/target-macros/describing-relative-costs-of-operations.rst: Likewise.
5006         * doc/gccint/target-macros/dividing-the-output-into-sections-texts-data.rst: Likewise.
5007         * doc/gccint/target-macros/emulating-tls.rst: Likewise.
5008         * doc/gccint/target-macros/implementing-the-varargs-macros.rst: Likewise.
5009         * doc/gccint/target-macros/implicit-calls-to-library-routines.rst: Likewise.
5010         * doc/gccint/target-macros/layout-of-source-language-data-types.rst: Likewise.
5011         * doc/gccint/target-macros/miscellaneous-parameters.rst: Likewise.
5012         * doc/gccint/target-macros/mode-switching-instructions.rst: Likewise.
5013         * doc/gccint/target-macros/parameters-for-precompiled-header-validity-checking.rst:
5014         Likewise.
5015         * doc/gccint/target-macros/register-classes.rst: Likewise.
5016         * doc/gccint/target-macros/register-usage.rst: Likewise.
5017         * doc/gccint/target-macros/run-time-target-specification.rst: Likewise.
5018         * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
5019         Likewise.
5020         * doc/gccint/target-macros/stack-layout-and-calling-conventions/eliminating-frame-pointer-and-arg-pointer.rst:
5021         Likewise.
5022         * doc/gccint/target-macros/stack-layout-and-calling-conventions/function-entry-and-exit.rst:
5023         Likewise.
5024         * doc/gccint/target-macros/stack-layout-and-calling-conventions/generating-code-for-profiling.rst:
5025         Likewise.
5026         * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-large-values-are-returned.rst:
5027         Likewise.
5028         * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-scalar-function-values-are-returned.rst:
5029         Likewise.
5030         * doc/gccint/target-macros/stack-layout-and-calling-conventions/miscellaneous-register-hooks.rst:
5031         Likewise.
5032         * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
5033         Likewise.
5034         * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
5035         Likewise.
5036         * doc/gccint/target-macros/stack-layout-and-calling-conventions/permitting-tail-calls.rst:
5037         Likewise.
5038         * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
5039         Likewise.
5040         * doc/gccint/target-macros/stack-layout-and-calling-conventions/shrink-wrapping-separate-components.rst:
5041         Likewise.
5042         * doc/gccint/target-macros/stack-layout-and-calling-conventions/specifying-how-stack-checking-is-done.rst:
5043         Likewise.
5044         * doc/gccint/target-macros/stack-layout-and-calling-conventions/stack-smashing-protection.rst:
5045         Likewise.
5046         * doc/gccint/target-macros/storage-layout.rst: Likewise.
5047         * doc/gccint/target-macros/support-for-nested-functions.rst: Likewise.
5048
5049 2022-11-09  Martin Liska  <mliska@suse.cz>
5050
5051         * common/common-target.def: Port to RST.
5052         * target.def: Port to RST.
5053
5054 2022-11-09  Martin Liska  <mliska@suse.cz>
5055
5056         * doc/cpp/character-sets.rst: New file.
5057         * doc/cpp/conditional-syntax.rst: New file.
5058         * doc/cpp/conditional-uses.rst: New file.
5059         * doc/cpp/conditionals.rst: New file.
5060         * doc/cpp/conf.py: New file.
5061         * doc/cpp/copyright.rst: New file.
5062         * doc/cpp/deleted-code.rst: New file.
5063         * doc/cpp/diagnostics.rst: New file.
5064         * doc/cpp/environment-variables.rst: New file.
5065         * doc/cpp/gnu-free-documentation-license.rst: New file.
5066         * doc/cpp/header-files.rst: New file.
5067         * doc/cpp/header-files/alternatives-to-wrapper-ifndef.rst: New file.
5068         * doc/cpp/header-files/computed-includes.rst: New file.
5069         * doc/cpp/header-files/include-operation.rst: New file.
5070         * doc/cpp/header-files/include-syntax.rst: New file.
5071         * doc/cpp/header-files/once-only-headers.rst: New file.
5072         * doc/cpp/header-files/search-path.rst: New file.
5073         * doc/cpp/header-files/system-headers.rst: New file.
5074         * doc/cpp/header-files/wrapper-headers.rst: New file.
5075         * doc/cpp/implementation-defined-behavior.rst: New file.
5076         * doc/cpp/implementation-details.rst: New file.
5077         * doc/cpp/implementation-limits.rst: New file.
5078         * doc/cpp/index.rst: New file.
5079         * doc/cpp/indices-and-tables.rst: New file.
5080         * doc/cpp/initial-processing.rst: New file.
5081         * doc/cpp/invocation.rst: New file.
5082         * doc/cpp/line-control.rst: New file.
5083         * doc/cpp/macros.rst: New file.
5084         * doc/cpp/macros/concatenation.rst: New file.
5085         * doc/cpp/macros/directives-within-macro-arguments.rst: New file.
5086         * doc/cpp/macros/function-like-macros.rst: New file.
5087         * doc/cpp/macros/macro-arguments.rst: New file.
5088         * doc/cpp/macros/macro-pitfalls.rst: New file.
5089         * doc/cpp/macros/object-like-macros.rst: New file.
5090         * doc/cpp/macros/predefined-macros.rst: New file.
5091         * doc/cpp/macros/stringizing.rst: New file.
5092         * doc/cpp/macros/undefining-and-redefining-macros.rst: New file.
5093         * doc/cpp/macros/variadic-macros.rst: New file.
5094         * doc/cpp/obsolete-features.rst: New file.
5095         * doc/cpp/other-directives.rst: New file.
5096         * doc/cpp/overview.rst: New file.
5097         * doc/cpp/pragmas.rst: New file.
5098         * doc/cpp/preprocessor-output.rst: New file.
5099         * doc/cpp/the-preprocessing-language.rst: New file.
5100         * doc/cpp/tokenization.rst: New file.
5101         * doc/cpp/traditional-lexical-analysis.rst: New file.
5102         * doc/cpp/traditional-macros.rst: New file.
5103         * doc/cpp/traditional-miscellany.rst: New file.
5104         * doc/cpp/traditional-mode.rst: New file.
5105         * doc/cpp/traditional-warnings.rst: New file.
5106         * doc/cppinternals/conf.py: New file.
5107         * doc/cppinternals/copyright.rst: New file.
5108         * doc/cppinternals/cppinternals.rst: New file.
5109         * doc/cppinternals/cpplib.rst: New file.
5110         * doc/cppinternals/files.rst: New file.
5111         * doc/cppinternals/index.rst: New file.
5112         * doc/cppinternals/indices-and-tables.rst: New file.
5113         * doc/cppinternals/internal-representation-of-macros.rst: New file.
5114         * doc/cppinternals/just-which-line-number-anyway.rst: New file.
5115         * doc/cppinternals/lexing-a-line.rst: New file.
5116         * doc/cppinternals/lexing-a-token.rst: New file.
5117         * doc/cppinternals/looking-for-a-function-like-macros-opening-parenthesis.rst: New file.
5118         * doc/cppinternals/macro-expansion-overview.rst: New file.
5119         * doc/cppinternals/marking-tokens-ineligible-for-future-expansion.rst: New file.
5120         * doc/cppinternals/multiple-include-optimization.rst: New file.
5121         * doc/cppinternals/overview.rst: New file.
5122         * doc/cppinternals/representation-of-line-numbers.rst: New file.
5123         * doc/cppinternals/scanning-the-replacement-list-for-macros-to-expand.rst: New file.
5124         * doc/gcc/binary-compatibility.rst: New file.
5125         * doc/gcc/c++-implementation-defined-behavior.rst: New file.
5126         * doc/gcc/c-implementation-defined-behavior.rst: New file.
5127         * doc/gcc/c-implementation-defined-behavior/architecture.rst: New file.
5128         * doc/gcc/c-implementation-defined-behavior/arrays-and-pointers.rst: New file.
5129         * doc/gcc/c-implementation-defined-behavior/characters.rst: New file.
5130         * doc/gcc/c-implementation-defined-behavior/declarators.rst: New file.
5131         * doc/gcc/c-implementation-defined-behavior/environment.rst: New file.
5132         * doc/gcc/c-implementation-defined-behavior/floating-point.rst: New file.
5133         * doc/gcc/c-implementation-defined-behavior/hints.rst: New file.
5134         * doc/gcc/c-implementation-defined-behavior/identifiers.rst: New file.
5135         * doc/gcc/c-implementation-defined-behavior/integers.rst: New file.
5136         * doc/gcc/c-implementation-defined-behavior/library-functions.rst: New file.
5137         * doc/gcc/c-implementation-defined-behavior/locale-specific-behavior.rst: New file.
5138         * doc/gcc/c-implementation-defined-behavior/preprocessing-directives.rst: New file.
5139         * doc/gcc/c-implementation-defined-behavior/qualifiers.rst: New file.
5140         * doc/gcc/c-implementation-defined-behavior/statements.rst: New file.
5141         * doc/gcc/c-implementation-defined-behavior/structures-unions-enumerations-and-bit-fields.rst:
5142         New file.
5143         * doc/gcc/c-implementation-defined-behavior/translation.rst: New file.
5144         * doc/gcc/conditionally-supported-behavior.rst: New file.
5145         * doc/gcc/conf.py: New file.
5146         * doc/gcc/contributing-to-gcc-development.rst: New file.
5147         * doc/gcc/contributors-to-gcc.rst: New file.
5148         * doc/gcc/copyright.rst: New file.
5149         * doc/gcc/exception-handling.rst: New file.
5150         * doc/gcc/extensions-to-the-c++-language.rst: New file.
5151         * doc/gcc/extensions-to-the-c++-language/backwards-compatibility.rst: New file.
5152         * doc/gcc/extensions-to-the-c++-language/c++-concepts.rst: New file.
5153         * doc/gcc/extensions-to-the-c++-language/c++-interface-and-implementation-pragmas.rst:
5154         New file.
5155         * doc/gcc/extensions-to-the-c++-language/c++-specific-variable-function-and-type-attributes.rst:
5156         New file.
5157         * doc/gcc/extensions-to-the-c++-language/deprecated-features.rst: New file.
5158         * doc/gcc/extensions-to-the-c++-language/extracting-the-function-pointer-from-a-bound-pointer-to-member-function.rst:
5159         New file.
5160         * doc/gcc/extensions-to-the-c++-language/function-multiversioning.rst: New file.
5161         * doc/gcc/extensions-to-the-c++-language/restricting-pointer-aliasing.rst: New file.
5162         * doc/gcc/extensions-to-the-c++-language/type-traits.rst: New file.
5163         * doc/gcc/extensions-to-the-c++-language/vague-linkage.rst: New file.
5164         * doc/gcc/extensions-to-the-c++-language/when-is-a-volatile-c++-object-accessed.rst:
5165         New file.
5166         * doc/gcc/extensions-to-the-c++-language/wheres-the-template.rst: New file.
5167         * doc/gcc/extensions-to-the-c-language-family.rst: New file.
5168         * doc/gcc/extensions-to-the-c-language-family/128-bit-integers.rst: New file.
5169         * doc/gcc/extensions-to-the-c-language-family/additional-floating-types.rst: New file.
5170         * doc/gcc/extensions-to-the-c-language-family/alternate-keywords.rst: New file.
5171         * doc/gcc/extensions-to-the-c-language-family/an-inline-function-is-as-fast-as-a-macro.rst:
5172         New file.
5173         * doc/gcc/extensions-to-the-c-language-family/arithmetic-on-void-and-function-pointers.rst:
5174         New file.
5175         * doc/gcc/extensions-to-the-c-language-family/arrays-of-length-zero.rst: New file.
5176         * doc/gcc/extensions-to-the-c-language-family/arrays-of-variable-length.rst: New file.
5177         * doc/gcc/extensions-to-the-c-language-family/attribute-syntax.rst: New file.
5178         * doc/gcc/extensions-to-the-c-language-family/binary-constants-using-the-0b-prefix.rst:
5179         New file.
5180         * doc/gcc/extensions-to-the-c-language-family/built-in-functions-for-memory-model-aware-atomic-operations.rst:
5181         New file.
5182         * doc/gcc/extensions-to-the-c-language-family/built-in-functions-to-perform-arithmetic-with-overflow-checking.rst:
5183         New file.
5184         * doc/gcc/extensions-to-the-c-language-family/c++-style-comments.rst: New file.
5185         * doc/gcc/extensions-to-the-c-language-family/case-ranges.rst: New file.
5186         * doc/gcc/extensions-to-the-c-language-family/cast-to-a-union-type.rst: New file.
5187         * doc/gcc/extensions-to-the-c-language-family/complex-numbers.rst: New file.
5188         * doc/gcc/extensions-to-the-c-language-family/compound-literals.rst: New file.
5189         * doc/gcc/extensions-to-the-c-language-family/conditionals-with-omitted-operands.rst:
5190         New file.
5191         * doc/gcc/extensions-to-the-c-language-family/constructing-function-calls.rst: New file.
5192         * doc/gcc/extensions-to-the-c-language-family/decimal-floating-types.rst: New file.
5193         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions.rst:
5194         New file.
5195         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/aarch64-function-attributes.rst:
5196         New file.
5197         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/amd-gcn-function-attributes.rst:
5198         New file.
5199         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arc-function-attributes.rst:
5200         New file.
5201         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arm-function-attributes.rst:
5202         New file.
5203         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/avr-function-attributes.rst:
5204         New file.
5205         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/blackfin-function-attributes.rst:
5206         New file.
5207         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/bpf-function-attributes.rst:
5208         New file.
5209         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/c-sky-function-attributes.rst:
5210         New file.
5211         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/common-function-attributes.rst:
5212         New file.
5213         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/epiphany-function-attributes.rst:
5214         New file.
5215         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/h8-300-function-attributes.rst:
5216         New file.
5217         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/ia-64-function-attributes.rst:
5218         New file.
5219         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32c-function-attributes.rst:
5220         New file.
5221         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32r-d-function-attributes.rst:
5222         New file.
5223         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m68k-function-attributes.rst:
5224         New file.
5225         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mcore-function-attributes.rst:
5226         New file.
5227         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mep-function-attributes.rst:
5228         New file.
5229         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microblaze-function-attributes.rst:
5230         New file.
5231         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microsoft-windows-function-attributes.rst:
5232         New file.
5233         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mips-function-attributes.rst:
5234         New file.
5235         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/msp430-function-attributes.rst:
5236         New file.
5237         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nds32-function-attributes.rst:
5238         New file.
5239         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nios-ii-function-attributes.rst:
5240         New file.
5241         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nvidia-ptx-function-attributes.rst:
5242         New file.
5243         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/powerpc-function-attributes.rst:
5244         New file.
5245         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/risc-v-function-attributes.rst:
5246         New file.
5247         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rl78-function-attributes.rst:
5248         New file.
5249         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rx-function-attributes.rst:
5250         New file.
5251         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/s-390-function-attributes.rst:
5252         New file.
5253         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/sh-function-attributes.rst:
5254         New file.
5255         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/symbian-os-function-attributes.rst:
5256         New file.
5257         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/v850-function-attributes.rst:
5258         New file.
5259         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/visium-function-attributes.rst:
5260         New file.
5261         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/x86-function-attributes.rst:
5262         New file.
5263         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/xstormy16-function-attributes.rst:
5264         New file.
5265         * doc/gcc/extensions-to-the-c-language-family/designated-initializers.rst: New file.
5266         * doc/gcc/extensions-to-the-c-language-family/determining-the-alignment-of-functions-types-or-variables.rst:
5267         New file.
5268         * doc/gcc/extensions-to-the-c-language-family/dollar-signs-in-identifier-names.rst:
5269         New file.
5270         * doc/gcc/extensions-to-the-c-language-family/double-word-integers.rst: New file.
5271         * doc/gcc/extensions-to-the-c-language-family/enumerator-attributes.rst: New file.
5272         * doc/gcc/extensions-to-the-c-language-family/fixed-point-types.rst: New file.
5273         * doc/gcc/extensions-to-the-c-language-family/format-checks-specific-to-particular-target-machines.rst:
5274         New file.
5275         * doc/gcc/extensions-to-the-c-language-family/function-names-as-strings.rst: New file.
5276         * doc/gcc/extensions-to-the-c-language-family/getting-the-return-or-frame-address-of-a-function.rst:
5277         New file.
5278         * doc/gcc/extensions-to-the-c-language-family/half-precision-floating-point.rst: New file.
5279         * doc/gcc/extensions-to-the-c-language-family/hex-floats.rst: New file.
5280         * doc/gcc/extensions-to-the-c-language-family/how-to-use-inline-assembly-language-in-c-code.rst:
5281         New file.
5282         * doc/gcc/extensions-to-the-c-language-family/incomplete-enum-types.rst: New file.
5283         * doc/gcc/extensions-to-the-c-language-family/label-attributes.rst: New file.
5284         * doc/gcc/extensions-to-the-c-language-family/labels-as-values.rst: New file.
5285         * doc/gcc/extensions-to-the-c-language-family/legacy-sync-built-in-functions-for-atomic-memory-access.rst:
5286         New file.
5287         * doc/gcc/extensions-to-the-c-language-family/locally-declared-labels.rst: New file.
5288         * doc/gcc/extensions-to-the-c-language-family/macros-with-a-variable-number-of-arguments.rst:
5289         New file.
5290         * doc/gcc/extensions-to-the-c-language-family/mixed-declarations-labels-and-code.rst:
5291         New file.
5292         * doc/gcc/extensions-to-the-c-language-family/named-address-spaces.rst: New file.
5293         * doc/gcc/extensions-to-the-c-language-family/nested-functions.rst: New file.
5294         * doc/gcc/extensions-to-the-c-language-family/non-constant-initializers.rst: New file.
5295         * doc/gcc/extensions-to-the-c-language-family/non-lvalue-arrays-may-have-subscripts.rst:
5296         New file.
5297         * doc/gcc/extensions-to-the-c-language-family/nonlocal-gotos.rst: New file.
5298         * doc/gcc/extensions-to-the-c-language-family/object-size-checking-built-in-functions.rst:
5299         New file.
5300         * doc/gcc/extensions-to-the-c-language-family/other-built-in-functions-provided-by-gcc.rst:
5301         New file.
5302         * doc/gcc/extensions-to-the-c-language-family/pointer-arguments-in-variadic-functions.rst:
5303         New file.
5304         * doc/gcc/extensions-to-the-c-language-family/pointers-to-arrays-with-qualifiers-work-as-expected.rst:
5305         New file.
5306         * doc/gcc/extensions-to-the-c-language-family/pragmas-accepted-by-gcc.rst: New file.
5307         * doc/gcc/extensions-to-the-c-language-family/prototypes-and-old-style-function-definitions.rst:
5308         New file.
5309         * doc/gcc/extensions-to-the-c-language-family/referring-to-a-type-with-typeof.rst: New file.
5310         * doc/gcc/extensions-to-the-c-language-family/slightly-looser-rules-for-escaped-newlines.rst:
5311         New file.
5312         * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-types.rst: New file.
5313         * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-variables.rst:
5314         New file.
5315         * doc/gcc/extensions-to-the-c-language-family/statement-attributes.rst: New file.
5316         * doc/gcc/extensions-to-the-c-language-family/statements-and-declarations-in-expressions.rst:
5317         New file.
5318         * doc/gcc/extensions-to-the-c-language-family/structures-with-no-members.rst: New file.
5319         * doc/gcc/extensions-to-the-c-language-family/support-for-offsetof.rst: New file.
5320         * doc/gcc/extensions-to-the-c-language-family/target-builtins.rst: New file.
5321         * doc/gcc/extensions-to-the-c-language-family/target-builtins/aarch64-built-in-functions.rst:
5322         New file.
5323         * doc/gcc/extensions-to-the-c-language-family/target-builtins/alpha-built-in-functions.rst:
5324         New file.
5325         * doc/gcc/extensions-to-the-c-language-family/target-builtins/altera-nios-ii-built-in-functions.rst:
5326         New file.
5327         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-built-in-functions.rst:
5328         New file.
5329         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-simd-built-in-functions.rst:
5330         New file.
5331         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-armv8-m-security-extensions.rst:
5332         New file.
5333         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-c-language-extensions-acle.rst:
5334         New file.
5335         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-floating-point-status-and-control-intrinsics.rst:
5336         New file.
5337         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-iwmmxt-built-in-functions.rst:
5338         New file.
5339         * doc/gcc/extensions-to-the-c-language-family/target-builtins/avr-built-in-functions.rst:
5340         New file.
5341         * doc/gcc/extensions-to-the-c-language-family/target-builtins/basic-powerpc-built-in-functions.rst:
5342         New file.
5343         * doc/gcc/extensions-to-the-c-language-family/target-builtins/blackfin-built-in-functions.rst:
5344         New file.
5345         * doc/gcc/extensions-to-the-c-language-family/target-builtins/bpf-built-in-functions.rst:
5346         New file.
5347         * doc/gcc/extensions-to-the-c-language-family/target-builtins/fr-v-built-in-functions.rst:
5348         New file.
5349         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-dsp-built-in-functions.rst:
5350         New file.
5351         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-loongson-built-in-functions.rst:
5352         New file.
5353         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-paired-single-support.rst:
5354         New file.
5355         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-simd-architecture-msa-support.rst:
5356         New file.
5357         * doc/gcc/extensions-to-the-c-language-family/target-builtins/msp430-built-in-functions.rst:
5358         New file.
5359         * doc/gcc/extensions-to-the-c-language-family/target-builtins/nds32-built-in-functions.rst:
5360         New file.
5361         * doc/gcc/extensions-to-the-c-language-family/target-builtins/other-mips-built-in-functions.rst:
5362         New file.
5363         * doc/gcc/extensions-to-the-c-language-family/target-builtins/picochip-built-in-functions.rst:
5364         New file.
5365         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-altivec-vsx-built-in-functions.rst:
5366         New file.
5367         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-atomic-memory-operation-functions.rst:
5368         New file.
5369         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-hardware-transactional-memory-built-in-functions.rst:
5370         New file.
5371         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-matrix-multiply-assist-built-in-functions.rst:
5372         New file.
5373         * doc/gcc/extensions-to-the-c-language-family/target-builtins/pru-built-in-functions.rst:
5374         New file.
5375         * doc/gcc/extensions-to-the-c-language-family/target-builtins/risc-v-built-in-functions.rst:
5376         New file.
5377         * doc/gcc/extensions-to-the-c-language-family/target-builtins/rx-built-in-functions.rst:
5378         New file.
5379         * doc/gcc/extensions-to-the-c-language-family/target-builtins/s-390-system-z-built-in-functions.rst:
5380         New file.
5381         * doc/gcc/extensions-to-the-c-language-family/target-builtins/sh-built-in-functions.rst:
5382         New file.
5383         * doc/gcc/extensions-to-the-c-language-family/target-builtins/sparc-vis-built-in-functions.rst:
5384         New file.
5385         * doc/gcc/extensions-to-the-c-language-family/target-builtins/ti-c6x-built-in-functions.rst:
5386         New file.
5387         * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-built-in-functions.rst:
5388         New file.
5389         * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-control-flow-protection-intrinsics.rst:
5390         New file.
5391         * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-transactional-memory-intrinsics.rst:
5392         New file.
5393         * doc/gcc/extensions-to-the-c-language-family/the-character-esc-in-constants.rst: New file.
5394         * doc/gcc/extensions-to-the-c-language-family/thread-local-storage.rst: New file.
5395         * doc/gcc/extensions-to-the-c-language-family/unnamed-structure-and-union-fields.rst:
5396         New file.
5397         * doc/gcc/extensions-to-the-c-language-family/using-vector-instructions-through-built-in-functions.rst:
5398         New file.
5399         * doc/gcc/extensions-to-the-c-language-family/when-is-a-volatile-object-accessed.rst:
5400         New file.
5401         * doc/gcc/extensions-to-the-c-language-family/x86-specific-memory-model-extensions-for-transactional-memory.rst:
5402         New file.
5403         * doc/gcc/funding.rst: New file.
5404         * doc/gcc/gcc-command-options.rst: New file.
5405         * doc/gcc/gcc-command-options/c++-modules.rst: New file.
5406         * doc/gcc/gcc-command-options/compiling-c++-programs.rst: New file.
5407         * doc/gcc/gcc-command-options/description.rst: New file.
5408         * doc/gcc/gcc-command-options/environment-variables-affecting-gcc.rst: New file.
5409         * doc/gcc/gcc-command-options/gcc-developer-options.rst: New file.
5410         * doc/gcc/gcc-command-options/machine-dependent-options.rst: New file.
5411         * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: New file.
5412         * doc/gcc/gcc-command-options/machine-dependent-options/adapteva-epiphany-options.rst:
5413         New file.
5414         * doc/gcc/gcc-command-options/machine-dependent-options/amd-gcn-options.rst: New file.
5415         * doc/gcc/gcc-command-options/machine-dependent-options/arc-options.rst: New file.
5416         * doc/gcc/gcc-command-options/machine-dependent-options/arm-options.rst: New file.
5417         * doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst: New file.
5418         * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst: New file.
5419         * doc/gcc/gcc-command-options/machine-dependent-options/blackfin-options.rst: New file.
5420         * doc/gcc/gcc-command-options/machine-dependent-options/c-sky-options.rst: New file.
5421         * doc/gcc/gcc-command-options/machine-dependent-options/c6x-options.rst: New file.
5422         * doc/gcc/gcc-command-options/machine-dependent-options/cris-options.rst: New file.
5423         * doc/gcc/gcc-command-options/machine-dependent-options/darwin-options.rst: New file.
5424         * doc/gcc/gcc-command-options/machine-dependent-options/dec-alpha-options.rst: New file.
5425         * doc/gcc/gcc-command-options/machine-dependent-options/ebpf-options.rst: New file.
5426         * doc/gcc/gcc-command-options/machine-dependent-options/fr30-options.rst: New file.
5427         * doc/gcc/gcc-command-options/machine-dependent-options/frv-options.rst: New file.
5428         * doc/gcc/gcc-command-options/machine-dependent-options/ft32-options.rst: New file.
5429         * doc/gcc/gcc-command-options/machine-dependent-options/gnu-linux-options.rst: New file.
5430         * doc/gcc/gcc-command-options/machine-dependent-options/h8-300-options.rst: New file.
5431         * doc/gcc/gcc-command-options/machine-dependent-options/hppa-options.rst: New file.
5432         * doc/gcc/gcc-command-options/machine-dependent-options/ia-64-options.rst: New file.
5433         * doc/gcc/gcc-command-options/machine-dependent-options/ibm-rs-6000-and-powerpc-options.rst:
5434         New file.
5435         * doc/gcc/gcc-command-options/machine-dependent-options/lm32-options.rst: New file.
5436         * doc/gcc/gcc-command-options/machine-dependent-options/loongarch-options.rst: New file.
5437         * doc/gcc/gcc-command-options/machine-dependent-options/m32c-options.rst: New file.
5438         * doc/gcc/gcc-command-options/machine-dependent-options/m32r-d-options.rst: New file.
5439         * doc/gcc/gcc-command-options/machine-dependent-options/m680x0-options.rst: New file.
5440         * doc/gcc/gcc-command-options/machine-dependent-options/mcore-options.rst: New file.
5441         * doc/gcc/gcc-command-options/machine-dependent-options/mep-options.rst: New file.
5442         * doc/gcc/gcc-command-options/machine-dependent-options/microblaze-options.rst: New file.
5443         * doc/gcc/gcc-command-options/machine-dependent-options/mips-options.rst: New file.
5444         * doc/gcc/gcc-command-options/machine-dependent-options/mmix-options.rst: New file.
5445         * doc/gcc/gcc-command-options/machine-dependent-options/mn10300-options.rst: New file.
5446         * doc/gcc/gcc-command-options/machine-dependent-options/moxie-options.rst: New file.
5447         * doc/gcc/gcc-command-options/machine-dependent-options/msp430-options.rst: New file.
5448         * doc/gcc/gcc-command-options/machine-dependent-options/nds32-options.rst: New file.
5449         * doc/gcc/gcc-command-options/machine-dependent-options/nios-ii-options.rst: New file.
5450         * doc/gcc/gcc-command-options/machine-dependent-options/nvidia-ptx-options.rst: New file.
5451         * doc/gcc/gcc-command-options/machine-dependent-options/openrisc-options.rst: New file.
5452         * doc/gcc/gcc-command-options/machine-dependent-options/options-for-system-v.rst: New file.
5453         * doc/gcc/gcc-command-options/machine-dependent-options/pdp-11-options.rst: New file.
5454         * doc/gcc/gcc-command-options/machine-dependent-options/picochip-options.rst: New file.
5455         * doc/gcc/gcc-command-options/machine-dependent-options/powerpc-options.rst: New file.
5456         * doc/gcc/gcc-command-options/machine-dependent-options/pru-options.rst: New file.
5457         * doc/gcc/gcc-command-options/machine-dependent-options/risc-v-options.rst: New file.
5458         * doc/gcc/gcc-command-options/machine-dependent-options/rl78-options.rst: New file.
5459         * doc/gcc/gcc-command-options/machine-dependent-options/rx-options.rst: New file.
5460         * doc/gcc/gcc-command-options/machine-dependent-options/s-390-and-zseries-options.rst:
5461         New file.
5462         * doc/gcc/gcc-command-options/machine-dependent-options/score-options.rst: New file.
5463         * doc/gcc/gcc-command-options/machine-dependent-options/sh-options.rst: New file.
5464         * doc/gcc/gcc-command-options/machine-dependent-options/solaris-2-options.rst: New file.
5465         * doc/gcc/gcc-command-options/machine-dependent-options/sparc-options.rst: New file.
5466         * doc/gcc/gcc-command-options/machine-dependent-options/v850-options.rst: New file.
5467         * doc/gcc/gcc-command-options/machine-dependent-options/vax-options.rst: New file.
5468         * doc/gcc/gcc-command-options/machine-dependent-options/visium-options.rst: New file.
5469         * doc/gcc/gcc-command-options/machine-dependent-options/vms-options.rst: New file.
5470         * doc/gcc/gcc-command-options/machine-dependent-options/vxworks-options.rst: New file.
5471         * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: New file.
5472         * doc/gcc/gcc-command-options/machine-dependent-options/x86-windows-options.rst: New file.
5473         * doc/gcc/gcc-command-options/machine-dependent-options/xstormy16-options.rst: New file.
5474         * doc/gcc/gcc-command-options/machine-dependent-options/xtensa-options.rst: New file.
5475         * doc/gcc/gcc-command-options/machine-dependent-options/zseries-options.rst: New file.
5476         * doc/gcc/gcc-command-options/option-summary.rst: New file.
5477         * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst: New file.
5478         * doc/gcc/gcc-command-options/options-controlling-c-dialect.rst: New file.
5479         * doc/gcc/gcc-command-options/options-controlling-objective-c-and-objective-c++-dialects.rst:
5480         New file.
5481         * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst: New file.
5482         * doc/gcc/gcc-command-options/options-controlling-the-preprocessor.rst: New file.
5483         * doc/gcc/gcc-command-options/options-for-code-generation-conventions.rst: New file.
5484         * doc/gcc/gcc-command-options/options-for-debugging-your-program.rst: New file.
5485         * doc/gcc/gcc-command-options/options-for-directory-search.rst: New file.
5486         * doc/gcc/gcc-command-options/options-for-linking.rst: New file.
5487         * doc/gcc/gcc-command-options/options-that-control-optimization.rst: New file.
5488         * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: New file.
5489         * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
5490         New file.
5491         * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst: New file.
5492         * doc/gcc/gcc-command-options/passing-options-to-the-assembler.rst: New file.
5493         * doc/gcc/gcc-command-options/program-instrumentation-options.rst: New file.
5494         * doc/gcc/gcc-command-options/specifying-subprocesses-and-the-switches-to-pass-to-them.rst:
5495         New file.
5496         * doc/gcc/gcc-command-options/using-precompiled-headers.rst: New file.
5497         * doc/gcc/gcc.rst: New file.
5498         * doc/gcc/gcov-dump.rst: New file.
5499         * doc/gcc/gcov-tool.rst: New file.
5500         * doc/gcc/gcov.rst: New file.
5501         * doc/gcc/gcov/brief-description-of-gcov-data-files.rst: New file.
5502         * doc/gcc/gcov/data-file-relocation-to-support-cross-profiling.rst: New file.
5503         * doc/gcc/gcov/introduction-to-gcov.rst: New file.
5504         * doc/gcc/gcov/invoking-gcov.rst: New file.
5505         * doc/gcc/gcov/profiling-and-test-coverage-in-freestanding-environments.rst: New file.
5506         * doc/gcc/gcov/using-gcov-with-gcc-optimization.rst: New file.
5507         * doc/gcc/general-public-license-3.rst: New file.
5508         * doc/gcc/gnu-free-documentation-license.rst: New file.
5509         * doc/gcc/gnu-objective-c-features.rst: New file.
5510         * doc/gcc/gnu-objective-c-features/compatibilityalias.rst: New file.
5511         * doc/gcc/gnu-objective-c-features/constant-string-objects.rst: New file.
5512         * doc/gcc/gnu-objective-c-features/exceptions.rst: New file.
5513         * doc/gcc/gnu-objective-c-features/fast-enumeration.rst: New file.
5514         * doc/gcc/gnu-objective-c-features/garbage-collection.rst: New file.
5515         * doc/gcc/gnu-objective-c-features/gnu-objective-c-runtime-api.rst: New file.
5516         * doc/gcc/gnu-objective-c-features/load-executing-code-before-main.rst: New file.
5517         * doc/gcc/gnu-objective-c-features/messaging-with-the-gnu-objective-c-runtime.rst: New file.
5518         * doc/gcc/gnu-objective-c-features/synchronization.rst: New file.
5519         * doc/gcc/gnu-objective-c-features/type-encoding.rst: New file.
5520         * doc/gcc/gnu.rst: New file.
5521         * doc/gcc/have-you-found-a-bug.rst: New file.
5522         * doc/gcc/how-and-where-to-report-bugs.rst: New file.
5523         * doc/gcc/how-to-get-help-with-gcc.rst: New file.
5524         * doc/gcc/index.rst: New file.
5525         * doc/gcc/indices-and-tables.rst: New file.
5526         * doc/gcc/known-causes-of-trouble-with-gcc.rst: New file.
5527         * doc/gcc/known-causes-of-trouble-with-gcc/actual-bugs-we-havent-fixed-yet.rst: New file.
5528         * doc/gcc/known-causes-of-trouble-with-gcc/certain-changes-we-dont-want-to-make.rst:
5529         New file.
5530         * doc/gcc/known-causes-of-trouble-with-gcc/common-misunderstandings-with-gnu-c.rst:
5531         New file.
5532         * doc/gcc/known-causes-of-trouble-with-gcc/disappointments-and-misunderstandings.rst:
5533         New file.
5534         * doc/gcc/known-causes-of-trouble-with-gcc/fixed-header-files.rst: New file.
5535         * doc/gcc/known-causes-of-trouble-with-gcc/incompatibilities-of-gcc.rst: New file.
5536         * doc/gcc/known-causes-of-trouble-with-gcc/interoperation.rst: New file.
5537         * doc/gcc/known-causes-of-trouble-with-gcc/standard-libraries.rst: New file.
5538         * doc/gcc/known-causes-of-trouble-with-gcc/warning-messages-and-error-messages.rst:
5539         New file.
5540         * doc/gcc/language-standards-supported-by-gcc.rst: New file.
5541         * doc/gcc/language-standards-supported-by-gcc/c++-language.rst: New file.
5542         * doc/gcc/language-standards-supported-by-gcc/c-language.rst: New file.
5543         * doc/gcc/language-standards-supported-by-gcc/d-language.rst: New file.
5544         * doc/gcc/language-standards-supported-by-gcc/go-language.rst: New file.
5545         * doc/gcc/language-standards-supported-by-gcc/objective-c-and-objective-c++-languages.rst:
5546         New file.
5547         * doc/gcc/language-standards-supported-by-gcc/references-for-other-languages.rst: New file.
5548         * doc/gcc/lto-dump.rst: New file.
5549         * doc/gcc/programming-languages-supported-by-gcc.rst: New file.
5550         * doc/gcc/reporting-bugs.rst: New file.
5551         * doc/gccint/analysis-and-optimization-of-gimple-tuples.rst: New file.
5552         * doc/gccint/analysis-and-optimization-of-gimple-tuples/alias-analysis.rst: New file.
5553         * doc/gccint/analysis-and-optimization-of-gimple-tuples/annotations.rst: New file.
5554         * doc/gccint/analysis-and-optimization-of-gimple-tuples/memory-model.rst: New file.
5555         * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst: New file.
5556         * doc/gccint/analysis-and-optimization-of-gimple-tuples/static-single-assignment.rst:
5557         New file.
5558         * doc/gccint/analysis-and-representation-of-loops.rst: New file.
5559         * doc/gccint/analysis-and-representation-of-loops/data-dependency-analysis.rst: New file.
5560         * doc/gccint/analysis-and-representation-of-loops/iv-analysis-on-rtl.rst: New file.
5561         * doc/gccint/analysis-and-representation-of-loops/loop-closed-ssa-form.rst: New file.
5562         * doc/gccint/analysis-and-representation-of-loops/loop-manipulation.rst: New file.
5563         * doc/gccint/analysis-and-representation-of-loops/loop-querying.rst: New file.
5564         * doc/gccint/analysis-and-representation-of-loops/loop-representation.rst: New file.
5565         * doc/gccint/analysis-and-representation-of-loops/number-of-iterations-analysis.rst:
5566         New file.
5567         * doc/gccint/analysis-and-representation-of-loops/scalar-evolutions.rst: New file.
5568         * doc/gccint/analyzer-internals.rst: New file.
5569         * doc/gccint/collect2.rst: New file.
5570         * doc/gccint/conf.py: New file.
5571         * doc/gccint/contributing-to-gcc-development.rst: New file.
5572         * doc/gccint/contributors-to-gcc.rst: New file.
5573         * doc/gccint/control-flow-graph.rst: New file.
5574         * doc/gccint/control-flow-graph/basic-blocks.rst: New file.
5575         * doc/gccint/control-flow-graph/edges.rst: New file.
5576         * doc/gccint/control-flow-graph/liveness-information.rst: New file.
5577         * doc/gccint/control-flow-graph/maintaining-the-cfg.rst: New file.
5578         * doc/gccint/control-flow-graph/profile-information.rst: New file.
5579         * doc/gccint/copyright.rst: New file.
5580         * doc/gccint/debugging-the-analyzer.rst: New file.
5581         * doc/gccint/funding.rst: New file.
5582         * doc/gccint/gcc-and-portability.rst: New file.
5583         * doc/gccint/general-public-license-3.rst: New file.
5584         * doc/gccint/generic.rst: New file.
5585         * doc/gccint/generic/attributes-in-trees.rst: New file.
5586         * doc/gccint/generic/c-and-c++-trees.rst: New file.
5587         * doc/gccint/generic/declarations.rst: New file.
5588         * doc/gccint/generic/deficiencies.rst: New file.
5589         * doc/gccint/generic/expressions.rst: New file.
5590         * doc/gccint/generic/functions.rst: New file.
5591         * doc/gccint/generic/language-dependent-trees.rst: New file.
5592         * doc/gccint/generic/overview.rst: New file.
5593         * doc/gccint/generic/statements.rst: New file.
5594         * doc/gccint/generic/types.rst: New file.
5595         * doc/gccint/gimple-api.rst: New file.
5596         * doc/gccint/gimple.rst: New file.
5597         * doc/gccint/gimple/adding-a-new-gimple-statement-code.rst: New file.
5598         * doc/gccint/gimple/class-hierarchy-of-gimple-statements.rst: New file.
5599         * doc/gccint/gimple/exception-handling.rst: New file.
5600         * doc/gccint/gimple/gimple-instruction-set.rst: New file.
5601         * doc/gccint/gimple/gimple-sequences.rst: New file.
5602         * doc/gccint/gimple/manipulating-gimple-statements.rst: New file.
5603         * doc/gccint/gimple/operands.rst: New file.
5604         * doc/gccint/gimple/sequence-iterators.rst: New file.
5605         * doc/gccint/gimple/statement-and-operand-traversals.rst: New file.
5606         * doc/gccint/gimple/temporaries.rst: New file.
5607         * doc/gccint/gimple/tuple-representation.rst: New file.
5608         * doc/gccint/gimple/tuple-specific-accessors.rst: New file.
5609         * doc/gccint/gimple/tuple-specific-accessors/gimpleasm.rst: New file.
5610         * doc/gccint/gimple/tuple-specific-accessors/gimpleassign.rst: New file.
5611         * doc/gccint/gimple/tuple-specific-accessors/gimplebind.rst: New file.
5612         * doc/gccint/gimple/tuple-specific-accessors/gimplecall.rst: New file.
5613         * doc/gccint/gimple/tuple-specific-accessors/gimplecatch.rst: New file.
5614         * doc/gccint/gimple/tuple-specific-accessors/gimplecond.rst: New file.
5615         * doc/gccint/gimple/tuple-specific-accessors/gimpledebug.rst: New file.
5616         * doc/gccint/gimple/tuple-specific-accessors/gimpleehfilter.rst: New file.
5617         * doc/gccint/gimple/tuple-specific-accessors/gimplegoto.rst: New file.
5618         * doc/gccint/gimple/tuple-specific-accessors/gimplelabel.rst: New file.
5619         * doc/gccint/gimple/tuple-specific-accessors/gimplenop.rst: New file.
5620         * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicload.rst: New file.
5621         * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicstore.rst: New file.
5622         * doc/gccint/gimple/tuple-specific-accessors/gimpleompcontinue.rst: New file.
5623         * doc/gccint/gimple/tuple-specific-accessors/gimpleompcritical.rst: New file.
5624         * doc/gccint/gimple/tuple-specific-accessors/gimpleompfor.rst: New file.
5625         * doc/gccint/gimple/tuple-specific-accessors/gimpleompmaster.rst: New file.
5626         * doc/gccint/gimple/tuple-specific-accessors/gimpleompordered.rst: New file.
5627         * doc/gccint/gimple/tuple-specific-accessors/gimpleompparallel.rst: New file.
5628         * doc/gccint/gimple/tuple-specific-accessors/gimpleompreturn.rst: New file.
5629         * doc/gccint/gimple/tuple-specific-accessors/gimpleompsection.rst: New file.
5630         * doc/gccint/gimple/tuple-specific-accessors/gimpleompsections.rst: New file.
5631         * doc/gccint/gimple/tuple-specific-accessors/gimpleompsingle.rst: New file.
5632         * doc/gccint/gimple/tuple-specific-accessors/gimplephi.rst: New file.
5633         * doc/gccint/gimple/tuple-specific-accessors/gimpleresx.rst: New file.
5634         * doc/gccint/gimple/tuple-specific-accessors/gimplereturn.rst: New file.
5635         * doc/gccint/gimple/tuple-specific-accessors/gimpleswitch.rst: New file.
5636         * doc/gccint/gimple/tuple-specific-accessors/gimpletry.rst: New file.
5637         * doc/gccint/gimple/tuple-specific-accessors/gimplewithcleanupexpr.rst: New file.
5638         * doc/gccint/gnu-free-documentation-license.rst: New file.
5639         * doc/gccint/guidelines-for-diagnostics.rst: New file.
5640         * doc/gccint/guidelines-for-options.rst: New file.
5641         * doc/gccint/host-common.rst: New file.
5642         * doc/gccint/host-configuration.rst: New file.
5643         * doc/gccint/host-filesystem.rst: New file.
5644         * doc/gccint/host-makefile-fragments.rst: New file.
5645         * doc/gccint/host-misc.rst: New file.
5646         * doc/gccint/index.rst: New file.
5647         * doc/gccint/indices-and-tables.rst: New file.
5648         * doc/gccint/interfacing-to-gcc-output.rst: New file.
5649         * doc/gccint/introduction.rst: New file.
5650         * doc/gccint/language-front-ends-in-gcc.rst: New file.
5651         * doc/gccint/link-time-optimization.rst: New file.
5652         * doc/gccint/link-time-optimization/design-overview.rst: New file.
5653         * doc/gccint/link-time-optimization/internal-flags-controlling-lto1.rst: New file.
5654         * doc/gccint/link-time-optimization/lto-file-sections.rst: New file.
5655         * doc/gccint/link-time-optimization/using-summary-information-in-ipa-passes.rst: New file.
5656         * doc/gccint/link-time-optimization/whole-program-assumptions-linker-plugin-and-symbol-visibilities.rst:
5657         New file.
5658         * doc/gccint/machine-descriptions.rst: New file.
5659         * doc/gccint/machine-descriptions/c-statements-for-assembler-output.rst: New file.
5660         * doc/gccint/machine-descriptions/canonicalization-of-instructions.rst: New file.
5661         * doc/gccint/machine-descriptions/conditional-execution.rst: New file.
5662         * doc/gccint/machine-descriptions/constant-definitions.rst: New file.
5663         * doc/gccint/machine-descriptions/defining-how-to-split-instructions.rst: New file.
5664         * doc/gccint/machine-descriptions/defining-jump-instruction-patterns.rst: New file.
5665         * doc/gccint/machine-descriptions/defining-looping-instruction-patterns.rst: New file.
5666         * doc/gccint/machine-descriptions/defining-rtl-sequences-for-code-generation.rst: New file.
5667         * doc/gccint/machine-descriptions/everything-about-instruction-patterns.rst: New file.
5668         * doc/gccint/machine-descriptions/example-of-defineinsn.rst: New file.
5669         * doc/gccint/machine-descriptions/including-patterns-in-machine-descriptions.rst: New file.
5670         * doc/gccint/machine-descriptions/instruction-attributes.rst: New file.
5671         * doc/gccint/machine-descriptions/interdependence-of-patterns.rst: New file.
5672         * doc/gccint/machine-descriptions/iterators.rst: New file.
5673         * doc/gccint/machine-descriptions/machine-specific-peephole-optimizers.rst: New file.
5674         * doc/gccint/machine-descriptions/operand-constraints.rst: New file.
5675         * doc/gccint/machine-descriptions/output-templates-and-operand-substitution.rst: New file.
5676         * doc/gccint/machine-descriptions/overview-of-how-the-machine-description-is-used.rst:
5677         New file.
5678         * doc/gccint/machine-descriptions/predicates.rst: New file.
5679         * doc/gccint/machine-descriptions/rtl-template.rst: New file.
5680         * doc/gccint/machine-descriptions/rtl-templates-transformations.rst: New file.
5681         * doc/gccint/machine-descriptions/standard-pattern-names-for-generation.rst: New file.
5682         * doc/gccint/machine-descriptions/when-the-order-of-patterns-matters.rst: New file.
5683         * doc/gccint/makefile-fragments.rst: New file.
5684         * doc/gccint/match-and-simplify.rst: New file.
5685         * doc/gccint/memory-management-and-type-information.rst: New file.
5686         * doc/gccint/memory-management-and-type-information/how-to-invoke-the-garbage-collector.rst:
5687         New file.
5688         * doc/gccint/memory-management-and-type-information/marking-roots-for-the-garbage-collector.rst:
5689         New file.
5690         * doc/gccint/memory-management-and-type-information/source-files-containing-type-information.rst:
5691         New file.
5692         * doc/gccint/memory-management-and-type-information/support-for-inheritance.rst: New file.
5693         * doc/gccint/memory-management-and-type-information/support-for-user-provided-gc-marking-routines.rst:
5694         New file.
5695         * doc/gccint/memory-management-and-type-information/the-inside-of-a-gty.rst: New file.
5696         * doc/gccint/memory-management-and-type-information/troubleshooting-the-garbage-collector.rst:
5697         New file.
5698         * doc/gccint/option-file-format.rst: New file.
5699         * doc/gccint/option-properties.rst: New file.
5700         * doc/gccint/option-specification-files.rst: New file.
5701         * doc/gccint/passes-and-files-of-the-compiler.rst: New file.
5702         * doc/gccint/passes-and-files-of-the-compiler/gimplification-pass.rst: New file.
5703         * doc/gccint/passes-and-files-of-the-compiler/inter-procedural-optimization-passes.rst:
5704         New file.
5705         * doc/gccint/passes-and-files-of-the-compiler/optimization-info.rst: New file.
5706         * doc/gccint/passes-and-files-of-the-compiler/parsing-pass.rst: New file.
5707         * doc/gccint/passes-and-files-of-the-compiler/pass-manager.rst: New file.
5708         * doc/gccint/passes-and-files-of-the-compiler/rtl-passes.rst: New file.
5709         * doc/gccint/passes-and-files-of-the-compiler/tree-ssa-passes.rst: New file.
5710         * doc/gccint/plugins.rst: New file.
5711         * doc/gccint/plugins/building-gcc-plugins.rst: New file.
5712         * doc/gccint/plugins/controlling-which-passes-are-being-run.rst: New file.
5713         * doc/gccint/plugins/giving-information-about-a-plugin.rst: New file.
5714         * doc/gccint/plugins/interacting-with-the-gcc-garbage-collector.rst: New file.
5715         * doc/gccint/plugins/interacting-with-the-pass-manager.rst: New file.
5716         * doc/gccint/plugins/keeping-track-of-available-passes.rst: New file.
5717         * doc/gccint/plugins/loading-plugins.rst: New file.
5718         * doc/gccint/plugins/plugin-api.rst: New file.
5719         * doc/gccint/plugins/recording-information-about-pass-execution.rst: New file.
5720         * doc/gccint/plugins/registering-custom-attributes-or-pragmas.rst: New file.
5721         * doc/gccint/rtl-representation.rst: New file.
5722         * doc/gccint/rtl-representation/access-to-operands.rst: New file.
5723         * doc/gccint/rtl-representation/access-to-special-operands.rst: New file.
5724         * doc/gccint/rtl-representation/assembler-instructions-as-expressions.rst: New file.
5725         * doc/gccint/rtl-representation/bit-fields.rst: New file.
5726         * doc/gccint/rtl-representation/comparison-operations.rst: New file.
5727         * doc/gccint/rtl-representation/constant-expression-types.rst: New file.
5728         * doc/gccint/rtl-representation/conversions.rst: New file.
5729         * doc/gccint/rtl-representation/declarations.rst: New file.
5730         * doc/gccint/rtl-representation/embedded-side-effects-on-addresses.rst: New file.
5731         * doc/gccint/rtl-representation/flags-in-an-rtl-expression.rst: New file.
5732         * doc/gccint/rtl-representation/insns.rst: New file.
5733         * doc/gccint/rtl-representation/machine-modes.rst: New file.
5734         * doc/gccint/rtl-representation/on-the-side-ssa-form-for-rtl.rst: New file.
5735         * doc/gccint/rtl-representation/reading-rtl.rst: New file.
5736         * doc/gccint/rtl-representation/registers-and-memory.rst: New file.
5737         * doc/gccint/rtl-representation/rtl-classes-and-formats.rst: New file.
5738         * doc/gccint/rtl-representation/rtl-expressions-for-arithmetic.rst: New file.
5739         * doc/gccint/rtl-representation/rtl-object-types.rst: New file.
5740         * doc/gccint/rtl-representation/rtl-representation-of-function-call-insns.rst: New file.
5741         * doc/gccint/rtl-representation/side-effect-expressions.rst: New file.
5742         * doc/gccint/rtl-representation/structure-sharing-assumptions.rst: New file.
5743         * doc/gccint/rtl-representation/variable-location-debug-information-in-rtl.rst: New file.
5744         * doc/gccint/rtl-representation/vector-operations.rst: New file.
5745         * doc/gccint/sizes-and-offsets-as-runtime-invariants.rst: New file.
5746         * doc/gccint/sizes-and-offsets-as-runtime-invariants/alignment-of-polyints.rst: New file.
5747         * doc/gccint/sizes-and-offsets-as-runtime-invariants/arithmetic-on-polyints.rst: New file.
5748         * doc/gccint/sizes-and-offsets-as-runtime-invariants/comparisons-involving-polyint.rst:
5749         New file.
5750         * doc/gccint/sizes-and-offsets-as-runtime-invariants/computing-bounds-on-polyints.rst:
5751         New file.
5752         * doc/gccint/sizes-and-offsets-as-runtime-invariants/consequences-of-using-polyint.rst:
5753         New file.
5754         * doc/gccint/sizes-and-offsets-as-runtime-invariants/converting-polyints.rst: New file.
5755         * doc/gccint/sizes-and-offsets-as-runtime-invariants/guidelines-for-using-polyint.rst:
5756         New file.
5757         * doc/gccint/sizes-and-offsets-as-runtime-invariants/miscellaneous-polyint-routines.rst:
5758         New file.
5759         * doc/gccint/sizes-and-offsets-as-runtime-invariants/overview-of-polyint.rst: New file.
5760         * doc/gccint/source-tree-structure-and-build-system.rst: New file.
5761         * doc/gccint/source-tree-structure-and-build-system/configure-terms-and-history.rst:
5762         New file.
5763         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory.rst: New file.
5764         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-language-front-end.rst:
5765         New file.
5766         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-target-back-end.rst:
5767         New file.
5768         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/build-system-in-the-gcc-directory.rst:
5769         New file.
5770         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/building-documentation.rst:
5771         New file.
5772         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/configuration-in-the-gcc-directory.rst:
5773         New file.
5774         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/headers-installed-by-gcc.rst:
5775         New file.
5776         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/library-source-files-and-headers-under-the-gcc-directory.rst:
5777         New file.
5778         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/makefile-targets.rst:
5779         New file.
5780         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/subdirectories-of-gcc.rst:
5781         New file.
5782         * doc/gccint/source-tree-structure-and-build-system/top-level-source-directory.rst:
5783         New file.
5784         * doc/gccint/standard-header-file-directories.rst: New file.
5785         * doc/gccint/static-analyzer.rst: New file.
5786         * doc/gccint/target-macros.rst: New file.
5787         * doc/gccint/target-macros/adding-support-for-named-address-spaces.rst: New file.
5788         * doc/gccint/target-macros/addressing-modes.rst: New file.
5789         * doc/gccint/target-macros/adjusting-the-instruction-scheduler.rst: New file.
5790         * doc/gccint/target-macros/anchored-addresses.rst: New file.
5791         * doc/gccint/target-macros/c++-abi-parameters.rst: New file.
5792         * doc/gccint/target-macros/condition-code-status.rst: New file.
5793         * doc/gccint/target-macros/controlling-debugging-information-format.rst: New file.
5794         * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: New file.
5795         * doc/gccint/target-macros/cross-compilation-and-floating-point.rst: New file.
5796         * doc/gccint/target-macros/d-abi-parameters.rst: New file.
5797         * doc/gccint/target-macros/defining-coprocessor-specifics-for-mips-targets.rst: New file.
5798         * doc/gccint/target-macros/defining-data-structures-for-per-function-information.rst:
5799         New file.
5800         * doc/gccint/target-macros/defining-target-specific-uses-of-attribute.rst: New file.
5801         * doc/gccint/target-macros/defining-the-output-assembler-language.rst: New file.
5802         * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-alignment.rst:
5803         New file.
5804         * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
5805         New file.
5806         * doc/gccint/target-macros/defining-the-output-assembler-language/how-initialization-functions-are-handled.rst:
5807         New file.
5808         * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
5809         New file.
5810         * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
5811         New file.
5812         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
5813         New file.
5814         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
5815         New file.
5816         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-dispatch-tables.rst:
5817         New file.
5818         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-uninitialized-variables.rst:
5819         New file.
5820         * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
5821         New file.
5822         * doc/gccint/target-macros/describing-relative-costs-of-operations.rst: New file.
5823         * doc/gccint/target-macros/dividing-the-output-into-sections-texts-data.rst: New file.
5824         * doc/gccint/target-macros/emulating-tls.rst: New file.
5825         * doc/gccint/target-macros/implementing-the-varargs-macros.rst: New file.
5826         * doc/gccint/target-macros/implicit-calls-to-library-routines.rst: New file.
5827         * doc/gccint/target-macros/layout-of-source-language-data-types.rst: New file.
5828         * doc/gccint/target-macros/miscellaneous-parameters.rst: New file.
5829         * doc/gccint/target-macros/mode-switching-instructions.rst: New file.
5830         * doc/gccint/target-macros/parameters-for-precompiled-header-validity-checking.rst:
5831         New file.
5832         * doc/gccint/target-macros/position-independent-code.rst: New file.
5833         * doc/gccint/target-macros/register-classes.rst: New file.
5834         * doc/gccint/target-macros/register-usage.rst: New file.
5835         * doc/gccint/target-macros/run-time-target-specification.rst: New file.
5836         * doc/gccint/target-macros/stack-layout-and-calling-conventions.rst: New file.
5837         * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
5838         New file.
5839         * doc/gccint/target-macros/stack-layout-and-calling-conventions/caller-saves-register-allocation.rst:
5840         New file.
5841         * doc/gccint/target-macros/stack-layout-and-calling-conventions/eliminating-frame-pointer-and-arg-pointer.rst:
5842         New file.
5843         * doc/gccint/target-macros/stack-layout-and-calling-conventions/exception-handling-support.rst:
5844         New file.
5845         * doc/gccint/target-macros/stack-layout-and-calling-conventions/function-entry-and-exit.rst:
5846         New file.
5847         * doc/gccint/target-macros/stack-layout-and-calling-conventions/generating-code-for-profiling.rst:
5848         New file.
5849         * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-large-values-are-returned.rst:
5850         New file.
5851         * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-scalar-function-values-are-returned.rst:
5852         New file.
5853         * doc/gccint/target-macros/stack-layout-and-calling-conventions/miscellaneous-register-hooks.rst:
5854         New file.
5855         * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
5856         New file.
5857         * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
5858         New file.
5859         * doc/gccint/target-macros/stack-layout-and-calling-conventions/permitting-tail-calls.rst:
5860         New file.
5861         * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
5862         New file.
5863         * doc/gccint/target-macros/stack-layout-and-calling-conventions/shrink-wrapping-separate-components.rst:
5864         New file.
5865         * doc/gccint/target-macros/stack-layout-and-calling-conventions/specifying-how-stack-checking-is-done.rst:
5866         New file.
5867         * doc/gccint/target-macros/stack-layout-and-calling-conventions/stack-smashing-protection.rst:
5868         New file.
5869         * doc/gccint/target-macros/storage-layout.rst: New file.
5870         * doc/gccint/target-macros/support-for-nested-functions.rst: New file.
5871         * doc/gccint/target-macros/the-global-targetm-variable.rst: New file.
5872         * doc/gccint/target-makefile-fragments.rst: New file.
5873         * doc/gccint/testsuites.rst: New test.
5874         * doc/gccint/testsuites/ada-language-testsuites.rst: New test.
5875         * doc/gccint/testsuites/c-language-testsuites.rst: New test.
5876         * doc/gccint/testsuites/directives-used-within-dejagnu-tests.rst: New test.
5877         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/commands-for-use-in-dg-final.rst:
5878         New test.
5879         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/features-for-dg-add-options.rst:
5880         New test.
5881         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/keywords-describing-target-attributes.rst:
5882         New test.
5883         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/selecting-targets-to-which-a-test-applies.rst:
5884         New test.
5885         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/syntax-and-descriptions-of-test-directives.rst:
5886         New test.
5887         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/variants-of-dg-require-support.rst:
5888         New test.
5889         * doc/gccint/testsuites/idioms-used-in-testsuite-code.rst: New test.
5890         * doc/gccint/testsuites/support-for-testing-binary-compatibility.rst: New test.
5891         * doc/gccint/testsuites/support-for-testing-gcov.rst: New test.
5892         * doc/gccint/testsuites/support-for-testing-gimple-passes.rst: New test.
5893         * doc/gccint/testsuites/support-for-testing-link-time-optimizations.rst: New test.
5894         * doc/gccint/testsuites/support-for-testing-profile-directed-optimizations.rst: New test.
5895         * doc/gccint/testsuites/support-for-testing-rtl-passes.rst: New test.
5896         * doc/gccint/testsuites/support-for-torture-testing-using-multiple-options.rst: New test.
5897         * doc/gccint/the-gcc-low-level-runtime-library.rst: New file.
5898         * doc/gccint/the-gcc-low-level-runtime-library/language-independent-routines-for-exception-handling.rst:
5899         New file.
5900         * doc/gccint/the-gcc-low-level-runtime-library/miscellaneous-runtime-library-routines.rst:
5901         New file.
5902         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-decimal-floating-point-emulation.rst:
5903         New file.
5904         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-fixed-point-fractional-emulation.rst:
5905         New file.
5906         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-floating-point-emulation.rst:
5907         New file.
5908         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-integer-arithmetic.rst:
5909         New file.
5910         * doc/gccint/the-language.rst: New file.
5911         * doc/gccint/user-experience-guidelines.rst: New file.
5912         * doc/install/binaries.rst: New file.
5913         * doc/install/building.rst: New file.
5914         * doc/install/building/building-a-cross-compiler.rst: New file.
5915         * doc/install/building/building-a-native-compiler.rst: New file.
5916         * doc/install/building/building-in-parallel.rst: New file.
5917         * doc/install/building/building-the-ada-compiler.rst: New file.
5918         * doc/install/building/building-the-d-compiler.rst: New file.
5919         * doc/install/building/building-with-profile-feedback.rst: New file.
5920         * doc/install/conf.py: New file.
5921         * doc/install/configuration.rst: New file.
5922         * doc/install/copyright.rst: New file.
5923         * doc/install/downloading-gcc.rst: New file.
5924         * doc/install/final-installation.rst: New file.
5925         * doc/install/gnu-free-documentation-license.rst: New file.
5926         * doc/install/host-target-specific-installation-notes-for-gcc.rst: New file.
5927         * doc/install/how-can-you-run-the-testsuite-on-selected-tests.rst: New test.
5928         * doc/install/how-to-interpret-test-results.rst: New file.
5929         * doc/install/index.rst: New file.
5930         * doc/install/indices-and-tables.rst: New file.
5931         * doc/install/installing-gcc.rst: New file.
5932         * doc/install/passing-options-and-running-multiple-testsuites.rst: New test.
5933         * doc/install/prerequisites.rst: New file.
5934         * doc/install/submitting-test-results.rst: New file.
5935         * doc/install/testing.rst: New file.
5936
5937 2022-11-09  Aldy Hernandez  <aldyh@redhat.com>
5938
5939         * range-op-float.cc (class foperator_minus): New.
5940         (floating_op_table::floating_op_table): Add MINUS_EXPR entry.
5941
5942 2022-11-09  Aldy Hernandez  <aldyh@redhat.com>
5943
5944         * range-op-float.cc (range_operator_float::fold_range): Abstract
5945         out from foperator_plus.
5946         (range_operator_float::rv_fold): New.
5947         (foperator_plus::fold_range): Remove.
5948         (foperator_plus::rv_fold): New.
5949         (propagate_nans): Remove.
5950         * range-op.h (class range_operator_float): Add rv_fold.
5951
5952 2022-11-09  Aldy Hernandez  <aldyh@redhat.com>
5953
5954         * range-op-float.cc (foperator_plus::fold_range): Set NAN for
5955         addition of different signed infinities.
5956         (range_op_float_tests): New test.
5957
5958 2022-11-09  liuhongt  <hongtao.liu@intel.com>
5959
5960         PR target/107540
5961         * config/i386/sse.md (avx512f_movddup512<mask_name>): Change
5962         type from sselog to sselog1.
5963         (avx_movddup256<mask_name>): Ditto.
5964
5965 2022-11-08  David Faust  <david.faust@oracle.com>
5966
5967         * config/bpf/bpf.cc (struct core_walk_data): Add field `which'...
5968         (bpf_resolve_overloaded_builtin): ... set it here. Use values of enum
5969         bpf_builtins for error checks.
5970         (bpf_core_walk): Use values of enum bpf_builtins.
5971         (bpf_core_newdecl): Likewise.
5972         (bpf_expand_builtin): Likewise.
5973
5974 2022-11-08  Aldy Hernandez  <aldyh@redhat.com>
5975
5976         PR tree-optimization/24021
5977         * range-op-float.cc (propagate_nans): New.
5978         (frange_nextafter): New.
5979         (frange_arithmetic): New.
5980         (class foperator_plus): New.
5981         (floating_op_table::floating_op_table): Add PLUS_EXPR entry.
5982
5983 2022-11-08  Aldy Hernandez  <aldyh@redhat.com>
5984
5985         * real.cc (real_isdenormal): New.
5986         (encode_ieee_single): Call real_isdenormal.
5987         (encode_ieee_double): Same.
5988         (encode_ieee_extended): Same.
5989         (encode_ieee_quad): Same.
5990         (encode_ieee_half): Same.
5991         (encode_arm_bfloat_half): Same.
5992         * real.h (real_isdenormal): Add mode argument.  Rewrite for
5993         normalized values.
5994         * value-range.cc (frange::flush_denormals_to_zero): Pass mode to
5995         real_isdenormal.
5996
5997 2022-11-08  Richard Biener  <rguenther@suse.de>
5998
5999         PR tree-optimization/107389
6000         * gimple-low.cc (lower_builtin_assume_aligned): New.
6001         (lower_stmt): Call it.
6002
6003 2022-11-08  Aldy Hernandez  <aldyh@redhat.com>
6004
6005         * range-op.cc (operator_div::fold_range): Call
6006         update_known_bitmask.
6007         * tree-ssa-ccp.cc (bit_value_binop): Handle divisions by powers of
6008         2 as a right shift.
6009
6010 2022-11-08  Kwok Cheung Yeung  <kcy@codesourcery.com>
6011
6012         * config/gcn/gcn.cc (gcn_expand_builtin_1): Expand first argument
6013         of GCN_BUILTIN_LDEXPV to V64DFmode.
6014
6015 2022-11-08  Kwok Cheung Yeung  <kcy@codesourcery.com>
6016
6017         * config/gcn/gcn-builtins.def (FABSV, FLOORVF, FLOORV): New builtins.
6018         * config/gcn/gcn.cc (gcn_expand_builtin_1): Expand GCN_BUILTIN_FABSV,
6019         GCN_BUILTIN_FLOORVF and GCN_BUILTIN_FLOORV.
6020
6021 2022-11-08  Aldy Hernandez  <aldyh@redhat.com>
6022
6023         * range-op.cc (irange_to_masked_value): New.
6024         (update_known_bitmask): New.
6025         (operator_mult::fold_range): Call update_known_bitmask.
6026
6027 2022-11-08  Jakub Jelinek  <jakub@redhat.com>
6028
6029         PR tree-optimization/107547
6030         * tree-call-cdce.cc (get_no_error_domain): Handle CASE_FLT_FN_FLOATN_NX
6031         of BUILT_IN_{ACOS,ASIN,ACOSH,ATANH,LOG,LOG2,LOG10,LOG1P}.  Handle
6032         BUILT_IN_{COSH,SINH,EXP,EXPM1,EXP2}F{16,32,64,128}.
6033
6034 2022-11-08  Jakub Jelinek  <jakub@redhat.com>
6035
6036         PR target/107546
6037         * config/i386/predicates.md (vector_or_const_vector_operand): New
6038         predicate.
6039         * config/i386/sse.md (vec_cmp<mode><sseintvecmodelower>,
6040         vec_cmpv2div2di, vec_cmpu<mode><sseintvecmodelower>,
6041         vec_cmpuv2div2di): Use nonimmediate_or_const_vector_operand
6042         predicate instead of nonimmediate_operand and
6043         vector_or_const_vector_operand instead of vector_operand.
6044         * config/i386/i386-expand.cc (ix86_expand_int_sse_cmp): For
6045         LE/LEU or GE/GEU with CONST_VECTOR cop1 try to transform those
6046         into LE/LEU or GT/GTU with larger or smaller by one cop1 if
6047         there is no wrap-around.  Force CONST_VECTOR cop0 or cop1 into
6048         REG.  Formatting fix.
6049
6050 2022-11-08  Max Filippov  <jcmvbkbc@gmail.com>
6051
6052         PR rtl-optimization/107482
6053         * ira-color.cc (assign_hard_reg): Only call
6054         update_costs_from_copies when retry_p is false.
6055
6056 2022-11-08  konglin1  <lingling.kong@intel.com>
6057
6058         Revert:
6059         2022-11-07  konglin1  <lingling.kong@intel.com>
6060
6061         * config/i386/i386.opt:Add -mprefer-remote-atomic.
6062         * config/i386/sync.md (atomic_<plus_logic><mode>):
6063         New define_expand.
6064         (atomic_add<mode>): Rename to below one.
6065         (atomic_add<mode>_1): To this.
6066         (atomic_<logic><mode>): Ditto.
6067         (atomic_<logic><mode>_1): Ditto.
6068         * doc/invoke.texi: Add -mprefer-remote-atomic.
6069
6070 2022-11-08  Haochen Jiang  <haochen.jiang@intel.com>
6071
6072         * config/i386/i386-options.cc (m_CORE_ATOM): New.
6073         * config/i386/x86-tune.def
6074         (X86_TUNE_SCHEDULE): Initial tune for CORE_ATOM.
6075         (X86_TUNE_PARTIAL_REG_DEPENDENCY): Ditto.
6076         (X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY): Ditto.
6077         (X86_TUNE_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY): Ditto.
6078         (X86_TUNE_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY): Ditto.
6079         (X86_TUNE_DEST_FALSE_DEP_FOR_GLC): Ditto.
6080         (X86_TUNE_MEMORY_MISMATCH_STALL): Ditto.
6081         (X86_TUNE_USE_LEAVE): Ditto.
6082         (X86_TUNE_PUSH_MEMORY): Ditto.
6083         (X86_TUNE_USE_INCDEC): Ditto.
6084         (X86_TUNE_INTEGER_DFMODE_MOVES): Ditto.
6085         (X86_TUNE_PREFER_KNOWN_REP_MOVSB_STOSB): Ditto.
6086         (X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Ditto.
6087         (X86_TUNE_USE_SAHF): Ditto.
6088         (X86_TUNE_USE_BT): Ditto.
6089         (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI): Ditto.
6090         (X86_TUNE_ONE_IF_CONV_INSN): Ditto.
6091         (X86_TUNE_AVOID_MFENCE): Ditto.
6092         (X86_TUNE_USE_SIMODE_FIOP): Ditto.
6093         (X86_TUNE_EXT_80387_CONSTANTS): Ditto.
6094         (X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL): Ditto.
6095         (X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL): Ditto.
6096         (X86_TUNE_SSE_TYPELESS_STORES): Ditto.
6097         (X86_TUNE_SSE_LOAD0_BY_PXOR): Ditto.
6098         (X86_TUNE_AVOID_4BYTE_PREFIXES): Ditto.
6099         (X86_TUNE_USE_GATHER_2PARTS): Ditto.
6100         (X86_TUNE_USE_GATHER_4PARTS): Ditto.
6101         (X86_TUNE_USE_GATHER): Ditto.
6102
6103 2022-11-08  Andrew MacLeod  <amacleod@redhat.com>
6104
6105         PR tree-optimization/104530
6106         * gimple-range-cache.cc (ranger_cache::register_inferred_value):
6107         New.  Split from:
6108         (ranger_cache::apply_inferred_ranges): Move setting cache to
6109         separate function.
6110         * gimple-range-cache.h (register_inferred_value): New prototype.
6111         * gimple-range-infer.cc (infer_range_manager::has_range_p): New.
6112         * gimple-range-infer.h (has_range_p): New prototype.
6113         * gimple-range.cc (register_transitive_inferred_ranges): New.
6114         * gimple-range.h (register_transitive_inferred_ranges): New proto.
6115         * tree-vrp.cc (rvrp_folder::fold_stmt): Check for transitive inferred
6116         ranges at the end of the block before folding final stmt.
6117
6118 2022-11-07  David Faust  <david.faust@oracle.com>
6119
6120         * config/bpf/bpf.cc (handle_attr_preserve): Use maybe_make_core_relo().
6121
6122 2022-11-07  Aldy Hernandez  <aldyh@redhat.com>
6123
6124         PR tree-optimization/55157
6125         * range-op.cc (operator_mult::wi_fold): Optimize multiplications
6126         by powers of 2.
6127
6128 2022-11-07  H.J. Lu  <hjl.tools@gmail.com>
6129
6130         PR middle-end/102566
6131         * tree-ssa-ccp.cc (optimize_atomic_bit_test_and): Also handle
6132         if (_5 < 0) and if (_5 >= 0).
6133
6134 2022-11-07  Richard Purdie  <richard.purdie@linuxfoundation.org>
6135
6136         * file-prefix-map.cc (remap_filename): Handle NULL filenames.
6137
6138 2022-11-07  Alexander Monakov  <amonakov@ispras.ru>
6139
6140         PR tree-optimization/107505
6141         * tree-ssa-sink.cc (statement_sink_location): Additionally
6142         reject ECF_RETURNS_TWICE calls.
6143
6144 2022-11-07  Aldy Hernandez  <aldyh@redhat.com>
6145
6146         PR tree-optimization/107541
6147         * range-op.cc (operator_div::fold_range): Restrict power of 2
6148         optimization to positive numbers.
6149
6150 2022-11-07  Richard Biener  <rguenther@suse.de>
6151
6152         * tree-ssa-loop-unswitch.cc (unswitch_predicate::count): New.
6153         (unswitch_predicate::unswitch_predicate): Initialize count.
6154         (init_loop_unswitch_info): First collect candidates and
6155         determine the outermost loop to unswitch.
6156         (tree_ssa_unswitch_loops): First perform all guard hoisting,
6157         then perform unswitching on innermost loop predicates.
6158         (find_unswitching_predicates_for_bb): Keep track of the
6159         most profitable predicate to unswitch on.
6160         (tree_unswitch_single_loop): Unswitch given predicate if
6161         not NULL.
6162
6163 2022-11-07  Martin Liska  <mliska@suse.cz>
6164             Gerald Pfeifer  <gerald@pfeifer.com>
6165
6166         * doc/invoke.texi: Improve wording.
6167
6168 2022-11-07  Martin Liska  <mliska@suse.cz>
6169
6170         * range-op.cc: Add final override keywords.
6171
6172 2022-11-07  Kewen Lin  <linkw@linux.ibm.com>
6173
6174         PR tree-optimization/107412
6175         * gimple-fold.cc (gimple_fold_mask_load_store_mem_ref): Rename to ...
6176         (gimple_fold_partial_load_store_mem_ref): ... this, add one parameter
6177         mask_p indicating it's for mask or length, and add some handlings for
6178         IFN LEN_{LOAD,STORE}.
6179         (gimple_fold_mask_load): Rename to ...
6180         (gimple_fold_partial_load): ... this, add one parameter mask_p.
6181         (gimple_fold_mask_store): Rename to ...
6182         (gimple_fold_partial_store): ... this, add one parameter mask_p.
6183         (gimple_fold_call): Add the handlings for IFN LEN_{LOAD,STORE},
6184         and adjust calls on gimple_fold_mask_load_store_mem_ref to
6185         gimple_fold_partial_load_store_mem_ref.
6186
6187 2022-11-07  Hu, Lin1  <lin1.hu@intel.com>
6188
6189         * common/config/i386/cpuinfo.h
6190         (get_intel_cpu): Handle Grand Ridge.
6191         * common/config/i386/i386-common.cc
6192         (processor_names): Add grandridge.
6193         (processor_alias_table): Ditto.
6194         * common/config/i386/i386-cpuinfo.h:
6195         (enum processor_types): Add INTEL_GRANDRIDGE.
6196         * config.gcc: Add -march=grandridge.
6197         * config/i386/driver-i386.cc (host_detect_local_cpu):
6198         Handle grandridge.
6199         * config/i386/i386-c.cc (ix86_target_macros_internal):
6200         Ditto.
6201         * config/i386/i386-options.cc (m_GRANDRIDGE): New define.
6202         (processor_cost_table): Add grandridge.
6203         * config/i386/i386.h (enum processor_type):
6204         Add PROCESSOR_GRANDRIDGE.
6205         (PTA_GRANDRIDGE): Ditto.
6206         * doc/extend.texi: Add grandridge.
6207         * doc/invoke.texi: Ditto.
6208
6209 2022-11-07  konglin1  <lingling.kong@intel.com>
6210
6211         * config/i386/i386.opt:Add -mprefer-remote-atomic.
6212         * config/i386/sync.md (atomic_<plus_logic><mode>):
6213         New define_expand.
6214         (atomic_add<mode>): Rename to below one.
6215         (atomic_add<mode>_1): To this.
6216         (atomic_<logic><mode>): Ditto.
6217         (atomic_<logic><mode>_1): Ditto.
6218         * doc/invoke.texi: Add -mprefer-remote-atomic.
6219
6220 2022-11-07  konglin1  <lingling.kong@intel.com>
6221
6222         * common/config/i386/cpuinfo.h (get_available_features):
6223         Detect raoint.
6224         * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_RAOINT_SET,
6225         OPTION_MASK_ISA2_RAOINT_UNSET): New.
6226         (ix86_handle_option): Handle -mraoint.
6227         * common/config/i386/i386-cpuinfo.h (enum processor_features):
6228         Add FEATURE_RAOINT.
6229         * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
6230         raoint.
6231         * config.gcc: Add raointintrin.h
6232         * config/i386/cpuid.h (bit_RAOINT): New.
6233         * config/i386/i386-builtin.def (BDESC): Add new builtins.
6234         * config/i386/i386-c.cc (ix86_target_macros_internal): Define
6235         __RAOINT__.
6236         * config/i386/i386-isa.def (RAOINT): Add DEF_PTA(RAOINT).
6237         * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p):
6238         Add -mraoint.
6239         * config/i386/sync.md (rao_a<raointop><mode>): New define insn.
6240         * config/i386/i386.opt: Add option -mraoint.
6241         * config/i386/x86gprintrin.h: Include raointintrin.h.
6242         * doc/extend.texi: Document raoint.
6243         * doc/invoke.texi: Document -mraoint.
6244         * doc/sourcebuild.texi: Document target raoint.
6245         * config/i386/raointintrin.h: New file.
6246
6247 2022-11-07  Haochen Jiang  <haochen.jiang@intel.com>
6248
6249         * common/config/i386/cpuinfo.h
6250         (get_intel_cpu): Handle Granite Rapids.
6251         * common/config/i386/i386-common.cc:
6252         (processor_names): Add graniterapids.
6253         (processor_alias_table): Ditto.
6254         * common/config/i386/i386-cpuinfo.h
6255         (enum processor_subtypes): Add INTEL_GRANTIERAPIDS.
6256         * config.gcc: Add -march=graniterapids.
6257         * config/i386/driver-i386.cc (host_detect_local_cpu):
6258         Handle graniterapids.
6259         * config/i386/i386-c.cc (ix86_target_macros_internal):
6260         Ditto.
6261         * config/i386/i386-options.cc (m_GRANITERAPIDS): New.
6262         (processor_cost_table): Add graniterapids.
6263         * config/i386/i386.h (enum processor_type):
6264         Add PROCESSOR_GRANITERAPIDS.
6265         (PTA_GRANITERAPIDS): Ditto.
6266         * doc/extend.texi: Add graniterapids.
6267         * doc/invoke.texi: Ditto.
6268
6269 2022-11-07  Haochen Jiang  <haochen.jiang@intel.com>
6270             Hongtao Liu  <hongtao.liu@intel.com>
6271
6272         * common/config/i386/cpuinfo.h (get_available_features):
6273         Detect PREFETCHI.
6274         * common/config/i386/i386-common.cc
6275         (OPTION_MASK_ISA2_PREFETCHI_SET,
6276         OPTION_MASK_ISA2_PREFETCHI_UNSET): New.
6277         (ix86_handle_option): Handle -mprefetchi.
6278         * common/config/i386/i386-cpuinfo.h
6279         (enum processor_features): Add FEATURE_PREFETCHI.
6280         * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY
6281         for prefetchi.
6282         * config.gcc: Add prfchiintrin.h.
6283         * config/i386/cpuid.h (bit_PREFETCHI): New.
6284         * config/i386/i386-builtin-types.def:
6285         Add DEF_FUNCTION_TYPE (VOID, PCVOID, INT)
6286         and DEF_FUNCTION_TYPE (VOID, PCVOID, INT, INT, INT).
6287         * config/i386/i386-builtin.def (BDESC): Add new builtins.
6288         * config/i386/i386-c.cc (ix86_target_macros_internal):
6289         Define __PREFETCHI__.
6290         * config/i386/i386-expand.cc: Handle new builtins.
6291         * config/i386/i386-isa.def (PREFETCHI):
6292         Add DEF_PTA(PREFETCHI).
6293         * config/i386/i386-options.cc
6294         (ix86_valid_target_attribute_inner_p): Handle prefetchi.
6295         * config/i386/i386.md (prefetchi): New define_insn.
6296         * config/i386/i386.opt: Add option -mprefetchi.
6297         * config/i386/predicates.md (local_func_symbolic_operand):
6298         New predicates.
6299         * config/i386/x86gprintrin.h: Include prfchiintrin.h.
6300         * config/i386/xmmintrin.h (enum _mm_hint): New enum for
6301         prefetchi.
6302         (_mm_prefetch): Handle the highest bit of enum.
6303         * doc/extend.texi: Document prefetchi.
6304         * doc/invoke.texi: Document -mprefetchi.
6305         * doc/sourcebuild.texi: Document target prefetchi.
6306         * config/i386/prfchiintrin.h: New file.
6307
6308 2022-11-06  Uroš Bizjak  <ubizjak@gmail.com>
6309
6310         * optabs.cc (can_vec_set_var_idx_p): Use operand[2]
6311         mode when checking vec_set_optab.
6312
6313 2022-11-06  Xi Ruoyao  <xry111@xry111.site>
6314
6315         * config/loongarch/loongarch.md (UNSPEC_FCOPYSIGN): New unspec.
6316         (type): Add fcopysign.
6317         (copysign<mode>3): New instruction template.
6318
6319 2022-11-06  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
6320
6321         * multiple_target.cc (expand_target_clones): Free memory.
6322
6323 2022-11-06  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
6324
6325         * cgraph.cc (cgraph_node::make_local): Remove redundant set_section.
6326         * multiple_target.cc (create_dispatcher_calls): Likewise.
6327
6328 2022-11-05  Jonathan Wakely  <jwakely@redhat.com>
6329
6330         PR c/41041
6331         * doc/cppopts.texi: Document -fwide-exec-charset defaults
6332         correctly.
6333
6334 2022-11-05  Alexandre Oliva  <oliva@adacore.com>
6335
6336         * common.opt (fmultiflags): New.
6337         * doc/invoke.texi: Document it.
6338         * gcc.cc (driver_self_specs): Discard it.
6339         * opts.cc (common_handle_option): Ignore it in the driver.
6340
6341 2022-11-04  Jeff Chapman II  <jchapman@lock3software.com>
6342             Jason Merrill   <jason@redhat.com>
6343
6344         * input.cc (get_source_text_between): New fn.
6345         * input.h (get_source_text_between): Declare.
6346
6347 2022-11-04  Aldy Hernandez  <aldyh@redhat.com>
6348
6349         PR tree-optimization/107342
6350         * range-op.cc (operator_mult::fold_range): New.
6351         (operator_div::fold_range): New.
6352
6353 2022-11-04  Eric Botcazou  <ebotcazou@adacore.com>
6354
6355         * fold-const.cc (operand_compare::operand_equal_p) <COMPONENT_REF>:
6356         Do not take into account operand 2.
6357         (operand_compare::hash_operand) <COMPONENT_REF>: Likewise.
6358
6359 2022-11-04  Eric Botcazou  <ebotcazou@adacore.com>
6360
6361         * expr.cc (emit_group_store): Do not use subword paradoxical subregs
6362
6363 2022-11-04  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
6364
6365         * config/aarch64/aarch64-sve2.md: Fix typo in Cryptographic
6366         extensions comment.
6367
6368 2022-11-04  Thomas Schwinge  <thomas@codesourcery.com>
6369
6370         * config.gcc [target *-intelmic-* | *-intelmicemul-*]: Remove.
6371         * config/i386/i386-options.cc (ix86_omp_device_kind_arch_isa)
6372         [ACCEL_COMPILER]: Remove.
6373         * config/i386/intelmic-mkoffload.cc: Remove.
6374         * config/i386/intelmic-offload.h: Likewise.
6375         * config/i386/t-intelmic: Likewise.
6376         * config/i386/t-omp-device: Likewise.
6377         * configure.ac [target *-intelmic-* | *-intelmicemul-*]: Remove.
6378         * configure: Regenerate.
6379         * doc/install.texi (--enable-offload-targets=[...]): Update.
6380         * doc/sourcebuild.texi: Remove 'liboffloadmic' documentation.
6381
6382 2022-11-04  Thomas Schwinge  <thomas@codesourcery.com>
6383
6384         * Makefile.in (OBJS): Remove 'dbxout.o'.
6385         * config/nvptx/nvptx.cc: Don't '#include "dbxout.h"'.
6386         * dbxout.cc: Remove.
6387         * dbxout.h: Likewise.
6388         * target-def.h (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR):
6389         Default to 'default_asm_out_constructor',
6390         'default_asm_out_destructor'.
6391         * targhooks.cc (default_asm_out_constructor)
6392         (default_asm_out_destructor): New.
6393         * targhooks.h (default_asm_out_constructor)
6394         (default_asm_out_destructor): Declare.
6395
6396 2022-11-04  Thomas Schwinge  <thomas@codesourcery.com>
6397
6398         * Makefile.in (OBJS): Add 'dbxout.o'.
6399         * config/nvptx/nvptx.cc: '#include "dbxout.h"'.
6400         * dbxout.cc: New.
6401         * dbxout.h: Likewise.
6402         * target-def.h (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR):
6403         Default to 'default_stabs_asm_out_constructor',
6404         'default_stabs_asm_out_destructor'.
6405
6406 2022-11-04  Hongyu Wang  <hongyu.wang@intel.com>
6407             Haochen Jiang  <haochen.jiang@intel.com>
6408
6409         * common/config/i386/cpuinfo.h (get_available_features): Detect
6410         amx-fp16.
6411         * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_AMX_FP16_SET,
6412         OPTION_MASK_ISA2_AMX_FP16_UNSET): New macros.
6413         (ix86_handle_option): Handle -mamx-fp16.
6414         * common/config/i386/i386-cpuinfo.h (enum processor_features):
6415         Add FEATURE_AMX_FP16.
6416         * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
6417         amx-fp16.
6418         * config.gcc: Add amxfp16intrin.h.
6419         * config/i386/cpuid.h (bit_AMX_FP16): New.
6420         * config/i386/i386-c.cc (ix86_target_macros_internal): Define
6421         __AMX_FP16__.
6422         * config/i386/i386-isa.def: Add DEF_PTA for AMX_FP16.
6423         * config/i386/i386-options.cc (isa2_opts): Add -mamx-fp16.
6424         (ix86_valid_target_attribute_inner_p): Add new ATTR.
6425         (ix86_option_override_internal): Handle AMX-FP16.
6426         * config/i386/i386.opt: Add -mamx-fp16.
6427         * config/i386/immintrin.h: Include amxfp16intrin.h.
6428         * doc/extend.texi: Document -mamx-fp16.
6429         * doc/invoke.texi: Document amx-fp16.
6430         * doc/sourcebuild.texi: Document amx_fp16.
6431         * config/i386/amxfp16intrin.h: New file.
6432
6433 2022-11-04  Haochen Jiang  <haochen.jiang@intel.com>
6434
6435         * common/config/i386/cpuinfo.h (get_intel_cpu):
6436         Add Sierra Forest.
6437         * common/config/i386/i386-common.cc
6438         (processor_names): Add Sierra Forest.
6439         (processor_alias_table): Ditto.
6440         * common/config/i386/i386-cpuinfo.h
6441         (enum processor_types): Add INTEL_SIERRAFOREST.
6442         * config.gcc: Add -march=sierraforest.
6443         * config/i386/driver-i386.cc (host_detect_local_cpu):
6444         Handle Sierra Forest.
6445         * config/i386/i386-c.cc (ix86_target_macros_internal):
6446         Ditto.
6447         * config/i386/i386-options.cc (m_SIERRAFOREST): New define.
6448         (processor_cost_table): Add sierra forest.
6449         * config/i386/i386.h (enum processor_type):
6450         Add PROCESSOR_SIERRA_FOREST.
6451         (PTA_SIERRAFOREST): Ditto.
6452         * doc/extend.texi: Add sierra forest.
6453         * doc/invoke.texi: Ditto.
6454
6455 2022-11-04  Haochen Jiang  <haochen.jiang@intel.com>
6456
6457         * common/config/i386/cpuinfo.h (get_available_features):
6458         Detect cmpccxadd.
6459         * common/config/i386/i386-common.cc
6460         (OPTION_MASK_ISA2_CMPCCXADD_SET,
6461         OPTION_MASK_ISA2_CMPCCXADD_UNSET): New.
6462         (ix86_handle_option): Handle -mcmpccxadd.
6463         * common/config/i386/i386-cpuinfo.h (enum processor_features):
6464         Add FEATURE_CMPCCXADD.
6465         * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
6466         cmpccxadd.
6467         * config.gcc: Add cmpccxaddintrin.h.
6468         * config/i386/cpuid.h (bit_CMPCCXADD): New.
6469         * config/i386/i386-builtin-types.def:
6470         Add DEF_FUNCTION_TYPE(INT, PINT, INT, INT, INT)
6471         and DEF_FUNCTION_TYPE(LONGLONG, PLONGLONG, LONGLONG, LONGLONG, INT).
6472         * config/i386/i386-builtin.def (BDESC): Add new builtins.
6473         * config/i386/i386-c.cc (ix86_target_macros_internal): Define
6474         __CMPCCXADD__.
6475         * config/i386/i386-expand.cc (ix86_expand_special_args_builtin):
6476         Add new parameter to indicate constant position.
6477         Handle INT_FTYPE_PINT_INT_INT_INT
6478         and LONGLONG_FTYPE_PLONGLONG_LONGLONG_LONGLONG_INT.
6479         * config/i386/i386-isa.def (CMPCCXADD): Add DEF_PTA(CMPCCXADD).
6480         * config/i386/i386-options.cc (isa2_opts): Add -mcmpccxadd.
6481         (ix86_valid_target_attribute_inner_p): Handle cmpccxadd.
6482         * config/i386/i386.opt: Add option -mcmpccxadd.
6483         * config/i386/sync.md (cmpccxadd_<mode>): New define insn.
6484         * config/i386/x86gprintrin.h: Include cmpccxaddintrin.h.
6485         * doc/extend.texi: Document cmpccxadd.
6486         * doc/invoke.texi: Document -mcmpccxadd.
6487         * doc/sourcebuild.texi: Document target cmpccxadd.
6488         * config/i386/cmpccxaddintrin.h: New file.
6489
6490 2022-11-03  Jason Merrill  <jason@redhat.com>
6491
6492         * doc/invoke.texi: -fconcepts no longer implies
6493         -fconcepts-ts before C++20.
6494
6495 2022-11-03  Kwok Cheung Yeung  <kcy@codesourcery.com>
6496
6497         * config/gcn/gcn-valu.md (math_unop_insn): New attribute.
6498         (<math_unop><mode>2, <math_unop><mode>2<exec>, <math_unop><mode>2,
6499         <math_unop><mode>2<exec>, *<math_unop><mode>2_insn,
6500         *<math_unop><mode>2<exec>_insn): Use math_unop_insn to generate
6501         assembler output.
6502
6503 2022-11-03  Andrew MacLeod  <amacleod@redhat.com>
6504
6505         * gimple-range.cc (gimple_ranger::update_stmt): New.
6506         * gimple-range.h (gimple_ranger::update_stmt): New prototype.
6507         * tree-ssa-operands.cc (update_stmt_operands): Notify range
6508         query that stmt has changed.
6509         * value-query.h (range_query::update_stmt): New.
6510
6511 2022-11-03  David Malcolm  <dmalcolm@redhat.com>
6512
6513         * make-unique.h: New file.
6514
6515 2022-11-03  Uroš Bizjak  <ubizjak@gmail.com>
6516
6517         PR target/107404
6518         * config/i386/i386.md (eliminate reg-reg move by inverting the
6519         condition of a cmove #2 peephole2): Check if eliminated move
6520         initialized a register, used in the moved instruction.
6521
6522 2022-11-03  Andrew Stubbs  <ams@codesourcery.com>
6523
6524         PR target/107510
6525         * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Remove duplicate
6526         UNSPEC_SMIN_DPP_SHR conditionals.
6527
6528 2022-11-02  Christoph Müllner  <christoph.muellner@vrull.eu>
6529
6530         * common/config/riscv/riscv-common.cc: Add zawrs extension.
6531         * config/riscv/riscv-opts.h (MASK_ZAWRS): New.
6532         (TARGET_ZAWRS): New.
6533         * config/riscv/riscv.opt: New.
6534
6535 2022-11-02  Rasmus Villemoes  <rv@rasmusvillemoes.dk>
6536
6537         PR driver/93371
6538         * gcc.cc (ASM_MAP): Honour -ffile-prefix-map.
6539
6540 2022-11-02  Aldy Hernandez  <aldyh@redhat.com>
6541
6542         * value-range.cc (frange::contains_p): Fix signed zero handling.
6543         (range_tests_signed_zeros): New test.
6544
6545 2022-11-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6546
6547         * builtins.cc (mathfn_built_in_2): #undef HUGE_VAL, NAN.
6548
6549 2022-11-02  Xionghu Luo  <xionghuluo@tencent.com>
6550
6551         PR target/100866
6552         * config/rs6000/altivec.md: (*altivec_vrl<VI_char>): Named to...
6553         (altivec_vrl<VI_char>): ...this.
6554         * config/rs6000/vsx.md (revb_<mode>): Call vspltish and vrlh when
6555         target is Power8 and mode is V8HI.
6556
6557 2022-11-01  David Seifert  <soap@gentoo.org>
6558
6559         * configure.ac: Add AC_CACHE_CHECK(..., gcc_cv_sys_sdt_h).
6560         * configure: Regenerate.
6561
6562 2022-11-01  Richard Purdie  <richard.purdie@linuxfoundation.org>
6563
6564         * file-prefix-map.cc (remap_filename): Allow remapping of relative paths.
6565
6566 2022-11-01  Aldy Hernandez  <aldyh@redhat.com>
6567
6568         PR tree-optimization/107490
6569         * range-op-float.cc (foperator_unordered_lt::op1_range): Handle
6570         NANs.
6571         (foperator_unordered_lt::op2_range): Same.
6572         (foperator_unordered_le::op1_range): Same.
6573         (foperator_unordered_le::op2_range): Same.
6574         (foperator_unordered_gt::op1_range): Same.
6575         (foperator_unordered_gt::op2_range): Same.
6576         (foperator_unordered_ge::op1_range): Same.
6577         (foperator_unordered_ge::op2_range): Same.
6578
6579 2022-11-01  Andrew MacLeod  <amacleod@redhat.com>
6580
6581         PR tree-optimization/107497
6582         * tree-vrp.cc (remove_unreachable::remove_and_update_globals):
6583         Check that ssa-name still exists before accessing it.
6584
6585 2022-11-01  Andrew MacLeod  <amacleod@redhat.com>
6586
6587         * params.opt (param_vrp1_mode): Make ranger default.
6588
6589 2022-11-01  Andrew MacLeod  <amacleod@redhat.com>
6590
6591         * tree-vrp.cc (class remove_unreachable): New.
6592         (remove_unreachable::maybe_register_block): New.
6593         (remove_unreachable::remove_and_update_globals): New.
6594         (rvrp_folder::rvrp_folder): Initialize m_unreachable.
6595         (rvrp_folder::post_fold_bb): Maybe register unreachable block.
6596         (rvrp_folder::m_unreachable): New member.
6597         (execute_ranger_vrp): Add final_pass flag, remove unreachables.
6598
6599 2022-11-01  Andrew MacLeod  <amacleod@redhat.com>
6600
6601         * gimple-range-cache.cc (ranger_cache::fill_block_cache): Allow
6602         exit block to be specified.
6603         (ranger_cache::range_from_dom): If exit block is specified, use
6604         the immediate predecessor instead of the dominator to start.
6605         * gimple-range.cc (gimple_ranger::range_on_exit): Allow query
6606         for exit block.
6607
6608 2022-11-01  Andrew MacLeod  <amacleod@redhat.com>
6609
6610         * value-range.cc (irange::intersect_nonzero_bits): If new
6611         non-zero mask is the same as original, flag no change.
6612
6613 2022-11-01  Alexander Monakov  <amonakov@ispras.ru>
6614
6615         PR target/87832
6616         * config/i386/znver.md (znver1_idiv): New automaton.
6617         (znver1-idiv): New unit.
6618         (znver1_idiv_DI): Correct unit and cycles in the reservation.
6619         (znver1_idiv_SI): Ditto.
6620         (znver1_idiv_HI): Ditto.
6621         (znver1_idiv_QI): Ditto.
6622         (znver1_idiv_mem_DI): Ditto.
6623         (znver1_idiv_mem_SI): Ditto.
6624         (znver1_idiv_mem_HI): Ditto.
6625         (znver1_idiv_mem_QI): Ditto.
6626         (znver3_idiv_DI): Ditto.
6627         (znver3_idiv_SI): Ditto.
6628         (znver3_idiv_HI): Ditto.
6629         (znver3_idiv_QI): Ditto.
6630         (znver3_idiv_mem_DI): Ditto.
6631         (znver3_idiv_mem_SI): Ditto.
6632         (znver3_idiv_mem_HI): Ditto.
6633         (znver3_idiv_mem_QI): Ditto.
6634
6635 2022-11-01  liuhongt  <hongtao.liu@intel.com>
6636
6637         PR target/107057
6638         * config/i386/sse.md (*vec_interleave_highv2df): Remove
6639         constraint 1.
6640         (*vec_interleave_lowv2df): Ditto.
6641         (vec_concatv2df): Ditto.
6642         (*avx512f_unpcklpd512<mask_name>): Ditto and renamed to ..
6643         (avx512f_unpcklpd512<mask_name>): .. this.
6644         (avx512f_movddup512<mask_name>): Change to define_insn.
6645         (avx_movddup256<mask_name>): Ditto.
6646         (*avx_unpcklpd256<mask_name>): Remove constraint 1 and renamed
6647         to ..
6648         (avx_unpcklpd256<mask_name>): .. this.
6649         * config/i386/i386.cc (ix86_vec_interleave_v2df_operator_ok):
6650         Disallow MEM_P (op1) && MEM_P (op2).
6651
6652 2022-11-01  liuhongt  <hongtao.liu@intel.com>
6653
6654         PR target/55583
6655         * config/i386/i386.md (*x86_64_shld_1): Rename to ..
6656         (x86_64_shld_1): .. this.
6657         (*x86_shld_1): Rename to ..
6658         (x86_shld_1): .. this.
6659         (*x86_64_shrd_1): Rename to ..
6660         (x86_64_shrd_1): .. this.
6661         (*x86_shrd_1): Rename to ..
6662         (x86_shrd_1): .. this.
6663         (*x86_64_shld_shrd_1_nozext): New pre_reload splitter.
6664         (*x86_shld_shrd_1_nozext): Ditto.
6665         (*x86_64_shrd_shld_1_nozext): Ditto.
6666         (*x86_shrd_shld_1_nozext): Ditto.
6667
6668 2022-11-01  Cui,Lili  <lili.cui@intel.com>
6669
6670         * ipa-inline-analysis.cc (do_estimate_edge_time): Add function attribute
6671         judgement for INLINE_HINT_known_hot hint.
6672
6673 2022-10-31  Guillermo E. Martinez  <guillermo.e.martinez@oracle.com>
6674
6675         * btfout.cc (btf_calc_num_vbytes): Compute enumeration size depending of
6676         enumerator type btf_enum{,64}.
6677         (btf_asm_type): Update btf_kflag according to enumeration type sign
6678         using dtd_enum_unsigned field for both:  BTF_KIND_ENUM{,64}.
6679         (btf_asm_enum_const): New argument to represent the size of
6680         the BTF enum type, writing the enumerator constant value for
6681         32 bits, if it's 64 bits then explicitly writes lower 32-bits
6682         value and higher 32-bits value.
6683         (output_asm_btf_enum_list): Add enumeration size argument.
6684         * ctfc.cc (ctf_add_enum): New argument to represent CTF enum
6685         basic information.
6686         (ctf_add_generic): Use of ei_{name. size, unsigned} to build the
6687         dtd structure containing enumeration information.
6688         (ctf_add_enumerator): Update comment mention support for BTF
6689         enumeration in 64-bits.
6690         * dwarf2ctf.cc (gen_ctf_enumeration_type): Extract signedness
6691         for enumeration type and use it in ctf_add_enum.
6692         * ctfc.h (ctf_dmdef): Update dmd_value to HOST_WIDE_INT to allow
6693         use 32/64 bits enumerators.
6694         information.
6695         (ctf_dtdef): New field to describe enum signedness.
6696
6697 2022-10-31  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
6698
6699         * config/riscv/riscv-vector-builtins-bases.cc: Change constexpr back to CONSTEXPR.
6700         * config/riscv/riscv-vector-builtins-shapes.cc (SHAPE): Ditto.
6701         * config/riscv/riscv-vector-builtins.cc (struct registered_function_hasher): Ditto.
6702         * config/riscv/riscv-vector-builtins.h (struct rvv_arg_type_info): Ditto.
6703
6704 2022-10-31  Andrew Stubbs  <ams@codesourcery.com>
6705
6706         * config/gcn/gcn-valu.md (fminmaxop): New iterator.
6707         (<fexpander><mode>3): New define_expand.
6708         (<fexpander><mode>3<exec>): Likewise.
6709         (reduc_<fexpander>_scal_<mode>): Likewise.
6710         * config/gcn/gcn.md (fexpander): New attribute.
6711
6712 2022-10-31  Andrew Stubbs  <ams@codesourcery.com>
6713
6714         * config/gcn/gcn-valu.md (V64_SI): Delete iterator.
6715         (V64_DI): Likewise.
6716         (V64_1REG): Likewise.
6717         (V64_INT_1REG): Likewise.
6718         (V64_2REG): Likewise.
6719         (V64_ALL): Likewise.
6720         (V64_FP): Likewise.
6721         (reduc_<reduc_op>_scal_<mode>): Use V_ALL. Use gen_vec_extract.
6722         (fold_left_plus_<mode>): Use V_FP.
6723         (*<reduc_op>_dpp_shr_<mode>): Use V_1REG.
6724         (*<reduc_op>_dpp_shr_<mode>): Use V_DI.
6725         (*plus_carry_dpp_shr_<mode>): Use V_INT_1REG.
6726         (*plus_carry_in_dpp_shr_<mode>): Use V_SI.
6727         (*plus_carry_dpp_shr_<mode>): Use V_DI.
6728         (mov_from_lane63_<mode>): Delete.
6729         (mov_from_lane63_<mode>): Delete.
6730         * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Support partial vectors.
6731         * config/gcn/gcn.md (unspec): Remove UNSPEC_MOV_FROM_LANE63.
6732
6733 2022-10-31  Andrew Stubbs  <ams@codesourcery.com>
6734
6735         * config/gcn/gcn.cc (gcn_simd_clone_compute_vecsize_and_simdlen):
6736         Set base_type as ARG_UNUSED.
6737
6738 2022-10-31  Jakub Jelinek  <jakub@redhat.com>
6739
6740         * builtin-types.def (BT_COMPLEX_FLOAT16, BT_COMPLEX_FLOAT32,
6741         BT_COMPLEX_FLOAT64, BT_COMPLEX_FLOAT128, BT_COMPLEX_FLOAT32X,
6742         BT_COMPLEX_FLOAT64X, BT_COMPLEX_FLOAT128X,
6743         BT_FN_COMPLEX_FLOAT16_COMPLEX_FLOAT16,
6744         BT_FN_COMPLEX_FLOAT32_COMPLEX_FLOAT32,
6745         BT_FN_COMPLEX_FLOAT64_COMPLEX_FLOAT64,
6746         BT_FN_COMPLEX_FLOAT128_COMPLEX_FLOAT128,
6747         BT_FN_COMPLEX_FLOAT32X_COMPLEX_FLOAT32X,
6748         BT_FN_COMPLEX_FLOAT64X_COMPLEX_FLOAT64X,
6749         BT_FN_COMPLEX_FLOAT128X_COMPLEX_FLOAT128X,
6750         BT_FN_FLOAT16_COMPLEX_FLOAT16, BT_FN_FLOAT32_COMPLEX_FLOAT32,
6751         BT_FN_FLOAT64_COMPLEX_FLOAT64, BT_FN_FLOAT128_COMPLEX_FLOAT128,
6752         BT_FN_FLOAT32X_COMPLEX_FLOAT32X, BT_FN_FLOAT64X_COMPLEX_FLOAT64X,
6753         BT_FN_FLOAT128X_COMPLEX_FLOAT128X,
6754         BT_FN_COMPLEX_FLOAT16_COMPLEX_FLOAT16_COMPLEX_FLOAT16,
6755         BT_FN_COMPLEX_FLOAT32_COMPLEX_FLOAT32_COMPLEX_FLOAT32,
6756         BT_FN_COMPLEX_FLOAT64_COMPLEX_FLOAT64_COMPLEX_FLOAT64,
6757         BT_FN_COMPLEX_FLOAT128_COMPLEX_FLOAT128_COMPLEX_FLOAT128,
6758         BT_FN_COMPLEX_FLOAT32X_COMPLEX_FLOAT32X_COMPLEX_FLOAT32X,
6759         BT_FN_COMPLEX_FLOAT64X_COMPLEX_FLOAT64X_COMPLEX_FLOAT64X,
6760         BT_FN_COMPLEX_FLOAT128X_COMPLEX_FLOAT128X_COMPLEX_FLOAT128X): New.
6761         * builtins.def (CABS_TYPE, CACOSH_TYPE, CARG_TYPE, CASINH_TYPE,
6762         CPOW_TYPE, CPROJ_TYPE): Define and undefine later.
6763         (BUILT_IN_CABS, BUILT_IN_CACOSH, BUILT_IN_CACOS, BUILT_IN_CARG,
6764         BUILT_IN_CASINH, BUILT_IN_CASIN, BUILT_IN_CATANH, BUILT_IN_CATAN,
6765         BUILT_IN_CCOSH, BUILT_IN_CCOS, BUILT_IN_CEXP, BUILT_IN_CLOG,
6766         BUILT_IN_CPOW, BUILT_IN_CPROJ, BUILT_IN_CSINH, BUILT_IN_CSIN,
6767         BUILT_IN_CSQRT, BUILT_IN_CTANH, BUILT_IN_CTAN): Add
6768         DEF_EXT_LIB_FLOATN_NX_BUILTINS.
6769         * fold-const-call.cc (fold_const_call_sc, fold_const_call_cc,
6770         fold_const_call_ccc): Add various CASE_CFN_*_FN: cases when
6771         CASE_CFN_* is present.
6772         * gimple-ssa-backprop.cc (backprop::process_builtin_call_use):
6773         Likewise.
6774         * builtins.cc (expand_builtin, fold_builtin_1): Likewise.
6775         * fold-const.cc (negate_mathfn_p, tree_expr_finite_p,
6776         tree_expr_maybe_signaling_nan_p, tree_expr_maybe_nan_p,
6777         tree_expr_maybe_real_minus_zero_p, tree_call_nonnegative_warnv_p):
6778         Likewise.
6779
6780 2022-10-31  Jakub Jelinek  <jakub@redhat.com>
6781
6782         * builtin-types.def (BT_FN_BFLOAT16_BFLOAT16_BFLOAT16): New.
6783         * builtins.def (BUILT_IN_NEXTAFTERF16B): New builtin.
6784         * fold-const-call.cc (fold_const_call_sss): Handle
6785         CFN_BUILT_IN_NEXTAFTERF16B.
6786
6787 2022-10-31  Jakub Jelinek  <jakub@redhat.com>
6788
6789         * builtin-types.def (BT_FLOAT16_PTR, BT_FLOAT32_PTR, BT_FLOAT64_PTR,
6790         BT_FLOAT128_PTR, BT_FLOAT32X_PTR, BT_FLOAT64X_PTR, BT_FLOAT128X_PTR):
6791         New DEF_PRIMITIVE_TYPE.
6792         (BT_FN_INT_FLOAT16, BT_FN_INT_FLOAT32, BT_FN_INT_FLOAT64,
6793         BT_FN_INT_FLOAT128, BT_FN_INT_FLOAT32X, BT_FN_INT_FLOAT64X,
6794         BT_FN_INT_FLOAT128X, BT_FN_LONG_FLOAT16, BT_FN_LONG_FLOAT32,
6795         BT_FN_LONG_FLOAT64, BT_FN_LONG_FLOAT128, BT_FN_LONG_FLOAT32X,
6796         BT_FN_LONG_FLOAT64X, BT_FN_LONG_FLOAT128X, BT_FN_LONGLONG_FLOAT16,
6797         BT_FN_LONGLONG_FLOAT32, BT_FN_LONGLONG_FLOAT64,
6798         BT_FN_LONGLONG_FLOAT128, BT_FN_LONGLONG_FLOAT32X,
6799         BT_FN_LONGLONG_FLOAT64X, BT_FN_LONGLONG_FLOAT128X): New
6800         DEF_FUNCTION_TYPE_1.
6801         (BT_FN_FLOAT16_FLOAT16_FLOAT16PTR, BT_FN_FLOAT32_FLOAT32_FLOAT32PTR,
6802         BT_FN_FLOAT64_FLOAT64_FLOAT64PTR, BT_FN_FLOAT128_FLOAT128_FLOAT128PTR,
6803         BT_FN_FLOAT32X_FLOAT32X_FLOAT32XPTR,
6804         BT_FN_FLOAT64X_FLOAT64X_FLOAT64XPTR,
6805         BT_FN_FLOAT128X_FLOAT128X_FLOAT128XPTR, BT_FN_FLOAT16_FLOAT16_INT,
6806         BT_FN_FLOAT32_FLOAT32_INT, BT_FN_FLOAT64_FLOAT64_INT,
6807         BT_FN_FLOAT128_FLOAT128_INT, BT_FN_FLOAT32X_FLOAT32X_INT,
6808         BT_FN_FLOAT64X_FLOAT64X_INT, BT_FN_FLOAT128X_FLOAT128X_INT,
6809         BT_FN_FLOAT16_FLOAT16_INTPTR, BT_FN_FLOAT32_FLOAT32_INTPTR,
6810         BT_FN_FLOAT64_FLOAT64_INTPTR, BT_FN_FLOAT128_FLOAT128_INTPTR,
6811         BT_FN_FLOAT32X_FLOAT32X_INTPTR, BT_FN_FLOAT64X_FLOAT64X_INTPTR,
6812         BT_FN_FLOAT128X_FLOAT128X_INTPTR, BT_FN_FLOAT16_FLOAT16_LONG,
6813         BT_FN_FLOAT32_FLOAT32_LONG, BT_FN_FLOAT64_FLOAT64_LONG,
6814         BT_FN_FLOAT128_FLOAT128_LONG, BT_FN_FLOAT32X_FLOAT32X_LONG,
6815         BT_FN_FLOAT64X_FLOAT64X_LONG, BT_FN_FLOAT128X_FLOAT128X_LONG): New
6816         DEF_FUNCTION_TYPE_2.
6817         (BT_FN_FLOAT16_FLOAT16_FLOAT16_INTPTR,
6818         BT_FN_FLOAT32_FLOAT32_FLOAT32_INTPTR,
6819         BT_FN_FLOAT64_FLOAT64_FLOAT64_INTPTR,
6820         BT_FN_FLOAT128_FLOAT128_FLOAT128_INTPTR,
6821         BT_FN_FLOAT32X_FLOAT32X_FLOAT32X_INTPTR,
6822         BT_FN_FLOAT64X_FLOAT64X_FLOAT64X_INTPTR,
6823         BT_FN_FLOAT128X_FLOAT128X_FLOAT128X_INTPTR): New DEF_FUNCTION_TYPE_3.
6824         * builtins.def (ACOSH_TYPE, ATAN2_TYPE, ATANH_TYPE, COSH_TYPE,
6825         FDIM_TYPE, HUGE_VAL_TYPE, HYPOT_TYPE, ILOGB_TYPE, LDEXP_TYPE,
6826         LGAMMA_TYPE, LLRINT_TYPE, LOG10_TYPE, LRINT_TYPE, MODF_TYPE,
6827         NEXTAFTER_TYPE, REMQUO_TYPE, SCALBLN_TYPE, SCALBN_TYPE, SINH_TYPE):
6828         Define and undefine later.
6829         (FMIN_TYPE, SQRT_TYPE): Undefine at a later line.
6830         (INF_TYPE): Define at a later line.
6831         (BUILT_IN_ACOSH, BUILT_IN_ACOS, BUILT_IN_ASINH, BUILT_IN_ASIN,
6832         BUILT_IN_ATAN2, BUILT_IN_ATANH, BUILT_IN_ATAN, BUILT_IN_CBRT,
6833         BUILT_IN_COSH, BUILT_IN_COS, BUILT_IN_ERFC, BUILT_IN_ERF,
6834         BUILT_IN_EXP2, BUILT_IN_EXP, BUILT_IN_EXPM1, BUILT_IN_FDIM,
6835         BUILT_IN_FMOD, BUILT_IN_FREXP, BUILT_IN_HYPOT, BUILT_IN_ILOGB,
6836         BUILT_IN_LDEXP, BUILT_IN_LGAMMA, BUILT_IN_LLRINT, BUILT_IN_LLROUND,
6837         BUILT_IN_LOG10, BUILT_IN_LOG1P, BUILT_IN_LOG2, BUILT_IN_LOGB,
6838         BUILT_IN_LOG, BUILT_IN_LRINT, BUILT_IN_LROUND, BUILT_IN_MODF,
6839         BUILT_IN_NEXTAFTER, BUILT_IN_POW, BUILT_IN_REMAINDER, BUILT_IN_REMQUO,
6840         BUILT_IN_SCALBLN, BUILT_IN_SCALBN, BUILT_IN_SINH, BUILT_IN_SIN,
6841         BUILT_IN_TANH, BUILT_IN_TAN, BUILT_IN_TGAMMA): Add
6842         DEF_EXT_LIB_FLOATN_NX_BUILTINS.
6843         (BUILT_IN_HUGE_VAL): Use HUGE_VAL_TYPE instead of INF_TYPE in
6844         DEF_GCC_FLOATN_NX_BUILTINS.
6845         * fold-const-call.cc (fold_const_call_ss): Add various CASE_CFN_*_FN:
6846         cases when CASE_CFN_* is present.
6847         (fold_const_call_sss): Likewise.
6848         * builtins.cc (mathfn_built_in_2): Use CASE_MATHFN_FLOATN instead of
6849         CASE_MATHFN for various builtins in SEQ_OF_CASE_MATHFN macro.
6850         (builtin_with_linkage_p): Add CASE_FLT_FN_FLOATN_NX for various
6851         builtins next to CASE_FLT_FN.
6852         * fold-const.cc (tree_call_nonnegative_warnv_p): Add CASE_CFN_*_FN:
6853         next to CASE_CFN_*: for various builtins.
6854         * tree-call-cdce.cc (can_test_argument_range): Add
6855         CASE_FLT_FN_FLOATN_NX next to CASE_FLT_FN for various builtins.
6856         (edom_only_function): Likewise.
6857
6858 2022-10-31  konglin1  <lingling.kong@intel.com>
6859
6860         * common/config/i386/i386-common.cc
6861         (OPTION_MASK_ISA2_AVXNECONVERT_SET,
6862         OPTION_MASK_ISA2_AVXNECONVERT_UNSET): New.
6863         (ix86_handle_option): Handle -mavxneconvert, unset
6864         avxneconvert when avx2 is disabled.
6865         * common/config/i386/i386-cpuinfo.h (processor_types): Add
6866         FEATURE_AVXNECONVERT.
6867         * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
6868         avxneconvert.
6869         * common/config/i386/cpuinfo.h (get_available_features):
6870         Detect avxneconvert.
6871         * config.gcc: Add avxneconvertintrin.h
6872         * config/i386/avxneconvertintrin.h: New.
6873         * config/i386/avx512bf16vlintrin.h (_mm256_cvtneps_pbh):
6874         Unified builtin with avxneconvert.
6875         (_mm_cvtneps_pbh): Ditto.
6876         * config/i386/cpuid.h (bit_AVXNECONVERT): New.
6877         * config/i386/i386-builtin-types.def: Add
6878         DEF_POINTER_TYPE (PCV8HF, V8HF, CONST),
6879         DEF_POINTER_TYPE (PCV8BF, V8BF, CONST),
6880         DEF_POINTER_TYPE (PCV16HF, V16HF, CONST),
6881         DEF_POINTER_TYPE (PCV16BF, V16BF, CONST),
6882         DEF_FUNCTION_TYPE (V4SF, PCBFLOAT16),
6883         DEF_FUNCTION_TYPE (V4SF, PCFLOAT16),
6884         DEF_FUNCTION_TYPE (V8SF, PCBFLOAT16),
6885         DEF_FUNCTION_TYPE (V8SF, PCFLOAT16),
6886         DEF_FUNCTION_TYPE (V4SF, PCV8BF),
6887         DEF_FUNCTION_TYPE (V4SF, PCV8HF),
6888         DEF_FUNCTION_TYPE (V8SF, PCV16HF),
6889         DEF_FUNCTION_TYPE (V8SF, PCV16BF),
6890         * config/i386/i386-builtin.def: Add new builtins.
6891         * config/i386/i386-c.cc (ix86_target_macros_internal): Define
6892         __AVXNECONVERT__.
6893         * config/i386/i386-expand.cc (ix86_expand_special_args_builtin):
6894         Handle V4SF_FTYPE_PCBFLOAT16,V8SF_FTYPE_PCBFLOAT16, V4SF_FTYPE_PCFLOAT16,
6895         V8SF_FTYPE_PCFLOAT16,V4SF_FTYPE_PCV8BF,
6896         V4SF_FTYPE_PCV8HF,V8SF_FTYPE_PCV16BF,V8SF_FTYPE_PCV16HF.
6897         * config/i386/i386-isa.def : Add DEF_PTA(AVXNECONVERT) New.
6898         * config/i386/i386-options.cc (isa2_opts): Add -mavxneconvert.
6899         (ix86_valid_target_attribute_inner_p): Handle avxneconvert.
6900         * config/i386/i386.md: Add attr avx512bf16vl and avxneconvert.
6901         * config/i386/i386.opt: Add option -mavxneconvert.
6902         * config/i386/immintrin.h: Inculde avxneconvertintrin.h.
6903         * config/i386/sse.md (vbcstnebf162ps_<mode>): New define_insn.
6904         (vbcstnesh2ps_<mode>): Ditto.
6905         (vcvtnee<bf16_ph>2ps_<mode>):Ditto.
6906         (vcvtneo<bf16_ph>2ps_<mode>):Ditto.
6907         (vcvtneps2bf16_v4sf): Ditto.
6908         (*vcvtneps2bf16_v4sf): Ditto.
6909         (vcvtneps2bf16_v8sf): Ditto.
6910         * doc/invoke.texi: Document -mavxneconvert.
6911         * doc/extend.texi: Document avxneconvert.
6912         * doc/sourcebuild.texi: Document target avxneconvert.
6913
6914 2022-10-31  konglin1  <lingling.kong@intel.com>
6915
6916         * config/i386/avx512bf16intrin.h (__attribute__): Change short to bf16.
6917         (_mm_cvtsbh_ss): Ditto.
6918         (_mm512_cvtne2ps_pbh): Ditto.
6919         (_mm512_mask_cvtne2ps_pbh): Ditto.
6920         (_mm512_maskz_cvtne2ps_pbh): Ditto.
6921         * config/i386/avx512bf16vlintrin.h (__attribute__): Ditto.
6922         (_mm256_cvtne2ps_pbh): Ditto.
6923         (_mm256_mask_cvtne2ps_pbh): Ditto.
6924         (_mm256_maskz_cvtne2ps_pbh): Ditto.
6925         (_mm_cvtne2ps_pbh): Ditto.
6926         (_mm_mask_cvtne2ps_pbh): Ditto.
6927         (_mm_maskz_cvtne2ps_pbh): Ditto.
6928         (_mm_cvtness_sbh): Ditto.
6929         * config/i386/i386-builtin-types.def (V8BF): Add new
6930         DEF_VECTOR_TYPE for BFmode.
6931         (V16BF): Ditto.
6932         (V32BF): Ditto.
6933         * config/i386/i386-builtin.def (BDESC): Fixed builtins.
6934         * config/i386/i386-expand.cc (ix86_expand_args_builtin): Changed
6935         avx512bf16 ix86_builtin_func_type included HI to BF.
6936         * config/i386/immintrin.h: Add SSE2 depend for avx512bf16.
6937         * config/i386/sse.md (TARGET_AVX512VL): Changed HI vector to BF
6938         vector.
6939         (avx512f_cvtneps2bf16_v4sf): New define_expand.
6940         (*avx512f_cvtneps2bf16_v4sf): New define_insn.
6941         (avx512f_cvtneps2bf16_v4sf_maskz):Ditto.
6942         (avx512f_cvtneps2bf16_v4sf_mask): Ditto.
6943         (avx512f_cvtneps2bf16_v4sf_mask_1): Ditto.
6944
6945 2022-10-31  liuhongt  <hongtao.liu@intel.com>
6946
6947         PR target/107261
6948         * config/i386/i386-modes.def (VECTOR_MODE): Support V2BFmode.
6949         * config/i386/i386.cc (classify_argument): Handle V4BFmode and
6950         V2BFmode.
6951         (ix86_convert_const_vector_to_integer): Ditto.
6952         * config/i386/i386.h (VALID_AVX512FP16_REG_MODE): Remove
6953         V2BFmode.
6954         (VALID_SSE2_REG_MODE): Add V4BFmode and V2BFmode.
6955         (VALID_MMX_REG_MODE): Add V4BFmode.
6956         * config/i386/i386.md (mode): Add V4BF and V2BF.
6957         (MODE_SIZE): Ditto.
6958         * config/i386/mmx.md (MMXMODE) Add V4BF.
6959         (V_32): Add V2BF.
6960         (V_16_32_64): Add V4BF and V2BF.
6961         (mmxinsnmode): Add V4BF and V2BF.
6962         (*mov<mode>_internal): Hanlde V4BFmode and V2BFmode.
6963
6964 2022-10-29  Eric Botcazou  <ebotcazou@adacore.com>
6965
6966         * configure.ac (sjlj-exceptions): Restore dropped line.
6967         * configure: Regenerate.
6968
6969 2022-10-29  Eric Botcazou  <ebotcazou@adacore.com>
6970
6971         * alias.cc (init_alias_analysis): Do not record sets to the hard
6972         frame pointer if the frame pointer has not been eliminated.
6973
6974 2022-10-29  Iain Buclaw  <ibuclaw@gdcproject.org>
6975
6976         * config/darwin-d.cc (TARGET_D_MINFO_START_NAME): Rename to ...
6977         (TARGET_D_MINFO_SECTION_START): ...this.
6978         (TARGET_D_MINFO_END_NAME): Rename to ...
6979         (TARGET_D_MINFO_SECTION_END): ... this.
6980         * config/elfos.h (TARGET_D_MINFO_SECTION): Remove.
6981         (TARGET_D_MINFO_START_NAME): Remove.
6982         (TARGET_D_MINFO_END_NAME): Remove.
6983         * config/i386/cygwin-d.cc (TARGET_D_MINFO_SECTION): Remove.
6984         (TARGET_D_MINFO_START_NAME): Remove.
6985         (TARGET_D_MINFO_END_NAME): Remove.
6986         * config/i386/winnt-d.cc (TARGET_D_MINFO_SECTION): Remove.
6987         (TARGET_D_MINFO_START_NAME): Remove.
6988         (TARGET_D_MINFO_END_NAME): Remove.
6989         * doc/tm.texi: Regenerate.
6990         * doc/tm.texi.in (TARGET_D_MINFO_START_NAME): Rename to ...
6991         (TARGET_D_MINFO_SECTION_START): ...this.
6992         (TARGET_D_MINFO_END_NAME): Rename to ...
6993         (TARGET_D_MINFO_SECTION_END): ...this.
6994
6995 2022-10-29  Iain Buclaw  <ibuclaw@gdcproject.org>
6996
6997         * config.gcc: Split out glibc-d.o into linux-d.o, kfreebsd-d.o,
6998         kopensolaris-d.o, and gnu-d.o.  Split out cygwin-d.o from winnt-d.o.
6999         * config/arm/linux-eabi.h (EXTRA_TARGET_D_OS_VERSIONS): Remove.
7000         * config/gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove.
7001         * config/i386/cygwin.h (EXTRA_TARGET_D_OS_VERSIONS): Remove.
7002         * config/i386/linux-common.h (EXTRA_TARGET_D_OS_VERSIONS): Remove.
7003         * config/i386/mingw32.h (EXTRA_TARGET_D_OS_VERSIONS): Remove.
7004         * config/i386/t-cygming: Add cygwin-d.o.
7005         * config/i386/winnt-d.cc (winnt_d_os_builtins): Only add
7006         MinGW-specific version condition.
7007         * config/kfreebsd-gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove.
7008         * config/kopensolaris-gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove.
7009         * config/linux-android.h (ANDROID_TARGET_D_OS_VERSIONS): Remove.
7010         * config/linux.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove.
7011         * config/mips/linux-common.h (EXTRA_TARGET_D_OS_VERSIONS): Remove.
7012         * config/t-glibc: Remove glibc-d.o, add gnu-d.o, kfreebsd-d.o,
7013         kopensolaris-d.o.
7014         * config/t-linux: Add linux-d.o.
7015         * config/glibc-d.cc: Remove file.
7016         * config/gnu-d.cc: New file.
7017         * config/i386/cygwin-d.cc: New file.
7018         * config/kfreebsd-d.cc: New file.
7019         * config/kopensolaris-d.cc: New file.
7020         * config/linux-d.cc: New file.
7021
7022 2022-10-29  Jeff Law  <jeffreyalaw@gmail.com>
7023
7024         * config/h8300/h8300.cc (pre_incdec_with_reg): Make reg argument
7025         an unsigned int
7026         * config/h8300/h8300-protos.h (pre_incdec_with_reg): Adjust prototype.
7027
7028 2022-10-28  Joseph Myers  <joseph@codesourcery.com>
7029
7030         * config/aarch64/aarch64.cc (aarch64_setup_incoming_varargs):
7031         Check TYPE_NO_NAMED_ARGS_STDARG_P.
7032         * config/alpha/alpha.cc (alpha_setup_incoming_varargs): Likewise.
7033         * config/arc/arc.cc (arc_setup_incoming_varargs): Likewise.
7034         * config/arm/arm.cc (arm_setup_incoming_varargs): Likewise.
7035         * config/csky/csky.cc (csky_setup_incoming_varargs): Likewise.
7036         * config/epiphany/epiphany.cc (epiphany_setup_incoming_varargs):
7037         Likewise.
7038         * config/fr30/fr30.cc (fr30_setup_incoming_varargs): Likewise.
7039         * config/frv/frv.cc (frv_setup_incoming_varargs): Likewise.
7040         * config/ft32/ft32.cc (ft32_setup_incoming_varargs): Likewise.
7041         * config/i386/i386.cc (ix86_setup_incoming_varargs): Likewise.
7042         * config/ia64/ia64.cc (ia64_setup_incoming_varargs): Likewise.
7043         * config/loongarch/loongarch.cc
7044         (loongarch_setup_incoming_varargs): Likewise.
7045         * config/m32r/m32r.cc (m32r_setup_incoming_varargs): Likewise.
7046         * config/mcore/mcore.cc (mcore_setup_incoming_varargs): Likewise.
7047         * config/mips/mips.cc (mips_setup_incoming_varargs): Likewise.
7048         * config/mmix/mmix.cc (mmix_setup_incoming_varargs): Likewise.
7049         * config/nds32/nds32.cc (nds32_setup_incoming_varargs): Likewise.
7050         * config/nios2/nios2.cc (nios2_setup_incoming_varargs): Likewise.
7051         * config/riscv/riscv.cc (riscv_setup_incoming_varargs): Likewise.
7052         * config/rs6000/rs6000-call.cc (setup_incoming_varargs): Likewise.
7053         * config/sh/sh.cc (sh_setup_incoming_varargs): Likewise.
7054         * config/visium/visium.cc (visium_setup_incoming_varargs):
7055         Likewise.
7056         * config/vms/vms-c.cc (vms_c_common_override_options): Do not set
7057         flag_allow_parameterless_variadic_functions.
7058         * doc/invoke.texi (-fallow-parameterless-variadic-functions): Do
7059         not document option.
7060         * function.cc (assign_parms): Call assign_parms_setup_varargs for
7061         TYPE_NO_NAMED_ARGS_STDARG_P case.
7062         * ginclude/stdarg.h [__STDC_VERSION__ > 201710L] (va_start): Make
7063         variadic macro.  Pass second argument of 0 to __builtin_va_start.
7064         * target.def (setup_incoming_varargs): Update documentation.
7065         * doc/tm.texi: Regenerate.
7066         * tree-core.h (struct tree_type_common): Add
7067         no_named_args_stdarg_p.
7068         * tree-streamer-in.cc (unpack_ts_type_common_value_fields): Unpack
7069         TYPE_NO_NAMED_ARGS_STDARG_P.
7070         * tree-streamer-out.cc (pack_ts_type_common_value_fields): Pack
7071         TYPE_NO_NAMED_ARGS_STDARG_P.
7072         * tree.cc (type_cache_hasher::equal): Compare
7073         TYPE_NO_NAMED_ARGS_STDARG_P.
7074         (build_function_type): Add argument no_named_args_stdarg_p.
7075         (build_function_type_list_1, build_function_type_array_1)
7076         (reconstruct_complex_type): Update calls to build_function_type.
7077         (stdarg_p, prototype_p): Return true for (...) functions.
7078         (gimple_canonical_types_compatible_p): Compare
7079         TYPE_NO_NAMED_ARGS_STDARG_P.
7080         * tree.h (TYPE_NO_NAMED_ARGS_STDARG_P): New.
7081         (build_function_type): Update prototype.
7082
7083 2022-10-28  Andre Vieira  <andre.simoesdiasvieira@arm.com>
7084
7085         PR tree-optimization/107346
7086         * tree-vect-data-refs.cc (vect_check_gather_scatter): Reject offsets
7087         that aren't multiples of BITS_PER_UNIT.
7088
7089 2022-10-28  Richard Biener  <rguenther@suse.de>
7090
7091         PR tree-optimization/107407
7092         * tree-ssa-dse.cc (dse_classify_store): Perform backedge
7093         varying index check when collecting PHI uses rather than
7094         after optimizing processing of the candidate defs.
7095
7096 2022-10-28  Richard Biener  <rguenther@suse.de>
7097
7098         PR tree-optimization/107447
7099         * tree-ssa-loop-im.cc (determine_max_movement): Do not
7100         hoist returns-twice calls.
7101
7102 2022-10-28  Richard Biener  <rguenther@suse.de>
7103
7104         PR tree-optimization/107435
7105         * tree-vect-loop.cc (vectorizable_recurr): Convert initial
7106         value to vector component type.
7107
7108 2022-10-28  Julian Brown  <julian@codesourcery.com>
7109             Thomas Schwinge  <thomas@codesourcery.com>
7110
7111         PR middle-end/90115
7112         * omp-low.cc (oacc_privatization_candidate_p): Artificial vars are not
7113         privatization candidates.
7114
7115 2022-10-28  Martin Liska  <mliska@suse.cz>
7116
7117         PR sanitizer/107298
7118         * doc/invoke.texi: Document sanitizers can trigger warnings.
7119
7120 2022-10-28  Thomas Schwinge  <thomas@codesourcery.com>
7121
7122         * doc/makefile.texi (Makefile Targets): Document
7123         'distclean-stage[N]'.
7124
7125 2022-10-28  Aldy Hernandez  <aldyh@redhat.com>
7126
7127         * value-range.cc (range_tests_floats): Use HONOR_INFINITIES.
7128
7129 2022-10-27  Eric Botcazou  <ebotcazou@adacore.com>
7130
7131         * config/aarch64/aarch64.h (DONT_USE_BUILTIN_SETJMP): Delete.
7132
7133 2022-10-27  H.J. Lu  <hjl.tools@gmail.com>
7134
7135         PR target/107172
7136         * config/i386/i386.md (UNSPEC_CC_NE): New.
7137         Replace ne:CCC/ne:CCO with UNSPEC_CC_NE in neg patterns.
7138
7139 2022-10-27  Andrew Pinski  <apinski@marvell.com>
7140
7141         * tree-ssa-phiopt.cc: Include tree-ssa-dce.h
7142         (replace_phi_edge_with_variable):
7143         New argument, dce_ssa_names. Call simple_dce_from_worklist.
7144         (match_simplify_replacement): If we inserted a sequence,
7145         mark the lhs of the new sequence to be possible dce.
7146         Always move the statement and mark the lhs (if it is a name)
7147         as possible to remove.
7148
7149 2022-10-27  Richard Sandiford  <richard.sandiford@arm.com>
7150
7151         * config/aarch64/aarch64-protos.h: Replace constexpr with
7152         CONSTEXPR.
7153         * config/aarch64/aarch64-sve-builtins-base.cc: Likewise.
7154         * config/aarch64/aarch64-sve-builtins-functions.h: Likewise.
7155         * config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise.
7156         * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise.
7157         * config/aarch64/aarch64-sve-builtins.cc: Likewise.
7158         * config/aarch64/aarch64.cc: Likewise.
7159         * config/aarch64/driver-aarch64.cc: Likewise
7160
7161 2022-10-27  Aldy Hernandez  <aldyh@redhat.com>
7162
7163         PR tree-optimization/107394
7164         * value-range-storage.cc (frange_storage_slot::get_frange): Use
7165         frange constructor.
7166
7167 2022-10-27  Thomas Schwinge  <thomas@codesourcery.com>
7168
7169         * optc-save-gen.awk: Clarify 'Init' option property usage for
7170         streaming optimization.
7171
7172 2022-10-27  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
7173             Yvan ROUX  <yvan.roux@foss.st.com>
7174
7175         * ira.cc: Resize array after reg number increased.
7176
7177 2022-10-27  Jiawei  <jiawei@iscas.ac.cn>
7178             Sinan Lin  <sinan@isrc.iscas.ac.cn>
7179
7180         * config/riscv/constraints.md (TARGET_ZFINX ? GR_REGS): Set GPRS
7181         use while Zfinx is enable.
7182         * config/riscv/riscv.cc (riscv_hard_regno_mode_ok): Limit odd
7183         registers use when Zdinx enable in RV32 cases.
7184         (riscv_option_override): New target enable MASK_FDIV.
7185         (riscv_libgcc_floating_mode_supported_p): New error info when
7186         use incompatible arch&abi.
7187         (riscv_excess_precision): New target enable FLOAT16.
7188
7189 2022-10-27  Jiawei  <jiawei@iscas.ac.cn>
7190
7191         * config/riscv/iterators.md (TARGET_ZFINX):New target.
7192         (TARGET_ZDINX): Ditto.
7193         (TARGET_ZHINX): Ditto.
7194         * config/riscv/riscv-builtins.cc (AVAIL): Ditto.
7195         (riscv_atomic_assign_expand_fenv): Ditto.
7196         * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Ditto.
7197         * config/riscv/riscv.md: Ditto.
7198
7199 2022-10-27  Jiawei  <jiawei@iscas.ac.cn>
7200             Sinan Lin  <sinan@isrc.iscas.ac.cn>
7201
7202         * common/config/riscv/riscv-common.cc: New extensions.
7203         * config/riscv/arch-canonicalize: New imply relations.
7204         * config/riscv/riscv-opts.h (MASK_ZFINX): New mask.
7205         (MASK_ZDINX): Ditto.
7206         (MASK_ZHINX): Ditto.
7207         (MASK_ZHINXMIN): Ditto.
7208         (TARGET_ZFINX): New target.
7209         (TARGET_ZDINX): Ditto.
7210         (TARGET_ZHINX): Ditto.
7211         (TARGET_ZHINXMIN): Ditto.
7212         * config/riscv/riscv.opt: New target variable.
7213
7214 2022-10-26  David Faust  <david.faust@oracle.com>
7215
7216         * config/bpf/bpf.cc: Support __builtin_preserve_field_info.
7217         (enum bpf_builtins): Add new builtin.
7218         (bpf_init_builtins): Likewise.
7219         (bpf_core_field_info): New function.
7220         (bpf_expand_builtin): Accomodate new builtin. Refactor adding new
7221         relocation to...
7222         (maybe_make_core_relo): ... here. New function.
7223         (bpf_resolve_overloaded_builtin): Accomodate new builtin.
7224         (bpf_core_newdecl): Likewise.
7225         (bpf_core_walk): Likewise.
7226         (bpf_core_is_maybe_aggregate_access): Improve logic.
7227         (struct core_walk_data): New.
7228         * config/bpf/coreout.cc (bpf_core_reloc_add): Allow adding different
7229         relocation kinds.
7230         * config/bpf/coreout.h: Analogous change.
7231         * doc/extend.texi: Document BPF __builtin_preserve_field_info.
7232
7233 2022-10-26  Marek Polacek  <polacek@redhat.com>
7234
7235         PR c++/106393
7236         * doc/invoke.texi: Document -Wdangling-reference.
7237
7238 2022-10-26  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
7239
7240         * config/xtensa/xtensa.md (movdi):
7241         Copy operands[0...1] to ops[0...3] and then use the latter before
7242         calling xtensa_split_DI_reg_imm() and emitting insns.
7243
7244 2022-10-26  Alexander Monakov  <amonakov@ispras.ru>
7245
7246         PR other/107353
7247         * ipa-visibility.cc (function_and_variable_visibility):
7248         Conditionally upgrade TLS model instead of asserting.
7249
7250 2022-10-26  Andrew MacLeod  <amacleod@redhat.com>
7251
7252         * gimple-range-fold.cc (fold_using_range::fold_stmt): Check if
7253         stmt is non-negative and adjust the range.
7254
7255 2022-10-26  Martin Liska  <mliska@suse.cz>
7256
7257         * common/config/i386/cpuinfo.h (has_cpu_feature): Add comment.
7258         (reset_cpu_feature): New.
7259         (get_zhaoxin_cpu): Use reset_cpu_feature.
7260
7261 2022-10-26  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
7262
7263         * config/riscv/riscv.cc (riscv_expand_epilogue): Fix statement.
7264
7265 2022-10-26  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
7266
7267         PR target/107357
7268         * config/riscv/riscv-modes.def (VECTOR_BOOL_MODE): Set to minimum size.
7269         (ADJUST_NUNITS): Adjust according to -march.
7270         (ADJUST_BYTESIZE): Ditto.
7271         * config/riscv/riscv-protos.h (riscv_v_ext_enabled_vector_mode_p):
7272         Remove.
7273         (riscv_v_ext_vector_mode_p): Change function implementation.
7274         * config/riscv/riscv-vector-builtins.cc (rvv_switcher::rvv_switcher):
7275         Change to riscv_v_ext_vector_mode_p.
7276         (register_builtin_type): Ditto.
7277         * config/riscv/riscv.cc (riscv_v_ext_vector_mode_p): Change to enabled
7278         modes.
7279         (ENTRY): Ditto.
7280         (riscv_v_ext_enabled_vector_mode_p): Remove.
7281         (riscv_v_adjust_nunits): New function.
7282         (riscv_vector_mode_supported_p): Use riscv_v_ext_vector_mode_p instead.
7283         * config/riscv/riscv.h (riscv_v_adjust_nunits): New function.
7284
7285 2022-10-26  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
7286
7287         * config.gcc (riscv*): Add riscv-v.o to extra_objs.
7288         * config/riscv/constraints.md (vu): New constraint.
7289         (vi): Ditto.
7290         (Wc0): Ditto.
7291         (Wc1): Ditto.
7292         * config/riscv/predicates.md (vector_length_operand): New.
7293         (reg_or_mem_operand): Ditto.
7294         (vector_move_operand): Ditto.
7295         (vector_mask_operand): Ditto.
7296         (vector_merge_operand): Ditto.
7297         * config/riscv/riscv-protos.h (riscv_regmode_natural_size) New.
7298         (riscv_vector::const_vec_all_same_in_range_p): Ditto.
7299         (riscv_vector::legitimize_move): Ditto.
7300         (tail_policy): Ditto.
7301         (mask_policy): Ditto.
7302         * config/riscv/riscv-v.cc: New.
7303         * config/riscv/riscv-vector-builtins-bases.cc
7304         (vsetvl::expand): Refactor how LMUL encoding.
7305         * config/riscv/riscv.cc (riscv_print_operand): Update how LMUL
7306         print and mask operand print.
7307         (riscv_regmode_natural_size): New.
7308         * config/riscv/riscv.h (REGMODE_NATURAL_SIZE): New.
7309         * config/riscv/riscv.md (mode): Add vector modes.
7310         * config/riscv/t-riscv (riscv-v.o) New.
7311         * config/riscv/vector-iterators.md: New.
7312         * config/riscv/vector.md (vundefined<mode>): New.
7313         (mov<mode>): New.
7314         (*mov<mode>): New.
7315         (@vsetvl<mode>_no_side_effects): New.
7316         (@pred_mov<mode>): New.
7317
7318 2022-10-26  Monk Chiang  <monk.chiang@sifive.com>
7319
7320         * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
7321         Add svinval and svnapot extension.
7322         (riscv_ext_flag_table): Ditto.
7323         * config/riscv/riscv-opts.h (MASK_SVINVAL): New.
7324         (MASK_SVNAPOT): Ditto.
7325         (TARGET_SVINVAL): Ditto.
7326         (TARGET_SVNAPOT): Ditto.
7327         * config/riscv/riscv.opt (riscv_sv_subext): New.
7328
7329 2022-10-26  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
7330
7331         * config/riscv/riscv-modes.def: Adjust table indentation in commnet.
7332
7333 2022-10-26  Martin Liska  <mliska@suse.cz>
7334
7335         * configure: Regenerate.
7336
7337 2022-10-26  Aldy Hernandez  <aldyh@redhat.com>
7338
7339         * value-range.cc (frange::set): Use HONOR_*.
7340         (frange::verify_range): Same.
7341         * value-range.h (frange_val_min): Same.
7342         (frange_val_max): Same.
7343
7344 2022-10-26  Jiufu Guo  <guojiufu@linux.ibm.com>
7345
7346         PR target/106460
7347         * config/rs6000/rs6000.cc (rs6000_cannot_force_const_mem): Return true
7348         for HIGH code rtx.
7349
7350 2022-10-26  Kito Cheng  <kito.cheng@sifive.com>
7351
7352         * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
7353         Add `h`.
7354         (riscv_supported_std_ext): Ditto.
7355         (multi_letter_subset_rank): Remove `h`.
7356         (riscv_subset_list::parse_std_ext): Handle `h` as single letter
7357         extension.
7358         (riscv_subset_list::parse): Ditto.
7359
7360 2022-10-25  Eugene Rozenfeld  <erozen@microsoft.com>
7361
7362         * auto-profile.cc (get_combined_location): Include discriminator in the
7363         returned combined location.
7364         (read_function_instance): Read discriminators from profiles.
7365
7366 2022-10-25  H.J. Lu  <hjl.tools@gmail.com>
7367
7368         PR target/107304
7369         * expr.cc (get_inner_reference): Always use TYPE_MODE for vector
7370         field with vector raw mode.
7371
7372 2022-10-25  Segher Boessenkool  <segher@kernel.crashing.org>
7373
7374         * config/rs6000/rs6000.md (CCEITHER): Delete.
7375         (CCANY): New.
7376         (un): Delete.
7377         (isel_<un>signed_<GPR:mode>): Rename to...
7378         (isel_<CCANY:mode>_<GPR:mode>): ... this.  Adjust.
7379         (*isel_reversed_<un>signed_<GPR:mode>): Rename to...
7380         (*isel_reversed_<CCANY:mode>_<GPR:mode>): ... this.  Adjust.
7381         (setbc_<un>signed_<GPR:mode>): Rename to...
7382         (setbc_<CCANY:mode>_<GPR:mode>C): ... this.  Adjust."
7383         (*setbcr_<un>signed_<GPR:mode>): Rename to ...
7384         (*setbcr_<CCANY:mode>_<GPR:mode>): ... this.  Adjust.
7385         (*setnbc_<un>signed_<GPR:mode>): Rename to ...
7386         (*setnbc_<CCANY:mode>_<GPR:mode>): ... this.  Adjust.
7387         (*setnbcr_<un>signed_<GPR:mode>): Rename to ...
7388         (*setnbcr_<CCANY:mode>_<GPR:mode>): ... this.  Adjust.
7389         (eq<mode>3 for GPR): Adjust.
7390         (ne<mode>3 for GPR): Adjust.
7391         * config/rs6000/rs6000-string.cc (do_isel): Adjust.
7392         * config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Adjust.
7393
7394 2022-10-25  Richard Biener  <rguenther@suse.de>
7395
7396         PR tree-optimization/107176
7397         PR tree-optimization/66375
7398         PR tree-optimization/42512
7399         * tree-scalar-evolution.cc (follow_ssa_edge_expr): Revert
7400         the PR66375 fix, do not not associate PLUS_EXPR to be able
7401         to use tail-recursion.
7402         (follow_ssa_edge_binary): Likewise.
7403         (interpret_loop_phi): Revert PR42512 fix, do not throw
7404         away analyze_evolution_in_loop result after the fact.
7405         (follow_ssa_edge_expr): When reaching halting_phi initalize
7406         the evolution to the symbolic value of the PHI result.
7407         (add_to_evolution_1): When adding the first evolution verify
7408         we can handle the expression wrapping the symbolic evolution
7409         and replace that in full using the initial condition.
7410         (class scev_dfs): New, contains ...
7411         (follow_ssa_edge_expr, follow_ssa_edge_binary,
7412         follow_ssa_edge_in_condition_phi_branch,
7413         follow_ssa_edge_in_condition_phi,
7414         follow_ssa_edge_inner_loop_phi,
7415         add_to_evolution, add_to_evolution_1): ... these with
7416         loop and halting_phi arguments in class data.
7417         (scev_dfs::get_ev): New toplevel DFS entry, start with
7418         a chrec_dont_know evolution.
7419         (analyze_evolution_in_loop): Use scev_dfs.
7420
7421 2022-10-25  Eric Botcazou  <ebotcazou@adacore.com>
7422
7423         * profile.cc (branch_prob): Be prepared for ignored functions with
7424         DECL_SOURCE_LOCATION set to UNKNOWN_LOCATION.
7425
7426 2022-10-25  Richard Biener  <rguenther@suse.de>
7427
7428         * tree-scalar-evolution.cc (follow_ssa_edge_expr): Move
7429         STRIP_USELESS_TYPE_CONVERSIONS to where it matters.
7430
7431 2022-10-25  Tejas Joshi  <TejasSanjay.Joshi@amd.com>
7432
7433         * common/config/i386/i386-common.cc (processor_alias_table): Use
7434         CPU_ZNVER3 for znver4.
7435         * config/i386/znver.md: Remove znver4 reservations.
7436
7437 2022-10-25  Jakub Jelinek  <jakub@redhat.com>
7438
7439         * gimplify.cc (gimple_boolify): Fix comment typos, prduce -> produce
7440         and There -> These.
7441
7442 2022-10-25  Jakub Jelinek  <jakub@redhat.com>
7443
7444         PR tree-optimization/107368
7445         * gimplify.cc (gimplify_call_expr): For complex IFN_ASSUME
7446         conditions call gimple_boolify on the condition.
7447
7448 2022-10-25  YunQiang Su  <yunqiang.su@cipunited.com>
7449
7450         * config.gcc: add -with-compact-branches=policy build option.
7451         * doc/install.texi: Likewise.
7452         * config/mips/mips.h: Likewise.
7453
7454 2022-10-25  YunQiang Su  <yunqiang.su@cipunited.com>
7455
7456         * config/mips/mips.cc (mips_option_override): not trigger error
7457         for compact-branches=always for pre-R6.
7458         * config/mips/mips.h (TARGET_RTP_PIC): not trigger error for
7459         compact-branches=always for pre-R6.
7460         (TARGET_CB_NEVER): Likewise.
7461         (TARGET_CB_ALWAYS): Likewise.
7462         (struct mips_cpu_info): define macros for compact branch policy.
7463         * doc/invoke.texi: Document "always" with pre-R6.
7464
7465 2022-10-25  Jakub Jelinek  <jakub@redhat.com>
7466
7467         PR tree-optimization/107369
7468         * gimplify.cc (gimplify_call_expr): If seen_error, handle complex
7469         IFN_ASSUME the same as for -O0.
7470
7471 2022-10-25  YunQiang Su  <yunqiang.su@cipunited.com>
7472
7473         * configure.ac: AC_DEFINE(ENABLE_MULTIARCH, 1)
7474         * configure: Regenerated.
7475         * config.in: Regenerated.
7476         * config/mips/mips.h: don't define STANDARD_STARTFILE_PREFIX_1
7477         if ENABLE_MULTIARCH is defined.
7478         * config/mips/t-linux64: define correct multiarch path when
7479         multiarch is enabled.
7480
7481 2022-10-25  Richard Biener  <rguenther@suse.de>
7482
7483         PR tree-optimization/100756
7484         * tree-ssa-loop-niter.cc (expand_simple_operations): Also
7485         expand multiplications by invariants.
7486
7487 2022-10-25  Kewen Lin  <linkw@linux.ibm.com>
7488
7489         PR tree-optimization/107338
7490         * tree-vect-patterns.cc (vect_recog_bitfield_ref_pattern): Move
7491         shfit_n calculation before the adjustments for widening loads.
7492
7493 2022-10-25  Martin Liska  <mliska@suse.cz>
7494
7495         * common/config/riscv/riscv-common.cc
7496         (riscv_get_valid_option_values): Get out of ifdef.
7497
7498 2022-10-25  Martin Liska  <mliska@suse.cz>
7499
7500         PR target/107364
7501         * common/config/i386/i386-cpuinfo.h (enum processor_vendor):
7502         Fix pedantic warning.
7503
7504 2022-10-24  Martin Liska  <mliska@suse.cz>
7505
7506         PR analyzer/107366
7507         * diagnostic-format-sarif.cc
7508         (sarif_builder::maybe_make_physical_location_object): Gracefully
7509         reject locations with NULL filename.
7510
7511 2022-10-24  David Malcolm  <dmalcolm@redhat.com>
7512
7513         PR analyzer/106300
7514         * doc/invoke.texi (Static Analyzer Options): Add "pipe" and
7515         "pipe2" to the list of functions the analyzer has hardcoded
7516         knowledge of.
7517
7518 2022-10-24  Jason Merrill  <jason@redhat.com>
7519
7520         * tree.h (build_string_literal): New one-argument overloads that
7521         take tree (identifier) and const char *.
7522         * builtins.cc (fold_builtin_FILE)
7523         (fold_builtin_FUNCTION)
7524         * gimplify.cc (gimple_add_init_for_auto_var)
7525         * vtable-verify.cc (verify_bb_vtables): Simplify calls.
7526
7527 2022-10-24  Martin Liska  <mliska@suse.cz>
7528
7529         PR target/107364
7530         * common/config/i386/i386-cpuinfo.h (enum processor_vendor):
7531         Reorder enum values as BUILTIN_VENDOR_MAX should not point
7532         in the middle of the valid enum values.
7533
7534 2022-10-24  Marek Polacek  <polacek@redhat.com>
7535
7536         PR c++/107276
7537         * tree.cc (maybe_wrap_with_location): Don't create a location wrapper
7538         when the type is erroneous.
7539
7540 2022-10-24  Wilco Dijkstra  <wdijkstr@arm.com>
7541
7542         PR target/106583
7543         * config/aarch64/aarch64.cc (aarch64_internal_mov_immediate)
7544         Add support for a bitmask immediate with 2 MOVKs.
7545         (aarch64_check_bitmask): New function after refactorization.
7546         (aarch64_bitmask_imm): Simplify replication of small modes.
7547         Split function into 64-bit only version for efficiency.
7548         (aarch64_move_imm): Move near other immediate functions.
7549         (aarch64_uimm12_shift): Likewise.
7550         (aarch64_clamp_to_uimm12_shift): Likewise.
7551         (aarch64_movk_shift): Likewise.
7552         (aarch64_replicate_bitmask_imm): Likewise.
7553         (aarch64_and_split_imm1): Likewise.
7554         (aarch64_and_split_imm2): Likewise.
7555         (aarch64_and_bitmask_imm): Likewise.
7556         (aarch64_movw_imm): Likewise.
7557
7558 2022-10-24  Aldy Hernandez  <aldyh@redhat.com>
7559
7560         PR tree-optimization/107355
7561         * range-op-float.cc (foperator_abs::op1_range): Handle NAN.
7562
7563 2022-10-24  Tobias Burnus  <tobias@codesourcery.com>
7564
7565         PR middle-end/107236
7566         * omp-expand.cc (expand_omp_target): Set calls_declare_variant_alt
7567         in DECL_CONTEXT and not to cfun->decl.
7568         * cgraphclones.cc (cgraph_node::create_clone): Copy also the
7569         node's calls_declare_variant_alt value.
7570
7571 2022-10-24  Kito Cheng  <kito.cheng@sifive.com>
7572
7573         * common/config/riscv/riscv-common.cc (riscv_tunes): New.
7574         (riscv_get_valid_option_values): New.
7575         (TARGET_GET_VALID_OPTION_VALUES): New.
7576         * config/riscv/riscv-cores.def (RISCV_TUNE): New, define options
7577         for tune here.
7578         (RISCV_CORE): Fix comment.
7579         * config/riscv/riscv.cc (riscv_tune_info_table): Move definition to
7580         riscv-cores.def.
7581
7582 2022-10-24  Aldy Hernandez  <aldyh@redhat.com>
7583
7584         PR tree-optimization/107365
7585         * value-range.cc (frange::verify_range): Predicate NAN check in
7586         VARYING range on HONOR_NANS instead of flag_finite_math_only.
7587         (range_tests_floats): Same.
7588         (range_tests_floats_various): New.
7589         (range_tests): Call range_tests_floats_various.
7590
7591 2022-10-24  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
7592             Yvan ROUX  <yvan.roux@foss.st.com>
7593
7594         * lto-wrapper.cc: Quote paths in makefile.
7595
7596 2022-10-24  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
7597
7598         * config/riscv/riscv.cc (riscv_legitimize_move): Support (set (mem) (const_poly_int)).
7599
7600 2022-10-24  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
7601
7602         * config/riscv/riscv-vector-builtins-bases.cc: Replace CONSTEXPR
7603         with constexpr throughout.
7604         * config/riscv/riscv-vector-builtins-shapes.cc (SHAPE): Likewise.
7605         * config/riscv/riscv-vector-builtins.cc
7606         (struct registered_function_hasher): Likewise.
7607         * config/riscv/riscv-vector-builtins.h (struct rvv_arg_type_info):
7608         Likewise.
7609
7610 2022-10-24  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
7611
7612         * config/riscv/riscv-vector-switch.def (ENTRY): Remove unused TI/TF vector modes.
7613
7614 2022-10-24  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
7615
7616         * config/riscv/riscv.h (REG_CLASS_CONTENTS): Fix ALL_REGS.
7617
7618 2022-10-22  Michael Eager  <eager@eagercon.com>
7619
7620         * config/microblaze/microblaze.cc
7621         (microblaze_legitimize_address): Initialize 'reg' to NULL, check for NULL.
7622         (microblaze_address_insns): Replace abort() with gcc_unreachable().
7623         (print_operand_address): Same.
7624         (microblaze_expand_move): Initialize 'p1' to NULL, check for NULL.
7625         (get_branch_target): Replace abort() with gcc_unreachable().
7626
7627 2022-10-22  Aldy Hernandez  <aldyh@redhat.com>
7628
7629         * value-range.cc (range_tests_floats): Predicate [-Inf, +Inf] test
7630         with !flag_finite_math_only.
7631
7632 2022-10-22  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
7633
7634         * config/xtensa/xtensa.cc (xtensa_conditional_register_usage):
7635         Remove register A0 from FIXED_REGS if the CALL0 ABI.
7636         (xtensa_expand_epilogue): Change to emit '(use (reg:SI A0_REG))'
7637         unconditionally after restoring callee-saved registers for
7638         sibling-call functions, in order to prevent misleading that
7639         register A0 is free to use.
7640
7641 2022-10-21  Jakub Jelinek  <jakub@redhat.com>
7642
7643         PR target/107322
7644         * config/i386/i386-expand.cc (ix86_prepare_fp_compare_args): For
7645         BFmode comparisons promote arguments to SFmode and recurse.
7646         (ix86_expand_int_movcc, ix86_expand_fp_movcc): Return false early
7647         if comparison operands are BFmode and operands[1] is not
7648         ix86_fp_comparison_operator.
7649
7650 2022-10-21  Tejas Joshi  <TejasSanjay.Joshi@amd.com>
7651
7652         * common/config/i386/cpuinfo.h (get_amd_cpu): Recognize znver4.
7653         * common/config/i386/i386-common.cc (processor_names): Add znver4.
7654         (processor_alias_table): Add znver4 and modularize old znvers.
7655         * common/config/i386/i386-cpuinfo.h (processor_subtypes):
7656         AMDFAM19H_ZNVER4.
7657         * config.gcc (x86_64-*-* |...): Likewise.
7658         * config/i386/driver-i386.cc (host_detect_local_cpu): Let
7659         -march=native recognize znver4 cpus.
7660         * config/i386/i386-c.cc (ix86_target_macros_internal): Add znver4.
7661         * config/i386/i386-options.cc (m_ZNVER4): New definition.
7662         (m_ZNVER): Include m_ZNVER4.
7663         (processor_cost_table): Add znver4.
7664         * config/i386/i386.cc (ix86_reassociation_width): Likewise.
7665         * config/i386/i386.h (processor_type): Add PROCESSOR_ZNVER4.
7666         (PTA_ZNVER1): New definition.
7667         (PTA_ZNVER2): Likewise.
7668         (PTA_ZNVER3): Likewise.
7669         (PTA_ZNVER4): Likewise.
7670         * config/i386/i386.md (define_attr "cpu"): Add znver4 and rename
7671         md file.
7672         * config/i386/x86-tune-costs.h (znver4_cost): New definition.
7673         * config/i386/x86-tune-sched.cc (ix86_issue_rate): Add znver4.
7674         (ix86_adjust_cost): Likewise.
7675         * config/i386/znver1.md: Rename to znver.md.
7676         * config/i386/znver.md: Add new reservations for znver4.
7677         * doc/extend.texi: Add details about znver4.
7678         * doc/invoke.texi: Likewise.
7679
7680 2022-10-21  Richard Biener  <rguenther@suse.de>
7681
7682         PR tree-optimization/107323
7683         * tree-loop-distribution.cc (pg_unmark_merged_alias_ddrs):
7684         New function.
7685         (loop_distribution::break_alias_scc_partitions): Revert
7686         postorder save/restore from the PR94125 fix.  Instead
7687         make sure to not ignore edges from SCCs we are going to
7688         merge.
7689
7690 2022-10-21  Monk Chiang  <monk.chiang@sifive.com>
7691
7692         * config/riscv/riscv.md: Add atomic type attribute.
7693         * config/riscv/sync.md: Add atomic type for atomic instructions.
7694
7695 2022-10-21  Jakub Jelinek  <jakub@redhat.com>
7696
7697         PR tree-optimization/54346
7698         * match.pd ((vec_perm (vec_perm@0 @1 @2 VECTOR_CST) @0 VECTOR_CST)):
7699         Optimize nested VEC_PERM_EXPRs even if target can't handle the
7700         new one provided we don't increase number of VEC_PERM_EXPRs the
7701         target can't handle.
7702
7703 2022-10-21  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
7704
7705         * config.gcc: Add riscv-vector-builtins-bases.o and riscv-vector-builtins-shapes.o
7706         * config/riscv/riscv-vector-builtins.cc (DEF_RVV_I_OPS): New macro.
7707         (DEF_RVV_FUNCTION): Ditto.
7708         (handle_pragma_vector): Add intrinsic framework.
7709         * config/riscv/riscv.cc (riscv_print_operand): Add operand print for vsetvl/vsetvlmax.
7710         * config/riscv/riscv.md: include vector.md.
7711         * config/riscv/t-riscv: Add riscv-vector-builtins-bases.o and riscv-vector-builtins-shapes.o
7712         * config/riscv/riscv-vector-builtins-bases.cc: New file.
7713         * config/riscv/riscv-vector-builtins-bases.h: New file.
7714         * config/riscv/riscv-vector-builtins-functions.def: New file.
7715         * config/riscv/riscv-vector-builtins-shapes.cc: New file.
7716         * config/riscv/riscv-vector-builtins-shapes.h: New file.
7717         * config/riscv/riscv-vector-builtins-types.def: New file.
7718         * config/riscv/vector.md: New file.
7719
7720 2022-10-21  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
7721
7722         * config.gcc: Add gt files since function_instance is GTY ((user)).
7723         * config/riscv/riscv-builtins.cc (riscv_init_builtins): Add RVV intrinsic framework.
7724         (riscv_builtin_decl): Ditto.
7725         (riscv_expand_builtin): Ditto.
7726         * config/riscv/riscv-protos.h (builtin_decl): New function.
7727         (expand_builtin): Ditto.
7728         (enum riscv_builtin_class): New enum to classify RVV intrinsic and RISC-V general built-in.
7729         * config/riscv/riscv-vector-builtins.cc (class GTY): New declaration.
7730         (struct registered_function_hasher): New struct.
7731         (DEF_RVV_OP_TYPE): New macro.
7732         (DEF_RVV_TYPE): Ditto.
7733         (DEF_RVV_PRED_TYPE): Ditto.
7734         (GTY): New declaration.
7735         (add_attribute): New function.
7736         (check_required_extensions): Ditto.
7737         (rvv_arg_type_info::get_tree_type): Ditto.
7738         (function_instance::function_instance): Ditto.
7739         (function_instance::operator==): Ditto.
7740         (function_instance::any_type_float_p): Ditto.
7741         (function_instance::get_return_type): Ditto.
7742         (function_instance::get_arg_type): Ditto.
7743         (function_instance::hash): Ditto.
7744         (function_instance::call_properties): Ditto.
7745         (function_instance::reads_global_state_p): Ditto.
7746         (function_instance::modifies_global_state_p): Ditto.
7747         (function_instance::could_trap_p): Ditto.
7748         (function_builder::function_builder): Ditto.
7749         (function_builder::~function_builder): Ditto.
7750         (function_builder::allocate_argument_types): Ditto.
7751         (function_builder::register_function_group): Ditto.
7752         (function_builder::append_name): Ditto.
7753         (function_builder::finish_name): Ditto.
7754         (function_builder::get_attributes): Ditto.
7755         (function_builder::add_function): Ditto.
7756         (function_builder::add_unique_function): Ditto.
7757         (function_call_info::function_call_info): Ditto.
7758         (function_expander::function_expander): Ditto.
7759         (function_expander::add_input_operand): Ditto.
7760         (function_expander::generate_insn): Ditto.
7761         (registered_function_hasher::hash): Ditto.
7762         (registered_function_hasher::equal): Ditto.
7763         (builtin_decl): Ditto.
7764         (expand_builtin): Ditto.
7765         (gt_ggc_mx): Define for using GCC garbage collect.
7766         (gt_pch_nx): Define for using GCC garbage collect.
7767         * config/riscv/riscv-vector-builtins.def (DEF_RVV_OP_TYPE): New macro.
7768         (DEF_RVV_PRED_TYPE): Ditto.
7769         (vbool64_t): Add suffix.
7770         (vbool32_t): Ditto.
7771         (vbool16_t): Ditto.
7772         (vbool8_t): Ditto.
7773         (vbool4_t): Ditto.
7774         (vbool2_t): Ditto.
7775         (vbool1_t): Ditto.
7776         (vint8mf8_t): Ditto.
7777         (vuint8mf8_t): Ditto.
7778         (vint8mf4_t): Ditto.
7779         (vuint8mf4_t): Ditto.
7780         (vint8mf2_t): Ditto.
7781         (vuint8mf2_t): Ditto.
7782         (vint8m1_t): Ditto.
7783         (vuint8m1_t): Ditto.
7784         (vint8m2_t): Ditto.
7785         (vuint8m2_t): Ditto.
7786         (vint8m4_t): Ditto.
7787         (vuint8m4_t): Ditto.
7788         (vint8m8_t): Ditto.
7789         (vuint8m8_t): Ditto.
7790         (vint16mf4_t): Ditto.
7791         (vuint16mf4_t): Ditto.
7792         (vint16mf2_t): Ditto.
7793         (vuint16mf2_t): Ditto.
7794         (vint16m1_t): Ditto.
7795         (vuint16m1_t): Ditto.
7796         (vint16m2_t): Ditto.
7797         (vuint16m2_t): Ditto.
7798         (vint16m4_t): Ditto.
7799         (vuint16m4_t): Ditto.
7800         (vint16m8_t): Ditto.
7801         (vuint16m8_t): Ditto.
7802         (vint32mf2_t): Ditto.
7803         (vuint32mf2_t): Ditto.
7804         (vint32m1_t): Ditto.
7805         (vuint32m1_t): Ditto.
7806         (vint32m2_t): Ditto.
7807         (vuint32m2_t): Ditto.
7808         (vint32m4_t): Ditto.
7809         (vuint32m4_t): Ditto.
7810         (vint32m8_t): Ditto.
7811         (vuint32m8_t): Ditto.
7812         (vint64m1_t): Ditto.
7813         (vuint64m1_t): Ditto.
7814         (vint64m2_t): Ditto.
7815         (vuint64m2_t): Ditto.
7816         (vint64m4_t): Ditto.
7817         (vuint64m4_t): Ditto.
7818         (vint64m8_t): Ditto.
7819         (vuint64m8_t): Ditto.
7820         (vfloat32mf2_t): Ditto.
7821         (vfloat32m1_t): Ditto.
7822         (vfloat32m2_t): Ditto.
7823         (vfloat32m4_t): Ditto.
7824         (vfloat32m8_t): Ditto.
7825         (vfloat64m1_t): Ditto.
7826         (vfloat64m2_t): Ditto.
7827         (vfloat64m4_t): Ditto.
7828         (vfloat64m8_t): Ditto.
7829         (vv): Ditto.
7830         (vx): Ditto.
7831         (v): Ditto.
7832         (wv): Ditto.
7833         (wx): Ditto.
7834         (x_x_v): Ditto.
7835         (vf2): Ditto.
7836         (vf4): Ditto.
7837         (vf8): Ditto.
7838         (vvm): Ditto.
7839         (vxm): Ditto.
7840         (x_x_w): Ditto.
7841         (v_v): Ditto.
7842         (v_x): Ditto.
7843         (vs): Ditto.
7844         (mm): Ditto.
7845         (m): Ditto.
7846         (vf): Ditto.
7847         (vm): Ditto.
7848         (wf): Ditto.
7849         (vfm): Ditto.
7850         (v_f): Ditto.
7851         (ta): Ditto.
7852         (tu): Ditto.
7853         (ma): Ditto.
7854         (mu): Ditto.
7855         (tama): Ditto.
7856         (tamu): Ditto.
7857         (tuma): Ditto.
7858         (tumu): Ditto.
7859         (tam): Ditto.
7860         (tum): Ditto.
7861         * config/riscv/riscv-vector-builtins.h (GCC_RISCV_VECTOR_BUILTINS_H): New macro.
7862         (RVV_REQUIRE_RV64BIT): Ditto.
7863         (RVV_REQUIRE_ZVE64): Ditto.
7864         (RVV_REQUIRE_ELEN_FP_32): Ditto.
7865         (RVV_REQUIRE_ELEN_FP_64): Ditto.
7866         (enum operand_type_index): New enum.
7867         (DEF_RVV_OP_TYPE): New macro.
7868         (enum predication_type_index): New enum.
7869         (DEF_RVV_PRED_TYPE): New macro.
7870         (enum rvv_base_type): New enum.
7871         (struct rvv_builtin_suffixes): New struct.
7872         (struct rvv_arg_type_info): Ditto.
7873         (struct rvv_type_info): Ditto.
7874         (struct rvv_op_info): Ditto.
7875         (class registered_function): New class.
7876         (class function_base): Ditto.
7877         (class function_shape): Ditto.
7878         (struct function_group_info): New struct.
7879         (class GTY): New class.
7880         (class function_builder): Ditto.
7881         (class function_call_info): Ditto.
7882         (function_call_info::function_returns_void_p): New function.
7883         (class function_expander): New class.
7884         (function_instance::operator!=): New function.
7885         (function_expander::expand): Ditto.
7886         (function_expander::add_input_operand): Ditto.
7887         (function_base::call_properties): Ditto.
7888
7889 2022-10-21  Haochen Jiang  <haochen.jiang@intel.com>
7890
7891         * config/i386/sse.md (ssedvecmode): Rename from VI1SI.
7892         (ssedvecmodelower): Rename from vi1si.
7893         (sdot_prod<mode>): New define_expand.
7894         (udot_prod<mode>): Ditto.
7895
7896 2022-10-21  Kong Lingling  <lingling.kong@intel.com>
7897             Hongyu Wang  <hongyu.wang@intel.com>
7898             Haochen Jiang  <haochen.jiang@intel.com>
7899
7900         * common/config/i386/cpuinfo.h (get_available_features): Detect
7901         avxvnniint8.
7902         * common/config/i386/i386-common.cc
7903         (OPTION_MASK_ISA2_AVXVNNIINT8_SET): New.
7904         (OPTION_MASK_ISA2_AVXVNNIINT8_UNSET): Ditto.
7905         (ix86_handle_option): Handle -mavxvnniint8.
7906         * common/config/i386/i386-cpuinfo.h (enum processor_features):
7907         Add FEATURE_AVXVNNIINT8.
7908         * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
7909         avxvnniint8.
7910         * config.gcc: Add avxvnniint8intrin.h.
7911         * config/i386/avxvnniint8intrin.h: New file.
7912         * config/i386/cpuid.h (bit_AVXVNNIINT8): New.
7913         * config/i386/i386-builtin.def: Add new builtins.
7914         * config/i386/i386-c.cc (ix86_target_macros_internal): Define
7915         __AVXVNNIINT8__.
7916         * config/i386/i386-options.cc (isa2_opts): Add -mavxvnniint8.
7917         (ix86_valid_target_attribute_inner_p): Handle avxvnniint8.
7918         * config/i386/i386-isa.def: Add DEF_PTA(AVXVNNIINT8) New..
7919         * config/i386/i386.opt: Add option -mavxvnniint8.
7920         * config/i386/immintrin.h: Include avxvnniint8intrin.h.
7921         * config/i386/sse.md (UNSPEC_VPMADDUBSWACCD
7922         UNSPEC_VPMADDUBSWACCSSD,UNSPEC_VPMADDWDACCD,
7923         UNSPEC_VPMADDWDACCSSD): Rename according to new style.
7924         (vpdp<vpdotprodtype>_<mode>): New define_insn.
7925         * doc/extend.texi: Document avxvnniint8.
7926         * doc/invoke.texi: Document -mavxvnniint8.
7927         * doc/sourcebuild.texi: Document target avxvnniint8.
7928
7929 2022-10-21  Hongyu Wang  <hongyu.wang@intel.com>
7930
7931         * common/config/i386/i386-common.cc
7932         (OPTION_MASK_ISA_AVXIFMA_SET, OPTION_MASK_ISA2_AVXIFMA_UNSET,
7933         OPTION_MASK_ISA2_AVX2_UNSET): New macro.
7934         (ix86_handle_option): Handle -mavxifma.
7935         * common/config/i386/i386-cpuinfo.h (processor_types): Add
7936         FEATURE_AVXIFMA.
7937         * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
7938         avxifma.
7939         * common/config/i386/cpuinfo.h (get_available_features):
7940         Detect avxifma.
7941         * config.gcc: Add avxifmaintrin.h
7942         * config/i386/avx512ifmavlintrin.h: (_mm_madd52lo_epu64): Change
7943         to macro.
7944         (_mm_madd52hi_epu64): Likewise.
7945         (_mm256_madd52lo_epu64): Likewise.
7946         (_mm256_madd52hi_epu64): Likewise.
7947         * config/i386/avxifmaintrin.h: New header.
7948         * config/i386/cpuid.h (bit_AVXIFMA): New.
7949         * config/i386/i386-builtin.def: Add new builtins, and correct
7950         pattern names for AVX512IFMA.
7951         * config/i386/i386-builtins.cc (def_builtin): Handle AVX-IFMA
7952         builtins like AVX-VNNI.
7953         * config/i386/i386-c.cc (ix86_target_macros_internal): Define
7954         __AVXIFMA__.
7955         * config/i386/i386-expand.cc (ix86_check_builtin_isa_match):
7956         Relax ISA masks for AVXIFMA.
7957         * config/i386/i386-isa.def: Add AVXIFMA.
7958         * config/i386/i386-options.cc (isa2_opts): Add -mavxifma.
7959         (ix86_valid_target_attribute_inner_p): Handle avxifma.
7960         * config/i386/i386.md (isa): Add attr avxifma and avxifmavl.
7961         * config/i386/i386.opt: Add option -mavxifma.
7962         * config/i386/immintrin.h: Inculde avxifmaintrin.h.
7963         * config/i386/sse.md (avx_vpmadd52<vpmadd52type>_<mode>):
7964         Remove.
7965         (vpamdd52<vpmadd52type><mode><sd_maskz_name>): Remove.
7966         (vpamdd52huq<mode>_maskz): Rename to ...
7967         (vpmadd52huq<mode>_maskz): ... this.
7968         (vpamdd52luq<mode>_maskz): Rename to ...
7969         (vpmadd52luq<mode>_maskz): ... this.
7970         (vpmadd52<vpmadd52type><mode>): New define_insn.
7971         (vpmadd52<vpmadd52type>v8di): Likewise.
7972         (vpmadd52<vpmadd52type><mode>_maskz_1): Likewise.
7973         (vpamdd52<vpmadd52type><mode>_mask): Rename to ...
7974         (vpmadd52<vpmadd52type><mode>_mask): ... this.
7975         * doc/invoke.texi: Document -mavxifma.
7976         * doc/extend.texi: Document avxifma.
7977         * doc/sourcebuild.texi: Document target avxifma.
7978
7979 2022-10-20  Aldy Hernandez  <aldyh@redhat.com>
7980
7981         PR c++/106654
7982         * value-query.cc (get_range_global): Handle non integer ranges for
7983         default def SSA names.
7984
7985 2022-10-20  Aldy Hernandez  <aldyh@redhat.com>
7986
7987         * range-op-float.cc (foperator_unordered_lt::op1_range): New.
7988         (foperator_unordered_lt::op2_range): New.
7989
7990 2022-10-20  Artem Klimov  <jakmobius@gmail.com>
7991             Alexander Monakov   <amonakov@gcc.gnu.org>
7992
7993         PR middle-end/99619
7994         * ipa-visibility.cc (function_and_variable_visibility): Promote
7995         TLS access model afer visibility optimizations.
7996         * varasm.cc (have_optimized_refs): New helper.
7997         (optimize_dyn_tls_for_decl_p): New helper. Use it ...
7998         (decl_default_tls_model): ... here in place of 'optimize' check.
7999
8000 2022-10-20  Aldy Hernandez  <aldyh@redhat.com>
8001
8002         * range-op-float.cc (foperator_unordered_le::op1_range): Adjust
8003         false side with a NAN operand.
8004         (foperator_unordered_le::op2_range): Same.
8005         (foperator_unordered_gt::op1_range): Same.
8006         (foperator_unordered_gt::op2_range): Same.
8007         (foperator_unordered_ge::op1_range): Same.
8008         (foperator_unordered_ge::op2_range): Same.
8009         (foperator_unordered_equal::op1_range): Same.
8010
8011 2022-10-20  Andre Vieira  <andre.simoesdiasvieira@arm.com>
8012
8013         PR tree-optimization/107326
8014         * tree-vect-patterns.cc (vect_recog_bitfield_ref_pattern): Change
8015         vectype when widening container.
8016
8017 2022-10-20  Aldy Hernandez  <aldyh@redhat.com>
8018
8019         * value-range.h (frange::set_varying): Do not set NAN flags for
8020         !HONOR_NANS.
8021         * value-range.cc (frange::normalize_kind): Adjust for no NAN when
8022         !HONOR_NANS.
8023         (frange::verify_range): Same.
8024         * range-op-float.cc (maybe_isnan): Remove flag_finite_math_only check.
8025
8026 2022-10-20  Aldy Hernandez  <aldyh@redhat.com>
8027
8028         * range-op-float.cc (finite_operand_p): Remove.
8029         (finite_operands_p): Rename to...
8030         (maybe_isnan): ...this.
8031         (frelop_early_resolve): Use maybe_isnan instead of finite_operands_p.
8032         (foperator_equal::fold_range): Same.
8033         (foperator_equal::op1_range): Same.
8034         (foperator_not_equal::fold_range): Same.
8035         (foperator_lt::fold_range): Same.
8036         (foperator_le::fold_range): Same.
8037         (foperator_gt::fold_range): Same.
8038         (foperator_ge::fold_range): Same.
8039
8040 2022-10-20  Jakub Jelinek  <jakub@redhat.com>
8041
8042         * passes.cc (pass_manager::register_pass): Fix a comment
8043         typo - copmilation -> compilation.
8044
8045 2022-10-20  Richard Biener  <rguenther@suse.de>
8046
8047         * tree-vect-loop.cc (vect_phi_first_order_recurrence_p):
8048         Disallow latch PHI defs.
8049         (vectorizable_recurr): Revert previous change.
8050
8051 2022-10-20  Julian Brown  <julian@codesourcery.com>
8052
8053         PR target/105421
8054         * config/gcn/gcn.cc (gcn_detect_incoming_pointer_arg): Any pointer
8055         argument forces FLAT addressing mode, not just
8056         pointer-to-non-aggregate.
8057
8058 2022-10-20  Thomas Schwinge  <thomas@codesourcery.com>
8059
8060         * configure.ac (AC_CONFIG_MACRO_DIRS): Instantiate.
8061         * configure: Regenerate.
8062
8063 2022-10-20  Richard Sandiford  <richard.sandiford@arm.com>
8064
8065         * config/aarch64/aarch64-sve-builtins.h
8066         (gimple_folder::fold_to_cstu): New member function.
8067         * config/aarch64/aarch64-sve-builtins.cc
8068         (gimple_folder::fold_to_cstu): Define.
8069         * config/aarch64/aarch64-sve-builtins-base.cc
8070         (svcnt_bhwd_impl::fold): Use it.
8071
8072 2022-10-20  Richard Sandiford  <richard.sandiford@arm.com>
8073
8074         * config/aarch64/aarch64-sve-builtins-functions.h (quiet)
8075         (rtx_code_function, rtx_code_function_rotated, unspec_based_function)
8076         (unspec_based_function_rotated, unspec_based_function_exact_insn)
8077         (unspec_based_fused_function, unspec_based_fused_lane_function):
8078         Replace constructors with using directives.
8079         * config/aarch64/aarch64-sve-builtins-base.cc (svcnt_bhwd_pat_impl)
8080         (svcreate_impl, svdotprod_lane_impl, svget_impl, svld1_extend_impl)
8081         (svld1_gather_extend_impl, svld234_impl, svldff1_gather_extend)
8082         (svset_impl, svst1_scatter_truncate_impl, svst1_truncate_impl)
8083         (svst234_impl, svundef_impl): Likewise.
8084         * config/aarch64/aarch64-sve-builtins-sve2.cc
8085         (svldnt1_gather_extend_impl, svmovl_lb_impl): Likewise.
8086         (svstnt1_scatter_truncate_impl): Likewise.
8087
8088 2022-10-20  Richard Sandiford  <richard.sandiford@arm.com>
8089
8090         * config/aarch64/aarch64-sve-builtins-base.cc: Replace CONSTEXPR
8091         with constexpr throughout.
8092         * config/aarch64/aarch64-sve-builtins-functions.h: Likewise.
8093         * config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise.
8094         * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise.
8095         * config/aarch64/aarch64-sve-builtins.cc: Likewise.
8096
8097 2022-10-20  Richard Sandiford  <richard.sandiford@arm.com>
8098
8099         * config/aarch64/aarch64-sve.md (*aarch64_brk<brk_op>_cc): Remove
8100         merging alternative.
8101         (*aarch64_brk<brk_op>_ptest): Likewise.
8102
8103 2022-10-20  Richard Sandiford  <richard.sandiford@arm.com>
8104
8105         * config/aarch64/iterators.md (SVE_BRKP): New iterator.
8106         * config/aarch64/aarch64-sve.md (*aarch64_brkn_cc): New pattern.
8107         (*aarch64_brkn_ptest): Likewise.
8108         (*aarch64_brk<brk_op>_cc): Restrict to SVE_BRKP.
8109         (*aarch64_brk<brk_op>_ptest): Likewise.
8110
8111 2022-10-20  Richard Biener  <rguenther@suse.de>
8112
8113         PR c/107305
8114         PR c/107306
8115         * tree-cfg.h (verify_gimple_in_seq): Add parameter to
8116         indicate whether to emit an ICE.  Add return value.
8117         (verify_gimple_in_cfg): Likewise.
8118         * tree-cfg.cc (verify_gimple_in_seq): Likewise.
8119         (verify_gimple_in_cfg): Likewise.
8120
8121 2022-10-20  Richard Biener  <rguenther@suse.de>
8122
8123         PR tree-optimization/107240
8124         * tree-vect-patterns.cc (vect_recog_bit_insert_pattern): Attempt to
8125         simplify shifted value first.
8126
8127 2022-10-20  Andrew MacLeod  <amacleod@redhat.com>
8128
8129         * gimple-range-gori.h (compute_operand_range): Make public.
8130         * gimple-range-infer.cc (gimple_infer_range::check_assume_func): New.
8131         (gimple_infer_range::gimple_infer_range): Check for assume calls.
8132         * gimple-range-infer.h (check_assume_func): Add prototype.
8133         * gimple-range.cc (assume_query::assume_range_p): New.
8134         (assume_query::range_of_expr): New.
8135         (assume_query::assume_query): New.
8136         (assume_query::calculate_op): New.
8137         (assume_query::calculate_phi): New.
8138         (assume_query::check_taken_edge): New.
8139         (assume_query::calculate_stmt): New.
8140         (assume_query::dump): New.
8141         * gimple-range.h (class assume_query): New.
8142         * tree-vrp.cc (pass_assumptions::execute): Add processing.
8143
8144 2022-10-19  Aldy Hernandez  <aldyh@redhat.com>
8145
8146         * range-op-float.cc (build_le): Document result.
8147         (build_lt): Same.
8148         (build_ge): Same.
8149         (foperator_ge::op2_range): Check result of build_*.
8150         (foperator_unordered_le::op1_range): Same.
8151         (foperator_unordered_le::op2_range): Same.
8152         (foperator_unordered_gt::op1_range): Same.
8153         (foperator_unordered_gt::op2_range): Same.
8154         (foperator_unordered_ge::op1_range): Same.
8155         (foperator_unordered_ge::op2_range): Same.
8156
8157 2022-10-19  Marek Polacek  <polacek@redhat.com>
8158
8159         PR c++/85043
8160         * doc/invoke.texi: Update documentation of -Wuseless-cast.
8161
8162 2022-10-19  Andrew MacLeod  <amacleod@redhat.com>
8163
8164         * gimple-range-cache.cc (ranger_cache::range_from_dom): Use
8165         Value_Range not int_range_max.
8166
8167 2022-10-19  Aldy Hernandez  <aldyh@redhat.com>
8168
8169         PR tree-optimization/107312
8170         * range.h (range_true_and_false): Special case 1-bit signed types.
8171         * value-range.cc (range_tests_misc): New test.
8172
8173 2022-10-19  LIU Hao  <lh_mouse@126.com>
8174
8175         * config/i386/mingw-mcfgthread.h: New file
8176         * config/i386/mingw32.h: Add builtin macro and default libraries
8177         for mcfgthread when thread model is `mcf`
8178         * config.gcc: Include 'i386/mingw-mcfgthread.h' when thread model
8179         is `mcf`
8180         * configure.ac: Recognize `mcf` as a valid thread model
8181         * config.in: Regenerate
8182         * configure: Regenerate
8183
8184 2022-10-19  Lewis Hyatt  <lhyatt@gmail.com>
8185
8186         * gengtype.cc (output_escaped_param): Add missing const.
8187         (get_string_option): Add missing check for option type.
8188         (walk_type): Support new "string_length" GTY option.
8189         (write_types_process_field): Likewise.
8190         * ggc-common.cc (gt_pch_note_object): Add optional length argument.
8191         * ggc.h (gt_pch_note_object): Adjust prototype for new argument.
8192         (gt_pch_n_S2): Declare...
8193         * stringpool.cc (gt_pch_n_S2): ...new function.
8194         * doc/gty.texi: Document new GTY((string_length)) option.
8195
8196 2022-10-19  Martin Liska  <mliska@suse.cz>
8197
8198         * doc/extend.texi: Remove useless @tie{} directives.
8199
8200 2022-10-19  Martin Jambor  <mjambor@suse.cz>
8201
8202         PR tree-optimization/107206
8203         * tree-sra.cc (struct access): New field grp_result_of_prop_from_lhs.
8204         (analyze_access_subtree): Do not create replacements for accesses with
8205         this flag when not toally scalarizing.
8206         (propagate_subaccesses_from_lhs): Set the new flag.
8207
8208 2022-10-19  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
8209
8210         PR target/106355
8211         * config/s390/s390.cc (s390_call_saved_register_used): For a
8212         parameter with BLKmode fix determining number of consecutive
8213         registers.
8214
8215 2022-10-19  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
8216
8217         * config/xtensa/xtensa-protos.h
8218         (xtensa_split1_finished_p, xtensa_split_DI_reg_imm): New prototypes.
8219         * config/xtensa/xtensa.cc
8220         (xtensa_split1_finished_p, xtensa_split_DI_reg_imm, xtensa_lra_p):
8221         New functions.
8222         (TARGET_LRA_P): Replace the dummy hook with xtensa_lra_p.
8223         (xt_true_regnum): Rework.
8224         * config/xtensa/xtensa.h (CALL_REALLY_USED_REGISTERS):
8225         Switch from CALL_USED_REGISTERS, and revise the comment.
8226         * config/xtensa/constraints.md (Y):
8227         Use !xtensa_split1_finished_p() instead of can_create_pseudo_p().
8228         * config/xtensa/predicates.md (move_operand): Ditto.
8229         * config/xtensa/xtensa.md: Add two new split patterns:
8230         - splits DImode immediate load into two SImode ones
8231         - puts out-of-constraint SImode constants into the constant pool
8232         * config/xtensa/xtensa.opt (-mlra): New target-specific option
8233         for testing purpose.
8234
8235 2022-10-19  Robin Dapp  <rdapp@linux.ibm.com>
8236
8237         * config/s390/s390.md: Move reload_completed and check operands for REG_P.
8238
8239 2022-10-19  Jakub Jelinek  <jakub@redhat.com>
8240
8241         PR middle-end/107262
8242         * expr.cc (convert_mode_scalar): For BFmode -> SFmode conversions
8243         of constants, use simplify_unary_operation if fromi has VOIDmode
8244         instead of recursive convert_mode_scalar.
8245
8246 2022-10-19  Jakub Jelinek  <jakub@redhat.com>
8247
8248         PR tree-optimization/106990
8249         * match.pd ((~X - ~Y) -> Y - X, -x & 1 -> x & 1): Guard with
8250         !TYPE_OVERFLOW_SANITIZED (type).
8251
8252 2022-10-19  Jakub Jelinek  <jakub@redhat.com>
8253
8254         * config/i386/i386-builtins.cc (ix86_bf16_ptr_type_node): Remove.
8255         (ix86_bf16_type_node): New variable.
8256         (ix86_register_bf16_builtin_type): If bfloat16_type_node is NULL
8257         from generic code, set only ix86_bf16_type_node to a new REAL_TYPE
8258         rather than bfloat16_type_node, otherwise set ix86_bf16_type_node
8259         to bfloat16_type_node.  Register __bf16 on ix86_bf16_type_node
8260         rather than bfloat16_type_node.  Don't initialize unused
8261         ix86_bf16_ptr_type_node.
8262         * config/i386/i386-builtin-types.def (BFLOAT16): Use
8263         ix86_bf16_type_node rather than bfloat16_type_node.
8264
8265 2022-10-19  Richard Biener  <rguenther@suse.de>
8266
8267         PR tree-optimization/106781
8268         * cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee): Copy
8269         LHS removal from fixup_noreturn_call.
8270
8271 2022-10-19  liuhongt  <hongtao.liu@intel.com>
8272
8273         PR target/107271
8274         * config/i386/i386-expand.cc (ix86_vec_perm_index_canon): New.
8275         (expand_vec_perm_shufps_shufps): Call
8276         ix86_vec_perm_index_canon
8277
8278 2022-10-18  Martin Jambor  <mjambor@suse.cz>
8279
8280         * ipa-prop.h (ipa_agg_value): Remove type.
8281         (ipa_agg_value_set): Likewise.
8282         (ipa_copy_agg_values): Remove function.
8283         (ipa_release_agg_values): Likewise.
8284         (ipa_auto_call_arg_values) Add a forward declaration.
8285         (ipa_call_arg_values): Likewise.
8286         (class ipa_argagg_value_list): New constructors, added member function
8287         value_for_index_p.
8288         (class ipa_auto_call_arg_values): Removed the destructor and member
8289         function safe_aggval_at.  Use ipa_argagg_values for m_known_aggs.
8290         (class ipa_call_arg_values): Removed member function safe_aggval_at.
8291         Use ipa_argagg_values for m_known_aggs.
8292         (ipa_get_indirect_edge_target): Removed declaration.
8293         (ipa_find_agg_cst_for_param): Likewise.
8294         (ipa_find_agg_cst_from_init): New declaration.
8295         (ipa_agg_value_from_jfunc): Likewise.
8296         (ipa_agg_value_set_from_jfunc): Removed declaration.
8297         (ipa_push_agg_values_from_jfunc): New declaration.
8298         * ipa-cp.cc (ipa_agg_value_from_node): Renamed to
8299         ipa_agg_value_from_jfunc, made public.
8300         (ipa_agg_value_set_from_jfunc): Removed.
8301         (ipa_push_agg_values_from_jfunc): New function.
8302         (ipa_get_indirect_edge_target_1): Removed known_aggs parameter, use
8303         avs for this purpose too.
8304         (ipa_get_indirect_edge_target): Removed the overload working on
8305         ipa_auto_call_arg_values, use ipa_argagg_value_list in the remaining
8306         one.
8307         (devirtualization_time_bonus): Use ipa_argagg_value_list and
8308         ipa_get_indirect_edge_target_1 instead of
8309         ipa_get_indirect_edge_target.
8310         (context_independent_aggregate_values): Removed function.
8311         (gather_context_independent_values): Work on ipa_argagg_value_list.
8312         (estimate_local_effects): Likewise, define some iterator variables
8313         only in the construct where necessary.
8314         (ipcp_discover_new_direct_edges): Adjust the call to
8315         ipa_get_indirect_edge_target_1.
8316         (push_agg_values_for_index_from_edge): Adjust the call
8317         ipa_agg_value_from_node which has been renamed to
8318         ipa_agg_value_from_jfunc.
8319         * ipa-fnsummary.cc (evaluate_conditions_for_known_args): Work on
8320         ipa_argagg_value_list.
8321         (evaluate_properties_for_edge): Replace manual filling in aggregate
8322         values with call to ipa_push_agg_values_from_jfunc.
8323         (estimate_calls_size_and_time): Work on ipa_argagg_value_list.
8324         (ipa_cached_call_context::duplicate_from): Likewise.
8325         (ipa_cached_call_context::release): Likewise.
8326         (ipa_call_context::equal_to): Likewise.
8327         * ipa-prop.cc (ipa_find_agg_cst_from_init): Make public.
8328         (ipa_find_agg_cst_for_param): Removed function.
8329         (ipa_find_agg_cst_from_jfunc_items): New function.
8330         (try_make_edge_direct_simple_call): Replace calls to
8331         ipa_agg_value_set_from_jfunc and ipa_find_agg_cst_for_param with
8332         ipa_find_agg_cst_from_init and ipa_find_agg_cst_from_jfunc_items.
8333         (try_make_edge_direct_virtual_call): Replace calls to
8334         ipa_agg_value_set_from_jfunc and ipa_find_agg_cst_for_param with
8335         simple query of constant jump function and a call to
8336         ipa_find_agg_cst_from_jfunc_items.
8337         (ipa_auto_call_arg_values::~ipa_auto_call_arg_values): Removed.
8338
8339 2022-10-18  Martin Jambor  <mjambor@suse.cz>
8340
8341         * ipa-prop.h (IPA_PROP_ARG_INDEX_LIMIT_BITS): New.
8342         (ipcp_transformation): Added forward declaration.
8343         (ipa_argagg_value): New type.
8344         (ipa_argagg_value_list): New type.
8345         (ipa_agg_replacement_value): Removed type.
8346         (ipcp_transformation): Switch from using ipa_agg_replacement_value
8347         to ipa_argagg_value_list.
8348         (ipa_get_agg_replacements_for_node): Removed.
8349         (ipa_dump_agg_replacement_values): Removed declaration.
8350         * ipa-cp.cc: Define INCLUDE_ALGORITHM.
8351         (values_equal_for_ipcp_p): Moved up in the file.
8352         (ipa_argagg_value_list::dump): New function.
8353         (ipa_argagg_value_list::debug): Likewise.
8354         (ipa_argagg_value_list::get_elt): Likewise.
8355         (ipa_argagg_value_list::get_elt_for_index): Likewise.
8356         (ipa_argagg_value_list::get_value): New overloaded functions.
8357         (ipa_argagg_value_list::superset_of_p): New function.
8358         (new ipa_argagg_value_list::push_adjusted_values): Likewise.
8359         (push_agg_values_from_plats): Likewise.
8360         (intersect_argaggs_with): Likewise.
8361         (get_clone_agg_value): Removed.
8362         (ipa_agg_value_from_node): Make last parameter const, use
8363         ipa_argagg_value_list to search values coming from clones.
8364         (ipa_get_indirect_edge_target_1): Use ipa_argagg_value_list to search
8365         values coming from clones.
8366         (ipcp_discover_new_direct_edges): Pass around a vector of
8367         ipa_argagg_values rather than a link list of replacement values.
8368         (cgraph_edge_brings_value_p): Use ipa_argagg_value_list to search
8369         values coming from clones.
8370         (create_specialized_node): Work with a vector of ipa_argagg_values
8371         rather than a link list of replacement values.
8372         (self_recursive_agg_pass_through_p): Make the pointer parameters
8373         const.
8374         (copy_plats_to_inter): Removed.
8375         (intersect_with_plats): Likewise.
8376         (agg_replacements_to_vector): Likewise.
8377         (intersect_with_agg_replacements): Likewise.
8378         (intersect_aggregates_with_edge): Likewise.
8379         (push_agg_values_for_index_from_edge): Likewise.
8380         (push_agg_values_from_edge): Likewise.
8381         (find_aggregate_values_for_callers_subset): Rewrite.
8382         (cgraph_edge_brings_all_agg_vals_for_node): Likewise.
8383         (ipcp_val_agg_replacement_ok_p): Use ipa_argagg_value_list to search
8384         aggregate values.
8385         (decide_about_value): Work with a vector of ipa_argagg_values rather
8386         than a link list of replacement values.
8387         (decide_whether_version_node): Likewise.
8388         (ipa_analyze_node): Check number of parameters, assert that there
8389         are no descriptors when bailing out.
8390         * ipa-prop.cc (ipa_set_node_agg_value_chain): Switch to a vector of
8391         ipa_argagg_value.
8392         (ipa_node_params_t::duplicate): Removed superfluous handling of
8393         ipa_agg_replacement_values.  Name of src parameter removed because
8394         it is no longer used.
8395         (ipcp_transformation_t::duplicate): Replaced duplication of
8396         ipa_agg_replacement_values with copying vector m_agg_values.
8397         (ipa_dump_agg_replacement_values): Removed.
8398         (write_ipcp_transformation_info): Stream the new data-structure
8399         instead of the old.
8400         (read_ipcp_transformation_info): Likewise.
8401         (adjust_agg_replacement_values): Work with ipa_argagg_values instead
8402         of linked lists of ipa_agg_replacement_values, copy the items and
8403         truncate the vector as necessary to keep it sorted instead of marking
8404         items as invalid.  Return one bool if CFG should be updated.
8405         (ipcp_modif_dom_walker): Store ipcp_transformation instead of
8406         linked list of ipa_agg_replacement_values.
8407         (ipcp_modif_dom_walker::before_dom_children): Use
8408         ipa_argagg_value_list instead of walking a list of
8409         ipa_agg_replacement_values.
8410         (ipcp_transform_function): Switch to the new data structure, adjust
8411         dumping.
8412
8413 2022-10-18  Richard Biener  <rguenther@suse.de>
8414
8415         PR tree-optimization/107302
8416         * tree-vect-loop.cc (vectorizable_recurrence): Fix vec_perm
8417         placement for a PHI latch def.
8418
8419 2022-10-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>
8420
8421         PR tree-optimization/107275
8422         * tree-if-conv.cc (if_convertible_loop_p_1): Move
8423         find_data_references_in_loop call from here...
8424         (if_convertible_loop_p): And move data-reference vector initialization
8425         from here...
8426         (tree_if_conversion):... to here.
8427
8428 2022-10-18  Jakub Jelinek  <jakub@redhat.com>
8429
8430         PR c++/106654
8431         * gimple.def (GIMPLE_ASSUME): New statement kind.
8432         * gimple.h (struct gimple_statement_assume): New type.
8433         (is_a_helper <gimple_statement_assume *>::test,
8434         is_a_helper <const gimple_statement_assume *>::test): New.
8435         (gimple_build_assume): Declare.
8436         (gimple_has_substatements): Return true for GIMPLE_ASSUME.
8437         (gimple_assume_guard, gimple_assume_set_guard,
8438         gimple_assume_guard_ptr, gimple_assume_body_ptr, gimple_assume_body):
8439         New inline functions.
8440         * gsstruct.def (GSS_ASSUME): New.
8441         * gimple.cc (gimple_build_assume): New function.
8442         (gimple_copy): Handle GIMPLE_ASSUME.
8443         * gimple-pretty-print.cc (dump_gimple_assume): New function.
8444         (pp_gimple_stmt_1): Handle GIMPLE_ASSUME.
8445         * gimple-walk.cc (walk_gimple_op): Handle GIMPLE_ASSUME.
8446         * omp-low.cc (WALK_SUBSTMTS): Likewise.
8447         (lower_omp_1): Likewise.
8448         * omp-oacc-kernels-decompose.cc (adjust_region_code_walk_stmt_fn):
8449         Likewise.
8450         * tree-cfg.cc (verify_gimple_stmt, verify_gimple_in_seq_2): Likewise.
8451         * function.h (struct function): Add assume_function bitfield.
8452         * gimplify.cc (gimplify_call_expr): If the assumption isn't
8453         simple enough, expand it into GIMPLE_ASSUME wrapped block or
8454         for -O0 drop it.
8455         * gimple-low.cc: Include attribs.h.
8456         (create_assumption_fn): New function.
8457         (struct lower_assumption_data): New type.
8458         (find_assumption_locals_r, assumption_copy_decl,
8459         adjust_assumption_stmt_r, adjust_assumption_stmt_op,
8460         lower_assumption): New functions.
8461         (lower_stmt): Handle GIMPLE_ASSUME.
8462         * tree-ssa-ccp.cc (pass_fold_builtins::execute): Remove
8463         IFN_ASSUME calls.
8464         * lto-streamer-out.cc (output_struct_function_base): Pack
8465         assume_function bit.
8466         * lto-streamer-in.cc (input_struct_function_base): And unpack it.
8467         * cgraphunit.cc (cgraph_node::expand): Don't verify assume_function
8468         has TREE_ASM_WRITTEN set and don't release its body.
8469         (symbol_table::compile): Allow assume functions not to have released
8470         body.
8471         * internal-fn.cc (expand_ASSUME): Remove gcc_unreachable.
8472         * passes.cc (execute_one_pass): For TODO_discard_function don't
8473         release body of assume functions.
8474         * cgraph.cc (cgraph_node::verify_node): Don't verify cgraph nodes
8475         of PROP_assumptions_done functions.
8476         * tree-pass.h (PROP_assumptions_done): Define.
8477         (TODO_discard_function): Adjust comment.
8478         (make_pass_assumptions): Declare.
8479         * passes.def (pass_assumptions): Add.
8480         * timevar.def (TV_TREE_ASSUMPTIONS): New.
8481         * tree-inline.cc (remap_gimple_stmt): Handle GIMPLE_ASSUME.
8482         * tree-vrp.cc (pass_data_assumptions): New variable.
8483         (pass_assumptions): New class.
8484         (make_pass_assumptions): New function.
8485
8486 2022-10-18  Richard Biener  <rguenther@suse.de>
8487
8488         PR tree-optimization/107301
8489         * gimple-ssa-isolate-paths.cc (handle_return_addr_local_phi_arg):
8490         Check whether we can duplicate the block.
8491         (find_implicit_erroneous_behavior): Likewise.
8492
8493 2022-10-18  Andrew MacLeod  <amacleod@redhat.com>
8494
8495         PR tree-optimization/107273
8496         * value-relation.cc (equiv_oracle::add_partial_equiv): Merge
8497         instead of copying precison of each member.
8498
8499 2022-10-17  Jeff Law  <jeffreyalaw@gmail.com>
8500
8501         PR target/101697
8502         * config/h8300/combiner.md: Replace '<' preincment constraint with
8503         ZA/Z1..ZH/Z7 combinations.
8504         * config/h8300/movepush.md: Similarly
8505
8506 2022-10-17  Jeff Law  <jeffreyalaw@gmail.com>
8507
8508         * config/h8300/constraints.md (Za..Zh): New constraints for
8509         autoinc addresses using a specific register.
8510         * config/h8300/h8300.cc (pre_incdec_with_reg): New function.
8511         * config/h8300/h8300-protos.h (pre_incdec_with_reg): Add prototype.
8512
8513 2022-10-17  Jeff Law  <jlaw@ventanamicro.com>
8514
8515         * config/i386/cet.c: Remove accidental commit.
8516         * config/i386/driver-mingw32.c: Likewise.
8517         * config/i386/i386-builtins.c: Likewise.
8518         * config/i386/i386-d.c:  Likewise.
8519         * config/i386/i386-expand.c: Likewise.
8520         * config/i386/i386-features.c: Likewise.
8521         * config/i386/i386-options.c: Likewise.
8522         * config/i386/t-cet: Likewise.
8523         * config/i386/x86-tune-sched-atom.c: Likewise.
8524         * config/i386/x86-tune-sched-bd.c: Likewise.
8525         * config/i386/x86-tune-sched-core.c: Likewise.
8526         * config/i386/x86-tune-sched.c: Likewise.
8527
8528 2022-10-17  Jeff Law  <jeffreyalaw@gmail.com>
8529
8530         * common/config/h8300/h8300-common.cc (h8300_option_optimization_table):
8531         Enable redundant extension elimination at -O2 and above.
8532         * config/i386/cet.c: New file.
8533         * config/i386/driver-mingw32.c: New file.
8534         * config/i386/i386-builtins.c: New file.
8535         * config/i386/i386-d.c: New file.
8536         * config/i386/i386-expand.c: New file.
8537         * config/i386/i386-features.c: New file.
8538         * config/i386/i386-options.c: New file.
8539         * config/i386/t-cet: New file.
8540         * config/i386/x86-tune-sched-atom.c: New file.
8541         * config/i386/x86-tune-sched-bd.c: New file.
8542         * config/i386/x86-tune-sched-core.c: New file.
8543         * config/i386/x86-tune-sched.c: New file.
8544
8545 2022-10-17  Jeff Law  <jeffreyalaw@gmail.com>
8546
8547         * config/h8300/extensions.md (CCZN setting zero extended load): Add
8548         missing splitter.
8549
8550 2022-10-17  Aldy Hernandez  <aldyh@redhat.com>
8551
8552         PR tree-optimization/107293
8553         * tree-ssa-dom.cc
8554         (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges):
8555         Check that condition post-dominates the definition point.
8556
8557 2022-10-17  Aldy Hernandez  <aldyh@redhat.com>
8558
8559         PR tree-optimization/107286
8560         * value-range.cc (range_tests_floats): Do not test for -Inf when
8561         flag_finite_math_only.
8562
8563 2022-10-17  Andrew MacLeod  <amacleod@redhat.com>
8564
8565         * gimple-range-fold.cc (fold_using_range::range_of_range_op):
8566         Provide relation_trio class.
8567         * gimple-range-gori.cc (gori_compute::refine_using_relation):
8568         Provide relation_trio class.
8569         (gori_compute::refine_using_relation): Ditto.
8570         (gori_compute::compute_operand1_range): Provide lhs_op2 and
8571         op1_op2 relations via relation_trio class.
8572         (gori_compute::compute_operand2_range): Ditto.
8573         * gimple-range-op.cc (gimple_range_op_handler::calc_op1): Use
8574         relation_trio instead of relation_kind.
8575         (gimple_range_op_handler::calc_op2): Ditto.
8576         (*::fold_range): Ditto.
8577         * gimple-range-op.h (gimple_range_op::calc_op1): Adjust prototypes.
8578         (gimple_range_op::calc_op2): Adjust prototypes.
8579         * range-op-float.cc (*::fold_range): Use relation_trio instead of
8580         relation_kind.
8581         (*::op1_range): Ditto.
8582         (*::op2_range): Ditto.
8583         * range-op.cc (*::fold_range): Use relation_trio instead of
8584         relation_kind.
8585         (*::op1_range): Ditto.
8586         (*::op2_range): Ditto.
8587         * range-op.h (class range_operator): Adjust prototypes.
8588         (class range_operator_float): Ditto.
8589         (class range_op_handler): Adjust prototypes.
8590         (relop_early_resolve): Pickup op1_op2 relation from relation_trio.
8591         * value-relation.cc (VREL_LAST): Adjust use to be one past the end of
8592         the enum.
8593         (relation_oracle::validate_relation): Use relation_trio in call
8594         to fold_range.
8595         * value-relation.h (enum relation_kind_t): Add VREL_LAST as
8596         final element.
8597         (class relation_trio): New.
8598         (TRIO_VARYING, TRIO_SHIFT, TRIO_MASK): New.
8599
8600 2022-10-17  Andrew MacLeod  <amacleod@redhat.com>
8601
8602         * range-op-float.cc (foperator_not_equal::op1_range): Check for
8603         VREL_EQ after singleton.
8604         (foperator_unordered::op1_range): Set VARYING before calling
8605         clear_nan().
8606         (foperator_ordered::op1_range): Set rather than clear NAN if both
8607         operands are the same.
8608
8609 2022-10-17  Andrew MacLeod  <amacleod@redhat.com>
8610
8611         * value-relation.cc (value_relation::dump): Change message.
8612         * value-relation.h (value_relation::set_relation): If op1 is the
8613         same as op2 do not create a relation.
8614
8615 2022-10-17  Thomas Schwinge  <thomas@codesourcery.com>
8616
8617         * config/gcn/gcn.cc (VnMODE): Use 'case E_QImode:' instead of
8618         'case QImode:', etc.
8619
8620 2022-10-17  Thomas Schwinge  <thomas@codesourcery.com>
8621
8622         * gimple-expr.cc (mark_addressable_2): Tag as 'static'.
8623
8624 2022-10-17  Richard Biener  <rguenther@suse.de>
8625             Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
8626
8627         PR tree-optimization/99409
8628         PR tree-optimization/99394
8629         * tree-vectorizer.h (vect_def_type::vect_first_order_recurrence): Add.
8630         (stmt_vec_info_type::recurr_info_type): Likewise.
8631         (vectorizable_recurr): New function.
8632         * tree-vect-loop.cc (vect_phi_first_order_recurrence_p): New
8633         function.
8634         (vect_analyze_scalar_cycles_1): Look for first order
8635         recurrences.
8636         (vect_analyze_loop_operations): Handle them.
8637         (vect_transform_loop): Likewise.
8638         (vectorizable_recurr): New function.
8639         (maybe_set_vectorized_backedge_value): Handle the backedge value
8640         setting in the first order recurrence PHI and the permutes.
8641         * tree-vect-stmts.cc (vect_analyze_stmt): Handle first order
8642         recurrences.
8643         (vect_transform_stmt): Likewise.
8644         (vect_is_simple_use): Likewise.
8645         (vect_is_simple_use): Likewise.
8646         * tree-vect-slp.cc (vect_get_and_check_slp_defs): Likewise.
8647         (vect_build_slp_tree_2): Likewise.
8648         (vect_schedule_scc): Handle the backedge value setting in the
8649         first order recurrence PHI and the permutes.
8650
8651 2022-10-17  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
8652
8653         * config/riscv/t-riscv: Change Tab into 2 space.
8654
8655 2022-10-17  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
8656
8657         * config/riscv/riscv-vector-builtins.cc (mangle_builtin_type): Move down the function.
8658
8659 2022-10-17  Arsen Arsenovic  <arsen@aarsen.me>
8660
8661         * config.gcc: --target=*-elf --without-{newlib,headers} should
8662         provide stdint.h.
8663
8664 2022-10-17  Hu, Lin1  <lin1.hu@intel.com>
8665
8666         * common/config/i386/cpuinfo.h:
8667         (get_intel_cpu): Handle Meteorlake.
8668         * common/config/i386/i386-common.cc:
8669         (processor_alias_table): Add Meteorlake.
8670
8671 2022-10-17  Haochen Jiang  <haochen.jiang@intel.com>
8672
8673         * common/config/i386/cpuinfo.h:
8674         (get_intel_cpu): Handle Raptorlake.
8675         * common/config/i386/i386-common.cc:
8676         (processor_alias_table): Add Raptorlake.
8677
8678 2022-10-16  Jeff Law  <jeffreyalaw@gmail.com>
8679
8680         * config/h8300/constraints.md (Z0..Z7): New register
8681         constraints.
8682         * config/h8300/h8300.h (reg_class): Add new classes.
8683         (REG_CLASS_NAMES): Similarly.
8684         (REG_CLASS_CONTENTS): Similarly.
8685
8686 2022-10-16  Jeff Law  <jeffreyalaw@gmail.com>
8687
8688         * config/h8300/constraints.md (Zz constraint): Renamed
8689         from "z".
8690         * config/h8300/movepush.md (movqi_h8sx, movhi_h8sx): Adjust
8691         constraint to use Zz instead of Z.
8692
8693 2022-10-16  Jeff Law  <jeffreyalaw@gmail.com>
8694
8695         * config/h8300/h8300.cc (h8300_register_move_cost): Fix typo.
8696
8697 2022-10-14  Aldy Hernandez  <aldyh@redhat.com>
8698
8699         * value-range.cc (frange::set): Implement distinction between
8700         HONOR_SIGNED_ZEROS and MODE_HAS_SIGNED_ZEROS.
8701
8702 2022-10-14  Aldy Hernandez  <aldyh@redhat.com>
8703
8704         * gimple-range-op.cc (class cfn_copysign): New.
8705         (gimple_range_op_handler::maybe_builtin_call): Add
8706         CFN_BUILT_IN_COPYSIGN*.
8707
8708 2022-10-14  Aldy Hernandez  <aldyh@redhat.com>
8709
8710         * real.h (real_isdenormal): Check rvc_normal.
8711         * value-range.cc (range_tests_floats): New test.
8712
8713 2022-10-14  Aldy Hernandez  <aldyh@redhat.com>
8714
8715         * gimple-range-op.cc
8716         (gimple_range_op_handler::maybe_builtin_call): Replace
8717         CFN_BUILTIN_SIGNBIT* cases with CASE_FLT_FN.
8718
8719 2022-10-14  Aldy Hernandez  <aldyh@redhat.com>
8720
8721         * value-range.cc (frange::set): Normalize ranges for both bounds.
8722
8723 2022-10-14  Aldy Hernandez  <aldyh@redhat.com>
8724
8725         * value-range.cc (frange::set): Drop -0.0 for !HONOR_SIGNED_ZEROS.
8726
8727 2022-10-14  Aldy Hernandez  <aldyh@redhat.com>
8728
8729         * gimple-range-op.cc
8730         (gimple_range_op_handler::maybe_builtin_call): Add
8731         CFN_BUILT_IN_SIGNBIT[FL]* entries.
8732
8733 2022-10-14  Richard Biener  <rguenther@suse.de>
8734
8735         PR tree-optimization/107254
8736         * tree-vect-slp.cc (vect_slp_analyze_node_operations_1):
8737         For permutes also analyze live lanes.
8738         (vect_schedule_slp_node): For permutes also code generate
8739         live lane extracts.
8740
8741 2022-10-14  Eric Botcazou  <ebotcazou@adacore.com>
8742
8743         PR target/107248
8744         * config/sparc/sparc.cc (sparc_expand_prologue): Emit a frame
8745         blockage for leaf functions.
8746         (sparc_flat_expand_prologue): Emit frame instead of full blockage.
8747         (sparc_expand_epilogue): Emit a frame blockage for leaf functions.
8748         (sparc_flat_expand_epilogue): Emit frame instead of full blockage.
8749
8750 2022-10-14  Jakub Jelinek  <jakub@redhat.com>
8751
8752         * tree-core.h (enum tree_index): Add TI_BFLOAT16_TYPE.
8753         * tree.h (bfloat16_type_node): Define.
8754         * tree.cc (excess_precision_type): Promote bfloat16_type_mode
8755         like float16_type_mode.
8756         (build_common_tree_nodes): Initialize bfloat16_type_node if
8757         BFmode is supported.
8758         * expmed.h (maybe_expand_shift): Declare.
8759         * expmed.cc (maybe_expand_shift): No longer static.
8760         * expr.cc (convert_mode_scalar): Don't ICE on BF -> HF or HF -> BF
8761         conversions.  If there is no optab, handle BF -> {DF,XF,TF,HF}
8762         conversions as separate BF -> SF -> {DF,XF,TF,HF} conversions, add
8763         -ffast-math generic implementation for BF -> SF and SF -> BF
8764         conversions.
8765         * builtin-types.def (BT_BFLOAT16, BT_FN_BFLOAT16_CONST_STRING): New.
8766         * builtins.def (BUILT_IN_NANSF16B): New builtin.
8767         * fold-const-call.cc (fold_const_call): Handle CFN_BUILT_IN_NANSF16B.
8768         * config/i386/i386.cc (classify_argument): Handle E_BCmode.
8769         (ix86_libgcc_floating_mode_supported_p): Also return true for BFmode
8770         for -msse2.
8771         (ix86_mangle_type): Mangle BFmode as DF16b.
8772         (ix86_invalid_conversion, ix86_invalid_unary_op,
8773         ix86_invalid_binary_op): Remove.
8774         (TARGET_INVALID_CONVERSION, TARGET_INVALID_UNARY_OP,
8775         TARGET_INVALID_BINARY_OP): Don't redefine.
8776         * config/i386/i386-builtins.cc (ix86_bf16_type_node): Remove.
8777         (ix86_register_bf16_builtin_type): Use bfloat16_type_node rather than
8778         ix86_bf16_type_node, only create it if still NULL.
8779         * config/i386/i386-builtin-types.def (BFLOAT16): Likewise.
8780         * config/i386/i386.md (cbranchbf4, cstorebf4): New expanders.
8781
8782 2022-10-14  Jakub Jelinek  <jakub@redhat.com>
8783
8784         PR middle-end/323
8785         PR c++/107097
8786         * doc/invoke.texi (-fexcess-precision=standard): Mention that the
8787         option now also works in C++.
8788
8789 2022-10-13  Eric Botcazou  <ebotcazou@adacore.com>
8790
8791         * gimple-ssa-warn-access.cc (pass_waccess::check_call): Return
8792         early for calls made from thunks.
8793
8794 2022-10-13  Eric Botcazou  <ebotcazou@adacore.com>
8795
8796         * expr.cc (emit_group_stote): Fix handling of modes of different
8797         sizes for big-endian targets in latest change and add commentary.
8798
8799 2022-10-13  Martin Liska  <mliska@suse.cz>
8800
8801         * output.h (assemble_vtv_preinit_initializer): Remove.
8802         * varasm.cc (assemble_vtv_preinit_initializer): Remove.
8803
8804 2022-10-13  Andrew MacLeod  <amacleod@redhat.com>
8805
8806         PR tree-optimization/102540
8807         PR tree-optimization/102872
8808         * gimple-range-cache.cc (ranger_cache::fill_block_cache):
8809         Handle partial equivs.
8810         (ranger_cache::range_from_dom): Cleanup dump output.
8811
8812 2022-10-13  Andrew MacLeod  <amacleod@redhat.com>
8813
8814         * range-op.cc (operator_cast::lhs_op1_relation): New.
8815         (operator_bitwise_and::lhs_op1_relation): New.
8816
8817 2022-10-13  Andrew MacLeod  <amacleod@redhat.com>
8818
8819         * gimple-range-cache.cc (ranger_cache::fill_block_cache): Use
8820         iterator.
8821         * value-relation.cc
8822         (equiv_relation_iterator::equiv_relation_iterator): New.
8823         (equiv_relation_iterator::next): New.
8824         (equiv_relation_iterator::get_name): New.
8825         * value-relation.h (class relation_oracle): Privatize some methods.
8826         (class equiv_relation_iterator): New.
8827         (FOR_EACH_EQUIVALENCE): New.
8828         (FOR_EACH_PARTIAL_EQUIV): New.
8829         (FOR_EACH_PARTIAL_AND_FULL_EQUIV): New.
8830
8831 2022-10-13  Andrew MacLeod  <amacleod@redhat.com>
8832
8833         * value-relation.cc (equiv_chain::dump): Don't print empty
8834         equivalences.
8835         (equiv_oracle::equiv_oracle): Allocate a partial equiv table.
8836         (equiv_oracle::~equiv_oracle): Release the partial equiv table.
8837         (equiv_oracle::add_partial_equiv): New.
8838         (equiv_oracle::partial_equiv_set): New.
8839         (equiv_oracle::partial_equiv): New.
8840         (equiv_oracle::query_relation): Check for partial equivs too.
8841         (equiv_oracle::dump): Also dump partial equivs.
8842         (dom_oracle::register_relation): Handle partial equivs.
8843         (dom_oracle::query_relation): Check for partial equivs.
8844         * value-relation.h (enum relation_kind_t): Add partial equivs.
8845         (relation_partial_equiv_p): New.
8846         (relation_equiv_p): New.
8847         (class pe_slice): New.
8848         (class equiv_oracle): Add prototypes.
8849         (pe_to_bits): New.
8850         (bits_to_pe): New.
8851         (pe_min): New.
8852
8853 2022-10-13  Richard Biener  <rguenther@suse.de>
8854
8855         PR tree-optimization/107247
8856         * tree-vect-loop.cc (vect_create_epilog_for_reduction):
8857         Reduce multi vector SLP reduction accumulators.  Check
8858         the adjusted number of accumulator vectors against
8859         one for the re-use in the epilogue.
8860
8861 2022-10-13  Jakub Jelinek  <jakub@redhat.com>
8862
8863         * genmodes.cc (emit_mode_wider): Emit previous content of
8864         mode_wider array into mode_next array and for mode_wider
8865         emit always VOIDmode for !CLASS_HAS_WIDER_MODES_P classes,
8866         otherwise skip through modes with the same precision.
8867         * machmode.h (mode_next): Declare.
8868         (GET_MODE_NEXT_MODE): New inline function.
8869         (mode_iterator::get_next, mode_iterator::get_known_next): New
8870         function templates.
8871         (FOR_EACH_MODE_IN_CLASS): Use get_next instead of get_wider.
8872         (FOR_EACH_MODE): Use get_known_next instead of get_known_wider.
8873         (FOR_EACH_MODE_FROM): Use get_next instead of get_wider.
8874         (FOR_EACH_WIDER_MODE_FROM): Define.
8875         (FOR_EACH_NEXT_MODE): Define.
8876         * expmed.cc (emit_store_flag_1): Use FOR_EACH_WIDER_MODE_FROM
8877         instead of FOR_EACH_MODE_FROM.
8878         * optabs.cc (prepare_cmp_insn): Likewise.  Remove redundant
8879         !CLASS_HAS_WIDER_MODES_P check.
8880         (prepare_float_lib_cmp): Use FOR_EACH_WIDER_MODE_FROM instead of
8881         FOR_EACH_MODE_FROM.
8882         * config/i386/i386-expand.cc (get_mode_wider_vector): Use
8883         GET_MODE_NEXT_MODE instead of GET_MODE_WIDER_MODE.
8884
8885 2022-10-13  Wilco Dijkstra  <wdijkstr@arm.com>
8886
8887         PR target/105773
8888         * config/aarch64/aarch64.cc (aarch64_select_cc_mode): Allow
8889         GT/LE for merging compare with zero into AND.
8890         (aarch64_get_condition_code_1): Add CC_NZVmode support.
8891         * config/aarch64/aarch64-modes.def: Add CC_NZV.
8892         * config/aarch64/aarch64.md: Use CC_NZV in cmp+and patterns.
8893
8894 2022-10-13  Richard Biener  <rguenther@suse.de>
8895
8896         PR tree-optimization/107160
8897         * tree-vect-loop.cc (vect_create_epilog_for_reduction):
8898         Do not register accumulator if we failed to reduce it
8899         to a single vector.
8900
8901 2022-10-13  Aldy Hernandez  <aldyh@redhat.com>
8902
8903         * range-op-float.cc (range_operator_float::op1_op2_relation): New.
8904         (class foperator_equal): Add using.
8905         (class foperator_not_equal): Same.
8906         (class foperator_lt): Same.
8907         (class foperator_le): Same.
8908         (class foperator_gt): Same.
8909         (class foperator_ge): Same.
8910         * range-op.cc (range_op_handler::op1_op2_relation): New.
8911         * range-op.h (range_operator_float::op1_op2_relation): New.
8912
8913 2022-10-13  Richard Biener  <rguenther@suse.de>
8914
8915         * genmatch.cc (parser::parse_c_expr): Diagnose 'return'.
8916         * match.pd: Replace 'return' statements in with expressions
8917         with appropriate variants.
8918
8919 2022-10-13  Andre Vieira  <andre.simoesdiasvieira@arm.com>
8920
8921         PR tree-optimization/107229
8922         * tree-if-conv.cc (get_bitfield_rep): Fix bitposition calculation.
8923
8924 2022-10-13  Andre Vieira  <andre.simoesdiasvieira@arm.com>
8925
8926         PR tree-optimization/107226
8927         * tree-vect-patterns.cc (vect_recog_bitfield_ref_pattern): Reject
8928         BITFIELD_REF's with non integral typed first operands.
8929
8930 2022-10-13  Joseph Myers  <joseph@codesourcery.com>
8931
8932         * ginclude/float.h (FLT_IS_IEC_60559, DBL_IS_IEC_60559)
8933         (LDBL_IS_IEC_60559): Update comment.
8934
8935 2022-10-12  Aldy Hernandez  <aldyh@redhat.com>
8936
8937         * range-op-float.cc (class foperator_negate): New.
8938         (floating_op_table::floating_op_table): Add NEGATE_EXPR
8939         (range_op_float_tests): Add negate tests.
8940
8941 2022-10-12  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
8942
8943         * config/riscv/riscv-vector-builtins.h: Remove unused macro.
8944
8945 2022-10-12  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
8946
8947         * config/riscv/riscv-vector-builtins.cc (DEF_RVV_TYPE): Apply
8948         clang-format.
8949         (add_vector_type_attribute): Ditto.
8950         * config/riscv/riscv-vector-builtins.def (DEF_RVV_TYPE): Apply
8951         clang-format.
8952         * config/riscv/riscv-vector-builtins.h (DEF_RVV_TYPE): Apply
8953         clang-format.
8954
8955 2022-10-12  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
8956
8957         * config/riscv/riscv-vector-builtins.cc (builtin_types): Redefine
8958         vector types.
8959         (build_const_pointer): New function.
8960         (register_builtin_type): Ditto.
8961         (DEF_RVV_TYPE): Simplify macro.
8962         (register_vector_type): Refine implementation.
8963         * config/riscv/riscv-vector-builtins.h (rvv_builtin_types_t): New.
8964
8965 2022-10-12  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
8966
8967         * config/riscv/riscv-vector-builtins.h (class rvv_switcher): Move to
8968         this to ....
8969         * config/riscv/riscv-vector-builtins.cc (class rvv_switcher):
8970         here.
8971
8972 2022-10-12  Cui,Lili  <lili.cui@intel.com>
8973
8974         * config/i386/driver-i386.cc (host_detect_local_cpu):
8975         Move sapphirerapids out of AVX512_VP2INTERSECT.
8976         * config/i386/i386.h: Remove AVX512_VP2INTERSECT from PTA_SAPPHIRERAPIDS
8977         * doc/invoke.texi: Remove AVX512_VP2INTERSECT from SAPPHIRERAPIDS
8978
8979 2022-10-12  Martin Liska  <mliska@suse.cz>
8980
8981         * gcov-io.cc (gcov_write_summary): Rename to ...
8982         (gcov_write_object_summary): ... this.
8983         * gcov-io.h (GCOV_TAG_OBJECT_SUMMARY_LENGTH): Rename from ...
8984         (GCOV_TAG_SUMMARY_LENGTH): ... this.
8985
8986 2022-10-12  Martin Liska  <mliska@suse.cz>
8987
8988         * configure: Regenerate.
8989
8990 2022-10-12  Aldy Hernandez  <aldyh@redhat.com>
8991
8992         * range-op-float.cc (frange_float): New.
8993         (range_op_float_tests): New.
8994         * range-op.cc (range_op_tests): Call range_op_float_tests.
8995
8996 2022-10-12  Aldy Hernandez  <aldyh@redhat.com>
8997
8998         * value-range.h (frange::nan_signbit_p): New.
8999
9000 2022-10-12  Aldy Hernandez  <aldyh@redhat.com>
9001
9002         * value-range.cc (frange::set_nonnegative): Pass bool to
9003         update_nan.
9004         * value-range.h: Disallow conversion to bool in update_nan().
9005
9006 2022-10-12  Aldy Hernandez  <aldyh@redhat.com>
9007
9008         * value-range.h (frange::frange): Add constructor taking type.
9009
9010 2022-10-12  Aldy Hernandez  <aldyh@redhat.com>
9011
9012         * range-op-float.cc: Add relation_kind = VREL_VARYING to all
9013         methods.
9014
9015 2022-10-11  Aldy Hernandez  <aldyh@redhat.com>
9016
9017         * gimple-range-gori.cc (gori_compute::logical_combine): Avoid
9018         calling tracer.trailer().
9019
9020 2022-10-11  Jakub Jelinek  <jakub@redhat.com>
9021
9022         PR target/107185
9023         * config/i386/i386.md (*notxor<mode>_1): Use MASK_REG_P (x) instead of
9024         MASK_REGNO_P (REGNO (x)).
9025
9026 2022-10-11  Aldy Hernandez  <aldyh@redhat.com>
9027
9028         * range-op-float.cc (class foperator_abs): New.
9029         (floating_op_table::floating_op_table): Add ABS_EXPR entry.
9030
9031 2022-10-11  Aldy Hernandez  <aldyh@redhat.com>
9032
9033         * range-op-float.cc (foperator_unordered_le::op1_range): New.
9034         (foperator_unordered_le::op2_range): New.
9035         (foperator_unordered_gt::op1_range): New.
9036         (foperator_unordered_gt::op2_range): New.
9037         (foperator_unordered_ge::op1_range): New.
9038         (foperator_unordered_ge::op2_range): New.
9039         (foperator_unordered_equal::op1_range): New.
9040
9041 2022-10-11  Aldy Hernandez  <aldyh@redhat.com>
9042
9043         * range-op-float.cc (class foperator_unordered_lt): New.
9044         (class foperator_relop_unknown): Remove
9045         (class foperator_unordered_le): New.
9046         (class foperator_unordered_gt): New.
9047         (class foperator_unordered_ge): New.
9048         (class foperator_unordered_equal): New.
9049         (floating_op_table::floating_op_table): Replace all UN_EXPR
9050         entries with their appropriate fop_unordered_* counterpart.
9051
9052 2022-10-11  Aldy Hernandez  <aldyh@redhat.com>
9053
9054         * range-op.cc (operator_equal::op1_range): Move BRS_TRUE case up.
9055         (operator_lt::op2_range): Same.
9056         (operator_le::op2_range): Same.
9057         (operator_gt::op2_range): Same.
9058         (operator_ge::op2_range): Same.
9059
9060 2022-10-11  Richard Biener  <rguenther@suse.de>
9061
9062         PR tree-optimization/107212
9063         * tree-vect-loop.cc (vectorizable_reduction): Make sure to
9064         set STMT_VINFO_REDUC_DEF for all live lanes in a SLP
9065         reduction.
9066         (vectorizable_live_operation): Do not pun to the SLP
9067         node representative for reduction epilogue generation.
9068
9069 2022-10-11  Andrew Stubbs  <ams@codesourcery.com>
9070
9071         * config/gcn/gcn-valu.md (neg<mode>2): New define_expand.
9072
9073 2022-10-11  Andrew Stubbs  <ams@codesourcery.com>
9074
9075         * config/gcn/gcn-valu.md (vec_init<V_ALL:mode><V_ALL_ALT:mode>): New.
9076         * config/gcn/gcn.cc (GEN_VN): Add andvNsi3, subvNsi3.
9077         (GEN_VNM): Add gathervNm_expr.
9078         (GEN_VN_NOEXEC): Add vec_seriesvNsi.
9079         (gcn_expand_vector_init): Add initialization of vectors from smaller
9080         vectors.
9081
9082 2022-10-11  Andrew Stubbs  <ams@codesourcery.com>
9083
9084         * config/gcn/gcn-protos.h (get_exec): Add prototypes for two variants.
9085         * config/gcn/gcn-valu.md
9086         (vec_extract<V_ALL:mode><V_ALL_ALT:mode>): New define_expand.
9087         * config/gcn/gcn.cc (get_exec): Export the existing function. Add a
9088         new overload variant.
9089
9090 2022-10-11  Andrew Stubbs  <ams@codesourcery.com>
9091
9092         * config/gcn/gcn-valu.md
9093         (<cvt_name><VCVT_MODE:mode><VCVT_FMODE:mode>2<exec>): Use MODE_VF.
9094         (<cvt_name><VCVT_FMODE:mode><VCVT_IMODE:mode>2<exec>): Likewise.
9095         * config/gcn/gcn.h (MODE_VF): New macro.
9096
9097 2022-10-11  Andrew Stubbs  <ams@codesourcery.com>
9098
9099         * config/gcn/gcn-modes.def (VECTOR_MODE): Add new modes
9100         V32QI, V32HI, V32SI, V32DI, V32TI, V32HF, V32SF, V32DF,
9101         V16QI, V16HI, V16SI, V16DI, V16TI, V16HF, V16SF, V16DF,
9102         V8QI, V8HI, V8SI, V8DI, V8TI, V8HF, V8SF, V8DF,
9103         V4QI, V4HI, V4SI, V4DI, V4TI, V4HF, V4SF, V4DF,
9104         V2QI, V2HI, V2SI, V2DI, V2TI, V2HF, V2SF, V2DF.
9105         (ADJUST_ALIGNMENT): Likewise.
9106         * config/gcn/gcn-protos.h (gcn_full_exec): Delete.
9107         (gcn_full_exec_reg): Delete.
9108         (gcn_scalar_exec): Delete.
9109         (gcn_scalar_exec_reg): Delete.
9110         (vgpr_1reg_mode_p): Use inner mode to identify vector registers.
9111         (vgpr_2reg_mode_p): Likewise.
9112         (vgpr_vector_mode_p): Use VECTOR_MODE_P.
9113         * config/gcn/gcn-valu.md (V_QI, V_HI, V_HF, V_SI, V_SF, V_DI, V_DF,
9114         V_QIHI, V_1REG, V_INT_1REG, V_INT_1REG_ALT, V_FP_1REG, V_2REG, V_noQI,
9115         V_noHI, V_INT_noQI, V_INT_noHI, V_ALL, V_ALL_ALT, V_INT, V_FP):
9116         Add additional vector modes.
9117         (V64_SI, V64_DI, V64_ALL, V64_FP): New iterators.
9118         (scalar_mode, SCALAR_MODE, vnsi, VnSI, vndi, VnDI, sdwa):
9119         Add additional vector mode mappings.
9120         (mov<mode>): Implement vector length conversions.
9121         (ldexp<mode>3<exec>): Use VnSI.
9122         (frexp<mode>_exp2<exec>): Likewise.
9123         (VCVT_MODE, VCVT_FMODE, VCVT_IMODE): Add additional vector modes.
9124         (reduc_<reduc_op>_scal_<mode>): Use V64_ALL.
9125         (fold_left_plus_<mode>): Use V64_FP.
9126         (*<reduc_op>_dpp_shr_<mode>): Use V64_1REG.
9127         (*<reduc_op>_dpp_shr_<mode>): Use V64_DI.
9128         (*plus_carry_dpp_shr_<mode>): Use V64_INT_1REG.
9129         (*plus_carry_in_dpp_shr_<mode>): Use V64_SI.
9130         (*plus_carry_dpp_shr_<mode>): Use V64_DI.
9131         (mov_from_lane63_<mode>): Use V64_2REG.
9132         * config/gcn/gcn.cc (VnMODE): New function.
9133         (gcn_can_change_mode_class): Support multiple vector sizes.
9134         (gcn_modes_tieable_p): Likewise.
9135         (gcn_operand_part): Likewise.
9136         (gcn_scalar_exec): Delete function.
9137         (gcn_scalar_exec_reg): Delete function.
9138         (gcn_full_exec): Delete function.
9139         (gcn_full_exec_reg): Delete function.
9140         (gcn_inline_fp_constant_p): Support multiple vector sizes.
9141         (gcn_fp_constant_p): Likewise.
9142         (A): New macro.
9143         (GEN_VN_NOEXEC): New macro.
9144         (GEN_VNM_NOEXEC): New macro.
9145         (GEN_VN): New macro.
9146         (GEN_VNM): New macro.
9147         (GET_VN_FN): New macro.
9148         (CODE_FOR): New macro.
9149         (CODE_FOR_OP): New macro.
9150         (gen_mov_with_exec): Delete function.
9151         (gen_duplicate_load): Delete function.
9152         (gcn_expand_vector_init): Support multiple vector sizes.
9153         (strided_constant): Likewise.
9154         (gcn_addr_space_legitimize_address): Likewise.
9155         (gcn_expand_scalar_to_vector_address): Likewise.
9156         (gcn_expand_scaled_offsets): Likewise.
9157         (gcn_secondary_reload): Likewise.
9158         (gcn_valid_cvt_p): Likewise.
9159         (gcn_expand_builtin_1): Likewise.
9160         (gcn_make_vec_perm_address): Likewise.
9161         (gcn_vectorize_vec_perm_const): Likewise.
9162         (gcn_vector_mode_supported_p): Likewise.
9163         (gcn_autovectorize_vector_modes): New hook.
9164         (gcn_related_vector_mode): Support multiple vector sizes.
9165         (gcn_expand_dpp_shr_insn): Add FIXME comment.
9166         (gcn_md_reorg): Support multiple vector sizes.
9167         (print_reg): Likewise.
9168         (print_operand): Likewise.
9169         (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_MODES): New hook.
9170
9171 2022-10-11  Andre Vieira  <andre.simoesdiasvieira@arm.com>
9172
9173         * tree-if-conv.cc (if_convertible_loop_p_1): Move ordering of loop bb's from
9174         here...
9175         (tree_if_conversion): ... to here.  Also call bitfield lowering when
9176         appropriate.
9177         (version_loop_for_if_conversion): Adapt to enable loop versioning when we only
9178         need to lower bitfields.
9179         (ifcvt_split_critical_edges): Relax condition of expected loop form as this is
9180         checked earlier.
9181         (get_bitfield_rep): New function.
9182         (lower_bitfield): Likewise.
9183         (bitfields_to_lower_p): Likewise.
9184         (need_to_lower_bitfields): New global boolean.
9185         (need_to_ifcvt): Likewise.
9186         * tree-vect-data-refs.cc (vect_find_stmt_data_reference): Improve diagnostic
9187         message.
9188         * tree-vect-patterns.cc (vect_recog_temp_ssa_var): Add default value for last
9189         parameter.
9190         (vect_recog_bitfield_ref_pattern): New.
9191         (vect_recog_bit_insert_pattern): New.
9192
9193 2022-10-11  liuhongt  <hongtao.liu@intel.com>
9194
9195         PR target/107093
9196         * config/i386/i386.md (*notxor<mode>_1): New post_reload
9197         define_insn_and_split.
9198         (*notxorqi_1): Ditto.
9199
9200 2022-10-11  Aldy Hernandez  <aldyh@redhat.com>
9201
9202         PR tree-optimization/107195
9203         * value-range.cc (irange::set_range_from_nonzero_bits): Set range
9204         to [0,0] when nonzero mask is 0.
9205
9206 2022-10-11  Olivier Hainque  <hainque@adacore.com>
9207
9208         * configure: Regenerate.
9209
9210 2022-10-11  Olivier Hainque  <hainque@adacore.com>
9211
9212         * config.gcc (*vxworks*): Add t-slibgcc fragment
9213         if enable_shared.
9214
9215 2022-10-11  Olivier Hainque  <hainque@adacore.com>
9216
9217         * config/vxworks.h (VX_LGCC_EH_SO0, VX_LGCC_EH_SO1): New
9218         internal macros.
9219         (VXWORKS_LIBGCC_SPEC): Use them and document.
9220
9221 2022-10-11  Martin Liska  <mliska@suse.cz>
9222
9223         * gimple-range-op.cc: Add override keyword.
9224
9225 2022-10-11  Eugene Rozenfeld  <erozen@microsoft.com>
9226
9227         PR debug/107193
9228         * tree-cfg.cc (assign_discriminators): Move declaration of cur_locus_e
9229         out of the loop.
9230
9231 2022-10-11  Liwei Xu  <liwei.xu@intel.com>
9232             liuhongt  <hongtao.liu@intel.com>
9233
9234         PR tree-optimization/54346
9235         * match.pd: Merge the index of VCST then generates the new vec_perm.
9236
9237 2022-10-11  Jeff Law  <jeffreyalaw@gmail.com>
9238
9239         PR rtl-optimization/107182
9240         * cfgrtl.cc (fixup_reorder_chain): When optimizing a jump to a
9241         return, clear EDGE_CROSSING on the appropriate edge.
9242
9243 2022-10-11  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
9244
9245         * config/riscv/riscv-vector-builtins.cc (struct vector_type_info): Move
9246         from config/riscv/riscv-vector-builtins.h.
9247         (DEF_RVV_TYPE): Change USER_NAME to NAME.
9248         (register_vector_type): Change user_name to name.
9249         * config/riscv/riscv-vector-builtins.def (DEF_RVV_TYPE): Change
9250         USER_NAME to NAME.
9251         * config/riscv/riscv-vector-builtins.h (struct vector_type_info): Move
9252         to riscv-vector-builtins.cc.
9253         (DEF_RVV_TYPE): Change USER_NAME to NAME.
9254
9255 2022-10-11  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
9256
9257         * config/riscv/riscv.md: Add vsetvl instruction type.
9258
9259 2022-10-10  Nathan Sidwell  <nathan@acm.org>
9260
9261         * common.opt (-fabi-version=): Document 18.
9262         * doc/invoke.texi (-fabi-version): Document 18.
9263
9264 2022-10-10  Andrea Corallo  <andrea.corallo@arm.com>
9265
9266         PR other/99723
9267         * toplev.cc (toplev::main): Don't run self tests in case of
9268         previous error.
9269
9270 2022-10-10  Kito Cheng  <kito.cheng@sifive.com>
9271
9272         * config/riscv/riscv-c.cc: Add newline to the end of file.
9273
9274 2022-10-10  Aldy Hernandez  <aldyh@redhat.com>
9275
9276         * range-op-float.cc (class foperator_identity): Make members public.
9277         (class foperator_equal): Same.
9278         (class foperator_not_equal): Same.
9279         (class foperator_lt): Same.
9280         (class foperator_le): Same.
9281         (class foperator_gt): Same.
9282         (class foperator_ge): Same.
9283         (class foperator_unordered): Same.
9284         (class foperator_ordered): Same.
9285
9286 2022-10-10  Aldy Hernandez  <aldyh@redhat.com>
9287
9288         * value-range.h (frange::maybe_isnan): New.
9289
9290 2022-10-10  Aldy Hernandez  <aldyh@redhat.com>
9291
9292         * range-op-float.cc (foperator_not_equal::op1_range): Set NAN on
9293         TRUE side for x != x.
9294
9295 2022-10-10  Aldy Hernandez  <aldyh@redhat.com>
9296
9297         * range-op-float.cc (foperator_unordered::op1_range): Set NAN when
9298         operands are equal and result is TRUE.
9299
9300 2022-10-10  Aldy Hernandez  <aldyh@redhat.com>
9301
9302         * range.h (range_true): Return int_range<2>.
9303         (range_false): Same.
9304         (range_true_and_false): Same.
9305
9306 2022-10-10  Aldy Hernandez  <aldyh@redhat.com>
9307
9308         * gimple-range-op.cc: Add op1_range entry for __builtin_signbit.
9309
9310 2022-10-10  liuhongt  <hongtao.liu@intel.com>
9311
9312         PR target/107185
9313         * config/i386/i386.md (lrint<MODEF:mode><SWI48:mode>2): Swap
9314         predicate of operands[0] and operands[1].
9315
9316 2022-10-10  Claudiu Zissulescu  <claziss@gmail.com>
9317
9318         * common/config/arc/arc-common.cc (arc_option_optimization_table):
9319         Remove Rcq and Rcw options.
9320         * config/arc/arc.opt (mRcq): Ignore option, preserve it for
9321         backwards compatibility.
9322         (mRcw): Likewise.
9323         * doc/invoke.texi (mRcw, mRcq): Update document.
9324
9325 2022-10-10  Claudiu Zissulescu  <claziss@gmail.com>
9326
9327         * config/arc/arc.cc (arc_check_short_reg_p): New function.
9328         (arc_address_cost): Replace satisfies_constraint_Rcq with the
9329         above new function.
9330         (arc_output_addsi): Likewise.
9331         (split_addsi): Likewise.
9332         (split_subsi): Likewise.
9333         * config/arc/arc.md (movqi_insn): Remove Rcq constraint.
9334         (movhi_insn): Likewise.
9335         (movsi_insn): Likewise.
9336         (tst_movb): Likewise.
9337         (tst): Likewise.
9338         (tst_bitfield): Likewise.
9339         (abssi2): Likewise.
9340         (addsi3_mixed): Likewise.
9341         (mulhisi3_reg): Likewise.
9342         (umulhisi3_reg): Likewise.
9343         (mulsi_600): Likewise.
9344         (mul64): Likewise.
9345         (subsi3_insn): Likewise.
9346         (bicsi3_insn): Likewise.
9347         (xorsi3): Likewise.
9348         (negsi2): Likewise.
9349         (one_cmplsi2): Likewise.
9350         (lshrsi3_insn): Likewise.
9351         (cmpsi_cc_insn_mixed): Likewise.
9352         (cmpsi_cc_zn_insn): Likewise.
9353         (btst): Likewise.
9354         (cmpsi_cc_z_insn): Likewise.
9355         (cmpsi_cc_c_insn): Likewise.
9356         (indirect_jump): Likewise.
9357         (casesi_jump): Likewise.
9358         (call_i): Likewise.
9359         (call_value_i): Likewise.
9360         (bbit): Likewise.
9361         (abssf2): Likewise.
9362         (ashlsi2_cnt1): Likewise.
9363         (lshrsi3_cnt1): Likewise.
9364         (ashrsi3_cnt1): Likewise.
9365         * config/arc/constraints.md (Rcq): Remove.
9366
9367 2022-10-10  Claudiu Zissulescu  <claziss@gmail.com>
9368
9369         * config/arc/arc.md (smaxsi3): Remove Rcw.
9370         (sminsi3): Likewise.
9371         (addsi3_mixed): Likewise.
9372         (add_f_2): Likewise.
9373         (subsi3_insn): Likewise.
9374         (sub_f): Likewise.
9375         (sub_n): Likewise.
9376         (bset): Likewise.
9377         (bxor): Likewise.
9378         (bclr): Likewise.
9379         (bset_insn): Likewise.
9380         (bxor_insn): Likewise.
9381         (bclr_insn): Likewise.
9382         (bmsk_insn): Likewise.
9383         (bicsi3_insn): Likewise.
9384         (xorsi3): Likewise.
9385         (negsi2): Likewise.
9386         (lshrsi3_insn): Likewise.
9387         (abssf2): Likewise.
9388         (negsf2): Likewise.
9389         * config/arc/constraints.md(Rcw): Remove it.
9390
9391 2022-10-10  Claudiu Zissulescu  <claziss@gmail.com>
9392
9393         * config/arc/arc.md(mulsi3_700): Remove Rcr.
9394         (mulsi3_highpart): Likewise.
9395         (umulsi3_highpart_i): Likewise.
9396         (umulsi3_highpart_int): Likewise.
9397         (macd): Likewise.
9398         (macdu): Likewise.
9399         * config/arc/constraints.md (Rcr): Remove it.
9400
9401 2022-10-10  Claudiu Zissulescu  <claziss@gmail.com>
9402
9403         * config/arc/arc.cc (arc_save_callee_enter): Use negative offsets.
9404
9405 2022-10-09  Dimitar Dimitrov  <dimitar@dinux.eu>
9406
9407         PR target/106562
9408         * config/pru/pru-protos.h (pru_noteq_condition): New
9409         function declaration.
9410         * config/pru/pru.cc (pru_noteq_condition): New function.
9411         * config/pru/pru.md (cbranchdi4): Define new pattern.
9412
9413 2022-10-09  Dimitar Dimitrov  <dimitar@dinux.eu>
9414
9415         * config/pru/pru.md (lshrdi3): New expand pattern.
9416         (ashldi3): Ditto.
9417
9418 2022-10-09  YunQiang Su  <yunqiang.su@cipunited.com>
9419
9420         * config.gcc: set with_arch to default_mips_arch if no defined.
9421         * config/mips/driver-native.cc (host_detect_local_cpu):
9422         try getauxval(AT_BASE_PLATFORM) and _MIPS_ARCH, too.
9423         pass -mnan=2008 if __mips_nan2008__ is defined.
9424         * config.in: define HAVE_SYS_AUXV_H and HAVE_GETAUXVAL.
9425         * configure.ac: detect sys/auxv.h and getauxval.
9426         * configure: regenerated.
9427
9428 2022-10-07  Eugene Rozenfeld  <erozen@microsoft.com>
9429
9430         * tree-cfg.cc (assign_discriminators): Set discriminators for call stmts
9431         on the same line within the same basic block.
9432
9433 2022-10-07  Qing Zhao  <qing.zhao@oracle.com>
9434
9435         PR tree-optimization/101836
9436         * tree-object-size.cc (addr_object_size): Use array_at_struct_end_p
9437         to determine a flexible array member reference.
9438
9439 2022-10-07  Qing Zhao  <qing.zhao@oracle.com>
9440
9441         * doc/extend.texi: Document strict_flex_array attribute.
9442         * doc/invoke.texi: Document -fstrict-flex-arrays[=n] option.
9443         * print-tree.cc (print_node): Print new bit decl_not_flexarray.
9444         * tree-core.h (struct tree_decl_common): New bit field
9445         decl_not_flexarray.
9446         * tree-streamer-in.cc (unpack_ts_decl_common_value_fields): Stream
9447         in new bit decl_not_flexarray.
9448         * tree-streamer-out.cc (pack_ts_decl_common_value_fields): Stream
9449         out new bit decl_not_flexarray.
9450         * tree.cc (array_at_struct_end_p): Update it with the new bit field
9451         decl_not_flexarray.
9452         * tree.h (DECL_NOT_FLEXARRAY): New flag.
9453
9454 2022-10-07  Olivier Hainque  <hainque@adacore.com>
9455
9456         * config/vxworks/_vxworks-versions.h: Use OS specific
9457         paths in #include of version.h.
9458
9459 2022-10-07  Martin Liska  <mliska@suse.cz>
9460
9461         * opts.cc (finish_options): Print sorry message only
9462         for -flive-patching=inline-only-static.
9463
9464 2022-10-07  Jason Merrill  <jason@redhat.com>
9465
9466         * gimplify.cc (gimplify_modify_expr_rhs): Don't optimize
9467         x = *(A*)&<expr> to x = <expr> for a TREE_ADDRESSABLE type.
9468
9469 2022-10-07  Richard Biener  <rguenther@suse.de>
9470
9471         PR tree-optimization/107153
9472         * tree-cfg.cc (gimple_duplicate_sese_tail): Do not update
9473         SSA form here.
9474         * tree-parloops.cc (gen_parallel_loop): Update SSA form
9475         after to-exit-first transform, no PHI insertion is necessary.
9476         (pass_parallelize_loops::execute): Force re-write of the
9477         virtual operand SSA web.
9478
9479 2022-10-07  Jonathan Wakely  <jwakely@redhat.com>
9480
9481         * value-range.cc (irange::irange_contains_p): Fix comment typo.
9482
9483 2022-10-07  Eric Botcazou  <ebotcazou@adacore.com>
9484
9485         * function.cc (thread_prologue_and_epilogue_insns): Update only
9486         entry and exit blocks when not optimizing.  Remove dead statement.
9487
9488 2022-10-07  Aldy Hernandez  <aldyh@redhat.com>
9489
9490         * value-range.cc (irange::irange_set): Convert nonzero mask to
9491         tree.
9492         (irange::irange_set_anti_range): Same.
9493         (irange::set): Same.
9494         (irange::verify_range): Same.
9495         (irange::contains_p): Same.
9496         (irange::invert): Same.
9497         (irange::set_range_from_nonzero_bits): Same.
9498         (irange::set_nonzero_bits): Same.
9499         (mask_to_wi): Same.
9500         (irange::intersect_nonzero_bits): Same.
9501         (irange::union_nonzero_bits): Same.
9502         * value-range.h (irange::varying_compatible_p): Same.
9503         (gt_ggc_mx): Same.
9504         (gt_pch_nx): Same.
9505         (irange::set_undefined): Same.
9506         (irange::set_varying): Same.
9507
9508 2022-10-07  Martin Liska  <mliska@suse.cz>
9509
9510         * config/i386/i386-protos.h (ix86_binary_operator_ok): Add array
9511         size to function parameter.
9512         (ix86_unary_operator_ok): Likewise.
9513
9514 2022-10-07  Martin Liska  <mliska@suse.cz>
9515
9516         * auto-profile.cc (get_inline_stack): Remove unused variable.
9517
9518 2022-10-07  Jakub Jelinek  <jakub@redhat.com>
9519
9520         * ipa-prop.h (ipa_constant_data): Fix comment typo.
9521         * value-range.cc (irange::irange_contains_p): Likewise.
9522         * value-relation.cc (dom_oracle::set_one_relation): Likewise.
9523         * gimple-predicate-analysis.cc (predicate::simplify_4): Likewise.
9524         * tree-inline.cc (remap_ssa_name): Likewise.
9525
9526 2022-10-07  Jakub Jelinek  <jakub@redhat.com>
9527
9528         * attribs.h (is_attribute_namespace_p): New inline function.
9529         (lookup_attribute): Document meaning of ATTR_NS equal to "".
9530         * attribs.cc (remove_attribute): Use is_attribute_namespace_p.
9531         (private_lookup_attribute): For ATTR_NS "" match either standard
9532         attribute or "gnu" namespace one.
9533
9534 2022-10-07  Olivier Hainque  <hainque@adacore.com>
9535
9536         * config/vxworks.h (DWARF_VERSION_DEFAULT): Adjust from
9537         4 to 3 for VxWorks >= 7.
9538
9539 2022-10-07  Olivier Hainque  <hainque@adacore.com>
9540
9541         * defaults.h (DWARF_DEFAULT_VERSION): Define if not
9542         defined already.
9543         * common.opt (gdwarf-): Use it.
9544         * doc/tm.texi.in (DWARF_DEFAULT_VERSION): Document.
9545         * doc/tm.texi: Update accordingly.
9546         * config/vxworks.h (DWARF_DEFAULT_VERSION): Redefine.
9547         * config/vxworks.cc: Remove code setting dwarf_version, now
9548         handled by the DWARF_DEFAULT_VERSION redefinition.
9549
9550 2022-10-07  Olivier Hainque  <hainque@adacore.com>
9551
9552         * ginclude/stddef.h: #undef offsetof before #define.
9553
9554 2022-10-06  Aldy Hernandez  <aldyh@redhat.com>
9555
9556         PR tree-optimization/107170
9557         * vr-values.cc (vr_values::range_of_expr):  Do not die on
9558         unsupported types.
9559
9560 2022-10-06  Joseph Myers  <joseph@codesourcery.com>
9561
9562         * doc/invoke.texi (-fno-asm): Update description of effects on
9563         typeof keyword.
9564
9565 2022-10-06  Eric Botcazou  <ebotcazou@adacore.com>
9566
9567         * gimple-loop-jam.cc (tree_loop_unroll_and_jam): Bail out for a self
9568         dependency that is a write-after-write if the access function is not
9569         affine or constant.
9570
9571 2022-10-06  Eric Botcazou  <ebotcazou@adacore.com>
9572
9573         * df-scan.cc (df_ref_create_structure): Minor cleanup.
9574
9575 2022-10-06  Richard Biener  <rguenther@suse.de>
9576
9577         PR middle-end/107115
9578         * expr.cc (store_expr): Check mems_same_for_tbaa_p before
9579         eliding a seemingly redundant store.
9580
9581 2022-10-06  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
9582
9583         * config/aarch64/atomics.md (*atomic_load<ALLX:mode>_zext<SD_HSDI:mode>):
9584         New pattern.
9585
9586 2022-10-06  Philipp Tomsich  <philipp.tomsich@vrull.eu>
9587
9588         * config/aarch64/aarch64-cores.def (AARCH64_CORE): Update
9589         Ampere-1 core entry.
9590
9591 2022-10-06  Philipp Tomsich  <philipp.tomsich@vrull.eu>
9592
9593         * config/aarch64/driver-aarch64.cc (readline): Fix off-by-one.
9594
9595 2022-10-06  Richard Biener  <rguenther@suse.de>
9596
9597         PR tree-optimization/107107
9598         * tree-ssa-sccvn.cc (visit_reference_op_store): Do not
9599         affect value-numbering when doing the tail merging
9600         MODIFY_EXPR lookup.
9601
9602 2022-10-06  Claudiu Zissulescu  <claziss@synopsys.com>
9603
9604         * config/arc/linux.h (LINK_SPEC): Remove max-page-size and
9605         common-pave-size.
9606
9607 2022-10-06  Jakub Jelinek  <jakub@redhat.com>
9608
9609         PR c++/106654
9610         * internal-fn.def (ASSUME): New internal function.
9611         * internal-fn.h (expand_ASSUME): Declare.
9612         * internal-fn.cc (expand_ASSUME): Define.
9613         * gimplify.cc (gimplify_call_expr): Gimplify IFN_ASSUME.
9614         * fold-const.h (simple_condition_p): Declare.
9615         * fold-const.cc (simple_operand_p_2): Rename to ...
9616         (simple_condition_p): ... this.  Remove forward declaration.
9617         No longer static.  Adjust function comment and fix a typo in it.
9618         Adjust recursive call.
9619         (simple_operand_p): Adjust function comment.
9620         (fold_truth_andor): Adjust simple_operand_p_2 callers to call
9621         simple_condition_p.
9622         * doc/extend.texi: Document assume attribute.  Move fallthrough
9623         attribute example to its section.
9624
9625 2022-10-06  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
9626
9627         PR rtl-optimization/107088
9628         * cselib.cc (new_cselib_val): Skip BImode while keeping track of
9629         subvalue relations.
9630
9631 2022-10-06  Aldy Hernandez  <aldyh@redhat.com>
9632
9633         * value-range.cc (frange::set): Call set_nan unconditionally.
9634         (range_tests_nan): Adjust tests.
9635         (range_tests_signed_zeros): Same.
9636         (range_tests_floats): Same.
9637         * value-range.h (frange::update_nan): Guard with HONOR_NANS.
9638         (frange::set_nan): Set undefined if !HONOR_NANS.
9639
9640 2022-10-06  Aldy Hernandez  <aldyh@redhat.com>
9641
9642         * range-op-float.cc (foperator_lt::fold_range): Remove extra check
9643         to finite_operands_p.
9644         (foperator_le::fold_range): Same.
9645         (foperator_gt::fold_range): Same.
9646         (foperator_ge::fold_range): Same.
9647
9648 2022-10-06  Aldy Hernandez  <aldyh@redhat.com>
9649
9650         * value-range-pretty-print.cc (vrange_printer::print_real_value):
9651         Avoid printing INF and NAN twice.
9652
9653 2022-10-05  Segher Boessenkool  <segher@kernel.crashing.org>
9654
9655         * config/rs6000/constraints.md (wD): Delete.
9656         * doc/md.texi (Machine Constraints): Adjust.
9657
9658 2022-10-05  Segher Boessenkool  <segher@kernel.crashing.org>
9659
9660         * config/rs6000/vsx.md (vsx_extract_<mode>): Replace define_insn by a
9661         define_expand.  Split the contents to...
9662         (*vsx_extract_<mode>_0): ... this.  Rewrite.
9663         (*vsx_extract_<mode>_1): ... and this.  Rewrite.
9664
9665 2022-10-05  Segher Boessenkool  <segher@kernel.crashing.org>
9666
9667         * config/rs6000/vsx.md (*vsx_extract_<mode>_store): Use "n" instead of
9668         "wD" constraint.
9669
9670 2022-10-05  David Malcolm  <dmalcolm@redhat.com>
9671
9672         PR analyzer/107060
9673         * doc/analyzer.texi (__analyzer_get_unknown_ptr): Document.
9674
9675 2022-10-05  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
9676
9677         * config.gcc: Add riscv_vector.h.
9678         * config/riscv/riscv-builtins.cc: Add RVV builtin types support.
9679         * config/riscv/riscv-c.cc (riscv_pragma_intrinsic): New function.
9680         (riscv_register_pragmas): Ditto.
9681         * config/riscv/riscv-protos.h (riscv_register_pragmas): Ditto.
9682         (init_builtins): Move declaration from riscv-vector-builtins.h to riscv-protos.h.
9683         (mangle_builtin_type): Ditto.
9684         (verify_type_context): Ditto.
9685         (handle_pragma_vector): New function.
9686         * config/riscv/riscv-vector-builtins.cc (GTY): New variable.
9687         (register_vector_type): New function.
9688         (init_builtins): Add RVV builtin types support.
9689         (handle_pragma_vector): New function.
9690         * config/riscv/riscv-vector-builtins.h (GCC_RISCV_V_BUILTINS_H): Change
9691         name according to file name.
9692         (GCC_RISCV_VECTOR_BUILTINS_H): Ditto.
9693         (init_builtins): Remove declaration in riscv-vector-builtins.h.
9694         (mangle_builtin_type): Ditto.
9695         (verify_type_context): Ditto.
9696         * config/riscv/riscv.cc: Adjust for RVV builtin types support.
9697         * config/riscv/riscv.h (REGISTER_TARGET_PRAGMAS): New macro.
9698         * config/riscv/t-riscv: Remove redundant file including.
9699         * config/riscv/riscv_vector.h: New file.
9700
9701 2022-10-05  Aldy Hernandez  <aldyh@redhat.com>
9702
9703         * range-op.cc (operator_cast::fold_range): Handle truncating casts
9704         for nonzero masks.
9705
9706 2022-10-05  Martin Liska  <mliska@suse.cz>
9707
9708         PR c/107156
9709         * attribs.h (lookup_attribute_by_prefix): Support the attribute
9710         starting with underscore (_Noreturn).
9711
9712 2022-10-05  Aldy Hernandez  <aldyh@redhat.com>
9713
9714         PR tree-optimization/107052
9715         * gimple-range-op.cc (cfn_popcount::fold_range): Take into account
9716         nonzero bit mask.
9717
9718 2022-10-05  Aldy Hernandez  <aldyh@redhat.com>
9719
9720         PR tree-optimization/107052
9721         * range-op.cc (operator_cast::fold_range): Set nonzero mask.
9722
9723 2022-10-05  Eric Botcazou  <ebotcazou@adacore.com>
9724
9725         PR tree-optimization/106698
9726         * pointer-query.cc (handle_array_ref): Fix handling of low bound.
9727
9728 2022-10-05  Vineet Gupta  <vineetg@rivosinc.com>
9729
9730         * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins):
9731         Remove __riscv_cmodel_pic, that deprecated in last version.
9732
9733 2022-10-05  David Malcolm  <dmalcolm@redhat.com>
9734
9735         PR analyzer/107072
9736         * Makefile.in (ANALYZER_OBJS): Add analyzer/call-summary.o.
9737
9738 2022-10-04  Jakub Jelinek  <jakub@redhat.com>
9739
9740         * attribs.h (remove_attribute): Declare overload with additional
9741         attr_ns argument.
9742         (private_lookup_attribute): Declare overload with additional
9743         attr_ns and attr_ns_len arguments.
9744         (lookup_attribute): New overload with additional attr_ns argument.
9745         * attribs.cc (remove_attribute): New overload with additional
9746         attr_ns argument.
9747         (private_lookup_attribute): New overload with additional
9748         attr_ns and attr_ns_len arguments.
9749
9750 2022-10-04  Jakub Jelinek  <jakub@redhat.com>
9751
9752         * attribs.cc (handle_ignored_attributes_option, decl_attributes,
9753         common_function_versions): Use auto_diagnostic_group.
9754
9755 2022-10-04  Aldy Hernandez  <aldyh@redhat.com>
9756
9757         * value-range.cc (irange::set_nonzero_bits): Remove assert.
9758
9759 2022-10-04  Richard Sandiford  <richard.sandiford@arm.com>
9760
9761         * config/aarch64/aarch64.h (AARCH64_ISA_RCPC): New macro.
9762         * config/aarch64/aarch64-arches.def (armv8.3-a): Include RCPC.
9763         * config/aarch64/aarch64-cores.def (thunderx3t110, zeus, neoverse-v1)
9764         (neoverse-512tvb, saphira): Remove RCPC from these Armv8.3-A+ cores.
9765         * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Define
9766         __ARM_FEATURE_RCPC when appropriate.
9767
9768 2022-10-04  Tobias Burnus  <tobias@codesourcery.com>
9769
9770         * doc/invoke.texi (-fopenmp): Mention C++ attribut syntax.
9771         (-fopenmp-simd): Likewise; update permitted directives.
9772
9773 2022-10-04  Tobias Burnus  <tobias@codesourcery.com>
9774
9775         * doc/install.texi (Specific): Add missing items to bullet list.
9776         (amdgcn): Update LLVM requirements, use version not date for newlib.
9777         (nvptx): Use version not git hash for newlib.
9778
9779 2022-10-04  Aldy Hernandez  <aldyh@redhat.com>
9780
9781         * value-range-storage.cc (irange_storage_slot::set_irange): Remove
9782         special case.
9783         * value-range.cc (irange::irange_set): Adjust for nonzero mask
9784         being a wide int.
9785         (irange::irange_set_anti_range): Same.
9786         (irange::set): Same.
9787         (irange::verify_range): Same.
9788         (irange::legacy_equal_p): Same.
9789         (irange::operator==): Same.
9790         (irange::contains_p): Same.
9791         (irange::legacy_intersect): Same.
9792         (irange::legacy_union): Same.
9793         (irange::irange_single_pair_union): Call union_nonzero_bits.
9794         (irange::irange_union): Same.
9795         (irange::irange_intersect): Call intersect_nonzero_bits.
9796         (irange::intersect): Adjust for nonzero mask being a wide int.
9797         (irange::invert): Same.
9798         (irange::set_nonzero_bits): Same.
9799         (irange::get_nonzero_bits_from_range): New.
9800         (irange::set_range_from_nonzero_bits): New.
9801         (irange::get_nonzero_bits): Adjust for nonzero mask being a wide
9802         int.
9803         (irange::intersect_nonzero_bits): Same.
9804         (irange::union_nonzero_bits): Same.
9805         (range_tests_nonzero_bits): Remove test.
9806         * value-range.h (irange::varying_compatible_p): Adjust for nonzero
9807         mask being a wide int.
9808         (gt_ggc_mx): Same.
9809         (gt_pch_nx): Same.
9810         (irange::set_undefined): Same.
9811         (irange::set_varying): Same.
9812         (irange::normalize_kind): Same.
9813
9814 2022-10-04  Aldy Hernandez  <aldyh@redhat.com>
9815
9816         PR tree-optimization/107130
9817         * gimple-range-op.cc (class cfn_popcount): Call op_cfn_ffs.
9818         (class cfn_ffs): New.
9819         (gimple_range_op_handler::maybe_builtin_call): Separate out
9820         CASE_CFN_FFS into its own case.
9821
9822 2022-10-03  Sergei Trofimovich  <siarheit@google.com>
9823
9824         * config/i386/t-i386: Add build-time dependencies against
9825         i386-builtin-types.inc to i386-builtins.o, i386-expand.o,
9826         i386-features.o.
9827
9828 2022-10-03  Andrew Stubbs  <ams@codesourcery.com>
9829
9830         * config/gcn/gcn-valu.md (while_ultsidi): Limit mask length using
9831         operand 3.
9832         * doc/md.texi (while_ult): Document new operand 3 usage.
9833         * internal-fn.cc (expand_while_optab_fn): Set operand 3 when lhs_type
9834         maps to a non-vector mode.
9835
9836 2022-10-03  Andrew MacLeod  <amacleod@redhat.com>
9837
9838         PR tree-optimization/107109
9839         * range-op.cc (adjust_op1_for_overflow): Don't process undefined.
9840
9841 2022-10-03  Christophe Lyon  <christophe.lyon@arm.com>
9842
9843         * config/arm/mve.md (mve_vrev64q_m_<supf><mode>): Add early
9844         clobber.
9845         (mve_vrev64q_m_f<mode>): Likewise.
9846
9847 2022-10-03  Aldy Hernandez  <aldyh@redhat.com>
9848
9849         * value-range.cc (irange::set_nonzero_bits): Do not pessimize range.
9850         (range_tests_nonzero_bits): New test.
9851
9852 2022-10-03  Aldy Hernandez  <aldyh@redhat.com>
9853
9854         * value-range.cc (irange::operator==): Early bail on m_num_ranges
9855         equal to 0.
9856
9857 2022-10-03  Aldy Hernandez  <aldyh@redhat.com>
9858
9859         * value-range.cc (irange::legacy_equal_p): Remove nonozero mask
9860         check when comparing VR_VARYING ranges.
9861
9862 2022-10-03  Aldy Hernandez  <aldyh@redhat.com>
9863
9864         * ipa-prop.cc (struct ipa_vr_ggc_hash_traits): Do not compare
9865         incompatible ranges in ipa-prop.
9866
9867 2022-10-02  Jakub Jelinek  <jakub@redhat.com>
9868
9869         PR tree-optimization/107121
9870         * tree-cfg.cc (verify_gimple_call): Fix a typo in diagnostics,
9871         DEFFERED_INIT -> DEFERRED_INIT.
9872
9873 2022-10-02  Marc Poulhiès  <poulhies@adacore.com>
9874
9875         * config/vxworks-driver.cc: New.
9876         * config.gcc (*vxworks*): Add vxworks-driver.o in extra_gcc_objs.
9877         * config/t-vxworks: Add vxworks-driver.o.
9878         * config/vxworks.h (GCC_DRIVER_HOST_INITIALIZATION): New.
9879
9880 2022-10-02  Olivier Hainque  <hainque@adacore.com>
9881
9882         * config/vxworks.h (VX_CRTBEGIN_SPEC, VX_CRTEND_SPEC): If
9883         HAVE_INITFINI_ARRAY_SUPPORT, pick crtstuff objects regardless
9884         of ENABLE_SHARED_LIBGCC.
9885
9886 2022-10-01  Stafford Horne  <shorne@gmail.com>
9887
9888         * config/or1k/or1k.cc (TARGET_HAVE_TLS): Only define if
9889         HAVE_AS_TLS is defined.
9890
9891 2022-10-01  Julian Brown  <julian@codesourcery.com>
9892
9893         * gimplify.cc (omp_group_base): Fix IF_PRESENT (no_create)
9894         handling.
9895
9896 2022-10-01  Jeff Law  <jeffreyalaw@gmail.com>
9897
9898         * config/h8300/h8300.md (HSI2): New iterator.
9899         (eqne_invert): Similarly.
9900         * config/h8300/testcompare.md (testhi_upper_z): New pattern.
9901         (cmpqi_z, cmphi_z, cmpsi_z): Likewise.
9902         (store_z_qi, store_z_i_qi, store_z_hi, store_z_hi_sb): New
9903         define_insn_and_splits and/or define_insns.
9904         (store_z_hi_neg, store_z_hi_and, store_z_<mode>): Likewise.
9905         (store_z_<mode>_neg, store_z_<mode>_and, store_z): Likewise.
9906
9907 2022-10-01  Jeff Law  <jeffreyalaw@gmail.com>
9908
9909         * tree-ssa-dom.cc (record_edge_info): Install correct version of
9910         patch.
9911
9912 2022-10-01  Eugene Rozenfeld  <erozen@microsoft.com>
9913
9914         * dwarf2out.cc (add_call_src_coords_attributes): Emit discriminators for inlined call sites.
9915
9916 2022-09-30  Jeff Law  <jeffreyalaw@gmail.com>
9917
9918         * tree-ssa-dom.cc (single_block_loop_p): New function.
9919         (record_edge_info): Also record equivalences for the outgoing
9920         edge of a single block loop where the condition is an invariant.
9921
9922 2022-09-30  Jeff Law  <jeffreyalaw@gmail.com>
9923
9924         * tree-ssa-dom.cc (free_dom_edge_info): Clear e->aux too.
9925         (free_all_edge_infos): Do not clear e->aux here.
9926
9927 2022-09-30  H.J. Lu  <hjl.tools@gmail.com>
9928
9929         * target.def (TARGET_C_EXCESS_PRECISION): Document
9930         -fexcess-precision=16.
9931
9932 2022-09-30  Palmer Dabbelt  <palmer@rivosinc.com>
9933
9934         * doc/tm.texi (TARGET_C_EXCESS_PRECISION): Add 16.
9935
9936 2022-09-30  Palmer Dabbelt  <palmer@rivosinc.com>
9937
9938         PR target/106815
9939         * config/riscv/riscv.cc (riscv_excess_precision): Add support
9940         for EXCESS_PRECISION_TYPE_FLOAT16.
9941
9942 2022-09-30  Jakub Jelinek  <jakub@redhat.com>
9943
9944         PR c++/107080
9945         * config/arm/arm.cc (arm_mangle_type): Mangle just __fp16 as Dh
9946         and _Float16 as DF16_.
9947         * config/csky/csky.cc (csky_init_builtins): Fix a comment typo.
9948         (csky_mangle_type): Mangle __fp16 as Dh and _Float16 as DF16_
9949         rather than mangling __fp16 as __fp16.
9950
9951 2022-09-30  Lewis Hyatt  <lhyatt@gmail.com>
9952
9953         PR preprocessor/69543
9954         * tree-ssa-uninit.cc (warn_uninit): Stop stripping macro tracking
9955         information away from the diagnostic location.
9956         (maybe_warn_read_write_only): Likewise.
9957         (maybe_warn_operand): Likewise.
9958
9959 2022-09-30  Jakub Jelinek  <jakub@redhat.com>
9960
9961         PR c++/107080
9962         * config/aarch64/aarch64.cc (aarch64_mangle_type): Mangle just __fp16
9963         as Dh and _Float16 as DF16_.
9964
9965 2022-09-30  Jakub Jelinek  <jakub@redhat.com>
9966
9967         PR c++/107080
9968         * config/i386/i386.cc (ix86_mangle_type): Always return NULL
9969         for float128_type_node or float64x_type_node, don't check
9970         float128t_type_node later on.
9971         * config/ia64/ia64.cc (ia64_mangle_type): Always return NULL
9972         for float128_type_node or float64x_type_node.
9973         * config/rs6000/rs6000.cc (rs6000_mangle_type): Likewise.
9974         Don't check float128_type_node later on.
9975         * config/s390/s390.cc (s390_mangle_type): Don't use
9976         TYPE_MAIN_VARIANT on type which was set to TYPE_MAIN_VARIANT
9977         a few lines earlier.
9978
9979 2022-09-30  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
9980             Yvan ROUX   <yvan.roux@foss.st.com>
9981
9982         * doc/sourcebuild.texi: Document new vma_equals_lma effective
9983         target check.
9984
9985 2022-09-30  Jiawei  <jiawei@iscas.ac.cn>
9986
9987         * config/riscv/riscv.cc (riscv_file_start): New .option.
9988         * config/riscv/riscv.opt: New options.
9989         * doc/invoke.texi: New definations.
9990
9991 2022-09-30  Kewen Lin  <linkw@linux.ibm.com>
9992
9993         PR target/99888
9994         PR target/105649
9995         * doc/invoke.texi (option -fpatchable-function-entry): Adjust the
9996         documentation for PowerPC ELFv2 ABI dual entry points.
9997         * config/rs6000/rs6000-internal.h
9998         (rs6000_print_patchable_function_entry): New function declaration.
9999         * config/rs6000/rs6000-logue.cc (rs6000_output_function_prologue):
10000         Support patchable-function-entry by emitting nops before and after
10001         local entry for the function that needs global entry.
10002         * config/rs6000/rs6000.cc (rs6000_print_patchable_function_entry): Skip
10003         the function that needs global entry till global entry has been
10004         emitted.
10005         * config/rs6000/rs6000.h (struct machine_function): New bool member
10006         global_entry_emitted.
10007
10008 2022-09-30  Richard Biener  <rguenther@suse.de>
10009
10010         PR tree-optimization/107095
10011         * tree-ssa-dse.cc (initialize_ao_ref_for_dse): Use data arg
10012         for .MASK_STORE size.
10013
10014 2022-09-29  Andrew MacLeod  <amacleod@redhat.com>
10015
10016         * range-op.cc (plus_minus_ranges): New.
10017         (adjust_op1_for_overflow): New.
10018         (operator_plus::op1_range): Use new adjustment.
10019         (operator_plus::op2_range): Ditto.
10020         (operator_minus::op1_range): Ditto.
10021         * value-relation.h (relation_lt_le_gt_ge_p): New.
10022
10023 2022-09-29  Andrew MacLeod  <amacleod@redhat.com>
10024
10025         * gimple-range-gori.cc (gori_compute::refine_using_relation): New.
10026         (gori_compute::compute_operand1_range): Invoke
10027         refine_using_relation when applicable.
10028         (gori_compute::compute_operand2_range): Ditto.
10029         * gimple-range-gori.h (class gori_compute): Adjust prototypes.
10030
10031 2022-09-29  Andrew MacLeod  <amacleod@redhat.com>
10032
10033         * gimple-range-gori.cc (ori_compute::compute_operand_range):
10034         Create a relation record and pass it along when possible.
10035         (gori_compute::compute_operand1_range): Pass relation along.
10036         (gori_compute::compute_operand2_range): Ditto.
10037         (gori_compute::compute_operand1_and_operand2_range): Ditto.
10038         * gimple-range-gori.h (class gori_compute): Adjust prototypes.
10039         * gimple-range-op.cc (gimple_range_op_handler::calc_op1): Pass
10040         relation to op1_range call.
10041         (gimple_range_op_handler::calc_op2): Pass relation to op2_range call.
10042         * gimple-range-op.h (class gimple_range_op_handler): Adjust
10043         prototypes.
10044
10045 2022-09-29  Andrew MacLeod  <amacleod@redhat.com>
10046
10047         * value-relation.cc (class value_relation): Move to .h file.
10048         (value_relation::set_relation): Ditto.
10049         (value_relation::value_relation): ditto.
10050         * value-relation.h (class value_relation): Move from .cc file.
10051         (value_relation::set_relation): Ditto
10052         (value_relation::value_relation): Ditto.
10053
10054 2022-09-29  Andrew MacLeod  <amacleod@redhat.com>
10055
10056         * range-op.cc (operator_minus::op2_range): Check for undefined.
10057         (operator_mult::op1_range): Ditto.
10058         (operator_exact_divide::op1_range): Ditto.
10059         (operator_lshift::op1_range): Ditto.
10060         (operator_rshift::op1_range): Ditto.
10061         (operator_cast::op1_range): Ditto.
10062         (operator_bitwise_and::op1_range): Ditto.
10063         (operator_bitwise_or::op1_range): Ditto.
10064         (operator_trunc_mod::op1_range): Ditto.
10065         (operator_trunc_mod::op2_range): Ditto.
10066         (operator_bitwise_not::op1_range): Ditto.
10067         (pointer_or_operator::op1_range): Ditto.
10068         (range_op_handler::op1_range): Ditto.
10069         (range_op_handler::op2_range): Ditto.
10070
10071 2022-09-29  Andrew Stubbs  <ams@codesourcery.com>
10072
10073         * config/gcn/gcn.cc (gcn_simd_clone_compute_vecsize_and_simdlen):
10074         Remove unused elt_bits variable.
10075
10076 2022-09-29  Olivier Hainque  <hainque@adacore.com>
10077
10078         * config/vxworks.h: Add comment on our use of
10079         HAVE_INITFINI_ARRAY_SUPPORT.
10080
10081 2022-09-29  Olivier Hainque  <hainque@adacore.com>
10082
10083         * config/aarch64/t-aarch64-vxworks: Request multilib
10084         variants for mcmodel=large.
10085
10086 2022-09-29  Olivier Hainque  <hainque@adacore.com>
10087
10088         * config/rs6000/vxworks.h (TARGET_FLOAT128_ENABLE_TYPE): Remove
10089         resetting to 0.
10090
10091 2022-09-29  Olivier Hainque  <hainque@adacore.com>
10092
10093         * config/vx-common.h (DWARF2_UNWIND_INFO): #define to 0
10094         when ARM_UNWIND_INFO is set.
10095
10096 2022-09-29  Julian Brown  <julian@codesourcery.com>
10097
10098         PR middle-end/107028
10099         * gimplify.cc (omp_check_mapping_compatibility,
10100         oacc_resolve_clause_dependencies): New functions.
10101         (omp_accumulate_sibling_list): Remove redundant duplicate clause
10102         detection for OpenACC.
10103         (build_struct_sibling_lists): Skip deleted groups.  Don't build sibling
10104         list for struct variables that are fully mapped on the same directive
10105         for OpenACC.
10106         (gimplify_scan_omp_clauses): Call oacc_resolve_clause_dependencies.
10107
10108 2022-09-29  Jose E. Marchesi  <jose.marchesi@oracle.com>
10109
10110         PR middle-end/25521
10111         * varasm.cc (categorize_decl_for_section): Place `const volatile'
10112         objects in read-only sections.
10113         (default_select_section): Likewise.
10114
10115 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
10116
10117         * tree-data-ref.cc (dr_may_alias_p): Use to_poly_widest instead
10118         of to_widest.
10119
10120 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
10121
10122         * config/aarch64/aarch64.h (TARGET_CRYPTO, TARGET_SHA3, TARGET_SM4)
10123         (TARGET_DOTPROD): Don't depend on TARGET_SIMD.
10124         (TARGET_AES, TARGET_SHA2): Likewise.  Remove TARGET_CRYPTO test.
10125         (TARGET_FP_F16INST): Don't depend on TARGET_FLOAT.
10126         (TARGET_SVE2, TARGET_SVE_F32MM, TARGET_SVE_F64MM): Don't depend
10127         on TARGET_SVE.
10128         (TARGET_SVE2_AES, TARGET_SVE2_BITPERM, TARGET_SVE2_SHA3)
10129         (TARGET_SVE2_SM4): Don't depend on TARGET_SVE2.
10130         (TARGET_F32MM, TARGET_F64MM): Delete.
10131         * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Guard
10132         float macros with just TARGET_FLOAT rather than TARGET_FLOAT
10133         || TARGET_SIMD.
10134         * config/aarch64/aarch64-simd.md (copysign<mode>3): Depend
10135         only on TARGET_SIMD, rather than TARGET_FLOAT && TARGET_SIMD.
10136         (aarch64_crypto_aes<aes_op>v16qi): Depend only on TARGET_AES,
10137         rather than TARGET_SIMD && TARGET_AES.
10138         (aarch64_crypto_aes<aesmc_op>v16qi): Likewise.
10139         (*aarch64_crypto_aese_fused): Likewise.
10140         (*aarch64_crypto_aesd_fused): Likewise.
10141         (aarch64_crypto_pmulldi): Likewise.
10142         (aarch64_crypto_pmullv2di): Likewise.
10143         (aarch64_crypto_sha1hsi): Likewise TARGET_SHA2.
10144         (aarch64_crypto_sha1hv4si): Likewise.
10145         (aarch64_be_crypto_sha1hv4si): Likewise.
10146         (aarch64_crypto_sha1su1v4si): Likewise.
10147         (aarch64_crypto_sha1<sha1_op>v4si): Likewise.
10148         (aarch64_crypto_sha1su0v4si): Likewise.
10149         (aarch64_crypto_sha256h<sha256_op>v4si): Likewise.
10150         (aarch64_crypto_sha256su0v4si): Likewise.
10151         (aarch64_crypto_sha256su1v4si): Likewise.
10152         (aarch64_crypto_sha512h<sha512_op>qv2di): Likewise TARGET_SHA3.
10153         (aarch64_crypto_sha512su0qv2di): Likewise.
10154         (aarch64_crypto_sha512su1qv2di, eor3q<mode>4): Likewise.
10155         (aarch64_rax1qv2di, aarch64_xarqv2di, bcaxq<mode>4): Likewise.
10156         (aarch64_sm3ss1qv4si): Likewise TARGET_SM4.
10157         (aarch64_sm3tt<sm3tt_op>qv4si): Likewise.
10158         (aarch64_sm3partw<sm3part_op>qv4si): Likewise.
10159         (aarch64_sm4eqv4si, aarch64_sm4ekeyqv4si): Likewise.
10160         * config/aarch64/aarch64.md (<FLOATUORS:optab>dihf2)
10161         (copysign<GPF:mode>3, copysign<GPF:mode>3_insn)
10162         (xorsign<mode>3): Remove redundant TARGET_FLOAT condition.
10163
10164 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
10165
10166         * config/aarch64/aarch64.opt (aarch64_asm_isa_flags): New variable.
10167         * config/aarch64/aarch64.h (aarch64_asm_isa_flags)
10168         (aarch64_isa_flags): Redefine as read-only macros.
10169         (TARGET_SIMD, TARGET_FLOAT, TARGET_SVE): Don't depend on
10170         !TARGET_GENERAL_REGS_ONLY.
10171         * common/config/aarch64/aarch64-common.cc
10172         (aarch64_set_asm_isa_flags): New function.
10173         (aarch64_handle_option): Call it when updating -mgeneral-regs.
10174         * config/aarch64/aarch64-protos.h (aarch64_simd_switcher): Replace
10175         m_old_isa_flags with m_old_asm_isa_flags.
10176         (aarch64_set_asm_isa_flags): Declare.
10177         * config/aarch64/aarch64-builtins.cc
10178         (aarch64_simd_switcher::aarch64_simd_switcher)
10179         (aarch64_simd_switcher::~aarch64_simd_switcher): Save and restore
10180         aarch64_asm_isa_flags instead of aarch64_isa_flags.
10181         * config/aarch64/aarch64-sve-builtins.cc
10182         (check_required_extensions): Use aarch64_asm_isa_flags instead
10183         of aarch64_isa_flags.
10184         * config/aarch64/aarch64.cc (aarch64_set_asm_isa_flags): New function.
10185         (aarch64_override_options, aarch64_handle_attr_arch)
10186         (aarch64_handle_attr_cpu, aarch64_handle_attr_isa_flags): Use
10187         aarch64_set_asm_isa_flags to set the ISA flags.
10188         (aarch64_option_print, aarch64_declare_function_name)
10189         (aarch64_start_file): Use aarch64_asm_isa_flags instead
10190         of aarch64_isa_flags.
10191         (aarch64_can_inline_p): Check aarch64_asm_isa_flags as well as
10192         aarch64_isa_flags.
10193
10194 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
10195
10196         * common/config/aarch64/aarch64-common.cc (all_extensions):
10197         Include the feature flag in flags_on and flags_off.
10198         (aarch64_parse_extension): Update accordingly.
10199         (aarch64_get_extension_string_for_isa_flags): Likewise.
10200
10201 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
10202
10203         * common/config/aarch64/aarch64-common.cc: Use aarch64_feature_flags
10204         for feature flags throughout.
10205         * config/aarch64/aarch64-protos.h: Likewise.
10206         * config/aarch64/aarch64-sve-builtins.h: Likewise.
10207         * config/aarch64/aarch64-sve-builtins.cc: Likewise.
10208         * config/aarch64/aarch64.cc: Likewise.
10209         * config/aarch64/aarch64.opt: Likewise.
10210         * config/aarch64/driver-aarch64.cc: Likewise.
10211
10212 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
10213
10214         * common/config/aarch64/aarch64-common.cc (aarch64_option_extension)
10215         (processor_name_to_arch, arch_to_arch_name): Remove const from
10216         member variables.
10217         (all_extensions, all_cores, all_architectures): Make a constexpr.
10218         * config/aarch64/aarch64.cc (processor): Remove const from
10219         member variables.
10220         (all_architectures): Make a constexpr.
10221         * config/aarch64/driver-aarch64.cc (aarch64_core_data)
10222         (aarch64_arch_driver_info): Remove const from member variables.
10223         (aarch64_cpu_data, aarch64_arches): Make a constexpr.
10224         (get_arch_from_id): Return a pointer to const.
10225         (host_detect_local_cpu): Update accordingly.
10226
10227 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
10228
10229         * common/config/aarch64/aarch64-common.cc (processor_name_to_arch)
10230         (arch_to_arch_name): Use const char * instead of std::string.
10231
10232 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
10233
10234         * common/config/aarch64/aarch64-common.cc
10235         (TARGET_OPTION_INIT_STRUCT): Delete.
10236         (aarch64_option_extension): Remove is_synthetic_flag.
10237         (all_extensions): Update accordingly.
10238         (all_extensions_by_on, opt_ext, opt_ext_cmp): Delete.
10239         (aarch64_option_init_struct, aarch64_contains_opt): Delete.
10240         (aarch64_get_extension_string_for_isa_flags): Rewrite to use
10241         all_extensions instead of all_extensions_on.
10242
10243 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
10244
10245         * config/aarch64/aarch64-option-extensions.def: Switch to a new format.
10246         * config/aarch64/aarch64-cores.def: Use the same format to specify
10247         lists of features.
10248         * config/aarch64/aarch64-arches.def: Likewise, moving that information
10249         from aarch64.h.
10250         * config/aarch64/aarch64-opts.h (aarch64_feature_flags): New typedef.
10251         * config/aarch64/aarch64.h (aarch64_feature): New class enum.
10252         Turn AARCH64_FL_* macros into constexprs, getting the definitions
10253         from aarch64-option-extensions.def.  Remove AARCH64_FL_FOR_* macros.
10254         * common/config/aarch64/aarch64-common.cc: Include
10255         aarch64-feature-deps.h.
10256         (all_extensions): Update for new .def format.
10257         (all_extensions_by_on, all_cores, all_architectures): Likewise.
10258         * config/aarch64/driver-aarch64.cc: Include aarch64-feature-deps.h.
10259         (aarch64_extensions): Update for new .def format.
10260         (aarch64_cpu_data, aarch64_arches): Likewise.
10261         * config/aarch64/aarch64.cc: Include aarch64-feature-deps.h.
10262         (all_architectures, all_cores): Update for new .def format.
10263         * config/aarch64/aarch64-sve-builtins.cc
10264         (check_required_extensions): Likewise.
10265         * config/aarch64/aarch64-feature-deps.h: New file.
10266
10267 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
10268
10269         * config/aarch64/aarch64-option-extensions.def: Move crypto
10270         after sha2.
10271
10272 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
10273
10274         * config/aarch64/aarch64-option-extensions.def (dotprod): Depend
10275         on fp as well as simd.
10276         (sha3): Likewise.
10277         (aes): Likewise.  Make +noaes disable crypto.
10278         (sha2): Likewise +nosha2.  Also make +nosha2 disable sha3 and
10279         sve2-sha3.
10280         (sve2-sha3): Depend on sha2 as well as sha3.
10281
10282 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
10283
10284         PR target/107025
10285         * config/aarch64/aarch64.h (oAARCH64_FL_RCPC8_4): Delete.
10286         (AARCH64_FL_FOR_V8_4A): Update accordingly.
10287         (AARCH64_ISA_RCPC8_4): Use AARCH64_FL_V8_4A directly.
10288         * config/aarch64/aarch64-cores.def (thunderx3t110): Remove
10289         AARCH64_FL_RCPC8_4.
10290
10291 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
10292
10293         * config/aarch64/aarch64-cores.def: Remove AARCH64_FL_FOR_<ARCH>
10294         from the flags field.
10295         * common/config/aarch64/aarch64-common.cc (all_cores): Add it
10296         here instead.
10297         * config/aarch64/aarch64.cc (all_cores): Likewise.
10298         * config/aarch64/driver-aarch64.cc (all_cores): Likewise.
10299
10300 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
10301
10302         * config.gcc: Remove dead aarch64-option-extensions.def code.
10303         * config/aarch64/aarch64-arches.def: Update comment.
10304
10305 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
10306
10307         * config/aarch64/aarch64-arches.def: Add a leading "V" to the
10308         ARCH_IDENT fields.
10309         * config/aarch64/aarch64-cores.def: Update accordingly.
10310         * common/config/aarch64/aarch64-common.cc (all_cores): Likewise.
10311         * config/aarch64/aarch64.cc (all_cores): Likewise.
10312         * config/aarch64/driver-aarch64.cc (aarch64_arches): Skip the
10313         leading "V".
10314
10315 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
10316
10317         * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH8): Rename to...
10318         (AARCH64_FL_FOR_V8A): ...this.
10319         (AARCH64_FL_FOR_ARCH8_1): Rename to...
10320         (AARCH64_FL_FOR_V8_1A): ...this.
10321         (AARCH64_FL_FOR_ARCH8_2): Rename to...
10322         (AARCH64_FL_FOR_V8_2A): ...this.
10323         (AARCH64_FL_FOR_ARCH8_3): Rename to...
10324         (AARCH64_FL_FOR_V8_3A): ...this.
10325         (AARCH64_FL_FOR_ARCH8_4): Rename to...
10326         (AARCH64_FL_FOR_V8_4A): ...this.
10327         (AARCH64_FL_FOR_ARCH8_5): Rename to...
10328         (AARCH64_FL_FOR_V8_5A): ...this.
10329         (AARCH64_FL_FOR_ARCH8_6): Rename to...
10330         (AARCH64_FL_FOR_V8_6A): ...this.
10331         (AARCH64_FL_FOR_ARCH8_7): Rename to...
10332         (AARCH64_FL_FOR_V8_7A): ...this.
10333         (AARCH64_FL_FOR_ARCH8_8): Rename to...
10334         (AARCH64_FL_FOR_V8_8A): ...this.
10335         (AARCH64_FL_FOR_ARCH8_R): Rename to...
10336         (AARCH64_FL_FOR_V8R): ...this.
10337         (AARCH64_FL_FOR_ARCH9): Rename to...
10338         (AARCH64_FL_FOR_V9A): ...this.
10339         (AARCH64_FL_FOR_ARCH9_1): Rename to...
10340         (AARCH64_FL_FOR_V9_1A): ...this.
10341         (AARCH64_FL_FOR_ARCH9_2): Rename to...
10342         (AARCH64_FL_FOR_V9_2A): ...this.
10343         (AARCH64_FL_FOR_ARCH9_3): Rename to...
10344         (AARCH64_FL_FOR_V9_3A): ...this.
10345         * common/config/aarch64/aarch64-common.cc (all_cores): Update
10346         accordingly.
10347         * config/aarch64/aarch64-arches.def: Likewise.
10348         * config/aarch64/aarch64-cores.def: Likewise.
10349         * config/aarch64/aarch64.cc (all_cores): Likewise.
10350
10351 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
10352
10353         * config/aarch64/aarch64.h (AARCH64_FL_V8_1, AARCH64_FL_V8_2)
10354         (AARCH64_FL_V8_3, AARCH64_FL_V8_4, AARCH64_FL_V8_5, AARCH64_FL_V8_6)
10355         (AARCH64_FL_V9, AARCH64_FL_V8_7, AARCH64_FL_V8_8, AARCH64_FL_V9_1)
10356         (AARCH64_FL_V9_2, AARCH64_FL_V9_3): Add "A" to the end of the name.
10357         (AARCH64_FL_V8_R): Rename to AARCH64_FL_V8R.
10358         (AARCH64_FL_FOR_ARCH8_1, AARCH64_FL_FOR_ARCH8_2): Update accordingly.
10359         (AARCH64_FL_FOR_ARCH8_3, AARCH64_FL_FOR_ARCH8_4): Likewise.
10360         (AARCH64_FL_FOR_ARCH8_5, AARCH64_FL_FOR_ARCH8_6): Likewise.
10361         (AARCH64_FL_FOR_ARCH8_7, AARCH64_FL_FOR_ARCH8_8): Likewise.
10362         (AARCH64_FL_FOR_ARCH8_R, AARCH64_FL_FOR_ARCH9): Likewise.
10363         (AARCH64_FL_FOR_ARCH9_1, AARCH64_FL_FOR_ARCH9_2): Likewise.
10364         (AARCH64_FL_FOR_ARCH9_3, AARCH64_ISA_V8_2A, AARCH64_ISA_V8_3A)
10365         (AARCH64_ISA_V8_4A, AARCH64_ISA_V8_5A, AARCH64_ISA_V8_6A): Likewise.
10366         (AARCH64_ISA_V8R, AARCH64_ISA_V9A, AARCH64_ISA_V9_1A): Likewise.
10367         (AARCH64_ISA_V9_2A, AARCH64_ISA_V9_3A): Likewise.
10368
10369 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
10370
10371         * config/aarch64/aarch64.h (AARCH64_ISA_V8_2, AARCH64_ISA_V8_3)
10372         (AARCH64_ISA_V8_4, AARCH64_ISA_V8_5, AARCH64_ISA_V8_6)
10373         (AARCH64_ISA_V9, AARCH64_ISA_V9_1, AARCH64_ISA_V9_2)
10374         (AARCH64_ISA_V9_3): Add "A" to the end of the name.
10375         (AARCH64_ISA_V8_R): Rename to AARCH64_ISA_V8R.
10376         (TARGET_ARMV8_3, TARGET_JSCVT, TARGET_FRINT, TARGET_MEMTAG): Update
10377         accordingly.
10378         * common/config/aarch64/aarch64-common.cc
10379         (aarch64_get_extension_string_for_isa_flags): Likewise.
10380         * config/aarch64/aarch64-c.cc
10381         (aarch64_define_unconditional_macros): Likewise.
10382
10383 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
10384
10385         * Makefile.in (GTFILES): Add OPTIONS_H_EXTRA.
10386
10387 2022-09-29  Jakub Jelinek  <jakub@redhat.com>
10388
10389         PR bootstrap/107059
10390         * cppdefault.cc (cpp_include_defaults): If SYSROOT_HEADERS_SUFFIX_SPEC
10391         isn't defined, add FIXED_INCLUDE_DIR entry with multilib flag 2
10392         before FIXED_INCLUDE_DIR entry with multilib flag 0.
10393         * gcc.cc (do_spec_1): If multiarch_dir, add
10394         include-fixed/multiarch_dir paths before include-fixed paths.
10395
10396 2022-09-29  Martin Liska  <mliska@suse.cz>
10397
10398         PR driver/106897
10399         * common.opt: Add -gz=zstd value.
10400         * configure.ac: Detect --compress-debug-sections=zstd
10401         for both linker and assembler.
10402         * configure: Regenerate.
10403         * gcc.cc (LINK_COMPRESS_DEBUG_SPEC): Handle -gz=zstd.
10404         (ASM_COMPRESS_DEBUG_SPEC): Likewise.
10405
10406 2022-09-29  Richard Biener  <rguenther@suse.de>
10407
10408         PR tree-optimization/105646
10409         * tree-ssa-uninit.cc (warn_uninitialized_vars): Pre-compute
10410         the set of fallthru reachable blocks from function entry
10411         and use that to determine wlims.always_executed.
10412
10413 2022-09-29  liuhongt  <hongtao.liu@intel.com>
10414
10415         PR tree-optimization/107055
10416         * tree-vect-loop-manip.cc (vect_can_advance_ivs_p): Check for
10417         nonlinear induction variables.
10418         * tree-vect-loop.cc (vect_can_peel_nonlinear_iv_p): New
10419         functions.
10420         (vectorizable_nonlinear_induction): Put part codes into
10421         vect_can_peel_nonlinear_iv_p.
10422         * tree-vectorizer.h (vect_can_peel_nonlinear_iv_p): Declare.
10423
10424 2022-09-28  Eugene Rozenfeld  <erozen@microsoft.com>
10425
10426         * basic-block.h: Remove discriminator from basic blocks.
10427         * cfghooks.cc (split_block_1): Remove discriminator from basic blocks.
10428         * final.cc (final_start_function_1): Switch from per-bb to per statement
10429         discriminator.
10430         (final_scan_insn_1): Don't keep track of basic block discriminators.
10431         (compute_discriminator): Switch from basic block discriminators to
10432         instruction discriminators.
10433         (insn_discriminator): New function to return instruction discriminator.
10434         (notice_source_line): Use insn_discriminator.
10435         * gimple-pretty-print.cc (dump_gimple_bb_header): Remove dumping of
10436         basic block discriminators.
10437         * gimple-streamer-in.cc (input_bb): Remove reading of basic block
10438         discriminators.
10439         * gimple-streamer-out.cc (output_bb): Remove writing of basic block
10440         discriminators.
10441         * input.cc (make_location): Pass 0 discriminator to COMBINE_LOCATION_DATA.
10442         (location_with_discriminator): New function to combine locus with
10443         a discriminator.
10444         (has_discriminator): New function to check if a location has a discriminator.
10445         (get_discriminator_from_loc): New function to get the discriminator
10446         from a location.
10447         * input.h: Declarations of new functions.
10448         * lto-streamer-in.cc (cmp_loc): Use discriminators in location comparison.
10449         (apply_location_cache): Keep track of current discriminator.
10450         (input_location_and_block): Read discriminator from stream.
10451         * lto-streamer-out.cc (clear_line_info): Set current discriminator to
10452         UINT_MAX.
10453         (lto_output_location_1): Write discriminator to stream.
10454         * lto-streamer.h: Add discriminator to cached_location.
10455         Add current_discr to lto_location_cache.
10456         Add current_discr to output_block.
10457         * print-rtl.cc (print_rtx_operand_code_i): Print discriminator.
10458         * rtl.h: Add extern declaration of insn_discriminator.
10459         * tree-cfg.cc (assign_discriminator): New function to assign a unique
10460         discriminator value to all statements in a basic block that have the given
10461         line number.
10462         (assign_discriminators): Assign discriminators to statement locations.
10463         * tree-pretty-print.cc (dump_location): Dump discriminators.
10464         * tree.cc (set_block): Preserve discriminator when setting block.
10465         (set_source_range): Preserve discriminator when setting source range.
10466
10467 2022-09-28  H.J. Lu  <hjl.tools@gmail.com>
10468
10469         PR target/107061
10470         * config/i386/predicates.md (encodekey128_operation): Check
10471         XMM4-XMM6 as clobbered.
10472         (encodekey256_operation): Likewise.
10473         * config/i386/sse.md (encodekey128u32): Clobber XMM4-XMM6.
10474         (encodekey256u32): Likewise.
10475
10476 2022-09-28  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
10477
10478         * config.gcc: Add riscv-vector-builtins.o.
10479         * config/riscv/riscv-builtins.cc (riscv_init_builtins): Add RVV builtin function.
10480         * config/riscv/riscv-protos.h (riscv_v_ext_enabled_vector_mode_p): New function.
10481         * config/riscv/riscv.cc (ENTRY): New macro.
10482         (riscv_v_ext_enabled_vector_mode_p): New function.
10483         (riscv_mangle_type): Add RVV mangle.
10484         (riscv_vector_mode_supported_p): Adjust RVV machine mode.
10485         (riscv_verify_type_context): Add context check for RVV.
10486         (riscv_vector_alignment): Add RVV alignment target hook support.
10487         (TARGET_VECTOR_MODE_SUPPORTED_P): New target hook support.
10488         (TARGET_VERIFY_TYPE_CONTEXT): Ditto.
10489         (TARGET_VECTOR_ALIGNMENT): Ditto.
10490         * config/riscv/t-riscv: Add riscv-vector-builtins.o
10491         * config/riscv/riscv-vector-builtins.cc: New file.
10492         * config/riscv/riscv-vector-builtins.def: New file.
10493         * config/riscv/riscv-vector-builtins.h: New file.
10494         * config/riscv/riscv-vector-switch.def: New file.
10495
10496 2022-09-28  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
10497
10498         * var-tracking.cc (vt_add_function_parameter): Add entry values
10499         up to maximal register mode.
10500
10501 2022-09-28  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
10502
10503         * cselib.cc (new_cselib_val): Keep track of further subvalue
10504         relations.
10505
10506 2022-09-28  Andrea Corallo  <andrea.corallo@arm.com>
10507
10508         * config/arm/arm-c.cc (arm_cpu_builtins): Define
10509         __ARM_FEATURE_AES and __ARM_FEATURE_SHA2.
10510
10511 2022-09-28  Xi Ruoyao  <xry111@xry111.site>
10512
10513         PR tree-optimization/105414
10514         * config/loongarch/loongarch.md (UNSPEC_FMAX): New unspec.
10515         (UNSPEC_FMIN): Likewise.
10516         (fmax<mode>3): Use UNSPEC_FMAX instead of smax.
10517         (fmin<mode>3): Use UNSPEC_FMIN instead of smin.
10518
10519 2022-09-28  Lulu Cheng  <chenglulu@loongson.cn>
10520
10521         * config/loongarch/loongarch.cc (loongarch_asan_shadow_offset):
10522         Fixed typo in "asan_mapping.h".
10523
10524 2022-09-28  H.J. Lu  <hjl.tools@gmail.com>
10525
10526         PR middle-end/58245
10527         * calls.cc: Include "tree-eh.h".
10528         (expand_call): Check stack canary before throwing exception.
10529
10530 2022-09-27  Eugene Rozenfeld  <erozen@microsoft.com>
10531
10532         * ipa-cp.cc (good_cloning_opportunity_p): Fix profile count comparison.
10533
10534 2022-09-27  Kim Kuparinen  <kim.kuparinen@rightware.com>
10535
10536         * doc/invoke.texi: Update ABI version info.
10537
10538 2022-09-27  Aldy Hernandez  <aldyh@redhat.com>
10539
10540         * gimple-range-op.cc (cfn_popcount): Calculate the popcount of a
10541         singleton.
10542
10543 2022-09-27  Aldy Hernandez  <aldyh@redhat.com>
10544
10545         * value-range.cc (irange::set_nonzero_bits): Set range when known.
10546
10547 2022-09-27  Aldy Hernandez  <aldyh@redhat.com>
10548
10549         * value-range.h (irange::set): New version taking wide_int_ref.
10550
10551 2022-09-27  Jakub Jelinek  <jakub@redhat.com>
10552
10553         PR tree-optimization/107029
10554         * tree-ssa-reassoc.cc (optimize_range_tests_cmp_bitwise): Treat
10555         OFFSET_TYPE like POINTER_TYPE, except that OFFSET_TYPE may be
10556         signed and so can trigger even the (b % 4) == 3 case.
10557
10558 2022-09-27  Jeff Law  <jeffreyalaw@gmail.com>
10559
10560         * cfgrtl.cc (fixup_reorder_chain): Verify that simple_return
10561         and return are available before trying to use them.
10562
10563 2022-09-27  Jakub Jelinek  <jakub@redhat.com>
10564
10565         PR c++/106652
10566         PR c++/85518
10567         * tree-core.h (enum tree_index): Add TI_FLOAT128T_TYPE
10568         enumerator.
10569         * tree.h (float128t_type_node): Define.
10570         * tree.cc (build_common_tree_nodes): Initialize float128t_type_node.
10571         * builtins.def (DEF_FLOATN_BUILTIN): Adjust comment now that
10572         _Float<N> is supported in C++ too.
10573         * config/i386/i386.cc (ix86_mangle_type): Only mangle as "g"
10574         float128t_type_node.
10575         * config/i386/i386-builtins.cc (ix86_init_builtin_types): Use
10576         float128t_type_node for __float128 instead of float128_type_node
10577         and create it if NULL.
10578         * config/i386/avx512fp16intrin.h (_mm_setzero_ph, _mm256_setzero_ph,
10579         _mm512_setzero_ph, _mm_set_sh, _mm_load_sh): Use 0.0f16 instead of
10580         0.0f.
10581         * config/ia64/ia64.cc (ia64_init_builtins): Use
10582         float128t_type_node for __float128 instead of float128_type_node
10583         and create it if NULL.
10584         * config/rs6000/rs6000-c.cc (is_float128_p): Also return true
10585         for float128t_type_node if non-NULL.
10586         * config/rs6000/rs6000.cc (rs6000_mangle_type): Don't mangle
10587         float128_type_node as "u9__ieee128".
10588         * config/rs6000/rs6000-builtin.cc (rs6000_init_builtins): Use
10589         float128t_type_node for __float128 instead of float128_type_node
10590         and create it if NULL.
10591
10592 2022-09-26  Martin Liska  <mliska@suse.cz>
10593
10594         * doc/invoke.texi: Add missing dash for
10595         Wanalyzer-exposure-through-uninit-copy.
10596
10597 2022-09-26  Aldy Hernandez  <aldyh@redhat.com>
10598
10599         PR tree-optimization/107009
10600         * range-op.cc (operator_bitwise_and::op1_range): Optimize 0 = x & MASK.
10601         (range_op_bitwise_and_tests): New test.
10602
10603 2022-09-26  Aldy Hernandez  <aldyh@redhat.com>
10604
10605         PR tree-optimization/107009
10606         * tree-ssa-dom.cc
10607         (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges):
10608         Iterate over exports.
10609
10610 2022-09-26  Thomas Schwinge  <thomas@codesourcery.com>
10611
10612         * config.gcc (with_arch) [nvptx]: Allow '--with-arch' to override
10613         the default.
10614         * config/nvptx/gen-multilib-matches.sh: New.
10615         * config/nvptx/t-nvptx (MULTILIB_OPTIONS, MULTILIB_MATCHES)
10616         (MULTILIB_EXCEPTIONS): Handle this.
10617         * doc/install.texi (Specific) <nvptx-*-none>: Document this.
10618         * doc/invoke.texi (Nvidia PTX Options): Likewise.
10619
10620 2022-09-26  Thomas Schwinge  <thomas@codesourcery.com>
10621
10622         * config.gcc (TM_MULTILIB_CONFIG) [nvptx]: Set to '$with_arch'.
10623         * config/nvptx/t-nvptx (MULTILIB_OPTIONS, MULTILIB_MATCHES)
10624         (MULTILIB_EXCEPTIONS): Handle it.
10625
10626 2022-09-26  Thomas Schwinge  <thomas@codesourcery.com>
10627
10628         * config.gcc (with_arch) [nvptx]: Set to 'sm_30'.
10629         * config/nvptx/nvptx.cc (nvptx_option_override): Assert that
10630         '-misa' appeared.
10631         * config/nvptx/nvptx.h (OPTION_DEFAULT_SPECS): Define.
10632         * config/nvptx/nvptx.opt (misa=): Remove 'Init'.
10633
10634 2022-09-26  Thomas Schwinge  <thomas@codesourcery.com>
10635
10636         * config/nvptx/nvptx.h (ASM_SPEC): Define.
10637
10638 2022-09-26  Jeff Law  <jeffreyalaw@gmail.com>
10639
10640         * cfgcleanup.cc (bb_is_just_return): No longer static.
10641         * cfgcleanup.h (bb_is_just_return): Add prototype.
10642         * cfgrtl.cc (fixup_reorder_chain): Do not create an
10643         unconditional jump to a return block.  Conditionally
10644         remove unreachable blocks.
10645
10646 2022-09-26  Tobias Burnus  <tobias@codesourcery.com>
10647
10648         PR middle-end/106982
10649         * omp-low.cc (lower_oacc_reductions): Add some unshare_expr.
10650
10651 2022-09-26  Martin Liska  <mliska@suse.cz>
10652
10653         * config/s390/s390.cc (s390_rtx_costs): Remove dest variable
10654         and use only dst.
10655
10656 2022-09-26  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
10657
10658         * config/aarch64/aarch64-arches.def (armv9.1-a): Define.
10659         (armv9.2-a): Likewise.
10660         (armv9.3-a): Likewise.
10661         * config/aarch64/aarch64.h (AARCH64_FL_V9_1): Likewise.
10662         (AARCH64_FL_V9_2): Likewise.
10663         (AARCH64_FL_V9_3): Likewise.
10664         (AARCH64_FL_FOR_ARCH9_1): Likewise.
10665         (AARCH64_FL_FOR_ARCH9_2): Likewise.
10666         (AARCH64_FL_FOR_ARCH9_3): Likewise.
10667         (AARCH64_ISA_V9_1): Likewise.
10668         (AARCH64_ISA_V9_2): Likewise.
10669         (AARCH64_ISA_V9_3): Likewise.
10670         * doc/invoke.texi (AArch64 Options): Document armv9.1-a, armv9.2-a,
10671         armv9.3-a values to -march.
10672
10673 2022-09-26  Martin Liska  <mliska@suse.cz>
10674
10675         * value-range.cc (tree_compare): Remove unused function.
10676
10677 2022-09-26  Kewen Lin  <linkw@linux.ibm.com>
10678
10679         PR target/96072
10680         * config/rs6000/rs6000-logue.cc (rs6000_emit_epilogue): Update the
10681         condition for adding REG_CFA_DEF_CFA reg note with
10682         frame_pointer_needed_indeed.
10683
10684 2022-09-26  Kewen Lin  <linkw@linux.ibm.com>
10685
10686         PR target/100645
10687         * config/rs6000/vector.md (vec_shr_<mode>): Replace condition
10688         TARGET_ALTIVEC with VECTOR_UNIT_ALTIVEC_OR_VSX_P.
10689
10690 2022-09-26  Hongtao Liu  <hongtao.liu@intel.com>
10691             Liwei Xu  <liwei.xu@intel.com>
10692
10693         PR target/53346
10694         * config/i386/i386-expand.cc (expand_vec_perm_shufps_shufps):
10695         New function.
10696         (ix86_expand_vec_perm_const_1): Insert
10697         expand_vec_perm_shufps_shufps at the end of 2-instruction
10698         expand sequence.
10699
10700 2022-09-25  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
10701
10702         * doc/sourcebuild.texi: Fix chapter level.
10703
10704 2022-09-24  Jakub Jelinek  <jakub@redhat.com>
10705
10706         PR c/107001
10707         * omp-low.cc (lower_omp_taskgroup): Don't add GOMP_RETURN statement
10708         at the end.
10709         * omp-expand.cc (build_omp_regions_1): Clarify GF_OMP_TARGET_KIND_DATA
10710         is not stand-alone directive.  For GIMPLE_OMP_TASKGROUP, also don't
10711         update parent.
10712         (omp_make_gimple_edges) <case GIMPLE_OMP_TASKGROUP>: Reset
10713         cur_region back after new_omp_region.
10714
10715 2022-09-23  Vineet Gupta  <vineetg@rivosinc.com>
10716
10717         * config/riscv/riscv.h (LOCAL_SYM_P): New.
10718         (USE_LOAD_ADDRESS_MACRO): Simplify by calling LOCAL_SYM_P.
10719
10720 2022-09-23  zhongjuzhe  <juzhe.zhong@rivai.ai>
10721
10722         * config/riscv/riscv-modes.def (VECTOR_BOOL_MODE): Add RVV mask modes.
10723         (ADJUST_NUNITS): Adjust nunits using riscv_vector_chunks.
10724         (ADJUST_ALIGNMENT): Adjust alignment.
10725         (ADJUST_BYTESIZE): Adjust bytesize using riscv_vector_chunks.
10726         (RVV_MODES): New macro.
10727         (VECTOR_MODE_WITH_PREFIX): Add RVV vector modes.
10728         (VECTOR_MODES_WITH_PREFIX): Add RVV vector modes.
10729
10730 2022-09-23  zhongjuzhe  <juzhe.zhong@rivai.ai>
10731
10732         * common/config/riscv/riscv-common.cc: Change "static void" to "void".
10733         * config.gcc: Add riscv-selftests.o
10734         * config/riscv/predicates.md: Allow const_poly_int.
10735         * config/riscv/riscv-protos.h (riscv_reinit): New function.
10736         (riscv_parse_arch_string): change as exten function.
10737         (riscv_run_selftests): New function.
10738         * config/riscv/riscv.cc (riscv_cannot_force_const_mem): Don't allow poly
10739         into const pool.
10740         (riscv_report_v_required): New function.
10741         (riscv_expand_op): New function.
10742         (riscv_expand_mult_with_const_int): New function.
10743         (riscv_legitimize_poly_move): Ditto.
10744         (riscv_legitimize_move): New function.
10745         (riscv_hard_regno_mode_ok): Add VL/VTYPE register allocation and fix
10746         vector RA.
10747         (riscv_convert_vector_bits): Fix riscv_vector_chunks configuration for
10748         -marh no 'v'.
10749         (riscv_reinit): New function.
10750         (TARGET_RUN_TARGET_SELFTESTS): New target hook support.
10751         * config/riscv/t-riscv: Add riscv-selftests.o.
10752         * config/riscv/riscv-selftests.cc: New file.
10753
10754 2022-09-23  Richard Biener  <rguenther@suse.de>
10755
10756         PR tree-optimization/106922
10757         * tree-ssa-sccvn.cc (vn_reference_lookup_3): Allow
10758         an arbitrary number of same valued skipped stores.
10759
10760 2022-09-23  Aldy Hernandez  <aldyh@redhat.com>
10761
10762         * value-range.cc (frange::set): Swap setters such that the one
10763         accepting REAL_VALUE_TYPE does all the work.
10764
10765 2022-09-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
10766
10767         * config/aarch64/aarch64-cores.def (neoverse-v2): New entry.
10768         (demeter): Update tunings to neoversev2.
10769         * config/aarch64/aarch64-tune.md: Regenerate.
10770         * config/aarch64/aarch64.cc (demeter_addrcost_table): Rename to
10771         neoversev2_addrcost_table.
10772         (demeter_regmove_cost): Rename to neoversev2_addrcost_table.
10773         (demeter_advsimd_vector_cost): Rename to neoversev2_advsimd_vector_cost.
10774         (demeter_sve_vector_cost): Rename to neoversev2_sve_vector_cost.
10775         (demeter_scalar_issue_info): Rename to neoversev2_scalar_issue_info.
10776         (demeter_advsimd_issue_info): Rename to neoversev2_advsimd_issue_info.
10777         (demeter_sve_issue_info): Rename to neoversev2_sve_issue_info.
10778         (demeter_vec_issue_info): Rename to neoversev2_vec_issue_info.
10779         Update references to above.
10780         (demeter_vector_cost): Rename to neoversev2_vector_cost.
10781         (demeter_tunings): Rename to neoversev2_tunings.
10782         (aarch64_vec_op_count::rename_cycles_per_iter): Use
10783         neoversev2_sve_issue_info instead of demeter_sve_issue_info.
10784         * doc/invoke.texi (AArch64 Options): Document neoverse-v2.
10785
10786 2022-09-23  Aldy Hernandez  <aldyh@redhat.com>
10787
10788         * range-op-float.cc (build_le): Use vrp_val_*.
10789         (build_lt): Same.
10790         (build_ge): Same.
10791         (build_gt): Same.
10792         * value-range.cc (frange::set): Chop ranges outside of the
10793         representable numbers for -ffinite-math-only.
10794         (frange::normalize_kind): Use vrp_val*.
10795         (frange::verify_range): Same.
10796         (frange::set_nonnegative): Same.
10797         (range_tests_floats): Remove tests that depend on -INF and +INF.
10798         * value-range.h (real_max_representable): Add prototype.
10799         (real_min_representable): Same.
10800         (vrp_val_max): Set max representable number for
10801         -ffinite-math-only.
10802         (vrp_val_min): Same but for min.
10803         (frange::set_varying): Use vrp_val*.
10804
10805 2022-09-23  Aldy Hernandez  <aldyh@redhat.com>
10806
10807         * real.cc (debug): New.
10808
10809 2022-09-23  Aldy Hernandez  <aldyh@redhat.com>
10810
10811         * value-range-pretty-print.cc (vrange_printer::print_real_value): New.
10812         (vrange_printer::visit): Call print_real_value.
10813         * value-range-pretty-print.h: New print_real_value.
10814
10815 2022-09-23  Martin Liska  <mliska@suse.cz>
10816
10817         * common.opt: Update -flto-compression-level documentation.
10818         * opts.cc (print_filtered_help): Do not append range to an
10819         option that uses \t syntax.
10820
10821 2022-09-23  Jakub Jelinek  <jakub@redhat.com>
10822
10823         * attribs.cc (decl_attributes): Improve diagnostics, instead of
10824         saying expected between 1 and 1, found 2 just say expected 1, found 2.
10825
10826 2022-09-23  Hu, Lin1  <lin1.hu@intel.com>
10827
10828         PR target/94962
10829         * config/i386/constraints.md (BH): New define_constraint.
10830         * config/i386/i386.cc (standard_sse_constant_p): Add return
10831         3/4 when operand matches new predicate.
10832         (standard_sse_constant_opcode): Add new alternative branch to
10833         return "vpcmpeqd".
10834         * config/i386/predicates.md
10835         (vector_all_ones_zero_extend_half_operand): New define_predicate.
10836         (vector_all_ones_zero_extend_quarter_operand): Ditto.
10837         * config/i386/sse.md: Add constraint to insn "mov<mode>_internal".
10838
10839 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
10840
10841         * gimple-range-fold.cc (range_of_range_op): Handle no operands.
10842         (range_of_call): Do not check for builtins.
10843         (fold_using_range::range_of_builtin_call): Delete.
10844         (fold_using_range::range_of_builtin_int_call): Delete.
10845         * gimple-range-fold.h: Adjust prototypes.
10846         * gimple-range-op.cc (class cfn_parity): New.
10847         (gimple_range_op_handler::maybe_builtin_call): Set arguments.
10848
10849 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
10850
10851         * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
10852         for CFN_GOACC_DIM_*.
10853         * gimple-range-op.cc (class cfn_goacc_dim): New.
10854         (gimple_range_op_handler::maybe_builtin_call): Set arguments.
10855
10856 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
10857
10858         * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
10859         for CFN_BUILT_IN_STRLEN.
10860         * gimple-range-op.cc (class cfn_strlen): New.
10861         (gimple_range_op_handler::maybe_builtin_call): Set arguments.
10862
10863 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
10864
10865         * gimple-range-fold.cc (range_of_builtin_ubsan_call): Delete.
10866         (range_of_builtin_int_call): Remove cases for
10867         CFN_BUILT_IN_UBSAN_CHECK.
10868         * gimple-range-op.cc (class cfn_ubsan): New.
10869         (gimple_range_op_handler::maybe_builtin_call): Set arguments.
10870
10871 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
10872
10873         * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
10874         for CFN_BUILT_IN_CLRSB.
10875         * gimple-range-op.cc (class cfn_clrsb): New.
10876         (gimple_range_op_handler::maybe_builtin_call): Set arguments.
10877
10878 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
10879
10880         * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
10881         for CFN_CTZ.
10882         * gimple-range-op.cc (class cfn_ctz): New.
10883         (gimple_range_op_handler::maybe_builtin_call): Set arguments.
10884
10885 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
10886
10887         * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
10888         for CFN_CLZ.
10889         * gimple-range-op.cc (class cfn_clz): New.
10890         (gimple_range_op_handler::maybe_builtin_call): Set arguments.
10891
10892 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
10893
10894         * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
10895         for CFN_FFS and CFN_POPCOUNT.
10896         * gimple-range-op.cc (class cfn_pocount): New.
10897         (gimple_range_op_handler::maybe_builtin_call): Set arguments.
10898
10899 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
10900
10901         * gimple-range-fold.cc (get_letter_range): Move to new class.
10902         (range_of_builtin_int_call): Remove case for CFN_BUILT_IN_TOUPPER
10903         and CFN_BUILT_IN_TOLOWER.
10904         * gimple-range-op.cc (class cfn_toupper_tolower): New.
10905         (gimple_range_op_handler::maybe_builtin_call): Set arguments.
10906
10907 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
10908
10909         * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
10910         for CFN_BUILT_IN_SIGNBIT.
10911         * gimple-range-op.cc (class cfn_signbit): New.
10912         (gimple_range_op_handler::maybe_builtin_call): Set arguments.
10913
10914 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
10915
10916         * gimple-range-fold.cc
10917         (fold_using_range::range_of_builtin_int_call): Remove case for
10918         CFN_BUILT_IN_CONSTANT_P.
10919         * gimple-range-op.cc (gimple_range_op_handler::supported_p):
10920         Check if a call also creates a range-op object.
10921         (gimple_range_op_handler): Also check builtin calls.
10922         (class cfn_constant_float_p): New.  Float CFN_BUILT_IN_CONSTANT_P.
10923         (class cfn_constant_p): New.  Integral CFN_BUILT_IN_CONSTANT_P.
10924         (gimple_range_op_handler::maybe_builtin_call): Set arguments and
10925         handler for supported built-in calls.
10926         * gimple-range-op.h (maybe_builtin_call): New prototype.
10927
10928 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
10929
10930         * gimple-range-fold.cc (range_of_range_op): Set result to
10931         VARYING if the call to fold_range fails.
10932         * tree-data-ref.cc (compute_distributive_range): Ditto.
10933         * tree-vrp.cc (range_fold_binary_expr): Ditto.
10934         (range_fold_unary_expr): Ditto.
10935         * value-query.cc (range_query::get_tree_range): Ditto.
10936
10937 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
10938
10939         * range-op-float.cc (range_operator_float::fold_range): New base
10940         method for "int = float op int".
10941         * range-op.cc (range_op_handler::fold_range): New case.
10942         * range-op.h: Update prototypes.
10943
10944 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
10945
10946         * gimple-range-op.cc (gimple_range_op_handler::calc_op1): Use
10947         operand 1 for second range if there is no operand 2.
10948
10949 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
10950
10951         * Makefile.in (OBJS): Add gimple-range-op.o.
10952         * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Use
10953         gimple_range_op_handler.
10954         * gimple-range-fold.cc (gimple_range_base_of_assignment): Move
10955         to a method in gimple_range_op_handler.
10956         (gimple_range_operand1): Ditto.
10957         (gimple_range_operand2): Ditto.
10958         (fold_using_range::fold_stmt): Use gimple_range_op_handler.
10959         (fold_using_range::range_of_range_op): Ditto.
10960         (fold_using_range::relation_fold_and_or): Ditto.
10961         (fur_source::register_outgoing_edges): Ditto.
10962         (gimple_range_ssa_names): Relocate to gimple-range-op.cc.
10963         * gimple-range-fold.h: Adjust prototypes.
10964         * gimple-range-gori.cc (gimple_range_calc_op1): Move
10965         to a method in gimple_range_op_handler.
10966         (gimple_range_calc_op2): Ditto.
10967         (gori_compute::compute_operand_range): Use
10968         gimple_range_op_handler.
10969         (gori_compute::compute_logical_operands): Ditto.
10970         (compute_operand1_range): Ditto.
10971         (gori_compute::compute_operand2_range): Ditto.
10972         (gori_compute::compute_operand1_and_operand2_range): Ditto.
10973         * gimple-range-gori.h: Adjust protoypes.
10974         * gimple-range-op.cc: New.  Supply gimple_range_op_handler methods.
10975         * gimple-range-op.h: New.  Supply gimple_range_op_handler class.
10976         * gimple-range.cc (gimple_ranger::prefill_name): Use
10977         gimple_range_op_handler.
10978         (gimple_ranger::prefill_stmt_dependencies): Ditto.
10979         * gimple-range.h: Include gimple-range-op.h.
10980         * range-op.cc (range_op_handler::range_op_handler): Adjust and
10981         remove gimple * parameter option.
10982         * range-op.h: Adjust prototypes.
10983
10984 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
10985
10986         * range-op.cc (range_op_handler::set_op_handler): Set new fields.
10987         (ange_op_handler::range_op_handler): Likewise.
10988         (range_op_handler::operator bool): Remove.
10989         (range_op_handler::fold_range): Use appropriate handler.
10990         (range_op_handler::op1_range): Likewise.
10991         (range_op_handler::op2_range): Likewise.
10992         (range_op_handler::lhs_op1_relation): Likewise.
10993         (range_op_handler::lhs_op2_relation): Likewise.
10994         (range_op_handler::op1_op2_relation): Likewise.
10995         * range-op.h (class range_op_handler): Store handler pointers.
10996         (range_op_handler:: operator bool): Inline.
10997
10998 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
10999
11000         * tree-ssa-threadbackward.cc
11001         (back_threader::find_paths_to_names): Replace sequence with
11002         a call to gimple_range_ssa_names.
11003
11004 2022-09-22  Martin Liska  <mliska@suse.cz>
11005             Fangrui Song  <i@maskray.me>
11006
11007         * configure: Regenerate.
11008         * configure.ac: Simplify to gcc_cv_ld_compress_debug={0,1}
11009         and gcc_cv_as_compress_debug={0,1}.
11010         * doc/invoke.texi: Document the removal.
11011         * gcc.cc (LINK_COMPRESS_DEBUG_SPEC): Simplify and ignore
11012         zlib-gnu.
11013         (ASM_COMPRESS_DEBUG_SPEC): Likewise.
11014
11015 2022-09-22  Richard Biener  <rguenther@suse.de>
11016
11017         PR tree-optimization/106922
11018         * tree-ssa-sccvn.cc (vn_walk_cb_data::same_val): New member.
11019         (vn_walk_cb_data::finish): Perform delayed verification of
11020         a skipped may-alias.
11021         (vn_reference_lookup_pieces): Likewise.
11022         (vn_reference_lookup): Likewise.
11023         (vn_reference_lookup_3): When skipping stores of the same
11024         value also handle constant stores that are more than a
11025         single VDEF away by delaying the verification.
11026
11027 2022-09-22  Max Filippov  <jcmvbkbc@gmail.com>
11028
11029         * config/xtensa/xtensa.cc (TARGET_MAX_ANCHOR_OFFSET): New
11030         definition.
11031
11032 2022-09-22  Max Filippov  <jcmvbkbc@gmail.com>
11033
11034         * config/xtensa/xtensa.cc (xtensa_can_output_mi_thunk)
11035         (xtensa_output_mi_thunk): New functions.
11036         (TARGET_ASM_CAN_OUTPUT_MI_THUNK)
11037         (TARGET_ASM_OUTPUT_MI_THUNK): New macro definitions.
11038         (xtensa_prepare_expand_call): Use fixed register a8 as temporary
11039         when called with reload_completed set to 1.
11040
11041 2022-09-22  Richard Biener  <rguenther@suse.de>
11042
11043         PR tree-optimization/99407
11044         * tree-ssa-dse.cc (dse_stmt_to_dr_map): New global.
11045         (dse_classify_store): Use data-ref analysis to disambiguate more uses.
11046         (pass_dse::use_dr_analysis_p): New pass parameter.
11047         (pass_dse::set_pass_param): Implement.
11048         (pass_dse::execute): Allocate and deallocate dse_stmt_to_dr_map.
11049         * passes.def: Allow DR analysis for the DSE pass before loop.
11050
11051 2022-09-22  Richard Biener  <rguenther@suse.de>
11052
11053         * tree-ssa-sccvn.cc (can_track_predicate_on_edge): New
11054         function split out from ...
11055         (vn_nary_op_insert_pieces_predicated): ... here.
11056
11057 2022-09-22  liuhongt  <hongtao.liu@intel.com>
11058
11059         PR target/106994
11060         * config/i386/mmx.md (floorv2sf2): Fix typo, use
11061         register_operand instead of vector_operand for operands[1].
11062
11063 2022-09-21  Aldy Hernandez  <aldyh@redhat.com>
11064
11065         PR tree-optimization/106967
11066         * value-range.cc (frange::set): Set known NANs to undefined for
11067         flag_finite_math_only.
11068
11069 2022-09-21  Aldy Hernandez  <aldyh@redhat.com>
11070
11071         * value-range.cc (frange::combine_zeros): Call set_undefined.
11072         (frange::intersect_nans): Same.
11073         (frange::intersect): Same.
11074         (frange::verify_range): Undefined ranges do not have a type.
11075         * value-range.h (frange::set_undefined): Clear NAN flags and type.
11076
11077 2022-09-21  Richard Biener  <rguenther@suse.de>
11078
11079         PR tree-optimization/106984
11080         * tsan.cc (instrument_builtin_call): Build the COND_EXPR condition in
11081         a separate statement.
11082
11083 2022-09-21  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
11084
11085         * config/aarch64/aarch64.h (HAVE_LOCAL_CPU_DETECT,
11086         EXTRA_SPEC_FUNCTIONS, MCPU_MTUNE_NATIVE_SPECS): Move definitions up before
11087         OPTION_DEFAULT_SPECS.
11088         (MCPU_MTUNE_NATIVE_SPECS): Pass "cpu" to
11089         local_cpu_detect when rewriting -march=native and no -mcpu or -mtune
11090         is given.
11091         (CONFIG_TUNE_SPEC): Define.
11092         (OPTION_DEFAULT_SPECS): Use CONFIG_TUNE_SPEC for "tune".
11093
11094 2022-09-21  Aldy Hernandez  <aldyh@redhat.com>
11095
11096         PR tree-optimization/106967
11097         * range-op-float.cc (foperator_equal::fold_range): Adjust for NAN.
11098         (foperator_equal::op1_range): Same.
11099         (foperator_not_equal::fold_range): Same.
11100         (foperator_not_equal::op1_range): Same.
11101         (foperator_lt::fold_range): Same.
11102         (foperator_lt::op1_range): Same.
11103         (foperator_lt::op2_range): Same.
11104         (foperator_le::fold_range): Same.
11105         (foperator_le::op1_range): Same.
11106         (foperator_le::op2_range): Same.
11107         (foperator_gt::fold_range): Same.
11108         (foperator_gt::op1_range): Same.
11109         (foperator_gt::op2_range): Same.
11110         (foperator_ge::fold_range): Same.
11111         (foperator_ge::op1_range): Same.
11112         (foperator_ge::op2_range): Same.
11113         (foperator_unordered::op1_range): Same.
11114         (foperator_ordered::fold_range): Same.
11115         (foperator_ordered::op1_range): Same.
11116         (build_le): Assert that we don't have a NAN.
11117         (build_lt): Same.
11118         (build_gt): Same.
11119         (build_ge): Same.
11120
11121 2022-09-21  liuhongt  <hongtao.liu@intel.com>
11122
11123         PR tree-optimization/106963
11124         * tree-vect-loop.cc (vect_create_nonlinear_iv_init): Use
11125         vec_gen_perm_mask_any instead of vec_gen_perm_mask_check.
11126
11127 2022-09-20  Aldy Hernandez  <aldyh@redhat.com>
11128
11129         * value-range.h (frange::maybe_isnan): Return false for
11130         undefined ranges.
11131
11132 2022-09-20  Aldy Hernandez  <aldyh@redhat.com>
11133
11134         * value-range.cc (frange::set_nonnegative): Set +NAN.
11135         (range_tests_signed_zeros): New test.
11136         * value-range.h (frange::update_nan): New overload to set NAN sign.
11137
11138 2022-09-20  Richard Sandiford  <richard.sandiford@arm.com>
11139
11140         PR target/106491
11141         * config/aarch64/aarch64-sve-builtins.cc (scalar_types)
11142         (acle_vector_types, acle_svpattern, acle_svprfop): Add GTY
11143         markup to (new) extern declarations instead of to the main
11144         definition.
11145
11146 2022-09-20  Richard Sandiford  <richard.sandiford@arm.com>
11147
11148         PR tree-optimization/106794
11149         PR tree-optimization/106914
11150         * tree-vect-slp.cc (vect_optimize_slp_pass::internal_node_cost):
11151         Only consider loads that already have a permutation.
11152         (vect_optimize_slp_pass::start_choosing_layouts): Assert that
11153         loads with permutations are leaf nodes.  Prevent any kind of grouped
11154         access from changing layout if it doesn't have a load permutation.
11155
11156 2022-09-20  Richard Sandiford  <richard.sandiford@arm.com>
11157
11158         * tree-vect-data-refs.cc (vect_check_gather_scatter): Restrict
11159         early-out optimisation to SSA_NAMEs.
11160
11161 2022-09-20  Martin Liska  <mliska@suse.cz>
11162
11163         * ctfc.cc (ctf_add_string): Replace "the the" with "the".
11164         * doc/md.texi: Likewise.
11165         * gimple-range-infer.cc (non_null_loadstore): Likewise.
11166
11167 2022-09-20  liuhongt  <hongtao.liu@intel.com>
11168
11169         PR target/106910
11170         * config/i386/mmx.md (nearbyintv2sf2): New expander.
11171         (rintv2sf2): Ditto.
11172         (ceilv2sf2): Ditto.
11173         (lceilv2sfv2si2): Ditto.
11174         (floorv2sf2): Ditto.
11175         (lfloorv2sfv2si2): Ditto.
11176         (btruncv2sf2): Ditto.
11177         (lrintv2sfv2si2): Ditto.
11178         (roundv2sf2): Ditto.
11179         (lroundv2sfv2si2): Ditto.
11180         (*mmx_roundv2sf2): New define_insn.
11181
11182 2022-09-20  konglin1  <lingling.kong@intel.com>
11183
11184         PR middle-end/105735
11185         * tree-scalar-evolution.cc
11186         (analyze_and_compute_bitop_with_inv_effect): New function.
11187         (final_value_replacement_loop): Enhanced to handle bitop
11188         with inv induction.
11189
11190 2022-09-20  Xi Ruoyao  <xry111@xry111.site>
11191
11192         * config/loongarch/gnu-user.h (GNU_USER_TARGET_LINK_SPEC): For
11193         -static-pie, pass -static -pie --no-dynamic-linker -z text to
11194         the linker, and do not pass --dynamic-linker.
11195
11196 2022-09-20  Aldy Hernandez  <aldyh@redhat.com>
11197
11198         * value-range.cc (frange::flush_denormals_to_zero): New.
11199         (frange::set): Call flush_denormals_to_zero.
11200         * value-range.h (class frange): Add flush_denormals_to_zero.
11201
11202 2022-09-20  liuhongt  <hongtao.liu@intel.com>
11203
11204         * config/i386/x86-tune-sched.cc (ix86_issue_rate): Adjust for
11205         latest Intel processors.
11206
11207 2022-09-20  konglin1  <lingling.kong@intel.com>
11208
11209         PR target/106887
11210         * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
11211         Fixed V16BF mode case.
11212
11213 2022-09-19  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
11214
11215         * targhooks.cc (default_zero_call_used_regs): Improve sorry
11216         message.
11217
11218 2022-09-18  Julian Brown  <julian@codesourcery.com>
11219
11220         * gimplify.cc (omp_segregate_mapping_groups): Update comment.
11221         (gimplify_adjust_omp_clauses): Move ATTACH and
11222         ATTACH_ZERO_LENGTH_ARRAY_SECTION nodes to the end of the clause list
11223         for offloaded OpenMP regions.
11224
11225 2022-09-18  Jakub Jelinek  <jakub@redhat.com>
11226
11227         PR middle-end/106831
11228         * value-range.cc (frange::singleton_p): Avoid propagating long
11229         doubles that may have multiple representations.
11230
11231 2022-09-18  Aldy Hernandez  <aldyh@redhat.com>
11232
11233         * range-op-float.cc (frange_add_zeros): Replace set_signbit with
11234         union of zero.
11235         * value-query.cc (range_query::get_tree_range): Remove set_signbit
11236         use.
11237         * value-range-pretty-print.cc (vrange_printer::print_frange_prop):
11238         Remove.
11239         (vrange_printer::print_frange_nan): New.
11240         * value-range-pretty-print.h (print_frange_prop): Remove.
11241         (print_frange_nan): New.
11242         * value-range-storage.cc (frange_storage_slot::set_frange): Set
11243         kind and NAN fields.
11244         (frange_storage_slot::get_frange): Restore kind and NAN fields.
11245         * value-range-storage.h (class frange_storage_slot): Add kind and
11246         NAN fields.
11247         * value-range.cc (frange::update_nan): Remove.
11248         (frange::set_signbit): Remove.
11249         (frange::set): Adjust for NAN fields.
11250         (frange::normalize_kind): Remove m_props.
11251         (frange::combine_zeros): New.
11252         (frange::union_nans): New.
11253         (frange::union_): Handle new NAN fields.
11254         (frange::intersect_nans): New.
11255         (frange::intersect): Handle new NAN fields.
11256         (frange::operator=): Same.
11257         (frange::operator==): Same.
11258         (frange::contains_p): Same.
11259         (frange::singleton_p): Remove special case for signed zeros.
11260         (frange::verify_range): Adjust for new NAN fields.
11261         (frange::set_zero): Handle signed zeros.
11262         (frange::set_nonnegative): Same.
11263         (range_tests_nan): Adjust tests.
11264         (range_tests_signed_zeros): Same.
11265         (range_tests_signbit): Same.
11266         (range_tests_floats): Same.
11267         * value-range.h (class fp_prop): Remove.
11268         (FP_PROP_ACCESSOR): Remove.
11269         (class frange_props): Remove
11270         (frange::lower_bound): NANs don't have endpoints.
11271         (frange::upper_bound): Same.
11272         (frange_props::operator==): Remove.
11273         (frange_props::union_): Remove.
11274         (frange_props::intersect): Remove.
11275         (frange::update_nan): New.
11276         (frange::clear_nan): New.
11277         (frange::undefined_p): New.
11278         (frange::set_nan): New.
11279         (frange::known_finite): Adjust for new NAN representation.
11280         (frange::maybe_isnan): Same.
11281         (frange::known_isnan): Same.
11282         (frange::signbit_p): Same.
11283         * gimple-range-fold.cc (range_of_builtin_int_call): Rename
11284         known_signbit_p into signbit_p.
11285
11286 2022-09-17  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
11287
11288         * config/csky/csky.h (FUNCTION_ARG_REGNO_P): Cast REGNO to (int)
11289         to prevent warning.
11290
11291 2022-09-17  Jakub Jelinek  <jakub@redhat.com>
11292
11293         PR tree-optimization/106958
11294         * tree-ssa-reassoc.cc (optimize_range_tests_cmp_bitwise): If
11295         id >= l, cast op to type1, otherwise to pointer_sized_int_node.
11296         If type has pointer type, cast exp to pointer_sized_int_node
11297         even when id < l.
11298
11299 2022-09-16  liuhongt  <hongtao.liu@intel.com>
11300
11301         PR target/106910
11302         * config/i386/i386-builtins.cc
11303         (ix86_builtin_vectorized_function): Modernized with
11304         corresponding expanders.
11305         * config/i386/sse.md (lrint<mode><sseintvecmodelower>2): New
11306         expander.
11307         (floor<mode>2): Ditto.
11308         (lfloor<mode><sseintvecmodelower>2): Ditto.
11309         (ceil<mode>2): Ditto.
11310         (lceil<mode><sseintvecmodelower>2): Ditto.
11311         (btrunc<mode>2): Ditto.
11312         (lround<mode><sseintvecmodelower>2): Ditto.
11313         (exp2<mode>2): Ditto.
11314
11315 2022-09-15  Joseph Myers  <joseph@codesourcery.com>
11316
11317         * ginclude/float.h (INFINITY): Define only if
11318         [__FLT_HAS_INFINITY__].
11319
11320 2022-09-15  Richard Biener  <rguenther@suse.de>
11321
11322         PR tree-optimization/106922
11323         * tree-ssa-pre.cc (translate_vuse_through_block): Only
11324         keep the VUSE if its def dominates PHIBLOCK.
11325         (prune_clobbered_mems): Rewrite logic so we check whether
11326         a value dies in a block when the VUSE def doesn't dominate it.
11327
11328 2022-09-15  Richard Biener  <rguenther@suse.de>
11329
11330         * tree.cc (build_common_tree_nodes): Initialize void_list_node
11331         here.
11332
11333 2022-09-15  Jiufu Guo  <guojiufu@linux.ibm.com>
11334
11335         PR target/106550
11336         * config/rs6000/rs6000.cc (rs6000_emit_set_long_const): Use pli.
11337
11338 2022-09-14  Aldy Hernandez  <aldyh@redhat.com>
11339
11340         * range-op-float.cc (frange_add_zeros): New.
11341         (build_le): Call frange_add_zeros.
11342         (build_ge): Same.
11343         (foperator_equal::op1_range): Same.
11344         (foperator_not_equal::op1_range): Same.
11345
11346 2022-09-14  Aldy Hernandez  <aldyh@redhat.com>
11347
11348         * range-op-float.cc (build_le): Accept frange instead of number.
11349         (build_lt): Same.
11350         (build_ge): Same.
11351         (build_gt): Same.
11352         (foperator_lt::op1_range): Pass full range to build_*.
11353         (foperator_lt::op2_range): Same.
11354         (foperator_le::op1_range): Same.
11355         (foperator_le::op2_range): Same.
11356         (foperator_gt::op1_range): Same.
11357         (foperator_gt::op2_range): Same.
11358         (foperator_ge::op1_range): Same.
11359         (foperator_ge::op2_range): Same.
11360
11361 2022-09-14  Aldy Hernandez  <aldyh@redhat.com>
11362
11363         * value-range.cc (frange::set): Use set_nan.
11364         * value-range.h (frange::set_nan): Inline code originally in
11365         set().
11366
11367 2022-09-14  Aldy Hernandez  <aldyh@redhat.com>
11368
11369         * range-op-float.cc (frange_set_nan): Remove.
11370         (build_lt): Use set_nan, update_nan, clear_nan.
11371         (build_gt): Same.
11372         (foperator_equal::op1_range): Same.
11373         (foperator_not_equal::op1_range): Same.
11374         (foperator_lt::op1_range): Same.
11375         (foperator_lt::op2_range): Same.
11376         (foperator_le::op1_range): Same.
11377         (foperator_le::op2_range): Same.
11378         (foperator_gt::op1_range): Same.
11379         (foperator_gt::op2_range): Same.
11380         (foperator_ge::op1_range): Same.
11381         (foperator_ge::op2_range): Same.
11382         (foperator_unordered::op1_range): Same.
11383         (foperator_ordered::op1_range): Same.
11384         * value-query.cc (range_query::get_tree_range): Same.
11385         * value-range.cc (frange::set_nan): Same.
11386         (frange::update_nan): Same.
11387         (frange::union_): Same.
11388         (frange::intersect): Same.
11389         (range_tests_nan): Same.
11390         (range_tests_signed_zeros): Same.
11391         (range_tests_signbit): Same.
11392         (range_tests_floats): Same.
11393         * value-range.h (class frange): Add update_nan and clear_nan.
11394         (frange::set_nan): New.
11395
11396 2022-09-14  Aldy Hernandez  <aldyh@redhat.com>
11397
11398         * value-query.cc (range_query::get_tree_range): Remove check for overflow.
11399         * value-range-pretty-print.cc (vrange_printer::visit): Move read
11400         of type until after undefined_p is checked.
11401         * value-range.cc (frange::set): Remove asserts for REAL_CST.
11402         (frange::contains_p): Tidy up.
11403         (range_tests_nan):  Add comment.
11404         * value-range.h (frange::type): Check for undefined_p.
11405         (frange::set_undefined): Remove set of endpoints.
11406
11407 2022-09-14  Julian Brown  <julian@codesourcery.com>
11408
11409         * gimplify.cc (omp_group_last): Allow GOMP_MAP_ATTACH_DETACH after
11410         GOMP_MAP_STRUCT (for reindexing).
11411         (omp_gather_mapping_groups): Reimplement using...
11412         (omp_gather_mapping_groups_1): This new function.  Stop processing at
11413         GATHER_SENTINEL.
11414         (omp_group_base): Allow GOMP_MAP_TO_PSET without any following node.
11415         (omp_index_mapping_groups): Reimplement using...
11416         (omp_index_mapping_groups_1): This new function.  Handle
11417         REINDEX_SENTINEL.
11418         (omp_reindex_mapping_groups, omp_mapped_by_containing_struct): New
11419         functions.
11420         (omp_tsort_mapping_groups_1): Adjust handling of base group being the
11421         same as current group.  Use omp_mapped_by_containing_struct.
11422         (omp_build_struct_sibling_lists): Use omp_mapped_by_containing_struct
11423         and omp_reindex_mapping_groups.  Robustify group deletion for reordered
11424         lists.
11425         (gimplify_scan_omp_clauses): Update calls to
11426         omp_build_struct_sibling_lists.
11427
11428 2022-09-14  Julian Brown  <julian@codesourcery.com>
11429
11430         * gimplify.cc (gimplify_omp_var_data): Remove GOVD_MAP_HAS_ATTACHMENTS.
11431         (GOMP_FIRSTPRIVATE_IMPLICIT): Renumber.
11432         (insert_struct_comp_map): Refactor function into...
11433         (build_omp_struct_comp_nodes): This new function.  Remove list handling
11434         and improve self-documentation.
11435         (extract_base_bit_offset): Remove BASE_REF, OFFSETP parameters.  Move
11436         code to strip outer parts of address out of function, but strip no-op
11437         conversions.
11438         (omp_mapping_group): Add DELETED field for use during reindexing.
11439         (omp_strip_components_and_deref, omp_strip_indirections): New functions.
11440         (omp_group_last, omp_group_base): Add GOMP_MAP_STRUCT handling.
11441         (omp_gather_mapping_groups): Initialise DELETED field for new groups.
11442         (omp_index_mapping_groups): Notice DELETED groups when (re)indexing.
11443         (omp_siblist_insert_node_after, omp_siblist_move_node_after,
11444         omp_siblist_move_nodes_after, omp_siblist_move_concat_nodes_after): New
11445         helper functions.
11446         (omp_accumulate_sibling_list): New function to build up GOMP_MAP_STRUCT
11447         node groups for sibling lists. Outlined from gimplify_scan_omp_clauses.
11448         (omp_build_struct_sibling_lists): New function.
11449         (gimplify_scan_omp_clauses): Remove struct_map_to_clause,
11450         struct_seen_clause, struct_deref_set.  Call
11451         omp_build_struct_sibling_lists as pre-pass instead of handling sibling
11452         lists in the function's main processing loop.
11453         (gimplify_adjust_omp_clauses_1): Remove GOVD_MAP_HAS_ATTACHMENTS
11454         handling, unused now.
11455         * omp-low.cc (scan_sharing_clauses): Handle pointer-type indirect
11456         struct references, and references to pointers to structs also.
11457
11458 2022-09-14  Richard Biener  <rguenther@suse.de>
11459
11460         PR tree-optimization/106938
11461         * tree-cfg.cc (execute_fixup_cfg): Purge dead abnormal
11462         edges for all last stmts in a block.  Do EH cleanup
11463         only on the last stmt in a block.
11464
11465 2022-09-14  Aldy Hernandez  <aldyh@redhat.com>
11466
11467         PR tree-optimization/106936
11468         * value-query.cc (range_query::get_value_range): Remove assert.
11469
11470 2022-09-14  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
11471
11472         * config/mips/mips.cc (mips_option_override): Drop unused variable.
11473
11474 2022-09-14  Julian Brown  <julian@codesourcery.com>
11475
11476         * gimplify.cc (is_or_contains_p, omp_target_reorder_clauses): Delete
11477         functions.
11478         (omp_tsort_mark): Add enum.
11479         (omp_mapping_group): Add struct.
11480         (debug_mapping_group, omp_get_base_pointer, omp_get_attachment,
11481         omp_group_last, omp_gather_mapping_groups, omp_group_base,
11482         omp_index_mapping_groups, omp_containing_struct,
11483         omp_tsort_mapping_groups_1, omp_tsort_mapping_groups,
11484         omp_segregate_mapping_groups, omp_reorder_mapping_groups): New
11485         functions.
11486         (gimplify_scan_omp_clauses): Call above functions instead of
11487         omp_target_reorder_clauses, unless we've seen an error.
11488         * omp-low.cc (scan_sharing_clauses): Avoid strict test if we haven't
11489         sorted mapping groups.
11490
11491 2022-09-14  Jakub Jelinek  <jakub@redhat.com>
11492
11493         PR tree-optimization/106878
11494         * tree-cfg.cc (verify_gimple_assign_binary): Disallow pointer,
11495         reference or OFFSET_TYPE BIT_IOR_EXPR, BIT_XOR_EXPR or, unless
11496         the second argument is INTEGER_CST, BIT_AND_EXPR.
11497         * match.pd ((type) X op CST -> (type) (X op ((type-x) CST)),
11498         (type) (((type2) X) op Y) -> (X op (type) Y)): Punt for
11499         POINTER_TYPE_P or OFFSET_TYPE.
11500         * tree-ssa-reassoc.cc (optimize_range_tests_cmp_bitwise): For
11501         pointers cast them to pointer sized integers first.
11502
11503 2022-09-14  Richard Biener  <rguenther@suse.de>
11504
11505         PR tree-optimization/106934
11506         * tree-ssa.cc (non_rewritable_mem_ref_base): Avoid BIT_FIELD_REFs
11507         of bitfields.
11508         (maybe_rewrite_mem_ref_base): Likewise.
11509
11510 2022-09-14  liuhongt  <hongtao.liu@intel.com>
11511
11512         PR tree-optimization/106905
11513         * tree-vect-loop.cc (vectorizable_nonlinear_induction): Return
11514         false when !vect_use_loop_mask_for_alignment_p (loop_vinfo) &&
11515         LOOP_VINFO_PEELING_FOR_ALIGNMENT (loop_vinfo) < 0.
11516
11517 2022-09-13  Roger Sayle  <roger@nextmovesoftware.com>
11518
11519         PR target/106877
11520         * reg-stack.cc (move_for_stack_reg): Check for any_malformed_asm
11521         in gcc_assert.
11522
11523 2022-09-13  Max Filippov  <jcmvbkbc@gmail.com>
11524
11525         Revert:
11526         2022-09-12  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
11527
11528         * config/xtensa/xtensa.cc (TARGET_CONSTANT_OK_FOR_CPROP_P):
11529         New macro definition.
11530         (xtensa_constant_ok_for_cprop_p):
11531         Implement the hook as mentioned above.
11532
11533 2022-09-13  Kewen Lin  <linkw@linux.ibm.com>
11534
11535         PR target/104482
11536         * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin): Fix
11537         the equality check for argument number, and move this hunk ahead.
11538
11539 2022-09-13  Kewen.Lin  <linkw@gcc.gnu.org>
11540
11541         PR target/105485
11542         * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Add
11543         the handling for unresolved overloaded builtin function.
11544         (rs6000_expand_builtin): Likewise.
11545
11546 2022-09-13  Kewen Lin  <linkw@linux.ibm.com>
11547
11548         * config/rs6000/rs6000.cc (class rs6000_cost_data): Add new members
11549         m_nstores, m_reduc_factor, m_gather_load and member function
11550         determine_suggested_unroll_factor.
11551         (rs6000_cost_data::update_target_cost_per_stmt): Update for m_nstores,
11552         m_reduc_factor and m_gather_load.
11553         (rs6000_cost_data::determine_suggested_unroll_factor): New function.
11554         (rs6000_cost_data::finish_cost): Use determine_suggested_unroll_factor.
11555         * config/rs6000/rs6000.opt (rs6000-vect-unroll-limit): New parameter.
11556         (rs6000-vect-unroll-issue): Likewise.
11557         (rs6000-vect-unroll-reduc-threshold): Likewise.
11558         * doc/invoke.texi (rs6000-vect-unroll-limit): Document new parameter.
11559
11560 2022-09-13  Richard Biener  <rguenther@suse.de>
11561
11562         PR middle-end/106909
11563         * gimple-fold.cc (gimple_fold_call): Clear the ctrl-altering
11564         flag of a unreachable call.
11565
11566 2022-09-13  Richard Biener  <rguenther@suse.de>
11567
11568         PR tree-optimization/106913
11569         * tree-ssa-uninit.cc (warn_uninitialized_vars): Do not set
11570         ft_reachable on EXIT_BLOCK.
11571
11572 2022-09-13  Richard Sandiford  <richard.sandiford@arm.com>
11573
11574         * config/aarch64/aarch64.cc (aarch64_classify_vector_mode): Use
11575         TARGET_FLOAT instead of TARGET_SIMD.
11576         (aarch64_vectorize_related_mode): Restrict ADVSIMD handling to
11577         TARGET_SIMD.
11578         (aarch64_hard_regno_mode_ok): Don't allow tuples of 2 64-bit vectors
11579         in GPRs.
11580         (aarch64_classify_address): Treat little-endian structure moves
11581         like big-endian for TARGET_FLOAT && !TARGET_SIMD.
11582         (aarch64_secondary_memory_needed): New function.
11583         (aarch64_secondary_reload): Handle 128-bit Advanced SIMD vectors
11584         in the same way as TF, TI and TD.
11585         (aarch64_rtx_mult_cost): Restrict ADVSIMD handling to TARGET_SIMD.
11586         (aarch64_rtx_costs): Likewise.
11587         (aarch64_register_move_cost): Treat a pair of 64-bit vectors
11588         separately from a single 128-bit vector.  Handle the cost implied
11589         by aarch64_secondary_memory_needed.
11590         (aarch64_simd_valid_immediate): Restrict ADVSIMD handling to
11591         TARGET_SIMD.
11592         (aarch64_expand_vec_perm_const_1): Likewise.
11593         (TARGET_SECONDARY_MEMORY_NEEDED): New macro.
11594         * config/aarch64/iterators.md (VTX): New iterator.
11595         * config/aarch64/aarch64.md (arches): Add fp_q as a synonym of simd.
11596         (arch_enabled): Adjust accordingly.
11597         (@aarch64_reload_mov<TX:mode>): Extend to...
11598         (@aarch64_reload_mov<VTX:mode>): ...this.
11599         * config/aarch64/aarch64-simd.md (mov<mode>): Require TARGET_FLOAT
11600         rather than TARGET_SIMD.
11601         (movmisalign<mode>): Likewise.
11602         (load_pair<DREG:mode><DREG2:mode>): Likewise.
11603         (vec_store_pair<DREG:mode><DREG2:mode>): Likewise.
11604         (load_pair<VQ:mode><VQ2:mode>): Likewise.
11605         (vec_store_pair<VQ:mode><VQ2:mode>): Likewise.
11606         (@aarch64_split_simd_mov<mode>): Likewise.
11607         (aarch64_get_low<mode>): Likewise.
11608         (aarch64_get_high<mode>): Likewise.
11609         (aarch64_get_half<mode>): Likewise.  Canonicalize to a move for
11610         lowpart extracts.
11611         (*aarch64_simd_mov<VDMOV:mode>): Require TARGET_FLOAT rather than
11612         TARGET_SIMD.  Use different w<-w and r<-w instructions for
11613         !TARGET_SIMD.  Disable immediate moves for !TARGET_SIMD but
11614         add an alternative specifically for w<-Z.
11615         (*aarch64_simd_mov<VQMOV:mode>): Require TARGET_FLOAT rather than
11616         TARGET_SIMD.  Likewise for the associated define_splits.  Disable
11617         FPR moves and immediate moves for !TARGET_SIMD but add an alternative
11618         specifically for w<-Z.
11619         (aarch64_simd_mov_from_<mode>high): Require TARGET_FLOAT rather than
11620         TARGET_SIMD.  Restrict the existing alternatives to TARGET_SIMD
11621         but add a new r<-w one for !TARGET_SIMD.
11622         (*aarch64_get_high<mode>): New pattern.
11623         (load_pair_lanes<mode>): Require TARGET_FLOAT rather than TARGET_SIMD.
11624         (store_pair_lanes<mode>): Likewise.
11625         (*aarch64_combine_internal<mode>): Likewise.  Restrict existing
11626         w<-w, w<-r and w<-m alternatives to TARGET_SIMD but add a new w<-r
11627         alternative for !TARGET_SIMD.
11628         (*aarch64_combine_internal_be<mode>): Likewise.
11629         (aarch64_combinez<mode>): Require TARGET_FLOAT rather than TARGET_SIMD.
11630         Remove bogus arch attribute.
11631         (*aarch64_combinez_be<mode>): Likewise.
11632         (@aarch64_vec_concat<mode>): Require TARGET_FLOAT rather than
11633         TARGET_SIMD.
11634         (aarch64_combine<mode>): Likewise.
11635         (aarch64_rev_reglist<mode>): Likewise.
11636         (mov<mode>): Likewise.
11637         (*aarch64_be_mov<VSTRUCT_2D:mode>): Extend to TARGET_FLOAT &&
11638         !TARGET_SIMD, regardless of endianness.  Extend associated
11639         define_splits in the same way, both for this pattern and the
11640         ones below.
11641         (*aarch64_be_mov<VSTRUCT_2Qmode>): Likewise.  Restrict w<-w
11642         alternative to TARGET_SIMD.
11643         (*aarch64_be_movoi): Likewise.
11644         (*aarch64_be_movci): Likewise.
11645         (*aarch64_be_movxi): Likewise.
11646         (*aarch64_be_mov<VSTRUCT_4QD:mode>): Extend to TARGET_FLOAT
11647         && !TARGET_SIMD, regardless of endianness.  Restrict w<-w alternative
11648         to TARGET_SIMD for tuples of 128-bit vectors.
11649         (*aarch64_be_mov<VSTRUCT_4QD:mode>): Likewise.
11650         * config/aarch64/aarch64-ldpstp.md: Remove TARGET_SIMD condition
11651         from DREG STP peephole.  Change TARGET_SIMD to TARGET_FLOAT in
11652         the VQ and VP_2E LDP and STP peepholes.
11653
11654 2022-09-13  Richard Sandiford  <richard.sandiford@arm.com>
11655
11656         * config/aarch64/aarch64-simd.md (movv8di): Remove TARGET_SIMD
11657         condition.  Likewise for the related define_split.  Tweak formatting.
11658
11659 2022-09-12  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
11660
11661         * config/xtensa/xtensa.cc (TARGET_CONSTANT_OK_FOR_CPROP_P):
11662         New macro definition.
11663         (xtensa_constant_ok_for_cprop_p):
11664         Implement the hook as mentioned above.
11665
11666 2022-09-12  Joseph Myers  <joseph@codesourcery.com>
11667
11668         * ginclude/stdatomic.h [defined __STDC_VERSION__ &&
11669         __STDC_VERSION__ > 201710L] (ATOMIC_VAR_INIT): Do not define.
11670
11671 2022-09-12  Tobias Burnus  <tobias@codesourcery.com>
11672
11673         * config/nvptx/mkoffload.cc (process): Replace a fatal_error by
11674         a warning + not enabling offloading if -misa=sm_30 prevents
11675         reverse offload.
11676         (main): Use tool_name as progname for diagnostic.
11677         * config/gcn/mkoffload.cc (main): Likewise.
11678
11679 2022-09-12  Aldy Hernandez  <aldyh@redhat.com>
11680
11681         * value-range.cc (frange::set_signbit): Avoid changing sign when
11682         already in the correct sign.
11683
11684 2022-09-12  Max Filippov  <jcmvbkbc@gmail.com>
11685
11686         * config/xtensa/xtensa.cc (xtensa_function_value_regno_p):
11687         Recognize all 4 return registers.
11688         * config/xtensa/xtensa.h (GP_RETURN_REG_COUNT): New definition.
11689         * config/xtensa/xtensa.md (untyped_call): New pattern.
11690
11691 2022-09-12  Jonathan Wakely  <jwakely@redhat.com>
11692
11693         * doc/extend.texi (Floating Types): Fix "_float128" typo.
11694
11695 2022-09-10  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
11696
11697         * config/xtensa/xtensa.cc (xtensa_constantsynth):
11698         Add new pattern for the abovementioned case.
11699
11700 2022-09-10  Akari Takahashi  <akaritakahashioss@gmail.com>
11701             Segher Boessenkool  <segher@kernel.crashing.org>
11702
11703         * config/rs6000/rs6000.cc (get_memref_parts): Regularize some code.
11704
11705 2022-09-09  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
11706
11707         * config/xtensa/xtensa.md: Rewrite the split pattern that performs
11708         the abovementioned process so that insns that overwrite clobbered
11709         register no longer need to be contiguous.
11710         (DSC): Remove as no longer needed.
11711
11712 2022-09-09  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
11713
11714         * config/xtensa/xtensa.cc (machine_function): New boolean member as
11715         a flag that controls whether to emit the insns for stack pointer
11716         adjustment inside of the pro/epilogue.
11717         (xtensa_emit_adjust_stack_ptr): New function to share the common
11718         codes and to emit insns if not inhibited.
11719         (xtensa_expand_epilogue): Change to use the function mentioned
11720         above when using the CALL0 ABI.
11721         (xtensa_expand_prologue): Ditto.
11722         And also change to set the inhibit flag used by
11723         xtensa_emit_adjust_stack_ptr() to true if the stack pointer is only
11724         used for its own adjustment.
11725
11726 2022-09-09  David Malcolm  <dmalcolm@redhat.com>
11727
11728         * doc/invoke.texi (Static Analyzer Options): Add
11729         -Wanalyzer-exposure-through-uninit-copy.
11730
11731 2022-09-09  David Malcolm  <dmalcolm@redhat.com>
11732
11733         * Makefile.in (ANALYZER_OBJS): Add
11734         analyzer/known-function-manager.o.
11735
11736 2022-09-09  Tobias Burnus  <tobias@codesourcery.com>
11737
11738         * config/nvptx/mkoffload.cc (struct id_map): Add 'dim' member.
11739         (record_id): Store func name without quotes, store dim separately.
11740         (process): For GOMP_REQUIRES_REVERSE_OFFLOAD, check that -march is
11741         at least sm_35, create '$offload_func_table' global array and init
11742         with reverse-offload function addresses.
11743         * config/nvptx/nvptx.cc (write_fn_proto_1, write_fn_proto): New
11744         force_public attribute to force .visible.
11745         (nvptx_declare_function_name): For "omp target
11746         device_ancestor_nohost" attribut, force .visible/TREE_PUBLIC.
11747
11748 2022-09-09  Tobias Burnus  <tobias@codesourcery.com>
11749
11750         * config/gcn/mkoffload.cc (process_asm): Create .offload_func_table,
11751         similar to pre-existing .offload_var_table.
11752
11753 2022-09-09  Joseph Myers  <joseph@codesourcery.com>
11754
11755         * ginclude/stddef.h [__STDC_VERSION__ > 201710L] (unreachable):
11756         New macro.
11757
11758 2022-09-09  Kewen Lin  <linkw@linux.ibm.com>
11759
11760         PR middle-end/106833
11761         * tree.cc (verify_opaque_type): New function.
11762         (verify_type): Call verify_opaque_type for OPAQUE_TYPE.
11763
11764 2022-09-09  Kwok Cheung Yeung  <kcy@codesourcery.com>
11765
11766         * config/gcn/gcn-builtins.def (FABSVF, LDEXPVF, LDEXPV, FREXPVF_EXP,
11767         FREXPVF_MANT, FREXPV_EXP, FREXPV_MANT): Add new builtins.
11768         * config/gcn/gcn-protos.h (gcn_dconst1over2pi): New prototype.
11769         * config/gcn/gcn-valu.md (MATH_UNOP_1OR2REG, MATH_UNOP_1REG,
11770         MATH_UNOP_TRIG): New iterators.
11771         (math_unop): New attributes.
11772         (<math_unop><mode>2, <math_unop><mode>2<exec>,
11773         <math_unop><mode>2, <math_unop><mode>2<exec>,
11774         *<math_unop><mode>2_insn, *<math_unop><mode>2<exec>_insn,
11775         ldexp<mode>3, ldexp<mode>3<exec>,
11776         frexp<mode>_exp2, frexp<mode>_mant2,
11777         frexp<mode>_exp2<exec>, frexp<mode>_mant2<exec>): New instructions.
11778         (<math_unop><mode>2, <math_unop><mode>2<exec>): New expanders.
11779         * config/gcn/gcn.cc (init_ext_gcn_constants): Update definition of
11780         dconst1over2pi.
11781         (gcn_dconst1over2pi): New.
11782         (gcn_builtin_type_index): Add entry for v64df type.
11783         (v64df_type_node): New.
11784         (gcn_init_builtin_types): Initialize v64df_type_node.
11785         (gcn_expand_builtin_1): Expand new builtins to instructions.
11786         (print_operand): Fix assembler output for 1/(2*PI) constant.
11787         * config/gcn/gcn.md (unspec): Add new entries.
11788
11789 2022-09-09  Richard Biener  <rguenther@suse.de>
11790
11791         PR tree-optimization/106722
11792         * tree-predcom.cc (ref_at_iteration): Do not associate the
11793         constant part of the offset into the MEM_REF offset
11794         operand, across a non-zero offset.
11795
11796 2022-09-09  Kito Cheng  <kito.cheng@sifive.com>
11797
11798         * common/config/riscv/riscv-common.cc (RISCV_USE_CUSTOMISED_MULTI_LIB):
11799         Move forward for cover all all necessary functions for suppress
11800         unused function warnings.
11801         (riscv_multi_lib_check): Move forward, and tweak message to suppress
11802         -Werror=format-diag warning.
11803
11804 2022-09-09  Richard Biener  <rguenther@suse.de>
11805
11806         PR tree-optimization/106881
11807         * gimple-predicate-analysis.cc (simple_control_dep_chain):
11808         Add only non-fallthru edges and avoid the same set of edges
11809         as compute_control_dep_chain_pdom does.
11810
11811 2022-09-09  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
11812
11813         * doc/tm.texi.in (TARGET_OVERRIDES_FORMAT_ATTRIBUTES): Document requirement
11814         of TARGET_OVERRIDES_FORMAT_ATTRIBUTES_COUNT being defined as well.
11815         * doc/tm.texi: Regenerate.
11816
11817 2022-09-09  Martin Liska  <mliska@suse.cz>
11818
11819         * optc-save-gen.awk: Always compare array option values with memcmp.
11820
11821 2022-09-08  Jonathan Wakely  <jwakely@redhat.com>
11822
11823         PR c++/106838
11824         * doc/extend.texi (Type Traits): Fix requirements. Document
11825         __is_aggregate and __is_final.
11826
11827 2022-09-08  Tim Lange  <mail@tim-lange.me>
11828
11829         PR analyzer/106625
11830         * doc/invoke.texi:
11831         State that the checker also reasons about symbolic values.
11832
11833 2022-09-08  Richard Sandiford  <richard.sandiford@arm.com>
11834
11835         PR tree-optimization/106886
11836         * tree-vect-slp.cc (vect_optimize_slp_pass::get_result_with_layout):
11837         Fix copying of scalar stmts.
11838
11839 2022-09-08  Chung-Lin Tang  <cltang@codesourcery.com>
11840
11841         * config/nios2/linux.h (MUSL_DYNAMIC_LINKER): Add #undef before #define.
11842
11843 2022-09-08  Richard Biener  <rguenther@suse.de>
11844
11845         PR middle-end/106870
11846         * gimple-harden-conditionals.cc (insert_check_and_trap):
11847         Set the control-altering flag on the built IFN_TRAP.
11848         * gimple.cc (gimple_build_builtin_unreachable): Likewise.
11849         * tree-cfg.cc (handle_abnormal_edges): Set the control-altering
11850         flag on the .ABNORMAL_DISPATCHER call.
11851         * tree-cfgcleanup.cc (cleanup_call_ctrl_altering_flag): Avoid
11852         resetting the control altering flag for ECF_NORETURN calls.
11853         (cleanup_control_flow_bb): Set the control altering flag on
11854         discovered noreturn calls.
11855         * symtab-thunks.cc (expand_thunk): Set the control altering
11856         flag for the noreturn tailcall case.
11857         * tree-eh.cc (lower_resx): Likewisw for trap and unwind_resume
11858         calls.
11859
11860 2022-09-08  Jakub Jelinek  <jakub@redhat.com>
11861
11862         * omp-expand.cc (expand_omp_ordered_sink): Add CONT_BB argument.
11863         Add doacross(sink:omp_cur_iteration-1) support.
11864         (expand_omp_ordered_source_sink): Clear counts[fd->ordered + 1].
11865         Adjust expand_omp_ordered_sink caller.
11866         (expand_omp_for_ordered_loops): If counts[fd->ordered + 1] is
11867         non-NULL, set that variable to true at the start of outermost
11868         non-collapsed loop and set it to false at the end of innermost
11869         ordered loop.
11870         (expand_omp_for_generic): If fd->ordered, allocate
11871         1 + (fd->ordered - fd->collapse) further elements in counts array.
11872         Copy to counts + 2 + fd->ordered the counts of fd->collapse ..
11873         fd->ordered - 1 loop if any.
11874
11875 2022-09-08  Richard Biener  <rguenther@suse.de>
11876
11877         PR tree-optimization/106881
11878         * gimple-predicate-analysis.cc (compute_control_dep_chain_pdom):
11879         Add only non-fallthru edges and avoid the same set of edges
11880         as the caller does.
11881
11882 2022-09-08  Aldy Hernandez  <aldyh@redhat.com>
11883
11884         * gimple-range-fold.cc
11885         (fold_using_range::range_of_builtin_int_call): Use fpclassify like API.
11886         * range-op-float.cc (finite_operand_p): Same.
11887         (finite_operands_p): Same.
11888         (foperator_lt::fold_range): Same.
11889         (foperator_le::fold_range): Same.
11890         (foperator_gt::fold_range): Same.
11891         (foperator_ge::fold_range): Same.
11892         (foperator_unordered::fold_range): Same.
11893         (foperator_unordered::op1_range): Same.
11894         (foperator_ordered::fold_range): Same.
11895         * value-range.cc (frange::set_nan): Same.
11896         (frange::set_signbit): Same.
11897         (frange::union_): Same.
11898         (frange::intersect): Same.
11899         (frange::operator==): Same.
11900         (frange::singleton_p): Same.
11901         (frange::verify_range): Same.
11902         (range_tests_nan): Same.
11903         (range_tests_floats): Same.
11904         * value-range.h(frange::known_finite): New.
11905         (frange::maybe_inf): New.
11906         (frange::known_inf): New.
11907         (frange::maybe_nan): New.
11908         (frange::known_nan): New.
11909         (frange::known_signbit): New.
11910
11911 2022-09-08  Iain Buclaw  <ibuclaw@gdcproject.org>
11912
11913         * config/darwin-d.cc: Include tm.h.
11914         * config/dragonfly-d.cc: Likewise.
11915         * config/freebsd-d.cc: Remove memmodel.h.
11916         * config/glibc-d.cc: Likewise.
11917         * config/netbsd-d.cc: Include tm.h.
11918         * config/openbsd-d.cc: Likewise.
11919         * config/sol2-d.cc: Likewise.
11920
11921 2022-09-08  Christophe Lyon  <christophe.lyon@arm.com>
11922
11923         * config/arm/mve.md (mve_vqshluq_n_s<mode>): Use
11924         MVE_pred/MVE_constraint instead of mve_imm_7/Ra.
11925         (mve_vqshluq_m_n_s<mode>): Likewise.
11926         (mve_vqrshrnbq_n_<supf><mode>): Use MVE_pred3/MVE_constraint3
11927         instead of mve_imm_8/Rb.
11928         (mve_vqrshrunbq_n_s<mode>): Likewise.
11929         (mve_vqrshrntq_n_<supf><mode>): Likewise.
11930         (mve_vqrshruntq_n_s<mode>): Likewise.
11931         (mve_vrshrnbq_n_<supf><mode>): Likewise.
11932         (mve_vrshrntq_n_<supf><mode>): Likewise.
11933         (mve_vqrshrnbq_m_n_<supf><mode>): Likewise.
11934         (mve_vqrshrntq_m_n_<supf><mode>): Likewise.
11935         (mve_vrshrnbq_m_n_<supf><mode>): Likewise.
11936         (mve_vrshrntq_m_n_<supf><mode>): Likewise.
11937         (mve_vqrshrunbq_m_n_s<mode>): Likewise.
11938         (mve_vsriq_n_<supf><mode): Use MVE_pred2/MVE_constraint2 instead
11939         of mve_imm_selective_upto_8/Rg.
11940         (mve_vsriq_m_n_<supf><mode>): Likewise.
11941
11942 2022-09-08  Jiufu Guo  <guojiufu@linux.ibm.com>
11943
11944         * config/rs6000/rs6000.md (splitter for set to and_mask constants):
11945         Use int_reg_operand (instead of int_reg_operand_not_pseudo).
11946         (splitter for multi-insn constant loads): Ditto.
11947
11948 2022-09-08  Sebastian Huber  <sebastian.huber@embedded-brains.de>
11949
11950         * config/rs6000/rtems.h (CPP_OS_DEFAULT_SPEC): Define __PPC_VRSAVE__ if
11951         -mvrsave is present.
11952         * config/rs6000/t-rtems: Add -mvrsave multilib variants for
11953         -mcpu=e6500.
11954
11955 2022-09-07  Martin Liska  <mliska@suse.cz>
11956
11957         * configure.ac: Restore detection of  HAVE_XCOFF_DWARF_EXTRAS.
11958         * config/rs6000/rs6000.cc (HAVE_XCOFF_DWARF_EXTRAS): Reset it.
11959         * configure: Regenerate.
11960         * config.in: Regenerate.
11961
11962 2022-09-07  Surya Kumari Jangala  <jskumari@linux.ibm.com>
11963
11964         PR rtl-optimization/105586
11965         * sched-rgn.cc (save_state_for_fallthru_edge): New function.
11966         (schedule_region): Use it for all blocks.
11967
11968 2022-09-07  Joseph Myers  <joseph@codesourcery.com>
11969
11970         * ginclude/stdalign.h [defined __STDC_VERSION__ &&
11971         __STDC_VERSION__ > 201710L]: Disable all content.
11972         * ginclude/stdbool.h [defined __STDC_VERSION__ && __STDC_VERSION__
11973         > 201710L] (bool, true, false): Do not define.
11974
11975 2022-09-07  Martin Liska  <mliska@suse.cz>
11976
11977         PR bootstrap/106855
11978         * collect2.cc (scan_prog_file): Restore if XCOFF_DEBUGGING_INFO.
11979         * config/rs6000/rs6000.cc (rs6000_option_override_internal):
11980         Restore usage of XCOFF_DEBUGGING_INFO.
11981         * config/rs6000/xcoff.h (XCOFF_DEBUGGING_INFO): Restore.
11982         * dwarf2asm.cc (XCOFF_DEBUGGING_INFO): Restore support for
11983         XCOFF_DEBUGGING_INFO.
11984         (dw2_asm_output_nstring): Likewise.
11985         (USE_LINKONCE_INDIRECT): Likewise.
11986         * dwarf2out.cc (XCOFF_DEBUGGING_INFO): Likewise.
11987         (HAVE_XCOFF_DWARF_EXTRAS): Likewise.
11988         (output_fde): Likewise.
11989         (output_call_frame_info): Likewise.
11990         (have_macinfo): Likewise.
11991         (add_AT_loc_list): Likewise.
11992         (add_AT_view_list): Likewise.
11993         (output_compilation_unit_header): Likewise.
11994         (output_pubnames): Likewise.
11995         (output_aranges): Likewise.
11996         (output_line_info): Likewise.
11997         (output_macinfo): Likewise.
11998         (dwarf2out_finish): Likewise.
11999         (dwarf2out_early_finish): Likewise.
12000
12001 2022-09-07  Richard Biener  <rguenther@suse.de>
12002
12003         PR tree-optimization/106866
12004         * tree-ssa-dce.cc (eliminate_unnecessary_stmts): When
12005         we changed cfun->calls_setjmp make sure to purge all
12006         abnormal call edges.
12007
12008 2022-09-07  Xianmiao Qu  <cooper.qu@linux.alibaba.com>
12009
12010         * config/csky/csky.cc (csky_emit_compare_float): Fix the expanding of
12011         float LE comparing with zero for fpuv3.
12012         * config/csky/csky.h (TARGET_SUPPORT_FPV2): New, true if any fpuv2
12013         features are enabled.
12014
12015 2022-09-07  Richard Biener  <rguenther@suse.de>
12016
12017         PR tree-optimization/106860
12018         * tree-ssa-loop-split.cc (split_loop): Find the exit to
12019         latch edge from the loop exit edge instead of from the
12020         latch.  Verify we're going to find it.
12021
12022 2022-09-07  Richard Biener  <rguenther@suse.de>
12023
12024         * gimple-predicate-analysis.cc (dfs_mark_dominating_region):
12025         Adjust to take the region exit source as argument.
12026         (uninit_analysis::init_from_phi_def): Adjust.
12027         (uninit_analysis::init_use_preds): Mark the dominating region
12028         before computing control dependences.
12029
12030 2022-09-07  Richard Sandiford  <richard.sandiford@arm.com>
12031
12032         * config/aarch64/aarch64.md (*mov<SHORT:mode>_aarch64): Extend
12033         w<-w, r<-w and w<-r alternatives to !simd, using 32-bit moves
12034         in that case.  Extend w<-r to w<-Z.
12035         (*mov<HFBF:mode>_aarch64): Likewise, but with Y instead of Z.
12036         (*movti_aarch64): Use an FMOV from XZR for w<-Z if MOVI is not
12037         available.
12038         (define_split): Do not apply the floating-point immediate-to-register
12039         split to zeros, even if MOVI is not available.
12040
12041 2022-09-07  Richard Sandiford  <richard.sandiford@arm.com>
12042
12043         * config/aarch64/aarch64.cc (aarch64_conditional_register_usage):
12044         Disallow use of FPRs in register asms for !TARGET_FLOAT.
12045
12046 2022-09-07  Lulu Cheng  <chenglulu@loongson.cn>
12047
12048         PR target/106828
12049         * config/loongarch/loongarch.cc (loongarch_asan_shadow_offset): New.
12050         (TARGET_ASAN_SHADOW_OFFSET): New.
12051
12052 2022-09-07  Jakub Jelinek  <jakub@redhat.com>
12053
12054         * doc/invoke.texi (-Wno-unicode): Document.
12055
12056 2022-09-07  Jiufu Guo  <guojiufu@linux.ibm.com>
12057
12058         * config/rs6000/rs6000.md (const_scalar_int splitter): Remove.
12059
12060 2022-09-07  Jiufu Guo  <guojiufu@linux.ibm.com>
12061
12062         * config/rs6000/rs6000.md: (constant splitters): Use "(pc)" as the
12063         replacements.
12064
12065 2022-09-07  liuhongt  <hongtao.liu@intel.com>
12066
12067         PR tree-optimization/103144
12068         * tree-vect-loop.cc (vect_is_nonlinear_iv_evolution): New function.
12069         (vect_analyze_scalar_cycles_1): Detect nonlinear iv by upper function.
12070         (vect_create_nonlinear_iv_init): New function.
12071         (vect_peel_nonlinear_iv_init): Ditto.
12072         (vect_create_nonlinear_iv_step): Ditto
12073         (vect_create_nonlinear_iv_vec_step): Ditto
12074         (vect_update_nonlinear_iv): Ditto
12075         (vectorizable_nonlinear_induction): Ditto.
12076         (vectorizable_induction): Call
12077         vectorizable_nonlinear_induction when induction_type is not
12078         vect_step_op_add.
12079         * tree-vect-loop-manip.cc (vect_update_ivs_after_vectorizer):
12080         Update nonlinear iv for epilogue loop.
12081         * tree-vectorizer.h (enum vect_induction_op_type): New enum.
12082         (STMT_VINFO_LOOP_PHI_EVOLUTION_TYPE): New Macro.
12083
12084 2022-09-06  Richard Biener  <rguenther@suse.de>
12085
12086         PR tree-optimization/106754
12087         * gimple-predicate-analysis.cc (compute_control_dep_chain_pdom):
12088         New function, split out from compute_control_dep_chain.  Handle
12089         loop-exit like conditions here by pushing to the control vector.
12090         (compute_control_dep_chain): Adjust and streamline dumping.
12091         In the wrapper perform a post-dominator walk as well.
12092         (uninit_analysis::init_use_preds): Remove premature early exit.
12093
12094 2022-09-06  Max Filippov  <jcmvbkbc@gmail.com>
12095
12096         * config/xtensa/linux.h (LINK_SPEC): Add static-pie.
12097
12098 2022-09-06  Aldy Hernandez  <aldyh@redhat.com>
12099
12100         * range-op-float.cc (build_le): Handle NANs and going past infinity.
12101         (build_lt): Same.
12102         (build_ge): Same.
12103         (build_gt): Same.
12104         (foperator_lt::op1_range): Avoid adjustments to range if build_*
12105         returned false.
12106         (foperator_lt::op2_range): Same.
12107         (foperator_le::op1_range): Same.
12108         (foperator_le::op2_range): Same.
12109         (foperator_gt::op1_range): Same.
12110         (foperator_gt::op2_range): Same.
12111
12112 2022-09-06  Richard Biener  <rguenther@suse.de>
12113
12114         * gimple-predicate-analysis.cc (compute_control_dep_chain):
12115         Add output flag to indicate whether we possibly have dropped
12116         any chains.  Return whether the info is complete from the
12117         wrapping overload.
12118         (uninit_analysis::init_use_preds): Adjust accordingly, with
12119         a workaround for PR106754.
12120         (uninit_analysis::init_from_phi_def): Properly guard the
12121         case where we complete an empty chain.
12122
12123 2022-09-06  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
12124
12125         * config/msp430/msp430.cc (msp430_single_op_cost): Document unused argument.
12126
12127 2022-09-06  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
12128
12129         * tree-ssa-forwprop.cc (simplify_permutation): Set res_type to a vector
12130         type with same element type as arg0, and length as op2.
12131
12132 2022-09-06  Richard Biener  <rguenther@suse.de>
12133
12134         PR tree-optimization/106844
12135         * gimple-predicate-analysis.cc (compute_control_dep_chain):
12136         Return whether we found a chain.
12137
12138 2022-09-06  Richard Biener  <rguenther@suse.de>
12139
12140         PR tree-optimization/106841
12141         * tree-vect-slp.cc (vect_detect_hybrid_slp): Also process
12142         scatter/gather offset.
12143
12144 2022-09-06  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
12145
12146         * config/bpf/bpf.h (REGNO_REG_CLASS): Reference arguments as (void).
12147
12148 2022-09-06  Jakub Jelinek  <jakub@redhat.com>
12149
12150         * gimple.h (enum gf_mask): Add GF_OMP_ORDERED_STANDALONE enumerator.
12151         (gimple_omp_subcode):  Use GIMPLE_OMP_ORDERED instead of
12152         GIMPLE_OMP_TEAMS as upper bound.
12153         (gimple_omp_ordered_standalone_p, gimple_omp_ordered_standalone): New
12154         inline functions.
12155         * gimplify.cc (find_standalone_omp_ordered): Look for OMP_ORDERED with
12156         NULL OMP_ORDERED_BODY rather than with OMP_DOACROSS clause.
12157         (gimplify_expr): Call gimple_omp_ordered_standalone for OMP_ORDERED
12158         with NULL OMP_ORDERED_BODY.
12159         * omp-low.cc (check_omp_nesting_restrictions): Use
12160         gimple_omp_ordered_standalone_p test instead of
12161         omp_find_clause (..., OMP_CLAUSE_DOACROSS).
12162         (lower_omp_ordered): Likewise.
12163         * omp-expand.cc (expand_omp, build_omp_regions_1,
12164         omp_make_gimple_edges): Likewise.
12165
12166 2022-09-06  Xianmiao Qu  <cooper.qu@linux.alibaba.com>
12167
12168         * config/csky/csky.md (cskyv2_addcc): Fix missing operand.
12169         (cskyv2_addcc_invert): Likewise.
12170
12171 2022-09-06  Jose E. Marchesi  <jose.marchesi@oracle.com>
12172
12173         * config/bpf/bpf.cc (bpf_expand_prologue): Remove unused automatic
12174         `insn'.
12175         (bpf_expand_epilogue): Likewise.
12176
12177 2022-09-06  liuhongt  <hongtao.liu@intel.com>
12178
12179         * config/i386/i386-builtin.def (IX86_BUILTIN_CVTPS2PH512):
12180         Map to CODE_FOR_avx512f_vcvtps2ph512_mask_sae.
12181         * config/i386/sse.md (<mask_codefor>avx512f_vcvtps2ph512<mask_name>): Extend to ..
12182         (<mask_codefor>avx512f_vcvtps2ph512<mask_name><round_saeonly_name>): .. this.
12183         (avx512f_vcvtps2ph512_mask_sae): New expander
12184
12185 2022-09-05  Aldy Hernandez  <aldyh@redhat.com>
12186
12187         * gimple-range-fold.cc
12188         (fold_using_range::range_of_builtin_int_call): Ignore sign bit
12189         when there's the possibility of a NAN.
12190
12191 2022-09-05  Aldy Hernandez  <aldyh@redhat.com>
12192
12193         * gimple-range-fold.cc
12194         (fold_using_range::range_of_builtin_int_call): Fold a set signbit
12195         in __builtin_signbit to nonzero.
12196
12197 2022-09-05  Alexander Monakov  <amonakov@ispras.ru>
12198
12199         PR target/106453
12200         * config/i386/i386.md (sse4_2_crc32di): Model that only low 32
12201         bits of operand 0 are consumed, and the result is zero-extended
12202         to 64 bits.
12203
12204 2022-09-05  Aldy Hernandez  <aldyh@redhat.com>
12205
12206         PR middle-end/106831
12207         * value-range.h (frange::supports_p): Disable decimal floats.
12208         * range-op-float.cc (frange_drop_inf): Remove DECIMAL_FLOAT_MODE_P
12209         check.
12210         (frange_drop_ninf): Same.
12211
12212 2022-09-05  Aldy Hernandez  <aldyh@redhat.com>
12213
12214         PR middle-end/106824
12215         * value-range.cc (frange::set_nan): Set undefined when updating a
12216         NAN to a non-NAN.
12217
12218 2022-09-05  Kito Cheng  <kito.cheng@sifive.com>
12219
12220         * config/riscv/riscv.cc (riscv_option_override): Fix wrong
12221         condition for MASK_DIV and simplify incompatible checking.
12222         * config/riscv/riscv.md (muldi3): Adding parentheses.
12223
12224 2022-09-05  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
12225
12226         * config/aarch64/aarch64.cc (aarch64_validate_march): Check if invalid arch
12227         string is a valid -mcpu string and emit hint.
12228
12229 2022-09-05  LiaoShihua  <shihua@iscas.ac.cn>
12230
12231         * common/config/riscv/riscv-common.cc: Add Zmmul.
12232         * config/riscv/riscv-opts.h (MASK_ZMMUL): New.
12233         (TARGET_ZMMUL): Ditto.
12234         * config/riscv/riscv.cc (riscv_option_override):Ditto.
12235         * config/riscv/riscv.md: Add Zmmul
12236         * config/riscv/riscv.opt: Ditto.
12237
12238 2022-09-05  Richard Biener  <rguenther@suse.de>
12239
12240         * tree-cfg.h (get_cases_for_edge): Declare.
12241         * tree-cfg.cc (get_cases_for_edge): Export.
12242         * tree-ssa-uninit.cc (execute_late_warn_uninitialized):
12243         Start and end recording case labels.
12244         * gimple-predicate-analysis.cc (MAX_SWITCH_CASES): Remove.
12245         (predicate::init_from_control_deps): Use get_cases_for_edge.
12246
12247 2022-09-05  Richard Biener  <rguenther@suse.de>
12248
12249         * gimple-predicate-analysis.cc (MAX_POSTDOM_CHECK): Remove.
12250         (compute_control_dep_chain): Move uninit-control-dep-attempts
12251         checking where it also counts the post-dominator check
12252         invocations.
12253
12254 2022-09-05  Richard Biener  <rguenther@suse.de>
12255
12256         * gimple-predicate-analysis.h (predicate::debug): New.
12257         (predicate::dump): Add FILE * argument, add base overload.
12258         * gimple-predicate-analysis.cc (debug): New.
12259         (dump_pred_info): Add FILE * argument.
12260         (dump_pred_chain): Likewise.
12261         (predicate::dump): Split out preamble into overload.  Add
12262         FILE * argument.
12263         (predicate::debug): New.
12264         (predicate::simplify): Adjust.
12265         (predicate::normalize): Likewise.
12266         (predicate::init_from_control_deps): Likewise.
12267
12268 2022-09-05  Richard Sandiford  <richard.sandiford@arm.com>
12269
12270         * config/aarch64/aarch64-protos.h
12271         (aarch64_init_simd_builtins): Remove prototype.
12272         * config/aarch64/aarch64-builtins.cc
12273         (aarch64_simd_builtins_initialized_p): Delete.
12274         (aarch64_init_simd_builtins): Make static.  Remove protection
12275         against multiple calls.
12276         * config/aarch64/aarch64-c.cc (aarch64_pragma_target_parse): Remove
12277         lazy SIMD builtin initialization.
12278         * config/aarch64/aarch64.cc
12279         (aarch64_option_valid_attribute_p): Likewise.
12280
12281 2022-09-05  Xi Ruoyao  <xry111@xry111.site>
12282
12283         * config/loongarch/genopts/loongarch.opt.in: Add
12284         -mdirect-extern-access option.
12285         * config/loongarch/loongarch.opt: Regenerate.
12286         * config/loongarch/loongarch.cc
12287         (loongarch_symbol_binds_local_p): Return true if
12288         TARGET_DIRECT_EXTERN_ACCESS.
12289         (loongarch_option_override_internal): Complain if
12290         -mdirect-extern-access is used with -fPIC or -fpic.
12291         * doc/invoke.texi: Document -mdirect-extern-access for
12292         LoongArch.
12293
12294 2022-09-05  Martin Liska  <mliska@suse.cz>
12295
12296         * doc/tm.texi.in: Rename DEBUGGER_REGISTER_NUMBER to
12297         DEBUGGER_REGNO.
12298         * doc/tm.texi: Regenerate.
12299
12300 2022-09-05  Martin Liska  <mliska@suse.cz>
12301
12302         * config/aarch64/aarch64-protos.h (aarch64_dbx_regno):
12303         Rename DBX_REGISTER_NUMBER to DEBUGGER_REGNO.
12304         (aarch64_debugger_regno): Likewise.
12305         * config/aarch64/aarch64.cc (aarch64_dbx_regno): Likewise.
12306         (aarch64_debugger_regno): Likewise.
12307         * config/aarch64/aarch64.h (DBX_REGISTER_NUMBER): Likewise.
12308         (DEBUGGER_REGNO): Likewise.
12309         (DWARF_FRAME_REGNUM): Likewise.
12310         * config/alpha/alpha.h (DWARF_FRAME_REGNUM): Likewise.
12311         * config/arc/arc.cc (arc_init_reg_tables): Likewise.
12312         * config/arc/arc.h (DBX_REGISTER_NUMBER): Likewise.
12313         (DEBUGGER_REGNO): Likewise.
12314         * config/arm/arm-protos.h (arm_dbx_regno): Likewise.
12315         (arm_debugger_regno): Likewise.
12316         * config/arm/arm.cc (arm_dbx_regno): Likewise.
12317         (arm_debugger_regno): Likewise.
12318         * config/arm/arm.h (DBX_REGISTER_NUMBER): Likewise.
12319         (DEBUGGER_REGNO): Likewise.
12320         * config/bfin/bfin.h (DBX_REGISTER_NUMBER): Likewise.
12321         (DEBUGGER_REGNO): Likewise.
12322         * config/c6x/c6x.cc: Likewise.
12323         * config/c6x/c6x.h (DBX_REGISTER_NUMBER): Likewise.
12324         (DEBUGGER_REGNO): Likewise.
12325         * config/cris/cris.h (enum reg_class): Likewise.
12326         (DBX_REGISTER_NUMBER): Likewise.
12327         (DEBUGGER_REGNO): Likewise.
12328         * config/csky/csky.cc (enum reg_class): Likewise.
12329         * config/csky/csky.h (DWARF_FRAME_REGNUM): Likewise.
12330         (DBX_REGISTER_NUMBER): Likewise.
12331         (DEBUGGER_REGNO): Likewise.
12332         * config/frv/frv.h (DBX_REGISTER_NUMBER): Likewise.
12333         (DEBUGGER_REGNO): Likewise.
12334         * config/gcn/gcn-hsa.h (DBX_REGISTER_NUMBER): Likewise.
12335         (DEBUGGER_REGNO): Likewise.
12336         * config/gcn/gcn.cc (print_operand): Likewise.
12337         * config/i386/bsd.h (ASM_QUAD): Likewise.
12338         * config/i386/cygming.h (DBX_REGISTER_NUMBER): Likewise.
12339         (DEBUGGER_REGNO): Likewise.
12340         (DWARF_FRAME_REGNUM): Likewise.
12341         * config/i386/darwin.h (DBX_REGISTER_NUMBER): Likewise.
12342         (DEBUGGER_REGNO): Likewise.
12343         * config/i386/djgpp.h (DBX_REGISTER_NUMBER): Likewise.
12344         (DEBUGGER_REGNO): Likewise.
12345         * config/i386/dragonfly.h (DBX_REGISTER_NUMBER): Likewise.
12346         (DEBUGGER_REGNO): Likewise.
12347         * config/i386/freebsd.h (DBX_REGISTER_NUMBER): Likewise.
12348         (DEBUGGER_REGNO): Likewise.
12349         * config/i386/gas.h: Likewise.
12350         * config/i386/gnu-user.h (DBX_REGISTER_NUMBER): Likewise.
12351         (DEBUGGER_REGNO): Likewise.
12352         * config/i386/i386.cc (enum reg_class): Likewise.
12353         * config/i386/i386.h (DBX_REGISTER_NUMBER): Likewise.
12354         (DEBUGGER_REGNO): Likewise.
12355         * config/i386/i386elf.h (DBX_REGISTER_NUMBER): Likewise.
12356         (DEBUGGER_REGNO): Likewise.
12357         * config/i386/iamcu.h (DBX_REGISTER_NUMBER): Likewise.
12358         (DEBUGGER_REGNO): Likewise.
12359         * config/i386/lynx.h (DBX_REGISTER_NUMBER): Likewise.
12360         (DEBUGGER_REGNO): Likewise.
12361         * config/i386/netbsd-elf.h (DBX_REGISTER_NUMBER): Likewise.
12362         (DEBUGGER_REGNO): Likewise.
12363         * config/i386/nto.h (DBX_REGISTER_NUMBER): Likewise.
12364         (DEBUGGER_REGNO): Likewise.
12365         * config/i386/openbsdelf.h (DBX_REGISTER_NUMBER): Likewise.
12366         (DEBUGGER_REGNO): Likewise.
12367         * config/i386/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
12368         (DEBUGGER_REGNO): Likewise.
12369         * config/i386/vxworks.h (DBX_REGISTER_NUMBER): Likewise.
12370         (DEBUGGER_REGNO): Likewise.
12371         * config/i386/x86-64.h (DBX_REGISTER_NUMBER): Likewise.
12372         (DEBUGGER_REGNO): Likewise.
12373         * config/ia64/ia64-protos.h (ia64_dbx_regno): Likewise.
12374         (ia64_debugger_regno): Likewise.
12375         * config/ia64/ia64.cc (ia64_output_function_prologue): Likewise.
12376         (ia64_dbx_regno): Likewise.
12377         (ia64_debugger_regno): Likewise.
12378         (process_cfa_adjust_cfa): Likewise.
12379         (process_cfa_register): Likewise.
12380         (ia64_asm_unwind_emit): Likewise.
12381         * config/ia64/ia64.h: Likewise.
12382         * config/ia64/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
12383         (DEBUGGER_REGNO): Likewise.
12384         * config/lm32/lm32.h (DBX_REGISTER_NUMBER): Likewise.
12385         (DEBUGGER_REGNO): Likewise.
12386         * config/m32c/m32c.cc (m32c_eh_return_stackadj_rtx): Likewise.
12387         * config/m32c/m32c.h (DBX_REGISTER_NUMBER): Likewise.
12388         (DEBUGGER_REGNO): Likewise.
12389         * config/m68k/linux.h (DBX_REGISTER_NUMBER): Likewise.
12390         (DEBUGGER_REGNO): Likewise.
12391         * config/m68k/m68k.h (DBX_REGISTER_NUMBER): Likewise.
12392         (DEBUGGER_REGNO): Likewise.
12393         (__transfer_from_trampoline): Likewise.
12394         * config/m68k/m68kelf.h (DBX_REGISTER_NUMBER): Likewise.
12395         (DEBUGGER_REGNO): Likewise.
12396         * config/m68k/netbsd-elf.h (M68K_STATIC_CHAIN_REG_NAME): Likewise.
12397         (DBX_REGISTER_NUMBER): Likewise.
12398         (DEBUGGER_REGNO): Likewise.
12399         * config/microblaze/microblaze.cc (microblaze_option_override): Likewise.
12400         * config/microblaze/microblaze.h (DBX_REGISTER_NUMBER): Likewise.
12401         (DEBUGGER_REGNO): Likewise.
12402         (GP_DBX_FIRST): Likewise.
12403         (GP_DEBUGGER_FIRST): Likewise.
12404         * config/mips/vxworks.h (DBX_REGISTER_NUMBER): Likewise.
12405         (DEBUGGER_REGNO): Likewise.
12406         * config/mmix/mmix-protos.h (mmix_dbx_regno): Likewise.
12407         (mmix_debugger_regno): Likewise.
12408         * config/mmix/mmix.cc (mmix_dbx_regno): Likewise.
12409         (mmix_debugger_regno): Likewise.
12410         * config/mmix/mmix.h (DBX_REGISTER_NUMBER): Likewise.
12411         (DEBUGGER_REGNO): Likewise.
12412         * config/nds32/nds32-protos.h (nds32_dbx_regno): Likewise.
12413         (nds32_debugger_regno): Likewise.
12414         * config/nds32/nds32.cc (nds32_dbx_regno): Likewise.
12415         (nds32_debugger_regno): Likewise.
12416         (nds32_use_blocks_for_constant_p): Likewise.
12417         * config/nds32/nds32.h (DBX_REGISTER_NUMBER): Likewise.
12418         (DEBUGGER_REGNO): Likewise.
12419         * config/nvptx/nvptx.h (DBX_REGISTER_NUMBER): Likewise.
12420         (DEBUGGER_REGNO): Likewise.
12421         * config/or1k/or1k.h (DBX_REGISTER_NUMBER): Likewise.
12422         (DEBUGGER_REGNO): Likewise.
12423         * config/pa/pa32-regs.h (DBX_REGISTER_NUMBER): Likewise.
12424         (DEBUGGER_REGNO): Likewise.
12425         * config/pa/pa64-regs.h (DBX_REGISTER_NUMBER): Likewise.
12426         (DEBUGGER_REGNO): Likewise.
12427         * config/rs6000/rs6000-protos.h (rs6000_dbx_regno): Likewise.
12428         (rs6000_debugger_regno): Likewise.
12429         * config/rs6000/rs6000.cc (rs6000_dbx_regno): Likewise.
12430         (rs6000_debugger_regno): Likewise.
12431         * config/rs6000/rs6000.h (DBX_REGISTER_NUMBER): Likewise.
12432         (DEBUGGER_REGNO): Likewise.
12433         (DWARF2_FRAME_REG_OUT): Likewise.
12434         * config/s390/s390.h (DBX_REGISTER_NUMBER): Likewise.
12435         (DEBUGGER_REGNO): Likewise.
12436         * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
12437         (DEBUGGER_REGNO): Likewise.
12438         * config/sh/linux.h (DBX_REGISTER_NUMBER): Likewise.
12439         (DEBUGGER_REGNO): Likewise.
12440         * config/sh/sh.h (DBX_REGISTER_NUMBER): Likewise.
12441         (DEBUGGER_REGNO): Likewise.
12442         (SH_DBX_REGISTER_NUMBER): Likewise.
12443         (SH_DEBUGGER_REGNO): Likewise.
12444         * config/visium/visium.h (DBX_REGISTER_NUMBER): Likewise.
12445         (DEBUGGER_REGNO): Likewise.
12446         * config/xtensa/elf.h (DBX_REGISTER_NUMBER): Likewise.
12447         (DEBUGGER_REGNO): Likewise.
12448         * config/xtensa/linux.h (DBX_REGISTER_NUMBER): Likewise.
12449         (DEBUGGER_REGNO): Likewise.
12450         * config/xtensa/uclinux.h (DBX_REGISTER_NUMBER): Likewise.
12451         (DEBUGGER_REGNO): Likewise.
12452         * config/xtensa/xtensa-protos.h (xtensa_dbx_regno): Likewise.
12453         (xtensa_debugger_regno): Likewise.
12454         * config/xtensa/xtensa.cc (xtensa_dbx_regno): Likewise.
12455         (xtensa_debugger_regno): Likewise.
12456         * config/xtensa/xtensa.h (DBX_REGISTER_NUMBER): Likewise.
12457         (DEBUGGER_REGNO): Likewise.
12458         * defaults.h (DBX_REGISTER_NUMBER): Likewise.
12459         (DEBUGGER_REGNO): Likewise.
12460         (DWARF_FRAME_REGNUM): Likewise.
12461         * doc/tm.texi: Likewise.
12462         * doc/tm.texi.in: Likewise.
12463         * dwarf2out.cc (dbx_reg_number): Likewise.
12464         (debugger_reg_number): Likewise.
12465         (reg_loc_descriptor): Likewise.
12466         (multiple_reg_loc_descriptor): Likewise.
12467         (mem_loc_descriptor): Likewise.
12468         * except.cc: Likewise.
12469
12470 2022-09-05  konglin1  <lingling.kong@intel.com>
12471
12472         PR target/106742
12473         * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
12474         Handle V8BF mode.
12475         (expand_vec_perm_broadcast_1): Ditto.
12476         * config/i386/sse.md (avx512fmaskhalfmode): Add BF vector mode.
12477         (vec_set<mode>_0): Add @ to it.
12478         (@vec_set<mode>_0): Ditto.
12479         (vec_interleave_high<mode><mask_name>): Ditto.
12480         (@vec_interleave_high<mode><mask_name>): Ditto.
12481         (vec_interleave_low<mode><mask_name>): Ditto.
12482         (@vec_interleave_low<mode><mask_name>): Ditto.
12483         * config/i386/subst.md (SUBST_V): Add BF vector mode.
12484
12485 2022-09-05  Aldy Hernandez  <aldyh@redhat.com>
12486
12487         * value-range.cc (early_nan_resolve): Remove.
12488         (frange::intersect): Handle NANs.
12489
12490 2022-09-04  Aldy Hernandez  <aldyh@redhat.com>
12491
12492         * value-range.cc (frange::union_): Do not drop properties when
12493         unioning a NAN with something else.
12494         (range_tests_signed_zeros): Add tests.
12495
12496 2022-09-04  Aldy Hernandez  <aldyh@redhat.com>
12497
12498         * real.cc (encode_ieee_single): Use real_isdenormal.
12499         (encode_ieee_double): Same.
12500         (encode_ieee_extended): Same.
12501         (encode_ieee_quad): Same.
12502         (encode_ieee_half): Same.
12503         (encode_arm_bfloat_half): Same.
12504         * real.h (real_isdenormal): New.
12505
12506 2022-09-03  Aldy Hernandez  <aldyh@redhat.com>
12507
12508         * value-range.cc (frange::singleton_p): Move NAN check to the top.
12509
12510 2022-09-03  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
12511
12512         * config/nvptx/nvptx.h (ASM_OUTPUT_DEF): Reference macro arguments.
12513
12514 2022-09-03  Jakub Jelinek  <jakub@redhat.com>
12515
12516         * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_DOACROSS.
12517         (enum omp_clause_depend_kind): Remove OMP_CLAUSE_DEPEND_SOURCE
12518         and OMP_CLAUSE_DEPEND_SINK, add OMP_CLAUSE_DEPEND_INVALID.
12519         (enum omp_clause_doacross_kind): New type.
12520         (struct tree_omp_clause): Add subcode.doacross_kind member.
12521         * tree.h (OMP_CLAUSE_DEPEND_SINK_NEGATIVE): Remove.
12522         (OMP_CLAUSE_DOACROSS_KIND): Define.
12523         (OMP_CLAUSE_DOACROSS_SINK_NEGATIVE): Define.
12524         (OMP_CLAUSE_DOACROSS_DEPEND): Define.
12525         (OMP_CLAUSE_ORDERED_DOACROSS): Define.
12526         * tree.cc (omp_clause_num_ops, omp_clause_code_name): Add
12527         OMP_CLAUSE_DOACROSS entries.
12528         * tree-nested.cc (convert_nonlocal_omp_clauses,
12529         convert_local_omp_clauses): Handle OMP_CLAUSE_DOACROSS.
12530         * tree-pretty-print.cc (dump_omp_clause): Don't handle
12531         OMP_CLAUSE_DEPEND_SOURCE and OMP_CLAUSE_DEPEND_SINK.  Handle
12532         OMP_CLAUSE_DOACROSS.
12533         * gimplify.cc (gimplify_omp_depend): Don't handle
12534         OMP_CLAUSE_DEPEND_SOURCE and OMP_CLAUSE_DEPEND_SINK.
12535         (gimplify_scan_omp_clauses): Likewise.  Handle OMP_CLAUSE_DOACROSS.
12536         (gimplify_adjust_omp_clauses): Handle OMP_CLAUSE_DOACROSS.
12537         (find_standalone_omp_ordered): New function.
12538         (gimplify_omp_for): When OMP_CLAUSE_ORDERED is present, search
12539         body for OMP_ORDERED with OMP_CLAUSE_DOACROSS and if found,
12540         set OMP_CLAUSE_ORDERED_DOACROSS.
12541         (gimplify_omp_ordered): Don't handle OMP_CLAUSE_DEPEND_SINK or
12542         OMP_CLAUSE_DEPEND_SOURCE, instead check OMP_CLAUSE_DOACROSS, adjust
12543         diagnostics that presence or absence of ordered clause parameter
12544         is irrelevant.  Handle doacross(sink:omp_cur_iteration-1).  Use
12545         actual user name of the clause - doacross or depend - in diagnostics.
12546         * omp-general.cc (omp_extract_for_data): Don't set fd->ordered
12547         if !OMP_CLAUSE_ORDERED_DOACROSS (t).  If
12548         OMP_CLAUSE_ORDERED_DOACROSS (t) but !OMP_CLAUSE_ORDERED_EXPR (t),
12549         set fd->ordered to -1 and set it after the loop in that case to
12550         fd->collapse.
12551         * omp-low.cc (check_omp_nesting_restrictions): Don't handle
12552         OMP_CLAUSE_DEPEND_SOURCE nor OMP_CLAUSE_DEPEND_SINK, instead check
12553         OMP_CLAUSE_DOACROSS.  Use actual user name of the clause - doacross
12554         or depend - in diagnostics.  Diagnose mixing of stand-alone and
12555         block associated ordered constructs binding to the same loop.
12556         (lower_omp_ordered_clauses): Don't handle OMP_CLAUSE_DEPEND_SINK,
12557         instead handle OMP_CLAUSE_DOACROSS.
12558         (lower_omp_ordered): Look for OMP_CLAUSE_DOACROSS instead of
12559         OMP_CLAUSE_DEPEND.
12560         (lower_depend_clauses): Don't handle OMP_CLAUSE_DEPEND_SOURCE and
12561         OMP_CLAUSE_DEPEND_SINK.
12562         * omp-expand.cc (expand_omp_ordered_sink): Emit a sorry for
12563         doacross(sink:omp_cur_iteration-1).
12564         (expand_omp_ordered_source_sink): Use
12565         OMP_CLAUSE_DOACROSS_SINK_NEGATIVE instead of
12566         OMP_CLAUSE_DEPEND_SINK_NEGATIVE.  Use actual user name of the clause
12567         - doacross or depend - in diagnostics.
12568         (expand_omp): Look for OMP_CLAUSE_DOACROSS clause instead of
12569         OMP_CLAUSE_DEPEND.
12570         (build_omp_regions_1): Likewise.
12571         (omp_make_gimple_edges): Likewise.
12572         * lto-streamer-out.cc (hash_tree): Handle OMP_CLAUSE_DOACROSS.
12573         * tree-streamer-in.cc (unpack_ts_omp_clause_value_fields): Likewise.
12574         * tree-streamer-out.cc (pack_ts_omp_clause_value_fields): Likewise.
12575
12576 2022-09-02  David Malcolm  <dmalcolm@redhat.com>
12577
12578         PR c/90885
12579         * doc/invoke.texi (Warning Options): Add -Wxor-used-as-pow.
12580
12581 2022-09-02  Iain Buclaw  <ibuclaw@gdcproject.org>
12582
12583         PR d/105659
12584         * config.gcc: Set tm_d_file to ${cpu_type}/${cpu_type}-d.h.
12585         * config/aarch64/aarch64-d.cc: Include tm_d.h.
12586         * config/aarch64/aarch64-protos.h (aarch64_d_target_versions): Move to
12587         config/aarch64/aarch64-d.h.
12588         (aarch64_d_register_target_info): Likewise.
12589         * config/aarch64/aarch64.h (TARGET_D_CPU_VERSIONS): Likewise.
12590         (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
12591         * config/arm/arm-d.cc: Include tm_d.h and arm-protos.h instead of
12592         tm_p.h.
12593         * config/arm/arm-protos.h (arm_d_target_versions): Move to
12594         config/arm/arm-d.h.
12595         (arm_d_register_target_info): Likewise.
12596         * config/arm/arm.h (TARGET_D_CPU_VERSIONS): Likewise.
12597         (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
12598         * config/default-d.cc: Remove memmodel.h include.
12599         * config/freebsd-d.cc: Include tm_d.h instead of tm_p.h.
12600         * config/glibc-d.cc: Likewise.
12601         * config/i386/i386-d.cc: Include tm_d.h.
12602         * config/i386/i386-protos.h (ix86_d_target_versions): Move to
12603         config/i386/i386-d.h.
12604         (ix86_d_register_target_info): Likewise.
12605         (ix86_d_has_stdcall_convention): Likewise.
12606         * config/i386/i386.h (TARGET_D_CPU_VERSIONS): Likewise.
12607         (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
12608         (TARGET_D_HAS_STDCALL_CONVENTION): Likewise.
12609         * config/i386/winnt-d.cc: Include tm_d.h instead of tm_p.h.
12610         * config/mips/mips-d.cc: Include tm_d.h.
12611         * config/mips/mips-protos.h (mips_d_target_versions): Move to
12612         config/mips/mips-d.h.
12613         (mips_d_register_target_info): Likewise.
12614         * config/mips/mips.h (TARGET_D_CPU_VERSIONS): Likewise.
12615         (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
12616         * config/netbsd-d.cc: Include tm_d.h instead of tm.h and memmodel.h.
12617         * config/openbsd-d.cc: Likewise.
12618         * config/pa/pa-d.cc: Include tm_d.h.
12619         * config/pa/pa-protos.h (pa_d_target_versions): Move to
12620         config/pa/pa-d.h.
12621         (pa_d_register_target_info): Likewise.
12622         * config/pa/pa.h (TARGET_D_CPU_VERSIONS): Likewise.
12623         (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
12624         * config/riscv/riscv-d.cc: Include tm_d.h.
12625         * config/riscv/riscv-protos.h (riscv_d_target_versions): Move to
12626         config/riscv/riscv-d.h.
12627         (riscv_d_register_target_info): Likewise.
12628         * config/riscv/riscv.h (TARGET_D_CPU_VERSIONS): Likewise.
12629         (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
12630         * config/rs6000/rs6000-d.cc: Include tm_d.h.
12631         * config/rs6000/rs6000-protos.h (rs6000_d_target_versions): Move to
12632         config/rs6000/rs6000-d.h.
12633         (rs6000_d_register_target_info): Likewise.
12634         * config/rs6000/rs6000.h (TARGET_D_CPU_VERSIONS) Likewise.:
12635         (TARGET_D_REGISTER_CPU_TARGET_INFO) Likewise.:
12636         * config/s390/s390-d.cc: Include tm_d.h.
12637         * config/s390/s390-protos.h (s390_d_target_versions): Move to
12638         config/s390/s390-d.h.
12639         (s390_d_register_target_info): Likewise.
12640         * config/s390/s390.h (TARGET_D_CPU_VERSIONS): Likewise.
12641         (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
12642         * config/sol2-d.cc: Include tm_d.h instead of tm.h and memmodel.h.
12643         * config/sparc/sparc-d.cc: Include tm_d.h.
12644         * config/sparc/sparc-protos.h (sparc_d_target_versions): Move to
12645         config/sparc/sparc-d.h.
12646         (sparc_d_register_target_info): Likewise.
12647         * config/sparc/sparc.h (TARGET_D_CPU_VERSIONS): Likewise.
12648         (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
12649         * configure: Regenerate.
12650         * configure.ac (tm_d_file): Remove defaults.h.
12651         (tm_d_include_list): Remove options.h and insn-constants.h.
12652         * config/aarch64/aarch64-d.h: New file.
12653         * config/arm/arm-d.h: New file.
12654         * config/i386/i386-d.h: New file.
12655         * config/mips/mips-d.h: New file.
12656         * config/pa/pa-d.h: New file.
12657         * config/riscv/riscv-d.h: New file.
12658         * config/rs6000/rs6000-d.h: New file.
12659         * config/s390/s390-d.h: New file.
12660         * config/sparc/sparc-d.h: New file.
12661
12662 2022-09-02  Aldy Hernandez  <aldyh@redhat.com>
12663
12664         * builtins.cc (fold_builtin_inf): Convert use of real_info to dconstinf.
12665         (fold_builtin_fpclassify): Same.
12666         * fold-const-call.cc (fold_const_call_cc): Same.
12667         * match.pd: Same.
12668         * omp-low.cc (omp_reduction_init_op): Same.
12669         * realmpfr.cc (real_from_mpfr): Same.
12670         * tree.cc (build_complex_inf): Same.
12671
12672 2022-09-02  Peter Bergner  <bergner@linux.ibm.com>
12673
12674         * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_mma_builtin): Use
12675         NOP_EXPR for MMA pointer casting.
12676
12677 2022-09-02  Richard Sandiford  <richard.sandiford@arm.com>
12678
12679         * tree-vect-slp.cc (vect_optimize_slp_pass::internal_node_cost):
12680         Reduce the fallback cost to 1.  Only use it if the number of
12681         input lanes is equal to the number of output lanes.
12682
12683 2022-09-02  Richard Sandiford  <richard.sandiford@arm.com>
12684
12685         PR tree-optimization/106787
12686         * tree-vect-slp.cc (vect_map_to_instance): New function, split out
12687         from...
12688         (vect_bb_partition_graph_r): ...here.  Replace the visited set
12689         with a map from nodes to instances.  Ensure that a node only
12690         appears in one partition.
12691         (vect_bb_partition_graph): Update accordingly.
12692
12693 2022-09-02  Richard Biener  <rguenther@suse.de>
12694
12695         * timevar.def (TV_TREE_RPO_VN): New.
12696         * tree-ssa-sccvn.h (do_rpo_vn): Remove one overload.
12697         * tree-ssa-sccvn.cc (do_rpo_vn_1): Rename the worker.
12698         (do_rpo_vn): Unify the public API, track with TV_TREE_RPO_VN.
12699         (pass_fre::execute): Adjust.
12700         * tree-ssa-uninit.cc (execute_early_warn_uninitialized): Adjust.
12701
12702 2022-09-02  Richard Biener  <rguenther@suse.de>
12703
12704         PR tree-optimization/106809
12705         * tree-ssa-sccvn.cc (dominaged_by_p_w_unex): Check we have
12706         more than one successor before doing extra work.
12707
12708 2022-09-02  Kito Cheng  <kito.cheng@sifive.com>
12709
12710         * common/config/riscv/riscv-common.cc: Include <vector>.
12711         (struct riscv_multi_lib_info_t): New.
12712         (riscv_subset_list::match_score): Ditto.
12713         (find_last_appear_switch): Ditto.
12714         (prefixed_with): Ditto.
12715         (struct multi_lib_info_t): Ditto.
12716         (riscv_current_arch_str): Ditto.
12717         (riscv_current_abi_str): Ditto.
12718         (riscv_multi_lib_info_t::parse): Ditto.
12719         (riscv_check_cond): Ditto.
12720         (riscv_check_conds): Ditto.
12721         (riscv_compute_multilib): Ditto.
12722         (TARGET_COMPUTE_MULTILIB): Defined.
12723         * config/riscv/elf.h (LIB_SPEC): Call riscv_multi_lib_check if
12724         doing link.
12725         (RISCV_USE_CUSTOMISED_MULTI_LIB): New.
12726         * config/riscv/riscv.h (riscv_multi_lib_check): New.
12727         (EXTRA_SPEC_FUNCTIONS): Add riscv_multi_lib_check.
12728         * config/riscv/riscv-subset.h (riscv_subset_list::match_score): New.
12729
12730 2022-09-02  Kito Cheng  <kito.cheng@sifive.com>
12731
12732         * common/common-target.def (compute_multilib): New.
12733         * common/common-targhooks.h (default_compute_multilib): New.
12734         * common/common-targhooks.cc (default_compute_multilib): New.
12735         * doc/tm.texi.in (TARGET_COMPUTE_MULTILIB): New.
12736         * doc/tm.texi: Regen.
12737         * gcc.cc: Include common/common-target.h.
12738         (set_multilib_dir) Call targetm_common.compute_multilib.
12739         (SWITCH_LIVE): Move to opts.h.
12740         (SWITCH_FALSE): Ditto.
12741         (SWITCH_IGNORE): Ditto.
12742         (SWITCH_IGNORE_PERMANENTLY): Ditto.
12743         (SWITCH_KEEP_FOR_GCC): Ditto.
12744         (struct switchstr): Ditto.
12745         * opts.h (SWITCH_LIVE): Move from gcc.c.
12746         (SWITCH_FALSE): Ditto.
12747         (SWITCH_IGNORE): Ditto.
12748         (SWITCH_IGNORE_PERMANENTLY): Ditto.
12749         (SWITCH_KEEP_FOR_GCC): Ditto.
12750         (struct switchstr): Ditto.
12751
12752 2022-09-02  Martin Liska  <mliska@suse.cz>
12753
12754         * config/pdp11/pdp11.h (PREFERRED_DEBUGGING_TYPE): Disable
12755         debugging format.
12756
12757 2022-09-02  Martin Liska  <mliska@suse.cz>
12758
12759         * Makefile.in: Remove -gstabs option support, DBX-related
12760         macros and DBX debugging info support.
12761         * collect2.cc (scan_prog_file): Likewise.
12762         * common.opt: Likewise.
12763         * config.gcc: Likewise.
12764         * config.in: Likewise.
12765         * config/aarch64/aarch64-elf.h (DBX_DEBUGGING_INFO): Likewise.
12766         * config/alpha/alpha.cc: Likewise.
12767         * config/alpha/elf.h (ASM_SPEC): Likewise.
12768         * config/arc/arc.h (DBX_DEBUGGING_INFO): Likewise.
12769         (DBX_CONTIN_LENGTH): Likewise.
12770         * config/arm/aout.h (DBX_DEBUGGING_INFO): Likewise.
12771         (DBX_CONTIN_LENGTH): Likewise.
12772         * config/arm/netbsd-elf.h (DBX_CONTIN_LENGTH): Likewise.
12773         * config/darwin.h (DSYMUTIL_SPEC): Likewise.
12774         (ASM_DEBUG_SPEC): Likewise.
12775         (DBX_DEBUGGING_INFO): Likewise.
12776         (DBX_USE_BINCL): Likewise.
12777         (DBX_CONTIN_LENGTH): Likewise.
12778         (DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END): Likewise.
12779         * config/epiphany/epiphany.h (DBX_DEBUGGING_INFO): Likewise.
12780         (DBX_CONTIN_LENGTH): Likewise.
12781         * config/i386/bsd.h (DBX_NO_XREFS): Likewise.
12782         (DBX_CONTIN_LENGTH): Likewise.
12783         * config/i386/gas.h (DBX_NO_XREFS): Likewise.
12784         (DBX_CONTIN_LENGTH): Likewise.
12785         * config/ia64/ia64.h: Likewise.
12786         * config/ia64/sysv4.h (DBX_DEBUGGING_INFO): Likewise.
12787         * config/m68k/linux.h (DBX_CONTIN_LENGTH): Likewise.
12788         * config/m68k/openbsd.h (DBX_DEBUGGING_INFO): Likewise.
12789         (DBX_CONTIN_LENGTH): Likewise.
12790         (DBX_CONTIN_CHAR): Likewise.
12791         * config/mips/mips.cc (mips_output_filename): Likewise.
12792         (mips_option_override): Likewise.
12793         * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Likewise.
12794         (DBX_DEBUGGING_INFO): Likewise.
12795         (DBX_CONTIN_LENGTH): Likewise.
12796         (DBX_REGISTER_NUMBER): Likewise.
12797         (GP_DBX_FIRST): Likewise.
12798         (FP_DBX_FIRST): Likewise.
12799         (MD_DBX_FIRST): Likewise.
12800         * config/nvptx/nvptx.cc: Likewise.
12801         * config/openbsd.h (DBX_NO_XREFS): Likewise.
12802         * config/pa/pa-64.h (DBX_DEBUGGING_INFO): Likewise.
12803         * config/pa/pa.h (ASSEMBLER_DIALECT): Likewise.
12804         (DBX_CONTIN_LENGTH): Likewise.
12805         * config/pa/som.h (PREFERRED_DEBUGGING_TYPE): Likewise.
12806         (DBX_USE_BINCL): Likewise.
12807         (DBX_LINES_FUNCTION_RELATIVE): Likewise.
12808         (DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END): Likewise.
12809         * config/pdp11/pdp11.cc: Likewise.
12810         * config/pdp11/pdp11.h (DBX_DEBUGGING_INFO): Likewise.
12811         (PREFERRED_DEBUGGING_TYPE): Likewise.
12812         (DBX_CONTIN_LENGTH): Likewise.
12813         * config/rs6000/rs6000-builtin.cc: Likewise.
12814         * config/rs6000/rs6000-call.cc: Likewise.
12815         * config/rs6000/rs6000-logue.cc (defined): Likewise.
12816         * config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise.
12817         (HAVE_XCOFF_DWARF_EXTRAS): Likewise.
12818         (rs6000_xcoff_declare_function_name): Likewise.
12819         * config/rs6000/sysv4.h (DBX_DEBUGGING_INFO): Likewise.
12820         (DBX_FUNCTION_FIRST): Likewise.
12821         * config/rs6000/xcoff.h (XCOFF_DEBUGGING_INFO): Likewise.
12822         * config/rx/rx.h (DBX_DEBUGGING_INFO): Likewise.
12823         * config/sh/elf.h (DBX_LINES_FUNCTION_RELATIVE): Likewise.
12824         (DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END): Likewise.
12825         * config/sol2.h (NO_DBX_BNSYM_ENSYM): Likewise.
12826         * config/sparc/freebsd.h (DBX_CONTIN_CHAR): Likewise.
12827         * config/sparc/netbsd-elf.h (DBX_CONTIN_CHAR): Likewise.
12828         * config/sparc/sparc.h (DBX_CONTIN_LENGTH): Likewise.
12829         * config/vax/vax.cc (vax_file_start): Likewise.
12830         * config/vax/vax.h (DBX_DEBUGGING_INFO): Likewise.
12831         (DBX_CONTIN_LENGTH): Likewise.
12832         (DBX_CONTIN_CHAR): Likewise.
12833         (DBX_NO_XREFS): Likewise.
12834         (DBX_STATIC_STAB_DATA_SECTION): Likewise.
12835         * config/vx-common.h (DBX_DEBUGGING_INFO): Likewise.
12836         (XCOFF_DEBUGGING_INFO): Likewise.
12837         * configure: Regenerate. Likewise.
12838         * configure.ac: Likewise.
12839         * debug.h: Likewise.
12840         * doc/install.texi: Likewise.
12841         * doc/invoke.texi: Likewise.
12842         * doc/passes.texi: Likewise.
12843         * doc/tm.texi: Likewise.
12844         * doc/tm.texi.in: Likewise.
12845         * dwarf2asm.cc (XCOFF_DEBUGGING_INFO): Likewise.
12846         (dw2_asm_output_nstring): Likewise.
12847         (USE_LINKONCE_INDIRECT): Likewise.
12848         * dwarf2out.cc (XCOFF_DEBUGGING_INFO): Likewise.
12849         (HAVE_XCOFF_DWARF_EXTRAS): Likewise.
12850         (output_fde): Likewise.
12851         (output_call_frame_info): Likewise.
12852         (have_macinfo): Likewise.
12853         (add_AT_loc_list): Likewise.
12854         (add_AT_view_list): Likewise.
12855         (output_compilation_unit_header): Likewise.
12856         (output_pubnames): Likewise.
12857         (output_aranges): Likewise.
12858         (output_line_info): Likewise.
12859         (output_macinfo): Likewise.
12860         (dwarf2out_finish): Likewise.
12861         (dwarf2out_early_finish): Likewise.
12862         * final.cc (final_scan_insn_1): Likewise.
12863         (rest_of_handle_final): Likewise.
12864         * flag-types.h (enum debug_info_type): Likewise.
12865         (DBX_DEBUG): Likewise.
12866         (XCOFF_DEBUG): Likewise.
12867         * function.cc (defined): Likewise.
12868         * gcc.cc (defined): Likewise.
12869         (ASM_DEBUG_SPEC): Likewise.
12870         (ASM_DEBUG_OPTION_SPEC): Likewise.
12871         * opts.cc (common_handle_option): Likewise.
12872         (set_debug_level): Likewise.
12873         * system.h (fancy_abort): Likewise.
12874         * target-def.h (TARGET_ASM_CONSTRUCTOR): Likewise.
12875         (TARGET_ASM_DESTRUCTOR): Likewise.
12876         * toplev.cc (defined): Likewise.
12877         * varasm.cc: Likewise.
12878         * config/dbxcoff.h: Removed.
12879         * config/dbxelf.h: Removed.
12880         * dbxout.cc: Removed.
12881         * dbxout.h: Removed.
12882         * gstab.h: Removed.
12883         * stab.def: Removed.
12884         * xcoffout.cc: Removed.
12885         * xcoffout.h: Removed.
12886
12887 2022-09-02  Simon Rainer  <gcc.gnu@vvalter.com>
12888
12889         PR ipa/106627
12890         * config/i386/i386-features.cc (ix86_get_function_versions_dispatcher):
12891         Set TREE_NOTHROW correctly for dispatcher declaration.
12892         * config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher):
12893         Likewise.
12894
12895 2022-09-01  Tamar Christina  <tamar.christina@arm.com>
12896
12897         PR other/106782
12898         * config/aarch64/aarch64.cc
12899         (aarch64_vector_costs::prefer_unrolled_loop): Replace %u with
12900         HOST_WIDE_INT_PRINT_UNSIGNED.
12901
12902 2022-09-01  Richard Sandiford  <richard.sandiford@arm.com>
12903
12904         * tree-vect-slp.cc (vect_build_slp_tree_2): When building a
12905         VEC_PERM_EXPR of an existing vector, set the SLP_TREE_LANES
12906         to the number of vector elements, if that's a known constant.
12907         (vect_optimize_slp_pass::is_compatible_layout): Remove associated
12908         comment about zero SLP_TREE_LANES.
12909         (vect_optimize_slp_pass::start_choosing_layouts): Iterate over
12910         all partition members when looking for potential layouts.
12911         Handle existing permutes of fixed-length vectors.
12912
12913 2022-09-01  Uroš Bizjak  <ubizjak@gmail.com>
12914
12915         PR target/106707
12916         * config/i386/i386.md (moves to/from AX_REG into xchg peephole2):
12917         Do not convert a move pattern where both operands are AX_REG.
12918
12919 2022-09-01  Aldy Hernandez  <aldyh@redhat.com>
12920
12921         * range-op-float.cc (build_le): Convert to dconst*inf.
12922         (build_ge): Same.
12923         * value-range.cc (frange::set_signbit): Same.
12924         (frange::normalize_kind): Same.
12925         (range_tests_floats): Same.
12926         * value-range.h (vrp_val_max): Same.
12927         (vrp_val_min): Same.
12928         (frange::set_varying): Same.
12929
12930 2022-09-01  Aldy Hernandez  <aldyh@redhat.com>
12931
12932         * emit-rtl.cc (init_emit_once): Initialize dconstinf and
12933         dconstninf.
12934         * real.h: Add dconstinf and dconstninf.
12935
12936 2022-09-01  Richard Biener  <rguenther@suse.de>
12937
12938         * gimple-predicate-analysis.cc (compute_control_dep_chain):
12939         Remove cycle detection, instead avoid walking backedges.
12940
12941 2022-09-01  Richard Biener  <rguenther@suse.de>
12942
12943         * gimple-predicate-analysis.cc (compute_control_dep_chain):
12944         New wrapping overload.
12945         (uninit_analysis::init_use_preds): Simplify.
12946         (uninit_analysis::init_from_phi_def): Likewise.
12947
12948 2022-09-01  Aldy Hernandez  <aldyh@redhat.com>
12949
12950         * gimple-range-fold.cc
12951         (fold_using_range::range_of_builtin_int_call): Add case for
12952         CFN_BUILT_IN_SIGNBIT.
12953
12954 2022-09-01  Aldy Hernandez  <aldyh@redhat.com>
12955
12956         * range-op-float.cc (foperator_equal::op1_range): Do not copy sign
12957         bit.
12958         (foperator_not_equal::op1_range): Same.
12959         * value-query.cc (range_query::get_tree_range): Set sign bit.
12960         * value-range-pretty-print.cc (vrange_printer::visit): Dump sign bit.
12961         * value-range.cc (frange::set_signbit): New.
12962         (frange::set): Adjust for sign bit.
12963         (frange::normalize_kind): Same.
12964         (frange::union_): Remove useless comment.
12965         (frange::intersect): Same.
12966         (frange::contains_p): Adjust for sign bit.
12967         (frange::singleton_p): Same.
12968         (frange::verify_range): Same.
12969         (range_tests_signbit): New tests.
12970         (range_tests_floats): Call range_tests_signbit.
12971         * value-range.h (class frange_props): Add signbit
12972         (class frange): Same.
12973
12974 2022-09-01  Jakub Jelinek  <jakub@redhat.com>
12975
12976         PR other/106782
12977         * dumpfile.h (dump_printf_loc): Use ATTRIBUTE_GCC_DUMP_PRINTF (3, 4)
12978         instead of ATTRIBUTE_GCC_DUMP_PRINTF (3, 0).
12979         * tree-parloops.cc (parloops_is_slp_reduction): Cast pointers to
12980         derived types of gimple to gimple * to avoid -Wformat warnings.
12981         * tree-vect-loop-manip.cc (vect_set_loop_condition,
12982         vect_update_ivs_after_vectorizer): Likewise.
12983         * tree-vect-stmts.cc (vectorizable_load): Likewise.
12984         * tree-vect-patterns.cc (vect_split_statement,
12985         vect_recog_mulhs_pattern, vect_recog_average_pattern,
12986         vect_determine_precisions_from_range,
12987         vect_determine_precisions_from_users): Likewise.
12988         * gimple-loop-versioning.cc
12989         (loop_versioning::analyze_term_using_scevs): Likewise.
12990         * tree-vect-slp.cc (vect_build_slp_tree_1): Likewise.
12991         (vect_build_slp_tree): Cast slp_tree to void * to avoid
12992         -Wformat warnings.
12993         (optimize_load_redistribution_1, vect_match_slp_patterns,
12994         vect_build_slp_instance, vect_optimize_slp_pass::materialize,
12995         vect_optimize_slp_pass::dump, vect_slp_convert_to_external,
12996         vect_slp_analyze_node_operations, vect_bb_partition_graph): Likewise.
12997         (vect_print_slp_tree): Likewise.  Also use
12998         HOST_WIDE_INT_PRINT_UNSIGNED instead of %u.
12999         * tree-vect-loop.cc (vect_determine_vectorization_factor,
13000         vect_analyze_scalar_cycles_1, vect_analyze_loop_operations,
13001         vectorizable_induction, vect_transform_loop): Cast pointers to derived
13002         types of gimple to gimple * to avoid -Wformat warnings.
13003         (vect_analyze_loop_2): Cast slp_tree to void * to avoid
13004         -Wformat warnings.
13005         (vect_estimate_min_profitable_iters): Use HOST_WIDE_INT_PRINT_UNSIGNED
13006         instead of %d.
13007         * tree-vect-slp-patterns.cc (vect_pattern_validate_optab): Use %G
13008         instead of %T and STMT_VINFO_STMT (SLP_TREE_REPRESENTATIVE (node))
13009         instead of SLP_TREE_DEF_TYPE (node).
13010
13011 2022-09-01  Jakub Jelinek  <jakub@redhat.com>
13012
13013         PR c++/106655
13014         * doc/invoke.texi (-Winvalid-utf8): Document it.
13015
13016 2022-09-01  Aldy Hernandez  <aldyh@redhat.com>
13017
13018         PR tree-optimization/106785
13019         * value-range.cc (range_tests_nan): Adjust tests for !HONOR_NANS.
13020         (range_tests_floats): Same.
13021
13022 2022-09-01  konglin1  <lingling.kong@intel.com>
13023
13024         * tree-if-conv.cc (is_cond_scalar_reduction): Add MULT_EXPR
13025         recognition.
13026
13027 2022-09-01  Peter Bergner  <bergner@linux.ibm.com>
13028
13029         PR target/101322
13030         * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_mma_builtin):
13031         Enforce the use of a valid MMA pointer type.
13032
13033 2022-09-01  zhongjuzhe  <juzhe.zhong@rivai.ai>
13034
13035         * config/riscv/riscv.cc (riscv_conditional_register_usage): Add vector
13036         registers.
13037
13038 2022-09-01  zhongjuzhe  <juzhe.zhong@rivai.ai>
13039
13040         * config/riscv/riscv.cc (riscv_const_insns): Add cost of poly_int.
13041         (riscv_output_move): Add csrr vlenb assembly.
13042         * config/riscv/riscv.md (move_type): Add csrr vlenb type.
13043         (ext): New attribute.
13044         (ext_enabled): Ditto.
13045         (enabled): Ditto.
13046
13047 2022-09-01  zhongjuzhe  <juzhe.zhong@rivai.ai>
13048
13049         * config/riscv/constraints.md (TARGET_VECTOR ? V_REGS : NO_REGS): Add
13050         "vr" constraint.
13051         (TARGET_VECTOR ? VD_REGS : NO_REGS): Add "vd" constraint.
13052         (TARGET_VECTOR ? VM_REGS : NO_REGS): Add "vm" constraint.
13053         (vp): Add poly constraint.
13054
13055 2022-09-01  zhongjuzhe  <juzhe.zhong@rivai.ai>
13056
13057         * config/riscv/riscv.h (enum reg_class): Change vype to vtype.
13058
13059 2022-09-01  zhongjuzhe  <juzhe.zhong@rivai.ai>
13060
13061         * config/riscv/riscv.cc (riscv_convert_vector_bits): Change
13062         configuration according to TARGET_MIN_VLEN.
13063         * config/riscv/riscv.h (UNITS_PER_FP_REG): Fix comment.
13064
13065 2022-08-31  Martin Liska  <mliska@suse.cz>
13066
13067         * config.build: Remove deprecated ports.
13068         * config.gcc: Likewise.
13069         * config.host: Likewise.
13070         * configure.ac: Likewise.
13071         * configure: Regenerate.
13072         * config/pa/pa-hpux10.h: Removed.
13073         * config/pa/pa-hpux10.opt: Removed.
13074         * config/pa/t-dce-thr: Removed.
13075
13076 2022-08-31  Martin Liska  <mliska@suse.cz>
13077
13078         * Makefile.in: Always install limits.h and syslimits.h to
13079         include folder.
13080         * configure.ac: Assign STMP_FIXINC blank if
13081         --disable-fixincludes is used.
13082         * configure: Regenerate.
13083
13084 2022-08-31  Richard Biener  <rguenther@suse.de>
13085
13086         * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
13087         Assert the guard_bb isn't empty and has more than one successor.
13088         Drop appropriate parts of the predicate when an edge fails to
13089         register a predicate.
13090         (predicate::dump): Dump empty predicate as TRUE.
13091
13092 2022-08-31  Richard Biener  <rguenther@suse.de>
13093
13094         PR tree-optimization/90994
13095         * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
13096         Ignore exceptional control flow and skip the edge for the purpose of
13097         predicate generation also for non-calls.
13098
13099 2022-08-31  Aldy Hernandez  <aldyh@redhat.com>
13100
13101         * value-range-storage.cc (frange_storage_slot::set_frange): Save
13102         endpoints.
13103         (frange_storage_slot::get_frange): Restore endpoints.
13104         * value-range-storage.h (class frange_storage_slot): Add endpoint
13105         fields.
13106
13107 2022-08-31  Martin Liska  <mliska@suse.cz>
13108
13109         PR tree-optimization/106789
13110         * range-op-float.cc (default_frelop_fold_range): Remove the
13111         function.
13112
13113 2022-08-31  Martin Liska  <mliska@suse.cz>
13114
13115         * value-range.h: Add more override keywords.
13116
13117 2022-08-31  Martin Liska  <mliska@suse.cz>
13118
13119         * value-range.h: Add override.
13120
13121 2022-08-31  Richard Biener  <rguenther@suse.de>
13122
13123         PR tree-optimization/65244
13124         * gimple-predicate-analysis.h (predicate::init_from_control_deps):
13125         Add argument to specify whether the predicate is for the USE.
13126         * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
13127         Also include predicates effective fallthru control edges when
13128         the predicate is for the USE.
13129
13130 2022-08-31  Richard Biener  <rguenther@suse.de>
13131
13132         PR tree-optimization/73550
13133         * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
13134         Sanitize debug dumping.  Handle case labels with a CASE_HIGH.
13135         (predicate::dump): Adjust for better readability.
13136
13137 2022-08-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
13138             Jakub Jelinek  <jakub@redhat.com>
13139
13140         * omp-simd-clone.cc (simd_clone_adjust_return_type,
13141         simd_clone_adjust_argument_types): Use known_eq (veclen, 0U)
13142         instead of known_eq (veclen, 0) to avoid -Wsign-compare warnings.
13143
13144 2022-08-31  Richard Sandiford  <richard.sandiford@arm.com>
13145
13146         * tree-vect-slp.cc (vect_optimize_slp_pass::dump): Remove bogus
13147         argument.
13148
13149 2022-08-31  zhongjuzhe  <juzhe.zhong@rivai.ai>
13150
13151         * tree-vect-loop-manip.cc (vect_gen_vector_loop_niters): Simply
13152         initialize const_vf to 0.
13153
13154 2022-08-31  Martin Liska  <mliska@suse.cz>
13155
13156         * config.gcc: Remove cr16.
13157
13158 2022-08-30  Martin Jambor  <mjambor@suse.cz>
13159
13160         * vec.h (array_slice): Add constructors for non-const reference to
13161         heap vector and pointers to heap vectors.
13162
13163 2022-08-30  Aldy Hernandez  <aldyh@redhat.com>
13164
13165         * value-range.cc (early_nan_resolve): Change comment.
13166         (frange::union_): Handle union when one side is a NAN.
13167         (range_tests_nan): Add tests for NAN union.
13168
13169 2022-08-30  Andrew Stubbs  <ams@codesourcery.com>
13170
13171         * config/gcn/gcn.cc (gcn_simd_clone_compute_vecsize_and_simdlen): New.
13172         (gcn_simd_clone_adjust): New.
13173         (gcn_simd_clone_usable): New.
13174         (TARGET_SIMD_CLONE_ADJUST): New.
13175         (TARGET_SIMD_CLONE_COMPUTE_VECSIZE_AND_SIMDLEN): New.
13176         (TARGET_SIMD_CLONE_USABLE): New.
13177
13178 2022-08-30  Andrew Stubbs  <ams@codesourcery.com>
13179
13180         * doc/tm.texi: Regenerate.
13181         * omp-simd-clone.cc (simd_clone_adjust_return_type): Allow zero
13182         vecsize.
13183         (simd_clone_adjust_argument_types): Likewise.
13184         * target.def (compute_vecsize_and_simdlen): Document the new
13185         vecsize_int and vecsize_float semantics.
13186
13187 2022-08-30  Richard Sandiford  <richard.sandiford@arm.com>
13188
13189         * expmed.cc (store_bit_field_1): Fix byte offset calculation
13190         for undefined structures.
13191
13192 2022-08-30  Richard Sandiford  <richard.sandiford@arm.com>
13193
13194         * params.opt (-param=vect-max-layout-candidates=): New parameter.
13195         * doc/invoke.texi (vect-max-layout-candidates): Document it.
13196         * tree-vectorizer.h (auto_lane_permutation_t): New typedef.
13197         (auto_load_permutation_t): Likewise.
13198         * tree-vect-slp.cc (vect_slp_node_weight): New function.
13199         (slpg_layout_cost): New class.
13200         (slpg_vertex): Replace perm_in and perm_out with partition,
13201         out_degree, weight and out_weight.
13202         (slpg_partition_info, slpg_partition_layout_costs): New classes.
13203         (vect_optimize_slp_pass): Likewise, cannibalizing some part of
13204         the previous vect_optimize_slp.
13205         (vect_optimize_slp): Use it.
13206
13207 2022-08-30  Richard Sandiford  <richard.sandiford@arm.com>
13208
13209         * hash-traits.h (vec_hash_base): New class.
13210         (vec_free_hash_base): Likewise.
13211
13212 2022-08-30  Richard Sandiford  <richard.sandiford@arm.com>
13213
13214         * hash-traits.h (int_hash_base): New struct, split out from...
13215         (int_hash): ...this class, which now inherits from int_hash_base.
13216         * hash-map-traits.h (unbounded_hashmap_traits): Take a template
13217         parameter for the key that provides hash and equality functions.
13218         (unbounded_int_hashmap_traits): Turn into a type alias of
13219         unbounded_hashmap_traits.
13220
13221 2022-08-30  Richard Sandiford  <richard.sandiford@arm.com>
13222
13223         * graphds.cc (graphds_scc): Add a pass-back parameter for the
13224         final node order.
13225         * graphds.h (graphds_scc): Update prototype accordingly.
13226
13227 2022-08-30  Richard Sandiford  <richard.sandiford@arm.com>
13228
13229         * tree-vect-slp.cc (vect_transform_slp_perm_load_1): Split out from...
13230         (vect_transform_slp_perm_load): ...here.  Use SLP_TREE_VECTYPE instead
13231         of STMT_VINFO_VECTYPE.
13232
13233 2022-08-30  Richard Sandiford  <richard.sandiford@arm.com>
13234
13235         * tree-vect-slp.cc (vectorizable_slp_permutation_1): Split out from...
13236         (vectorizable_slp_permutation): ...here.
13237
13238 2022-08-30  Richard Sandiford  <richard.sandiford@arm.com>
13239
13240         * tree-vect-stmts.cc (get_related_vectype_for_scalar_type): Check
13241         that the requested number of units is interoperable with the requested
13242         prevailing mode.
13243
13244 2022-08-30  Martin Liska  <mliska@suse.cz>
13245
13246         * config.gcc: Remove the port.
13247         * config/m32c/rtems.h: Removed.
13248
13249 2022-08-30  Richard Biener  <rguenther@suse.de>
13250
13251         PR tree-optimization/73550
13252         * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
13253         Do not apply MAX_NUM_CHAINS again.
13254
13255 2022-08-30  Richard Biener  <rguenther@suse.de>
13256
13257         * gimple-predicate-analysis.cc (format_edge_vec): Dump
13258         both source and destination.
13259         (dump_dep_chains): Remove.
13260         (uninit_analysis::init_use_preds): Remove redundant
13261         dumping of chains.
13262
13263 2022-08-30  Aldy Hernandez  <aldyh@redhat.com>
13264
13265         * value-range-storage.cc (frange_storage_slot::get_frange): Use
13266         frange_nan.
13267         * value-range.cc (frange::set_nan): New.
13268         (frange_nan): Move to header file.
13269         (range_tests_nan): Adjust frange_nan callers to pass type.
13270         New test.
13271         * value-range.h (FRANGE_PROP_ACCESSOR): Remove.
13272         (frange_nan): New.
13273
13274 2022-08-30  Richard Biener  <rguenther@suse.de>
13275
13276         PR tree-optimization/67196
13277         * gimple-predicate-analysis.cc (uninit_analysis::is_use_guarded):
13278         Simplify and normalize use prediates before first use.
13279
13280 2022-08-30  Richard Biener  <rguenther@suse.de>
13281
13282         * gimple-predicate-analysis.cc (dump_pred_chain): Fix
13283         parentizing and AND prepending.
13284         (predicate::dump): Do not dump the GENERIC expanded
13285         predicate, properly parentize and prepend ORs to the
13286         piecewise predicate dump.
13287         (build_pred_expr): Remove.
13288
13289 2022-08-30  Aldy Hernandez  <aldyh@redhat.com>
13290
13291         * range-op-float.cc (finite_operand_p): New.
13292         (build_le): New.
13293         (build_lt): New.
13294         (build_ge): New.
13295         (build_gt): New.
13296         (foperator_equal::fold_range): New implementation with endpoints.
13297         (foperator_equal::op1_range): Same.
13298         (foperator_not_equal::fold_range): Same.
13299         (foperator_not_equal::op1_range): Same.
13300         (foperator_lt::fold_range): Same.
13301         (foperator_lt::op1_range): Same.
13302         (foperator_lt::op2_range): Same.
13303         (foperator_le::fold_range): Same.
13304         (foperator_le::op1_range): Same.
13305         (foperator_le::op2_range): Same.
13306         (foperator_gt::fold_range): Same.
13307         (foperator_gt::op1_range): Same.
13308         (foperator_gt::op2_range): Same.
13309         (foperator_ge::fold_range): Same.
13310         (foperator_ge::op1_range): Same.
13311         (foperator_ge::op2_range): Same.
13312
13313 2022-08-30  Aldy Hernandez  <aldyh@redhat.com>
13314
13315         * range-op-float.cc (frange_set_nan): New.
13316         (frange_drop_inf): New.
13317         (frange_drop_ninf): New.
13318         (foperator_equal::op1_range): Adjust for endpoints.
13319         (foperator_lt::op1_range): Same.
13320         (foperator_lt::op2_range): Same.
13321         (foperator_gt::op1_range): Same.
13322         (foperator_gt::op2_range): Same.
13323         (foperator_unordered::op1_range): Same.
13324         * value-query.cc (range_query::get_tree_range): Same.
13325         * value-range-pretty-print.cc (vrange_printer::visit): Same.
13326         * value-range-storage.cc (frange_storage_slot::get_frange): Same.
13327         * value-range.cc (frange::set): Same.
13328         (frange::normalize_kind): Same.
13329         (frange::union_): Same.
13330         (frange::intersect): Same.
13331         (frange::operator=): Same.
13332         (early_nan_resolve): New.
13333         (frange::contains_p): New.
13334         (frange::singleton_p): New.
13335         (frange::set_nonzero): New.
13336         (frange::nonzero_p): New.
13337         (frange::set_zero): New.
13338         (frange::zero_p): New.
13339         (frange::set_nonnegative): New.
13340         (frange_float): New.
13341         (frange_nan): New.
13342         (range_tests_nan): New.
13343         (range_tests_signed_zeros): New.
13344         (range_tests_floats): New.
13345         (range_tests): New.
13346         * value-range.h (frange::lower_bound): New.
13347         (frange::upper_bound): New.
13348         (vrp_val_min): Use real_inf with a sign instead of negating inf.
13349         (frange::frange): New.
13350         (frange::set_varying): Adjust for endpoints.
13351         (real_max_representable): New.
13352         (real_min_representable): New.
13353
13354 2022-08-30  Aldy Hernandez  <aldyh@redhat.com>
13355
13356         * match.pd ((cmp @0 zerop) real_zerop (negate@1 @0)): Add variant
13357         for real zero.
13358
13359 2022-08-30  Martin Liska  <mliska@suse.cz>
13360
13361         * config/s390/s390.cc (s390_rtx_costs): Use proper type as
13362         argument.
13363
13364 2022-08-30  Richard Biener  <rguenther@suse.de>
13365
13366         * tree-ssa-uninit.cc (warn_uninitialized_vars): Pre-compute
13367         the set of fallthru reachable blocks from function entry
13368         and use that to determine wlims.always_executed.
13369
13370 2022-08-30  Richard Biener  <rguenther@suse.de>
13371
13372         PR tree-optimization/56654
13373         * tree-ssa-uninit.cc (cand_cmp): New.
13374         (find_uninit_use): First process all PHIs and collect candidate
13375         stmts, then sort those after RPO.
13376         (warn_uninitialized_phi): Pass on bb_to_rpo.
13377         (execute_late_warn_uninitialized): Compute and pass on
13378         reverse lookup of RPO number from basic block index.
13379
13380 2022-08-30  Richard Biener  <rguenther@suse.de>
13381
13382         * gimple-predicate-analysis.h (uninit_analysis::operator()):
13383         Remove.
13384         * gimple-predicate-analysis.cc
13385         (uninit_analysis::collect_phi_def_edges): Use phi_arg_set,
13386         simplify a bit.
13387         * tree-ssa-uninit.cc (defined_args): New global.
13388         (compute_uninit_opnds_pos): Mask with the recorded set
13389         of guarded maybe-uninitialized uses.
13390         (uninit_undef_val_t::operator()): Remove.
13391         (find_uninit_use): Process all PHI uses, recording the
13392         guarded ones and marking the PHI result as uninitialized
13393         consistently.
13394         (warn_uninitialized_phi): Adjust.
13395         (execute_late_warn_uninitialized): Get rid of the PHI worklist
13396         and instead walk the function in RPO order.
13397         * spellcheck.h (best_match::m_best_candidate_len): Initialize.
13398
13399 2022-08-30  Tamar Christina  <tamar.christina@arm.com>
13400
13401         PR tree-optimization/106744
13402         * tree-ssa-phiopt.cc (minmax_replacement): Correct arguments.
13403
13404 2022-08-30  Tamar Christina  <tamar.christina@arm.com>
13405
13406         * expmed.cc (store_bit_field_1): Initialize regnum to 0.
13407
13408 2022-08-29  David Faust  <david.faust@oracle.com>
13409
13410         PR target/106745
13411         * config/bpf/coreout.cc (bpf_core_get_sou_member_index): Fix
13412         computation of index for anonymous members.
13413
13414 2022-08-29  Jose E. Marchesi  <jose.marchesi@oracle.com>
13415
13416         * config/bpf/bpf.cc (bpf_target_macros): Define __bpf__ as a
13417         target macro.
13418
13419 2022-08-29  H.J. Lu  <hjl.tools@gmail.com>
13420
13421         PR target/106748
13422         * config/i386/i386-expand.cc
13423         (ix86_avx256_split_vector_move_misalign): Handle E_V16BFmode.
13424         * config/i386/sse.md (V_256H): Add V16BF.
13425
13426 2022-08-29  Robin Dapp  <rdapp@linux.ibm.com>
13427
13428         * config/s390/s390.cc (s390_address_cost): Declare.
13429         (s390_hard_regno_nregs): Declare.
13430         (s390_rtx_costs): Add handling for REG and MEM in SET.
13431
13432 2022-08-29  Robin Dapp  <rdapp@linux.ibm.com>
13433
13434         * config/s390/s390.cc (expand_perm_with_vpdi): Recognize swap pattern.
13435         (is_reverse_perm_mask): New function.
13436         (expand_perm_with_rot): Recognize reverse pattern.
13437         (expand_perm_with_vstbrq): New function.
13438         (expand_perm_with_vster): Use vler/vster for element reversal on z15.
13439         (vectorize_vec_perm_const_1): Use.
13440         (s390_vectorize_vec_perm_const): Add expand functions.
13441         * config/s390/vx-builtins.md: Prefer vster over vler.
13442
13443 2022-08-29  Robin Dapp  <rdapp@linux.ibm.com>
13444
13445         * config/s390/s390.md: Remove UNSPEC_VEC_EXTRACT.
13446         * config/s390/vector.md: Rewrite patterns to use vec_select.
13447         * config/s390/vx-builtins.md (vec_scatter_element<V_HW_2:mode>_SI):
13448         Likewise.
13449
13450 2022-08-29  Robin Dapp  <rdapp@linux.ibm.com>
13451
13452         PR target/100869
13453         * config/s390/vector.md (@vpdi4_2<mode>): New pattern.
13454         (rotl<mode>3_di): New pattern.
13455         * config/s390/vx-builtins.md: Use vpdi and verll for reversing
13456         elements.
13457
13458 2022-08-29  Robin Dapp  <rdapp@linux.ibm.com>
13459
13460         * config/s390/s390.cc (s390_issue_rate): Add z15.
13461
13462 2022-08-29  Robin Dapp  <rdapp@linux.ibm.com>
13463
13464         * common/config/s390/s390-common.cc: Enable -funroll-loops and
13465         -munroll-only-small-loops for OPT_LEVELS_2_PLUS_SPEED_ONLY.
13466         * config/s390/s390.cc (s390_loop_unroll_adjust): Do not unroll
13467         loops larger than 12 instructions.
13468         (s390_override_options_after_change): Set unroll options.
13469         (s390_option_override_internal): Likewise.
13470         * config/s390/s390.opt: Document munroll-only-small-loops.
13471
13472 2022-08-29  Richard Biener  <rguenther@suse.de>
13473
13474         * gimple-predicate-analysis.cc (is_loop_exit,
13475         find_control_equiv_block): Inline into single caller ...
13476         (uninit_analysis::init_use_preds): ... here and refactor.
13477
13478 2022-08-29  Richard Biener  <rguenther@suse.de>
13479
13480         * gimple-predicate-analysis.cc (compute_control_dep_chain):
13481         Inline is_loop_exit and refactor, add comment about
13482         loop exits.
13483
13484 2022-08-29  Kito Cheng  <kito.cheng@sifive.com>
13485
13486         * config/riscv/riscv.cc (riscv_frame_info): Introduce `reset(void)`;
13487         (riscv_frame_info::reset(void)): New.
13488         (riscv_compute_frame_info): Use riscv_frame_info::reset instead
13489         of memset when clean frame.
13490
13491 2022-08-29  zhongjuzhe  <juzhe.zhong@rivai.ai>
13492
13493         * config/riscv/riscv.cc (riscv_v_ext_vector_mode_p): New function.
13494         (riscv_classify_address): Disallow PLUS/LO_SUM/CONST_INT address types for RVV.
13495         (riscv_address_insns): Add RVV modes condition.
13496         (riscv_binary_cost): Ditto.
13497         (riscv_rtx_costs): Adjust cost for RVV.
13498         (riscv_secondary_memory_needed): Add RVV modes condition.
13499         (riscv_hard_regno_nregs): Add RVV register allocation.
13500         (riscv_hard_regno_mode_ok): Add RVV register allocation.
13501         (riscv_class_max_nregs): Add RVV register allocation.
13502         * config/riscv/riscv.h (DWARF_FRAME_REGNUM): Add VL/VTYPE and vector registers in Dwarf.
13503         (UNITS_PER_V_REG): New macro.
13504         (FIRST_PSEUDO_REGISTER): Adjust first pseudo num for RVV.
13505         (V_REG_FIRST): New macro.
13506         (V_REG_LAST): Ditto.
13507         (V_REG_NUM): Ditto.
13508         (V_REG_P): Ditto.
13509         (VL_REG_P): Ditto.
13510         (VTYPE_REG_P): Ditto.
13511         (RISCV_DWARF_VL): Ditto.
13512         (RISCV_DWARF_VTYPE): Ditto.
13513         (enum reg_class): Add RVV register types.
13514         (REG_CLASS_CONTENTS): Add RVV register types.
13515         * config/riscv/riscv.md: Add VL/VTYPE register number constants.
13516
13517 2022-08-29  zhongjuzhe  <juzhe.zhong@rivai.ai>
13518
13519         * config/riscv/riscv.md: Add new type for vector instructions.
13520
13521 2022-08-28  Peter Bergner  <bergner@linux.ibm.com>
13522
13523         PR target/106017
13524         * config/rs6000/rs6000.cc (rs6000_invalid_conversion): Remove handling
13525         of MMA pointer conversions.
13526
13527 2022-08-27  Xi Ruoyao  <xry111@xry111.site>
13528
13529         * config/i386/gcc-auto-profile: Regenerate.
13530
13531 2022-08-26  Aldy Hernandez  <aldyh@redhat.com>
13532
13533         * real.cc (real_iszero): New.
13534         * real.h (real_iszero): New.
13535
13536 2022-08-26  Aldy Hernandez  <aldyh@redhat.com>
13537
13538         * real.cc (real_isinf): New overload.
13539         (real_inf): Add sign argument.
13540         * real.h (real_isinf): New overload.
13541         (real_inf): Add sign argument.
13542
13543 2022-08-26  Marek Polacek  <polacek@redhat.com>
13544
13545         PR c++/81159
13546         * doc/invoke.texi: Document -Wself-move.
13547
13548 2022-08-26  Aldy Hernandez  <aldyh@redhat.com>
13549
13550         * value-range.cc (vrange::set): Set varying.
13551         (vrange::set_nonzero): Same.
13552         (vrange::set_zero): Same.
13553         (vrange::set_nonnegative): Same.
13554
13555 2022-08-26  Aldy Hernandez  <aldyh@redhat.com>
13556
13557         * range-op-float.cc (foperator_equal::op1_range): Do not blindly
13558         copy op2 range when honoring signed zeros.
13559
13560 2022-08-26  Aldy Hernandez  <aldyh@redhat.com>
13561
13562         * tree-ssa-threadbackward.cc (possibly_profitable_path_p): Always
13563         add newline.
13564         (profitable_path_p): Same.
13565
13566 2022-08-26  Richard Biener  <rguenther@suse.de>
13567
13568         * gimple-predicate-analysis.h
13569         (uninit_analysis::use_cannot_happen): Remove.
13570         * gimple-predicate-analysis.cc (can_be_invalidated_p): Remove.
13571         (uninit_analysis::use_cannot_happen): Likewise.
13572         (uninit_analysis::is_use_guarded): Do not call
13573         use_cannot_happen.
13574         (dump_predicates): Remove.
13575         (simple_control_dep_chain): Remove edge overload.
13576
13577 2022-08-26  Tobias Burnus  <tobias@codesourcery.com>
13578
13579         * internal-fn.cc (expand_GOMP_TARGET_REV): New.
13580         * internal-fn.def (GOMP_TARGET_REV): New.
13581         * lto-cgraph.cc (lto_output_node, verify_node_partition): Mark
13582         'omp target device_ancestor_host' as in_other_partition and don't
13583         error if absent.
13584         * omp-low.cc (create_omp_child_function): Mark as 'noclone'.
13585         * omp-expand.cc (expand_omp_target): For reverse offload, remove
13586         sorry, use device = GOMP_DEVICE_HOST_FALLBACK and create
13587         empty-body nohost function.
13588         * omp-offload.cc (execute_omp_device_lower): Handle
13589         IFN_GOMP_TARGET_REV.
13590         (pass_omp_target_link::execute): For ACCEL_COMPILER, don't
13591         nullify fn argument for reverse offload
13592
13593 2022-08-26  Jakub Jelinek  <jakub@redhat.com>
13594
13595         * builtins.def (BUILT_IN_ISSIGNALING): New built-in.
13596         * builtins.cc (expand_builtin_issignaling): New function.
13597         (expand_builtin_signbit): Don't overwrite target.
13598         (expand_builtin): Handle BUILT_IN_ISSIGNALING.
13599         (fold_builtin_classify): Likewise.
13600         (fold_builtin_1): Likewise.
13601         * optabs.def (issignaling_optab): New.
13602         * fold-const-call.cc (fold_const_call_ss): Handle
13603         BUILT_IN_ISSIGNALING.
13604         * config/i386/i386.md (issignalingxf2): New expander.
13605         * doc/extend.texi (__builtin_issignaling): Document.
13606         (__builtin_isinf, __builtin_isnan): Clarify behavior with
13607         -ffinite-math-only.
13608         * doc/md.texi (issignaling<mode>2): Likewise.
13609
13610 2022-08-26  Jakub Jelinek  <jakub@redhat.com>
13611
13612         PR tree-optimization/106099
13613         * internal-fn.def (TRAP): Add ECF_LOOPING_CONST_OR_PURE flag.
13614         * tree-cfg.cc (execute_fixup_cfg): Add IFN_TRAP instead of
13615         __builtin_trap to avoid the need of vops.
13616
13617 2022-08-26  Richard Biener  <rguenther@suse.de>
13618
13619         * gimple-predicate-analysis.cc (dfs_mark_dominating_region):
13620         New helper.
13621         (compute_control_dep_chain): Adjust to honor marked region
13622         if provided.
13623         (uninit_analysis::init_from_phi_def): Pre-mark the dominating
13624         region to improve compute_control_dep_chain walking.
13625         * vec.h (vec<T, va_heap, vl_ptr>::allocated): Add forwarder.
13626
13627 2022-08-26  Richard Biener  <rguenther@suse.de>
13628
13629         * gimple-predicate-analysis.cc
13630         (uninit_analysis::collect_phi_def_edges): Only expand a
13631         PHI def edge when it is possibly undefined.
13632
13633 2022-08-26  Martin Liska  <mliska@suse.cz>
13634
13635         * doc/extend.texi: Remove cr16 related stuff.
13636         * doc/install.texi: Likewise.
13637         * doc/invoke.texi: Likewise.
13638         * doc/md.texi: Likewise.
13639         * function-tests.cc (test_expansion_to_rtl): Likewise.
13640         * common/config/cr16/cr16-common.cc: Removed.
13641         * config/cr16/constraints.md: Removed.
13642         * config/cr16/cr16-protos.h: Removed.
13643         * config/cr16/cr16.cc: Removed.
13644         * config/cr16/cr16.h: Removed.
13645         * config/cr16/cr16.md: Removed.
13646         * config/cr16/cr16.opt: Removed.
13647         * config/cr16/predicates.md: Removed.
13648         * config/cr16/t-cr16: Removed.
13649
13650 2022-08-26  liuhongt  <hongtao.liu@intel.com>
13651
13652         PR target/106704
13653         * config/i386/i386-builtin.def (BDESC): Add
13654         CODE_FOR_avx_blendvpd256/CODE_FOR_avx_blendvps256 to
13655         corresponding builtins.
13656         * config/i386/i386.cc (ix86_gimple_fold_builtin):
13657         Don't fold IX86_BUILTIN_PBLENDVB256, IX86_BUILTIN_BLENDVPS256,
13658         IX86_BUILTIN_BLENDVPD256 w/o TARGET_AVX2.
13659
13660 2022-08-25  Marek Polacek  <polacek@redhat.com>
13661
13662         * ginclude/stddef.h: Define nullptr_t.
13663
13664 2022-08-25  Joseph Myers  <joseph@codesourcery.com>
13665
13666         * gimplify.cc (gimplify_modify_expr): Convert initialization from
13667         a variable-size CONSTRUCTOR to memset before call to
13668         gimplify_modify_expr_rhs.
13669
13670 2022-08-25  Jason Merrill  <jason@redhat.com>
13671
13672         * dwarf2out.cc (base_type_die): Also use DW_ATE_UTF for char8_t.
13673
13674 2022-08-25  Andreas Krebbel  <krebbel@linux.ibm.com>
13675
13676         PR target/106101
13677         * config/s390/predicates.md (subreg_register_operand): New
13678         predicate.
13679         * config/s390/s390-protos.h (s390_gen_lowpart_subreg): New
13680         function prototype.
13681         * config/s390/s390.cc (s390_gen_lowpart_subreg): New function.
13682         (s390_expand_insv): Use s390_gen_lowpart_subreg instead of
13683         gen_lowpart.
13684         * config/s390/s390.md ("*get_tp_64", "*zero_extendhisi2_31")
13685         ("*zero_extendqisi2_31", "*zero_extendqihi2_31"): Likewise.
13686         ("movstrictqi", "movstricthi", "movstrictsi"): Use the
13687         subreg_register_operand predicate instead of register_operand.
13688
13689 2022-08-25  Xi Ruoyao  <xry111@xry111.site>
13690
13691         * config/loongarch/loongarch-protos.h (loongarch_symbol_type):
13692         Add SYMBOL_PCREL64 and change the description for SYMBOL_PCREL.
13693         * config/loongarch/loongarch.cc (loongarch_attribute_table):
13694         New attribute table.
13695         (TARGET_ATTRIBUTE_TABLE): Define the target hook.
13696         (loongarch_handle_model_attribute): New static function.
13697         (loongarch_classify_symbol): Take TARGET_CMODEL_EXTREME and the
13698         model attribute of SYMBOL_REF_DECL into account returning
13699         SYMBOL_PCREL or SYMBOL_PCREL64.
13700         (loongarch_use_anchors_for_symbol_p): New static function.
13701         (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Define the target hook.
13702         (loongarch_symbol_extreme_p): New static function.
13703         (loongarch_symbolic_constant_p): Handle SYMBOL_PCREL64.
13704         (loongarch_symbol_insns): Likewise.
13705         (loongarch_split_symbol_type): Likewise.
13706         (loongarch_split_symbol): Check SYMBOL_PCREL64 instead of
13707         TARGET_CMODEL_EXTREME for PC-relative addressing.
13708         (loongarch_print_operand_reloc): Likewise.
13709         * doc/extend.texi (Variable Attributes): Document new
13710         LoongArch specific attribute.
13711
13712 2022-08-25  Xi Ruoyao  <xry111@xry111.site>
13713
13714         * config/loongarch/loongarch.cc (loongarch_classify_symbol):
13715         Return early if the rtx is not SYMBOL_REF.
13716
13717 2022-08-25  Richard Biener  <rguenther@suse.de>
13718
13719         PR tree-optimization/106737
13720         * tree-parloops.cc (transform_to_exit_first_loop_alt): Do not
13721         verify SSA form.
13722
13723 2022-08-25  Chenghua Xu  <xuchenghua@loongson.cn>
13724
13725         PR target/106459
13726         * config/loongarch/loongarch.cc (loongarch_build_integer):
13727         Use HOST_WIDE_INT.
13728         * config/loongarch/loongarch.h (IMM_REACH): Likewise.
13729         (HWIT_1U): New Defined.
13730         (LU12I_OPERAND): Use HOST_WIDE_INT.
13731         (LU32I_OPERAND): Likewise.
13732         (LU52I_OPERAND): Likewise.
13733         (HWIT_UC_0xFFF): Likwise.
13734
13735 2022-08-24  Andrew Pinski  <apinski@marvell.com>
13736
13737         PR target/106632
13738         PR target/106588
13739         * config/riscv/bitmanip.md (*shNadduw): Use n constraint
13740         instead of i.
13741         (*slliuw): Likewise.
13742         (*bexti): Likewise. Also add a check for operands[2] to be less
13743         than the mode bitsize.
13744
13745 2022-08-24  Andrew Pinski  <apinski@marvell.com>
13746
13747         * config/riscv/constraints.md (DbS): New constraint.
13748         (DnS): New constraint.
13749         * config/riscv/bitmanip.md (*bset<mode>_1_mask): Use new constraint.
13750         (*bclr<mode>): Likewise.
13751         (*binvi<mode>): Likewise.
13752
13753 2022-08-24  Andrew Pinski  <apinski@marvell.com>
13754
13755         PR target/106586
13756         * config/riscv/predicates.md (single_bit_mask_operand):
13757         Use SINGLE_BIT_MASK_OPERAND instead of directly calling pow2p_hwi.
13758         (not_single_bit_mask_operand): Likewise.
13759         * config/riscv/riscv.cc (riscv_build_integer_1): Don't special case
13760         1<<31 for 32bits as it is already handled.
13761         Call trunc_int_for_mode on the upper part after the subtraction.
13762         (riscv_move_integer): Call trunc_int_for_mode before generating
13763         the integer just make sure the constant has been sign extended
13764         corectly.
13765         (riscv_emit_int_compare): Call trunc_int_for_mode after doing the
13766         addition for the new rhs.
13767         * config/riscv/riscv.h (SINGLE_BIT_MASK_OPERAND): If !TARGET64BIT,
13768         then mask off the upper 32bits of the HWI as it will be sign extended.
13769
13770 2022-08-24  Andrew Pinski  <apinski@marvell.com>
13771
13772         * config/riscv/constraints.md (DsS): New constraint.
13773         (DsD): New constraint.
13774         * config/riscv/iterators.md (shiftm1c): New iterator.
13775         * config/riscv/bitmanip.md (*bset<mode>_mask):
13776         Use shiftm1c.
13777         (*bset<mode>_1_mask): Likewise.
13778
13779 2022-08-24  Andrew Pinski  <apinski@marvell.com>
13780
13781         * config/riscv/constraints.md (Ds3): New constraint.
13782         * config/riscv/predicates.md (imm123_operand): New predicate.
13783         * config/riscv/bitmanip.md (*shNadd): Use Ds3 and imm123_operand.
13784         (*shNadduw): Likewise.
13785
13786 2022-08-24  Andrew Pinski  <apinski@marvell.com>
13787
13788         * config/riscv/riscv.cc (riscv_print_operand):
13789         Handle '~'.
13790         (riscv_print_operand_punct_valid_p): New function
13791         (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
13792         * config/riscv/bitmanip.md (<bitmanip_optab>si2/clz_ctz_pcnt):
13793         Use %~ instead of conditional the pattern on TARGET_64BIT.
13794         (rotrsi3): Likewise.
13795         (rotlsi3): Likewise.
13796         * config/riscv/riscv.md: Add ~ to the list of modifiers.
13797         (addsi3): Use %~ instead of conditional the pattern on TARGET_64BIT.
13798         (subsi3): Likewise.
13799         (negsi2): Likewise.
13800         (mulsi3): Likewise.
13801         (optab>si3/any_div): Likewise.
13802         (*add<mode>hi3): Likewise.
13803         (<optab>si3/any_shift): Likewise.
13804
13805 2022-08-24  Andrew Pinski  <apinski@marvell.com>
13806
13807         * config/riscv/riscv.cc (riscv_print_operand): Make a mention to
13808         keep the list in riscv.md in sync with this list.
13809         * config/riscv/riscv.md: Add list of modifiers as comments.
13810
13811 2022-08-24  Andrew Pinski  <apinski@marvell.com>
13812
13813         * config/riscv/sync.md (any_atomic, atomic_optab): Move to ...
13814         * config/riscv/iterators.md: Here.
13815
13816 2022-08-24  Andrew Pinski  <apinski@marvell.com>
13817
13818         * config/riscv/bitmanip.md
13819         (bitmanip_bitwise, bitmanip_minmax, clz_ctz_pcna,
13820         tbitmanip_optab, bitmanip_insn, shiftm1): Move to ...
13821         * config/riscv/iterators.md: Here.
13822
13823 2022-08-24  Andrew Pinski  <apinski@marvell.com>
13824
13825         * config/riscv/riscv.md (GPR): Move to new file.
13826         (P, X, BR): Likewise.
13827         (MOVE32, MOVE64, SHORT): Likewise.
13828         (HISI, SUPERQI, SUBX): Likewise.
13829         (ANYI, ANYF, SOFTF): Likewise.
13830         (size, load, default_load): Likewise.
13831         (softload, store, softstore): Likewise.
13832         (reg, fmt, ifmt, amo): Likewise.
13833         (UNITMODE, HALFMODE): Likewise.
13834         (RINT, rint_pattern, rint_rm): Likewise.
13835         (QUIET_COMPARISON, quiet_pattern, QUIET_PATTERN): Likewise.
13836         (any_extend, any_shiftrt, any_shift): Likewise.
13837         (any_bitwise): Likewise.
13838         (any_div, any_mod): Likewise.
13839         (any_gt, any_ge, any_lt, any_le): Likewise.
13840         (u, su): Likewise.
13841         (optab, insn): Likewise.
13842         * config/riscv/iterators.md: New file.
13843
13844 2022-08-24  Andrew Pinski  <apinski@marvell.com>
13845
13846         PR target/106601
13847         * config/riscv/bitmanip.md (bswaphi2): New pattern.
13848
13849 2022-08-24  Andrew Pinski  <apinski@marvell.com>
13850
13851         PR target/106600
13852         * config/riscv/bitmanip.md (bswap<mode>2): Remove
13853         condition on TARGET_64BIT as X is already conditional there.
13854
13855 2022-08-24  Joseph Myers  <joseph@codesourcery.com>
13856
13857         * tree.cc (build_real): Give DFP dconst0 the minimum quantum
13858         exponent for the type.
13859
13860 2022-08-24  Jose E. Marchesi  <jose.marchesi@oracle.com>
13861
13862         PR target/106733
13863         * config/bpf/bpf.cc (bpf_legitimate_address_p): Recognize integer
13864         constants as legitimate addresses for functions.
13865         (bpf_small_register_classes_for_mode_p): Define target hook.
13866
13867 2022-08-24  Richard Biener  <rguenther@suse.de>
13868
13869         * gimple-predicate-analysis.cc: Move predicate normalization
13870         after the comment documenting it.
13871
13872 2022-08-24  Richard Biener  <rguenther@suse.de>
13873
13874         * gimple-predicate-analysis.h (predicate): Split out
13875         non-predicate related functionality into ..
13876         (uninit_analysis): .. this new class.
13877         * gimple-predicate-analysis.cc: Refactor into two classes.
13878         * tree-ssa-uninit.cc (find_uninit_use): Use uninit_analysis.
13879
13880 2022-08-24  Richard Biener  <rguenther@suse.de>
13881
13882         * gimple-predicate-analysis.cc (predicate::use_cannot_happen):
13883         Do simple_control_dep_chain only up to cd_root, add the PHI
13884         operand edge to the chains like init_from_phi_def does.
13885         (predicate::is_use_guarded): Speedup early out, avoid half-way
13886         initializing the PHI def predicate.
13887
13888 2022-08-24  Jakub Jelinek  <jakub@redhat.com>
13889
13890         PR target/106721
13891         * config/i386/sse.md (shuffletype): Add V32BF, V16BF and V8BF entries.
13892         Change V32HF, V16HF and V8HF entries from "f" to "i".
13893         (iptr): Add V32BF, V16BF, V8BF and BF entries.
13894         (i128vldq): Add V16HF and V16BF entries.
13895         (avx512er_vmrcp28<mode><mask_name><round_saeonly_name>): Fix typo,
13896         mask_opernad3 -> mask_operand3.
13897
13898 2022-08-24  Martin Liska  <mliska@suse.cz>
13899             Jørgen Kvalsvik  <j@lambda.is>
13900
13901         * gcov.cc (add_line_counts): Add group functions to coverage
13902         summary.
13903         (accumulate_line_counts): Similarly for files.
13904
13905 2022-08-24  Lulu Cheng  <chenglulu@loongson.cn>
13906
13907         * config/loongarch/genopts/loongarch-strings: Support code model medium.
13908         * config/loongarch/genopts/loongarch.opt.in: Likewise.
13909         * config/loongarch/loongarch-def.c: Likewise.
13910         * config/loongarch/loongarch-def.h (CMODEL_LARGE): Likewise.
13911         (CMODEL_EXTREME): Likewise.
13912         (N_CMODEL_TYPES): Likewise.
13913         (CMODEL_MEDIUM): Likewise.
13914         * config/loongarch/loongarch-opts.cc: Likewise.
13915         * config/loongarch/loongarch-opts.h (TARGET_CMODEL_MEDIUM): Likewise.
13916         * config/loongarch/loongarch-str.h (STR_CMODEL_MEDIUM): Likewise.
13917         * config/loongarch/loongarch.cc (loongarch_call_tls_get_addr):
13918         Tls symbol Loading support medium mode.
13919         (loongarch_legitimize_call_address): When medium mode, make a symbolic
13920         jump with two instructions.
13921         (loongarch_option_override_internal): Support medium.
13922         * config/loongarch/loongarch.md (@pcalau12i<mode>): New template.
13923         (@sibcall_internal_1<mode>): New function call templates added to support
13924         medium mode.
13925         (@sibcall_value_internal_1<mode>): Likewise.
13926         (@sibcall_value_multiple_internal_1<mode>): Likewise.
13927         (@call_internal_1<mode>): Likewise.
13928         (@call_value_internal_1<mode>): Likewise.
13929         (@call_value_multiple_internal_1<mode>): Likewise.
13930         * config/loongarch/loongarch.opt: Support medium.
13931         * config/loongarch/predicates.md: Add processing about medium mode.
13932         * doc/invoke.texi: Document for '-mcmodel=medium'.
13933
13934 2022-08-24  Richard Biener  <rguenther@suse.de>
13935
13936         * gimple-predicate-analysis.cc (predicate::use_cannot_happen):
13937         Start the compute_control_dep_chain walk from the immediate
13938         dominator of the PHI.
13939
13940 2022-08-23  H.J. Lu  <hjl.tools@gmail.com>
13941
13942         PR target/106714
13943         * config/i386/amxtileintrin.h (_tile_loadd_internal): Cast to
13944         __PTRDIFF_TYPE__.
13945         (_tile_stream_loadd_internal): Likewise.
13946         (_tile_stored_internal): Likewise.
13947
13948 2022-08-23  Richard Biener  <rguenther@suse.de>
13949
13950         PR tree-optimization/106722
13951         * gimple-predicate-analysis.h (MAX_NUM_CHAINS, MAX_CHAIN_LEN,
13952         MAX_POSTDOM_CHECK, MAX_SWITCH_CASES): Move ...
13953         * gimple-predicate-analysis.cc: ... here and document.
13954         (simple_control_dep_chain): New function, factored from
13955         predicate::use_cannot_happen.
13956         (predicate::use_cannot_happen): Adjust.
13957         (predicate::predicate): Use simple_control_dep_chain as fallback.
13958
13959 2022-08-23  Aldy Hernandez  <aldyh@redhat.com>
13960
13961         * range-op-float.cc (foperator_equal::op1_range): Set range to
13962         range of op2.
13963
13964 2022-08-23  Richard Biener  <rguenther@suse.de>
13965
13966         * gimple-predicate-analysis.cc (is_loop_exit): Split out
13967         from ...
13968         (is_non_loop_exit_postdominating): ... here.  Remove after
13969         inlining ...
13970         (find_control_equiv_block): ... here.
13971         (compute_control_dep_chain): ... and here.
13972         (predicate::is_use_guarded): Do not excempt loop exits
13973         from short-cutting the case of the use post-dominating the
13974         PHI definition.
13975
13976 2022-08-23  Andrew MacLeod  <amacleod@redhat.com>
13977
13978         PR tree-optimization/106687
13979         * range-op.cc (operator_minus::lhs_op1_relation): Return VREL_LE
13980         for the VREL_GT case as well.
13981
13982 2022-08-22  Dimitar Dimitrov  <dimitar@dinux.eu>
13983
13984         * config/pru/pru.md (pru_<code>di3): New alternative for
13985         two operands but without earlyclobber.
13986
13987 2022-08-22  Dimitar Dimitrov  <dimitar@dinux.eu>
13988
13989         * config/pru/pru.md (prumov<mode>, mov<mode>): Add
13990         variants for loading -1 consts.
13991
13992 2022-08-22  Dimitar Dimitrov  <dimitar@dinux.eu>
13993
13994         PR target/106564
13995         * config/pru/constraints.md (Um): New constraint for -1.
13996         (Uf): New constraint for IOR fill-bytes constants.
13997         (Uz): New constraint for AND zero-bytes constants.
13998         * config/pru/predicates.md (const_fillbytes_operand): New
13999         predicate for IOR fill-bytes constants.
14000         (const_zerobytes_operand): New predicate for AND zero-bytes
14001         constants.
14002         * config/pru/pru-protos.h (pru_output_sign_extend): Remove.
14003         (struct pru_byterange): New struct to describe a byte range.
14004         (pru_calc_byterange): New declaration.
14005         * config/pru/pru.cc (pru_rtx_costs): Add penalty for
14006         64-bit zero-extend.
14007         (pru_output_sign_extend): Remove.
14008         (pru_calc_byterange): New helper function to extract byte
14009         range info from a constant.
14010         (pru_print_operand): Remove 'y' and 'z' print modifiers.
14011         * config/pru/pru.md (zero_extendqidi2): New pattern.
14012         (zero_extendhidi2): New pattern.
14013         (zero_extendsidi2): New pattern.
14014         (extend<EQS0:mode><EQD:mode>2): Rewrite as an expand.
14015         (@pru_ior_fillbytes<mode>): New pattern.
14016         (@pru_and_zerobytes<mode>): New pattern.
14017         (<code>di3): Rewrite as an expand and handle ZERO and FILL
14018         special cases.
14019         (pru_<code>di3): New name for <code>di3.
14020         (@cbranch_qbbx_const_<BIT_TEST:code><HIDI:mode>): New pattern to
14021         handle bit-test for 64-bit registers.
14022
14023 2022-08-22  Richard Biener  <rguenther@suse.de>
14024
14025         * gimple-predicate-analysis.h (predicate::m_use_expr): Remove.
14026         (predicate::def_expr): Likewise.
14027         (predicate::use_expr): Likewise.
14028         (predicate::expr): Likewise.
14029         * gimple-predicate-analysis.cc (predicate::def_expr): Remove.
14030         (predicate::use_expr): Likewise.
14031         (predicate::expr): Likewise.
14032         (predicate::is_use_guarded): Do not build m_use_expr.
14033
14034 2022-08-22  Martin Liska  <mliska@suse.cz>
14035
14036         PR lto/106700
14037         * configure.ac: Detect O_NONBLOCK flag for open.
14038         * config.in: Regenerate.
14039         * configure: Regenerate.
14040         * opts-common.cc (jobserver_info::connect): Set is_connected
14041         properly based on O_NONBLOCK.
14042         * opts-jobserver.h (struct jobserver_info): Add is_connected
14043         member variable.
14044
14045 2022-08-22  zhongjuzhe  <juzhe.zhong@rivai.ai>
14046
14047         * simplify-rtx.cc (test_vector_subregs_fore_back): Make first value
14048         and repeat value different.
14049
14050 2022-08-22  Tobias Burnus  <tobias@codesourcery.com>
14051
14052         PR lto/106686
14053         * lto-wrapper.cc (free_array_of_ptrs): Move before tool_cleanup.
14054         (tool_cleanup): Unlink offload_names.
14055         (compile_offload_image): Take filename argument to set it early.
14056         (compile_images_for_offload_targets): Update call; set
14057         offload_names to NULL after freeing the array.
14058
14059 2022-08-22  Richard Biener  <rguenther@suse.de>
14060
14061         PR tree-optimization/105937
14062         * tree-ssa-uninit.cc (find_uninit_use): Do not queue PHIs
14063         on backedges.
14064         (execute_late_warn_uninitialized): Mark backedges.
14065
14066 2022-08-22  Richard Biener  <rguenther@suse.de>
14067
14068         * gimple-predicate-analysis.cc (predicate::use_cannot_happen):
14069         If the use is guarded with multiple predicate paths compute
14070         the predicates intersection before going forward.  When
14071         compute_control_dep_chain wasn't able to come up with at
14072         least one path from function entry to the PHI edge compute
14073         a conservative sparse path instead.
14074
14075 2022-08-20  Lulu Cheng  <chenglulu@loongson.cn>
14076
14077         * config/loongarch/loongarch-opts.cc: Allow cmodel to be extreme.
14078         * config/loongarch/loongarch.cc (loongarch_call_tls_get_addr):
14079         Add extreme support for TLS GD and LD types.
14080         (loongarch_legitimize_tls_address): Add extreme support for TLS LE
14081         and IE.
14082         (loongarch_split_symbol): When compiling with -mcmodel=extreme,
14083         the symbol address will be obtained through five instructions.
14084         (loongarch_print_operand_reloc): Add support.
14085         (loongarch_print_operand): Add support.
14086         (loongarch_print_operand_address): Add support.
14087         (loongarch_option_override_internal): Set '-mcmodel=extreme' option
14088         incompatible with '-mno-explicit-relocs'.
14089         * config/loongarch/loongarch.md (@lui_l_hi20<mode>):
14090         Loads bits 12-31 of data into registers.
14091         (lui_h_lo20): Load bits 32-51 of the data and spell bits 0-31 of
14092         the source register.
14093         (lui_h_hi12): Load bits 52-63 of the data and spell bits 0-51 of
14094         the source register.
14095         * config/loongarch/predicates.md: Symbols need to be decomposed
14096         when defining the macro TARGET_CMODEL_EXTREME
14097         * doc/invoke.texi: Modify the description information of cmodel in the document.
14098         Document -W[no-]extreme-plt.
14099
14100 2022-08-19  Tobias Burnus  <tobias@codesourcery.com>
14101
14102         * config/gcn/mkoffload.cc (main): Add omp_requires_file and dbgobj to
14103         files_to_cleanup.
14104         * config/i386/intelmic-mkoffload.cc (prepare_target_image): Add
14105         omp_requires_file to temp_files.
14106         * config/nvptx/mkoffload.cc (omp_requires_file): New global static var.
14107         (main): Remove local omp_requires_file var.
14108         (tool_cleanup): Handle omp_requires_file.
14109
14110 2022-08-19  Aldy Hernandez  <aldyh@redhat.com>
14111
14112         * gimple-range-path.cc (path_range_query::path_range_query):
14113         Remove constructor that takes edge.
14114         * gimple-range-path.h (class path_range_query): Same.
14115         * tree-ssa-loop-ch.cc (edge_range_query): New.
14116         (entry_loop_condition_is_static): Call edge_range_query.
14117
14118 2022-08-18  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
14119
14120         * config/xtensa/xtensa.h
14121         (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
14122         Add new register class "ISC_REGS".
14123         * config/xtensa/constraints.md (c): Add new register constraint.
14124         * config/xtensa/xtensa.md (define_constants): Remove "A11_REG".
14125         (sibcall_internal, sibcall_value_internal):
14126         Change to use the new register constraint, and remove two split
14127         patterns for fixups that are no longer needed.
14128
14129 2022-08-18  Maciej W. Rozycki  <macro@embecosm.com>
14130
14131         * config/riscv/riscv.md (*mov<GPR:mode><X:mode>cc): Fix output
14132         pattern formatting.
14133
14134 2022-08-18  Tim Lange  <mail@tim-lange.me>
14135
14136         PR analyzer/106181
14137         * doc/invoke.texi: Add Wanalyzer-imprecise-fp-arithmetic.
14138
14139 2022-08-18  Aldy Hernandez  <aldyh@redhat.com>
14140
14141         * gimple-range-path.cc (path_range_query::path_range_query): Add
14142         various constructors to take a path.
14143         (path_range_query::~path_range_query): Remove m_alloced_ranger.
14144         (path_range_query::range_on_path_entry): Adjust for m_ranger being
14145         a reference.
14146         (path_range_query::set_path): Rename to...
14147         (path_range_query::reset_path): ...this and call compute_ranges.
14148         (path_range_query::ssa_range_in_phi): Adjust for m_ranger
14149         reference.
14150         (path_range_query::range_defined_in_block): Same.
14151         (path_range_query::compute_ranges_in_block): Same.
14152         (path_range_query::adjust_for_non_null_uses): Same.
14153         (path_range_query::compute_exit_dependencies): Use m_path instead
14154         of argument.
14155         (path_range_query::compute_ranges): Remove path argument.
14156         (path_range_query::range_of_stmt): Adjust for m_ranger reference.
14157         (path_range_query::compute_outgoing_relations): Same.
14158         * gimple-range-path.h (class path_range_query): Add various
14159         constructors.
14160         Make compute_ranges and compute_exit_dependencies private.
14161         Rename set_path to reset_path.
14162         Make m_ranger a reference.
14163         Remove m_alloced_ranger.
14164         * tree-ssa-dom.cc (pass_dominator::execute): Adjust constructor to
14165         path_range_query.
14166         * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Take a
14167         ranger and instantiate a new path_range_query every time.
14168         (ch_base::copy_headers): Pass ranger instead of path_range_query.
14169         * tree-ssa-threadbackward.cc (class back_threader): Remove m_solver.
14170         (back_threader::~back_threader): Remove m_solver.
14171         (back_threader::find_taken_edge_switch): Adjust for m_ranger
14172         reference.
14173         (back_threader::find_taken_edge_cond): Same.
14174         (back_threader::dump): Remove m_solver.
14175         (back_threader::back_threader): Move verify_marked_backedges
14176         here from the path_range_query constructor.
14177         * tree-ssa-threadedge.cc (hybrid_jt_simplifier::simplify): Move
14178         some code from compute_ranges_from_state here.
14179         (hybrid_jt_simplifier::compute_ranges_from_state): Rename...
14180         (hybrid_jt_simplifier::compute_exit_dependencies): ...to this.
14181         * tree-ssa-threadedge.h (class hybrid_jt_simplifier): Rename
14182         compute_ranges_from_state to compute_exit_dependencies.
14183         Remove m_path.
14184
14185 2022-08-18  Richard Biener  <rguenther@suse.de>
14186
14187         PR middle-end/106617
14188         * match.pd ((a ? b : c) > d -> a ? (b > d) : (c > d)): Fix
14189         guard, disable on GENERIC to not cause quadratic behavior
14190         with the fold-const.cc implementation and the use of !
14191
14192 2022-08-18  Andrew Pinski  <apinski@marvell.com>
14193
14194         PR gcov-profile/106659
14195         * gcov-dump.cc (INCLUDE_VECTOR): Include vector.h with
14196         INCLUDE_VECTOR.
14197
14198 2022-08-18  konglin1  <lingling.kong@intel.com>
14199
14200         * config/i386/i386-expand.cc (ix86_expand_sse_movcc): Handle vector
14201         BFmode.
14202         (ix86_expand_vector_init_duplicate): Support vector BFmode.
14203         (ix86_expand_vector_init_one_nonzero): Ditto.
14204         (ix86_expand_vector_init_one_var): Ditto.
14205         (ix86_expand_vector_init_concat): Ditto.
14206         (ix86_expand_vector_init_interleave): Ditto.
14207         (ix86_expand_vector_init_general): Ditto.
14208         (ix86_expand_vector_init): Ditto.
14209         (ix86_expand_vector_set_var): Ditto.
14210         (ix86_expand_vector_set): Ditto.
14211         (ix86_expand_vector_extract): Ditto.
14212         * config/i386/i386.cc (classify_argument): Add BF vector modes.
14213         (function_arg_64): Ditto.
14214         (ix86_gimplify_va_arg): Ditto.
14215         (ix86_get_ssemov): Ditto.
14216         * config/i386/i386.h (VALID_AVX256_REG_MODE): Add BF vector modes.
14217         (VALID_AVX512F_REG_MODE): Ditto.
14218         (host_detect_local_cpu): Ditto.
14219         (VALID_SSE2_REG_MODE): Ditto.
14220         * config/i386/i386.md: Add BF vector modes.
14221         (MODE_SIZE): Ditto.
14222         (ssemodesuffix): Add bf suffix for BF vector modes.
14223         (ssevecmode): Ditto.
14224         * config/i386/sse.md (VMOVE): Adjust for BF vector modes.
14225         (VI12HFBF_AVX512VL): Ditto.
14226         (V_256_512): Ditto.
14227         (VF_AVX512HFBF16): Ditto.
14228         (VF_AVX512BWHFBF16): Ditto.
14229         (VIHFBF): Ditto.
14230         (avx512): Ditto.
14231         (VIHFBF_256): Ditto.
14232         (VIHFBF_AVX512BW): Ditto.
14233         (VI2F_256_512):Ditto.
14234         (V8_128):Ditto.
14235         (V16_256): Ditto.
14236         (V32_512): Ditto.
14237         (sseinsnmode): Ditto.
14238         (sseconstm1): Ditto.
14239         (sseintmodesuffix): New mode_attr.
14240         (avx512fmaskmode): Ditto.
14241         (avx512fmaskmodelower): Ditto.
14242         (ssedoublevecmode): Ditto.
14243         (ssehalfvecmode): Ditto.
14244         (ssehalfvecmodelower): Ditto.
14245         (ssescalarmode): Add vector BFmode mapping.
14246         (ssescalarmodelower): Ditto.
14247         (ssexmmmode): Ditto.
14248         (ternlogsuffix): Ditto.
14249         (ssescalarsize): Ditto.
14250         (sseintprefix): Ditto.
14251         (i128): Ditto.
14252         (xtg_mode): Ditto.
14253         (bcstscalarsuff): Ditto.
14254         (<avx512>_blendm<mode>): New define_insn for BFmode.
14255         (<avx512>_store<mode>_mask): Ditto.
14256         (vcond_mask_<mode><avx512fmaskmodelower>): Ditto.
14257         (vec_set<mode>_0): New define_insn for BF vector set.
14258         (V8BFH_128): New mode_iterator for BFmode.
14259         (avx512fp16_mov<mode>): Ditto.
14260         (vec_set<mode>): New define_insn for BF vector set.
14261         (@vec_extract_hi_<mode>): Ditto.
14262         (@vec_extract_lo_<mode>): Ditto.
14263         (vec_set_hi_<mode>): Ditto.
14264         (vec_set_lo_<mode>): Ditto.
14265         (*vec_extract<mode>_0): New define_insn_and_split for BF
14266         vector extract.
14267         (*vec_extract<mode>): New define_insn.
14268         (VEC_EXTRACT_MODE): Add BF vector modes.
14269         (PINSR_MODE): Add V8BF.
14270         (sse2p4_1): Ditto.
14271         (pinsr_evex_isa): Ditto.
14272         (<sse2p4_1>_pinsr<ssemodesuffix>): Adjust to support
14273         insert for V8BFmode.
14274         (pbroadcast_evex_isa): Add BF vector modes.
14275         (AVX2_VEC_DUP_MODE): Ditto.
14276         (VEC_INIT_MODE): Ditto.
14277         (VEC_INIT_HALF_MODE): Ditto.
14278         (avx2_pbroadcast<mode>): Adjust to support BF vector mode
14279         broadcast.
14280         (avx2_pbroadcast<mode>_1): Ditto.
14281         (<avx512>_vec_dup<mode>_1): Ditto.
14282         (<mask_codefor><avx512>_vec_dup_gpr<mode><mask_name>):
14283         Ditto.
14284
14285 2022-08-18  Martin Liska  <mliska@suse.cz>
14286
14287         * configure: Regenerate.
14288
14289 2022-08-18  Haochen Gui  <guihaoc@gcc.gnu.org>
14290
14291         PR target/103109
14292         * config/rs6000/rs6000.md (<u>maddditi4): New pattern for multiply-add.
14293         (<u>madddi4_highpart): New.
14294         (<u>madddi4_highpart_le): New.
14295
14296 2022-08-18  Aldy Hernandez  <aldyh@redhat.com>
14297
14298         * gimple-range-path.cc
14299         (path_range_query::compute_exit_dependencies): Use
14300         gimple_range_ssa_names.
14301
14302 2022-08-18  zhongjuzhe  <juzhe.zhong@rivai.ai>
14303
14304         * config/riscv/predicates.md: Adjust runtime invariant.
14305         * config/riscv/riscv-modes.def (MAX_BITSIZE_MODE_ANY_MODE): New.
14306         (NUM_POLY_INT_COEFFS): New.
14307         * config/riscv/riscv-protos.h (riscv_initial_elimination_offset):Adjust
14308         runtime invariant.
14309         * config/riscv/riscv-sr.cc (riscv_remove_unneeded_save_restore_calls):
14310         Adjust runtime invariant.
14311         * config/riscv/riscv.cc (struct riscv_frame_info): Adjust runtime
14312         invariant.
14313         (enum riscv_microarchitecture_type): Ditto.
14314         (riscv_valid_offset_p): Ditto.
14315         (riscv_valid_lo_sum_p): Ditto.
14316         (riscv_address_insns): Ditto.
14317         (riscv_load_store_insns): Ditto.
14318         (riscv_legitimize_move): Ditto.
14319         (riscv_binary_cost): Ditto.
14320         (riscv_rtx_costs): Ditto.
14321         (riscv_output_move): Ditto.
14322         (riscv_extend_comparands): Ditto.
14323         (riscv_flatten_aggregate_field): Ditto.
14324         (riscv_get_arg_info): Ditto.
14325         (riscv_pass_by_reference): Ditto.
14326         (riscv_elf_select_rtx_section): Ditto.
14327         (riscv_stack_align): Ditto.
14328         (riscv_compute_frame_info): Ditto.
14329         (riscv_initial_elimination_offset): Ditto.
14330         (riscv_set_return_address): Ditto.
14331         (riscv_for_each_saved_reg): Ditto.
14332         (riscv_first_stack_step): Ditto.
14333         (riscv_expand_prologue): Ditto.
14334         (riscv_expand_epilogue): Ditto.
14335         (riscv_can_use_return_insn): Ditto.
14336         (riscv_secondary_memory_needed): Ditto.
14337         (riscv_hard_regno_nregs): Ditto.
14338         (riscv_convert_vector_bits): New.
14339         (riscv_option_override): Adjust runtime invariant.
14340         (riscv_promote_function_mode): Ditto.
14341         * config/riscv/riscv.h (POLY_SMALL_OPERAND_P): New.
14342         (BITS_PER_RISCV_VECTOR): New.
14343         (BYTES_PER_RISCV_VECTOR): New.
14344         * config/riscv/riscv.md: Adjust runtime invariant.
14345
14346 2022-08-18  Lulu Cheng  <chenglulu@loongson.cn>
14347
14348         * config/loongarch/loongarch.cc (loongarch_call_tls_get_addr):
14349         Get __tls_get_addr address through got table when disable plt.
14350
14351 2022-08-18  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
14352
14353         * config/xtensa/xtensa.cc (xtensa_expand_prologue):
14354         Use an "addmi" machine instruction for updating the stack pointer
14355         rather than addition/subtraction via hard register A9, if the amount
14356         of change satisfies the literal value conditions of that instruction
14357         when the CALL0 ABI is used.
14358         (xtensa_expand_epilogue): Ditto.
14359         And also inhibit the stack pointer addition of constant zero.
14360
14361 2022-08-17  Roger Sayle  <roger@nextmovesoftware.com>
14362
14363         PR target/106640
14364         * config/i386/i386-features.cc
14365         (timde_scalar_chain::compute_convert_gain): Replace incorrect use
14366         of XINT with INTVAL (XEXP (src, 1)).
14367
14368 2022-08-17  Aldy Hernandez  <aldyh@redhat.com>
14369
14370         * gimple-range-path.cc
14371         (path_range_query::compute_ranges_in_block): Remove
14372         set_root_oracle call.
14373         (path_range_query::compute_ranges): Pass ranger oracle to
14374         reset_path.
14375         * value-relation.cc (path_oracle::reset_path): Set root oracle.
14376         * value-relation.h (path_oracle::reset_path): Add root oracle
14377         argument.
14378
14379 2022-08-17  Marek Polacek  <polacek@redhat.com>
14380
14381         PR c++/89780
14382         * diagnostic-spec.cc (nowarn_spec_t::nowarn_spec_t): Handle
14383         OPT_Wpessimizing_move and OPT_Wredundant_move.
14384         * diagnostic-spec.h (nowarn_spec_t): Add NW_REDUNDANT enumerator.
14385
14386 2022-08-17  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
14387             Jakub Jelinek  <jakub@redhat.com>
14388
14389         PR fortran/46539
14390         * common.opt (static-libquadmath): New option.
14391         * gcc.cc (driver_handle_option): Always accept -static-libquadmath.
14392         * config/darwin.h (LINK_SPEC): Handle -static-libquadmath.
14393
14394 2022-08-17  Tobias Burnus  <tobias@codesourcery.com>
14395
14396         * lto-cgraph.cc (input_offload_tables): Improve requires diagnostic
14397         when filenames come out identically.
14398
14399 2022-08-17  Tobias Burnus  <tobias@codesourcery.com>
14400
14401         PR middle-end/106548
14402         * omp-low.cc (lower_rec_input_clauses): Use build_outer_var_ref
14403         for 'simd' linear-step values that are variable.
14404
14405 2022-08-17  Tobias Burnus  <tobias@codesourcery.com>
14406             Chung-Lin Tang  <cltang@codesourcery.com>
14407
14408         PR c++/104493
14409         * gimplify.cc (omp_notice_variable): Call omp_mappable_type
14410         instead of removed langhook.
14411         * omp-general.h (omp_mappable_type): New prototype.
14412         * omp-general.cc (omp_mappable_type):  New; moved from ...
14413         * langhooks.cc (lhd_omp_mappable_type): ... here.
14414         * langhooks-def.h (lhd_omp_mappable_type,
14415         LANG_HOOKS_OMP_MAPPABLE_TYPE): Remove.
14416         (LANG_HOOKS_FOR_TYPES_INITIALIZER): Remote the latter.
14417         * langhooks.h (struct lang_hooks_for_types): Remove
14418         omp_mappable_type.
14419
14420 2022-08-17  Christophe Lyon  <christophe.lyon@arm.com>
14421
14422         * config.gcc (arm): Define with_float to hard if target name ends
14423         with 'hf'.
14424
14425 2022-08-17  Richard Biener  <rguenther@suse.de>
14426
14427         * tree-ssa-threadbackward.cc
14428         (back_threader_profitability): Split profitable_path_p
14429         into possibly_profitable_path_p and itself, keep state
14430         as new members.
14431         (back_threader::m_profit): Remove.
14432         (back_threader::find_paths): Likewise.
14433         (back_threader::maybe_register_path): Take profitability
14434         instance as parameter.
14435         (back_threader::find_paths_to_names): Likewise.  Use
14436         possibly_profitable_path_p and avoid the path range query
14437         when the path is currently too large.
14438         (back_threader::find_paths): Fold into ...
14439         (back_threader::maybe_thread_block): ... this.
14440         (get_gimple_control_stmt): Remove.
14441         (back_threader_profitability::possibly_profitable_path_p):
14442         Split out from profitable_path_p, do early profitability
14443         checks.
14444         (back_threader_profitability::profitable_path_p): Do final
14445         profitability path after the taken edge has been determined.
14446
14447 2022-08-17  Xi Ruoyao  <xry111@xry111.site>
14448
14449         * config/loongarch/loongarch.md (fmax<mode>3): New RTL pattern.
14450         (fmin<mode>3): Likewise.
14451
14452 2022-08-17  Andrew MacLeod  <amacleod@redhat.com>
14453
14454         * gimple-range-fold.cc (gimple_range_ssa_names): New.
14455         * gimple-range-fold.h (gimple_range_ssa_names): New prototype.
14456         * gimple-range-gori.cc (range_def_chain::get_def_chain): Move
14457         code to new routine.
14458
14459 2022-08-16  Martin Liska  <mliska@suse.cz>
14460
14461         PR target/106637
14462         * doc/install.texi: Remove link to www.bullfreeware.com
14463
14464 2022-08-16  Kito Cheng  <kito.cheng@sifive.com>
14465
14466         * common/config/riscv/riscv-common.cc (riscv_implied_info): Add
14467         zfh and zfhmin.
14468         (riscv_ext_version_table): Ditto.
14469         (riscv_ext_flag_table): Ditto.
14470         * config/riscv/riscv-opts.h (MASK_ZFHMIN): New.
14471         (MASK_ZFH): Ditto.
14472         (TARGET_ZFHMIN): Ditto.
14473         (TARGET_ZFH): Ditto.
14474         * config/riscv/riscv.cc (riscv_output_move): Handle HFmode move
14475         for zfh and zfhmin.
14476         (riscv_emit_float_compare): Handle HFmode.
14477         * config/riscv/riscv.md (ANYF): Add HF.
14478         (SOFTF): Add HF.
14479         (load): Ditto.
14480         (store): Ditto.
14481         (truncsfhf2): New.
14482         (truncdfhf2): Ditto.
14483         (extendhfsf2): Ditto.
14484         (extendhfdf2): Ditto.
14485         (*movhf_hardfloat): Ditto.
14486         (*movhf_softfloat): Make sure not ZFHMIN.
14487         * config/riscv/riscv.opt (riscv_zf_subext): New.
14488
14489 2022-08-16  Kito Cheng  <kito.cheng@sifive.com>
14490
14491         * config/riscv/riscv-builtins.cc: include stringpool.h
14492         (riscv_float16_type_node): New.
14493         (riscv_init_builtin_types): Ditto.
14494         (riscv_init_builtins): Call riscv_init_builtin_types.
14495         * config/riscv/riscv-modes.def (HF): New.
14496         * config/riscv/riscv.cc (riscv_output_move): Handle HFmode.
14497         (riscv_mangle_type): New.
14498         (riscv_scalar_mode_supported_p): Ditto.
14499         (riscv_libgcc_floating_mode_supported_p): Ditto.
14500         (riscv_excess_precision): Ditto.
14501         (riscv_floatn_mode): Ditto.
14502         (riscv_init_libfuncs): Ditto.
14503         (TARGET_MANGLE_TYPE): Ditto.
14504         (TARGET_SCALAR_MODE_SUPPORTED_P): Ditto.
14505         (TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P): Ditto.
14506         (TARGET_INIT_LIBFUNCS): Ditto.
14507         (TARGET_C_EXCESS_PRECISION): Ditto.
14508         (TARGET_FLOATN_MODE): Ditto.
14509         * config/riscv/riscv.md (mode): Add HF.
14510         (softload): Add HF.
14511         (softstore): Ditto.
14512         (fmt): Ditto.
14513         (UNITMODE): Ditto.
14514         (movhf): New.
14515         (*movhf_softfloat): New.
14516
14517 2022-08-16  Richard Biener  <rguenther@suse.de>
14518
14519         * tree-ssa-threadbackward.cc (back_threader::find_paths_to_names):
14520         Do not walk further if we are leaving the current loop.
14521
14522 2022-08-16  Sergei Trofimovich  <siarheit@google.com>
14523
14524         PR driver/106624
14525         * gcc.cc (driver::detect_jobserver): Allocate storage xputenv()
14526         argument using xstrdup().
14527
14528 2022-08-16  Aldy Hernandez  <aldyh@redhat.com>
14529
14530         * gimple-range-path.cc (path_range_query::import_p): Rename to...
14531         (path_range_query::exit_dependency_p): ...this.
14532         (path_range_query::dump): Rename imports to exit dependencies.
14533         (path_range_query::compute_ranges_in_phis): Same.
14534         (path_range_query::compute_ranges_in_block): Same.
14535         (path_range_query::adjust_for_non_null_uses): Same.
14536         (path_range_query::compute_ranges): Same.
14537         (path_range_query::compute_phi_relations): Same.
14538         (path_range_query::add_to_imports): Rename to...
14539         (path_range_query::add_to_exit_dependencies): ...this.
14540         (path_range_query::compute_imports): Rename to...
14541         (path_range_query::compute_exit_dependencies): ...this.
14542         * gimple-range-path.h (class path_range_query): Rename imports to
14543         exit dependencies.
14544
14545 2022-08-16  Martin Liska  <mliska@suse.cz>
14546
14547         * value-range-storage.h (class obstack_vrange_allocator): Mark
14548         the class as final.
14549         (class ggc_vrange_allocator): Likewise.
14550
14551 2022-08-16  Martin Liska  <mliska@suse.cz>
14552
14553         * value-range-equiv.h (class value_range_equiv): Add virtual
14554         destructor.
14555         * value-range.h: Likewise.
14556
14557 2022-08-16  Richard Biener  <rguenther@suse.de>
14558
14559         PR middle-end/106630
14560         * match.pd ((T)(x * CST) -> (T)x * CST): Restrict to
14561         narrowing conversions.
14562
14563 2022-08-16  Martin Liska  <mliska@suse.cz>
14564
14565         * value-range-equiv.h (class value_range_equiv):
14566
14567 2022-08-16  Martin Liska  <mliska@suse.cz>
14568
14569         * config/i386/i386-features.h (class general_scalar_chain): Add
14570         final override for a method.
14571         (class timode_scalar_chain): Likewise.
14572
14573 2022-08-16  Richard Biener  <rguenther@suse.de>
14574
14575         * doc/invoke.texi (max-jump-thread-paths): Adjust.
14576
14577 2022-08-16  Martin Liska  <mliska@suse.cz>
14578
14579         * opts-common.cc (jobserver_info::connect): Open fifo
14580         in non-blocking mode.
14581
14582 2022-08-16  Kewen.Lin  <linkw@gcc.gnu.org>
14583
14584         PR target/103353
14585         * config/rs6000/mma.md (define_expand movoo): Move TARGET_MMA condition
14586         check to preparation statements and add handlings for !TARGET_MMA.
14587         (define_expand movxo): Likewise.
14588
14589 2022-08-16  Kewen Lin  <linkw@linux.ibm.com>
14590
14591         PR tree-optimization/106322
14592         * tree-vect-stmts.cc (vectorizable_call): Don't allow
14593         vect_emulated_vector_p type for both vectype_in and vectype_out.
14594
14595 2022-08-16  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
14596
14597         * common/config/xtensa/xtensa-common.cc
14598         (xtensa_option_optimization_table): Add OPT_fsplit_wide_types_early
14599         for OPT_LEVELS_ALL in order to restore pre-GCC10 behavior.
14600
14601 2022-08-15  Andrew MacLeod  <amacleod@redhat.com>
14602
14603         PR tree-optimization/106621
14604         * value-range.cc (irange::set): Check for POLY_INT_CST early.
14605
14606 2022-08-15  Roger Sayle  <roger@nextmovesoftware.com>
14607
14608         * config/i386/i386-features.cc
14609         (timode_scalar_chain::compute_convert_gain): Provide costs for
14610         shifts and rotates.
14611         (timode_scalar_chain::convert_insn): Handle ASHIFTRT, ROTATERT
14612         and ROTATE just like existing ASHIFT and LSHIFTRT cases.
14613         (timode_scalar_to_vector_candidate_p): Handle all shifts and
14614         rotates by integer constants between 0 and 127.
14615
14616 2022-08-15  Roger Sayle  <roger@nextmovesoftware.com>
14617
14618         * config/i386/i386-features.cc
14619         (timode_scalar_chain::compute_convert_gain): Provide gains for
14620         comparisons against 0/-1, including "*testti" patterns.
14621
14622 2022-08-15  Roger Sayle  <roger@nextmovesoftware.com>
14623
14624         PR tree-optimization/64992
14625         PR tree-optimization/98956
14626         * match.pd (ne (lshift @0 @1) 0): Simplify (X << C) != 0 to X
14627         when X is zero_one_valued_p and the shift constant C is valid.
14628         (eq (lshift @0 @1) 0): Likewise, simplify (X << C) == 0 to !X
14629         when X is zero_one_valued_p and the shift constant C is valid.
14630
14631 2022-08-15  Roger Sayle  <roger@nextmovesoftware.com>
14632             Richard Biener  <rguenther@suse.de>
14633
14634         PR tree-optimization/71343
14635         * match.pd (op (lshift @0 @1) (lshift @2 @1)): Optimize the
14636         expression (X<<C) + (Y<<C) to (X+Y)<<C for multiple operators.
14637         (op (rshift @0 @1) (rshift @2 @1)): Likewise, simplify (X>>C)^(Y>>C)
14638         to (X^Y)>>C for binary logical operators, AND, IOR and XOR.
14639
14640 2022-08-15  Richard Biener  <rguenther@suse.de>
14641
14642         * gimple-range-path.cc (range_on_path_entry): Just
14643         call range_on_entry.
14644
14645 2022-08-15  Jakub Jelinek  <jakub@redhat.com>
14646
14647         PR rtl-optimization/106590
14648         * ifcvt.cc (check_for_cc_cmp_clobbers): New function.
14649         (noce_convert_multiple_sets_1): If SEQ sets or clobbers any regs
14650         mentioned in cc_cmp or rev_cc_cmp, don't consider seq2 for any
14651         further conditional moves.
14652
14653 2022-08-15  konglin1  <lingling.kong@intel.com>
14654
14655         * config/i386/i386-builtin-types.def (BFLOAT16): New primitive type.
14656         * config/i386/i386-builtins.cc : Support __bf16 type for i386 backend.
14657         (ix86_register_bf16_builtin_type): New function.
14658         (ix86_bf16_type_node): New.
14659         (ix86_bf16_ptr_type_node): Ditto.
14660         (ix86_init_builtin_types): Add ix86_register_bf16_builtin_type function call.
14661         * config/i386/i386-modes.def (FLOAT_MODE): Add BFmode.
14662         (ADJUST_FLOAT_FORMAT): Ditto.
14663         * config/i386/i386.cc (classify_argument): Handle BFmode.
14664         (construct_container): Ditto.
14665         (function_value_32): Return __bf16 by %xmm0.
14666         (function_value_64): Return __bf16 by SSE register.
14667         (ix86_output_ssemov): Handle BFmode.
14668         (ix86_legitimate_constant_p): Disable BFmode constant double.
14669         (ix86_secondary_reload): Require gpr as intermediate register
14670         to store __bf16 from sse register when sse4 is not available.
14671         (ix86_scalar_mode_supported_p): Enable __bf16 under sse2.
14672         (ix86_mangle_type): Add manlging for __bf16 type.
14673         (ix86_invalid_conversion): New function for target hook.
14674         (ix86_invalid_unary_op): Ditto.
14675         (ix86_invalid_binary_op): Ditto.
14676         (TARGET_INVALID_CONVERSION): New define for target hook.
14677         (TARGET_INVALID_UNARY_OP): Ditto.
14678         (TARGET_INVALID_BINARY_OP): Ditto.
14679         * config/i386/i386.h (host_detect_local_cpu): Add BFmode.
14680         * config/i386/i386.md ("mode"): Add BFmode.
14681         (MODE_SIZE): Ditto.
14682         (X87MODEFH): Ditto.
14683         (HFBF): Add new define_mode_iterator.
14684         (*pushhf_rex64): Change for BFmode.
14685         (*push<mode>_rex64): Ditto.
14686         (*pushhf): Ditto.
14687         (*push<mode>): Ditto.
14688         (MODESH): Ditto.
14689         (hfbfconstf): Add new define_mode_attr.
14690         (*mov<mode>_internal): Add BFmode.
14691
14692 2022-08-13  Roger Sayle  <roger@nextmovesoftware.com>
14693             Uroš Bizjak  <ubizjak@gmail.com>
14694
14695         * config/i386/predicates.md (const_0_to_255_not_mul_8_operand):
14696         New predicate for values between 0/1 and 255, not multiples of 8.
14697         * config/i386/sse.md (ashlv1ti3): Delay lowering of logical left
14698         shifts by constant bit counts.
14699         (*ashlvti3_internal): New define_insn_and_split that lowers
14700         logical left shifts by constant bit counts, that aren't multiples
14701         of 8, before reload.
14702         (lshrv1ti3): Delay lowering of logical right shifts by constant.
14703         (*lshrv1ti3_internal): New define_insn_and_split that lowers
14704         logical right shifts by constant bit counts, that aren't multiples
14705         of 8, before reload.
14706         (ashrv1ti3):: Delay lowering of arithmetic right shifts by
14707         constant bit counts.
14708         (*ashrv1ti3_internal): New define_insn_and_split that lowers
14709         arithmetic right shifts by constant bit counts before reload.
14710         (rotlv1ti3): Delay lowering of rotate left by constant.
14711         (*rotlv1ti3_internal): New define_insn_and_split that lowers
14712         rotate left by constant bits counts before reload.
14713         (rotrv1ti3): Delay lowering of rotate right by constant.
14714         (*rotrv1ti3_internal): New define_insn_and_split that lowers
14715         rotate right by constant bits counts before reload.
14716
14717 2022-08-12  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
14718
14719         * doc/invoke.texi (Arm Options): Document -mcpu=cortex-m55 options.
14720
14721 2022-08-12  Jan Hubicka  <hubicka@ucw.cz>
14722
14723         PR middle-end/106057
14724         * ipa-devirt.cc (type_or_derived_type_possibly_instantiated_p): New
14725         function.
14726         (possible_polymorphic_call_targets): Use it.
14727
14728 2022-08-12  Andrew Carlotti  <andrew.carlotti@arm.com>
14729
14730         * tree-ssa-loop.h: Improve comment
14731
14732 2022-08-12  Jakub Jelinek  <jakub@redhat.com>
14733
14734         PR tree-optimization/106506
14735         * tree-ssa-phiopt.cc (spaceship_replacement): Don't punt for
14736         is_cast or orig_use_lhs cases if phi_bb has 3 predecessors.
14737
14738 2022-08-12  Richard Biener  <rguenther@suse.de>
14739
14740         PR tree-optimization/106593
14741         * tree-ssa-threadbackward.cc (back_threader::find_paths):
14742         If the imports from the conditional do not satisfy
14743         gimple_range_ssa_p don't try to thread anything.
14744
14745 2022-08-12  Tamar Christina  <tamar.christina@arm.com>
14746
14747         PR target/106524
14748         * config/aarch64/aarch64-sve.md (*fcmuo<mode>_nor_combine,
14749         *fcmuo<mode>_bic_combine): Don't accept comparisons against zero.
14750
14751 2022-08-12  Tim Lange  <mail@tim-lange.me>
14752
14753         PR analyzer/106000
14754         * doc/invoke.texi: Add Wanalyzer-out-of-bounds.
14755
14756 2022-08-12  Andrew Pinski  <apinski@marvell.com>
14757
14758         * config/aarch64/aarch64.md: Remove comment
14759         about MD_INCLUDES as it is out of date and not needed.
14760
14761 2022-08-11  Richard Biener  <rguenther@suse.de>
14762
14763         * gimple-range-path.cc (path_range_query::compute_imports):
14764         Restrict walking SSA defs to blocks inside the path.  Track
14765         the same operands as range_def_chain::get_def_chain does.
14766
14767 2022-08-11  Richard Biener  <rguenther@suse.de>
14768
14769         PR tree-optimization/106514
14770         * tree-ssa-threadbackward.cc (back_threader::find_paths_to_names):
14771         Compute and unwind both m_imports and interesting on the fly during
14772         path discovery.
14773         (back_threader::find_paths): Compute the original m_imports
14774         from just the SSA uses of the exit conditional.  Drop
14775         handling single_succ_to_potentially_threadable_block.
14776         * gimple-range-path.cc (path_range_query::ssa_range_in_phi): Handle
14777         constant PHI arguments without crashing.  Use PHI_ARG_DEF_FROM_EDGE.
14778
14779 2022-08-11  Richard Biener  <rguenther@suse.de>
14780
14781         * gimple-range-path.h (path_range_query::compute_imports):
14782         Take path as argument, not the exit block.
14783         * gimple-range-path.cc (path_range_query::compute_imports):
14784         Likewise, and adjust, avoiding possibly stale m_path.
14785         (path_range_query::compute_outgoing_relations): Register
14786         relations for all conditionals.
14787         * tree-ssa-threadbackward.cc (back_threader::find_paths):
14788         Adjust.
14789
14790 2022-08-11  Kewen Lin  <linkw@linux.ibm.com>
14791
14792         * config/rs6000/rs6000-builtin.cc (rs6000_init_builtins): Fix the
14793         oversight on ENB_CELL by simplifying with rs6000_builtin_is_supported.
14794         (rs6000_expand_builtin): Simplify with rs6000_builtin_is_supported.
14795
14796 2022-08-11  Kewen Lin  <linkw@linux.ibm.com>
14797
14798         * config/rs6000/rs6000-internal.h (rs6000_global_entry_point_needed_p):
14799         Remove function declaration.
14800
14801 2022-08-10  Richard Biener  <rguenther@suse.de>
14802
14803         PR tree-optimization/106513
14804         * gimple-ssa-store-merging.cc (do_shift_rotate): Use uint64_t
14805         for head_marker.
14806
14807 2022-08-10  Martin Liska  <mliska@suse.cz>
14808
14809         PR lto/106328
14810         * opts-jobserver.h (struct jobserver_info): Add pipefd.
14811         (jobserver_info::connect): New.
14812         (jobserver_info::disconnect): Likewise.
14813         (jobserver_info::get_token): Likewise.
14814         (jobserver_info::return_token): Likewise.
14815         * opts-common.cc: Implement the new functions.
14816
14817 2022-08-10  Martin Liska  <mliska@suse.cz>
14818
14819         * opts-jobserver.h: Add one member.
14820         * opts-common.cc (jobserver_info::jobserver_info): Parse FIFO
14821         format of --jobserver-auth.
14822
14823 2022-08-10  Martin Liska  <mliska@suse.cz>
14824
14825         * gcc.cc (driver::detect_jobserver): Remove and move to
14826         jobserver.h.
14827         * lto-wrapper.cc (jobserver_active_p): Likewise.
14828         (run_gcc): Likewise.
14829         * opts-jobserver.h: New file.
14830         * opts-common.cc (jobserver_info::jobserver_info): New function.
14831
14832 2022-08-09  Roger Sayle  <roger@nextmovesoftware.com>
14833
14834         * config/i386/i386-features.cc (scalar_chain::convert_compare):
14835         Create new pseudos only when/if needed.  Add support for TEST,
14836         i.e. (COMPARE (AND x y) (const_int 0)), using UNSPEC_PTEST.
14837         When broadcasting V2DImode and V4SImode use new pseudo register.
14838         (timode_scalar_chain::convert_op): Do nothing if operand is
14839         already V1TImode.  Avoid generating useless SUBREG conversions,
14840         i.e. (SUBREG:V1TImode (REG:V1TImode) 0).  Handle CONST_WIDE_INT
14841         in addition to CONST_INT by using CONST_SCALAR_INT_P.
14842         (convertible_comparison_p): Use CONST_SCALAR_INT_P to match both
14843         CONST_WIDE_INT and CONST_INT.  Recognize new *testti_doubleword
14844         pattern as an STV candidate.
14845         (timode_scalar_to_vector_candidate_p): Allow CONST_SCALAR_INT_P
14846         operands in binary logic operations.
14847         * config/i386/i386.cc (ix86_rtx_costs) <case UNSPEC>: Add costs
14848         for UNSPEC_PTEST; a PTEST that performs an AND has the same cost
14849         as regular PTEST, i.e. cost->sse_op.
14850         * config/i386/i386.md (*testti_doubleword): New pre-reload
14851         define_insn_and_split that recognizes comparison of TI mode AND
14852         against zero.
14853         * config/i386/sse.md (*ptest<mode>_and): New pre-reload
14854         define_insn_and_split that recognizes UNSPEC_PTEST of identical
14855         AND operands.
14856
14857 2022-08-09  Roger Sayle  <roger@nextmovesoftware.com>
14858             Richard Biener  <rguenther@suse.de>
14859
14860         PR middle-end/21137
14861         PR tree-optimization/98954
14862         * fold-const.cc (fold_binary_loc): Remove optimizations to
14863         optimize ((X >> C1) & C2) ==/!= 0.
14864         * match.pd (cmp (bit_and (lshift @0 @1) @2) @3): Remove wi::ctz
14865         check, and handle all values of INTEGER_CSTs @2 and @3.
14866         (cmp (bit_and (rshift @0 @1) @2) @3): Likewise, remove wi::clz
14867         checks, and handle all values of INTEGER_CSTs @2 and @3.
14868
14869 2022-08-09  David Malcolm  <dmalcolm@redhat.com>
14870
14871         * doc/invoke.texi (Static Analyzer Options): Add notes on which
14872         functions the analyzer has hardcoded knowledge of.
14873
14874 2022-08-09  Andrew Stubbs  <ams@codesourcery.com>
14875
14876         * config/gcn/gcn.cc (gcn_function_value): Allow vector return values.
14877         (num_arg_regs): Allow vector arguments.
14878         (gcn_function_arg): Likewise.
14879         (gcn_function_arg_advance): Likewise.
14880         (gcn_arg_partial_bytes): Likewise.
14881         (gcn_return_in_memory): Likewise.
14882         (gcn_expand_epilogue): Get return value from v8.
14883         * config/gcn/gcn.h (RETURN_VALUE_REG): Set to v8.
14884         (FIRST_PARM_REG): USE FIRST_SGPR_REG for clarity.
14885         (FIRST_VPARM_REG): New.
14886         (FUNCTION_ARG_REGNO_P): Allow vector parameters.
14887         (struct gcn_args): Add vnum field.
14888         (LIBCALL_VALUE): All vector return values.
14889         * config/gcn/gcn.md (gcn_call_value): Add vector constraints.
14890         (gcn_call_value_indirect): Likewise.
14891
14892 2022-08-09  Richard Biener  <rguenther@suse.de>
14893
14894         * omp-expand.cc (expand_omp_atomic_load): Emit GIMPLE
14895         directly.  Avoid update_ssa when in SSA form.
14896         (expand_omp_atomic_store): Likewise.
14897         (expand_omp_atomic_fetch_op): Avoid update_ssa when in SSA
14898         form.
14899         (expand_omp_atomic_pipeline): Likewise.
14900         (expand_omp_atomic_mutex): Likewise.
14901         * tree-parloops.cc (gen_parallel_loop): Use
14902         TODO_update_ssa_no_phi after loop_version.
14903
14904 2022-08-09  Richard Biener  <rguenther@suse.de>
14905
14906         * doc/invoke.texi (max-fsm-thread-length): Remove.
14907         * params.opt (max-fsm-thread-length): Likewise.
14908         * tree-ssa-threadbackward.cc
14909         (back_threader_profitability::profitable_path_p): Do not
14910         check max-fsm-thread-length.
14911
14912 2022-08-09  Richard Biener  <rguenther@suse.de>
14913
14914         PR tree-optimization/106514
14915         * params.opt (max-jump-thread-paths): New.
14916         * doc/invoke.texi (max-jump-thread-paths): Document.
14917         * tree-ssa-threadbackward.cc (back_threader::find_paths_to_names):
14918         Honor max-jump-thread-paths, take overall_path argument.
14919         (back_threader::find_paths): Pass 1 as initial overall_path.
14920
14921 2022-08-09  Tobias Burnus  <tobias@codesourcery.com>
14922
14923         PR middle-end/106492
14924         * omp-low.cc (lower_rec_input_clauses): Add missing folding
14925         to data type of linear-clause list item.
14926
14927 2022-08-08  Andrew MacLeod  <amacleod@redhat.com>
14928
14929         PR tree-optimization/106556
14930         * gimple-range-gori.cc (gori_compute::condexpr_adjust): Use the
14931         type of the cond_expr operands being evaluted.
14932
14933 2022-08-08  Tom Honermann  <tom@honermann.net>
14934
14935         * ginclude/stdatomic.h (atomic_char8_t,
14936         ATOMIC_CHAR8_T_LOCK_FREE): New typedef and macro.
14937
14938 2022-08-08  Andrew Pinski  <apinski@marvell.com>
14939
14940         PR middle-end/103645
14941         * gimplify.cc (gimplify_init_constructor): Don't build/add
14942         gimple assignment of an empty type.
14943
14944 2022-08-08  Richard Biener  <rguenther@suse.de>
14945
14946         PR lto/106540
14947         PR lto/106334
14948         * dwarf2out.cc (dwarf2out_register_external_die): Restore
14949         original assert.
14950         * lto-streamer-in.cc (lto_read_tree_1): Use lto_input_tree_1
14951         to input DECL_INITIAL, avoiding to commit drefs.
14952
14953 2022-08-07  Roger Sayle  <roger@nextmovesoftware.com>
14954
14955         * config/i386/i386.md (*cmp<dwi>_doubleword): Change predicate
14956         for x86_64_hilo_general_operand to general operand.  Call
14957         force_reg on parts that are not x86_64_immediate_operand.
14958
14959 2022-08-05  David Malcolm  <dmalcolm@redhat.com>
14960
14961         PR analyzer/105947
14962         * doc/invoke.texi: Add -Wanalyzer-jump-through-null.
14963
14964 2022-08-05  Roger Sayle  <roger@nextmovesoftware.com>
14965
14966         * expmed.cc (emit_store_flag_1): Move code to expand double word
14967         equality and inequality against zero or -1, using word operations,
14968         to after trying to use the backend's cstore<mode>4 optab/expander.
14969
14970 2022-08-05  Tamar Christina  <tamar.christina@arm.com>
14971
14972         PR middle-end/106534
14973         * tree-ssa-phiopt.cc (tree_ssa_phiopt_worker): Guard the
14974         value_replacement and store_elim from diamonds.
14975
14976 2022-08-05  Richard Biener  <rguenther@suse.de>
14977
14978         * tree-ssa-threadbackward.cc (back_threader::maybe_register_path):
14979         Check whether the registry register_path rejected the path.
14980         (back_threader_registry::register_path): Return whether
14981         register_jump_thread succeeded.
14982
14983 2022-08-05  Aldy Hernandez  <aldyh@redhat.com>
14984
14985         PR tree-optimization/106514
14986         * value-range.cc (unsupported_range::unsupported_range): Move...
14987         * value-range.h (unsupported_range::unsupported_range): ...here.
14988         (unsupported_range::set_undefined): New.
14989
14990 2022-08-05  Richard Biener  <rguenther@suse.de>
14991
14992         PR tree-optimization/106533
14993         * tree-loop-distribution.cc (loop_distribution::execute): Continue
14994         analyzing the inner loops when find_seed_stmts_for_distribution
14995         fails.
14996
14997 2022-08-05  Andrew Pinski  <apinski@marvell.com>
14998
14999         * config/riscv/predicates.md (splittable_const_int_operand):
15000         Remove the check for TARGET_64BIT for single bit const values.
15001
15002 2022-08-04  Andrew MacLeod  <amacleod@redhat.com>
15003
15004         PR tree-optimization/106514
15005         * gimple-range-path.cc (path_range_query::compute_ranges_in_block):
15006         Use EXECUTE_IF_AND_IN_BITMAP to loop over 2 bitmaps.
15007
15008 2022-08-04  Tamar Christina  <tamar.christina@arm.com>
15009
15010         * match.pd: New bit_not rule.
15011
15012 2022-08-04  Tamar Christina  <tamar.christina@arm.com>
15013
15014         PR middle-end/106519
15015         * tree-ssa-phiopt.cc (tree_ssa_phiopt_worker): Check final phi edge for
15016         diamond shapes.
15017
15018 2022-08-04  Sam Feifer  <sfeifer@redhat.com>
15019
15020         PR tree-optimization/106243
15021         * match.pd (-x & 1): New simplification.
15022
15023 2022-08-04  Richard Biener  <rguenther@suse.de>
15024
15025         PR tree-optimization/106521
15026         * gimple-loop-jam.cc (tree_loop_unroll_and_jam): Perform
15027         CFG cleanup manually before rewriting into LC SSA.
15028
15029 2022-08-04  Richard Biener  <rguenther@suse.de>
15030
15031         * tree-ssa-threadbackward.cc (populate_worklist): Remove.
15032         (back_threader::resolve_phi): Likewise.
15033         (back_threader::find_paths_to_names): Rewrite greedy search.
15034
15035 2022-08-04  Ilya Leoshkevich  <iii@linux.ibm.com>
15036
15037         * config/s390/vector.md (V_HW_FT): New iterator.
15038         * config/s390/vx-builtins.md (vsel<mode>): Use V_HW_FT instead
15039         of V_HW.
15040
15041 2022-08-03   Michael Meissner  <meissner@linux.ibm.com>
15042
15043         * config/rs6000/rs6000.cc (rs6000_option_override_internal): Remove code
15044         setting -mblock-ops-vector-pair.
15045
15046 2022-08-03  Andrew MacLeod  <amacleod@redhat.com>
15047
15048         PR tree-optimization/106514
15049         * value-relation.cc (path_oracle::killing_def) Do not walk the
15050         equivalence set clearing bits.
15051
15052 2022-08-03  Tamar Christina  <tamar.christina@arm.com>
15053
15054         * tree-ssa-phiopt.cc (minmax_replacement): Optionally search for the phi
15055         sequence of a three-way conditional.
15056         (replace_phi_edge_with_variable): Support diamonds.
15057         (tree_ssa_phiopt_worker): Detect diamond phi structure for three-way
15058         min/max.
15059         (strip_bit_not, invert_minmax_code): New.
15060
15061 2022-08-03  Richard Earnshaw  <rearnsha@arm.com>
15062
15063         PR rtl-optimization/106187
15064         * alias.h (mems_same_for_tbaa_p): Declare.
15065         * alias.cc (mems_same_for_tbaa_p): New function.
15066         * dse.cc (record_store): Use it instead of open-coding
15067         alias check.
15068         * cselib.h (cselib_redundant_set_p): Declare.
15069         * cselib.cc: Include alias.h
15070         (cselib_redundant_set_p): New function.
15071         * cfgcleanup.cc: (mark_effect): Use cselib_redundant_set_p instead
15072         of rtx_equal_for_cselib_p.
15073         * postreload.cc (reload_cse_simplify): Use cselib_redundant_set_p.
15074         (reload_cse_noop_set_p): Delete.
15075
15076 2022-08-03  Martin Liska  <mliska@suse.cz>
15077
15078         * doc/gcov-dump.texi: Document the new option.
15079         * gcov-dump.cc (main): Parse the new option.
15080         (print_usage): Show the option.
15081         (tag_counters): Sort key:value pairs of TOP N counter.
15082
15083 2022-08-03  Martin Liska  <mliska@suse.cz>
15084
15085         * profile.cc (compute_branch_probabilities): Do not collect
15086         stats unless TDF_DETAILS.
15087
15088 2022-08-03  Roger Sayle  <roger@nextmovesoftware.com>
15089             Uroš Bizjak  <ubizjak@gmail.com>
15090
15091         PR target/47949
15092         * config/i386/i386.md (peephole2): New peephole2 to convert
15093         SWI48 moves to/from %rax/%eax where the src is dead to xchg,
15094         when optimizing for minimal size with -Oz.
15095
15096 2022-08-03  Roger Sayle  <roger@nextmovesoftware.com>
15097
15098         * config/i386/i386.md (*cmp<dwi>_doubleword): Add a special case
15099         to split comparisons against -1 using AND and CMP -1 instructions.
15100
15101 2022-08-03  Roger Sayle  <roger@nextmovesoftware.com>
15102
15103         * config/i386/i386-features.cc (compute_convert_gain): Add gain
15104         for converting suitable TImode shift to a V1TImode shift.
15105         (timode_scalar_chain::convert_insn): Add support for converting
15106         suitable ASHIFT and LSHIFTRT.
15107         (timode_scalar_to_vector_candidate_p): Consider logical shifts
15108         by integer constants that are multiples of 8 to be candidates.
15109
15110 2022-08-03  Roger Sayle  <roger@nextmovesoftware.com>
15111             Segher Boessenkool  <segher@kernel.crashing.org>
15112             Richard Sandiford  <richard.sandiford@arm.com>
15113
15114         * simplify-rtx.cc (simplify_unary_operation_1) <ABS>: Add
15115         optimizations for CLRSB, PARITY, POPCOUNT, SS_ABS and LSHIFTRT
15116         that are all positive to complement the existing FFS and
15117         idempotent ABS simplifications.
15118         <SIGN_EXTEND>: Canonicalize SIGN_EXTEND to ZERO_EXTEND when
15119         val_signbit_known_clear_p is true of the operand.
15120         Simplify sign extensions of SUBREG truncations of operands
15121         that are already suitably (zero) extended.
15122         <ZERO_EXTEND>: Simplify zero extensions of SUBREG truncations
15123         of operands that are already suitably zero extended.
15124
15125 2022-08-02  Andrew MacLeod  <amacleod@redhat.com>
15126
15127         PR tree-optimization/106510
15128         * gimple-range-fold.cc (fur_source::register_outgoing_edges):
15129         Check for unsupported statements early.
15130
15131 2022-08-02  Andrew MacLeod  <amacleod@redhat.com>
15132
15133         PR tree-optimization/106474
15134         * gimple-range-cache.cc (ranger_cache::fill_block_cache): Query
15135         range of equivalences that may contribute to the range.
15136
15137 2022-08-02  Jose E. Marchesi  <jose.marchesi@oracle.com>
15138
15139         * btfout.cc (output_asm_btf_vlen_bytes): Do not use the CHAR
15140         encoding bit in BTF.
15141
15142 2022-08-02  Aldy Hernandez  <aldyh@redhat.com>
15143
15144         * gimple-range-fold.cc (fold_using_range::range_of_phi): Remove
15145         irange check.
15146         (tree_lower_bound): New.
15147         (tree_upper_bound): New.
15148         (fold_using_range::range_of_ssa_name_with_loop_info): Convert to
15149         vrange.
15150         * gimple-range-fold.h (range_of_ssa_name_with_loop_info): Change
15151         argument to vrange.
15152
15153 2022-08-02  Richard Biener  <rguenther@suse.de>
15154
15155         * tree-ssa-threadbackward.cc
15156         (back_threader_profitability::profitable_path_p): Apply
15157         size constraints to all paths again.
15158
15159 2022-08-02  Aldy Hernandez  <aldyh@redhat.com>
15160
15161         * range-op-float.cc (finite_operands_p): New.
15162         (frelop_early_resolve): New.
15163         (default_frelop_fold_range): New.
15164         (class foperator_equal): New.
15165         (class foperator_not_equal): New.
15166         (class foperator_lt): New.
15167         (class foperator_le): New.
15168         (class foperator_gt): New.
15169         (class foperator_ge): New.
15170         (class foperator_unordered): New.
15171         (class foperator_ordered): New.
15172         (class foperator_relop_unknown): New.
15173         (floating_op_table::floating_op_table): Add above classes to
15174         floating op table.
15175         * value-range.h (frange::supports_p): Enable.
15176
15177 2022-08-02  Aldy Hernandez  <aldyh@redhat.com>
15178
15179         * tree-core.h (struct tree_ssa_name): Add frange_info and
15180         reshuffle the rest.
15181         * value-range-storage.cc (vrange_storage::alloc_slot): Add case
15182         for frange.
15183         (vrange_storage::set_vrange): Same.
15184         (vrange_storage::get_vrange): Same.
15185         (vrange_storage::fits_p): Same.
15186         (frange_storage_slot::alloc_slot): New.
15187         (frange_storage_slot::set_frange): New.
15188         (frange_storage_slot::get_frange): New.
15189         (frange_storage_slot::fits_p): New.
15190         * value-range-storage.h (class frange_storage_slot): New.
15191
15192 2022-08-02  Aldy Hernandez  <aldyh@redhat.com>
15193
15194         * ipa-prop.cc (ipa_compute_jump_functions_for_edge): Limit ranger
15195         query to integrals.
15196
15197 2022-08-02  Aldy Hernandez  <aldyh@redhat.com>
15198
15199         * value-range.cc (frange::set): Initialize m_props and cleanup.
15200
15201 2022-08-02  Richard Biener  <rguenther@suse.de>
15202
15203         PR tree-optimization/106497
15204         * tree-ssa-threadupdate.cc (fwd_jt_path_registry::update_cfg):
15205         Also verify we can copy EDGE_COPY_SRC_JOINER_BLOCK.
15206
15207 2022-08-02  Martin Liska  <mliska@suse.cz>
15208
15209         * profile.cc (compute_branch_probabilities): Dump details only
15210         if TDF_DETAILS.
15211         * symtab.cc (symtab_node::dump_base): Do not dump pointer unless
15212         TDF_ADDRESS is used, it makes comparison harder.
15213
15214 2022-08-02  Richard Biener  <rguenther@suse.de>
15215
15216         PR tree-optimization/106498
15217         * omp-expand.cc (expand_omp_taskreg): Do not perform virtual
15218         SSA update here.
15219         (expand_omp_for): Or here.
15220         (execute_expand_omp): Instead schedule it here together
15221         with CFG cleanup via TODO.
15222
15223 2022-08-02  Richard Biener  <rguenther@suse.de>
15224
15225         PR lto/106334
15226         * dwarf2out.cc (dwarf2out_register_external_die): Adjust
15227         assert.
15228
15229 2022-08-02  Richard Biener  <rguenther@suse.de>
15230
15231         PR tree-optimization/106495
15232         * tree-ssa-threadbackward.cc
15233         (back_threader_profitability::profitable_path_p): If known_edge
15234         is probably never executed avoid threading.
15235
15236 2022-08-01  David Malcolm  <dmalcolm@redhat.com>
15237
15238         * doc/invoke.texi (-Wanalyzer-putenv-of-auto-var): Fix copy&paste
15239         error.
15240
15241 2022-08-01  Roger Sayle  <roger@nextmovesoftware.com>
15242             Uroš Bizjak  <ubizjak@gmail.com>
15243
15244         PR target/106481
15245         * config/i386/i386-features.cc (timode_scalar_chain::convert_insn):
15246         Convert a CONST_SCALAR_INT_P in a REG_EQUAL note into a V1TImode
15247         CONST_VECTOR.
15248
15249 2022-08-01  H.J. Lu  <hjl.tools@gmail.com>
15250
15251         PR target/83782
15252         * config/i386/i386.cc (ix86_ifunc_ref_local_ok): New.
15253         (TARGET_IFUNC_REF_LOCAL_OK): Use it.
15254
15255 2022-08-01  Jose E. Marchesi  <jose.marchesi@oracle.com>
15256
15257         PR debug/106263
15258         * ctfc.h (struct ctf_dtdef): Add field linkage.
15259         * ctfc.cc (ctf_add_function): Set ctti_linkage.
15260         * dwarf2ctf.cc (gen_ctf_function_type): Pass a linkage for
15261         function types and subprograms.
15262         * btfout.cc (btf_asm_func_type): Emit linkage information for the
15263         function.
15264         (btf_dtd_emit_preprocess_cb): Propagate the linkage information
15265         for functions.
15266
15267 2022-08-01  Andrew Stubbs  <ams@codesourcery.com>
15268             Jakub Jelinek   <jakub@redhat.com>
15269
15270         * omp-simd-clone.cc (simd_clone_adjust): Convert shift_cnt to match
15271         the mask type.
15272
15273 2022-08-01  Sam Feifer  <sfeifer@redhat.com>
15274
15275         PR tree-optimization/104992
15276         * match.pd (x / y * y == x): New simplification.
15277
15278 2022-08-01  Aldy Hernandez  <aldyh@redhat.com>
15279
15280         * value-range.cc (tree_compare): New.
15281         (frange::set): Make more general.
15282         (frange::normalize_kind): Cleanup and return bool.
15283         (frange::union_): Use normalize_kind return value.
15284         (frange::intersect): Same.
15285         (frange::verify_range): Remove unnecessary else.
15286         * value-range.h (vrp_val_max): Move before frange class.
15287         (vrp_val_min): Same.
15288         (frange::frange): Remove set to m_type.
15289
15290 2022-08-01  Aldy Hernandez  <aldyh@redhat.com>
15291
15292         * value-range.cc (vrange::supports_type_p): Use const_tree.
15293         (irange::supports_type_p): Same.
15294         (frange::supports_type_p): Same.
15295         * value-range.h (Value_Range::supports_type_p): Same.
15296         (irange::supports_p): Same.
15297
15298 2022-08-01  Aldy Hernandez  <aldyh@redhat.com>
15299
15300         * gimple-range-fold.cc (fold_using_range::range_of_phi): Only
15301         query SCEV for integers.
15302         (fold_using_range::range_of_ssa_name_with_loop_info): Remove
15303         irange check.
15304
15305 2022-07-31  Roger Sayle  <roger@nextmovesoftware.com>
15306
15307         * config/i386/i386.md (define_expand <any_rotate>ti3): For
15308         rotations by 64 bits use new rot[lr]64ti2_doubleword pattern.
15309         (rot[lr]64ti2_doubleword): New post-reload splitter.
15310
15311 2022-07-31  Roger Sayle  <roger@nextmovesoftware.com>
15312             H.J. Lu  <hjl.tools@gmail.com>
15313
15314         PR target/106450
15315         * config/i386/i386-features.cc (timode_check_non_convertible_regs):
15316         Do nothing if REGNO is set in the REGS bitmap, or is a hard reg.
15317         (timode_remove_non_convertible_regs): Update comment.
15318         Call timode_check_non_convertible_reg on all TImode register
15319         DEFs and USEs in each instruction.
15320
15321 2022-07-30  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
15322
15323         * config/xtensa/xtensa.md: Change hard register number used in
15324         the split patterns for indirect sibling call fixups from 10 to 11,
15325         the last free one for the CALL0 ABI.
15326
15327 2022-07-30  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
15328
15329         * config/xtensa/xtensa.cc (xtensa_rtx_costs):
15330         Add new case for IF_THEN_ELSE.
15331
15332 2022-07-29  Andrew Stubbs  <ams@codesourcery.com>
15333
15334         * config/gcn/gcn-valu.md (V_INT_noHI): New iterator.
15335         (<expander><mode>3<exec>): Use V_INT_noHI.
15336         (v<expander><mode>3<exec>): Likewise.
15337
15338 2022-07-29  Andrew Stubbs  <ams@codesourcery.com>
15339
15340         * config/gcn/gcn.md (one_cmpldi2): New.
15341
15342 2022-07-29  Richard Biener  <rguenther@suse.de>
15343
15344         PR tree-optimization/105679
15345         * tree-ssa-threadbackward.cc
15346         (back_threader_profitability::profitable_path_p): Avoid threading
15347         when the entry edge is probably never executed.
15348
15349 2022-07-29  Richard Biener  <rguenther@suse.de>
15350
15351         PR tree-optimization/106422
15352         * tree-ssa-threadupdate.cc (fwd_jt_path_registry::update_cfg):
15353         Check whether we can copy thread blocks and cancel the thread if not.
15354
15355 2022-07-29  Jakub Jelinek  <jakub@redhat.com>
15356
15357         PR middle-end/106449
15358         * omp-expand.cc (expand_omp_simd): Fix up handling of pointer
15359         iterators in non-rectangular simd loops.  Unshare fd->loops[i].n2
15360         or n2 before regimplifying it inside of a condition.
15361
15362 2022-07-29  Jakub Jelinek  <jakub@redhat.com>
15363
15364         * omp-expand.cc (expand_omp_for_init_counts, expand_omp_for_init_vars,
15365         extract_omp_for_update_vars, expand_omp_for_ordered_loops,
15366         expand_omp_simd): Don't fold_convert second argument to
15367         fold_build_pointer_plus to sizetype.
15368
15369 2022-07-29  Lulu Cheng  <chenglulu@loongson.cn>
15370
15371         * config.in: Regenerate.
15372         * config/loongarch/loongarch.h (ASM_PREFERRED_EH_DATA_FORMAT):
15373         Select the value of the macro definition according to whether
15374         HAVE_AS_EH_FRAME_PCREL_ENCODING_SUPPORT is defined.
15375         * configure: Regenerate.
15376         * configure.ac: Reinstate HAVE_AS_EH_FRAME_PCREL_ENCODING_SUPPORT test.
15377
15378 2022-07-29  Richard Biener  <rguenther@suse.de>
15379
15380         * gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset):
15381         Use CONVERT_EXPR_CODE_P.
15382
15383 2022-07-29  Richard Biener  <rguenther@suse.de>
15384
15385         * tree-vect-patterns.cc (vect_recog_bool_pattern): Use
15386         get_vectype_for_scalar_type instead of
15387         vect_get_vector_types_for_stmt.
15388
15389 2022-07-28  David Malcolm  <dmalcolm@redhat.com>
15390
15391         PR analyzer/105893
15392         * doc/invoke.texi: Add -Wanalyzer-putenv-of-auto-var.
15393
15394 2022-07-28  David Malcolm  <dmalcolm@redhat.com>
15395
15396         * doc/invoke.texi (-fdiagnostics-show-cwe): Use uref rather than
15397         url.
15398         (Static Analyzer Options): Likewise.  Add urefs for all of the
15399         warnings that have associated CWE identifiers.
15400
15401 2022-07-28  Maciej W. Rozycki  <macro@embecosm.com>
15402
15403         * doc/implement-c.texi (Floating point implementation): Mention
15404         `-fno-trapping-math' in the context of FENV_ACCESS pragma.
15405         * doc/invoke.texi (Optimize Options): Clarify FENV_ACCESS pragma
15406         implication in the descriptions of `-fno-trapping-math' and
15407         `-frounding-math'.
15408
15409 2022-07-28  Maciej W. Rozycki  <macro@embecosm.com>
15410
15411         * config/riscv/riscv.md (UNSPECV_FSNVSNAN): New constant.
15412         (QUIET_PATTERN): New int attribute.
15413         (f<quiet_pattern>_quiet<ANYF:mode><X:mode>4): Emit the intended
15414         RTL insns entirely within the preparation statements.
15415         (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_default)
15416         (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_snan): Remove
15417         insns.
15418         (*riscv_fsnvsnan<mode>2): New insn.
15419
15420 2022-07-28  Richard Biener  <rguenther@suse.de>
15421
15422         PR middle-end/106457
15423         * tree.cc (array_at_struct_end_p): Handle array objects
15424         specially.
15425
15426 2022-07-28  Jakub Jelinek  <jakub@redhat.com>
15427
15428         PR tree-optimization/106099
15429         * internal-fn.def (TRAP): New internal fn.
15430         * internal-fn.h (expand_TRAP): Declare.
15431         * internal-fn.cc (expand_TRAP): Define.
15432         * gimple.cc (gimple_build_builtin_unreachable): For BUILT_IN_TRAP,
15433         use internal fn rather than builtin.
15434
15435 2022-07-27  Andrew Carlotti  <andrew.carlotti@arm.com>
15436
15437         * doc/loop.texi: Refer to LOOPS_HAVE_RECORDED_EXITS instead.
15438
15439 2022-07-27  WANG Xuerui  <i@xen0n.name>
15440
15441         * doc/invoke.texi: Document -m[no-]explicit-relocs for
15442         LoongArch.
15443
15444 2022-07-27  Maciej W. Rozycki  <macro@embecosm.com>
15445
15446         * config/riscv/riscv.md (stack_protect_set_<mode>): Remove
15447         duplicate backslashes.
15448
15449 2022-07-27  Maciej W. Rozycki  <macro@embecosm.com>
15450
15451         * config/riscv/riscv.cc (riscv_rtx_costs) <IF_THEN_ELSE>: New
15452         case.
15453
15454 2022-07-27  Jakub Jelinek  <jakub@redhat.com>
15455
15456         PR debug/106261
15457         * cgraphunit.cc (cgraph_node::assemble_thunks_and_aliases): Don't
15458         output asm thunks for -dx.
15459
15460 2022-07-27  Jakub Jelinek  <jakub@redhat.com>
15461
15462         PR middle-end/106332
15463         * opts-common.cc (candidates_list_and_hint): Add gcc_assert
15464         that candidates is not an empty vector.
15465
15466 2022-07-27  Xi Ruoyao  <xry111@xry111.site>
15467
15468         * configure.ac (HAVE_AS_EXPLICIT_RELOCS): Define to 1 if the
15469         assembler supports explicit relocation for LoongArch.
15470         * configure: Regenerate.
15471         * config/loongarch/loongarch-opts.h (HAVE_AS_EXPLICIT_RELOCS):
15472         Define to 0 if not defined.
15473         * config/loongarch/genopts/loongarch.opt.in
15474         (TARGET_EXPLICIT_RELOCS): Default to HAVE_AS_EXPLICIT_RELOCS.
15475         * config/loongarch/loongarch.opt: Regenerate.
15476
15477 2022-07-26  Peter Bergner  <bergner@linux.ibm.com>
15478
15479         PR c/106016
15480         * expr.cc (count_type_elements): Handle OPAQUE_TYPE.
15481
15482 2022-07-26  Lulu Cheng  <chenglulu@loongson.cn>
15483
15484         * config/loongarch/loongarch-opts.cc: Modify the output message string
15485         of the warning.
15486
15487 2022-07-26  Martin Liska  <mliska@suse.cz>
15488
15489         * doc/tm.texi.in: Fix placement of defmac.
15490         * doc/tm.texi: Copy.
15491
15492 2022-07-26  Martin Liska  <mliska@suse.cz>
15493
15494         * doc/tm.texi.in: Fix cross @defmac and @hook.
15495         * doc/tm.texi: Copy.
15496
15497 2022-07-26  Aldy Hernandez  <aldyh@redhat.com>
15498
15499         PR tree-optimization/106444
15500         * value-range-pretty-print.cc (vrange_printer::visit): Handle
15501         legacy ranges.
15502         (vrange_printer::print_irange_bound): Work on wide_int's.
15503         * value-range-pretty-print.h (print_irange_bound): Same.
15504         * value-range.cc (irange::get_nonzero_bits): Handle legacy ranges.
15505
15506 2022-07-26  Richard Biener  <rguenther@suse.de>
15507
15508         * tree-ssa-alias.cc (ptr_derefs_may_alias_p): If ptr1
15509         points to a constant continue checking ptr2.
15510
15511 2022-07-26  Andrew Carlotti  <Andrew.Carlotti@arm.com>
15512
15513         * config/aarch64/aarch64-builtins.cc
15514         (MODE_d_bf16, MODE_d_f16, MODE_d_f32, MODE_d_f64, MODE_d_s8)
15515         (MODE_d_s16, MODE_d_s32, MODE_d_s64, MODE_d_u8, MODE_d_u16)
15516         (MODE_d_u32, MODE_d_u64, MODE_d_p8, MODE_d_p16, MODE_d_p64)
15517         (MODE_q_bf16, MODE_q_f16, MODE_q_f32, MODE_q_f64, MODE_q_s8)
15518         (MODE_q_s16, MODE_q_s32, MODE_q_s64, MODE_q_u8, MODE_q_u16)
15519         (MODE_q_u32, MODE_q_u64, MODE_q_p8, MODE_q_p16, MODE_q_p64)
15520         (MODE_q_p128): Define macro to map to corresponding mode name.
15521         (QUAL_bf16, QUAL_f16, QUAL_f32, QUAL_f64, QUAL_s8, QUAL_s16)
15522         (QUAL_s32, QUAL_s64, QUAL_u8, QUAL_u16, QUAL_u32, QUAL_u64)
15523         (QUAL_p8, QUAL_p16, QUAL_p64, QUAL_p128): Define macro to map to
15524         corresponding qualifier name.
15525         (LENGTH_d, LENGTH_q): Define macro to map to "" or "q" suffix.
15526         (SIMD_INTR_MODE, SIMD_INTR_QUAL, SIMD_INTR_LENGTH_CHAR): Macro
15527         functions for the above mappings
15528         (VREINTERPRET_BUILTIN2, VREINTERPRET_BUILTINS1, VREINTERPRET_BUILTINS)
15529         (VREINTERPRETQ_BUILTIN2, VREINTERPRETQ_BUILTINS1)
15530         (VREINTERPRETQ_BUILTINS, VREINTERPRET_BUILTIN)
15531         (AARCH64_SIMD_VREINTERPRET_BUILTINS): New macros to create definitions
15532         for all vreinterpret intrinsics
15533         (enum aarch64_builtins): Add vreinterpret function codes
15534         (aarch64_init_simd_intrinsics): New
15535         (handle_arm_neon_h): Improved comment.
15536         (aarch64_general_fold_builtin): Fold vreinterpret calls
15537         * config/aarch64/arm_neon.h
15538         (vreinterpret_p8_f16, vreinterpret_p8_f64, vreinterpret_p8_s8)
15539         (vreinterpret_p8_s16, vreinterpret_p8_s32, vreinterpret_p8_s64)
15540         (vreinterpret_p8_f32, vreinterpret_p8_u8, vreinterpret_p8_u16)
15541         (vreinterpret_p8_u32, vreinterpret_p8_u64, vreinterpret_p8_p16)
15542         (vreinterpret_p8_p64, vreinterpretq_p8_f64, vreinterpretq_p8_s8)
15543         (vreinterpretq_p8_s16, vreinterpretq_p8_s32, vreinterpretq_p8_s64)
15544         (vreinterpretq_p8_f16, vreinterpretq_p8_f32, vreinterpretq_p8_u8)
15545         (vreinterpretq_p8_u16, vreinterpretq_p8_u32, vreinterpretq_p8_u64)
15546         (vreinterpretq_p8_p16, vreinterpretq_p8_p64, vreinterpretq_p8_p128)
15547         (vreinterpret_p16_f16, vreinterpret_p16_f64, vreinterpret_p16_s8)
15548         (vreinterpret_p16_s16, vreinterpret_p16_s32, vreinterpret_p16_s64)
15549         (vreinterpret_p16_f32, vreinterpret_p16_u8, vreinterpret_p16_u16)
15550         (vreinterpret_p16_u32, vreinterpret_p16_u64, vreinterpret_p16_p8)
15551         (vreinterpret_p16_p64, vreinterpretq_p16_f64, vreinterpretq_p16_s8)
15552         (vreinterpretq_p16_s16, vreinterpretq_p16_s32, vreinterpretq_p16_s64)
15553         (vreinterpretq_p16_f16, vreinterpretq_p16_f32, vreinterpretq_p16_u8)
15554         (vreinterpretq_p16_u16, vreinterpretq_p16_u32, vreinterpretq_p16_u64)
15555         (vreinterpretq_p16_p8, vreinterpretq_p16_p64, vreinterpretq_p16_p128)
15556         (vreinterpret_p64_f16, vreinterpret_p64_f64, vreinterpret_p64_s8)
15557         (vreinterpret_p64_s16, vreinterpret_p64_s32, vreinterpret_p64_s64)
15558         (vreinterpret_p64_f32, vreinterpret_p64_u8, vreinterpret_p64_u16)
15559         (vreinterpret_p64_u32, vreinterpret_p64_u64, vreinterpret_p64_p8)
15560         (vreinterpret_p64_p16, vreinterpretq_p64_f64, vreinterpretq_p64_s8)
15561         (vreinterpretq_p64_s16, vreinterpretq_p64_s32, vreinterpretq_p64_s64)
15562         (vreinterpretq_p64_f16, vreinterpretq_p64_f32, vreinterpretq_p64_p128)
15563         (vreinterpretq_p64_u8, vreinterpretq_p64_u16, vreinterpretq_p64_p16)
15564         (vreinterpretq_p64_u32, vreinterpretq_p64_u64, vreinterpretq_p64_p8)
15565         (vreinterpretq_p128_p8, vreinterpretq_p128_p16, vreinterpretq_p128_f16)
15566         (vreinterpretq_p128_f32, vreinterpretq_p128_p64, vreinterpretq_p128_s64)
15567         (vreinterpretq_p128_u64, vreinterpretq_p128_s8, vreinterpretq_p128_s16)
15568         (vreinterpretq_p128_s32, vreinterpretq_p128_u8, vreinterpretq_p128_u16)
15569         (vreinterpretq_p128_u32, vreinterpret_f16_f64, vreinterpret_f16_s8)
15570         (vreinterpret_f16_s16, vreinterpret_f16_s32, vreinterpret_f16_s64)
15571         (vreinterpret_f16_f32, vreinterpret_f16_u8, vreinterpret_f16_u16)
15572         (vreinterpret_f16_u32, vreinterpret_f16_u64, vreinterpret_f16_p8)
15573         (vreinterpret_f16_p16, vreinterpret_f16_p64, vreinterpretq_f16_f64)
15574         (vreinterpretq_f16_s8, vreinterpretq_f16_s16, vreinterpretq_f16_s32)
15575         (vreinterpretq_f16_s64, vreinterpretq_f16_f32, vreinterpretq_f16_u8)
15576         (vreinterpretq_f16_u16, vreinterpretq_f16_u32, vreinterpretq_f16_u64)
15577         (vreinterpretq_f16_p8, vreinterpretq_f16_p128, vreinterpretq_f16_p16)
15578         (vreinterpretq_f16_p64, vreinterpret_f32_f16, vreinterpret_f32_f64)
15579         (vreinterpret_f32_s8, vreinterpret_f32_s16, vreinterpret_f32_s32)
15580         (vreinterpret_f32_s64, vreinterpret_f32_u8, vreinterpret_f32_u16)
15581         (vreinterpret_f32_u32, vreinterpret_f32_u64, vreinterpret_f32_p8)
15582         (vreinterpret_f32_p16, vreinterpret_f32_p64, vreinterpretq_f32_f16)
15583         (vreinterpretq_f32_f64, vreinterpretq_f32_s8, vreinterpretq_f32_s16)
15584         (vreinterpretq_f32_s32, vreinterpretq_f32_s64, vreinterpretq_f32_u8)
15585         (vreinterpretq_f32_u16, vreinterpretq_f32_u32, vreinterpretq_f32_u64)
15586         (vreinterpretq_f32_p8, vreinterpretq_f32_p16, vreinterpretq_f32_p64)
15587         (vreinterpretq_f32_p128, vreinterpret_f64_f16, vreinterpret_f64_f32)
15588         (vreinterpret_f64_p8, vreinterpret_f64_p16, vreinterpret_f64_p64)
15589         (vreinterpret_f64_s8, vreinterpret_f64_s16, vreinterpret_f64_s32)
15590         (vreinterpret_f64_s64, vreinterpret_f64_u8, vreinterpret_f64_u16)
15591         (vreinterpret_f64_u32, vreinterpret_f64_u64, vreinterpretq_f64_f16)
15592         (vreinterpretq_f64_f32, vreinterpretq_f64_p8, vreinterpretq_f64_p16)
15593         (vreinterpretq_f64_p64, vreinterpretq_f64_s8, vreinterpretq_f64_s16)
15594         (vreinterpretq_f64_s32, vreinterpretq_f64_s64, vreinterpretq_f64_u8)
15595         (vreinterpretq_f64_u16, vreinterpretq_f64_u32, vreinterpretq_f64_u64)
15596         (vreinterpret_s64_f16, vreinterpret_s64_f64, vreinterpret_s64_s8)
15597         (vreinterpret_s64_s16, vreinterpret_s64_s32, vreinterpret_s64_f32)
15598         (vreinterpret_s64_u8, vreinterpret_s64_u16, vreinterpret_s64_u32)
15599         (vreinterpret_s64_u64, vreinterpret_s64_p8, vreinterpret_s64_p16)
15600         (vreinterpret_s64_p64, vreinterpretq_s64_f64, vreinterpretq_s64_s8)
15601         (vreinterpretq_s64_s16, vreinterpretq_s64_s32, vreinterpretq_s64_f16)
15602         (vreinterpretq_s64_f32, vreinterpretq_s64_u8, vreinterpretq_s64_u16)
15603         (vreinterpretq_s64_u32, vreinterpretq_s64_u64, vreinterpretq_s64_p8)
15604         (vreinterpretq_s64_p16, vreinterpretq_s64_p64, vreinterpretq_s64_p128)
15605         (vreinterpret_u64_f16, vreinterpret_u64_f64, vreinterpret_u64_s8)
15606         (vreinterpret_u64_s16, vreinterpret_u64_s32, vreinterpret_u64_s64)
15607         (vreinterpret_u64_f32, vreinterpret_u64_u8, vreinterpret_u64_u16)
15608         (vreinterpret_u64_u32, vreinterpret_u64_p8, vreinterpret_u64_p16)
15609         (vreinterpret_u64_p64, vreinterpretq_u64_f64, vreinterpretq_u64_s8)
15610         (vreinterpretq_u64_s16, vreinterpretq_u64_s32, vreinterpretq_u64_s64)
15611         (vreinterpretq_u64_f16, vreinterpretq_u64_f32, vreinterpretq_u64_u8)
15612         (vreinterpretq_u64_u16, vreinterpretq_u64_u32, vreinterpretq_u64_p8)
15613         (vreinterpretq_u64_p16, vreinterpretq_u64_p64, vreinterpretq_u64_p128)
15614         (vreinterpret_s8_f16, vreinterpret_s8_f64, vreinterpret_s8_s16)
15615         (vreinterpret_s8_s32, vreinterpret_s8_s64, vreinterpret_s8_f32)
15616         (vreinterpret_s8_u8, vreinterpret_s8_u16, vreinterpret_s8_u32)
15617         (vreinterpret_s8_u64, vreinterpret_s8_p8, vreinterpret_s8_p16)
15618         (vreinterpret_s8_p64, vreinterpretq_s8_f64, vreinterpretq_s8_s16)
15619         (vreinterpretq_s8_s32, vreinterpretq_s8_s64, vreinterpretq_s8_f16)
15620         (vreinterpretq_s8_f32, vreinterpretq_s8_u8, vreinterpretq_s8_u16)
15621         (vreinterpretq_s8_u32, vreinterpretq_s8_u64, vreinterpretq_s8_p8)
15622         (vreinterpretq_s8_p16, vreinterpretq_s8_p64, vreinterpretq_s8_p128)
15623         (vreinterpret_s16_f16, vreinterpret_s16_f64, vreinterpret_s16_s8)
15624         (vreinterpret_s16_s32, vreinterpret_s16_s64, vreinterpret_s16_f32)
15625         (vreinterpret_s16_u8, vreinterpret_s16_u16, vreinterpret_s16_u32)
15626         (vreinterpret_s16_u64, vreinterpret_s16_p8, vreinterpret_s16_p16)
15627         (vreinterpret_s16_p64, vreinterpretq_s16_f64, vreinterpretq_s16_s8)
15628         (vreinterpretq_s16_s32, vreinterpretq_s16_s64, vreinterpretq_s16_f16)
15629         (vreinterpretq_s16_f32, vreinterpretq_s16_u8, vreinterpretq_s16_u16)
15630         (vreinterpretq_s16_u32, vreinterpretq_s16_u64, vreinterpretq_s16_p8)
15631         (vreinterpretq_s16_p16, vreinterpretq_s16_p64, vreinterpretq_s16_p128)
15632         (vreinterpret_s32_f16, vreinterpret_s32_f64, vreinterpret_s32_s8)
15633         (vreinterpret_s32_s16, vreinterpret_s32_s64, vreinterpret_s32_f32)
15634         (vreinterpret_s32_u8, vreinterpret_s32_u16, vreinterpret_s32_u32)
15635         (vreinterpret_s32_u64, vreinterpret_s32_p8, vreinterpret_s32_p16)
15636         (vreinterpret_s32_p64, vreinterpretq_s32_f64, vreinterpretq_s32_s8)
15637         (vreinterpretq_s32_s16, vreinterpretq_s32_s64, vreinterpretq_s32_f16)
15638         (vreinterpretq_s32_f32, vreinterpretq_s32_u8, vreinterpretq_s32_u16)
15639         (vreinterpretq_s32_u32, vreinterpretq_s32_u64, vreinterpretq_s32_p8)
15640         (vreinterpretq_s32_p16, vreinterpretq_s32_p64, vreinterpretq_s32_p128)
15641         (vreinterpret_u8_f16, vreinterpret_u8_f64, vreinterpret_u8_s8)
15642         (vreinterpret_u8_s16, vreinterpret_u8_s32, vreinterpret_u8_s64)
15643         (vreinterpret_u8_f32, vreinterpret_u8_u16, vreinterpret_u8_u32)
15644         (vreinterpret_u8_u64, vreinterpret_u8_p8, vreinterpret_u8_p16)
15645         (vreinterpret_u8_p64, vreinterpretq_u8_f64, vreinterpretq_u8_s8)
15646         (vreinterpretq_u8_s16, vreinterpretq_u8_s32, vreinterpretq_u8_s64)
15647         (vreinterpretq_u8_f16, vreinterpretq_u8_f32, vreinterpretq_u8_u16)
15648         (vreinterpretq_u8_u32, vreinterpretq_u8_u64, vreinterpretq_u8_p8)
15649         (vreinterpretq_u8_p16, vreinterpretq_u8_p64, vreinterpretq_u8_p128)
15650         (vreinterpret_u16_f16, vreinterpret_u16_f64, vreinterpret_u16_s8)
15651         (vreinterpret_u16_s16, vreinterpret_u16_s32, vreinterpret_u16_s64)
15652         (vreinterpret_u16_f32, vreinterpret_u16_u8, vreinterpret_u16_u32)
15653         (vreinterpret_u16_u64, vreinterpret_u16_p8, vreinterpret_u16_p16)
15654         (vreinterpret_u16_p64, vreinterpretq_u16_f64, vreinterpretq_u16_s8)
15655         (vreinterpretq_u16_s16, vreinterpretq_u16_s32, vreinterpretq_u16_s64)
15656         (vreinterpretq_u16_f16, vreinterpretq_u16_f32, vreinterpretq_u16_u8)
15657         (vreinterpretq_u16_u32, vreinterpretq_u16_u64, vreinterpretq_u16_p8)
15658         (vreinterpretq_u16_p16, vreinterpretq_u16_p64, vreinterpretq_u16_p128)
15659         (vreinterpret_u32_f16, vreinterpret_u32_f64, vreinterpret_u32_s8)
15660         (vreinterpret_u32_s16, vreinterpret_u32_s32, vreinterpret_u32_s64)
15661         (vreinterpret_u32_f32, vreinterpret_u32_u8, vreinterpret_u32_u16)
15662         (vreinterpret_u32_u64, vreinterpret_u32_p8, vreinterpret_u32_p16)
15663         (vreinterpret_u32_p64, vreinterpretq_u32_f64, vreinterpretq_u32_s8)
15664         (vreinterpretq_u32_s16, vreinterpretq_u32_s32, vreinterpretq_u32_s64)
15665         (vreinterpretq_u32_f16, vreinterpretq_u32_f32, vreinterpretq_u32_u8)
15666         (vreinterpretq_u32_u16, vreinterpretq_u32_u64, vreinterpretq_u32_p8)
15667         (vreinterpretq_u32_p16, vreinterpretq_u32_p64, vreinterpretq_u32_p128)
15668         (vreinterpretq_f64_p128, vreinterpretq_p128_f64, vreinterpret_bf16_u8)
15669         (vreinterpret_bf16_u16, vreinterpret_bf16_u32, vreinterpret_bf16_u64)
15670         (vreinterpret_bf16_s8, vreinterpret_bf16_s16, vreinterpret_bf16_s32)
15671         (vreinterpret_bf16_s64, vreinterpret_bf16_p8, vreinterpret_bf16_p16)
15672         (vreinterpret_bf16_p64, vreinterpret_bf16_f16, vreinterpret_bf16_f32)
15673         (vreinterpret_bf16_f64, vreinterpretq_bf16_u8, vreinterpretq_bf16_u16)
15674         (vreinterpretq_bf16_u32, vreinterpretq_bf16_u64, vreinterpretq_bf16_s8)
15675         (vreinterpretq_bf16_s16, vreinterpretq_bf16_s32, vreinterpretq_bf16_s64)
15676         (vreinterpretq_bf16_p8, vreinterpretq_bf16_p16, vreinterpretq_bf16_p64)
15677         (vreinterpretq_bf16_p128, vreinterpretq_bf16_f16)
15678         (vreinterpretq_bf16_f32, vreinterpretq_bf16_f64, vreinterpret_s8_bf16)
15679         (vreinterpret_s16_bf16, vreinterpret_s32_bf16, vreinterpret_s64_bf16)
15680         (vreinterpret_u8_bf16, vreinterpret_u16_bf16, vreinterpret_u32_bf16)
15681         (vreinterpret_u64_bf16, vreinterpret_f16_bf16, vreinterpret_f32_bf16)
15682         (vreinterpret_f64_bf16, vreinterpret_p8_bf16, vreinterpret_p16_bf16)
15683         (vreinterpret_p64_bf16, vreinterpretq_s8_bf16, vreinterpretq_s16_bf16)
15684         (vreinterpretq_s32_bf16, vreinterpretq_s64_bf16, vreinterpretq_u8_bf16)
15685         (vreinterpretq_u16_bf16, vreinterpretq_u32_bf16, vreinterpretq_u64_bf16)
15686         (vreinterpretq_f16_bf16, vreinterpretq_f32_bf16, vreinterpretq_f64_bf16)
15687         (vreinterpretq_p8_bf16, vreinterpretq_p16_bf16, vreinterpretq_p64_bf16)
15688         (vreinterpretq_p128_bf16): Delete
15689
15690 2022-07-26  Andrew Carlotti  <andrew.carlotti@arm.com>
15691
15692         * config/aarch64/aarch64-builtins.cc
15693         (aarch64_simd_builtin_std_type): Rename to...
15694         (aarch64_int_or_fp_type): ...this, and allow irrelevant qualifiers.
15695         (aarch64_lookup_simd_builtin_type): Rename to...
15696         (aarch64_simd_builtin_type): ...this. Add const/pointer
15697         support, and extract table lookup to...
15698         (aarch64_lookup_simd_type_in_table): ...this function.
15699         (aarch64_init_crc32_builtins): Update to use aarch64_simd_builtin_type.
15700         (aarch64_init_fcmla_laneq_builtins): Ditto.
15701         (aarch64_init_simd_builtin_functions): Ditto.
15702
15703 2022-07-26  Andrew Carlotti  <andrew.carlotti@arm.com>
15704
15705         * config/aarch64/aarch64-builtins.cc
15706         (aarch64_general_gimple_fold_builtin): Add combine.
15707
15708 2022-07-26  Richard Biener  <rguenther@suse.de>
15709
15710         PR tree-optimization/106189
15711         * gimple-array-bounds.cc (array_bounds_checker::check_mem_ref):
15712         Divide using offset_ints.
15713
15714 2022-07-26  Lulu Cheng  <chenglulu@loongson.cn>
15715
15716         * common/config/loongarch/loongarch-common.cc:
15717         Enable '-fsection-anchors' when O1 and more advanced optimization.
15718         * config/loongarch/genopts/loongarch.opt.in: Add new option
15719         '-mexplicit-relocs', and enable by default.
15720         * config/loongarch/loongarch-protos.h (loongarch_split_move_insn_p):
15721         Delete function declaration.
15722         (loongarch_split_move_insn): Delete function declaration.
15723         (loongarch_split_symbol_type): Add function declaration.
15724         * config/loongarch/loongarch.cc (enum loongarch_address_type):
15725         Add new address type 'ADDRESS_LO_SUM'.
15726         (loongarch_classify_symbolic_expression): New function definitions.
15727         Classify the base of symbolic expression X, given that X appears in
15728         context CONTEXT.
15729         (loongarch_symbol_insns): Add a judgment condition TARGET_EXPLICIT_RELOCS.
15730         (loongarch_split_symbol_type): New function definitions.
15731         Determines whether the symbol load should be split into two instructions.
15732         (loongarch_valid_lo_sum_p): New function definitions.
15733         Return true if a LO_SUM can address a value of mode MODE when the LO_SUM
15734         symbol has type SYMBOL_TYPE.
15735         (loongarch_classify_address): Add handling of 'LO_SUM'.
15736         (loongarch_address_insns): Add handling of 'ADDRESS_LO_SUM'.
15737         (loongarch_signed_immediate_p): Sort code.
15738         (loongarch_12bit_offset_address_p): Return true if address type is ADDRESS_LO_SUM.
15739         (loongarch_const_insns): Add handling of 'HIGH'.
15740         (loongarch_split_move_insn_p): Add the static attribute to the function.
15741         (loongarch_emit_set): New function definitions.
15742         (loongarch_call_tls_get_addr): Add symbol handling when defining TARGET_EXPLICIT_RELOCS.
15743         (loongarch_legitimize_tls_address): Add symbol handling when defining the
15744         TARGET_EXPLICIT_RELOCS macro.
15745         (loongarch_split_symbol): New function definitions. Split symbol.
15746         (loongarch_legitimize_address): Add codes see if the address can split into a high part
15747         and a LO_SUM.
15748         (loongarch_legitimize_const_move): Add codes split moves of symbolic constants into
15749         high and low.
15750         (loongarch_split_move_insn): Delete function definitions.
15751         (loongarch_output_move): Add support for HIGH and LO_SUM.
15752         (loongarch_print_operand_reloc): New function definitions.
15753         Print symbolic operand OP, which is part of a HIGH or LO_SUM in context CONTEXT.
15754         (loongarch_memmodel_needs_release_fence): Sort code.
15755         (loongarch_print_operand): Rearrange alphabetical order and add H and L to support HIGH
15756         and LOW output.
15757         (loongarch_print_operand_address): Add handling of 'ADDRESS_LO_SUM'.
15758         (TARGET_MIN_ANCHOR_OFFSET): Define macro to -IMM_REACH/2.
15759         (TARGET_MAX_ANCHOR_OFFSET): Define macro to IMM_REACH/2-1.
15760         * config/loongarch/loongarch.md (movti): Delete the template.
15761         (*movti): Delete the template.
15762         (movtf): Delete the template.
15763         (*movtf): Delete the template.
15764         (*low<mode>): New template of normal symbol low address.
15765         (@tls_low<mode>): New template of tls symbol low address.
15766         (@ld_from_got<mode>): New template load address from got table.
15767         (@ori_l_lo12<mode>): New template.
15768         * config/loongarch/loongarch.opt: Update from loongarch.opt.in.
15769         * config/loongarch/predicates.md: Add support for symbol_type HIGH.
15770
15771 2022-07-26  Lulu Cheng  <chenglulu@loongson.cn>
15772
15773         * config/loongarch/constraints.md (a): Delete the constraint.
15774         (b): A constant call not local address.
15775         (h): Delete the constraint.
15776         (t): Delete the constraint.
15777         * config/loongarch/loongarch-opts.cc (loongarch_config_target):
15778         Remove cModel type support other than normal.
15779         * config/loongarch/loongarch-protos.h (enum loongarch_symbol_type):
15780         Add new symbol type 'SYMBOL_PCREL', 'SYMBOL_TLS_IE' and 'SYMBOL_TLS_LE'.
15781         (loongarch_split_symbol): Delete useless function declarations.
15782         (loongarch_split_symbol_type): Delete useless function declarations.
15783         * config/loongarch/loongarch.cc (enum loongarch_address_type):
15784         Delete unnecessary comment information.
15785         (loongarch_symbol_binds_local_p): Modified the judgment order of label
15786         and symbol.
15787         (loongarch_classify_symbol): Return symbol type. If symbol is a label,
15788         or symbol is a local symbol return SYMBOL_PCREL. If is a tls symbol,
15789         return SYMBOL_TLS. If is a not local symbol return SYMBOL_GOT_DISP.
15790         (loongarch_symbolic_constant_p): Add handling of 'SYMBOL_TLS_IE'
15791         'SYMBOL_TLS_LE' and 'SYMBOL_PCREL'.
15792         (loongarch_symbol_insns): Add handling of 'SYMBOL_TLS_IE' 'SYMBOL_TLS_LE'
15793         and 'SYMBOL_PCREL'.
15794         (loongarch_address_insns): Sort code.
15795         (loongarch_12bit_offset_address_p): Sort code.
15796         (loongarch_14bit_shifted_offset_address_p): Sort code.
15797         (loongarch_call_tls_get_addr): Sort code.
15798         (loongarch_legitimize_tls_address): Sort code.
15799         (loongarch_output_move): Remove schema support for cmodel other than normal.
15800         (loongarch_memmodel_needs_release_fence): Sort code.
15801         (loongarch_print_operand): Sort code.
15802         * config/loongarch/loongarch.h (LARCH_U12BIT_OFFSET_P):
15803         Rename to LARCH_12BIT_OFFSET_P.
15804         (LARCH_12BIT_OFFSET_P): New macro.
15805         * config/loongarch/loongarch.md: Reimplement the function call. Remove schema
15806         support for cmodel other than normal.
15807         * config/loongarch/predicates.md (is_const_call_weak_symbol): Delete this predicate.
15808         (is_const_call_plt_symbol): Delete this predicate.
15809         (is_const_call_global_noplt_symbol): Delete this predicate.
15810         (is_const_call_no_local_symbol): New predicate, determines whether it is a local
15811         symbol or label.
15812
15813 2022-07-26  Kewen Lin  <linkw@linux.ibm.com>
15814
15815         PR target/106091
15816         * config/rs6000/rs6000-p8swap.cc (replace_swapped_aligned_store): Copy
15817         REG_EH_REGION when replacing one store insn having it.
15818         (replace_swapped_aligned_load): Likewise.
15819
15820 2022-07-25  Aldy Hernandez  <aldyh@redhat.com>
15821
15822         * Makefile.in (OBJS): Add range-op-float.o.
15823         * range-op.cc (get_float_handler): New.
15824         (range_op_handler::range_op_handler): Save code and type for
15825         delayed querying.
15826         (range_op_handler::oeprator bool): Move from header file, and
15827         add support for floats.
15828         (range_op_handler::fold_range): Add support for floats.
15829         (range_op_handler::op1_range): Same.
15830         (range_op_handler::op2_range): Same.
15831         (range_op_handler::lhs_op1_relation): Same.
15832         (range_op_handler::lhs_op2_relation): Same.
15833         (range_op_handler::op1_op2_relation): Same.
15834         * range-op.h (class range_operator_float): New.
15835         (class floating_op_table): New.
15836         * value-query.cc (range_query::get_tree_range): Add case for
15837         REAL_CST.
15838         * range-op-float.cc: New file.
15839
15840 2022-07-25  Roger Sayle  <roger@nextmovesoftware.com>
15841             Uroš Bizjak  <ubizjak@gmail.com>
15842
15843         PR target/91681
15844         * config/i386/i386-expand.cc (split_double_concat): A new helper
15845         function for setting a double word value from two word values.
15846         * config/i386/i386-protos.h (split_double_concat): Prototype here.
15847         * config/i386/i386.md (zero_extendditi2): New define_insn_and_split.
15848         (*add<dwi>3_doubleword_zext): New define_insn_and_split.
15849         (*sub<dwi>3_doubleword_zext): New define_insn_and_split.
15850         (*concat<mode><dwi>3_1): New define_insn_and_split replacing
15851         previous define_split for implementing DST = (HI<<32)|LO as
15852         pair of move instructions, setting lopart and hipart.
15853         (*concat<mode><dwi>3_2): Likewise.
15854         (*concat<mode><dwi>3_3): Likewise, where HI is zero_extended.
15855         (*concat<mode><dwi>3_4): Likewise, where HI is zero_extended.
15856
15857 2022-07-25  Aldy Hernandez  <aldyh@redhat.com>
15858
15859         PR middle-end/106432
15860         * gimple-range.cc (gimple_ranger::range_on_edge): Return false
15861         when the result range type is unsupported.
15862
15863 2022-07-25  Sebastian Huber  <sebastian.huber@embedded-brains.de>
15864
15865         * config/rs6000/rtems.h (CPLUSPLUS_CPP_SPEC): Undef.
15866
15867 2022-07-25  Richard Biener  <rguenther@suse.de>
15868
15869         PR middle-end/106414
15870         * match.pd (~(x ^ y) -> x == y): Restrict to single bit
15871         precision types.
15872
15873 2022-07-25  Andre Vieira  <andre.simoesdiasvieira@arm.com>
15874
15875         * config/aarch64/aarch64.md (rbit<mode>2): Rename this ...
15876         (@aarch64_rbit<mode>): ... to this and change it in...
15877         (ffs<mode>2,ctz<mode>2): ... here.
15878         (@aarch64_rev16<mode>): New.
15879         * config/aarch64/aarch64-builtins.cc: (aarch64_builtins):
15880         Define the following enum AARCH64_REV16, AARCH64_REV16L,
15881         AARCH64_REV16LL, AARCH64_RBIT, AARCH64_RBITL, AARCH64_RBITLL.
15882         (aarch64_init_data_intrinsics): New.
15883         (aarch64_general_init_builtins): Add call to
15884         aarch64_init_data_intrinsics.
15885         (aarch64_expand_builtin_data_intrinsic): New.
15886         (aarch64_general_expand_builtin): Add call to
15887         aarch64_expand_builtin_data_intrinsic.
15888         * config/aarch64/arm_acle.h (__clz, __clzl, __clzll, __cls, __clsl,
15889         __clsll, __rbit, __rbitl, __rbitll, __rev, __revl, __revll, __rev16,
15890         __rev16l, __rev16ll, __ror, __rorl, __rorll, __revsh): New.
15891
15892 2022-07-25  Martin Liska  <mliska@suse.cz>
15893
15894         * doc/extend.texi: Remove trailing whitespaces.
15895         * doc/invoke.texi: Likewise.
15896
15897 2022-07-25  Aldy Hernandez  <aldyh@redhat.com>
15898
15899         * value-range-pretty-print.cc (vrange_printer::visit): New.
15900         (vrange_printer::print_frange_prop): New.
15901         * value-range-pretty-print.h (class vrange_printer): Add visit and
15902         print_frange_prop.
15903         * value-range-storage.h (vrange_allocator::alloc_vrange): Handle frange.
15904         (vrange_allocator::alloc_frange): New.
15905         * value-range.cc (vrange::operator=): Handle frange.
15906         (vrange::operator==): Same.
15907         (frange::accept): New.
15908         (frange::set): New.
15909         (frange::normalize_kind): New.
15910         (frange::union_): New.
15911         (frange::intersect): New.
15912         (frange::operator=): New.
15913         (frange::operator==): New.
15914         (frange::supports_type_p): New.
15915         (frange::verify_range): New.
15916         * value-range.h (enum value_range_discriminator): Handle frange.
15917         (class fp_prop): New.
15918         (FP_PROP_ACCESSOR): New.
15919         (class frange_props): New.
15920         (FRANGE_PROP_ACCESSOR): New.
15921         (class frange): New.
15922         (Value_Range::init): Handle frange.
15923         (Value_Range::operator=): Same.
15924         (Value_Range::supports_type_p): Same.
15925         (frange_props::operator==): New.
15926         (frange_props::union_): New.
15927         (frange_props::intersect): New
15928         (frange::frange): New.
15929         (frange::type): New.
15930         (frange::set_varying): New.
15931         (frange::set_undefined): New.
15932
15933 2022-07-25  Peter Bergner  <bergner@linux.ibm.com>
15934             Kewen Lin  <linkw@linux.ibm.com>
15935
15936         PR testsuite/106345
15937         * config/rs6000/rs6000.h (DRIVER_SELF_SPECS): Adjust -mdejagnu-cpu
15938         to filter out all -mtune options.
15939
15940 2022-07-24  Aldy Hernandez  <aldyh@redhat.com>
15941
15942         * value-query.cc (range_query::get_value_range): Add assert.
15943         * vr-values.cc (vr_values::range_of_expr): Make sure we don't ICE
15944         on unsupported types in vr_values.
15945         (simplify_using_ranges::simplify): Same.
15946
15947 2022-07-24  Aldy Hernandez  <aldyh@redhat.com>
15948
15949         * tree-ssanames.cc (get_nonzero_bits): Return -1 for unsupported
15950         types.
15951         * value-query.cc (get_ssa_name_range_info): Remove precision check.
15952
15953 2022-07-24  Aldy Hernandez  <aldyh@redhat.com>
15954
15955         * value-relation.cc (value_relation::set_relation): Remove assert.
15956         (path_oracle::register_relation): Exit when trying to register
15957         same SSA name relations.
15958
15959 2022-07-24  Aldy Hernandez  <aldyh@redhat.com>
15960
15961         * gimple-range-cache.cc (ranger_cache::edge_range): Convert to vrange.
15962         (ranger_cache::range_from_dom): Same.
15963         * tree-ssa-dom.cc
15964         (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges): Same.
15965
15966 2022-07-24  Roger Sayle  <roger@nextmovesoftware.com>
15967             H.J. Lu  <hjl.tools@gmail.com>
15968
15969         PR target/106303
15970         PR target/106347
15971         * config/i386/i386-features.cc (make_vector_copies): Move from
15972         general_scalar_chain to scalar_chain.
15973         (convert_reg): Likewise.
15974         (convert_insn_common): New scalar_chain method split out from
15975         general_scalar_chain convert_insn.
15976         (convert_registers): Move from general_scalar_chain to
15977         scalar_chain.
15978         (scalar_chain::convert): Call convert_insn_common before calling
15979         convert_insn.
15980         (timode_remove_non_convertible_regs): Iterate until there are
15981         no further changes to the candidates.
15982         * config/i386/i386-features.h (scalar_chain::hash_map): Move
15983         from general_scalar_chain.
15984         (scalar_chain::convert_reg): Likewise.
15985         (scalar_chain::convert_insn_common): New shared method.
15986         (scalar_chain::make_vector_copies): Move from general_scalar_chain.
15987         (scalar_chain::convert_registers): Likewise.  No longer virtual.
15988         (general_scalar_chain::hash_map): Delete.  Moved to scalar_chain.
15989         (general_scalar_chain::convert_reg): Likewise.
15990         (general_scalar_chain::make_vector_copies): Likewise.
15991         (general_scalar_chain::convert_registers): Delete virtual method.
15992         (timode_scalar_chain::convert_registers): Likewise.
15993
15994 2022-07-23  Immad Mir  <mirimmad@outlook.com>
15995
15996         * doc/extend.texi: Add fd_arg, fd_arg_read and fd_arg_write under
15997         "Common Function Attributes" section.
15998         * doc/invoke.texi: Add docs to -Wanalyzer-fd-access-mode-mismatch,
15999         -Wanalyzer-use-after-close, -Wanalyzer-fd-use-without-check that these
16000         warnings may be emitted through usage of three function attributes used
16001         for static analysis of file descriptors namely fd_arg, fd_arg_read and
16002         fd_arg_write.
16003
16004 2022-07-22  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
16005
16006         * config/xtensa/xtensa.md (*masktrue_const_bitcmpl):
16007         Add a new insn_and_split pattern, and a few split patterns for
16008         spacial cases.
16009
16010 2022-07-22  Richard Sandiford  <richard.sandiford@arm.com>
16011
16012         * graphds.cc (graphds_scc): Fix algorithm attribution.
16013
16014 2022-07-22  Richard Biener  <rguenther@suse.de>
16015
16016         PR tree-optimization/106403
16017         * tree-ssa-sccvn.cc (vn_reference_lookup_3): Move stored
16018         value valueization after check for IFN_MASKED_STORE or
16019         IFN_LEN_STORE.
16020
16021 2022-07-22  Richard Biener  <rguenther@suse.de>
16022
16023         PR tree-optimization/106397
16024         * tree-ssa-loop-prefetch.cc (emit_mfence_after_loop): Do
16025         not update SSA form here.
16026         (mark_nontemporal_stores): Return whether we marked any
16027         non-temporal stores and inserted mfence.
16028         (loop_prefetch_arrays): Note when we need to update SSA.
16029         (tree_ssa_prefetch_arrays): Perform required (LC) SSA update
16030         at the end of the pass.
16031
16032 2022-07-22  Richard Biener  <rguenther@suse.de>
16033
16034         PR tree-optimization/106387
16035         * tree-vect-stmts.cc (vectorizable_load): Use make_ssa_name
16036         if ptr is not an SSA name.
16037
16038 2022-07-22  liuhongt  <hongtao.liu@intel.com>
16039
16040         PR target/106038
16041         * config/i386/mmx.md (<code><mode>3): New define_expand, it's
16042         original "<code><mode>3".
16043         (*<code><mode>3): New define_insn, it's original
16044         "<code><mode>3" be extended to handle memory and immediate
16045         operand with ix86_binary_operator_ok. Also adjust define_split
16046         after it.
16047         (mmxinsnmode): New mode attribute.
16048         (*mov<mode>_imm): Refactor with mmxinsnmode.
16049         * config/i386/predicates.md
16050         (register_or_x86_64_const_vector_operand): New predicate.
16051
16052 2022-07-22  Will Schmidt  <will_schmidt@vnet.ibm.com>
16053
16054         * config/rs6000/altivec.md:
16055         (vstrir_code_<mode>): Rename to...
16056         (vstrir_direct_<mode>): ... this.
16057         (vstrir_p_code_<mode>): Rename to...
16058         (vstrir_p_direct_<mode>): ... this.
16059         (vstril_code_<mode>): Rename to...
16060         (vstril_direct_<mode>): ... this.
16061         (vstril_p_code_<mode>): Rename to...
16062         (vstril_p_direct_<mode>): ... this.
16063
16064 2022-07-22  Will Schmidt  <will_schmidt@vnet.ibm.com>
16065
16066         * config/rs6000/rs6000-c.cc: Update comments.
16067         (rs6000_target_modify_macros): Remove bu_mask references.
16068         (rs6000_define_or_undefine_macro): Replace bu_mask reference
16069         with a rs6000_cpu value check.
16070         (rs6000_cpu_cpp_builtins): Remove rs6000_builtin_mask_calculate()
16071         parameter from call to rs6000_target_modify_macros.
16072         * config/rs6000/rs6000-protos.h (rs6000_target_modify_macros,
16073         rs6000_target_modify_macros_ptr): Remove parameter from extern
16074         for the prototype.
16075         * config/rs6000/rs6000.cc (rs6000_target_modify_macros_ptr): Remove
16076         parameter from prototype, update calls to this function.
16077         (rs6000_print_builtin_options): Remove prototype, call and function.
16078         (rs6000_builtin_mask_calculate): Remove function.
16079         (rs6000_debug_reg_global): Remove call to rs6000_print_builtin_options.
16080         (rs6000_option_override_internal): Remove rs6000_builtin_mask var
16081         and builtin_mask debug output.
16082         (rs6000_builtin_mask_names): Remove.
16083         (rs6000_pragma_target_parse): Remove prev_bumask, cur_bumask,
16084         diff_bumask references; Update calls to rs6000_target_modify_ptr.
16085         * config/rs6000/rs6000.opt (rs6000_builtin_mask): Remove.
16086
16087 2022-07-21  Sam Feifer  <sfeifer@redhat.com>
16088
16089         PR tree-optimization/94920
16090         * match.pd (x >= 0 ? x : 0) + (x <= 0 ? -x : 0): New simplification.
16091         (x <= 0 ? -x : 0): New simplification.
16092
16093 2022-07-21  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
16094
16095         Revert:
16096         2022-07-19  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
16097
16098         * tree-ssa-forwprop.cc (simplify_permutation): Use lhs type
16099         instead of TREE_TYPE (arg0) as result type in folding VEC_PERM_EXPR.
16100
16101 2022-07-21  Richard Biener  <rguenther@suse.de>
16102
16103         PR tree-optimization/106379
16104         * match.pd (~(a ^ b) -> a == b): New pattern.
16105
16106 2022-07-21  Richard Biener  <rguenther@suse.de>
16107
16108         PR tree-optimization/106378
16109         * tree-ssa-dse.cc (initialize_ao_ref_for_dse): Handle
16110         LEN_STORE, add mode to initialize a may-def and handle
16111         MASK_STORE that way.
16112         (dse_optimize_stmt): Query may-defs.  Handle internal
16113         functions LEN_STORE and MASK_STORE similar to how
16114         we handle memory builtins but without byte tracking.
16115
16116 2022-07-21  Richard Biener  <rguenther@suse.de>
16117
16118         PR tree-optimization/106365
16119         * tree-ssa-sccvn.cc (pd_data::rhs_off): New field determining
16120         the offset to start encoding of RHS from.
16121         (vn_walk_cb_data::vn_walk_cb_data): Initialize it.
16122         (vn_walk_cb_data::push_partial_def): Allow the first partial
16123         definition to be fully providing the def.  Offset RHS
16124         before encoding if requested.
16125         (vn_reference_lookup_3): Initialize def_rhs everywhere.
16126         Add support for .MASK_STORE and .LEN_STORE (partial) definitions.
16127
16128 2022-07-21  Richard Biener  <rguenther@suse.de>
16129
16130         * tree-ssa-alias.cc (ref_maybe_used_by_call_p_1): Special-case
16131         store internal functions and IFN_MASK_LOAD, IFN_LEN_LOAD
16132         and IFN_MASK_LOAD_LANES.
16133         (call_may_clobber_ref_p_1): Special-case IFN_MASK_STORE,
16134         IFN_LEN_STORE and IFN_MASK_STORE_LANES.
16135
16136 2022-07-20  Alexander Monakov  <amonakov@ispras.ru>
16137
16138         PR rtl-optimization/101347
16139         * builtins.cc (expand_builtin) [BUILT_IN_SETJMP_SETUP]: Move
16140         population of nonlocal_goto_handler_labels from here ...
16141         (expand_builtin) [BUILT_IN_SETJMP_RECEIVER]: ... to here.
16142         * rtlanal.cc (remove_node_from_insn_list): Verify that a
16143         duplicate is not present in the remainder of the list.
16144
16145 2022-07-20  Alexander Monakov  <amonakov@ispras.ru>
16146
16147         * rtl.h (remove_node_from_expr_list): Remove declaration.
16148         * rtlanal.cc (remove_node_from_expr_list): Remove (no uses).
16149
16150 2022-07-20  Richard Biener  <rguenther@suse.de>
16151
16152         * tree-vect-data-refs.cc (bump_vector_ptr): Return an
16153         invariant updated address when the input was invariant.
16154
16155 2022-07-20  liuhongt  <hongtao.liu@intel.com>
16156
16157         * passes.def: (Split pass_cse_sincos to pass_expand_powcabs
16158         and pass_cse_sincos, and move pass_cse_sincos after vectorizer).
16159         * timevar.def (TV_TREE_POWCABS): New timevar.
16160         * tree-pass.h (make_pass_expand_powcabs): Split from pass_cse_sincos.
16161         * tree-ssa-math-opts.cc (gimple_expand_builtin_cabs): Ditto.
16162         (class pass_expand_powcabs): Ditto.
16163         (pass_expand_powcabs::execute): Ditto.
16164         (make_pass_expand_powcabs): Ditto.
16165         (pass_cse_sincos::execute): Remove pow/cabs expand part.
16166         (make_pass_cse_sincos): Ditto.
16167
16168 2022-07-20  Richard Biener  <richard.guenther@gmail.com>
16169             Hongtao Liu  <hongtao.liu@intel.com>
16170
16171         PR tree-optimization/106010
16172         * tree-complex.cc (init_dont_simulate_again): Lower complex
16173         type move.
16174         (expand_complex_move): Also expand COMPLEX_CST for rhs.
16175
16176 2022-07-19  Andrew MacLeod  <amacleod@redhat.com>
16177
16178         * gimple-range-cache.cc (ranger_cache::range_from_dom): Check
16179         for incoming ranges on join nodes and add to worklist.
16180
16181 2022-07-19  Andrew MacLeod  <amacleod@redhat.com>
16182
16183         * gimple-range-cache.cc (ranger_cache::resolve_dom): New.
16184         (ranger_cache::range_from_dom): Put all nodes to be calculated
16185         in the worklist and resolve after the dom walk.
16186         * gimple-range-cache.h (resolve_dom): New prototype.
16187
16188 2022-07-19  Alexander Monakov  <amonakov@ispras.ru>
16189
16190         * tree-cfg.cc (gimple_verify_flow_info): Check placement of
16191         returns_twice calls.
16192
16193 2022-07-19  Alexander Monakov  <amonakov@ispras.ru>
16194
16195         * cfghooks.cc (duplicate_block): Expand comment.
16196         * tree-cfg.cc (gimple_can_duplicate_bb_p): Reject blocks with
16197         calls that may return twice.
16198
16199 2022-07-19  Alexander Monakov  <amonakov@ispras.ru>
16200
16201         * tree-ssa-sink.cc (select_best_block): Punt if selected block
16202         has incoming abnormal edges.
16203
16204 2022-07-19  Martin Liska  <mliska@suse.cz>
16205
16206         * doc/extend.texi: Remove trailing :.
16207
16208 2022-07-19  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
16209
16210         * tree-ssa-forwprop.cc (simplify_permutation): Use lhs type
16211         instead of TREE_TYPE (arg0) as result type in folding VEC_PERM_EXPR.
16212
16213 2022-07-19  Richard Biener  <rguenther@suse.de>
16214
16215         PR middle-end/106331
16216         * builtins.cc (get_memory_rtx): Compute alignment from
16217         the original address and set MEM_OFFSET to unknown when
16218         we create a MEM_EXPR from the base object of the address.
16219
16220 2022-07-19  Richard Biener  <rguenther@suse.de>
16221
16222         PR lto/106334
16223         * dwarf2out.cc (dwarf2out_register_external_die): Allow
16224         map entry re-use during WPA.
16225
16226 2022-07-19  Roger Sayle  <roger@nextmovesoftware.com>
16227             Richard Biener  <rguenther@suse.de>
16228
16229         PR c/106264
16230         * builtins.cc (fold_builtin_frexp): Call suppress_warning on
16231         COMPOUND_EXPR to silence spurious warning if result isn't used.
16232         (fold_builtin_modf): Likewise.
16233         (do_mpfr_remquo): Likewise.
16234
16235 2022-07-19  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
16236
16237         * config/xtensa/xtensa.cc (xtensa_rtx_costs):
16238         Change the relative cost of '(set (reg) (const_int N))' where
16239         N fits into signed 12-bit from 4 to 0 if optimizing for size.
16240         And use the appropriate macro instead of the bare number 4.
16241
16242 2022-07-18  Andrew MacLeod  <amacleod@redhat.com>
16243
16244         PR tree-optimization/106280
16245         * value-relation.cc (dom_oracle::register_relation): Register
16246         transitives only when it is possible for there to be one.
16247         (dom_oracle::set_one_relation): Return NULL if this is an
16248         existing relation.
16249
16250 2022-07-18  Maciej W. Rozycki  <macro@embecosm.com>
16251
16252         * doc/invoke.texi (RISC-V Options): Add index references for
16253         `mrelax' and `mriscv-attribute'.
16254
16255 2022-07-18  Maciej W. Rozycki  <macro@embecosm.com>
16256
16257         * doc/invoke.texi (Option Summary): Add missing second space
16258         around `-mstack-protector-guard-reg='.
16259
16260 2022-07-18  Maciej W. Rozycki  <macro@embecosm.com>
16261
16262         * doc/invoke.texi (Option Summary): Fix `-mno-riscv-attribute'.
16263         (RISC-V Options): Likewise, and `-mriscv-attribute'.
16264
16265 2022-07-18  Claudiu Zissulescu  <claziss@gmail.com>
16266
16267         * config/arc/arc-arch.h (arc_tune_attr): Add
16268         ARC_TUNE_ARCHS4X_REL31A variant.
16269         * config/arc/arc.cc (arc_override_options): Tune options for
16270         release 310a.
16271         (arc_sched_issue_rate): Use correct enum.
16272         (arc600_corereg_hazard): Textual change.
16273         (arc_hazard): Add release 310a tunning.
16274         * config/arc/arc.md (tune): Update and take into consideration new
16275         tune option.
16276         (tune_dspmpy): Likewise.
16277         (tune_store): New attribute.
16278         * config/arc/arc.opt (mtune): New tune option.
16279         * config/arc/arcHS4x.md (hs4x_brcc0, hs4x_brcc1): New cpu units.
16280         (hs4x_brcc_op): New instruction rezervation.
16281         (hs4x_data_store_1_op): Likewise.
16282         * config/arc/arc-cpus.def (hs4x_rel31): New cpu variant.
16283         * config/arc/arc-tables.opt: Regenerate.
16284         * config/arc/t-multilib: Likewise.
16285         * doc/invoke.texi (ARC): Update mcpu and tune sections.
16286
16287 2022-07-18  Richard Biener  <rguenther@suse.de>
16288
16289         * tree-loop-distribution.cc (loop_distribution::distribute_loop):
16290         When computing cost-based merging do not disregard builtin
16291         classified partitions in some cases.
16292
16293 2022-07-18  Richard Sandiford  <richard.sandiford@arm.com>
16294
16295         PR target/106253
16296         * config/arm/arm-builtins.cc (arm_builtin_vectorized_function):
16297         Delete.
16298         * config/arm/arm-protos.h (arm_builtin_vectorized_function): Delete.
16299         * config/arm/arm.cc (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
16300         Delete.
16301         * config/arm/arm_neon_builtins.def (copysignf): Delete.
16302         * config/arm/iterators.md (nvrint_pattern): New attribute.
16303         * config/arm/neon.md (<NEON_VRINT:nvrint_pattern><VCVTF:mode>2):
16304         New pattern.
16305         (l<NEON_VCVT:nvrint_pattern><su_optab><VCVTF:mode><v_cmp_result>2):
16306         Likewise.
16307         (neon_copysignf<mode>): Rename to...
16308         (copysign<mode>3): ...this.
16309
16310 2022-07-18  Claudiu Zissulescu  <claziss@gmail.com>
16311
16312         * config/arc/arc.cc (arc_expand_epilogue): Adjust the frame
16313         pointer first when in interrupts.
16314
16315 2022-07-18  Richard Biener  <rguenther@suse.de>
16316
16317         * tree-loop-distribution.cc (copy_loop_before): Add
16318         the ability to replace the original LC PHI defs.
16319         (generate_loops_for_partition): Pass through a flag
16320         whether to redirect original LC PHI defs.
16321         (generate_code_for_partition): Likewise.
16322         (loop_distribution::distribute_loop): Compute the partition
16323         that should provide the LC PHI defs for common reductions
16324         and pass that down.
16325
16326 2022-07-18  Richard Ball  <richard.ball@arm.com>
16327
16328         * config/aarch64/aarch64.cc (aarch64_evpc_trn): Use std:swap.
16329         (aarch64_evpc_uzp): Likewise.
16330         (aarch64_evpc_zip): Likewise.
16331
16332 2022-07-18  Roger Sayle  <roger@nextmovesoftware.com>
16333
16334         PR target/106231
16335         * config/i386/i386.md (*ctzsidi2_<s>ext): New insn_and_split
16336         to recognize any_extend:DI of ctz:SI which is implicitly extended.
16337         (*ctzsidi2_<s>ext_falsedep): New define_insn to model a DImode
16338         extended ctz:SI that has preceding xor to break false dependency.
16339
16340 2022-07-18  Roger Sayle  <roger@nextmovesoftware.com>
16341
16342         * config/i386/predicates.md (x86_64_const_vector_operand):
16343         Check the operand's mode matches the specified mode argument.
16344
16345 2022-07-18  Roger Sayle  <roger@nextmovesoftware.com>
16346
16347         * config/i386/sse.md (kunpckhi): Add UNSPEC_MASKOP unspec.
16348         (kunpcksi): Likewise, add UNSPEC_MASKOP unspec.
16349         (kunpckdi): Likewise, add UNSPEC_MASKOP unspec.
16350         (vec_pack_trunc_qi): Update to specify the now required
16351         UNSPEC_MASKOP unspec.
16352         (vec_pack_trunc_<mode>): Likewise.
16353
16354 2022-07-16  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
16355
16356         * config/xtensa/xtensa.md
16357         (*masktrue_const_pow2_minus_one, *masktrue_const_negative_pow2,
16358         *masktrue_const_shifted_mask): If the immediate for bitwise AND is
16359         represented as '-(1 << N)', decrease the lower bound of N from 12
16360         to 1.  And the other immediate for conditional branch is now no
16361         longer limited to zero, but also one of some positive integers.
16362         Finally, remove the checks of some conditions, because the comparison
16363         expressions that don't satisfy such checks are determined as
16364         compile-time constants and thus will be optimized away before
16365         RTL expansion.
16366
16367 2022-07-16  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
16368
16369         * config/xtensa/xtensa.cc (xtensa_emit_constantsynth): Remove.
16370         (xtensa_constantsynth_2insn): Change to try all three synthetic
16371         methods and to use the one that fits the immediate value of
16372         the seed into a Narrow Move Immediate instruction "MOVI.N"
16373         when the Code Density Option is configured.
16374
16375 2022-07-15  H.J. Lu  <hjl.tools@gmail.com>
16376
16377         PR target/85620
16378         * config/i386/i386.cc (ix86_function_ok_for_sibcall): Return
16379         false if callee has indirect_return attribute and caller
16380         doesn't.
16381
16382 2022-07-15  Roger Sayle  <roger@nextmovesoftware.com>
16383
16384         PR target/106273
16385         * config/i386/i386.md (*andn<dwi>3_doubleword_bmi): Update the
16386         constraints to reflect the output is earlyclobber, unless it is
16387         the same register (pair) as one of the operands.
16388
16389 2022-07-15  David Malcolm  <dmalcolm@redhat.com>
16390
16391         * doc/invoke.texi (Static Analyzer Options): Add the new fd
16392         warnings to the initial gccoptlist, and to the list of those
16393         disabled by -fanalyzer-checker=taint.
16394
16395 2022-07-15  Andrew Carlotti  <andrew.carlotti@arm.com>
16396
16397         * config/aarch64/aarch64-builtins.cc
16398         (enum aarch64_type_qualifiers): Remove qualifier_internal.
16399         (aarch64_init_simd_builtin_functions): Remove qualifier_internal check.
16400
16401 2022-07-15  Andrew Carlotti  <andrew.carlotti@arm.com>
16402
16403         * config/aarch64/aarch64-builtins.cc
16404         (v1di_UP): Add V1DI mode to _UP macros.
16405         * config/aarch64/aarch64-modes.def (VECTOR_MODE): Add V1DI mode.
16406         * config/aarch64/aarch64-simd-builtin-types.def: Use V1DI mode.
16407         * config/aarch64/aarch64-simd.md
16408         (vec_extractv2dfv1df): Replace with...
16409         (vec_extract<mode><V1half>): ...this.
16410         * config/aarch64/aarch64.cc
16411         (aarch64_classify_vector_mode): Add V1DI mode.
16412         * config/aarch64/iterators.md
16413         (VQ_2E, V1HALF, V1half): New.
16414         (nunits): Add V1DI mode.
16415
16416 2022-07-15  Roger Sayle  <roger@nextmovesoftware.com>
16417
16418         PR target/106278
16419         * config/i386/i386-features.cc (general_scalar_chain::convert_insn):
16420         Fix indentation whitespace.
16421         (timode_scalar_chain::fix_debug_reg_uses): Likewise.
16422         (timode_scalar_chain::convert_insn): Delete dead code.
16423         Update TImode REG_EQUAL_NOTE even if the SET_DEST is already V1TI.
16424         Fix indentation whitespace.
16425         (convertible_comparison_p): Likewise.
16426         (timode_scalar_to_vector_candidate_p): Likewise.
16427
16428 2022-07-15  Aldy Hernandez  <aldyh@redhat.com>
16429
16430         * gimple-pretty-print.cc (dump_ssaname_info): Use pp_vrange.
16431
16432 2022-07-15  Aldy Hernandez  <aldyh@redhat.com>
16433
16434         * Makefile.in (OBJS): Add value-range-pretty-print.o.
16435         * pretty-print.h (pp_vrange): New.
16436         * value-range.cc (vrange::dump): Call pp version.
16437         (unsupported_range::dump): Move to its own file.
16438         (dump_bound_with_infinite_markers): Same.
16439         (irange::dump): Same.
16440         (irange::dump_bitmasks): Same.
16441         (vrange::debug): Remove.
16442         * value-range.h: Remove virtual designation for dump methods.
16443         Remove dump_bitmasks method.
16444         * value-range-pretty-print.cc: New file.
16445         * value-range-pretty-print.h: New file.
16446
16447 2022-07-15  Aldy Hernandez  <aldyh@redhat.com>
16448
16449         * value-range.cc (irange::accept): New.
16450         (unsupported_range::accept): New.
16451         * value-range.h (class vrange_visitor): New.
16452         (class vrange): Add accept method.
16453         (class unsupported_range): Same.
16454         (class Value_Range): Same.
16455
16456 2022-07-15  Jonathan Wakely  <jwakely@redhat.com>
16457
16458         * diagnostic-format-json.cc (json_from_location_range): Adjust
16459         to new label_text API.
16460         * diagnostic-format-sarif.cc (sarif_builder::make_location_object):
16461         Likewise.
16462         * diagnostic-show-locus.cc (struct pod_label_text): Likewise.
16463         (layout::print_any_labels): Likewise.
16464         * tree-diagnostic-path.cc (class path_label): Likewise.
16465         (struct event_range): Likewise.
16466         (default_tree_diagnostic_path_printer): Likewise.
16467         (default_tree_make_json_for_path): Likewise.
16468
16469 2022-07-15  konglin1  <lingling.kong@intel.com>
16470
16471         PR target/106113
16472         * config/i386/i386-builtin.def (BDESC): Fix [u]comi{ss,sd}
16473         comparison due to intrinsics changed over time.
16474         * config/i386/i386-expand.cc (ix86_ssecom_setcc):
16475         Add unordered check and mode for sse comi codegen.
16476         (ix86_expand_sse_comi): Add unordered check and check a different
16477         CCmode.
16478         (ix86_expand_sse_comi_round):Extract unordered check and mode part
16479         in ix86_ssecom_setcc.
16480
16481 2022-07-15  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
16482
16483         * config/aarch64/aarch64.cc (aarch64_vectorize_vec_perm_const): Use
16484         op_mode instead of vmode in calls to force_reg for op0 and op1.
16485
16486 2022-07-14  H.J. Lu  <hjl.tools@gmail.com>
16487
16488         PR tree-optimization/103798
16489         * tree-ssa-forwprop.cc: Include "tree-ssa-strlen.h".
16490         (simplify_builtin_call): Inline memchr with constant strings of
16491         no more than the bytes of a word.
16492         * tree-ssa-strlen.cc (use_in_zero_equality): Make it global.
16493         * tree-ssa-strlen.h (use_in_zero_equality): New.
16494
16495 2022-07-14  Eric Botcazou  <ebotcazou@adacore.com>
16496
16497         * gimplify.cc (lookup_tmp_var): Add NOT_GIMPLE_REG boolean parameter
16498         and set DECL_NOT_GIMPLE_REG_P on the variable according to it.
16499         (internal_get_tmp_var): Add NOT_GIMPLE_REG boolean parameter and
16500         pass it in the call to lookup_tmp_var.
16501         (get_formal_tmp_var): Pass false in the call to lookup_tmp_var.
16502         (get_initialized_tmp_var): Likewise.
16503         (prepare_gimple_addressable): Call internal_get_tmp_var instead of
16504         get_initialized_tmp_var with NOT_GIMPLE_REG set to true.
16505
16506 2022-07-14  Martin Liska  <mliska@suse.cz>
16507
16508         * doc/gimple.texi: Close properly a deftypefn.
16509
16510 2022-07-14  Martin Liska  <mliska@suse.cz>
16511
16512         * doc/gimple.texi: Close properly a deftypefn.
16513
16514 2022-07-14  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
16515
16516         * config/xtensa/xtensa.md:
16517         In FP constant synthesis split pattern, subcontract to
16518         avoid_constant_pool_reference() as in the case of integer,
16519         because it can handle well too.  And cast to int32_t before
16520         calling xtensa_constantsynth() in order to ignore upper 32-bit.
16521
16522 2022-07-13  Aldy Hernandez  <aldyh@redhat.com>
16523
16524         * range-op.cc (operator_lt::fold_range): Use nonzero bits.
16525
16526 2022-07-13  Aldy Hernandez  <aldyh@redhat.com>
16527
16528         * value-range.cc (irange::copy_to_legacy): Set nonzero mask.
16529         (irange::legacy_intersect): Clear nonzero mask.
16530         (irange::legacy_union): Same.
16531         (irange::invert): Same.
16532
16533 2022-07-13  Richard Biener  <rguenther@suse.de>
16534
16535         * tree-ssa-dom.h (record_temporary_equivalences): Remove.
16536         * tree-ssa-dom.cc (dom_jt_state::m_blocks_on_stack): New.
16537         (dom_jt_state::get_blocks_on_stack): Likewise.
16538         (dom_opt_dom_walker::dom_opt_dom_walker): Take dom_jt_state.
16539         (back_propagate_equivalences): Remove dominator bitmap
16540         compute and instead use passed in m_blocks_on_stack.
16541         (record_temporary_equivalences): Likewise.
16542         (record_equivalences_from_incoming_edge): Likewise.
16543         (dom_opt_dom_walker::before_dom_children): Maintain and
16544         pass down blocks on stack.
16545         (dom_opt_dom_walker::after_dom_children): Likewise.
16546
16547 2022-07-13  Andrew Carlotti  <andrew.carlotti@arm.com>
16548
16549         * config/aarch64/aarch64-builtins.cc
16550         (aarch64_general_gimple_fold_builtin): Add fixup for invalid GIMPLE.
16551
16552 2022-07-13  Richard Biener  <rguenther@suse.de>
16553
16554         PR tree-optimization/106249
16555         * tree-ssa-loop-manip.cc (tree_transform_and_unroll_loop):
16556         Only verify LC SSA of the new_loop if we created it.
16557         Use TODO_update_ssa_nophi for the SSA update after versioning
16558         the loop.
16559
16560 2022-07-12  Aldy Hernandez  <aldyh@redhat.com>
16561
16562         * range-op.cc (unsigned_singleton_p): Remove.
16563         (operator_bitwise_and::remove_impossible_ranges): Remove.
16564         (operator_bitwise_and::fold_range): Set nonzero bits.  *
16565         * value-range.cc (irange::get_nonzero_bits): Remove
16566         legacy_mode_p assert.
16567         (irange::dump_bitmasks): Remove legacy_mode_p check.
16568
16569 2022-07-12  Richard Sandiford  <richard.sandiford@arm.com>
16570
16571         PR target/106253
16572         * predict.h (insn_optimization_type): Declare.
16573         * predict.cc (insn_optimization_type): New function.
16574         * internal-fn.def (IFN_ICEIL, IFN_IFLOOR, IFN_IRINT, IFN_IROUND)
16575         (IFN_LCEIL, IFN_LFLOOR, IFN_LRINT, IFN_LROUND, IFN_LLCEIL)
16576         (IFN_LLFLOOR, IFN_LLRINT, IFN_LLROUND): New internal functions.
16577         * internal-fn.cc (unary_convert_direct): New macro.
16578         (expand_convert_optab_fn): New function.
16579         (expand_unary_convert_optab_fn): New macro.
16580         (direct_unary_convert_optab_supported_p): Likewise.
16581         * optabs.cc (expand_sfix_optab): Pass insn_optimization_type to
16582         convert_optab_handler.
16583         * config/aarch64/aarch64-protos.h
16584         (aarch64_builtin_vectorized_function): Delete.
16585         * config/aarch64/aarch64-builtins.cc
16586         (aarch64_builtin_vectorized_function): Delete.
16587         * config/aarch64/aarch64.cc
16588         (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): Delete.
16589         * config/i386/i386.cc (ix86_optab_supported_p): Handle lround_optab.
16590         * config/i386/i386.md (lround<X87MODEF:mode><SWI248x:mode>2): Remove
16591         optimize_insn_for_size_p test.
16592
16593 2022-07-12  Richard Biener  <rguenther@suse.de>
16594
16595         * tree-vect-loop-manip.cc (create_lcssa_for_virtual_phi):
16596         Remove.
16597         (vect_do_peeling): Do not call it, adjust comment.
16598
16599 2022-07-12  Richard Sandiford  <richard.sandiford@arm.com>
16600
16601         * config/aarch64/aarch64-builtins.cc
16602         (aarch64_builtin_vectorized_function): Remove handling of
16603         floor, ceil, trunc, round, nearbyint, sqrt, clz and ctz.
16604
16605 2022-07-11  Andrew MacLeod  <amacleod@redhat.com>
16606
16607         PR tree-optimization/106234
16608         * gimple-range-cache.cc (ranger_cache::range_from_dom): Check dominator
16609         cache value before recursively resolving it.
16610
16611 2022-07-11  Roger Sayle  <roger@nextmovesoftware.com>
16612
16613         * config/i386/i386-features.h (scalar_chain): Add fields
16614         insns_conv, n_sse_to_integer and n_integer_to_sse to this
16615         parent class, moved from general_scalar_chain.
16616         (scalar_chain::convert_compare): Protected method moved
16617         from general_scalar_chain.
16618         (mark_dual_mode_def): Make protected, not private virtual.
16619         (scalar_chain:convert_op): New private virtual method.
16620         (general_scalar_chain::general_scalar_chain): Simplify constructor.
16621         (general_scalar_chain::~general_scalar_chain): Delete destructor.
16622         (general_scalar_chain): Move insns_conv, n_sse_to_integer and
16623         n_integer_to_sse fields to parent class, scalar_chain.
16624         (general_scalar_chain::mark_dual_mode_def): Delete prototype.
16625         (general_scalar_chain::convert_compare): Delete prototype.
16626         (timode_scalar_chain::compute_convert_gain): Remove simplistic
16627         implementation, convert to a method prototype.
16628         (timode_scalar_chain::mark_dual_mode_def): Delete prototype.
16629         (timode_scalar_chain::convert_op): Prototype new virtual method.
16630         * config/i386/i386-features.cc (scalar_chain::scalar_chain):
16631         Allocate insns_conv and initialize n_sse_to_integer and
16632         n_integer_to_sse fields in constructor.
16633         (scalar_chain::scalar_chain): Free insns_conv in destructor.
16634         (general_scalar_chain::general_scalar_chain): Delete
16635         constructor, now defined in the class declaration.
16636         (general_scalar_chain::~general_scalar_chain): Delete destructor.
16637         (scalar_chain::mark_dual_mode_def): Renamed from
16638         general_scalar_chain::mark_dual_mode_def.
16639         (timode_scalar_chain::mark_dual_mode_def): Delete.
16640         (scalar_chain::convert_compare): Renamed from
16641         general_scalar_chain::convert_compare.
16642         (timode_scalar_chain::compute_convert_gain): New method to
16643         determine the gain from converting a TImode chain to V1TImode.
16644         (timode_scalar_chain::convert_op): New method to convert an
16645         operand from TImode to V1TImode.
16646         (timode_scalar_chain::convert_insn) <case REG>: Only PUT_MODE
16647         on REG_EQUAL notes that were originally TImode (not CONST_INT).
16648         Handle AND, ANDN, XOR, IOR, NOT and COMPARE.
16649         (timode_mem_p): Helper predicate to check where operand is
16650         memory reference with sufficient alignment for TImode STV.
16651         (timode_scalar_to_vector_candidate_p): Use convertible_comparison_p
16652         to check whether COMPARE is convertible.  Handle SET_DESTs that
16653         that are REG_P or MEM_P and SET_SRCs that are REG, CONST_INT,
16654         CONST_WIDE_INT, MEM, AND, ANDN, IOR, XOR or NOT.
16655
16656 2022-07-11  Richard Sandiford  <richard.sandiford@arm.com>
16657
16658         PR tree-optimization/106250
16659         * tree-vect-loop.cc (vectorizable_reduction): Reinstate final
16660         argument to directly_supported_p.
16661
16662 2022-07-11  Richard Biener  <rguenther@suse.de>
16663
16664         * tree-into-ssa.cc (update_ssa): Do not forcefully
16665         re-compute dominance fast queries for TODO_update_ssa_no_phi.
16666
16667 2022-07-11  Richard Biener  <rguenther@suse.de>
16668
16669         PR tree-optimization/106228
16670         * tree-vect-data-refs.cc (vect_setup_realignment): Adjust
16671         VUSE compute for the non-loop case.
16672
16673 2022-07-11  Richard Biener  <rguenther@suse.de>
16674
16675         * tree-into-ssa.cc (rewrite_mode::REWRITE_UPDATE_REGION): New.
16676         (rewrite_update_dom_walker::rewrite_update_dom_walker): Update.
16677         (rewrite_update_dom_walker::m_in_region_flag): New.
16678         (rewrite_update_dom_walker::before_dom_children): If the region
16679         to update is marked, STOP at exits.
16680         (rewrite_blocks): For REWRITE_UPDATE_REGION mark the region
16681         to be updated.
16682         (dump_update_ssa): Use bitmap_empty_p.
16683         (update_ssa): Likewise.  Use REWRITE_UPDATE_REGION when
16684         TODO_update_ssa_no_phi.
16685         * tree-cfgcleanup.cc (cleanup_tree_cfg_noloop): Account
16686         pending update_ssa to the caller.
16687
16688 2022-07-11  Richard Biener  <rguenthert@suse.de>
16689
16690         PR target/105459
16691         * config/i386/i386-options.cc (ix86_set_current_function):
16692         Rebuild the target optimization node whenever necessary,
16693         not only when the optimization node didn't change.
16694
16695 2022-07-11  Richard Biener  <rguenther@suse.de>
16696
16697         PR tree-optimization/106228
16698         * tree-vect-data-refs.cc (vect_setup_realignment): Properly
16699         set a VUSE operand on the emitted load.
16700
16701 2022-07-11  Aldy Hernandez  <aldyh@redhat.com>
16702
16703         * gimple-range.cc (gimple_ranger::export_global_ranges): Remove
16704         verification against legacy value_range.
16705         (gimple_ranger::register_inferred_ranges): Same.
16706         (gimple_ranger::export_global_ranges): Rename update_global_range
16707         to set_range_info.
16708         * tree-core.h (struct range_info_def): Remove.
16709         (struct irange_storage_slot): New.
16710         (struct tree_base): Remove SSA_NAME_ANTI_RANGE_P documentation.
16711         (struct tree_ssa_name): Add vrange_storage support.
16712         * tree-ssanames.cc (range_info_p): New.
16713         (range_info_fits_p): New.
16714         (range_info_alloc): New.
16715         (range_info_free): New.
16716         (range_info_get_range): New.
16717         (range_info_set_range): New.
16718         (set_range_info_raw): Remove.
16719         (set_range_info): Adjust to use vrange_storage.
16720         (set_nonzero_bits): Same.
16721         (get_nonzero_bits): Same.
16722         (duplicate_ssa_name_range_info): Remove overload taking
16723         value_range_kind.
16724         Rewrite tree overload to use vrange_storage.
16725         (duplicate_ssa_name_fn): Adjust to use vrange_storage.
16726         * tree-ssanames.h (struct range_info_def): Remove.
16727         (set_range_info): Adjust prototype to take vrange.
16728         * tree-vrp.cc (vrp_asserts::remove_range_assertions): Call
16729         duplicate_ssa_name_range_info.
16730         * tree.h (SSA_NAME_ANTI_RANGE_P): Remove.
16731         (SSA_NAME_RANGE_TYPE): Remove.
16732         * value-query.cc (get_ssa_name_range_info): Adjust to use
16733         vrange_storage.
16734         (update_global_range): Remove.
16735         (get_range_global): Remove as_a<irange>.
16736         * value-query.h (update_global_range): Remove.
16737         * tree-ssa-dom.cc (set_global_ranges_from_unreachable_edges):
16738         Rename update_global_range to set_range_info.
16739         * value-range-storage.cc (vrange_storage::alloc_slot): Remove
16740         gcc_unreachable.
16741
16742 2022-07-10  Aldy Hernandez  <aldyh@redhat.com>
16743
16744         * value-range.cc (irange::operator=): Call verify_range.
16745         (irange::irange_set): Normalize kind after everything else has
16746         been set.
16747         (irange::irange_set_anti_range): Same.
16748         (irange::set): Same.
16749         (irange::verify_range): Disallow nonzero masks for VARYING.
16750         (irange::irange_union): Call verify_range.
16751         Handle nonzero masks better.
16752         (irange::irange_intersect): Same.
16753         (irange::set_nonzero_bits): Calculate mask if either range has an
16754         explicit mask.
16755         (irange::intersect_nonzero_bits): Same.
16756         (irange::union_nonzero_bits): Same.
16757         (range_tests_nonzero_bits): New.
16758         (range_tests): Call range_tests_nonzero_bits.
16759         * value-range.h (class irange): Remove set_nonzero_bits method
16760         with trees.
16761         (irange::varying_compatible_p): Set nonzero mask.
16762
16763 2022-07-10  Xi Ruoyao  <xry111@xry111.site>
16764
16765         * config/loongarch/loongarch.md (<any_div>di3_fake): Describe
16766         the sign-extend of result in the RTL template.
16767         (<any_div><mode>3): Adjust for <any_div>di3_fake change.
16768
16769 2022-07-10  Xi Ruoyao  <xry111@xry111.site>
16770
16771         * config/loongarch/loongarch.cc (loongarch_check_zero_div_p):
16772         Remove static, for use in the machine description file.
16773         * config/loongarch/loongarch-protos.h:
16774         (loongarch_check_zero_div_p): Add prototype.
16775         * config/loongarch/loongarch.md (enabled): New attr.
16776         (*<optab><mode>3): Add (=r,r,r) and (=&r,0,r) alternatives for
16777         idiv.  Conditionally enable the alternatives using
16778         loongarch_check_zero_div_p.
16779         (<optab>di3_fake): Likewise.
16780
16781 2022-07-10  Xi Ruoyao  <xry111@xry111.site>
16782
16783         * config/loongarch/loongarch.md (mulsidi3_64bit): Use mulw.d.w
16784         instead of mul.d.
16785
16786 2022-07-09  Aldy Hernandez  <aldyh@redhat.com>
16787
16788         * value-range.cc (irange::irange_single_pair_union): Set
16789         VR_VARYING when appropriate.
16790
16791 2022-07-09  Vit Kabele  <vit.kabele@sysgo.com>
16792
16793         * stor-layout.cc (finalize_record_size): Extend warning message.
16794
16795 2022-07-09  Sam Feifer  <sfeifer@redhat.com>
16796
16797         PR tree-optimization/98304
16798         * match.pd (n - (((n > C1) ? n : C1) & -C2)): New simplification.
16799
16800 2022-07-09  Jeff Law  <jeffreyalaw@gmail.com>
16801
16802         * expr.cc (store_expr): Identify trailing NULs in a STRING_CST
16803         initializer and use clear_storage rather than copying the
16804         NULs to the destination array.
16805
16806 2022-07-09  Roger Sayle  <roger@nextmovesoftware.com>
16807
16808         * config/i386/i386.md (define_peephole2): Use match_operand of
16809         flags_reg_operand to capture and preserve the mode of FLAGS_REG.
16810         (define_peephole2): Likewise.
16811         (define_peephole2): Likewise...
16812
16813 2022-07-09  Roger Sayle  <roger@nextmovesoftware.com>
16814
16815         * config/i386/i386-features.cc (convert_compare): Add support
16816         for *testdi_not_doubleword pattern, "(compare (and (not ...)))"
16817         by generating a pandn followed by ptest.
16818         (convertible_comparison_p): Recognize both *cmpdi_doubleword and
16819         recent *testdi_not_doubleword comparison patterns.
16820
16821 2022-07-09  Tamar Christina  <tamar.christina@arm.com>
16822
16823         * config/s390/s390.cc (s390_expand_atomic): Pass false to store_bit_field to
16824         indicate that the value is not undefined.
16825
16826 2022-07-09  Andrew Pinski  <apinski@marvell.com>
16827
16828         PR tree-optimization/106087
16829         * tree-ssa-dce.cc (simple_dce_from_worklist): Check
16830         to make sure the statement is only defining one operand.
16831
16832 2022-07-08  Lewis Hyatt  <lhyatt@gmail.com>
16833
16834         PR preprocessor/91733
16835         * input.cc (find_end_of_line): New helper function.
16836         (file_cache_slot::get_next_line): Recognize \r as a line ending.
16837         * diagnostic-show-locus.cc (test_escaping_bytes_1): Adapt selftest
16838         since \r will now be interpreted as a line-ending.
16839
16840 2022-07-08  Martin Liska  <mliska@suse.cz>
16841
16842         PR sanitizer/106132
16843         * opts.cc (finish_options): Use 2 calls to
16844         report_conflicting_sanitizer_options.
16845
16846 2022-07-08  Richard Biener  <rguenther@suse.de>
16847
16848         PR tree-optimization/106226
16849         * tree-vect-loop-manip.cc (vect_do_peeling): Assert that
16850         no SSA update is needed.  Move virtual SSA update ...
16851         * tree-vectorizer.cc (pass_vectorize::execute): ... here,
16852         via forced virtual renaming when TODO_update_ssa_only_virtuals
16853         is queued.
16854         (vect_transform_loops): Return TODO_update_ssa_only_virtuals
16855         when virtual SSA update is required.
16856         (try_vectorize_loop_1): Adjust.
16857         * tree-vect-stmts.cc (vectorizable_simd_clone_call): Allow
16858         virtual renaming if the ABI forces an aggregate return
16859         but the original call did not have a virtual definition.
16860
16861 2022-07-08  Martin Liska  <mliska@suse.cz>
16862
16863         * toplev.cc (init_asm_output): Do not init asm_out_file.
16864
16865 2022-07-08  Tamar Christina  <tamar.christina@arm.com>
16866
16867         PR tree-optimization/106063
16868         * match.pd: Do not apply pattern after veclower is not supported.
16869
16870 2022-07-08  Thomas Schwinge  <thomas@codesourcery.com>
16871
16872         * lto-cgraph.cc (input_offload_tables) <LTO_symtab_edge>: Correct
16873         'fn2' computation.
16874
16875 2022-07-08  Tamar Christina  <tamar.christina@arm.com>
16876
16877         * expmed.cc (store_bit_field_1): Add parameter that indicates if value is
16878         still undefined and if so emit a subreg move instead.
16879         (store_integral_bit_field): Likewise.
16880         (store_bit_field): Likewise.
16881         * expr.h (write_complex_part): Likewise.
16882         * expmed.h (store_bit_field): Add new parameter.
16883         * builtins.cc (expand_ifn_atomic_compare_exchange_into_call): Use new
16884         parameter.
16885         (expand_ifn_atomic_compare_exchange): Likewise.
16886         * calls.cc (store_unaligned_arguments_into_pseudos): Likewise.
16887         * emit-rtl.cc (validate_subreg): Likewise.
16888         * expr.cc (emit_group_store): Likewise.
16889         (copy_blkmode_from_reg): Likewise.
16890         (copy_blkmode_to_reg): Likewise.
16891         (clear_storage_hints): Likewise.
16892         (write_complex_part):  Likewise.
16893         (emit_move_complex_parts): Likewise.
16894         (expand_assignment): Likewise.
16895         (store_expr): Likewise.
16896         (store_field): Likewise.
16897         (expand_expr_real_2): Likewise.
16898         * ifcvt.cc (noce_emit_move_insn): Likewise.
16899         * internal-fn.cc (expand_arith_set_overflow): Likewise.
16900         (expand_arith_overflow_result_store): Likewise.
16901         (expand_addsub_overflow): Likewise.
16902         (expand_neg_overflow): Likewise.
16903         (expand_mul_overflow): Likewise.
16904         (expand_arith_overflow): Likewise.
16905
16906 2022-07-08  Haochen Jiang  <haochen.jiang@intel.com>
16907
16908         PR target/106180
16909         * config/i386/sse.md (sse2_cvtps2pd<mask_name>_1):
16910         Rename from *sse2_cvtps2pd<mask_name>_1.
16911         (vec_unpacks_lo_v4sf): Add handler for memory operand.
16912
16913 2022-07-08  Lulu Cheng  <chenglulu@loongson.cn>
16914
16915         * config/loongarch/loongarch.cc (loongarch_compute_frame_info):
16916         Modify fp_sp_offset and gp_sp_offset's calculation method,
16917         when frame->mask or frame->fmask is zero, don't minus UNITS_PER_WORD
16918         or UNITS_PER_FP_REG.
16919
16920 2022-07-07  David Malcolm  <dmalcolm@redhat.com>
16921
16922         * diagnostic-format-json.cc (json_from_location_range): Update for
16923         removal of label_text::maybe_free in favor of automatic memory
16924         management.
16925         * diagnostic-format-sarif.cc
16926         (sarif_builder::make_location_object): Likewise.
16927         * diagnostic-show-locus.cc (struct pod_label_text): New.
16928         (class line_label): Convert m_text from label_text to pod_label_text.
16929         (layout::print_any_labels): Move "text" to the line_label.
16930         * tree-diagnostic-path.cc (path_label::get_text): Update for
16931         removal of label_text::maybe_free in favor of automatic memory
16932         management.
16933         (event_range::print): Likewise.
16934         (default_tree_diagnostic_path_printer): Likewise.
16935         (default_tree_make_json_for_path): Likewise.
16936
16937 2022-07-07  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
16938
16939         * statistics.cc (get_function_name): Add check to see if fn is not NULL.
16940
16941 2022-07-07  Richard Biener  <rguenther@suse.de>
16942
16943         * tree-into-ssa.cc (iterating_old_ssa_names): New.
16944         (add_new_name_mapping): Grow {new,old}_ssa_names separately
16945         and only when actually needed.  Assert we are not growing
16946         the old_ssa_names set when iterating over it.
16947         (update_ssa): Remove old_ssa_names copying and empty_p
16948         query, note we are iterating over it and expect no set changes.
16949
16950 2022-07-07  Thomas Schwinge  <thomas@codesourcery.com>
16951
16952         * config/i386/intelmic-mkoffload.cc (generate_host_descr_file)
16953         (prepare_target_image, main): Handle OpenMP 'requires'.
16954         (generate_host_descr_file): Switch to 'GOMP_offload_register_ver',
16955         'GOMP_offload_unregister_ver'.
16956
16957 2022-07-07  Richard Biener  <rguenther@suse.de>
16958
16959         PR target/106219
16960         * config/i386/i386-builtins.cc (ix86_add_new_builtins): Properly
16961         set DECL_PURE_P.
16962
16963 2022-07-07  Richard Biener  <rguenther@suse.de>
16964
16965         * tree-ssa-loop-manip.cc (add_exit_phis_var): Return the
16966         number of LC PHIs inserted.
16967         (add_exit_phis): Return whether any variable required
16968         multiple LC PHI nodes.
16969         (rewrite_into_loop_closed_ssa_1): Use TODO_update_ssa_no_phi
16970         when possible.
16971
16972 2022-07-07  Richard Biener  <rguenther@suse.de>
16973
16974         * tree-ssa-loop-manip.cc (compute_live_loop_exits): Take
16975         the def loop exit block bitmap as argument instead of
16976         re-computing it here.
16977         (add_exit_phis_var): Adjust.
16978         (loop_name_cmp): New function.
16979         (add_exit_phis): Sort variables to insert LC PHI nodes
16980         after definition loop, for each definition loop compute
16981         the exit block bitmap once.
16982         (get_loops_exit): Remove.
16983         (rewrite_into_loop_closed_ssa_1): Do not pre-record
16984         all loop exit blocks into bitmaps.  Record loop exits
16985         if required.
16986
16987 2022-07-07  Dimitrije Milosevic  <Dimitrije.Milosevic@Syrmia.com>
16988
16989         * config/mips/mips.cc (mips_asan_shadow_offset): Reformat
16990         to handle the N32 ABI.
16991         * config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Remove
16992         the macro, as it is not needed anymore.
16993
16994 2022-07-06  Thomas Schwinge  <thomas@codesourcery.com>
16995
16996         * config/gcn/mkoffload.cc (process_obj): Clarify 'target_data' ->
16997         '[...]_data'.
16998         * config/nvptx/mkoffload.cc (process): Likewise.
16999
17000 2022-07-06  Thomas Schwinge  <thomas@codesourcery.com>
17001
17002         * omp-general.h (enum omp_requires): Use 'GOMP_REQUIRES_[...]'.
17003
17004 2022-07-05  Andrew MacLeod  <amacleod@redhat.com>
17005
17006         * value-relation.cc (relation_to_code): New vector.
17007         (relation_oracle::validate_relation): New.
17008         (set_relation): Allow ssa1 == ssa2 to be registered.
17009         * value-relation.h (validate_relation): New prototype.
17010         (query_relation): Make internal variant protected.
17011
17012 2022-07-05  Roger Sayle  <roger@nextmovesoftware.com>
17013
17014         * config/i386/i386.cc (ix86_rtx_costs) <COMPARE>: Provide costs
17015         for double word comparisons and tests (comparisons against zero).
17016         * config/i386/i386.md (*test<mode>_not_doubleword): Split DWI
17017         and;cmp into andn;cmp $0 as a pre-reload splitter.
17018         (*andn<dwi>3_doubleword_bmi): Use <dwi> instead of <mode> in name.
17019         (*<any_or><dwi>3_doubleword): Likewise.
17020
17021 2022-07-05  Roger Sayle  <roger@nextmovesoftware.com>
17022             Hongtao Liu  <hongtao.liu@intel.com>
17023
17024         * config/i386/i386-builtin.def (__builtin_ia32_palignr128): Change
17025         CODE_FOR_ssse3_palignrti to CODE_FOR_ssse3_palignrv1ti.
17026         * config/i386/i386-expand.cc (expand_vec_perm_palignr): Use V1TImode
17027         and gen_ssse3_palignv1ti instead of TImode.
17028         * config/i386/sse.md (SSESCALARMODE): Delete.
17029         (define_mode_attr ssse3_avx2): Handle V1TImode instead of TImode.
17030         (<ssse3_avx2>_palignr<mode>): Use VIMAX_AVX2_AVX512BW as a mode
17031         iterator instead of SSESCALARMODE.
17032         (ssse3_palignrdi): Optimize cases where operands[3] is 0 or 64,
17033         using a single move instruction (if required).
17034
17035 2022-07-05  Roger Sayle  <roger@nextmovesoftware.com>
17036             Uroš Bizjak  <ubizjak@gmail.com>
17037
17038         PR rtl-optimization/96692
17039         * config/i386/i386.md (define_split): Split ((A | B) ^ C) ^ D
17040         as (X & ~Y) ^ Z on target BMI when either C or D is A or B.
17041
17042 2022-07-05  Richard Biener  <rguenther@suse.de>
17043
17044         PR tree-optimization/106198
17045         * tree-cfgcleanup.cc (repair_loop_structures): Always do a
17046         full LC SSA rewrite but only if any blocks changed loop
17047         depth.
17048
17049 2022-07-05  Richard Biener  <rguenther@suse.de>
17050
17051         * tree-ssa-loop-manip.cc (find_uses_to_rename_def): Remove.
17052         (find_uses_to_rename_in_loop): Likewise.
17053         (rewrite_into_loop_closed_ssa_1): Remove loop parameter and
17054         uses.
17055         (rewrite_into_loop_closed_ssa): Adjust.
17056
17057 2022-07-05  Richard Biener  <rguenther@suse.de>
17058
17059         PR tree-optimization/106186
17060         * tree-ssa-propagate.cc (clean_up_loop_closed_phi):
17061         Properly handle virtual PHI nodes.
17062
17063 2022-07-05  Richard Biener  <rguenther@suse.de>
17064
17065         PR tree-optimization/106196
17066         * tree-vect-stmts.cc (vect_finish_stmt_generation): Properly
17067         handle aggregate returns of calls for VDEF updates.
17068
17069 2022-07-05  Richard Biener  <rguenther@suse.de>
17070
17071         * tree-vect-loop-manip.cc (vect_set_loop_condition_normal):
17072         Maintain LC SSA.
17073
17074 2022-07-05  Richard Sandiford  <richard.sandiford@arm.com>
17075
17076         * tree-vect-patterns.cc (vect_convert_input): Expect the input
17077         type to be signed for optab_vector_mixed_sign.  Update the vectype
17078         at the same time as type.
17079         (vect_recog_dot_prod_pattern): Update accordingly.  If usdot isn't
17080         available, try sdot instead.
17081         * tree-vect-loop.cc (vect_is_emulated_mixed_dot_prod): New function.
17082         (vect_model_reduction_cost): Model the cost of implementing usdot
17083         using sdot.
17084         (vectorizable_reduction): Likewise.  Skip target support test
17085         for lane reductions.
17086         (vect_emulate_mixed_dot_prod): New function.
17087         (vect_transform_reduction): Use it to emulate usdot via sdot.
17088
17089 2022-07-05  Richard Biener  <rguenther@suse.de>
17090
17091         PR tree-optimization/106182
17092         * loop-init.cc (fix_loop_structure): Return the number
17093         of newly discovered plus the number of deleted loops.
17094         * tree-cfgcleanup.cc (repair_loop_structures): Adjust
17095         variable name.
17096
17097 2022-07-04  Aldy Hernandez  <aldyh@redhat.com>
17098
17099         * gimple-range-fold.cc
17100         (fold_using_range::range_of_ssa_name_with_loop_info): Restrict the
17101         call to SCEV for irange supported types.
17102         (fold_using_range::range_of_builtin_int_call): Convert to vrange.
17103         * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Same.
17104         * tree-ssa-dom.cc (cprop_operand): Same.
17105
17106 2022-07-04  Roger Sayle  <roger@nextmovesoftware.com>
17107
17108         PR target/104489
17109         * calls.cc (precompute_register_parameters): Allow promotion
17110         of floating point values to be passed in wider integer modes
17111         by calling new convert_float_to_wider_int.
17112         (expand_call): Allow floating point results to be returned in
17113         wider integer modes by calling new convert wider_int_to_float.
17114         * cfgexpand.cc (expand_value_return): Allow backends to promote
17115         a scalar floating point return value to a wider integer mode
17116         by calling new convert_float_to_wider_int.
17117         * expr.cc (convert_float_to_wider_int): New function.
17118         (convert_wider_int_to_float): Likewise.
17119         (expand_expr_real_1) <expand_decl_rtl>: Allow backends to promote
17120         scalar FP PARM_DECLs to wider integer modes, by calling new
17121         convert_wider_int_to_float.
17122         * expr.h (convert_modes): Name arguments for improved documentation.
17123         (convert_float_to_wider_int): Prototype new function here.
17124         (convert_wider_int_to_float): Likewise.
17125         * function.cc (assign_parm_setup_stack): Allow floating point
17126         values to be passed on the stack as wider integer modes by
17127         calling new convert_wider_int_to_float.
17128
17129 2022-07-04  Martin Jambor  <mjambor@suse.cz>
17130
17131         PR tree-optimization/105860
17132         * tree-sra.cc (build_reconstructed_reference): Start expr
17133         traversal only just below the outermost union.
17134
17135 2022-07-04  Richard Biener  <rguenther@suse.de>
17136
17137         * tree-vect-loop-manip.cc (vect_do_peeling): Revert assert
17138         and update virtual SSA form again.  Assert we do so for
17139         a known set of transforms only.
17140         * tree-vectorizer.h (vec_info::any_known_not_updated_vssa): New.
17141         * tree-vect-stmts.cc (vectorizable_load): When vectorizing
17142         using load-lanes allow virtual SSA update.
17143
17144 2022-07-04  Tobias Burnus  <tobias@codesourcery.com>
17145             Chung-Lin Tang  <cltang@codesourcery.com>
17146             Thomas Schwinge  <thomas@codesourcery.com>
17147
17148         * config/gcn/mkoffload.cc (process_asm): Write '#include <stdint.h>'.
17149         (process_obj): Pass omp_requires_mask to GOMP_offload_register_ver.
17150         (main): Ask lto1 to obtain omp_requires_mask and pass it on.
17151         * config/nvptx/mkoffload.cc (process, main): Likewise.
17152         * lto-cgraph.cc (omp_requires_to_name): New.
17153         (input_offload_tables): Save omp_requires_mask.
17154         (output_offload_tables): Read it, check for consistency,
17155         save value for mkoffload.
17156         * omp-low.cc (lower_omp_target): Force output_offloadtables
17157         call for OMP_REQUIRES_TARGET_USED.
17158
17159 2022-07-04  Richard Biener  <rguenther@suse.de>
17160
17161         * tree-vect-loop-manip.cc (vect_do_peeling): Assert that
17162         no SSA update is needed instead of updating virtual SSA
17163         form.
17164         * tree-vect-stmts.cc (vectorizable_load): For hoisted
17165         invariant load use the loop entry virtual use.
17166         For emulated gather loads use the virtual use of the
17167         original stmt like vect_finish_stmt_generation would do.
17168
17169 2022-07-04  Eric Botcazou  <ebotcazou@adacore.com>
17170
17171         * tree-pretty-print.cc (dump_generic_node) <ARRAY_TYPE>: Add guard
17172         for direct circularity.
17173
17174 2022-07-04  Eric Botcazou  <ebotcazou@adacore.com>
17175
17176         * dwarf2out.cc (gen_array_type_die): Use the default lower bound of
17177         the language for vector types.
17178
17179 2022-07-04  Aldy Hernandez  <aldyh@redhat.com>
17180
17181         * value-range-storage.cc (irange_storage_slot::set_irange): Set
17182         nonzero bits in irange.
17183         (irange_storage_slot::get_irange): Get nonzero bits from irange.
17184         * value-range.cc (irange::operator=): Set nonzero bits.
17185         (irange::irange_set): Same.
17186         (irange::irange_set_anti_range): Same.
17187         (irange::set): Same.
17188         (irange::verify_range): Same.
17189         (irange::legacy_equal_p): Check nonzero bits.
17190         (irange::equal_p): Same.
17191         (irange::contains_p): Handle nonzero bits.
17192         (irange::irange_union): Same.
17193         (irange::irange_intersect): Same.
17194         (irange::dump): Same.
17195         (irange::set_nonzero_bits): New.
17196         (irange::get_nonzero_bits): New.
17197         (irange::intersect_nonzero_bits): New.
17198         (irange::union_nonzero_bits): New.
17199         (irange::dump_bitmasks): New.
17200         * value-range.h (class irange): Add m_nonzero_mask.
17201         (gt_ggc_mx): Handle nonzero bits.
17202         (gt_pch_nx): Same.
17203         (irange::set_undefined): Set nonzero bits.
17204         (irange::set_varying): Same.
17205         (irange::normalize_kind): Call set_undefined.
17206
17207 2022-07-04  Richard Biener  <rguenther@suse.de>
17208
17209         * tree-ssa-loop-manip.h
17210         (rewrite_virtuals_into_loop_closed_ssa): Remove.
17211         (rewrite_into_loop_closed_ssa_1): Likewise.
17212         * tree-ssa-loop-manip.cc (rewrite_into_loop_closed_ssa_1):
17213         Make static.
17214         (rewrite_into_loop_closed_ssa): Remove loop overload,
17215         always rewrite virtuals into LC SSA.
17216         (check_loop_closed_ssa_bb): Also check virtuals.
17217         * tree-ssa-dce.cc (remove_dead_phis): Preserve virtual
17218         LC PHIs when in LC SSA.
17219         * gimple-loop-jam.cc (fuse_loops): Do not rewrite into
17220         loop-closed SSA here, but ...
17221         (tree_loop_unroll_and_jam): ... here once.
17222         * tree-if-conv.cc (version_loop_for_if_conversion): Use
17223         the cheaper TODO_update_ssa_no_phi.
17224         * tree-loop-distribution.cc (version_loop_by_alias_check):
17225         Likewise.
17226         * tree-ssa-loop-unswitch.cc (tree_unswitch_single_loop):
17227         Likewise.
17228         * tree-vect-loop-manip.cc (vect_loop_versioning): Likewise.
17229         (tree_unswitch_outer_loop): Do not rewrite virtuals into
17230         LC ssa.
17231         * tree-parloops.cc (transform_to_exit_first_loop_alt):
17232         Likewise.
17233         (pass_parallelize_loops::execute): After finishing rewrite
17234         into LC SSA again because we do not maintain it properly.
17235
17236 2022-07-04  Richard Biener  <rguenther@suse.de>
17237
17238         PR tree-optimization/106055
17239         * graphite.cc (canonicalize_loop_closed_ssa): Check whether
17240         we can propagate.
17241
17242 2022-07-04  Haochen Jiang  <haochen.jiang@intel.com>
17243
17244         PR target/43618
17245         * config/i386/sse.md (extendv2sfv2df2): New define_expand.
17246         (sse2_cvtps2pd_<mask_name>): Change constraint of operands[1].
17247         (*sse2_cvtps2pd_<mask_name>_1): Rename from extendvsdfv2df2.
17248
17249 2022-07-04  Aldy Hernandez  <aldyh@redhat.com>
17250
17251         * ipa-cp.cc (ipcp_vr_lattice::meet_with_1): Use operator!=.
17252         * ipa-prop.cc (struct ipa_vr_ggc_hash_traits): Same.
17253         * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): Use set
17254         with two arguments.
17255         (find_unswitching_predicates_for_bb): Same.
17256         * tree-vrp.cc (range_fold_unary_symbolics_p): Same.
17257         * value-range-equiv.cc (value_range_equiv::equal_p): Use operator==.
17258         * value-range.cc (irange::equal_p): Rename to...
17259         (irange::operator==): ...this.
17260         * value-range.h (irange::set): Remove.
17261         (irange::operator==): Remove.
17262         (irange::set_zero): Use set with two arguments.
17263         * vr-values.cc (vr_values::extract_range_from_binary_expr): Same.
17264         (vr_values::extract_range_from_unary_expr): Same.
17265         (check_for_binary_op_overflow): Same.
17266         (bounds_of_var_in_loop): Same.
17267
17268 2022-07-03  H.J. Lu  <hjl.tools@gmail.com>
17269
17270         PR target/106022
17271         * config/i386/i386-protos.h (ix86_convert_const_vector_to_integer):
17272         New.
17273         * config/i386/i386.cc (ix86_convert_const_vector_to_integer):
17274         New.
17275         * config/i386/mmx.md (V_16_32_64): New.
17276         (*mov<mode>_imm): New patterns for stores with 16-bit, 32-bit
17277         and 64-bit constant vector.
17278         * config/i386/predicates.md (x86_64_const_vector_operand): New.
17279
17280 2022-07-03  Aldy Hernandez  <aldyh@redhat.com>
17281
17282         * gimple-range-cache.cc: Include value-range-storage.h.
17283         * gimple-range-cache.h (class block_range_cache): Add "class" to
17284         m_range_allocator.
17285         * gimple-range-edge.cc
17286         (gimple_outgoing_range::gimple_outgoing_range): Allocate allocator.
17287         (gimple_outgoing_range::~gimple_outgoing_range): Free allocator.
17288         (gimple_outgoing_range::calc_switch_ranges): Dereference allocator.
17289         * gimple-range-edge.h: Add "class" to m_range_allocator.
17290         * gimple-range-infer.cc
17291         (infer_range_manager::infer_range_manager): Allocate allocator.
17292         (infer_range_manager::~infer_range_manager): Free allocator.
17293         (infer_range_manager::get_nonzero): Dereference allocator.
17294         (infer_range_manager::add_range): Same.
17295         * gimple-range-infer.h (class vrange_allocator): Add "class" to
17296         m_range_allocator.
17297         * value-range-storage.h (class vrange_allocator): Move from
17298         value-range.h.
17299         (class obstack_vrange_allocator): Same.
17300         (class ggc_vrange_allocator): Same.
17301         (vrange_allocator::alloc_vrange): Same.
17302         (vrange_allocator::alloc_irange): Same.
17303         * value-range.h (class vrange_allocator): Move to value-range-storage.h.
17304         (class obstack_vrange_allocator): Same.
17305         (class ggc_vrange_allocator): Same.
17306
17307 2022-07-03  Aldy Hernandez  <aldyh@redhat.com>
17308
17309         * Makefile.in (OBJS): Add value-range-storage.o.
17310         (GTFILES): Add value-range-storage.h.
17311         * gengtype.cc (open_base_files): Add value-range-storage.h.
17312         * value-range-storage.cc: New file.
17313         * value-range-storage.h: New file.
17314
17315 2022-07-03  Xi Ruoyao  <xry111@xry111.site>
17316             Lulu Cheng  <chenglulu@loongson.cn>
17317
17318         * config/loongarch/loongarch.cc (loongarch_check_zero_div_p):
17319         New static function.
17320         (loongarch_idiv_insns): Use loongarch_check_zero_div_p instead
17321         of TARGET_CHECK_ZERO_DIV.
17322         (loongarch_output_division): Likewise.
17323         * common/config/loongarch/loongarch-common.cc
17324         (TARGET_DEFAULT_TARGET_FLAGS): Remove unneeded hook.
17325         * doc/invoke.texi: Update to match the new behavior.
17326
17327 2022-07-03  Ian Lance Taylor  <iant@golang.org>
17328
17329         * tree-ssa-dse.cc (dse_optimize_stmt): Only delete a trapping
17330         statement if -fdelete-dead-exceptions.
17331
17332 2022-07-02  Tim Lange  <mail@tim-lange.me>
17333
17334         PR analyzer/105900
17335         * doc/invoke.texi: Added Wanalyzer-allocation-size.
17336
17337 2022-07-02  Immad Mir  <mirimmad17@gmail.com>
17338
17339         PR analyzer/106003
17340         * Makefile.in (ANALYZER_OBJS): Add sm-fd.o.
17341         * doc/invoke.texi:  Add -Wanalyzer-fd-double-close, -Wanalyzer-fd-leak,
17342         -Wanalyzer-fd-access-mode-mismatch, -Wanalyzer-fd-use-without-check,
17343         -Wanalyzer-fd-use-after-close.
17344
17345 2022-07-01  Aldy Hernandez  <aldyh@redhat.com>
17346
17347         * wide-int.h (struct trailing_wide_ints): Add m_num_elements.
17348         (trailing_wide_ints::set_precision): Add num_elements argument.
17349         (trailing_wide_ints::extra_size): Same.
17350
17351 2022-07-01  Uroš Bizjak  <ubizjak@gmail.com>
17352
17353         * config/i386/i386.md (*andn<mode>3_doubleword_bmi):
17354         Use "r" constraint for operand 1.
17355
17356 2022-07-01  Richard Biener  <rguenther@suse.de>
17357
17358         * tree-into-ssa.cc (rewrite_update_dom_walker::before_dom_children):
17359         Do not look at interesting_blocks which is a copy of
17360         blocks_to_update.
17361         (update_ssa): Do not initialize it.
17362         (pass_build_ssa::execute): Set interesting_blocks to NULL
17363         after releasing it.
17364
17365 2022-07-01  Richard Biener  <rguenther@suse.de>
17366
17367         * tree-ssa-sccvn.cc (vn_reference_lookup_3): Revert
17368         back to using maybe_ne (off, -1).
17369
17370 2022-07-01  Richard Biener  <rguenther@suse.de>
17371
17372         * tree-ssa-sccvn.cc (vn_nary_op_insert_into): Make
17373         checking dominance check conditional on flag_checking.
17374
17375 2022-07-01  Tobias Burnus  <tobias@codesourcery.com>
17376
17377         * config/gcn/gcn-protos.h (print_operand_address): Remove register
17378         keyword on 'rtx addr' argument.
17379
17380 2022-07-01  Roger Sayle  <roger@nextmovesoftware.com>
17381             Uroš Bizjak  <ubizjak@gmail.com>
17382
17383         * config/i386/i386.md (*andn<mode>3_doubleword_bmi): Add constraints
17384         to post-reload define_insn_and_split.
17385
17386 2022-07-01  Jakub Jelinek  <jakub@redhat.com>
17387
17388         PR middle-end/106144
17389         * wide-int.cc (wi::shifted_mask): If end >= prec, return right after
17390         emitting element for shift or if shift is 0 first element after start.
17391         (wide_int_cc_tests): Add tests for equivalency of wi::mask and
17392         wi::shifted_mask with 0 start.
17393
17394 2022-07-01  Roger Sayle  <roger@nextmovesoftware.com>
17395
17396         PR target/106122
17397         * config/i386/i386.md (peephole2): Avoid generating pop %esp
17398         when optimizing for size.
17399
17400 2022-07-01  Roger Sayle  <roger@nextmovesoftware.com>
17401             Uroš Bizjak  <ubizjak@gmail.com>
17402
17403         * config/i386/i386.md (general_szext_operand): Add TImode
17404         support using x86_64_hilo_general_operand predicate.
17405         (*cmp<dwi>_doubleword): Use x86_64_hilo_general_operand predicate.
17406         (*add<dwi>3_doubleword): Improved optimization of zero addition.
17407         (and<mode>3): Use SDWIM mode iterator to add support for double
17408         word bit-wise AND in TImode.  Use force_reg when double word
17409         immediate operand isn't x86_64_hilo_general_operand.
17410         (and<dwi>3_doubleword): Generalized from anddi3_doubleword and
17411         converted into a post-reload splitter.
17412         (*andndi3_doubleword): Previous define_insn deleted.
17413         (*andn<mode>3_doubleword_bmi): New define_insn_and_split for
17414         TARGET_BMI that splits post-reload.
17415         (*andn<mode>3_doubleword): New define_insn_and_split for
17416         !TARGET_BMI, that lowers/splits before reload.
17417         (<any_or><mode>3): Use SDWIM mode iterator to add suppport for
17418         double word bit-wise XOR and bit-wise IOR in TImode.  Use
17419         force_reg when double word immediate operand isn't
17420         x86_64_hilo_general_operand.
17421         (*<any_or>di3_doubleword): Generalized from <any_or>di3_doubleword.
17422         (one_cmpl<mode>2): Use SDWIM mode iterator to add support for
17423         double word bit-wise NOT in TImode.
17424         (one_cmpl<dwi>2_doubleword): Generalize from one_cmpldi2_doubleword
17425         and converted into a post-reload splitter.
17426
17427 2022-07-01  Eric Botcazou  <ebotcazou@adacore.com>
17428
17429         PR middle-end/105874
17430         * expr.cc (expand_expr_real_1) <normal_inner_ref>: Force
17431         EXPAND_MEMORY for the expansion of the inner reference only
17432         in the usual cases where a memory reference is required.
17433
17434 2022-07-01  Richard Biener  <rguenther@suse.de>
17435
17436         PR tree-optimization/106131
17437         * tree-ssa-sccvn.cc (vn_reference_lookup_3): Force alias-set
17438         zero when offsetting the read looking through an aggregate
17439         copy.
17440
17441 2022-07-01  Martin Liska  <mliska@suse.cz>
17442
17443         PR tree-optimization/106126
17444         * gimple-if-to-switch.cc (struct condition_info): Save
17445         has_side_effect.
17446         (find_conditions): Parse all BBs.
17447         (pass_if_to_switch::execute): Allow only side effects for first
17448         BB.
17449
17450 2022-07-01  Haochen Jiang  <haochen.jiang@intel.com>
17451
17452         * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_AVX512F_UNSET):
17453         Add OPTION_MASK_ISA2_AVX512BW_UNSET, remove
17454         OPTION_MASK_ISA2_AVX512BF16_UNSET and
17455         OPTION_MASK_ISA2_AVX512FP16_UNSET.
17456
17457 2022-06-30  Joseph Myers  <joseph@codesourcery.com>
17458
17459         PR lto/106129
17460         * lto-wrapper.cc (find_option): Add argument start.
17461         (merge_and_complain): Loop over existing_opt_index and
17462         existing_opt2_index for Xassembler check.  Update calls to
17463         find_option.
17464         (find_and_merge_options): Add argument first to determine whether
17465         to merge options with those passed in *opts.
17466         (run_gcc): Update calls to find_and_merge_options.
17467
17468 2022-06-30  Aldy Hernandez  <aldyh@redhat.com>
17469
17470         * gimple-range-cache.cc (block_range_cache::block_range_cache):
17471         Rename vrange_allocator to obstack_vrange_allocator.
17472         (ssa_global_cache::ssa_global_cache): Same.
17473         * gimple-range-edge.h (class gimple_outgoing_range): Same.
17474         * gimple-range-infer.h (class infer_range_manager): Same.
17475         * value-range.h (class vrange_allocator): Make abstract.
17476         (class obstack_vrange_allocator): Inherit from vrange_allocator.
17477         (class ggc_vrange_allocator): New.
17478
17479 2022-06-30  Roger Sayle  <roger@nextmovesoftware.com>
17480             Uroš Bizjak  <ubizjak@gmail.com>
17481
17482         * config/i386/i386.md (swap_mode): Rename from *swap<mode> to
17483         provide gen_swapsi.
17484         (<any_rotate>di3): Handle !TARGET_64BIT rotations by 32 bits
17485         via new gen_<insn>32di2_doubleword below.
17486         (<anyrotate>32di2_doubleword): New define_insn_and_split
17487         that splits after reload as either a pair of move instructions
17488         or an xchgl (using gen_swapsi).
17489
17490 2022-06-30  Richard Biener  <rguenther@suse.de>
17491
17492         * domwalk.h (dom_walker::dom_walker): Update comment to
17493         reflect reality and new special argument value for
17494         bb_index_to_rpo.
17495         * domwalk.cc (dom_walker::dom_walker): Recognize -1
17496         bb_index_to_rpo.
17497         * tree-into-ssa.cc
17498         (rewrite_update_dom_walker::rewrite_update_dom_walker): Tell
17499         dom_walker to not use RPO.
17500
17501 2022-06-30  Martin Liska  <mliska@suse.cz>
17502
17503         * tree-ssa-dom.cc (pass_dominator::execute): Remove m_ranger as
17504         it is unused.
17505
17506 2022-06-30  Andrew MacLeod  <amacleod@redhat.com>
17507
17508         PR tree-optimization/106114
17509         * gimple-range-fold.cc (fold_using_range::relation_fold_and_or): Check
17510         statement operands instead of GORI cache.
17511
17512 2022-06-30  Antoni Boucher  <bouanto@zoho.com>
17513
17514         PR target/106095
17515         * config/i386/sse.md: Fix asm generation.
17516
17517 2022-06-29  Sergei Trofimovich  <siarheit@google.com>
17518
17519         PR c++/106102
17520         * system.h: Introduce INCLUDE_PTHREAD_H macros to include <pthread.h>.
17521
17522 2022-06-29  Joseph Myers  <joseph@codesourcery.com>
17523
17524         * config/nios2/nios2.cc (nios2_load_pic_address): Use gen_rtx_MEM
17525         not gen_const_mem for UNSPEC_PIC_CALL_SYM.
17526
17527 2022-06-29  Richard Biener  <rguenther@suse.de>
17528
17529         PR rtl-optimization/106082
17530         * combine.cc (distribute_notes): Preserve notes when
17531         they indicate a call doesn't perform a non-local goto.
17532
17533 2022-06-29  Richard Biener  <rguenther@suse.de>
17534
17535         PR tree-optimization/106112
17536         * tree-ssa-sccvn.cc (valueized_wider_op): Properly extend
17537         a constant operand according to its type.
17538
17539 2022-06-29  Martin Liska  <mliska@suse.cz>
17540
17541         * doc/invoke.texi: Remove removed evrp-mode.
17542
17543 2022-06-29  Lulu Cheng  <chenglulu@loongson.cn>
17544
17545         PR target/106097
17546         * config/loongarch/loongarch.cc (loongarch_build_integer):
17547         Remove undefined behavior from code.
17548
17549 2022-06-28  Dimitar Dimitrov  <dimitar@dinux.eu>
17550
17551         * doc/sourcebuild.texi: Document new no_alignment_constraints
17552         effective target check.
17553
17554 2022-06-28  Aldy Hernandez  <aldyh@redhat.com>
17555
17556         * Makefile.in: Remove gimple-ssa-evrp.o and gimple-ssa-evrp-analyze.o.
17557         * flag-types.h (enum evrp_mode): Remove.
17558         * params.opt: Remove --param=evrp-mode.
17559         * tree-vrp.cc (make_pass_early_vrp): New.
17560         (pass_vrp::execute): Call early VRP instance.
17561         * gimple-ssa-evrp-analyze.cc: Removed.
17562         * gimple-ssa-evrp-analyze.h: Removed.
17563         * gimple-ssa-evrp.cc: Removed.
17564
17565 2022-06-28  Alexandre Oliva  <oliva@adacore.com>
17566
17567         * Makefile.in (TFLAGS): New.
17568         (GCC_FOR_TARGET): Add TFLAGS.
17569         (FLAGS_TO_PASS): Pass TFLAGS down.
17570
17571 2022-06-28  Richard Biener  <rguenther@suse.de>
17572
17573         * tree-ssa-loop-split.cc (fix_loop_bb_probability): Do not
17574         call update_ssa.
17575
17576 2022-06-28  Richard Biener  <rguenther@suse.de>
17577
17578         * tree-into-ssa.cc (insert_updated_phi_nodes_for): Use
17579         mark_block_for_update.
17580         (update_ssa): Adjust.
17581
17582 2022-06-28  Xi Ruoyao  <xry111@xry111.site>
17583
17584         PR target/106096
17585         * config/loongarch/loongarch.h (REG_CLASS_CONTENTS): Exclude
17586         $r13 from SIBCALL_REGS.
17587         * config/loongarch/loongarch.cc (loongarch_regno_to_class):
17588         Change $r13 to JIRL_REGS.
17589
17590 2022-06-28  Aldy Hernandez  <aldyh@redhat.com>
17591
17592         * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Remove
17593         irange::supports_p.
17594
17595 2022-06-28  Richard Biener  <rguenther@suse.de>
17596
17597         PR middle-end/106053
17598         * match.pd ((T)a == (T)b): Avoid folding away sign
17599         changes in a comparison if we'd truncate to a boolean.
17600
17601 2022-06-28  Kewen Lin  <linkw@linux.ibm.com>
17602
17603         * config/rs6000/rs6000.md (*rotl<mode>3_insert_4): Replace mode
17604         iterator GPR with SImode, adjust the condition and output template,
17605         rename to ...
17606         (*rotlsi3_insert_4): ... this.
17607
17608 2022-06-27  David Malcolm  <dmalcolm@redhat.com>
17609
17610         * genmatch.cc: Add "final" and "override" to various vfunc
17611         implementations, removing redundant "virtual" as appropriate.
17612         * gensupport.cc: Likewise.
17613         * gimple-range-cache.h: Likewise.
17614         * ipa-icf-gimple.h: Likewise.
17615         * ipa-icf.h: Likewise.
17616         * read-md.h: Likewise.
17617         * read-rtl-function.cc: Likewise.
17618         * tree-ssa-loop-ch.cc: Likewise.
17619         * tree-ssa-sccvn.cc: Likewise.
17620
17621 2022-06-27  David Malcolm  <dmalcolm@redhat.com>
17622
17623         * config/i386/i386-features.h: Add "final" and "override" to
17624         scalar_chain vfunc implementations as appropriate.
17625
17626 2022-06-27  David Malcolm  <dmalcolm@redhat.com>
17627
17628         * tree-switch-conversion.h: Add "final" and "override" to cluster
17629         vfunc implementations as appropriate.
17630
17631 2022-06-27  David Malcolm  <dmalcolm@redhat.com>
17632
17633         * expr.cc: Add "final" and "override" to op_by_pieces_d vfunc
17634         implementations as appropriate.
17635
17636 2022-06-27  David Malcolm  <dmalcolm@redhat.com>
17637
17638         * compare-elim.cc: Add "final" and "override" to dom_walker vfunc
17639         implementations, removing redundant "virtual" as appropriate.
17640         * gimple-ssa-strength-reduction.cc: Likewise.
17641         * ipa-prop.cc: Likewise.
17642         * rtl-ssa/blocks.cc: Likewise.
17643         * tree-into-ssa.cc: Likewise.
17644         * tree-ssa-dom.cc: Likewise.
17645         * tree-ssa-math-opts.cc: Likewise.
17646         * tree-ssa-phiopt.cc: Likewise.
17647         * tree-ssa-propagate.cc: Likewise.
17648         * tree-ssa-sccvn.cc: Likewise.
17649         * tree-ssa-strlen.cc: Likewise.
17650         * tree-ssa-uncprop.cc: Likewise.
17651
17652 2022-06-27  David Malcolm  <dmalcolm@redhat.com>
17653
17654         * adjust-alignment.cc: Add "final" and "override" to opt_pass
17655         vfunc implementations, removing redundant "virtual" as
17656         appropriate.
17657         * asan.cc: Likewise.
17658         * auto-inc-dec.cc: Likewise.
17659         * auto-profile.cc: Likewise.
17660         * bb-reorder.cc: Likewise.
17661         * cfgcleanup.cc: Likewise.
17662         * cfgexpand.cc: Likewise.
17663         * cfgrtl.cc: Likewise.
17664         * cgraphbuild.cc: Likewise.
17665         * combine-stack-adj.cc: Likewise.
17666         * combine.cc: Likewise.
17667         * compare-elim.cc: Likewise.
17668         * config/i386/i386-features.cc: Likewise.
17669         * coroutine-passes.cc: Likewise.
17670         * cprop.cc: Likewise.
17671         * cse.cc: Likewise.
17672         * dce.cc: Likewise.
17673         * df-core.cc: Likewise.
17674         * dse.cc: Likewise.
17675         * dwarf2cfi.cc: Likewise.
17676         * early-remat.cc: Likewise.
17677         * except.cc: Likewise.
17678         * final.cc: Likewise.
17679         * function.cc: Likewise.
17680         * fwprop.cc: Likewise.
17681         * gcse.cc: Likewise.
17682         * gimple-harden-conditionals.cc: Likewise.
17683         * gimple-if-to-switch.cc: Likewise.
17684         * gimple-isel.cc: Likewise.
17685         * gimple-laddress.cc: Likewise.
17686         * gimple-loop-interchange.cc: Likewise.
17687         * gimple-loop-jam.cc: Likewise.
17688         * gimple-loop-versioning.cc: Likewise.
17689         * gimple-low.cc: Likewise.
17690         * gimple-ssa-backprop.cc: Likewise.
17691         * gimple-ssa-evrp.cc: Likewise.
17692         * gimple-ssa-isolate-paths.cc: Likewise.
17693         * gimple-ssa-nonnull-compare.cc: Likewise.
17694         * gimple-ssa-split-paths.cc: Likewise.
17695         * gimple-ssa-store-merging.cc: Likewise.
17696         * gimple-ssa-strength-reduction.cc: Likewise.
17697         * gimple-ssa-warn-access.cc: Likewise.
17698         * gimple-ssa-warn-alloca.cc: Likewise.
17699         * gimple-ssa-warn-restrict.cc: Likewise.
17700         * gimple-warn-recursion.cc: Likewise.
17701         * graphite.cc: Likewise.
17702         * ifcvt.cc: Likewise.
17703         * init-regs.cc: Likewise.
17704         * ipa-comdats.cc: Likewise.
17705         * ipa-cp.cc: Likewise.
17706         * ipa-devirt.cc: Likewise.
17707         * ipa-fnsummary.cc: Likewise.
17708         * ipa-free-lang-data.cc: Likewise.
17709         * ipa-icf.cc: Likewise.
17710         * ipa-inline.cc: Likewise.
17711         * ipa-modref.cc: Likewise.
17712         * ipa-profile.cc: Likewise.
17713         * ipa-pure-const.cc: Likewise.
17714         * ipa-reference.cc: Likewise.
17715         * ipa-split.cc: Likewise.
17716         * ipa-sra.cc: Likewise.
17717         * ipa-visibility.cc: Likewise.
17718         * ipa.cc: Likewise.
17719         * ira.cc: Likewise.
17720         * jump.cc: Likewise.
17721         * loop-init.cc: Likewise.
17722         * lower-subreg.cc: Likewise.
17723         * mode-switching.cc: Likewise.
17724         * modulo-sched.cc: Likewise.
17725         * multiple_target.cc: Likewise.
17726         * omp-expand.cc: Likewise.
17727         * omp-low.cc: Likewise.
17728         * omp-oacc-kernels-decompose.cc: Likewise.
17729         * omp-oacc-neuter-broadcast.cc: Likewise.
17730         * omp-offload.cc: Likewise.
17731         * omp-simd-clone.cc: Likewise.
17732         * passes.cc: Likewise.
17733         * postreload-gcse.cc: Likewise.
17734         * postreload.cc: Likewise.
17735         * predict.cc: Likewise.
17736         * recog.cc: Likewise.
17737         * ree.cc: Likewise.
17738         * reg-stack.cc: Likewise.
17739         * regcprop.cc: Likewise.
17740         * reginfo.cc: Likewise.
17741         * regrename.cc: Likewise.
17742         * reorg.cc: Likewise.
17743         * sancov.cc: Likewise.
17744         * sanopt.cc: Likewise.
17745         * sched-rgn.cc: Likewise.
17746         * stack-ptr-mod.cc: Likewise.
17747         * store-motion.cc: Likewise.
17748         * tracer.cc: Likewise.
17749         * trans-mem.cc: Likewise.
17750         * tree-call-cdce.cc: Likewise.
17751         * tree-cfg.cc: Likewise.
17752         * tree-cfgcleanup.cc: Likewise.
17753         * tree-complex.cc: Likewise.
17754         * tree-eh.cc: Likewise.
17755         * tree-emutls.cc: Likewise.
17756         * tree-if-conv.cc: Likewise.
17757         * tree-into-ssa.cc: Likewise.
17758         * tree-loop-distribution.cc: Likewise.
17759         * tree-nrv.cc: Likewise.
17760         * tree-object-size.cc: Likewise.
17761         * tree-parloops.cc: Likewise.
17762         * tree-predcom.cc: Likewise.
17763         * tree-profile.cc: Likewise.
17764         * tree-sra.cc: Likewise.
17765         * tree-ssa-ccp.cc: Likewise.
17766         * tree-ssa-copy.cc: Likewise.
17767         * tree-ssa-dce.cc: Likewise.
17768         * tree-ssa-dom.cc: Likewise.
17769         * tree-ssa-dse.cc: Likewise.
17770         * tree-ssa-forwprop.cc: Likewise.
17771         * tree-ssa-ifcombine.cc: Likewise.
17772         * tree-ssa-loop-ch.cc: Likewise.
17773         * tree-ssa-loop-im.cc: Likewise.
17774         * tree-ssa-loop-ivcanon.cc: Likewise.
17775         * tree-ssa-loop-prefetch.cc: Likewise.
17776         * tree-ssa-loop-split.cc: Likewise.
17777         * tree-ssa-loop-unswitch.cc: Likewise.
17778         * tree-ssa-loop.cc: Likewise.
17779         * tree-ssa-math-opts.cc: Likewise.
17780         * tree-ssa-phiopt.cc: Likewise.
17781         * tree-ssa-phiprop.cc: Likewise.
17782         * tree-ssa-pre.cc: Likewise.
17783         * tree-ssa-reassoc.cc: Likewise.
17784         * tree-ssa-sccvn.cc: Likewise.
17785         * tree-ssa-sink.cc: Likewise.
17786         * tree-ssa-strlen.cc: Likewise.
17787         * tree-ssa-structalias.cc: Likewise.
17788         * tree-ssa-uncprop.cc: Likewise.
17789         * tree-ssa-uninit.cc: Likewise.
17790         * tree-ssanames.cc: Likewise.
17791         * tree-stdarg.cc: Likewise.
17792         * tree-switch-conversion.cc: Likewise.
17793         * tree-tailcall.cc: Likewise.
17794         * tree-vect-generic.cc: Likewise.
17795         * tree-vectorizer.cc: Likewise.
17796         * tree-vrp.cc: Likewise.
17797         * tsan.cc: Likewise.
17798         * ubsan.cc: Likewise.
17799         * var-tracking.cc: Likewise.
17800         * vtable-verify.cc: Likewise.
17801         * web.cc: Likewise.
17802
17803 2022-06-27  Andrew Stubbs  <ams@codesourcery.com>
17804
17805         * config/gcn/gcn.md (*movbi): Remove assembler bug workarounds.
17806         (jump): Likewise.
17807         (movdi_symbol_save_scc): Likewise.
17808
17809 2022-06-27  Roger Sayle  <roger@nextmovesoftware.com>
17810
17811         PR rtl-optimization/7061
17812         * config/i386/i386.md (*highpartdisi2): New define_insn_and_split.
17813
17814 2022-06-27  Roger Sayle  <roger@nextmovesoftware.com>
17815
17816         PR tree-optimization/94026
17817         * match.pd (((X << C1) & C2) eq/ne C3): New simplification.
17818         (((X >> C1) & C2) eq/ne C3): Likewise.
17819
17820 2022-06-27  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
17821
17822         * statistics.cc: Include tree.h.
17823         (get_function_name): New function.
17824         (statistics_fini_pass_2): Call get_function_name instead of
17825         current_function_name.
17826         (statistics_counter_event): Call get_function_name instead of
17827         function_name.
17828         (statistics_histogram_event): Likewise.
17829
17830 2022-06-27  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
17831
17832         * config/xtensa/xtensa.md:
17833         Suppress unnecessary emitting nop insn in the split patterns for
17834         integer/FP constant synthesis, and add new peephole2 pattern that
17835         folds such synthesized additions.
17836
17837 2022-06-25  Aldy Hernandez  <aldyh@redhat.com>
17838
17839         * tree-ssa-dom.cc (dom_jt_state): Pass ranger to constructor
17840         instead of evrp.
17841         (dom_jt_state::push): Remove m_evrp.
17842         (dom_jt_state::pop): Same.
17843         (dom_jt_state::record_ranges_from_stmt): Remove.
17844         (dom_jt_state::register_equiv): Remove updating of evrp ranges.
17845         (class dom_jt_simplifier): Pass ranger to constructor.
17846         Inherit from hybrid_jt_simplifier.
17847         (dom_jt_simplifier::simplify): Convert to ranger.
17848         (pass_dominator::execute): Same.
17849         (all_uses_feed_or_dominated_by_stmt): New.
17850         (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges): New.
17851         (dom_opt_dom_walker::before_dom_children): Call
17852         set_global_ranges_from_unreachable_edges.
17853         Do not call record_ranges_from_stmt.
17854         (dom_opt_dom_walker::after_dom_children): Remove evrp use.
17855         (cprop_operand): Use int_range<> instead of value_range.
17856         (dom_opt_dom_walker::fold_cond): New.
17857         (dom_opt_dom_walker::optimize_stmt): Pass ranger to
17858         cprop_into_stmt.
17859         Use fold_cond() instead of vrp_visit_cond_stmt().
17860         * tree-ssa-threadedge.cc (jt_state::register_equivs_stmt): Do not
17861         pass state to simplifier.
17862         * vr-values.h (class vr_values): Make fold_cond public.
17863
17864 2022-06-25  Jeff Law  <jeffreyalaw@gmail.com>
17865
17866         * common/config/tilegx/tilegx-common.cc: Removed.
17867         * common/config/tilepro/tilepro-common.cc: Removed.
17868         * config.gcc: Remove tilegx and tilepro entries.
17869         * config/tilegx/constraints.md: Removed.
17870         * config/tilegx/feedback.h: Removed.
17871         * config/tilegx/linux.h: Removed.
17872         * config/tilegx/mul-tables.cc: Removed.
17873         * config/tilegx/predicates.md: Removed.
17874         * config/tilegx/sync.md: Removed.
17875         * config/tilegx/t-tilegx: Removed.
17876         * config/tilegx/tilegx-builtins.h: Removed.
17877         * config/tilegx/tilegx-c.cc: Removed.
17878         * config/tilegx/tilegx-generic.md: Removed.
17879         * config/tilegx/tilegx-modes.def: Removed.
17880         * config/tilegx/tilegx-multiply.h: Removed.
17881         * config/tilegx/tilegx-opts.h: Removed.
17882         * config/tilegx/tilegx-protos.h: Removed.
17883         * config/tilegx/tilegx.cc: Removed.
17884         * config/tilegx/tilegx.h: Removed.
17885         * config/tilegx/tilegx.md: Removed.
17886         * config/tilegx/tilegx.opt: Removed.
17887         * config/tilepro/constraints.md: Removed.
17888         * config/tilepro/feedback.h: Removed.
17889         * config/tilepro/gen-mul-tables.cc: Removed.
17890         * config/tilepro/linux.h: Removed.
17891         * config/tilepro/mul-tables.cc: Removed.
17892         * config/tilepro/predicates.md: Removed.
17893         * config/tilepro/t-tilepro: Removed.
17894         * config/tilepro/tilepro-builtins.h: Removed.
17895         * config/tilepro/tilepro-c.cc: Removed.
17896         * config/tilepro/tilepro-generic.md: Removed.
17897         * config/tilepro/tilepro-modes.def: Removed.
17898         * config/tilepro/tilepro-multiply.h: Removed.
17899         * config/tilepro/tilepro-protos.h: Removed.
17900         * config/tilepro/tilepro.cc: Removed.
17901         * config/tilepro/tilepro.h: Removed.
17902         * config/tilepro/tilepro.md: Removed.
17903         * config/tilepro/tilepro.opt: Removed.
17904         * configure.ac: Remove tilegx and tilepro entries.
17905         * configure: Rebuilt.
17906         * doc/extend.texi: Remove tilegx and tilepro entries.
17907         * doc/install.texi: Remove tilegx and tilepro entries.
17908         * doc/invoke.texi: Remove tilegx and tilepro entries.
17909         * doc/md.texi: Remove tilegx and tilepro entries.
17910
17911 2022-06-25  Roger Sayle  <roger@nextmovesoftware.com>
17912             Richard Biener  <rguenther@suse.de>
17913
17914         * regcprop.cc (pass_cprop_hardreg::execute): Perform a third
17915         iteration over each basic block that was updated by the second
17916         iteration.
17917
17918 2022-06-24  Jason Merrill  <jason@redhat.com>
17919
17920         PR c++/87729
17921         PR c++/20423
17922         * doc/invoke.texi: Document changes.
17923
17924 2022-06-24  Iain Buclaw  <ibuclaw@gdcproject.org>
17925
17926         * config/tilepro/gen-mul-tables.cc (tilegx_emit): Adjust loop
17927         condition to avoid overflow.
17928
17929 2022-06-24  Will Schmidt  <will_schmidt@vnet.ibm.com>
17930
17931         * config/rs6000/aix71.h (MASK_PPC_GPOPT, MASK_PPC_GFXOPT): Replace with
17932         OPTION_MASK_PPC_GPOPT, OPTION_MASK_PPC_GFXOPT.
17933         * config/rs6000/darwin.h (MASK_PPC_GFXOPT): Replace with
17934         OPTION_MASK_PPC_GFXOPT.
17935         * config/rs6000/darwin64-biarch.h (MASK_PPC_GFXOPT): Same.
17936         * config/rs6000/default64.h (MASK_PPC_GPOPT, MASK_PPC_GFXOPT): Replace with
17937         OPTION_MASK_PPC_GPOPT, OPTION_MASK_PPC_GFXOPT.
17938         * config/rs6000/rs6000-c.cc: Update comment.
17939         * config/rs6000/rs6000-cpus.def: Update RS6000_CPU macro calls.
17940         * config/rs6000/rs6000.cc (rs6000_darwin_file_start): Replace
17941         MASK_PPC_GPOPT with OPTION_MASK_PPC_GPOPT.
17942         (rs6000_builtin_mask_names): Replace MASK_PPC_GFXOPT, MASK_POPCNTB
17943         with OPTION_MASK_PPC_GFXOPT, OPTION_MASK_POPCNTB.
17944         * config/rs6000/rs6000.h: (MASK_P8_VECTOR, MASK_P9_VECTOR,
17945         MASK_P9_MISC, MASK_POPCNTB, MASK_POPCNTD, MASK_PPC_GFXOPT,
17946         MASK_PPC_GPOPT, MASK_RECIP_PRECISION, MASK_SOFT_FLOAT,
17947         MASK_VSX, MASK_POWER10, MASK_P10_FUSION): Delete.
17948
17949 2022-06-24  Will Schmidt  <will_schmidt@vnet.ibm.com>
17950
17951         * config/rs6000/aix71.h (TARGET_DEFAULT): Replace MASK_MFCRF with
17952         OPTION_MASK_MFCRF.
17953         * config/rs6000/darwin.h (TARGET_DEFAULT): Replace MASK_MULTIPLE with
17954         OPTION_MASK_MULTIPLE.
17955         * config/rs6000/darwin64-biarch.h (TARGET_DEFAULT): Same.
17956         * config/rs6000/default64.h (TARGET_DEFAULT): Replace MASK_MFCRF with
17957         OPTION_MASK_MFCRF.
17958         * config/rs6000/eabi.h (TARGET_DEFAULT): Replace MASK_EABI with
17959         OPTION_MASK_EABI.
17960         * config/rs6000/eabialtivec.h (TARGET_DEFAULT): Same.
17961         * config/rs6000/linuxaltivec.h (TARGET_DEFAULT): Replace
17962         MASK_ALTIVEC with OPTION_MASK_ALTIVEC.
17963         * config/rs6000/rs6000-cpus.def (MASK_ALTIVEC, MASK_CMPB,
17964         MASK_CRYPTO, MASK_DFP, MASK_DIRECT_MOVE, MASK_DLMZB, MASK_EABI,
17965         MASK_FLOAT128_KEYWORD, MASK_FLOAT128_HW, MASK_FPRND,
17966         MASK_P8_FUSION, MASK_HARD_FLOAT, MASK_HTM, MASK_ISEL, MASK_MFCRF,
17967         MASK_MMA, MASK_MULHW, MASK_MULTIPLE, MASK_NO_UPDATE):
17968         Replace with
17969         OPTION_MASK_ALTIVEC, OPTION_MASK_CMPB, OPTION_MASK_CRYPTO,
17970         OPTION_MASK_DFP, OPTION_MASK_DIRECT_MOVE, OPTION_MASK_DLMZB,
17971         OPTION_MASK_EABI, OPTION_MASK_FLOAT128_KEYWORD,
17972         OPTION_MASK_FLOAT128_HW, OPTION_MASK_FPRND, OPTION_MASK_P8_FUSION,
17973         OPTION_MASK_HARD_FLOAT, OPTION_MASK_HTM, OPTION_MASK_ISEL,
17974         OPTION_MASK_MFCRF, OPTION_MASK_MMA, OPTION_MASK_MULHW,
17975         OPTION_MASK_MULTIPLE, OPTION_MASK_NO_UPDATE.
17976         * config/rs6000/rs6000.cc (rs6000_darwin_file_start): Replace
17977         MASK_MFCRF, MASK_ALTIVEC with OPTION_MASK_MFCRF, OPTION_MASK_ALTIVEC.
17978         * config/rs6000/rs6000.h (TARGET_DEFAULT): Replace MASK_MULTIPLE
17979         with OPTION_MASK_MULTIPLE.
17980         (MASK_ALTIVEC, MASK_CMPB, MASK_CRYPTO, MASK_DFP,
17981         MASK_DIRECT_MOVE, MASK_DLMZB, MASK_EABI, MASK_FLOAT128_KEYWORD,
17982         MASK_FLOAT128_HW, MASK_FPRND, MASK_P8_FUSION, MASK_HARD_FLOAT,
17983         MASK_HTM, MASK_ISEL, MASK_MFCRF, MASK_MMA, MASK_MULHW,
17984         MASK_MULTIPLE, MASK_NO_UPDATE): Delete.
17985         * config/rs6000/vxworks.h (TARGET_DEFAULT): Replace MASK_EABI
17986         with OPTION_MASK_EABI.
17987
17988 2022-06-24  Will Schmidt  <will_schmidt@vnet.ibm.com>
17989
17990         * config/rs6000/rs6000.cc (RS6000_BTM_ALTIVEC, RS6000_BTM_CMPB,
17991         RS6000_BTM_VSX, RS6000_BTM_FRE, RS6000_BTM_P8_VECTOR,
17992         RS6000_BTM_P9_VECTOR, RS6000_BTM_P9_MISC, RS6000_BTM_MODULO,
17993         RS6000_BTM_CRYPTO, RS6000_BTM_HTM): Replace with OPTION_MASK_ALTIVEC,
17994         OPTION_MASK_CMPB, OPTION_MASK_VSX, OPTION_MASK_POPCNTB,
17995         OPTION_MASK_P8_VECTOR, OPTION_MASK_P9_VECTOR, OPTION_MASK_P9_MISC,
17996         OPTION_MASK_MODULO, OPTION_MASK_CRYPTO, OPTION_MASK_HTM.
17997         * config/rs6000/rs6000.h (RS6000_BTM_MODULO, RS6000_BTM_ALTIVEC,
17998         RS6000_BTM_CMPB, RS6000_BTM_VSX, RS6000_BTM_P8_VECTOR,
17999         RS6000_BTM_P9_VECTOR, RS6000_BTM_P9_MISC, RS6000_BTM_CRYPTO,
18000         RS6000_BTM_HTM, RS6000_BTM_FRE): Remove.
18001
18002 2022-06-24  Will Schmidt  <will_schmidt@vnet.ibm.com>
18003
18004         * config/rs6000/rs6000-c.cc: Update comments.
18005         * config/rs6000/rs6000.cc (RS6000_BTM_FRES, RS6000_BTM_FRSQRTE,
18006         RS6000_BTM_FRSQRTES, RS6000_BTM_POPCNTD, RS6000_BTM_CELL,
18007         RS6000_BTM_64BIT, RS6000_BTM_POWERPC64, RS6000_BTM_DFP,
18008         RS6000_BTM_HARD_FLOAT,RS6000_BTM_LDBL128, RS6000_BTM_FLOAT128,
18009         RS6000_BTM_FLOAT128_HW, RS6000_BTM_MMA, RS6000_BTM_P10): Replace
18010         with OPTION_MASK_PPC_GFXOPT, OPTION_MASK_PPC_GFXOPT,
18011         OPTION_MASK_POPCNTB, OPTION_MASK_POPCNTD,
18012         OPTION_MASK_FPRND, MASK_64BIT, MASK_POWERPC64,
18013         OPTION_MASK_DFP, OPTION_MASK_SOFT_FLOAT, OPTION_MASK_MULTIPLE,
18014         OPTION_MASK_FLOAT128_KEYWORD, OPTION_MASK_FLOAT128_HW,
18015         OPTION_MASK_MMA, OPTION_MASK_POWER10.
18016         * config/rs6000/rs6000.h (RS6000_BTM_FRES, RS6000_BTM_FRSQRTE,
18017         RS6000_BTM_FRSQRTES, RS6000_BTM_POPCNTD, RS6000_BTM_CELL,
18018         RS6000_BTM_DFP, RS6000_BTM_HARD_FLOAT, RS6000_BTM_LDBL128,
18019         RS6000_BTM_64BIT, RS6000_BTM_POWERPC64, RS6000_BTM_FLOAT128,
18020         RS6000_BTM_FLOAT128_HW, RS6000_BTM_MMA, RS6000_BTM_P10): Delete.
18021
18022 2022-06-24  Will Schmidt  <will_schmidt@vnet.ibm.com>
18023
18024         * config/rs6000/rs6000.h (RS6000_BTM_COMMON, RS6000_BTM_ALWAYS,
18025         MASK_REGNAMES, OPTION_MASK_REGNAMES, MASK_PROTOTYPE,
18026         OPTION_MASK_PROTOTYPE, MASK_UPDATE, OPTION_MASK_UPDATE): Remove.
18027
18028 2022-06-24  Richard Biener  <rguenther@suse.de>
18029
18030         PR middle-end/106070
18031         * match.pd (a != b ? a : b): Fix translation of
18032         operand_equal_for_comparison_p.
18033
18034 2022-06-24  Jan Hubicka  <jh@suse.cz>
18035
18036         PR ipa/106057
18037         * tree-ssa-alias.cc (stmt_kills_ref_p): Check for external throw.
18038
18039 2022-06-24  Martin Liska  <mliska@suse.cz>
18040
18041         PR middle-end/106059
18042         * profile-count.h: *= and /= operators need to modify this
18043         object.
18044
18045 2022-06-24  Roger Sayle  <roger@nextmovesoftware.com>
18046             Uroš Bizjak  <ubizjak@gmail.com>
18047
18048         PR target/105930
18049         * config/i386/i386.md (*<any_or>di3_doubleword): Split after
18050         reload.  Use rtx_equal_p to avoid creating memory-to-memory moves,
18051         and emit NOTE_INSN_DELETED if operand[2] is zero (i.e. with -O0).
18052
18053 2022-06-24  Alexandre Oliva  <oliva@adacore.com>
18054
18055         * common.opt (nostdlib++): New.
18056         * doc/invoke.texi (-nostdlib++): Document it.
18057
18058 2022-06-24  Alexandre Oliva  <oliva@adacore.com>
18059
18060         * doc/sourcebuild.texi (Environment attributes): Document
18061         two_plus_gigs.
18062
18063 2022-06-23  David Malcolm  <dmalcolm@redhat.com>
18064
18065         * common.opt (fdiagnostics-show-rules): New option.
18066         * diagnostic-format-json.cc (diagnostic_output_format_init_json):
18067         Fix up context->show_rules.
18068         * diagnostic-format-sarif.cc
18069         (diagnostic_output_format_init_sarif): Likewise.
18070         * diagnostic-metadata.h (diagnostic_metadata::rule): New class.
18071         (diagnostic_metadata::precanned_rule): New class.
18072         (diagnostic_metadata::add_rule): New.
18073         (diagnostic_metadata::get_num_rules): New.
18074         (diagnostic_metadata::get_rule): New.
18075         (diagnostic_metadata::m_rules): New field.
18076         * diagnostic.cc (diagnostic_initialize): Initialize show_rules.
18077         (print_any_rules): New.
18078         (diagnostic_report_diagnostic): Call it.
18079         * diagnostic.h (diagnostic_context::show_rules): New field.
18080         * doc/invoke.texi (-fno-diagnostics-show-rules): New option.
18081         * opts.cc (common_handle_option): Handle
18082         OPT_fdiagnostics_show_rules.
18083         * toplev.cc (general_init): Set up global_dc->show_rules.
18084
18085 2022-06-23  Martin Liska  <mliska@suse.cz>
18086
18087         PR c++/106062
18088         * ubsan.cc (sanitize_unreachable_fn): Change order of calls
18089         in order to initialize UBSAN built-ins.
18090
18091 2022-06-23  Martin Liska  <mliska@suse.cz>
18092
18093         PR ipa/105600
18094         * ipa-icf.cc (sem_item_optimizer::filter_removed_items):
18095         Skip variables with body_removed.
18096
18097 2022-06-23  liuhongt  <hongtao.liu@intel.com>
18098
18099         * config/i386/sse.md:(sse4_2_pcmpestr): Replace REGNO with
18100         reg_or_subregno.
18101         (sse4_2_pcmpistr): Ditto.
18102
18103 2022-06-23  Xionghu Luo  <xionghuluo@tencent.com>
18104
18105         * cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee): Fix
18106         typo.
18107         * tree-ssa-loop-ivopts.cc (struct iv_cand): Likewise.
18108         * tree-switch-conversion.h: Likewise.
18109
18110 2022-06-22  Jason Merrill  <jason@redhat.com>
18111
18112         PR c++/104642
18113         * common.opt: Add -funreachable-traps.
18114         * doc/invoke.texi (-funreachable-traps): Document it.
18115         * opts.cc (finish_options): Enable at -O0 or -Og.
18116         * tree.cc (build_common_builtin_nodes): Add __builtin_trap.
18117         (builtin_decl_unreachable, build_builtin_unreachable): New.
18118         * tree.h: Declare them.
18119         * ubsan.cc (sanitize_unreachable_fn): Factor out.
18120         (ubsan_instrument_unreachable): Use
18121         gimple_build_builtin_unreachable.
18122         * ubsan.h (sanitize_unreachable_fn): Declare.
18123         * gimple.cc (gimple_build_builtin_unreachable): New.
18124         * gimple.h: Declare it.
18125         * builtins.cc (expand_builtin_unreachable): Add assert.
18126         (fold_builtin_0): Call build_builtin_unreachable.
18127         * sanopt.cc: Don't run for just SANITIZE_RETURN
18128         or SANITIZE_UNREACHABLE when trapping.
18129         * cgraphunit.cc (walk_polymorphic_call_targets): Use new
18130         unreachable functions.
18131         * gimple-fold.cc (gimple_fold_call)
18132         (gimple_get_virt_method_for_vtable)
18133         * ipa-fnsummary.cc (redirect_to_unreachable)
18134         * ipa-prop.cc (ipa_make_edge_direct_to_target)
18135         (ipa_impossible_devirt_target)
18136         * ipa.cc (walk_polymorphic_call_targets)
18137         * tree-cfg.cc (pass_warn_function_return::execute)
18138         (execute_fixup_cfg)
18139         * tree-ssa-loop-ivcanon.cc (remove_exits_and_undefined_stmts)
18140         (unloop_loops)
18141         * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt):
18142         Likewise.
18143
18144 2022-06-22  Richard Sandiford  <richard.sandiford@arm.com>
18145
18146         PR tree-optimization/106019
18147         * tree-data-ref.cc (dr_may_alias_p): Try using the
18148         innermost_loop_behavior to disambiguate non-loop queries.
18149
18150 2022-06-22  Palmer Dabbelt  <palmer@rivosinc.com>
18151
18152         * doc/invoke.texi (RISC-V): Document -mtune=thead-c906.
18153
18154 2022-06-22  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
18155
18156         * config/xtensa/xtensa.md (bswapsi2_internal):
18157         Enlarge the buffer that is obviously smaller than the template
18158         string given to sprintf().
18159
18160 2022-06-21  Roger Sayle  <roger@nextmovesoftware.com>
18161             Marek Polacek  <polacek@redhat.com>
18162             Segher Boessenkool  <segher@kernel.crashing.org>
18163             Kewen Lin  <linkw@linux.ibm.com>
18164
18165         PR target/105991
18166         * config/rs6000/rs6000.md (rotl<mode>3_insert_3): Check that
18167         exact_log2 doesn't return -1 (or zero).
18168         (plus_xor): New code iterator.
18169         (*rotl<mode>3_insert_3_<code>): New define_insn_and_split.
18170
18171 2022-06-21  Nathan Sidwell  <nathan@acm.org>
18172
18173         * doc/invoke.texi (C++ Modules): Remove language-linkage
18174         as missing feature.
18175
18176 2022-06-21  Arjun Shankar  <arjun@redhat.com>
18177
18178         PR tree-optimization/94899
18179         * match.pd (X + C < Y + C -> (signed) X < (signed) Y, if C is
18180         0x80000000): New simplification.
18181
18182 2022-06-21  Jakub Jelinek  <jakub@redhat.com>
18183
18184         PR rtl-optimization/106032
18185         * ifcvt.cc (noce_try_sign_mask): Punt if !t_unconditional, and
18186         t may_trap_or_fault_p, even if it is cheap.
18187
18188 2022-06-21  Jakub Jelinek  <jakub@redhat.com>
18189
18190         PR middle-end/106030
18191         * expr.cc (expand_cond_expr_using_cmove): Pass NULL_RTX instead of
18192         temp to expand_operands if mode has been promoted.
18193
18194 2022-06-21  Xionghu Luo  <xionghuluo@tencent.com>
18195
18196         PR target/105740
18197         * gimple-if-to-switch.cc (find_conditions): Don't skip the first
18198         condition bb.
18199
18200 2022-06-21  Siddhesh Poyarekar  <siddhesh@gotplt.org>
18201
18202         PR tree-optimization/105736
18203         * tree-object-size.cc (addr_object_size): Return size_unknown
18204         when object offset computation returns an error.
18205
18206 2022-06-20  H.J. Lu  <hjl.tools@gmail.com>
18207
18208         PR target/105960
18209         * config/i386/i386.cc (ix86_function_ok_for_sibcall): Return
18210         false if PIC register is used when calling ifunc functions.
18211
18212 2022-06-20  Richard Biener  <rguenther@suse.de>
18213
18214         PR middle-end/106027
18215         * fold-const.cc (fold_to_nonsharp_ineq_using_bound): Use the
18216         type of the prevailing comparison for the new comparison type.
18217         (fold_binary_loc): Use proper types for the A < X && A + 1 > Y
18218         to A < X && A >= Y folding.
18219
18220 2022-06-20  Kewen Lin  <linkw@linux.ibm.com>
18221
18222         PR tree-optimization/105940
18223         * tree-vect-loop.cc (vect_analyze_loop_2): Add new parameter
18224         slp_done_for_suggested_uf and adjust with it accordingly.
18225         (vect_analyze_loop_1): Add new variable slp_done_for_suggested_uf,
18226         pass it down to vect_analyze_loop_2 for the initial analysis and
18227         applying suggested unroll factor.
18228         (vect_is_simple_reduction): Add parameter slp and adjust with it.
18229         (vect_analyze_scalar_cycles_1): Add parameter slp and pass down.
18230         (vect_analyze_scalar_cycles): Likewise.
18231
18232 2022-06-20  Martin Liska  <mliska@suse.cz>
18233
18234         * bb-reorder.cc (find_traces_1_round): Add operators / and * and
18235         use them.
18236         (better_edge_p): Likewise.
18237         * cfgloop.cc (find_subloop_latch_edge_by_profile): Likewise.
18238         * cfgloopmanip.cc (scale_loop_profile): Likewise.
18239         * cfgrtl.cc (force_nonfallthru_and_redirect): Likewise.
18240         * cgraph.cc (cgraph_edge::maybe_hot_p): Likewise.
18241         * config/sh/sh.cc (expand_cbranchdi4): Likewise.
18242         * dojump.cc (do_compare_rtx_and_jump): Likewise.
18243         * final.cc (compute_alignments): Likewise.
18244         * ipa-cp.cc (update_counts_for_self_gen_clones): Likewise.
18245         (decide_about_value): Likewise.
18246         * ipa-inline-analysis.cc (do_estimate_edge_time): Likewise.
18247         * loop-unroll.cc (unroll_loop_runtime_iterations): Likewise.
18248         * modulo-sched.cc (sms_schedule): Likewise.
18249         * omp-expand.cc (extract_omp_for_update_vars): Likewise.
18250         (expand_omp_ordered_sink): Likewise.
18251         (expand_omp_for_ordered_loops): Likewise.
18252         (expand_omp_for_static_nochunk): Likewise.
18253         * predict.cc (maybe_hot_count_p): Likewise.
18254         (probably_never_executed): Likewise.
18255         (set_even_probabilities): Likewise.
18256         (handle_missing_profiles): Likewise.
18257         (expensive_function_p): Likewise.
18258         * profile-count.h: Likewise.
18259         * profile.cc (compute_branch_probabilities): Likewise.
18260         * stmt.cc (emit_case_dispatch_table): Likewise.
18261         * symtab-thunks.cc (expand_thunk): Likewise.
18262         * tree-ssa-loop-manip.cc (tree_transform_and_unroll_loop): Likewise.
18263         * tree-ssa-sink.cc (select_best_block): Likewise.
18264         * tree-switch-conversion.cc (switch_decision_tree::analyze_switch_statement): Likewise.
18265         (switch_decision_tree::balance_case_nodes): Likewise.
18266         (switch_decision_tree::emit_case_nodes): Likewise.
18267         * tree-vect-loop.cc (scale_profile_for_vect_loop): Likewise.
18268
18269 2022-06-20  yulong  <shiyulong@iscas.ac.cn>
18270
18271         * config/riscv/riscv-builtins.cc (RISCV_ATYPE_VOID_PTR): New.
18272         * config/riscv/riscv-cmo.def (RISCV_BUILTIN): Changed the FUNCTION_TYPE
18273         of RISCV_BUILTIN.
18274         * config/riscv/riscv-ftypes.def (0): Remove unused.
18275         (1): New.
18276
18277 2022-06-19  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
18278
18279         * config/xtensa/xtensa.cc (xtensa_is_insn_L32R_p):
18280         Consider relaxed MOVI instructions as L32R.
18281
18282 2022-06-19  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
18283
18284         * config/xtensa/xtensa.cc (xtensa_emit_move_sequence):
18285         Use can_create_pseudo_p(), instead of using individual
18286         reload_in_progress and reload_completed.
18287         (xtensa_expand_block_set_small_loop): Use xtensa_simm8x256(),
18288         the existing predicate function.
18289         (xtensa_is_insn_L32R_p, gen_int_relational, xtensa_emit_sibcall):
18290         Use the standard RTX code predicate macros such as MEM_P,
18291         SYMBOL_REF_P and/or CONST_INT_P.
18292         * config/xtensa/xtensa.md: Avoid using numeric literals to determine
18293         if callee-saved register, at the split patterns for indirect sibcall
18294         fixups.
18295
18296 2022-06-18  Jakub Jelinek  <jakub@redhat.com>
18297
18298         * common.opt (flag_sanitize_trap): New variable.
18299         (fsanitize-trap=, fsanitize-trap): New options.
18300         (fsanitize-undefined-trap-on-error): Change into deprecated alias
18301         for -fsanitize-trap=all.
18302         * opts.h (struct sanitizer_opts_s): Add can_trap member.
18303         * opts.cc (finish_options): Complain about unsupported
18304         -fsanitize-trap= options.
18305         (sanitizer_opts): Add can_trap values to all entries.
18306         (get_closest_sanitizer_option): Ignore -fsanitize-trap=
18307         options which have can_trap false.
18308         (parse_sanitizer_options): Add support for -fsanitize-trap=.
18309         For -fsanitize-trap=all, enable
18310         SANITIZE_UNDEFINED | SANITIZE_UNDEFINED_NONDEFAULT.  Disallow
18311         -fsanitize-trap=vptr here.
18312         (common_handle_option): Handle OPT_fsanitize_trap_ and
18313         OPT_fsanitize_trap.
18314         * sanopt.cc (maybe_optimize_ubsan_null_ifn): Check
18315         flag_sanitize_trap & SANITIZE_{NULL,ALIGNMENT} instead of
18316         flag_sanitize_undefined_trap_on_error.
18317         * gcc.cc (sanitize_spec_function): Use
18318         flag_sanitize & ~flag_sanitize_trap instead of flag_sanitize
18319         and drop use of flag_sanitize_undefined_trap_on_error in
18320         "undefined" handling.
18321         * ubsan.cc (ubsan_instrument_unreachable): Use
18322         flag_sanitize_trap & SANITIZE_??? instead of
18323         flag_sanitize_undefined_trap_on_error.
18324         (ubsan_expand_bounds_ifn, ubsan_expand_null_ifn,
18325         ubsan_expand_objsize_ifn, ubsan_expand_ptr_ifn,
18326         ubsan_build_overflow_builtin, instrument_bool_enum_load,
18327         ubsan_instrument_float_cast, instrument_nonnull_arg,
18328         instrument_nonnull_return, instrument_builtin): Likewise.
18329         * doc/invoke.texi (-fsanitize-trap=, -fsanitize-trap): Document.
18330         (-fsanitize-undefined-trap-on-error): Document as deprecated
18331         alias of -fsanitize-trap.
18332
18333 2022-06-18  Jakub Jelinek  <jakub@redhat.com>
18334
18335         PR middle-end/105998
18336         * varasm.cc (narrowing_initializer_constant_valid_p): Check
18337         SCALAR_INT_MODE_P instead of INTEGRAL_MODE_P, also break on
18338         ! INTEGRAL_TYPE_P and do the same check also on op{0,1}'s type.
18339
18340 2022-06-18  Roger Sayle  <roger@nextmovesoftware.com>
18341
18342         PR tree-optimization/105835
18343         * match.pd (convert (mult zero_one_valued_p@1 INTEGER_CST@2)):
18344         Narrow integer multiplication by a zero_one_valued_p operand.
18345         (convert (cond @1 INTEGER_CST@2 INTEGER_CST@3)): Push integer
18346         conversions inside COND_EXPR where both data operands are
18347         integer constants.
18348
18349 2022-06-18  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
18350
18351         * config/xtensa/constraints.md (Y):
18352         Change to include integer constants until reload begins.
18353         * config/xtensa/predicates.md (move_operand): Ditto.
18354         * config/xtensa/xtensa.cc (xtensa_emit_move_sequence):
18355         Change to allow storing integer constants into litpool only after
18356         reload begins.
18357
18358 2022-06-17  Uroš Bizjak  <ubizjak@gmail.com>
18359
18360         PR target/105209
18361         * config/alpha/alpha-protos.h (alpha_store_data_bypass_p): New.
18362         * config/alpha/alpha.cc (alpha_store_data_bypass_p): New function.
18363         (alpha_store_data_bypass_p_1): Ditto.
18364         * config/alpha/ev4.md: Use alpha_store_data_bypass_p instead
18365         of generic store_data_bypass_p.
18366         (ev4_ist_c): Remove insn reservation.
18367
18368 2022-06-17  Uroš Bizjak  <ubizjak@gmail.com>
18369
18370         PR target/105970
18371         * config/i386/i386.cc (ix86_function_arg): Assert that
18372         the mode of pointer argumet is equal to ptr_mode, not Pmode.
18373
18374 2022-06-17  Uroš Bizjak  <ubizjak@gmail.com>
18375
18376         PR target/105993
18377         * config/i386/sse.md (vpmov splitter): Use (match_dup ...)
18378         instead of REGNO comparisons in combine splitter.
18379
18380 2022-06-17  Segher Boessenkool  <segher@kernel.crashing.org>
18381
18382         * config/rs6000/rs6000.cc (rs6000_invalid_conversion): Correct some
18383         types.
18384
18385 2022-06-17  Kito Cheng  <kito.cheng@sifive.com>
18386
18387         * config/riscv/bitmanip.md: Supress warning.
18388
18389 2022-06-17  Richard Earnshaw  <rearnsha@arm.com>
18390
18391         PR target/106004
18392         * config/arm/arm.cc (arm_print_operand, case 'V'): Use UINTVAL.
18393         Clear bits in the mask above bit 31.
18394
18395 2022-06-17  Richard Earnshaw  <rearnsha@arm.com>
18396
18397         * config/arm/mve.md (*mve_mov<mode>): Re-order constraints
18398         to avoid spilling trivial literals to the constant pool.
18399
18400 2022-06-16  David Malcolm  <dmalcolm@redhat.com>
18401
18402         * gimple-ssa-warn-access.cc (warn_string_no_nul): Add
18403         auto_diagnostic_group to group any warning with its note.
18404         (maybe_warn_for_bound): Likewise.
18405         (check_access): Likewise.
18406         (warn_dealloc_offset): Likewise.
18407         (pass_waccess::maybe_warn_memmodel): Likewise.
18408         (pass_waccess::maybe_check_dealloc_call): Likewise.
18409         (pass_waccess::warn_invalid_pointer): Likewise.
18410         (pass_waccess::check_dangling_stores): Likewise.
18411
18412 2022-06-16  Jason Merrill  <jason@redhat.com>
18413
18414         * opts.cc (common_handle_option) [OPT_fsanitize_]: Set
18415         opts_set->x_flag_sanitize.
18416
18417 2022-06-16  Jason Merrill  <jason@redhat.com>
18418
18419         * flags.h (issue_strict_overflow_warning): Comment #endif.
18420
18421 2022-06-16  Andrew MacLeod  <amacleod@redhat.com>
18422
18423         * gimple-range-cache.cc (ranger_cache::apply_inferred_ranges): If name
18424         was invaraint before, clear the invariant bit.
18425         * gimple-range-gori.cc (gori_map::set_range_invariant): Add a flag.
18426         * gimple-range-gori.h (gori_map::set_range_invariant): Adjust prototype.
18427
18428 2022-06-16  Andrew MacLeod  <amacleod@redhat.com>
18429
18430         * tree-ssa-propagate.cc (before_dom_children): Call value_of_stmt.
18431
18432 2022-06-16  Jakub Jelinek  <jakub@redhat.com>
18433
18434         PR tree-optimization/105983
18435         * match.pd (y == XXX_MIN || x < y -> x <= y - 1,
18436         y != XXX_MIN && x >= y -> x > y - 1): Use :cs instead of :s
18437         on non-equality comparisons.
18438
18439 2022-06-16  Jakub Jelinek  <jakub@redhat.com>
18440
18441         PR tree-optimization/105984
18442         * match.pd (__builtin_mul_overflow_p (x, cst, (stype) 0) ->
18443         x > stype_max / cst || x < stype_min / cst): fold_convert @1
18444         to TREE_TYPE (@0) just once and test for negative divisor
18445         also on that folded constant instead of on @1.
18446
18447 2022-06-16  Jakub Jelinek  <jakub@redhat.com>
18448
18449         PR middle-end/105951
18450         * tree-ssa-ccp.cc (optimize_atomic_bit_test_and,
18451         optimize_atomic_op_fetch_cmp_0): Remember gimple_call_fn (call)
18452         as last argument to the internal functions.
18453         * builtins.cc (expand_ifn_atomic_bit_test_and): Adjust for the
18454         extra call argument to ifns.  If expand_atomic_fetch_op fails for the
18455         lhs == NULL_TREE case, fall through into the optab code with
18456         gen_reg_rtx (mode) as target.  If second expand_atomic_fetch_op
18457         fails, construct a CALL_EXPR and expand that.
18458         (expand_ifn_atomic_op_fetch_cmp_0): Adjust for the extra call argument
18459         to ifns.  If expand_atomic_fetch_op fails, construct a CALL_EXPR and
18460         expand that.
18461
18462 2022-06-16  Haochen Gui  <guihaoc@gcc.gnu.org>
18463
18464         PR target/103316
18465         * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Enable
18466         gimple folding for RS6000_BIF_VCMPEQUT, RS6000_BIF_VCMPNET,
18467         RS6000_BIF_CMPGE_1TI, RS6000_BIF_CMPGE_U1TI, RS6000_BIF_VCMPGTUT,
18468         RS6000_BIF_VCMPGTST, RS6000_BIF_CMPLE_1TI, RS6000_BIF_CMPLE_U1TI.
18469         * config/rs6000/vector.md (VEC_IC): New mode iterator.  Add support
18470         for new Power10 V1TI instructions.
18471         (vec_cmp<mode><mode>): Set mode iterator to VEC_IC.
18472         (vec_cmpu<mode><mode>): Likewise.
18473         (vector_nlt<mode>): Set mode iterator to VEC_IC.
18474         (vector_nltv1ti): Remove.
18475         (vector_gtu<mode>): Set mode iterator to VEC_IC.
18476         (vector_gtuv1ti): Remove.
18477         (vector_nltu<mode>): Set mode iterator to VEC_IC.
18478         (vector_nltuv1ti): Remove.
18479         (vector_geu<mode>): Set mode iterator to VEC_IC.
18480         (vector_ngt<mode>): Likewise.
18481         (vector_ngtv1ti): Remove.
18482         (vector_ngtu<mode>): Set mode iterator to VEC_IC.
18483         (vector_ngtuv1ti): Remove.
18484         (vector_gtu_<mode>_p): Set mode iterator to VEC_IC.
18485         (vector_gtu_v1ti_p): Remove.
18486         (vrotl<mode>3): Set mode iterator to VEC_IC.  Emit insns for V1TI.
18487         (vrotlv1ti3): Remove.
18488         (vashr<mode>3): Set mode iterator to VEC_IC.  Emit insns for V1TI.
18489         (vashrv1ti3): Remove.
18490
18491 2022-06-16  Martin Liska  <mliska@suse.cz>
18492
18493         * gengtype-state.cc (read_a_state_token): Do not skip extra
18494         character after escaped sequence.
18495
18496 2022-06-16  Martin Liska  <mliska@suse.cz>
18497
18498         PR driver/105564
18499         * spellcheck.cc (test_find_closest_string): Add new test.
18500         * spellcheck.h (class best_match): Prefer a difference in
18501         trailing sign symbol.
18502
18503 2022-06-16  liuhongt  <hongtao.liu@intel.com>
18504
18505         PR tree-optimization/53533
18506         * match.pd: Simplify (B * v + C) * D -> BD * v + CD and
18507         (v + B) * C + D -> C * v + BCD when B,C,D are all INTEGER_CST,
18508         and there's no overflow or !TYPE_OVERFLOW_UNDEFINED.
18509
18510 2022-06-15  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
18511
18512         * config/xtensa/xtensa.md (DSC): New split pattern and mode iterator.
18513
18514 2022-06-15  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
18515
18516         * config/xtensa/predicates.md (reload_operand):
18517         New predicate.
18518         * config/xtensa/xtensa.md: New peephole2 pattern.
18519
18520 2022-06-15  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
18521
18522         * config/xtensa/xtensa.md (*round_up_to_even):
18523         New insn-and-split pattern.
18524         (*signed_ge_zero): Ditto.
18525
18526 2022-06-15  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
18527
18528         * config/xtensa/xtensa-protos.h (xtensa_prepare_expand_call,
18529         xtensa_emit_sibcall): New prototypes.
18530         (xtensa_expand_epilogue): Add new argument that specifies whether
18531         or not sibling call.
18532         * config/xtensa/xtensa.cc (TARGET_FUNCTION_OK_FOR_SIBCALL):
18533         New macro definition.
18534         (xtensa_prepare_expand_call): New function in order to share
18535         the common code.
18536         (xtensa_emit_sibcall, xtensa_function_ok_for_sibcall):
18537         New functions.
18538         (xtensa_expand_epilogue): Add new argument sibcall_p and use it
18539         for sibling call handling.
18540         * config/xtensa/xtensa.md (call, call_value):
18541         Use xtensa_prepare_expand_call.
18542         (call_internal, call_value_internal):
18543         Add the condition in order to be disabled if sibling call.
18544         (sibcall, sibcall_value, sibcall_epilogue): New expansions.
18545         (sibcall_internal, sibcall_value_internal): New insn patterns,
18546         and split ones in order to take care of the indirect sibcalls.
18547
18548 2022-06-15  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
18549
18550         * doc/invoke.texi: Document -mextra-l32r-costs= option.
18551
18552 2022-06-15  David Malcolm  <dmalcolm@redhat.com>
18553
18554         PR analyzer/105962
18555         * doc/invoke.texi: Add -fno-analyzer-undo-inlining.
18556         * tree-diagnostic-path.cc (default_tree_diagnostic_path_printer):
18557         Extend -fdiagnostics-path-format=separate-events so that with
18558         -fdiagnostics-show-path-depths it prints fndecls as well as stack
18559         depths.
18560
18561 2022-06-15  David Malcolm  <dmalcolm@redhat.com>
18562
18563         * value-relation.h: Add "final" and "override" to relation_oracle
18564         vfunc implementations as appropriate.
18565
18566 2022-06-15  Richard Sandiford  <richard.sandiford@arm.com>
18567
18568         PR middle-end/105975
18569         Revert everything apart from the expand_fn_using_insn and
18570         expand_direct_optab_fn changes from:
18571         * internal-fn.def (DEF_INTERNAL_INSN_FN): New macro.
18572         (GOMP_SIMT_ENTER_ALLOC, GOMP_SIMT_EXIT, GOMP_SIMT_LANE)
18573         (GOMP_SIMT_LAST_LANE, GOMP_SIMT_ORDERED_PRED, GOMP_SIMT_VOTE_ANY)
18574         (GOMP_SIMT_XCHG_BFLY, GOMP_SIMT_XCHG_IDX): Use it.
18575         * internal-fn.h (direct_internal_fn_info::directly_mapped): New
18576         member variable.
18577         (direct_internal_fn_info::vectorizable): Reduce to 1 bit.
18578         (direct_internal_fn_p): Also return true for internal functions
18579         that map directly to instructions defined target-insns.def.
18580         (direct_internal_fn): Adjust comment accordingly.
18581         * internal-fn.cc (direct_insn, optab1, optab2, vectorizable_optab1)
18582         (vectorizable_optab2): New local macros.
18583         (not_direct): Initialize directly_mapped.
18584         (mask_load_direct, load_lanes_direct, mask_load_lanes_direct)
18585         (gather_load_direct, len_load_direct, mask_store_direct)
18586         (store_lanes_direct, mask_store_lanes_direct, vec_cond_mask_direct)
18587         (vec_cond_direct, scatter_store_direct, len_store_direct)
18588         (vec_set_direct, unary_direct, binary_direct, ternary_direct)
18589         (cond_unary_direct, cond_binary_direct, cond_ternary_direct)
18590         (while_direct, fold_extract_direct, fold_left_direct)
18591         (mask_fold_left_direct, check_ptrs_direct): Use the macros above.
18592         (expand_GOMP_SIMT_ENTER_ALLOC, expand_GOMP_SIMT_EXIT): Delete
18593         (expand_GOMP_SIMT_LANE, expand_GOMP_SIMT_LAST_LANE): Likewise;
18594         (expand_GOMP_SIMT_ORDERED_PRED, expand_GOMP_SIMT_VOTE_ANY): Likewise.
18595         (expand_GOMP_SIMT_XCHG_BFLY, expand_GOMP_SIMT_XCHG_IDX): Likewise.
18596         (direct_internal_fn_types): Handle functions that map to instructions
18597         defined in target-insns.def.
18598         (direct_internal_fn_types): Likewise.
18599         (direct_internal_fn_supported_p): Likewise.
18600         (internal_fn_expanders): Likewise.
18601         (expand_fn_using_insn): New function,
18602         split out and adapted from...
18603         (expand_direct_optab_fn): ...here.
18604         (expand_GOMP_SIMT_ENTER_ALLOC): Use it.
18605         (expand_GOMP_SIMT_EXIT): Likewise.
18606         (expand_GOMP_SIMT_LANE): Likewise.
18607         (expand_GOMP_SIMT_LAST_LANE): Likewise.
18608         (expand_GOMP_SIMT_ORDERED_PRED): Likewise.
18609         (expand_GOMP_SIMT_VOTE_ANY): Likewise.
18610         (expand_GOMP_SIMT_XCHG_BFLY): Likewise.
18611         (expand_GOMP_SIMT_XCHG_IDX): Likewise.
18612
18613 2022-06-15  Richard Earnshaw  <rearnsha@arm.com>
18614
18615         PR target/105981
18616         * config/arm/arm.cc (gen_cpymem_ldrd_strd): Rename low_reg and hi_reg
18617         to first_reg and second_reg respectively.  Initialize them correctly
18618         when generating big-endian code.
18619
18620 2022-06-15  Richard Earnshaw  <rearnsha@arm.com>
18621
18622         PR target/105974
18623         * config/arm/arm.cc (arm_bfi_1_p): Use UINTVAL instead of XUINT.
18624
18625 2022-06-15  Richard Biener  <rguenther@suse.de>
18626
18627         PR tree-optimization/105971
18628         * tree-ssa-alias.cc (refs_may_alias_p_2): Put bail-out for
18629         FUNCTION_DECL and LABEL_DECL refs after decl-decl disambiguation
18630         to leak less surprising alias results.
18631
18632 2022-06-15  Richard Biener  <rguenther@suse.de>
18633
18634         PR tree-optimization/105969
18635         * gimple-ssa-sprintf.cc (get_origin_and_offset_r): Avoid division
18636         by zero in overflow check.
18637
18638 2022-06-15  Richard Sandiford  <richard.sandiford@arm.com>
18639
18640         PR tree-optimization/105254
18641         PR tree-optimization/105940
18642         Revert:
18643         * config/aarch64/aarch64.cc
18644         (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
18645         loop_vec_info as argument.  Restrict the unroll factor to values
18646         that divide the VF.
18647         (aarch64_vector_costs::finish_cost): Update call accordingly.
18648
18649 2022-06-15  Richard Sandiford  <richard.sandiford@arm.com>
18650
18651         * read-rtl.cc (find_int): Substitute symbolic constants
18652         before converting the string to an integer.
18653
18654 2022-06-15  Roger Sayle  <roger@nextmovesoftware.com>
18655             Richard Biener  <rguenther@suse.de>
18656
18657         * match.pd (convert (lshift @1 INTEGER_CST@2)): Narrow integer
18658         left shifts by a constant when the result is truncated, and the
18659         shift constant is well-defined.
18660         * tree-vect-patterns.cc (vect_recog_rotate_pattern): Add
18661         support for rotations of signed integer types, by lowering
18662         using unsigned vector shifts.
18663
18664 2022-06-15  liuhongt  <hongtao.liu@intel.com>
18665
18666         PR target/105953
18667         * config/i386/sse.md (*avx_cmp<mode>3_ltint_not): Force_reg
18668         operands[3].
18669
18670 2022-06-14  Surya Kumari Jangala  <jskumari@linux.ibm.com>
18671
18672         PR rtl-optimization/105041
18673         * regrename.cc (check_new_reg_p): Use nregs value from du chain.
18674
18675 2022-06-14  Segher Boessenkool  <segher@kernel.crashing.org>
18676
18677         * config/rs6000/vsx.md (VS_scalar): Delete.
18678         (rest of file): Adjust.
18679
18680 2022-06-14  Jan Hubicka  <hubicka@ucw.cz>
18681
18682         PR ipa/105739
18683         * ipa-prop.cc (ipa_load_from_parm_agg): Punt on volatile loads.
18684
18685 2022-06-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
18686
18687         * config/riscv/bitmanip.md: Add split to handle opportunities
18688         for slli + sh[123]add.uw
18689
18690 2022-06-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
18691
18692         * config/riscv/predicates.md (consecutive_bits_operand):
18693         Implement new predicate.
18694
18695 2022-06-14  Richard Biener  <rguenther@suse.de>
18696
18697         PR tree-optimization/105946
18698         * tree-ssa-uninit.cc (maybe_warn_pass_by_reference):
18699         Do not look at arguments not specified in the function call.
18700
18701 2022-06-14  Richard Biener  <rguenther@suse.de>
18702
18703         PR middle-end/105965
18704         * match.pd (view_convert CONSTRUCTOR): Handle single-element
18705         CTOR case.
18706
18707 2022-06-14  Eric Botcazou  <ebotcazou@adacore.com>
18708
18709         * warning-control.cc (copy_warning) [generic version]: Do not erase
18710         the warning data of the destination location when the no-warning
18711         bit is not set on the source.
18712         (copy_warning) [tree version]: Return early if TO is equal to FROM.
18713         (copy_warning) [gimple version]: Likewise.
18714
18715 2022-06-14  Kewen Lin  <linkw@linux.ibm.com>
18716
18717         PR tree-optimization/105940
18718         * tree-vect-loop.cc (vect_analyze_loop_2): Move the place of
18719         applying suggested_unroll_factor after start_over.
18720
18721 2022-06-14  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
18722
18723         * config/xtensa/predicates.md (shifted_mask_operand):
18724         New predicate.
18725         * config/xtensa/xtensa.md (*andsi3_const_pow2_minus_one):
18726         New insn-and-split pattern.
18727         (*andsi3_const_negative_pow2, *andsi3_const_shifted_mask,
18728         *masktrue_const_pow2_minus_one, *masktrue_const_negative_pow2,
18729         *masktrue_const_shifted_mask): Ditto.
18730
18731 2022-06-14  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
18732
18733         * config/xtensa/xtensa.md (*masktrue_bitcmpl): New insn pattern.
18734
18735 2022-06-14  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
18736
18737         * config/xtensa/xtensa-protos.h (xtensa_emit_branch):
18738         Remove the first argument.
18739         (xtensa_emit_bit_branch): Remove it because now called only from the
18740         output statement of *bittrue insn pattern.
18741         * config/xtensa/xtensa.cc (gen_int_relational): Remove the last
18742         argument 'p_invert', and make so that the condition is reversed by
18743         itself as needed.
18744         (xtensa_expand_conditional_branch): Share the common path, and remove
18745         condition inversion code.
18746         (xtensa_emit_branch, xtensa_emit_movcc): Simplify by removing the
18747         "false side" pattern.
18748         (xtensa_emit_bit_branch): Remove it because of the abovementioned
18749         reason, and move the function body to *bittrue insn pattern.
18750         * config/xtensa/xtensa.md (*bittrue): Transplant the output
18751         statement from removed xtensa_emit_bit_branch().
18752         (*bfalse, *ubfalse, *bitfalse, *maskfalse): Remove the "false side"
18753         insn patterns.
18754
18755 2022-06-14  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
18756
18757         * config/xtensa/predicates.md (logical_shift_operator,
18758         xtensa_shift_per_byte_operator): New predicates.
18759         * config/xtensa/xtensa-protos.h (xtensa_shlrd_which_direction):
18760         New prototype.
18761         * config/xtensa/xtensa.cc (xtensa_shlrd_which_direction):
18762         New helper function for funnel shift patterns.
18763         * config/xtensa/xtensa.md (ior_op): New code iterator.
18764         (*ashlsi3_1): Replace with new split pattern.
18765         (*shift_per_byte): Unify *ashlsi3_3x, *ashrsi3_3x and *lshrsi3_3x.
18766         (*shift_per_byte_omit_AND_0, *shift_per_byte_omit_AND_1):
18767         New insn-and-split patterns that redirect to *xtensa_shift_per_byte,
18768         in order to omit unnecessary bitwise AND operation.
18769         (*shlrd_reg_<code>, *shlrd_const_<code>, *shlrd_per_byte_<code>,
18770         *shlrd_per_byte_<code>_omit_AND):
18771         New insn patterns for funnel shifts.
18772
18773 2022-06-13  Jason Merrill  <jason@redhat.com>
18774
18775         * tree-cfg.cc (pass_warn_function_return::execute): Also check
18776         BUILT_IN_TRAP.
18777
18778 2022-06-13  Maciej W. Rozycki  <macro@embecosm.com>
18779
18780         * config/riscv/riscv.md (length): Remove the explicit setting
18781         for "fcmp".
18782
18783 2022-06-13  H.J. Lu  <hjl.tools@gmail.com>
18784
18785         * common/config/i386/cpuinfo.h (get_available_features): Require
18786         AVX for F16C and VAES.
18787
18788 2022-06-13  Uroš Bizjak  <ubizjak@gmail.com>
18789
18790         PR target/105927
18791         * config/i386/predicates.md (register_no_elim_operand):
18792         Return true for subreg of a memory operand.
18793
18794 2022-06-13  Richard Sandiford  <richard.sandiford@arm.com>
18795
18796         * internal-fn.def (DEF_INTERNAL_INSN_FN): New macro.
18797         (GOMP_SIMT_ENTER_ALLOC, GOMP_SIMT_EXIT, GOMP_SIMT_LANE)
18798         (GOMP_SIMT_LAST_LANE, GOMP_SIMT_ORDERED_PRED, GOMP_SIMT_VOTE_ANY)
18799         (GOMP_SIMT_XCHG_BFLY, GOMP_SIMT_XCHG_IDX): Use it.
18800         * internal-fn.h (direct_internal_fn_info::directly_mapped): New
18801         member variable.
18802         (direct_internal_fn_info::vectorizable): Reduce to 1 bit.
18803         (direct_internal_fn_p): Also return true for internal functions
18804         that map directly to instructions defined target-insns.def.
18805         (direct_internal_fn): Adjust comment accordingly.
18806         * internal-fn.cc (direct_insn, optab1, optab2, vectorizable_optab1)
18807         (vectorizable_optab2): New local macros.
18808         (not_direct): Initialize directly_mapped.
18809         (mask_load_direct, load_lanes_direct, mask_load_lanes_direct)
18810         (gather_load_direct, len_load_direct, mask_store_direct)
18811         (store_lanes_direct, mask_store_lanes_direct, vec_cond_mask_direct)
18812         (vec_cond_direct, scatter_store_direct, len_store_direct)
18813         (vec_set_direct, unary_direct, binary_direct, ternary_direct)
18814         (cond_unary_direct, cond_binary_direct, cond_ternary_direct)
18815         (while_direct, fold_extract_direct, fold_left_direct)
18816         (mask_fold_left_direct, check_ptrs_direct): Use the macros above.
18817         (expand_GOMP_SIMT_ENTER_ALLOC, expand_GOMP_SIMT_EXIT): Delete
18818         (expand_GOMP_SIMT_LANE, expand_GOMP_SIMT_LAST_LANE): Likewise;
18819         (expand_GOMP_SIMT_ORDERED_PRED, expand_GOMP_SIMT_VOTE_ANY): Likewise.
18820         (expand_GOMP_SIMT_XCHG_BFLY, expand_GOMP_SIMT_XCHG_IDX): Likewise.
18821         (direct_internal_fn_types): Handle functions that map to instructions
18822         defined in target-insns.def.
18823         (direct_internal_fn_types): Likewise.
18824         (direct_internal_fn_supported_p): Likewise.
18825         (internal_fn_expanders): Likewise.
18826
18827 2022-06-13  Richard Sandiford  <richard.sandiford@arm.com>
18828
18829         * internal-fn.cc (expand_fn_using_insn): New function,
18830         split out and adapted from...
18831         (expand_direct_optab_fn): ...here.
18832         (expand_GOMP_SIMT_ENTER_ALLOC): Use it.
18833         (expand_GOMP_SIMT_EXIT): Likewise.
18834         (expand_GOMP_SIMT_LANE): Likewise.
18835         (expand_GOMP_SIMT_LAST_LANE): Likewise.
18836         (expand_GOMP_SIMT_ORDERED_PRED): Likewise.
18837         (expand_GOMP_SIMT_VOTE_ANY): Likewise.
18838         (expand_GOMP_SIMT_XCHG_BFLY): Likewise.
18839         (expand_GOMP_SIMT_XCHG_IDX): Likewise.
18840
18841 2022-06-13  Jakub Jelinek  <jakub@redhat.com>
18842
18843         * omp-expand.cc (expand_omp_target): Remap user provided
18844         device clause arguments, -1 to -2 and -2 to -3, either
18845         at compile time if constant, or at runtime.
18846
18847 2022-06-13  Eric Botcazou  <ebotcazou@adacore.com>
18848
18849         * common.opt (finstrument-functions): Set explicit value.
18850         (-finstrument-functions-once): New option.
18851         * doc/invoke.texi (Program Instrumentation Options): Document it.
18852         * gimplify.cc (build_instrumentation_call): New static function.
18853         (gimplify_function_tree): Call it to emit the instrumentation calls
18854         if -finstrument-functions[-once] is specified.
18855
18856 2022-06-13  Eric Botcazou  <ebotcazou@adacore.com>
18857
18858         * dwarf2out.cc (output_one_line_info_table): Initialize prev_addr.
18859         * gimple.h (gimple_set_location): Do not copy warning data from
18860         the previous location when it is UNKNOWN_LOCATION.
18861         * optabs.cc (expand_widen_pattern_expr): Always set oprnd{1,2}.
18862
18863 2022-06-13  Jakub Jelinek  <jakub@redhat.com>
18864
18865         PR target/105911
18866         * config/i386/i386.md (*ashl<dwi>3_doubleword_mask,
18867         *<insn><dwi>3_doubleword_mask): Use operands[3] masked with
18868         (<MODE_SIZE> * BITS_PER_UNIT) - 1 as AND operand instead of
18869         operands[3] unmodified.
18870
18871 2022-06-12  Simon Wright  <simon@pushface.org>
18872
18873         PR target/104871
18874         * config/darwin-driver.cc (darwin_find_version_from_kernel): If the OS
18875         version is darwin20 (macOS 11) or greater, truncate the version to the
18876         major number.
18877
18878 2022-06-12  Mark Mentovai  <mark@mentovai.com>
18879
18880         * config/darwin-c.cc: Make -mmacosx-version-min more future-proof.
18881
18882 2022-06-12  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
18883
18884         PR target/96463
18885         * config/aarch64/aarch64-sve-builtins-base.cc: Include ssa.h.
18886         (svld1rq_impl::fold): Define.
18887         * config/aarch64/aarch64.cc (expand_vec_perm_d): Define new members
18888         op_mode and op_vec_flags.
18889         (aarch64_evpc_reencode): Initialize newd.op_mode and
18890         newd.op_vec_flags.
18891         (aarch64_evpc_sve_dup): New function.
18892         (aarch64_expand_vec_perm_const_1): Gate existing calls to
18893         aarch64_evpc_* functions under d->vmode == d->op_mode,
18894         and call aarch64_evpc_sve_dup.
18895         (aarch64_vectorize_vec_perm_const): Remove assert
18896         d->vmode != d->op_mode, and initialize d.op_mode and d.op_vec_flags.
18897         * tree-cfg.cc (verify_gimple_assign_ternary): Allow different
18898         vector types for lhs and rhs in VEC_PERM_EXPR if rhs3 is
18899         constant.
18900
18901 2022-06-11  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
18902
18903         * config/xtensa/xtensa-protos.h (xtensa_constantsynth):
18904         New prototype.
18905         * config/xtensa/xtensa.cc (xtensa_emit_constantsynth,
18906         xtensa_constantsynth_2insn, xtensa_constantsynth_rtx_SLLI,
18907         xtensa_constantsynth_rtx_ADDSUBX, xtensa_constantsynth):
18908         New backend functions that process the abovementioned logic.
18909         (xtensa_emit_move_sequence): Revert the previous changes.
18910         * config/xtensa/xtensa.md: New split patterns for integer
18911         and floating-point, as the frontend part.
18912
18913 2022-06-11  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
18914
18915         * config/xtensa/xtensa.cc (xtensa_rtx_costs): Correct wrong case
18916         for ABS and NEG, add missing case for BSWAP and CLRSB, and
18917         double the costs for integer divisions using libfuncs if
18918         optimizing for speed, in order to take advantage of fast constant
18919         division by multiplication.
18920         (TARGET_INSN_COST): New macro definition.
18921         (xtensa_is_insn_L32R_p, xtensa_insn_cost): New functions for
18922         calculating relative costs of a RTL insns, for both of speed and
18923         size.
18924         * config/xtensa/xtensa.md (return, nop, trap): Correct values of
18925         the attribute "length" that depends on TARGET_DENSITY.
18926         (define_asm_attributes, blockage, frame_blockage): Add missing
18927         attributes.
18928         * config/xtensa/xtensa.opt (-mextra-l32r-costs=): New machine-
18929         dependent option, however, preparatory work for now.
18930
18931 2022-06-11  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
18932
18933         * config/xtensa/xtensa.cc (xtensa_expand_block_set_small_loop):
18934         Pass through the block length / loop count conditions if
18935         zero-overhead looping is configured and active,
18936
18937 2022-06-11  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
18938
18939         * config/xtensa/xtensa.md (mulsidi3, umulsidi3):
18940         Split into individual signedness, in order to use libcall
18941         "__umulsidi3" but not the other.
18942         (<u>mulhisi3): Merge into one by using code iterator.
18943         (<u>mulsidi3, mulhisi3, umulhisi3): Remove.
18944
18945 2022-06-11   Michael Meissner  <meissner@linux.ibm.com>
18946
18947         * config/rs6000/rs6000.cc (rs6000_option_override_internal): Do
18948         not generate block copies with vector pair instructions if we are
18949         tuning for power10.
18950
18951 2022-06-10  Roger Sayle  <roger@nextmovesoftware.com>
18952
18953         PR rtl-optimization/7061
18954         * expr.cc (emit_group_store): For groups that consist of a single
18955         scalar integer register that hold a complex mode value, use
18956         gen_lowpart to generate a SUBREG to "view_convert" to the complex
18957         mode.  For modes of different sizes, first convert to an integer
18958         mode of the appropriate size.
18959
18960 2022-06-09  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
18961
18962         * config/xtensa/xtensa.md (clrsbsi2): New insn pattern.
18963
18964 2022-06-09  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
18965
18966         * config/xtensa/xtensa.md (*andsi3_bitcmpl):
18967         New insn_and_split pattern.
18968
18969 2022-06-09  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
18970
18971         * config/xtensa/xtensa.md (one_cmplsi2):
18972         Rearrange as an insn_and_split pattern.
18973
18974 2022-06-09  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
18975
18976         * config/xtensa/xtensa.md (bswaphi2): New insn pattern.
18977
18978 2022-06-09  Segher Boessenkool  <segher@kernel.crashing.org>
18979
18980         * config/rs6000/rs6000.md (FP_ISA3): Delete.
18981         (float<QHI:mode><FP_ISA3:mode>2): Rename to...
18982         (float<QHI:mode><SFDF:mode>2): ... this.  Adjust.
18983         (*float<QHI:mode><FP_ISA3:mode>2_internal): Rename to...
18984         (*float<QHI:mode><SFDF:mode>2_internal): ... this.  Adjust.
18985         (floatuns<QHI:mode><FP_ISA3:mode>2): Rename to...
18986         (floatuns<QHI:mode><SFDF:mode>2): ... this.  Adjust.
18987         (*floatuns<QHI:mode><FP_ISA3:mode>2_internal): Rename to...
18988         (*floatuns<QHI:mode><SFDF:mode>2_internal): ... this.  Adjust.
18989
18990 2022-06-09  Maciej W. Rozycki  <macro@embecosm.com>
18991
18992         * config/riscv/riscv.md
18993         (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_default)
18994         (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_snan): Emit a tab
18995         rather than space with FSFLAGS.
18996
18997 2022-06-09  Tobias Burnus  <tobias@codesourcery.com>
18998
18999         * omp-offload.cc (omp_discover_declare_target_tgt_fn_r,
19000         omp_discover_declare_target_fn_r): Don't walk reverse-offload
19001         target regions.
19002
19003 2022-06-09  Jakub Jelinek  <jakub@redhat.com>
19004
19005         * doc/invoke.texi (-Waddress): Fix a typo in small example.
19006         Fix typos inptr_t -> intptr_t and uinptr_t -> uintptr_t.
19007
19008 2022-06-09  Cui,Lili  <lili.cui@intel.com>
19009
19010         PR target/105493
19011         * config/i386/x86-tune-costs.h (skylake_cost): Raise the gpr load cost
19012         from 4 to 6 and gpr store cost from 6 to 8. Change SSE loads and
19013         unaligned loads cost from {6, 6, 6, 10, 20} to {8, 8, 8, 8, 16}.
19014         (icelake_cost): Ditto.
19015         (alderlake_cost): Raise the gpr store cost from 6 to 8 and SSE loads,
19016         stores and unaligned stores cost from {6, 6, 6, 10, 15} to
19017         {8, 8, 8, 10, 15}.
19018
19019 2022-06-09  Haochen Gui  <guihaoc@gcc.gnu.org>
19020
19021         * config/rs6000/rs6000.md (define_split for bswapdi load): Merge shift
19022         and ior insns to one rotate and mask insn.
19023         (define_split for bswapdi register): Likewise.
19024
19025 2022-06-08  Roger Sayle  <roger@nextmovesoftware.com>
19026
19027         PR middle-end/105874
19028         * expr.cc (expand_expr_real_1) <normal_inner_ref>:  New local
19029         variable tem_modifier for calculating the expand_modifier enum to
19030         use for expanding tem.  If tem is a VAR_DECL, use EXPAND_MEMORY.
19031
19032 2022-06-08  Max Filippov  <jcmvbkbc@gmail.com>
19033
19034         PR target/105879
19035         * config/xtensa/xtensa.md (movdi): Rename 'first' and 'second'
19036         to 'lowpart' and 'highpart' so that they match 'gen_lowpart' and
19037         'gen_highpart' bitwise semantics and fix order of highpart and
19038         lowpart depending on target endianness.
19039
19040 2022-06-08  Chung-Ju Wu  <jasonwucj@gmail.com>
19041
19042         * config/arm/arm-cpus.in (star-mc1): New cpu.
19043         * config/arm/arm-tables.opt: Regenerate.
19044         * config/arm/arm-tune.md: Regenerate.
19045         * doc/invoke.texi: Update docs.
19046
19047 2022-06-08  liuhongt  <hongtao.liu@intel.com>
19048
19049         PR target/105513
19050         PR target/105504
19051         * config/i386/i386.md (*movsi_internal): Change alternative
19052         from *v to ?v.
19053         (*movdi_internal): Ditto.
19054         * config/i386/sse.md (vec_set<mode>_0): Change alternative *r
19055         to ?r.
19056         (*vec_extractv4sf_mem): Ditto.
19057         (*vec_extracthf): Ditto.
19058
19059 2022-06-07  Richard Earnshaw  <rearnsha@arm.com>
19060
19061         PR target/105090
19062         * config/arm/arm.cc (arm_bfi_1_p): New function.
19063         (arm_bfi_p): New function.
19064         (arm_rtx_costs_internal): Add costs for BFI idioms.
19065         (arm_print_operand [case 'V']): Format output for BFI/BFC masks.
19066         * config/arm/constraints.md (Dj): New constraint.
19067         * config/arm/arm.md (arm_andsi3_insn): Add alternative to use BFC.
19068         (insv_zero): Convert to an insn with a split.
19069         (*bfi, *bfi_alt1, *bfi_alt2, *bfi_alt3): New patterns.
19070
19071 2022-06-07  liuhongt  <hongtao.liu@intel.com>
19072
19073         PR target/105854
19074         * config/i386/sse.md (ssse3_palignrdi): Change alternative 2
19075         from Yv to Yw.
19076
19077 2022-06-07  Roger Sayle  <roger@nextmovesoftware.com>
19078
19079         PR middle-end/105853
19080         PR target/105856
19081         * calls.cc (load_register_parameters): Call store_constructor
19082         and int_expr_size directly instead of expanding via expand_expr.
19083         * expr.cc (static void store_constructor): Don't prototype here.
19084         (static HOST_WIDE_INT int_expr_size): Likewise.
19085         (store_constructor): No longer static.
19086         (int_expr_size): Likewise, no longer static.
19087         * expr.h (store_constructor): Prototype here.
19088         (int_expr_size): Prototype here.
19089
19090 2022-06-07  Jan Beulich  <jbeulich@suse.com>
19091
19092         Revert:
19093         2022-06-03  Jan Beulich  <jbeulich@suse.com>
19094
19095         * Makefile.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
19096         * configure.ac: Check for objcopy, producing
19097         ORIGINAL_OBJCOPY_FOR_TARGET.
19098         * configure: Update accordingly.
19099         * exec-tool.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
19100         Handle objcopy.
19101
19102 2022-06-07  Jakub Jelinek  <jakub@redhat.com>
19103
19104         * tree.h (OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER): Define.
19105         * tree-pretty-print.cc (dump_omp_clause) <case OMP_CLAUSE_LINEAR>:
19106         Adjust clause printing style depending on
19107         OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER.
19108
19109 2022-06-07  Jan Beulich  <jbeulich@suse.com>
19110
19111         * config/i386/i386-builtin.def (__builtin_ia32_psadbw256):
19112         Change type.
19113         * config/i386/i386-builtin-types.def: New function type
19114         (V4DI, V32QI, V32QI).
19115         * config/i386/i386-expand.cc (ix86_expand_args_builtin): Handle
19116         V4DI_FTYPE_V32QI_V32QI.
19117
19118 2022-06-07  Jan Beulich  <jbeulich@suse.com>
19119
19120         * config/i386/i386.cc (ix86_attr_length_vex_default): Take REX.B
19121         into account for reg-only insns.
19122
19123 2022-06-07  Roger Sayle  <roger@nextmovesoftware.com>
19124
19125         * config/i386/i386.cc (ix86_rtx_costs): Add a new case for
19126         IF_THEN_ELSE, and provide costs for TARGET_XOP's vpcmov and
19127         TARGET_CMOVE's (scalar integer) conditional moves.
19128         * config/i386/sse.md (define_split): Recognize XOP's vpcmov
19129         from its equivalent (canonical) pxor;pand;pxor sequence.
19130
19131 2022-06-07  Kewen Lin  <linkw@linux.ibm.com>
19132
19133         * machmode.def (VECTOR_MODES_WITH_PREFIX): Update document for
19134         parameter ORDER.
19135
19136 2022-06-06  Andrew Stubbs  <ams@codesourcery.com>
19137
19138         * config.in: Regenerate.
19139         * configure: Regenerate.
19140         * configure.ac: Reinstate HAVE_GAS_ARM_EXTENDED_ARCH test.
19141
19142 2022-06-04  Roger Sayle  <roger@nextmovesoftware.com>
19143
19144         PR middle-end/95126
19145         * calls.cc (load_register_parameters): When loading a suitable
19146         immediate_const_ctor_p VAR_DECL into a single word_mode register,
19147         construct it directly in a pseudo rather than read it (by parts)
19148         from memory.
19149         * expr.cc (int_expr_size): Make tree argument a const_tree.
19150         (immediate_const_ctor_p): Helper predicate.  Return true for
19151         simple constructors that may be materialized in a register.
19152         (expand_expr_real_1) [VAR_DECL]: When expanding a constant
19153         VAR_DECL with a suitable immediate_const_ctor_p constructor
19154         use store_constructor to materialize it directly in a pseudo.
19155         * expr.h (immediate_const_ctor_p): Prototype here.
19156         * varasm.cc (initializer_constant_valid_for_bitfield_p): Change
19157         VALUE argument from tree to const_tree.
19158         * varasm.h (initializer_constant_valid_for_bitfield_p): Update
19159         prototype.
19160
19161 2022-06-04  Jakub Jelinek  <jakub@redhat.com>
19162
19163         PR target/105825
19164         * config/i386/i386.md (*ashl<dwi>3_doubleword_mask,
19165         *<insn><dwi>3_doubleword_mask): If top bit of mask is clear, but lower
19166         bits of mask aren't all set, use operands[2] mode for the AND
19167         operation instead of always SImode.
19168
19169 2022-06-03  Jakub Jelinek  <jakub@redhat.com>
19170
19171         PR middle-end/30314
19172         PR middle-end/105777
19173         * match.pd (__builtin_mul_overflow_p (x, cst, (stype) 0) ->
19174         x > stype_max / cst || x < stype_min / cst): New simplification.
19175
19176 2022-06-03  Aldy Hernandez  <aldyh@redhat.com>
19177
19178         * gimple-range-cache.cc (ranger_cache::range_from_dom): Use
19179         Value_Range.
19180         * gimple-range.cc (gimple_ranger::register_inferred_ranges): Same.
19181         * value-range.h (Value_Range::Value_Range): Implement copy
19182         constructor for Value_Range.
19183
19184 2022-06-03  Aldy Hernandez  <aldyh@redhat.com>
19185
19186         * value-range.h (struct vrange_traits): Remove.
19187         (is_a): Rewrite without vrange_traits.
19188         (as_a): Same.
19189
19190 2022-06-03  Aldy Hernandez  <aldyh@redhat.com>
19191
19192         * value-range.cc (vrange::contains_p): Implement.
19193         (vrange::type): Return void.
19194         (vrange::supports_type_p): Implement.
19195         (irange::fits_p): Same.
19196         (vrange::set_undefined): Same.
19197         (irange::set_nonnegative): Same.
19198         (vrange::set_varying): Same.
19199         (vrange::union_): Same.
19200         (unsupported_range::set): Move to vrange.
19201         (unsupported_range::type): Move to vrange.
19202         (vrange::intersect): Implement for varying and undefined.
19203         (vrange::zero_p): Implement.
19204         (unsupported_range::supports_type_p): Move to vrange.
19205         (vrange::nonzero_p): Implement.
19206         (unsupported_range::set_undefined): Move to vrange.
19207         (unsupported_range::set_varying): Same.
19208         (unsupported_range::dump): Same.
19209         (unsupported_range::union_): Same.  Implement for varying and
19210         undefined.
19211         (unsupported_range::intersect): Move to vrange.
19212         (unsupported_range::zero_p): Same.
19213         (unsupported_range::nonzero_p): Same.
19214         (unsupported_range::set_nonzero): Same.
19215         (unsupported_range::set_zero): Same.
19216         (unsupported_range::set_nonnegative): Same.
19217         (unsupported_range::fits_p): Same.
19218         * value-range.h (class vrange): Remove abstract markers for most
19219         methods.
19220         (class unsupported_range): Remove most methods as they will now be
19221         inherited from vrange.
19222
19223 2022-06-03  Aldy Hernandez  <aldyh@redhat.com>
19224
19225         * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Adjust for
19226         an object level supports_type_p for irange and a static
19227         Value_Range::supports_type_p.
19228         * gimple-range-fold.cc (fold_using_range::range_of_range_op): Same.
19229         (fold_using_range::range_of_address): Same.
19230         (fold_using_range::range_of_builtin_call): Same.
19231         * gimple-range-fold.h (gimple_range_type): Same.
19232         (gimple_range_ssa_p): Same.
19233         * gimple-range-path.cc (path_range_query::internal_range_of_expr):
19234         Same.
19235         (path_range_query::range_of_stmt): Same.
19236         (path_range_query::add_to_imports): Same.
19237         * gimple-range.cc (gimple_ranger::range_on_edge): Same.
19238         (gimple_ranger::export_global_ranges): Same.
19239         * gimple-ssa-evrp-analyze.cc
19240         (evrp_range_analyzer::record_ranges_from_phis):  Same.
19241         * range-op.cc (range_operator::wi_fold): Same.
19242         (range_operator::fold_range): Same.
19243         * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Same.
19244         * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): Same.
19245         (evaluate_control_stmt_using_entry_checks): Same.
19246         * tree-ssa-threadedge.cc
19247         (hybrid_jt_simplifier::compute_ranges_from_state): Same.
19248         * tree-vrp.cc (supported_types_p): Same.
19249         * value-query.cc (range_query::value_of_expr): Same.
19250         (range_query::value_on_edge): Same.
19251         (range_query::value_of_stmt): Same.
19252         (range_query::get_tree_range): Same.
19253         (get_range_global): Same.
19254         (global_range_query::range_of_expr): Same.
19255         * value-range-equiv.h (class value_range_equiv): Same.
19256         * value-range.cc (irange::supports_type_p): Same.
19257         (unsupported_range::supports_type_p): Same.
19258         * value-range.h (enum value_range_discriminator): Same.
19259         (Value_Range::init): Same.
19260         (Value_Range::supports_type_p): Same.
19261         (irange::supports_type_p): Same.
19262         (irange::supports_p): Same.
19263         (vrange::supports_type_p): Same.
19264         (vrange_allocator::alloc_vrange): Same.
19265
19266 2022-06-03  Jan Beulich  <jbeulich@suse.com>
19267
19268         * Makefile.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
19269         * configure.ac: Check for objcopy, producing
19270         ORIGINAL_OBJCOPY_FOR_TARGET.
19271         * configure: Update accordingly.
19272         * exec-tool.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
19273         Handle objcopy.
19274
19275 2022-06-03  Jan Beulich  <jbeulich@suse.com>
19276
19277         * config/i386/mmx.md (mmx_psadbw): Convert to expander.
19278         (*mmx_psadbw): New. Mark as commutative.
19279         * config/i386/sse.md (<sse2_avx2>_psadbw): Convert to expander.
19280         (*<sse2_avx2>_psadbw): New. Mark as commutative.
19281
19282 2022-06-03  Alexandre Oliva  <oliva@adacore.com>
19283
19284         PR tree-optimization/105665
19285         PR tree-optimization/100810
19286         * tree-ssa-loop-ivopts.cc
19287         (ssa_name_maybe_undef_p, ssa_name_set_maybe_undef): New.
19288         (ssa_name_any_use_dominates_bb_p, mark_ssa_maybe_undefs): New.
19289         (find_ssa_undef): Check precomputed flag and intervening uses.
19290         (tree_ssa_iv_optimize): Call mark_ssa_maybe_undefs.
19291
19292 2022-06-02  David Malcolm  <dmalcolm@redhat.com>
19293
19294         * Makefile.in (OBJS): Add tree-diagnostic-client-data-hooks.o and
19295         tree-logical-location.o.
19296         (OBJS-libcommon): Add diagnostic-format-sarif.o; reorder.
19297         (CFLAGS-tree-diagnostic-client-data-hooks.o): Add TARGET_NAME.
19298         * common.opt (fdiagnostics-format=): Add sarif-stderr and sarif-file.
19299         (sarif-stderr, sarif-file): New enum values.
19300         * diagnostic-client-data-hooks.h: New file.
19301         * diagnostic-format-sarif.cc: New file.
19302         * diagnostic-path.h (enum diagnostic_event::verb): New enum.
19303         (enum diagnostic_event::noun): New enum.
19304         (enum diagnostic_event::property): New enum.
19305         (struct diagnostic_event::meaning): New struct.
19306         (diagnostic_event::get_logical_location): New vfunc.
19307         (diagnostic_event::get_meaning): New vfunc.
19308         (simple_diagnostic_event::get_logical_location): New vfunc impl.
19309         (simple_diagnostic_event::get_meaning): New vfunc impl.
19310         * diagnostic.cc: Include "diagnostic-client-data-hooks.h".
19311         (diagnostic_initialize): Initialize m_client_data_hooks.
19312         (diagnostic_finish): Clean up m_client_data_hooks.
19313         (diagnostic_event::meaning::dump_to_pp): New.
19314         (diagnostic_event::meaning::maybe_get_verb_str): New.
19315         (diagnostic_event::meaning::maybe_get_noun_str): New.
19316         (diagnostic_event::meaning::maybe_get_property_str): New.
19317         (get_cwe_url): Make non-static.
19318         (diagnostic_output_format_init): Handle
19319         DIAGNOSTICS_OUTPUT_FORMAT_SARIF_STDERR and
19320         DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE.
19321         * diagnostic.h (enum diagnostics_output_format): Add
19322         DIAGNOSTICS_OUTPUT_FORMAT_SARIF_STDERR and
19323         DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE.
19324         (class diagnostic_client_data_hooks): New forward decl.
19325         (class logical_location): New forward decl.
19326         (diagnostic_context::m_client_data_hooks): New field.
19327         (diagnostic_output_format_init_sarif_stderr): New decl.
19328         (diagnostic_output_format_init_sarif_file): New decl.
19329         (get_cwe_url): New decl.
19330         * doc/invoke.texi (-fdiagnostics-format=): Add sarif-stderr and
19331         sarif-file.
19332         * doc/sourcebuild.texi (Scan a particular file): Add
19333         scan-sarif-file and scan-sarif-file-not.
19334         * langhooks-def.h (lhd_get_sarif_source_language): New decl.
19335         (LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE): New macro.
19336         (LANG_HOOKS_INITIALIZER): Add
19337         LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE.
19338         * langhooks.cc (lhd_get_sarif_source_language): New.
19339         * langhooks.h (lang_hooks::get_sarif_source_language): New field.
19340         * logical-location.h: New file.
19341         * plugin.cc (struct for_each_plugin_closure): New.
19342         (for_each_plugin_cb): New.
19343         (for_each_plugin): New.
19344         * plugin.h (for_each_plugin): New decl.
19345         * tree-diagnostic-client-data-hooks.cc: New file.
19346         * tree-diagnostic.cc: Include "diagnostic-client-data-hooks.h".
19347         (tree_diagnostics_defaults): Populate m_client_data_hooks.
19348         * tree-logical-location.cc: New file.
19349         * tree-logical-location.h: New file.
19350
19351 2022-06-02  David Malcolm  <dmalcolm@redhat.com>
19352
19353         * common.opt (fdiagnostics-format=): Add json-stderr and json-file
19354         to description.
19355         (DIAGNOSTICS_OUTPUT_FORMAT_JSON): Rename to...
19356         (DIAGNOSTICS_OUTPUT_FORMAT_JSON_STDERR): ...this.
19357         (diagnostics_output_format): Add json-stderr and json-file.
19358         * diagnostic-format-json.cc (json_flush_to_file): New.
19359         (json_final_cb): Convert to...
19360         (json_flush_to_file): ...this, ...
19361         (json_stderr_final_cb): ...this, and...
19362         (json_file_final_cb): ...this.
19363         (diagnostic_output_format_init): Move to diagnostic.cc.
19364         (json_output_base_file_name): New.
19365         (diagnostic_output_format_init_json): New.
19366         (diagnostic_output_format_init_json_stderr): New.
19367         (diagnostic_output_format_init_json_file): New.
19368         * diagnostic.cc (diagnostic_output_format_init): Move here from
19369         diagnostic-format-json.cc; update for changes to enum.
19370         * diagnostic.h (enum diagnostics_output_format): Rename
19371         DIAGNOSTICS_OUTPUT_FORMAT_JSON to
19372         DIAGNOSTICS_OUTPUT_FORMAT_JSON_STDERR, and add
19373         DIAGNOSTICS_OUTPUT_FORMAT_JSON_FILE.
19374         (diagnostic_output_format_init): Add base_file_name param.
19375         (diagnostic_output_format_init_json_stderr): New decl.
19376         (diagnostic_output_format_init_json_file): New dec.
19377         * doc/invoke.texi (-fdiagnostics-format=): Add "json-stderr" and
19378         "json-file".  Rewrite so that the existing "json" is a synonym of
19379         "json-stderr".
19380         * gcc.cc (driver_handle_option): Pass dump_base_name to
19381         diagnostic_output_format_init.
19382         * opts.cc (common_handle_option): Likewise.
19383
19384 2022-06-02  David Malcolm  <dmalcolm@redhat.com>
19385
19386         * json.cc (string::print): Fix escaping of '\'.
19387
19388 2022-06-02  Philipp Tomsich  <philipp.tomsich@vrull.eu>
19389
19390         * config/riscv/riscv.cc (riscv_build_integer_1): Rewrite value as
19391         (-1 << 31) for the single-bit case, when operating on (1 << 31)
19392         in SImode.
19393         * config/riscv/riscv.h (SINGLE_BIT_MASK_OPERAND): Allow for
19394         any single-bit value, moving the special case for (1 << 31) to
19395         riscv_build_integer_1 (in riscv.c).
19396
19397 2022-06-02  Roger Sayle  <roger@nextmovesoftware.com>
19398
19399         PR target/105791
19400         * config/i386/sse.md (V_128_256):Add V1TI and V2TI.
19401         (define_mode_attr avxsizesuffix): Add support for V1TI and V2TI.
19402
19403 2022-06-02  Jakub Jelinek  <jakub@redhat.com>
19404
19405         PR target/105778
19406         * config/i386/i386.md (*ashl<dwi>3_doubleword_mask): Remove :SI
19407         from AND and its operands and just verify operands[2] has HImode,
19408         SImode or for TARGET_64BIT DImode.  Allow operands[3] to be a mask
19409         with all low 6 (64-bit) or 5 (32-bit) bits set and in that case
19410         just throw away the masking.  Use force_reg before calling
19411         gen_lowpart.
19412         (*ashl<dwi>3_doubleword_mask_1): Allow operands[3] to be a mask
19413         with all low 6 (64-bit) or 5 (32-bit) bits set and in that case
19414         just throw away the masking.
19415         (*ashl<mode>3_doubleword): Rename to ...
19416         (ashl<mode>3_doubleword): ... this.
19417         (*ashl<mode>3_mask): Remove :SI from AND and its operands and just
19418         verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
19419         Use force_reg before calling gen_lowpart.
19420         (*<insn><mode>3_mask): Likewise.
19421         (*<insn><dwi>3_doubleword_mask): Likewise.  Allow operands[3] to be
19422         a mask with all low 6 (64-bit) or 5 (32-bit) bits set and in that
19423         case just throw away the masking.  Use force_reg before calling
19424         gen_lowpart.
19425         (*<insn><dwi>3_doubleword_mask_1): Allow operands[3] to be a mask
19426         with all low 6 (64-bit) or 5 (32-bit) bits set and in that case just
19427         throw away the masking.
19428         (*<insn><mode>3_doubleword): Rename to ...
19429         (<insn><mode>3_doubleword): ... this.
19430         (*<insn><mode>3_mask): Remove :SI from AND and its operands and just
19431         verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
19432         Use force_reg before calling gen_lowpart.
19433         (splitter after it): Remove :SI from AND and its operands and just
19434         verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
19435         (*<btsc><mode>_mask, *<btsc><mode>_mask): Remove :SI from AND and its
19436         operands and just verify operands[1] has HImode, SImode or for
19437         TARGET_64BIT DImode.  Use force_reg before calling gen_lowpart.
19438         (*jcc_bt<mode>_mask_1): New define_insn_and_split pattern.
19439         * config/i386/i386.cc (ix86_rtx_costs): For ZERO_EXTRACT with
19440         ZERO_EXTEND QI->SI in last operand ignore the cost of the ZERO_EXTEND.
19441
19442 2022-06-02  Richard Biener  <rguenther@suse.de>
19443
19444         PR tree-optimization/101668
19445         * tree-vect-slp.cc (vect_build_slp_tree_1): Allow BIT_FIELD_REFs
19446         for vector types with compatible lane types.
19447         (vect_build_slp_tree_2): Deal with this.
19448         (vect_add_slp_permutation): Adjust.  Emit lowpart/concat
19449         special cases without VEC_PERM.
19450         (vectorizable_slp_permutation): Select the operand vector
19451         type and relax requirements.  Handle identity permutes
19452         with mismatching operand types.
19453         * optabs-query.cc (can_vec_perm_const_p): Only allow variable
19454         permutes for op_mode == mode.
19455
19456 2022-06-02  Richard Biener  <rguenther@suse.de>
19457
19458         PR tree-optimization/105802
19459         * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb):
19460         Make sure to also compute the range in the type of the switch index.
19461
19462 2022-06-01  David Seifert  <soap@gentoo.org>
19463
19464         PR plugins/95648
19465         * configure: Regenerate.
19466
19467 2022-06-01  H.J. Lu  <hjl.tools@gmail.com>
19468
19469         PR rtl-optimization/105638
19470         * df-core.cc (df_find_single_def_src): Moved and renamed from
19471         find_single_def_src in loop-iv.cc.  Change the argument to rtx
19472         and use rtx_equal_p.  Return null for partial or conditional
19473         defs.
19474         * df.h (df_find_single_def_src): New prototype.
19475         * dse.cc (record_store): Use the constant source if the source
19476         register is set only once.
19477         * loop-iv.cc (find_single_def_src): Moved to df-core.cc.
19478         (replace_single_def_regs): Replace find_single_def_src with
19479         df_find_single_def_src.
19480
19481 2022-06-01  Wilco Dijkstra  <wilco.dijkstra@arm.com>
19482
19483         * config/aarch64/aarch64.opt (explicit_tune_core): Rename to
19484         selected_tune.
19485         (explicit_arch): Rename to selected_arch.
19486         (x_aarch64_override_tune_string): Remove.
19487         (aarch64_ra_sign_key): Add as TargetVariable so it gets saved/restored.
19488         (aarch64_override_tune_string): Add Save so it gets saved/restored.
19489         * config/aarch64/aarch64.h (aarch64_architecture_version): Remove.
19490         * config/aarch64/aarch64.cc (aarch64_architecture_version): Remove.
19491         (processor): Remove archtecture_version field.
19492         (selected_arch): Remove global.
19493         (selected_cpu): Remove global.
19494         (selected_tune): Remove global.
19495         (aarch64_ra_sign_key): Move global to aarch64.opt so it is saved.
19496         (aarch64_override_options_internal): Use aarch64_get_tune_cpu.
19497         (aarch64_override_options): Further simplify code to only set
19498         selected_arch and selected_tune globals.
19499         (aarch64_option_save): Remove now that target options are saved.
19500         (aarch64_option_restore): Remove redundant target option restores.
19501         * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Use
19502         AARCH64_ISA_V9.
19503         * config/aarch64/aarch64-opts.h (aarch64_key_type): Add, moved from...
19504         * config/aarch64/aarch64-protos.h (aarch64_key_type): Remove.
19505         (aarch64_ra_sign_key): Remove.
19506
19507 2022-06-01  Jakub Jelinek  <jakub@redhat.com>
19508
19509         PR middle-end/30314
19510         * match.pd (__builtin_mul_overflow_p (x, cst, (utype) 0) ->
19511         x > ~(utype)0 / cst): New simplification.
19512
19513 2022-06-01  Richard Biener  <rguenther@suse.de>
19514
19515         PR tree-optimization/105786
19516         * tree-loop-distribution.cc
19517         (loop_distribution::transform_reduction_loop): Only do strlen
19518         replacement for integer type reductions.
19519
19520 2022-06-01  Jakub Jelinek  <jakub@redhat.com>
19521
19522         PR tree-optimization/105770
19523         * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb): Cast
19524         CASE_LOW and CASE_HIGH to TREE_TYPE (idx) before comparisons with idx.
19525
19526 2022-06-01  Aldy Hernandez  <aldyh@redhat.com>
19527
19528         * gimple-range-cache.cc (ssa_block_ranges::dump): Convert to vrange.
19529         (sbr_vector::sbr_vector): Same.
19530         (sbr_vector::grow): Same.
19531         (sbr_vector::set_bb_range): Same.
19532         (sbr_vector::get_bb_range): Same.
19533         (sbr_sparse_bitmap::sbr_sparse_bitmap): Same.
19534         (sbr_sparse_bitmap::set_bb_range): Same.
19535         (sbr_sparse_bitmap::get_bb_range): Same.
19536         (block_range_cache::set_bb_range): Same.
19537         (block_range_cache::get_bb_range): Same.
19538         (block_range_cache::dump): Same.
19539         (ssa_global_cache::get_global_range): Same.
19540         (ssa_global_cache::set_global_range): Same.
19541         (ssa_global_cache::clear): Same.
19542         (ssa_global_cache::dump): Same.
19543         (ranger_cache::get_global_range): Same.
19544         (ranger_cache::set_global_range): Same.
19545         (ranger_cache::range_of_def): Same.
19546         (ranger_cache::entry_range): Same.
19547         (ranger_cache::exit_range): Same.
19548         (ranger_cache::edge_range): Same.
19549         (ranger_cache::range_of_expr): Same.
19550         (ranger_cache::range_on_edge): Same.
19551         (ranger_cache::block_range): Same.
19552         (ranger_cache::propagate_cache): Same.
19553         (ranger_cache::fill_block_cache): Same.
19554         (ranger_cache::range_from_dom): Same.
19555         * gimple-range-cache.h: Same.
19556         * gimple-range-edge.cc (gimple_outgoing_range::get_edge_range):
19557         Same.
19558         (gimple_outgoing_range::switch_edge_range): Same.
19559         (gimple_outgoing_range::edge_range_p): Same.
19560         * gimple-range-edge.h: Same.
19561         * gimple-range-fold.cc (fur_source::get_operand): Same.
19562         (fur_source::get_phi_operand): Same.
19563         (fur_edge::get_operand): Same.
19564         (fur_edge::get_phi_operand): Same.
19565         (fur_stmt::get_operand): Same.
19566         (fur_stmt::get_phi_operand): Same.
19567         (fur_list::fur_list): Same.
19568         (fur_list::get_operand): Same.
19569         (fur_list::get_phi_operand): Same.
19570         (fold_range): Same.
19571         (adjust_imagpart_expr): Same.
19572         (adjust_realpart_expr): Same.
19573         (gimple_range_adjustment): Same.
19574         (fold_using_range::fold_stmt): Same.
19575         (fold_using_range::range_of_range_op): Same.
19576         (fold_using_range::range_of_address): Same.
19577         (fold_using_range::range_of_phi): Same.
19578         (fold_using_range::range_of_call): Same.
19579         (fold_using_range::range_of_builtin_call): Same.
19580         (fold_using_range::range_of_builtin_int_call): Same.
19581         (fold_using_range::range_of_cond_expr): Same.
19582         (fur_source::register_outgoing_edges): Same.
19583         * gimple-range-fold.h (fold_range): Same.
19584         (gimple_range_type): Same.
19585         (gimple_range_ssa_p): Same.
19586         * gimple-range-gori.cc (gimple_range_calc_op1): Same.
19587         (gimple_range_calc_op2): Same.
19588         (gori_compute::compute_operand_range_switch): Same.
19589         (gori_compute::compute_operand_range): Same.
19590         (gori_compute::logical_combine): Same.
19591         (gori_compute::compute_logical_operands): Same.
19592         (gori_compute::compute_operand1_range): Same.
19593         (gori_compute::compute_operand2_range): Same.
19594         (gori_compute::compute_operand1_and_operand2_range): Same.
19595         (gori_compute::outgoing_edge_range_p): Same.
19596         (gori_compute::condexpr_adjust): Same.
19597         * gimple-range-gori.h (gimple_range_calc_op1): Same.
19598         (gimple_range_calc_op2): Same.
19599         * gimple-range-path.cc (path_range_query::get_cache): Same.
19600         (path_range_query::set_cache): Same.
19601         (path_range_query::range_on_path_entry): Same.
19602         (path_range_query::internal_range_of_expr): Same.
19603         (path_range_query::range_of_expr): Same.
19604         (path_range_query::ssa_range_in_phi): Same.
19605         (path_range_query::range_defined_in_block): Same.
19606         (path_range_query::compute_ranges_in_phis): Same.
19607         (path_range_query::compute_ranges_in_block): Same.
19608         (path_range_query::add_to_imports): Same.
19609         (path_range_query::range_of_stmt): Same.
19610         * gimple-range-path.h: Same.
19611         * gimple-range-infer.cc (gimple_infer_range::add_range): Same.
19612         (gimple_infer_range::~side_effect_manager): Same.
19613         (gimple_infer_range::get_nonzero): Same.
19614         (gimple_infer_range::maybe_adjust_range): Same.
19615         (gimple_infer_range::add_range): Same.
19616         * gimple-range-infer.h: Same.
19617         * gimple-range-tests.cc: Same.
19618         * gimple-range-trace.cc (range_tracer::trailer): Same.
19619         (debug_seed_ranger): Same.
19620         * gimple-range-trace.h: Same.
19621         * gimple-range.cc (gimple_ranger::range_of_expr): Same.
19622         (gimple_ranger::range_on_entry): Same.
19623         (gimple_ranger::range_on_exit): Same.
19624         (gimple_ranger::range_on_edge): Same.
19625         (gimple_ranger::fold_range_internal): Same.
19626         (gimple_ranger::range_of_stmt): Same.
19627         (gimple_ranger::prefill_name): Same.
19628         (gimple_ranger::prefill_stmt_dependencies): Same.
19629         (gimple_ranger::export_global_ranges): Same.
19630         (gimple_ranger::dump_bb): Same.
19631         * gimple-range.h: Same.
19632         * gimple-ssa-warn-access.cc (check_nul_terminated_array): Same.
19633         (memmodel_to_uhwi): Same.
19634         * tree-ssa-loop-niter.cc (refine_value_range_using_guard): Same.
19635         (determine_value_range): Same.
19636         (record_nonwrapping_iv): Same.
19637         (infer_loop_bounds_from_signedness): Same.
19638         (scev_var_range_cant_overflow): Same.
19639         * tree-ssa-threadedge.cc (hybrid_jt_simplifier::simplify): Same.
19640         * value-query.cc (range_query::range_on_edge): Same.
19641         (range_query::range_of_stmt): Same.
19642         (range_query::value_of_expr): Same.
19643         (range_query::value_on_edge): Same.
19644         (range_query::value_of_stmt): Same.
19645         (range_query::get_tree_range): Same.
19646         (update_global_range): Same.
19647         (get_range_global): Same.
19648         (gimple_range_global): Same.
19649         (global_range_query::range_of_expr): Same.
19650         (range_query::query_relation): Same.
19651         * value-query.h (gimple_range_global): Same.
19652         (update_global_range): Same.
19653         * vr-values.cc (vr_values::range_of_expr): Same.
19654         (bounds_of_var_in_loop): Same.
19655         (simplify_using_ranges::vrp_visit_cond_stmt): Same.
19656         * vr-values.h (class vr_values): Same.
19657         * tree-ssa-loop-unswitch.cc (unswitch_predicate): Same.
19658
19659 2022-06-01  Aldy Hernandez  <aldyh@redhat.com>
19660
19661         * gimple-range-cache.cc (sbr_vector::sbr_vector): Adjust for
19662         vrange allocator.
19663         (sbr_vector::grow): Same.
19664         (sbr_vector::set_bb_range): Same.
19665         (sbr_sparse_bitmap::sbr_sparse_bitmap): Same.
19666         (sbr_sparse_bitmap::set_bb_range): Same.
19667         (block_range_cache::~block_range_cache): Same.
19668         (block_range_cache::set_bb_range): Same.
19669         (ssa_global_cache::ssa_global_cache): Same.
19670         (ssa_global_cache::~ssa_global_cache): Same.
19671         (ssa_global_cache::set_global_range): Same.
19672         * gimple-range-cache.h (block_range_cache): Same.
19673         (ssa_global_cache): Same.
19674         * gimple-range-edge.cc
19675         (gimple_outgoing_range::calc_switch_ranges): Same.
19676         * gimple-range-edge.h (gimple_outgoing_range): Same.
19677         * gimple-range-infer.cc (infer_range_manager::get_nonzero):
19678         Same.
19679         (infer_range_manager::add_range): Same.
19680         * gimple-range-infer.h (class infer_range_manager): Same.
19681         * value-range.h (class irange_allocator): Rename to...
19682         (class vrange_allocator): ...this.
19683         (irange_allocator::irange_allocator): New.
19684         (vrange_allocator::vrange_allocator): New.
19685         (irange_allocator::~irange_allocator): New.
19686         (vrange_allocator::~vrange_allocator): New.
19687         (irange_allocator::get_memory): Rename to...
19688         (vrange_allocator::alloc): ...this.
19689         (vrange_allocator::alloc_vrange): Rename from...
19690         (irange_allocator::allocate): ...this.
19691         (vrange_allocator::alloc_irange): New.
19692
19693 2022-06-01  Aldy Hernandez  <aldyh@redhat.com>
19694
19695         * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Adjust for
19696         vrange and convert range_op_handler function calls to use the
19697         identically named object.
19698         * gimple-range-fold.cc (gimple_range_operand1): Same.
19699         (gimple_range_operand2): Same.
19700         (fold_using_range::fold_stmt): Same.
19701         (fold_using_range::range_of_range_op): Same.
19702         (fold_using_range::range_of_builtin_ubsan_call): Same.
19703         (fold_using_range::relation_fold_and_or): Same.
19704         (fur_source::register_outgoing_edges): Same.
19705         * gimple-range-fold.h (gimple_range_handler): Remove.
19706         * gimple-range-gori.cc (gimple_range_calc_op1): Adjust for vrange.
19707         (gimple_range_calc_op2): Same.
19708         (range_def_chain::get_def_chain): Same.
19709         (gori_compute::compute_operand_range): Same.
19710         (gori_compute::condexpr_adjust): Same.
19711         * gimple-range.cc (gimple_ranger::prefill_name): Same.
19712         (gimple_ranger::prefill_stmt_dependencies): Same.
19713         * range-op.cc (get_bool_state): Same.
19714         (class operator_equal): Add using clause.
19715         (class operator_not_equal): Same.
19716         (class operator_lt): Same.
19717         (class operator_le): Same.
19718         (class operator_gt): Same.
19719         (class operator_ge): Same.
19720         (class operator_plus): Same.
19721         (class operator_minus): Same.
19722         (class operator_mult): Same.
19723         (class operator_exact_divide): Same.
19724         (class operator_lshift): Same.
19725         (class operator_rshift): Same.
19726         (class operator_cast): Same.
19727         (class operator_logical_and): Same.
19728         (class operator_bitwise_and): Same.
19729         (class operator_logical_or): Same.
19730         (class operator_bitwise_or): Same.
19731         (class operator_bitwise_xor): Same.
19732         (class operator_trunc_mod): Same.
19733         (class operator_logical_not): Same.
19734         (class operator_bitwise_not): Same.
19735         (class operator_cst): Same.
19736         (class operator_identity): Same.
19737         (class operator_unknown): Same.
19738         (class operator_abs): Same.
19739         (class operator_negate): Same.
19740         (class operator_addr_expr): Same.
19741         (class pointer_or_operator): Same.
19742         (operator_plus::op1_range): Adjust for vrange.
19743         (operator_minus::op1_range): Same.
19744         (operator_mult::op1_range): Same.
19745         (operator_cast::op1_range): Same.
19746         (operator_bitwise_not::fold_range): Same.
19747         (operator_negate::fold_range): Same.
19748         (range_op_handler): Rename to...
19749         (get_handler): ...this.
19750         (range_op_handler::range_op_handler): New.
19751         (range_op_handler::fold_range): New.
19752         (range_op_handler::op1_range): New.
19753         (range_op_handler::op2_range): New.
19754         (range_op_handler::lhs_op1_relation): New.
19755         (range_op_handler::lhs_op2_relation): New.
19756         (range_op_handler::op1_op2_relation): New.
19757         (range_cast): Adjust for vrange.
19758         * range-op.h (range_op_handler): Remove function.
19759         (range_cast): Adjust for vrange.
19760         (class range_op_handler): New.
19761         (get_bool_state): Adjust for vrange.
19762         (empty_range_varying): Same.
19763         (relop_early_resolve): Same.
19764         * tree-data-ref.cc (compute_distributive_range): Same.
19765         * tree-vrp.cc (get_range_op_handler): Remove.
19766         (range_fold_binary_symbolics_p): Use range_op_handler class
19767         instead of get_range_op_handler.
19768         (range_fold_unary_symbolics_p): Same.
19769         (range_fold_binary_expr): Same.
19770         (range_fold_unary_expr): Same.
19771         * value-query.cc (range_query::get_tree_range): Adjust for vrange.
19772
19773 2022-06-01  Aldy Hernandez  <aldyh@redhat.com>
19774
19775         * gimple-range-fold.h (gimple_range_type): Check type before
19776         calling supports_type_p.
19777         * gimple-range-path.cc (path_range_query::range_of_stmt): Same.
19778         * value-query.cc (range_query::get_tree_range): Same.
19779         * value-range.cc (Value_Range::lower_bound): New.
19780         (Value_Range::upper_bound): New.
19781         (Value_Range::dump): New.
19782         * value-range.h (class Value_Range): New.
19783         (irange::supports_type_p): Do not check if type is non-zero.
19784
19785 2022-06-01  Aldy Hernandez  <aldyh@redhat.com>
19786
19787         * value-range-equiv.cc (value_range_equiv::set): New.
19788         * value-range-equiv.h (class value_range_equiv): Make set method
19789         virtual.
19790         Remove default bitmap argument from set method.
19791         * value-range.cc (vrange::contains_p): New.
19792         (vrange::singleton_p): New.
19793         (vrange::operator=): New.
19794         (vrange::operator==): New.
19795         (irange::fits_p): Move to .cc file.
19796         (irange::set_nonnegative): New.
19797         (unsupported_range::unsupported_range): New.
19798         (unsupported_range::set): New.
19799         (unsupported_range::type): New.
19800         (unsupported_range::set_undefined): New.
19801         (unsupported_range::set_varying): New.
19802         (unsupported_range::dump): New.
19803         (unsupported_range::union_): New.
19804         (unsupported_range::intersect): New.
19805         (unsupported_range::zero_p): New.
19806         (unsupported_range::nonzero_p): New.
19807         (unsupported_range::set_nonzero): New.
19808         (unsupported_range::set_zero): New.
19809         (unsupported_range::set_nonnegative): New.
19810         (unsupported_range::fits_p): New.
19811         (irange::set): Call irange::set_undefined.
19812         (irange::verify_range): Check discriminator field.
19813         (irange::dump): Dump [irange] marker.
19814         (irange::debug): Move to...
19815         (vrange::debug): ...here.
19816         (dump_value_range): Accept vrange.
19817         (debug): Same.
19818         * value-range.h (enum value_range_discriminator): New.
19819         (class vrange): New.
19820         (class unsupported_range): New.
19821         (struct vrange_traits): New.
19822         (is_a): New.
19823         (as_a): New.
19824         (class irange): Inherit from vrange.
19825         (dump_value_range): Adjust for vrange.
19826         (irange::kind): Rename to...
19827         (vrange::kind): ...this.
19828         (irange::varying_p): Rename to...
19829         (vrange::varying_p): ...this.
19830         (irange::undefined_p): Rename to...
19831         (vrange::undefined_p): ...this.
19832         (irange::irange): Set discriminator.
19833         (irange::union_): Convert to irange before passing to irange
19834         method.
19835         (irange::intersect): Same.
19836         (vrange::supports_type_p): New.
19837         * vr-values.cc (vr_values::extract_range_from_binary_expr): Pass
19838         NULL bitmap argument to value_range_equiv::set.
19839         (vr_values::extract_range_basic): Same.
19840
19841 2022-06-01  Richard Biener  <rguenther@suse.de>
19842
19843         PR tree-optimization/105763
19844         * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb):
19845         Check gimple_range_ssa_p.
19846
19847 2022-05-31  Jason Merrill  <jason@redhat.com>
19848
19849         * Makefile.in (TAGS): Look at libcpp/*.cc.
19850
19851 2022-05-31  Christophe Lyon  <christophe.lyon@arm.com>
19852
19853         * config/aarch64/aarch64.cc (aarch64_gimplify_va_arg_expr):
19854         Prefix mode names with E_.
19855
19856 2022-05-31  Alan Modra  <amodra@gmail.com>
19857
19858         * dwarf2out.cc (gen_namelist_decl): Adjust to suit correct
19859         spelling of DW_AT_namelist_item.
19860
19861 2022-05-31  Jakub Jelinek  <jakub@redhat.com>
19862
19863         * omp-low.cc (build_outer_var_ref): For code == OMP_CLAUSE_ALLOCATE
19864         allow var to be private in the outer context.
19865         (lower_private_allocate): Pass OMP_CLAUSE_ALLOCATE as last argument
19866         to build_outer_var_ref.
19867
19868 2022-05-30  Roger Sayle  <roger@nextmovesoftware.com>
19869
19870         * config/i386/i386.cc (ix86_modes_tieable_p): Allow SCmode to be
19871         tieable with DImode on TARGET_64BIT, and SCmode tieable with
19872         V2SFmode, and DCmode with V2DFmode.
19873
19874 2022-05-30  Roger Sayle  <roger@nextmovesoftware.com>
19875
19876         PR rtl-optimization/101617
19877         * config/i386/i386-expand.cc (ix86_expand_int_movcc): Add a
19878         special case (indicated by negate_cc_compare_p) to generate a
19879         -1/0 mask using neg;sbb.
19880         * config/i386/i386.md (x86_neg<mode>_ccc): New define_expand
19881         to generate an *x86_neg<mode>_ccc instruction.
19882         (x86_mov<mode>cc_0_m1_neg): Likewise, a new define_expand to
19883         generate a *x86_mov<mode>cc_0_m1_neg instruction.
19884
19885 2022-05-30  Roger Sayle  <roger@nextmovesoftware.com>
19886
19887         * rtlanal.cc (rtx_cost) <MULT>: Treat FMA, SS_MULT, US_MULT,
19888         SMUL_HIGHPART and UMUL_HIGHPART as having the same cost as MULT.
19889         <DIV>: Likewise, SS_DIV and US_DIV have the same default as DIV.
19890
19891 2022-05-30  Roger Sayle  <roger@nextmovesoftware.com>
19892
19893         PR target/70321
19894         * config/i386/i386-expand.cc (ix86_expand_branch): Don't decompose
19895         DI mode equality/inequality using XOR here.  Instead generate a
19896         COMPARE for doubleword modes (DImode on !TARGET_64BIT or TImode).
19897         * config/i386/i386-features.cc (gen_gpr_to_xmm_move_src): Use
19898         gen_rtx_SUBREG when NUNITS is 1, i.e. for TImode to V1TImode.
19899         (general_scalar_chain::convert_compare): New function to convert
19900         scalar equality/inequality comparison into vector operations.
19901         (general_scalar_chain::convert_insn) [COMPARE]: Refactor. Call
19902         new convert_compare helper method.
19903         (convertible_comparion_p): Update to match doubleword COMPARE
19904         of two register, memory or integer constant operands.
19905         * config/i386/i386-features.h (general_scalar_chain::convert_compare):
19906         Prototype/declare member function here.
19907         * config/i386/i386.md (cstore<mode>4): Change mode to SDWIM, but
19908         only allow new doubleword modes for EQ and NE operators.
19909         (*cmp<dwi>_doubleword): New define_insn_and_split, to split a
19910         doubleword comparison into a pair of XORs followed by an IOR to
19911         set the (zero) flags register, optimizing the XORs if possible.
19912         * config/i386/sse.md (V_AVX): Include V1TI and V2TI in mode
19913         iterator; V_AVX is (currently) only used by ptest.
19914         (sse4_1 mode attribute): Update to support V1TI and V2TI.
19915
19916 2022-05-30  Uroš Bizjak  <ubizjak@gmail.com>
19917
19918         * config/i386/i386.md: Remove constraints when used with
19919         const_int_operand, const0_operand, const_1_operand, constm1_operand,
19920         const8_operand, const128_operand, const248_operand, const123_operand,
19921         const2367_operand, const1248_operand, const359_operand,
19922         const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
19923         const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
19924         const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
19925         const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
19926         const_0_to_255_mul_8_operand, const_1_to_31_operand,
19927         const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
19928         const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
19929         const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
19930         const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
19931         const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
19932         const_24_to_27_operand and const_28_to_31_operand.
19933         * config/i386/mmx.md: Ditto.
19934         * config/i386/sse.md: Ditto.
19935         * config/i386/subst.md: Ditto.
19936         * config/i386/sync.md: Ditto.
19937
19938 2022-05-30  Jan Beulich  <jbeulich@suse.com>
19939
19940         * config/i386/i386.md (bmi2_umul<mode><dwi>3_1): Correct MEM_P()
19941         arguments.
19942
19943 2022-05-30  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
19944
19945         * config/arm/arm.cc (arm_vectorize_vec_perm_const): Adjust prototype.
19946
19947 2022-05-29  Iain Sandoe  <iain@sandoe.co.uk>
19948
19949         PR target/105599
19950         * config/darwin.h: Move versions-specific handling of multiply_defined
19951         from SUBTARGET_DRIVER_SELF_SPECS to LINK_SPEC.
19952
19953 2022-05-29  Eric Gallager  <egallager@gcc.gnu.org>
19954
19955         PR other/82383
19956         * doc/sourcebuild.texi: Add entries for the c++tools,
19957         gotools, libbacktrace, libcc1, libcody, liboffloadmic,
19958         and libsanitizer directories. Remove entry for boehm-gc.
19959         Fix alphabetization for libquadmath.
19960
19961 2022-05-28  Joel Holdsworth  <jholdsworth@nvidia.com>
19962
19963         * config/avr/avr-mcus.def: Add device definitions.
19964         * doc/avr-mmcu.texi: Corresponding changes.
19965         * config/avr/gen-avr-mmcu-texi.cc: Added support for avr
19966         device prefix.
19967         * config/avr/gen-avr-mmcu-specs.cc: Prevent -mmcu=avr* flags
19968         from leaking into cc1.
19969
19970 2022-05-28  Vladimir Makarov  <vmakarov@gcc.gnu.org>
19971
19972         PR target/103722
19973         * config/sh/sh.cc (sh_register_move_cost): Avoid cost "2" (which
19974         is special) for various scenarios.
19975
19976 2022-05-28  Iain Sandoe  <iain@sandoe.co.uk>
19977
19978         * config/darwin.h (REAL_LIBGCC_SPEC): Update the comment block
19979         describing this macro.
19980
19981 2022-05-27  Richard Biener  <rguenther@suse.de>
19982
19983         * tree-dfa.cc (get_ref_base_and_extent): Avoid shift.
19984
19985 2022-05-27  Martin Jambor  <mjambor@suse.cz>
19986
19987         PR ipa/105639
19988         * ipa-prop.cc (propagate_controlled_uses): Check type of the
19989         constant before adding a LOAD reference.
19990
19991 2022-05-27  Jakub Jelinek  <jakub@redhat.com>
19992
19993         * tree-core.h (enum omp_clause_code): Rename OMP_CLAUSE_TO_DECLARE
19994         to OMP_CLAUSE_ENTER.
19995         * tree.h (OMP_CLAUSE_ENTER_TO): Define.
19996         * tree.cc (omp_clause_num_ops, omp_clause_code_name): Rename
19997         OMP_CLAUSE_TO_DECLARE to OMP_CLAUSE_ENTER.
19998         * tree-pretty-print.cc (dump_omp_clause): Handle OMP_CLAUSE_ENTER
19999         instead of OMP_CLAUSE_TO_DECLARE, if OMP_CLAUSE_ENTER_TO, print
20000         "to" instead of "enter".
20001         * tree-nested.cc (convert_nonlocal_omp_clauses,
20002         convert_local_omp_clauses): Handle OMP_CLAUSE_ENTER instead of
20003         OMP_CLAUSE_TO_DECLARE.
20004
20005 2022-05-27  Richard Biener  <rguenther@suse.de>
20006
20007         PR tree-optimization/105726
20008         * gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset):
20009         Constrain array-of-flexarray case more.
20010
20011 2022-05-27  Jakub Jelinek  <jakub@redhat.com>
20012
20013         PR sanitizer/105729
20014         * fold-const.cc (fold_unary_loc): Don't optimize (X &) ((Y *) z + w)
20015         to (X &) z + w if -fsanitize=null during GENERIC folding.
20016
20017 2022-05-27  Roger Sayle  <roger@nextmovesoftware.com>
20018
20019         * match.pd (match_zero_one_valued_p): New predicate.
20020         (mult @0 @1): Use zero_one_valued_p for optimization to the
20021         expression "bit_and @0 @1".
20022         (bit_and (negate zero_one_valued_p@0) @1): Optimize to MULT_EXPR.
20023         (plus @0 (mult (minus @1 @0) zero_one_valued_p@2)): New transform.
20024         (minus @0 (mult (minus @0 @1) zero_one_valued_p@2)): Likewise.
20025         (bit_xor @0 (mult (bit_xor @0 @1) zero_one_valued_p@2)): Likewise.
20026         Remove three redundant transforms obsoleted by the three above.
20027
20028 2022-05-27  Roger Sayle  <roger@nextmovesoftware.com>
20029
20030         * config/i386/i386.md (*test<mode>_not): New define_insn_and_split
20031         to split a combined "and;cmp" sequence into "not;test".
20032
20033 2022-05-27  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
20034
20035         * config/xtensa/xtensa.md (bswapsi2): New expansion pattern.
20036         (bswapsi2_internal): Revise the template and condition, and add
20037         detection code for preceding the same insn in order to omit a
20038         "SSAI 8" instruction of the latter.
20039         (bswapdi2): Suppress built-in insn expansion with the corresponding
20040         library call when optimizing for size.
20041
20042 2022-05-27  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
20043
20044         * config/xtensa/xtensa-protos.h
20045         (xtensa_expand_block_set_unrolled_loop,
20046         xtensa_expand_block_set_small_loop): New prototypes.
20047         * config/xtensa/xtensa.cc (xtensa_sizeof_MOVI,
20048         xtensa_expand_block_set_unrolled_loop,
20049         xtensa_expand_block_set_small_loop): New functions.
20050         * config/xtensa/xtensa.md (setmemsi): New expansion pattern.
20051         * config/xtensa/xtensa.opt (mlongcalls): Add target mask.
20052
20053 2022-05-26  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
20054
20055         * config/xtensa/xtensa.cc (xtensa_expand_block_move):
20056         Make instruction counting more accurate, and simplify emitting insns.
20057
20058 2022-05-26  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
20059
20060         * config/xtensa/constraints.md (M, O): Use the macro.
20061         * config/xtensa/predicates.md (addsubx_operand, extui_fldsz_operand,
20062         sext_fldsz_operand): Ditto.
20063         * config/xtensa/xtensa.cc (xtensa_simm8, xtensa_simm8x256,
20064         xtensa_simm12b, xtensa_uimm8, xtensa_uimm8x2, xtensa_uimm8x4,
20065         xtensa_mask_immediate, smalloffset_mem_p, printx, xtensa_call_save_reg,
20066         xtensa_expand_prologue): Ditto.
20067         * config/xtensa/xtensa.h (FUNCTION_ARG_REGNO_P): Ditto.
20068
20069 2022-05-26  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
20070
20071         * config/xtensa/predicates.md (extui_fldsz_operand): Simplify.
20072         * config/xtensa/xtensa.cc (xtensa_mask_immediate, print_operand):
20073         Ditto.
20074
20075 2022-05-25  Andrew MacLeod  <amacleod@redhat.com>
20076
20077         * gimple-range-cache.cc: Adjust comments.
20078         * gimple-range-infer.cc: Adjust comments.
20079         * gimple-range-infer.h: Adjust comments.
20080         * gimple-range.cc: Adjust comments.
20081
20082 2022-05-25  Andrew MacLeod  <amacleod@redhat.com>
20083
20084         * Makefile.in (OBJS): Use gimple-range-infer.o.
20085         * gimple-range-cache.cc (ranger_cache::fill_block_cache): Change msg.
20086         (ranger_cache::range_from_dom): Rename var side_effect to infer.
20087         (ranger_cache::apply_inferred_ranges): Rename from apply_side_effects.
20088         * gimple-range-cache.h: Include gimple-range-infer.h.
20089         (class ranger_cache): Adjust prototypes, use infer_range_manager.
20090         * gimple-range-infer.cc: Rename from gimple-range-side-effects.cc.
20091         (gimple_infer_range::*): Rename from stmt_side_effects.
20092         (infer_range_manager::*): Rename from side_effect_manager.
20093         * gimple-range-side-effect.cc: Rename.
20094         * gimple-range-side-effect.h: Rename.
20095         * gimple-range-infer.h: Rename from gimple-range-side-effects.h.
20096         (class gimple_infer_range): Rename from stmt_side_effects.
20097         (class infer_range_manager): Rename from side_effect_manager.
20098         * gimple-range.cc (gimple_ranger::register_inferred_ranges): Rename
20099         from register_side_effects.
20100         * gimple-range.h (register_inferred_ranges): Adjust prototype.
20101         * range-op.h: Adjust comment.
20102         * tree-vrp.cc (rvrp_folder::pre_fold_bb): Use register_inferred_ranges.
20103         (rvrp_folder::post_fold_bb): Use register_inferred_ranges.
20104
20105 2022-05-25  Simon Cook  <simon.cook@embecosm.com>
20106
20107         * config/riscv/arch-canonicalize: Only add mafd extension if
20108         base was rv32/rv64g.
20109
20110 2022-05-25  Tobias Burnus  <tobias@codesourcery.com>
20111
20112         * doc/invoke.texi (AMD GCN Options): Add gfx908/gfx90a.
20113
20114 2022-05-25  Jakub Jelinek  <jakub@redhat.com>
20115
20116         PR sanitizer/105714
20117         * asan.cc (has_stmt_been_instrumented_p): For assignments which
20118         are both stores and loads, return true only if both destination
20119         and source have been instrumented.
20120
20121 2022-05-25  Martin Liska  <mliska@suse.cz>
20122             Richard Biener   <rguenther@suse.de>
20123
20124         * dbgcnt.def (DEBUG_COUNTER): Add loop_unswitch counter.
20125         * params.opt (max-unswitch-level): Remove.
20126         * doc/invoke.texi (max-unswitch-level): Likewise.
20127         * tree-cfg.cc (gimple_lv_add_condition_to_bb): Support not
20128         gimplified expressions.
20129         * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): New.
20130         (tree_may_unswitch_on): Rename to ...
20131         (find_unswitching_predicates_for_bb): ... this and handle
20132         switch statements.
20133         (get_predicates_for_bb): Likewise.
20134         (set_predicates_for_bb): Likewise.
20135         (init_loop_unswitch_info): Likewise.
20136         (tree_ssa_unswitch_loops): Prepare stuff before calling
20137         tree_unswitch_single_loop.
20138         (tree_unswitch_single_loop): Rework the function using
20139         pre-computed predicates and with a per original loop cost model.
20140         (merge_last): New.
20141         (add_predicate_to_path): Likewise.
20142         (find_range_for_lhs): Likewise.
20143         (simplify_using_entry_checks): Rename to ...
20144         (evaluate_control_stmt_using_entry_checks): ... this, handle
20145         switch statements and improve simplifications using ranger.
20146         (simplify_loop_version): Rework using
20147         evaluate_control_stmt_using_entry_checks.
20148         (evaluate_bbs): New.
20149         (evaluate_loop_insns_for_predicate): Likewise.
20150         (tree_unswitch_loop): Adjust to allow switch statements and
20151         pass in the edge to unswitch.
20152         (clean_up_after_unswitching): New.
20153         (pass_tree_unswitch::execute): Pass down fun.
20154
20155 2022-05-24  Eugene Rozenfeld  <erozen@microsoft.com>
20156
20157         * tree-vect-loop-manip.cc (vect_do_peeling): Save/restore profile
20158         counts for the epilog loop.
20159
20160 2022-05-24  Martin Sebor  <msebor@redhat.com>
20161             Richard Biener  <rguenther@suse.de>
20162
20163         PR middle-end/105604
20164         * gimple-ssa-sprintf.cc (set_aggregate_size_and_offset): Add comments.
20165         (get_origin_and_offset_r): Remove null handling.  Handle variable array
20166         sizes.
20167         (get_origin_and_offset): Handle null argument here.  Simplify.
20168         (alias_offset): Update comment.
20169         * pointer-query.cc (field_at_offset): Update comment.  Handle members
20170         of variable-length types.
20171
20172 2022-05-24  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
20173
20174         * target.def (vec_perm_const): Define new parameter op_mode and
20175         update doc.
20176         * doc/tm.texi: Regenerate.
20177         * config/aarch64/aarch64.cc (aarch64_vectorize_vec_perm_const): Adjust
20178         vec_perm_const hook to add new parameter op_mode and return false
20179         if result and operand modes do not match.
20180         * config/arm/arm.cc (arm_vectorize_vec_perm_const): Likewise.
20181         * config/gcn/gcn.cc (gcn_vectorize_vec_perm_const): Likewise.
20182         * config/ia64/ia64.cc (ia64_vectorize_vec_perm_const): Likewise.
20183         * config/mips/mips.cc (mips_vectorize_vec_perm_const): Likewise.
20184         * config/rs6000/rs6000.cc (rs6000_vectorize_vec_perm_const): Likewise
20185         * config/s390/s390.cc (s390_vectorize_vec_perm_const): Likewise.
20186         * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Likewise.
20187         * config/i386/i386-expand.cc (ix86_vectorize_vec_perm_const): Likewise.
20188         * config/i386/i386-expand.h (ix86_vectorize_vec_perm_const): Adjust
20189         prototype.
20190         * config/i386/sse.md (ashrv4di3): Adjust call to vec_perm_const hook.
20191         (ashrv2di3): Likewise.
20192         * optabs.cc (expand_vec_perm_const): Likewise.
20193         * optabs-query.h (can_vec_perm_const_p): Adjust prototype.
20194         * optabs-query.cc (can_vec_perm_const_p): Define new parameter
20195         op_mode and pass it to vec_perm_const hook.
20196         (can_mult_highpart_p): Adjust call to can_vec_perm_const_p.
20197         * match.pd (vec_perm X Y CST): Likewise.
20198         * tree-ssa-forwprop.cc (simplify_vector_constructor): Likewise.
20199         * tree-vect-data-refs.cc (vect_grouped_store_supported): Likewise.
20200         (vect_grouped_load_supported): Likewise.
20201         (vect_shift_permute_load_chain): Likewise.
20202         * tree-vect-generic.cc (lower_vec_perm): Likewise.
20203         * tree-vect-loop-manip.cc (interleave_supported_p): Likewise.
20204         * tree-vect-loop.cc (have_whole_vector_shift): Likewise.
20205         * tree-vect-patterns.cc (vect_recog_rotate_pattern): Likewise.
20206         * tree-vect-slp.cc (can_duplicate_and_interleave_p): Likewise.
20207         (vect_transform_slp_perm_load): Likewise.
20208         (vectorizable_slp_permutation): Likewise.
20209         * tree-vect-stmts.cc (perm_mask_for_reverse): Likewise.
20210         (vectorizable_bswap): Likewise.
20211         (scan_store_can_perm_p): Likewise.
20212         (vect_gen_perm_mask_checked): Likewise.
20213
20214 2022-05-24  H.J. Lu  <hjl.tools@gmail.com>
20215
20216         PR target/104816
20217         * config/i386/i386.opt: Remove Undocumented.
20218         * doc/invoke.texi: Document -mcet-switch.
20219
20220 2022-05-24  Andrew Stubbs  <ams@codesourcery.com>
20221
20222         * config.gcc (amdgcn): Accept --with-arch=gfx908 and gfx90a.
20223         * config/gcn/gcn-opts.h (enum gcn_isa): New.
20224         (TARGET_GCN3): Use enum gcn_isa.
20225         (TARGET_GCN3_PLUS): Likewise.
20226         (TARGET_GCN5): Likewise.
20227         (TARGET_GCN5_PLUS): Likewise.
20228         (TARGET_CDNA1): New.
20229         (TARGET_CDNA1_PLUS): New.
20230         (TARGET_CDNA2): New.
20231         (TARGET_CDNA2_PLUS): New.
20232         (TARGET_M0_LDS_LIMIT): New.
20233         (TARGET_PACKED_WORK_ITEMS): New.
20234         * config/gcn/gcn.cc (gcn_isa): Change to enum gcn_isa.
20235         (gcn_option_override): Recognise CDNA ISA variants.
20236         (gcn_omp_device_kind_arch_isa): Support gfx90a.
20237         (gcn_expand_prologue): Make m0 init optional.
20238         Add support for packed work items.
20239         (output_file_start): Support gfx90a.
20240         (gcn_hsa_declare_function_name): Support gfx90a metadata.
20241         * config/gcn/gcn.h (TARGET_CPU_CPP_BUILTINS):Add __CDNA1__ and
20242         __CDNA2__.
20243         * config/gcn/gcn.md (<su>mulsi3_highpart): Use TARGET_GCN5_PLUS.
20244         (<su>mulsi3_highpart_imm): Likewise.
20245         (<su>mulsidi3): Likewise.
20246         (<su>mulsidi3_imm): Likewise.
20247         * config/gcn/gcn.opt (gpu_type): Add gfx90a.
20248         * config/gcn/mkoffload.cc (EF_AMDGPU_MACH_AMDGCN_GFX90a): New.
20249         (main): Support gfx90a.
20250         * config/gcn/t-gcn-hsa: Add gfx90a multilib.
20251         * config/gcn/t-omp-device: Add gfx90a isa.
20252
20253 2022-05-24  Andrew Stubbs  <ams@codesourcery.com>
20254
20255         * config.in: Regenerate.
20256         * config/gcn/gcn-hsa.h (X_FIJI): Delete.
20257         (X_900): Delete.
20258         (X_906): Delete.
20259         (X_908): Delete.
20260         (S_FIJI): Delete.
20261         (S_900): Delete.
20262         (S_906): Delete.
20263         (S_908): Delete.
20264         (NO_XNACK): New macro.
20265         (NO_SRAM_ECC): New macro.
20266         (SRAMOPT): Keep only v4 variant.
20267         (HSACO3_SELECT_OPT): Delete.
20268         (DRIVER_SELF_SPECS): Delete.
20269         (ASM_SPEC): Remove LLVM 9 support.
20270         * config/gcn/gcn-valu.md
20271         (gather<mode>_insn_2offsets<exec>): Remove assembler bug workaround.
20272         (scatter<mode>_insn_2offsets<exec_scatter>): Likewise.
20273         * config/gcn/gcn.cc (output_file_start): Remove LLVM 9 support.
20274         (print_operand_address): Remove assembler bug workaround.
20275         * config/gcn/mkoffload.cc (EF_AMDGPU_XNACK_V3): Delete.
20276         (EF_AMDGPU_SRAM_ECC_V3): Delete.
20277         (SET_XNACK_ON): Delete v3 variants.
20278         (SET_XNACK_OFF): Delete v3 variants.
20279         (TEST_XNACK): Delete v3 variants.
20280         (SET_SRAM_ECC_ON): Delete v3 variants.
20281         (SET_SRAM_ECC_ANY): Delete v3 variants.
20282         (SET_SRAM_ECC_OFF): Delete v3 variants.
20283         (SET_SRAM_ECC_UNSUPPORTED): Delete v3 variants.
20284         (TEST_SRAM_ECC_ANY): Delete v3 variants.
20285         (TEST_SRAM_ECC_ON): Delete v3 variants.
20286         (copy_early_debug_info): Remove v3 support.
20287         (main): Remove v3 support.
20288         * configure: Regenerate.
20289         * configure.ac: Replace all GCN feature checks with a version check.
20290
20291 2022-05-24  Roger Sayle  <roger@nextmovesoftware.com>
20292
20293         * config/i386/i386.md (peephole2): Convert xor;neg;adc;neg,
20294         i.e. a double word negation of a zero extended operand, to
20295         neg;sbb.
20296
20297 2022-05-24  Roger Sayle  <roger@nextmovesoftware.com>
20298
20299         PR tree-optimization/105668
20300         * config/i386/i386-expand.cc (ix86_expand_sse_movcc): Support
20301         V1TImode, just like V2DImode.
20302         * config/i386/sse.md (vcond_mask_<mode><sseintvecmodelower>):
20303         Use VI_128 mode iterator instead of VI124_128 to include V2DI.
20304         (vcond_mask_v2div2di): Delete.
20305         (vcond_mask_v1tiv1ti): New define_expand.
20306
20307 2022-05-24  Roger Sayle  <roger@nextmovesoftware.com>
20308
20309         * genpreds.cc (write_lookup_constraint_1): Avoid generating a call
20310         to strncmp for strings of length one.
20311
20312 2022-05-24  ShiYulong  <shiyulong@iscas.ac.cn>
20313
20314         * config/riscv/predicates.md (imm5_operand): Add a new operand type for
20315         prefetch instructions.
20316         * config/riscv/riscv-builtins.cc (AVAIL): Add new AVAILs for CMO ISA
20317         Extensions.
20318         (RISCV_ATYPE_SI): New.
20319         (RISCV_ATYPE_DI): New.
20320         * config/riscv/riscv-ftypes.def (0): New.
20321         (1): New.
20322         * config/riscv/riscv.md (riscv_clean_<mode>): New.
20323         (riscv_flush_<mode>): New.
20324         (riscv_inval_<mode>): New.
20325         (riscv_zero_<mode>): New.
20326         (prefetch): New.
20327         (riscv_prefetchi_<mode>): New.
20328         * config/riscv/riscv-cmo.def: New file.
20329
20330 2022-05-24  ShiYulong  <shiyulong@iscas.ac.cn>
20331
20332         * common/config/riscv/riscv-common.cc: Add zicbom, zicboz, zicbop extensions.
20333         * config/riscv/riscv-opts.h (MASK_ZICBOZ): New.
20334         (MASK_ZICBOM): New.
20335         (MASK_ZICBOP): New.
20336         (TARGET_ZICBOZ): New.
20337         (TARGET_ZICBOM): New.
20338         (TARGET_ZICBOP): New.
20339         * config/riscv/riscv.opt (riscv_zicmo_subext): New.
20340
20341 2022-05-24  David Malcolm  <dmalcolm@redhat.com>
20342
20343         * tree-vect-slp-patterns.cc: Add "final" and "override" to
20344         vect_pattern::build impls as appropriate.
20345
20346 2022-05-24  David Malcolm  <dmalcolm@redhat.com>
20347
20348         * ipa-cp.cc: Add "final" and "override" to call_summary_base vfunc
20349         implementations, removing redundant "virtual" as appropriate.
20350         * ipa-fnsummary.h: Likewise.
20351         * ipa-modref.cc: Likewise.
20352         * ipa-param-manipulation.cc: Likewise.
20353         * ipa-profile.cc: Likewise.
20354         * ipa-prop.h: Likewise.
20355         * ipa-pure-const.cc: Likewise.
20356         * ipa-reference.cc: Likewise.
20357         * ipa-sra.cc: Likewise.
20358         * symbol-summary.h: Likewise.
20359         * symtab-thunks.cc: Likewise.
20360
20361 2022-05-24  Martin Liska  <mliska@suse.cz>
20362
20363         Revert:
20364         2022-05-24  Martin Liska  <mliska@suse.cz>
20365
20366         * expmed.cc (emit_store_flag_1): Mitigate -Wmaybe-uninitialized
20367         warning.
20368
20369 2022-05-24  Martin Liska  <mliska@suse.cz>
20370
20371         * expmed.cc (emit_store_flag_1): Mitigate -Wmaybe-uninitialized
20372         warning.
20373
20374 2022-05-24  Bruno Haible  <bruno@clisp.org>
20375
20376         PR other/105527
20377         * doc/install.texi (Configuration): Add more details about --with-zstd.
20378         Document --with-zstd-include and --with-zstd-lib
20379
20380 2022-05-24  Richard Biener  <rguenther@suse.de>
20381
20382         PR middle-end/105711
20383         * expmed.cc (extract_bit_field_as_subreg): Add op0_mode parameter
20384         and use it.
20385         (extract_bit_field_1): Pass down the mode of op0 to
20386         extract_bit_field_as_subreg.
20387
20388 2022-05-24  Vineet Gupta  <vineetg@rivosinc.com>
20389
20390         * config/riscv/riscv.cc: (struct riscv_tune_param): Add
20391         fmv_cost.
20392         (rocket_tune_info): Add default fmv_cost 8.
20393         (sifive_7_tune_info): Ditto.
20394         (thead_c906_tune_info): Ditto.
20395         (optimize_size_tune_info): Ditto.
20396         (riscv_register_move_cost): Use fmv_cost for int<->fp moves.
20397
20398 2022-05-24  Jakub Jelinek  <jakub@redhat.com>
20399
20400         PR c/105378
20401         * omp-builtins.def (BUILT_IN_GOMP_TASKWAIT_DEPEND_NOWAIT): New
20402         builtin.
20403         * gimplify.cc (gimplify_omp_task): Diagnose taskwait with nowait
20404         clause but no depend clauses.
20405         * omp-expand.cc (expand_taskwait_call): Use
20406         BUILT_IN_GOMP_TASKWAIT_DEPEND_NOWAIT rather than
20407         BUILT_IN_GOMP_TASKWAIT_DEPEND if nowait clause is present.
20408
20409 2022-05-24  Richard Biener  <rguenther@suse.de>
20410
20411         PR tree-optimization/100221
20412         * tree-ssa-dse.cc (contains_phi_arg): New function.
20413         (dse_classify_store): Postpone PHI defs that feed another PHI in defs.
20414
20415 2022-05-24  Richard Biener  <rguenther@suse.de>
20416
20417         PR tree-optimization/105629
20418         * tree-ssa-phiopt.cc (spaceship_replacement): Allow
20419         a sign-extending conversion.
20420
20421 2022-05-24  Kewen Lin  <linkw@linux.ibm.com>
20422
20423         PR target/105627
20424         * config/rs6000/rs6000-p8swap.cc (union_defs): Assert def_insn can't
20425         be a debug insn.
20426         (union_uses): Skip debug use_insn.
20427
20428 2022-05-23  Vineet Gupta  <vineetg@rivosinc.com>
20429
20430         * config/riscv/predicates.md (const_0_operand): Remove
20431         const_double.
20432         * config/riscv/riscv.cc (riscv_rtx_costs): Add check for
20433         CONST_DOUBLE.
20434         * config/riscv/riscv.h (TARGET_SUPPORTS_WIDE_INT): New define.
20435
20436 2022-05-23  Mayshao  <mayshao-oc@zhaoxin.com>
20437
20438         * common/config/i386/cpuinfo.h (get_zhaoxin_cpu): Detect
20439         the specific type of Zhaoxin CPU, and return Zhaoxin CPU name.
20440         (cpu_indicator_init): Handle Zhaoxin processors.
20441         * common/config/i386/i386-common.cc: Add lujiazui.
20442         * common/config/i386/i386-cpuinfo.h (enum processor_vendor): Add
20443         VENDOR_ZHAOXIN.
20444         (enum processor_types): Add ZHAOXIN_FAM7H.
20445         (enum processor_subtypes): Add ZHAOXIN_FAM7H_LUJIAZUI.
20446         * config.gcc: Add lujiazui.
20447         * config/i386/cpuid.h (signature_SHANGHAI_ebx): Add
20448         Signatures for zhaoxin
20449         (signature_SHANGHAI_ecx): Ditto.
20450         (signature_SHANGHAI_edx): Ditto.
20451         * config/i386/driver-i386.cc (host_detect_local_cpu): Let
20452         -march=native recognize lujiazui processors.
20453         * config/i386/i386-c.cc (ix86_target_macros_internal): Add lujiazui.
20454         * config/i386/i386-options.cc (m_LUJIAZUI): New_definition.
20455         * config/i386/i386.h (enum processor_type): Ditto.
20456         * config/i386/i386.md: Add lujiazui.
20457         * config/i386/x86-tune-costs.h (struct processor_costs): Add
20458         lujiazui costs.
20459         * config/i386/x86-tune-sched.cc (ix86_issue_rate): Add lujiazui.
20460         (ix86_adjust_cost): Ditto.
20461         * config/i386/x86-tune.def (X86_TUNE_SCHEDULE): Add lujiazui Tunnings.
20462         (X86_TUNE_PARTIAL_REG_DEPENDENCY): Ditto.
20463         (X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY): Ditto.
20464         (X86_TUNE_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY): Ditto.
20465         (X86_TUNE_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY): Ditto.
20466         (X86_TUNE_MOVX): Ditto.
20467         (X86_TUNE_MEMORY_MISMATCH_STALL): Ditto.
20468         (X86_TUNE_FUSE_CMP_AND_BRANCH_32): Ditto.
20469         (X86_TUNE_FUSE_CMP_AND_BRANCH_64): Ditto.
20470         (X86_TUNE_FUSE_CMP_AND_BRANCH_SOFLAGS): Ditto.
20471         (X86_TUNE_FUSE_ALU_AND_BRANCH): Ditto.
20472         (X86_TUNE_ACCUMULATE_OUTGOING_ARGS): Ditto.
20473         (X86_TUNE_USE_LEAVE): Ditto.
20474         (X86_TUNE_PUSH_MEMORY): Ditto.
20475         (X86_TUNE_LCP_STALL): Ditto.
20476         (X86_TUNE_USE_INCDEC): Ditto.
20477         (X86_TUNE_INTEGER_DFMODE_MOVES): Ditto.
20478         (X86_TUNE_OPT_AGU): Ditto.
20479         (X86_TUNE_PREFER_KNOWN_REP_MOVSB_STOSB): Ditto.
20480         (X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Ditto.
20481         (X86_TUNE_USE_SAHF): Ditto.
20482         (X86_TUNE_USE_BT): Ditto.
20483         (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI): Ditto.
20484         (X86_TUNE_ONE_IF_CONV_INSN): Ditto.
20485         (X86_TUNE_AVOID_MFENCE): Ditto.
20486         (X86_TUNE_EXPAND_ABS): Ditto.
20487         (X86_TUNE_USE_SIMODE_FIOP): Ditto.
20488         (X86_TUNE_USE_FFREEP): Ditto.
20489         (X86_TUNE_EXT_80387_CONSTANTS): Ditto.
20490         (X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL): Ditto.
20491         (X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL): Ditto.
20492         (X86_TUNE_SSE_TYPELESS_STORES): Ditto.
20493         (X86_TUNE_SSE_LOAD0_BY_PXOR): Ditto.
20494         * doc/extend.texi: Add details about lujiazui.
20495         * doc/invoke.texi: Add details about lujiazui.
20496         * config/i386/lujiazui.md: Introduce lujiazui cpu and include new md file.
20497
20498 2022-05-23  Martin Liska  <mliska@suse.cz>
20499
20500         * config/tilepro/gen-mul-tables.cc (ARRAY_SIZE): Add new macro.
20501
20502 2022-05-23  Richard Biener  <rguenther@suse.de>
20503
20504         * tree-ssa-forwprop.cc (forward_propagate_into_cond): Remove.
20505         (pass_forwprop::execute): Do not propagate into COND_EXPR conditions.
20506
20507 2022-05-23  Richard Biener  <rguenther@suse.de>
20508
20509         * gimple-expr.cc (is_gimple_condexpr): Remove.
20510         * gimple-expr.h (is_gimple_condexpr): Likewise.
20511         * gimplify.cc (gimplify_expr): Remove is_gimple_condexpr usage.
20512         * tree-if-conv.cc (set_bb_predicate): Likewie.
20513         (add_to_predicate_list): Likewise.
20514         (gen_phi_arg_condition): Likewise.
20515         (predicate_scalar_phi): Likewise.
20516         (predicate_statements): Likewise.
20517
20518 2022-05-23  Richard Biener  <rguenther@suse.de>
20519
20520         * gimple-expr.cc (is_gimple_condexpr): Equate to is_gimple_val.
20521         * gimplify.cc (gimplify_pure_cond_expr): Gimplify the condition
20522         as is_gimple_val.
20523         * gimple-fold.cc (valid_gimple_rhs_p): Simplify.
20524         * tree-cfg.cc (verify_gimple_assign_ternary): Likewise.
20525         * gimple-loop-interchange.cc (loop_cand::undo_simple_reduction):
20526         Build the condition of the COND_EXPR separately.
20527         * tree-ssa-loop-im.cc (move_computations_worker): Likewise.
20528         * tree-vect-generic.cc (expand_vector_condition): Likewise.
20529         * tree-vect-loop.cc (vect_create_epilog_for_reduction):
20530         Likewise.
20531         * vr-values.cc (simplify_using_ranges::simplify): Likewise.
20532         * tree-vect-patterns.cc: Add comment indicating we are
20533         building invalid COND_EXPRs and why.
20534         * omp-expand.cc (expand_omp_simd): Gimplify the condition
20535         to the COND_EXPR separately.
20536         (expand_omp_atomic_cas): Note part that should be unreachable
20537         now.
20538         * tree-ssa-forwprop.cc (forward_propagate_into_cond): Adjust
20539         condition for valid replacements.
20540         * tree-if-conv.cc (predicate_bbs): Simulate previous
20541         re-folding of the condition in folded COND_EXPRs which
20542         is necessary because of unfolded GIMPLE_CONDs in the IL
20543         as in for example gcc.dg/fold-bopcond-1.c.
20544         * gimple-range-gori.cc (gori_compute::condexpr_adjust):
20545         Handle that the comparison is now in the def stmt of
20546         the select operand.  Required by gcc.dg/pr104526.c.
20547
20548 2022-05-23  Tobias Burnus  <tobias@codesourcery.com>
20549
20550         PR fortran/104949
20551         * langhooks-def.h (lhd_omp_array_size): New.
20552         (LANG_HOOKS_OMP_ARRAY_SIZE): Define.
20553         (LANG_HOOKS_DECLS): Add it.
20554         * langhooks.cc (lhd_omp_array_size): New.
20555         * langhooks.h (struct lang_hooks_for_decls): Add hook.
20556         * omp-low.cc (scan_sharing_clauses, lower_omp_target):
20557         Handle GOMP_MAP_FIRSTPRIVATE for array descriptors.
20558
20559 2022-05-23  Roger Sayle  <roger@nextmovesoftware.com>
20560
20561         * config/i386/i386.cc (ix86_rtx_costs) <case AND>: Split from
20562         XOR/IOR case.  Account for two instructions for double-word
20563         operations.  In case of vector pandn, account for single
20564         instruction.  Likewise for integer andn with TARGET_BMI.
20565         <case NOT>: Vector NOT requires more than 1 instruction (pxor).
20566         <case NEG>: Double-word negation requires 3 instructions.
20567
20568 2022-05-23  Tsukasa OI  <research_trasio@irq.a4lg.com>
20569
20570         * common/config/riscv/riscv-common.cc (riscv_supported_std_ext):
20571         Fix "K" extension prefix to be placed before "J".
20572         * config/riscv/arch-canonicalize: Likewise.
20573
20574 2022-05-23  liuhongt  <hongtao.liu@intel.com>
20575
20576         * config/i386/x86-tune-costs.h (skylake_cost): Increase gpr
20577         <-> mask cost from 5 to 6.
20578         (icelake_cost): Ditto.
20579
20580 2022-05-20  Wilco Dijkstra  <wilco.dijkstra@arm.com>
20581
20582         * config/aarch64/aarch64.md
20583         (and_<SHIFT:optab><mode>3_compare0): Support rotate left.
20584         (and_<SHIFT:optab>si3_compare0_uxtw): Likewise.
20585         (<LOGICAL:optab>_<SHIFT:optab><mode>3): Likewise.
20586         (<LOGICAL:optab>_<SHIFT:optab>si3_uxtw): Likewise.
20587         (one_cmpl_<optab><mode>2): Likewise.
20588         (<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3): Likewise.
20589         (<LOGICAL:optab>_one_cmpl_<SHIFT:optab>sidi_uxtw): New pattern.
20590         (eor_one_cmpl_<SHIFT:optab><mode>3_alt): Support rotate left.
20591         (eor_one_cmpl_<SHIFT:optab>sidi3_alt_ze): Likewise.
20592         (and_one_cmpl_<SHIFT:optab><mode>3_compare0): Likewise.
20593         (and_one_cmpl_<SHIFT:optab>si3_compare0_uxtw): Likewise.
20594         (and_one_cmpl_<SHIFT:optab><mode>3_compare0_no_reuse): Likewise.
20595         (and_<SHIFT:optab><mode>3nr_compare0): Likewise.
20596         (*<optab>si3_insn_uxtw): Use SHIFT_no_rotate.
20597         (rolsi3_insn_uxtw): New pattern.
20598         * config/aarch64/iterators.md (SHIFT): Add rotate left.
20599         (SHIFT_no_rotate): Add new iterator.
20600         (SHIFT:shift): Print rotate left as ror.
20601         (is_rotl): Add test for left rotate.
20602
20603 2022-05-20  Wilco Dijkstra  <wilco.dijkstra@arm.com>
20604
20605         * config.gcc (aarch64*-*-*): Simplify --with-cpu and --with-arch
20606         processing.  Add support for architectural extensions.
20607         * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Remove
20608         AARCH64_CPU_DEFAULT_FLAGS.
20609         (TARGET_CPU_NBITS): Remove.
20610         (TARGET_CPU_MASK): Remove.
20611         * config/aarch64/aarch64.cc (AARCH64_CPU_DEFAULT_FLAGS): Remove define.
20612         (get_tune_cpu): Assert CPU is always valid.
20613         (get_arch): Assert architecture is always valid.
20614         (aarch64_override_options): Cleanup CPU selection code and simplify logic.
20615         (aarch64_option_restore): Remove unnecessary checks on tune.
20616
20617 2022-05-20  David Malcolm  <dmalcolm@redhat.com>
20618
20619         * config/aarch64/aarch64-sve-builtins-base.cc: Replace uses of
20620         "FINAL" and "OVERRIDE" with "final" and "override".
20621         * config/aarch64/aarch64-sve-builtins-functions.h: Likewise.
20622         * config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise.
20623         * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise.
20624         * diagnostic-path.h: Likewise.
20625         * digraph.cc: Likewise.
20626         * gcc-rich-location.h: Likewise.
20627         * gimple-array-bounds.cc: Likewise.
20628         * gimple-loop-versioning.cc: Likewise.
20629         * gimple-range-cache.cc: Likewise.
20630         * gimple-range-cache.h: Likewise.
20631         * gimple-range-fold.cc: Likewise.
20632         * gimple-range-fold.h: Likewise.
20633         * gimple-range-tests.cc: Likewise.
20634         * gimple-range.h: Likewise.
20635         * gimple-ssa-evrp.cc: Likewise.
20636         * input.cc: Likewise.
20637         * json.h: Likewise.
20638         * read-rtl-function.cc: Likewise.
20639         * tree-complex.cc: Likewise.
20640         * tree-diagnostic-path.cc: Likewise.
20641         * tree-ssa-ccp.cc: Likewise.
20642         * tree-ssa-copy.cc: Likewise.
20643         * tree-vrp.cc: Likewise.
20644         * value-query.h: Likewise.
20645         * vr-values.h: Likewise.
20646
20647 2022-05-20  Marcel Vollweiler  <marcel@codesourcery.com>
20648
20649         * omp-low.cc (omp_runtime_api_call): Added target_memcpy_async and
20650         target_memcpy_rect_async to omp_runtime_apis array.
20651
20652 2022-05-20  Christophe Lyon  <christophe.lyon@arm.com>
20653
20654         * doc/sourcebuild.texi (Decimal floating point attributes): Document
20655         dfp_bid effective-target.
20656
20657 2022-05-20  Christophe Lyon  <christophe.lyon@arm.com>
20658
20659         * config/aarch64/aarch64.cc
20660         (aarch64_split_128bit_move): Handle DFP modes.
20661         (aarch64_mode_valid_for_sched_fusion_p): Likewise.
20662         (aarch64_classify_address): Likewise.
20663         (aarch64_legitimize_address_displacement): Likewise.
20664         (aarch64_reinterpret_float_as_int): Likewise.
20665         (aarch64_float_const_zero_rtx_p): Likewise.
20666         (aarch64_can_const_movi_rtx_p): Likewise.
20667         (aarch64_anchor_offset): Likewise.
20668         (aarch64_secondary_reload): Likewise.
20669         (aarch64_rtx_costs): Likewise.
20670         (aarch64_legitimate_constant_p): Likewise.
20671         (aarch64_gimplify_va_arg_expr): Likewise.
20672         (aapcs_vfp_sub_candidate): Likewise.
20673         (aarch64_vfp_is_call_or_return_candidate): Likewise.
20674         (aarch64_output_scalar_simd_mov_immediate): Likewise.
20675         (aarch64_gen_adjusted_ldpstp): Likewise.
20676         (aarch64_scalar_mode_supported_p): Accept DFP modes if enabled.
20677         * config/aarch64/aarch64.md
20678         (movsf_aarch64): Use SFD iterator and rename into
20679         mov<mode>_aarch64.
20680         (movdf_aarch64): Use DFD iterator and rename into
20681         mov<mode>_aarch64.
20682         (movtf_aarch64): Use TFD iterator and rename into
20683         mov<mode>_aarch64.
20684         (split pattern for move TF mode): Use TFD iterator.
20685         * config/aarch64/iterators.md
20686         (GPF_TF_F16_MOV): Add DFP modes.
20687         (SFD, DFD, TFD): New iterators.
20688         (GPF_TF): Add DFP modes.
20689         (TX, DX, DX2): Likewise.
20690
20691 2022-05-20  Christophe Lyon  <christophe.lyon@arm.com>
20692
20693         * configure: Regenerate.
20694
20695 2022-05-19  Roger Sayle  <roger@nextmovesoftware.com>
20696
20697         PR middle-end/98865
20698         * expr.cc (expand_expr_real_2) [MULT_EXPR]:  Expand X*Y as X&Y
20699         when both X and Y are [0, 1], X*Y as X&-Y when Y is [0,1] and
20700         likewise X*Y as -X&Y when X is [0,1] using tree_nonzero_bits.
20701
20702 2022-05-19  Will Schmidt  <will_schmidt@vnet.ibm.com>
20703
20704         * config/rs6000/rs6000-builtins.def: Rephrase
20705         to remove RS6000_BTC_SPECIAL from comment.
20706         * config/rs6000/rs6000.h (RS6000_BTC_UNARY, RS6000_BTC_BINARY,
20707         RS6000_BTC_TERNARY, RS6000_BTC_QUATERNARY,
20708         RS6000_BTC_QUINARY, RS6000_BTC_SENARY, RS6000_BTC_OPND_MASK,
20709         RS6000_BTC_SPECIAL, RS6000_BTC_PREDICATE, RS6000_BTC_ABS,
20710         RS6000_BTC_DST, RS6000_BTC_TYPE_MASK, RS6000_BTC_MISC,
20711         RS6000_BTC_CONST, RS6000_BTC_PURE, RS6000_BTC_FP,
20712         RS6000_BTC_QUAD, RS6000_BTC_PAIR, RS6000_BTC_QUADPAIR,
20713         RS6000_BTC_ATTR_MASK, RS6000_BTC_SPR, RS6000_BTC_VOID,
20714         RS6000_BTC_CR, RS6000_BTC_OVERLOADED, RS6000_BTC_GIMPLE,
20715         RS6000_BTC_MISC_MASK, RS6000_BTC_MEM, RS6000_BTC_SAT,
20716         RS6000_BTM_ALWAYS): Delete.
20717
20718 2022-05-19  Richard Biener  <rguenther@suse.de>
20719
20720         * omp-expand.cc (expand_omp_atomic_cas): Do not short-cut
20721         computation of the new value.
20722
20723 2022-05-19  Richard Biener  <rguenther@suse.de>
20724
20725         * tree-ssa-pre.cc (get_or_alloc_expression_id): Remove.
20726         (add_to_value): Use get_expression_id.
20727         (bitmap_insert_into_set): Likewise.
20728         (bitmap_value_insert_into_set): Likewise.
20729
20730 2022-05-19  David Malcolm  <dmalcolm@redhat.com>
20731
20732         * doc/invoke.texi (-fanalyzer-checker=): Add
20733         -Wanalyzer-va-list-leak and -Wanalyzer-va-list-use-after-va-end to
20734         the list of analyzer warnings disabled by
20735         -fanalyzer-checker=taint.
20736
20737 2022-05-19  Jakub Jelinek  <jakub@redhat.com>
20738
20739         PR debug/105630
20740         * cfgexpand.cc (expand_debug_expr): For VAR_DECL, punt for
20741         global vars without symtab node even when they have DECL_RTL
20742         set.
20743
20744 2022-05-19  Jakub Jelinek  <jakub@redhat.com>
20745
20746         PR c/105635
20747         * pointer-query.cc (gimple_parm_array_size): Return NULL if var
20748         doesn't have pointer or reference type.
20749
20750 2022-05-18  Marek Polacek  <polacek@redhat.com>
20751
20752         PR c/105131
20753         * doc/invoke.texi: Document -Wenum-int-mismatch.
20754
20755 2022-05-18  Uros Bizjak  <ubizjak@gmail.com>
20756
20757         * config/i386/gnu-user-common.h (defined): Only define
20758         TARGET_CAN_SPLIT_STACK for glibc targets.
20759         * config/i386/gnu.h (defined): Ditto.
20760
20761 2022-05-18  Roger Sayle  <roger@nextmovesoftware.com>
20762
20763         * config/i386/i386.cc (ix86_rtx_costs) [MULT]: When mode size
20764         is wider than word_mode, a multiplication costs three word_mode
20765         multiplications and two word_mode additions.
20766
20767 2022-05-18  Roger Sayle  <roger@nextmovesoftware.com>
20768
20769         * config/i386/i386.md (define_split):  Split *andsi_1
20770         and *andn_si_ccno after reload with -Oz.
20771
20772 2022-05-18  Frederik Harwath  <frederik@codesourcery.com>
20773
20774         * graphite-scop-detection.cc (scop_detection::can_represent_loop):
20775         Output reason for failure to dump file.
20776         (scop_detection::harmful_loop_in_region): Likewise.
20777         (scop_detection::graphite_can_represent_expr): Likewise.
20778         (scop_detection::stmt_has_simple_data_refs_p): Likewise.
20779         (scop_detection::stmt_simple_for_scop_p): Likewise.
20780         (print_sese_loop_numbers): New function.
20781         (scop_detection::add_scop): Use from here.
20782
20783 2022-05-18  liuhongt  <hongtao.liu@intel.com>
20784
20785         PR middle-end/103462
20786         * match.pd (bitwise_induction_p): New match.
20787         * tree-scalar-evolution.cc (gimple_bitwise_induction_p):
20788         Declare.
20789         (analyze_and_compute_bitwise_induction_effect): New function.
20790         (enum bit_op_kind): New enum.
20791         (final_value_replacement_loop): Enhanced to handle bitwise
20792         induction.
20793
20794 2022-05-18  Haochen Gui  <guihaoc@gcc.gnu.org>
20795
20796         PR target/95737
20797         * config/rs6000/rs6000.md (*subfsi3_carry_in_xx_64): New.
20798
20799 2022-05-18  liuhongt  <hongtao.liu@intel.com>
20800
20801         PR target/104375
20802         * config/i386/i386.md (*bmi2_bzhi_zero_extendsidi_4): New
20803         define_insn.
20804
20805 2022-05-18  liuhongt  <hongtao.liu@intel.com>
20806
20807         PR target/104610
20808         * config/i386/i386-expand.cc (ix86_expand_branch): Use ptest
20809         for QImode when code is EQ or NE.
20810         * config/i386/i386.md (cbranchoi4): New expander.
20811
20812 2022-05-18  Peter Bergner  <bergner@linux.ibm.com>
20813             Segher Boessenkool  <segher@kernel.crashing.org>
20814
20815         PR target/105556
20816         * config/rs6000/mma.md (mma_<vv>, mma_<avv>, mma_<pv>, mma_<apv>,
20817         mma_<vvi4i4i8>, mma_<avvi4i4i8>, mma_<vvi4i4i2>, mma_<avvi4i4i2>,
20818         mma_<vvi4i4>, mma_<avvi4i4>, mma_<pvi4i2>, mma_<apvi4i2>,
20819         mma_<vvi4i4i4>, mma_<avvi4i4i4>): Replace "wa" constraints with "v,?wa".
20820         Update other operands accordingly.
20821
20822 2022-05-17  Marek Polacek  <polacek@redhat.com>
20823
20824         * godump.cc (go_output_typedef): Use the DECL_INITIAL of the TREE_VALUE.
20825
20826 2022-05-17  Pat Haugen  <pthaugen@linux.ibm.com>
20827
20828         PR target/99685
20829         * config/rs6000/rs6000-call.cc (rs6000_function_arg_advance_1): Bump
20830         register count when not splitting IEEE 128-bit Complex.
20831
20832 2022-05-17  Tobias Burnus  <tobias@codesourcery.com>
20833
20834         * omp-low.cc (check_omp_nesting_restrictions): Skip warning for
20835         target inside target if inner is reverse offload.
20836
20837 2022-05-17  Tobias Burnus  <tobias@codesourcery.com>
20838
20839         * config/gcn/mkoffload.cc (process_obj): Revert: Use ARRAY_SIZE.
20840         * config/nvptx/mkoffload.cc (process): Likewise.
20841
20842 2022-05-17  Andrew MacLeod  <amacleod@redhat.com>
20843
20844         * Makefile.in (OBJS): Add gimple-range-side-effect.o.
20845         * gimple-range-cache.cc (non_null_ref::non_null_ref): Delete.
20846         (non_null_ref::~non_null_ref): Delete.
20847         (non_null_ref::set_nonnull): Delete.
20848         (non_null_ref::non_null_deref_p): Delete.
20849         (non_null_ref::process_name): Delete.
20850         (ranger_cache::ranger_cache): Initialize m_exit object.
20851         (ranger_cache::fill_block_cache): Use m_exit object intead of nonnull.
20852         (ranger_cache::range_from_dom): Use side_effect class and m_exit object.
20853         (ranger_cache::update_to_nonnull): Delete.
20854         (non_null_loadstore): Delete.
20855         (ranger_cache::block_apply_nonnull): Delete.
20856         (ranger_cache::apply_side_effects): New.
20857         * gimple-range-cache.h (class non_null_ref): Delete.
20858         (non_null_ref::adjust_range): Delete.
20859         (class ranger_cache): Adjust prototypes, add side effect manager.
20860         * gimple-range-path.cc (path_range_query::range_defined_in_block): Use
20861         side effect manager for queries.
20862         (path_range_query::adjust_for_non_null_uses): Ditto.
20863         * gimple-range-path.h (class path_range_query): Delete non_null_ref.
20864         * gimple-range-side-effect.cc: New.
20865         * gimple-range-side-effect.h: New.
20866         * gimple-range.cc (gimple_ranger::gimple_ranger): Update contructor.
20867         (gimple_ranger::range_of_expr): Check def block for override value.
20868         (gimple_ranger::range_on_entry): Don't scan dominators for non-null.
20869         (gimple_ranger::range_on_edge): Check for outgoing side-effects.
20870         (gimple_ranger::register_side_effects): Call apply_side_effects.
20871         (enable_ranger): Update contructor.
20872         * gimple-range.h (class gimple_ranger): Update prototype.
20873         (enable_ranger): Update prototype.
20874         * tree-vrp.cc (execute_ranger_vrp): Invoke without immediate-use flag.
20875
20876 2022-05-17  Giuliano Belinassi  <gbelinassi@suse.de>
20877
20878         PR c++/105169
20879         * targhooks.cc (default_print_patchable_function_entry_1): Handle COMDAT case.
20880         * varasm.cc (switch_to_comdat_section): New
20881         (handle_vtv_comdat_section): Call switch_to_comdat_section.
20882         * varasm.h: Declare switch_to_comdat_section.
20883
20884 2022-05-17  Richard Biener  <rguenther@suse.de>
20885
20886         * cfgloopmanip.cc (duplicate_loop_body_to_header_edge): Do
20887         not clear bb->aux of the copied blocks.
20888
20889 2022-05-17  Andrew MacLeod  <amacleod@redhat.com>
20890
20891         PR tree-optimization/105458
20892         * value-relation.cc (path_oracle::register_relation): Merge, then check
20893         for equivalence.
20894
20895 2022-05-17  Uroš Bizjak  <ubizjak@gmail.com>
20896
20897         PR target/105624
20898         Revert:
20899         * config/i386/i386.md: Remove constraints when used with
20900         const_int_operand, const0_operand, const_1_operand, constm1_operand,
20901         const8_operand, const128_operand, const248_operand, const123_operand,
20902         const2367_operand, const1248_operand, const359_operand,
20903         const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
20904         const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
20905         const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
20906         const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
20907         const_0_to_255_mul_8_operand, const_1_to_31_operand,
20908         const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
20909         const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
20910         const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
20911         const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
20912         const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
20913         const_24_to_27_operand and const_28_to_31_operand.
20914         * config/i386/mmx.md: Ditto.
20915         * config/i386/sse.md: Ditto.
20916         * config/i386/subst.md: Ditto.
20917         * config/i386/sync.md: Ditto.
20918
20919 2022-05-17  Thomas Schwinge  <thomas@codesourcery.com>
20920
20921         * diagnostic.cc: Don't advise to call 'abort' instead of
20922         'internal_error'.
20923         * system.h: Advise to call 'internal_error' instead of 'abort' or
20924         'fancy_abort'.
20925
20926 2022-05-17  Frederik Harwath  <frederik@codesourcery.com>
20927
20928         * graphite-sese-to-poly.cc (build_poly_sr_1): Fix a typo and
20929         a reference to a variable which does not exist.
20930         * graphite-isl-ast-to-gimple.cc (gsi_insert_earliest): Fix typo
20931         in comment.
20932
20933 2022-05-17  Frederik Harwath  <frederik@codesourcery.com>
20934
20935         * graphite-sese-to-poly.cc (isl_id_for_ssa_name): Rename to ...
20936         (isl_id_for_parameter): ... this new function name.
20937         (build_scop_context): Adjust function use.
20938
20939 2022-05-17  Tobias Burnus  <tobias@codesourcery.com>
20940
20941         PR target/105602
20942         * config/gcn/t-omp-device (arch): Add 'amdgcn' besides existing 'gcn'.
20943         * config/gcn/gcn.cc (gcn_omp_device_kind_arch_isa): Likewise.
20944
20945 2022-05-17  Jakub Jelinek  <jakub@redhat.com>
20946
20947         * tree-core.h (enum omp_clause_depend_kind): Add
20948         OMP_CLAUSE_DEPEND_INOUTSET.
20949         * tree-pretty-print.cc (dump_omp_clause): Handle
20950         OMP_CLAUSE_DEPEND_INOUTSET.
20951         * gimplify.cc (gimplify_omp_depend): Likewise.
20952         * omp-low.cc (lower_depend_clauses): Likewise.
20953
20954 2022-05-17  Jakub Jelinek  <jakub@redhat.com>
20955
20956         PR target/105613
20957         * config/i386/sse.md (vec_cmpeqv2div2di, vec_cmpeqv1tiv1ti): Use
20958         andv4si3 only for EQ, for NE use iorv4si3 instead.
20959
20960 2022-05-17  Richard Biener  <rguenther@suse.de>
20961
20962         PR tree-optimization/105618
20963         * tree-ssa-sink.cc (statement_sink_location): For virtual
20964         PHI uses ignore those defining the used virtual operand.
20965
20966 2022-05-17  Jakub Jelinek  <jakub@redhat.com>
20967
20968         * tree-ssa-forwprop.cc (simplify_bitfield_ref): Spelling fix:
20969         hanlde -> handle.  Fix up comment formatting.
20970
20971 2022-05-17  liuhongt  <hongtao.liu@intel.com>
20972
20973         PR target/105033
20974         * config/i386/sse.md (*vec_concatv4si): Extend to ..
20975         (*vec_concat<mode>): .. V16QI and V8HImode.
20976         (*vec_concatv16qi_permt2): New pre_reload define_insn_and_split.
20977         (*vec_concatv8hi_permt2): Ditto.
20978
20979 2022-05-17  liuhongt  <hongtao.liu@intel.com>
20980
20981         PR tree-optimization/105591
20982         * tree-ssa-forwprop.cc (simplify_bitfield_ref): Clamp
20983         vec_perm_expr index.
20984
20985 2022-05-16  Jason Merrill  <jason@redhat.com>
20986
20987         PR c/105492
20988         * attribs.cc (decl_attributes): Fix broken typedefs here.
20989
20990 2022-05-16  David Malcolm  <dmalcolm@redhat.com>
20991
20992         PR analyzer/105103
20993         * Makefile.in (ANALYZER_OBJS): Add analyzer/varargs.o.
20994         * doc/invoke.texi: Add -Wanalyzer-va-arg-type-mismatch,
20995         -Wanalyzer-va-list-exhausted, -Wanalyzer-va-list-leak, and
20996         -Wanalyzer-va-list-use-after-va-end.
20997
20998 2022-05-16  Richard Biener  <rguenther@suse.de>
20999
21000         * gimple-match.h (gimple_build): Move code_helper overloads ...
21001         * gimple-fold.h (gimple_build): ... here.
21002         (gimple_build): Transition to new worker API.  Provide
21003         overloads from sequence-based API.
21004         (gimple_convert): Likewise.
21005         (gimple_convert_to_ptrofftype): Likewise.
21006         (gimple_build_vector_from_val): Likewise.
21007         (gimple_build_vector): Likewise.
21008         (gimple_build_round_up): Likewise.
21009         * gimple-fold.cc (gimple_build_insert_seq): New helper.
21010         (gimple_build): Use it.  Transition combined_fn and code_helper
21011         API parts.
21012         (gimple_convert): Transition to new worker API.
21013         (gimple_convert_to_ptrofftype): Likewise.
21014         (gimple_build_vector_from_val): Likewise.
21015         (gimple_build_vector): Likewise.
21016         (gimple_build_round_up): Likewise.
21017
21018 2022-05-16  Richard Biener  <rguenther@suse.de>
21019
21020         * gimple-match.h (code_helper): Move class ...
21021         * tree.h (code_helper): ... here.
21022
21023 2022-05-16  Martin Liska  <mliska@suse.cz>
21024
21025         * opts-global.cc (write_langs): Add comment.
21026
21027 2022-05-16  Eric Botcazou  <ebotcazou@adacore.com>
21028
21029         * dwarf2out.cc (loc_list_from_tree_1) <TRUTH_NOT_EXPR>: Do a logical
21030         instead of a bitwise negation.
21031         <COND_EXPR>: Swap the operands if the condition is TRUTH_NOT_EXPR.
21032
21033 2022-05-16  Martin Liska  <mliska@suse.cz>
21034
21035         * attribs.cc (diag_attr_exclusions): Use ARRAY_SIZE.
21036         (decls_mismatched_attributes): Likewise.
21037         * builtins.cc (c_strlen): Likewise.
21038         * cfg.cc (DEF_BASIC_BLOCK_FLAG): Likewise.
21039         * common/config/aarch64/aarch64-common.cc (aarch64_option_init_struct): Likewise.
21040         * config/aarch64/aarch64-builtins.cc (aarch64_lookup_simd_builtin_type): Likewise.
21041         (aarch64_init_simd_builtin_types): Likewise.
21042         (aarch64_init_builtin_rsqrt): Likewise.
21043         * config/aarch64/aarch64.cc (is_madd_op): Likewise.
21044         * config/arm/arm-builtins.cc (arm_lookup_simd_builtin_type): Likewise.
21045         (arm_init_simd_builtin_types): Likewise.
21046         * config/avr/gen-avr-mmcu-texi.cc (mcus[ARRAY_SIZE): Likewise.
21047         (c_prefix): Likewise.
21048         (main): Likewise.
21049         * config/c6x/c6x.cc (N_SAVE_ORDER): Likewise.
21050         * config/darwin-c.cc (darwin_register_frameworks): Likewise.
21051         * config/gcn/mkoffload.cc (process_obj): Likewise.
21052         * config/i386/i386-builtins.cc (get_builtin_code_for_version): Likewise.
21053         (fold_builtin_cpu): Likewise.
21054         * config/m32c/m32c.cc (PUSHM_N): Likewise.
21055         * config/nvptx/mkoffload.cc (process): Likewise.
21056         * config/rs6000/driver-rs6000.cc (host_detect_local_cpu): Likewise.
21057         * config/s390/s390.cc (NR_C_MODES): Likewise.
21058         * config/tilepro/gen-mul-tables.cc (find_sequences): Likewise.
21059         (create_insn_code_compression_table): Likewise.
21060         * config/vms/vms.cc (NBR_CRTL_NAMES): Likewise.
21061         * diagnostic-format-json.cc (json_from_expanded_location): Likewise.
21062         * dwarf2out.cc (ARRAY_SIZE): Likewise.
21063         * genhooks.cc (emit_documentation): Likewise.
21064         (emit_init_macros): Likewise.
21065         * gimple-ssa-sprintf.cc (format_floating): Likewise.
21066         * gimple-ssa-warn-access.cc (memmodel_name): Likewise.
21067         * godump.cc (keyword_hash_init): Likewise.
21068         * hash-table.cc (hash_table_higher_prime_index): Likewise.
21069         * input.cc (for_each_line_table_case): Likewise.
21070         * ipa-free-lang-data.cc (free_lang_data): Likewise.
21071         * ipa-inline.cc (sanitize_attrs_match_for_inline_p): Likewise.
21072         * optc-save-gen.awk: Likewise.
21073         * spellcheck.cc (test_metric_conditions): Likewise.
21074         * tree-vect-slp-patterns.cc (sizeof): Likewise.
21075         (ARRAY_SIZE): Likewise.
21076         * tree.cc (build_common_tree_nodes): Likewise.
21077
21078 2022-05-16  Martin Liska  <mliska@suse.cz>
21079
21080         * opts-global.cc (write_langs): Allocate at least one byte.
21081
21082 2022-05-16  Richard Biener  <rguenther@suse.de>
21083
21084         * match.pd (A cmp B ? A : B -> min/max): New patterns
21085         carried over from fold_cond_expr_with_comparison.
21086
21087 2022-05-16  liuhongt  <hongtao.liu@intel.com>
21088
21089         PR target/105587
21090         * config/i386/i386-expand.cc
21091         (expand_vec_perm_pslldq_psrldq_por): Fail when (d->perm[i] ==
21092         d->perm[i-1] + 1) && d->perm[i] == nelt && start != -1.
21093
21094 2022-05-15  Uroš Bizjak  <ubizjak@gmail.com>
21095
21096         * config/i386/i386.md: Remove constraints when used with
21097         const_int_operand, const0_operand, const_1_operand, constm1_operand,
21098         const8_operand, const128_operand, const248_operand, const123_operand,
21099         const2367_operand, const1248_operand, const359_operand,
21100         const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
21101         const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
21102         const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
21103         const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
21104         const_0_to_255_mul_8_operand, const_1_to_31_operand,
21105         const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
21106         const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
21107         const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
21108         const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
21109         const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
21110         const_24_to_27_operand and const_28_to_31_operand.
21111         * config/i386/mmx.md: Ditto.
21112         * config/i386/sse.md: Ditto.
21113         * config/i386/subst.md: Ditto.
21114         * config/i386/sync.md: Ditto.
21115
21116 2022-05-13  Roger Sayle  <roger@nextmovesoftware.com>
21117             Uroš Bizjak  <ubizjak@gmail.com>
21118
21119         * config/i386/sse.md (vec_cmpeqv2div2di): Enable for TARGET_SSE2.
21120         For !TARGET_SSE4_1, expand as a V4SI vector comparison, followed
21121         by a pshufd and pand.
21122         (vec_cmpeqv1tiv1ti): New define_expand implementing V1TImode
21123         vector equality as a V2DImode vector comparison (see above),
21124         followed by a pshufd and pand.
21125
21126 2022-05-13  Roger Sayle  <roger@nextmovesoftware.com>
21127
21128         PR tree-optimization/83907
21129         * tree-ssa-strlen.cc (handle_builtin_memset): Record a strinfo
21130         for memset with an constant char value.
21131         (handle_store): Improved handling of stores with a first byte
21132         of zero, but not storing_all_zeros_p.
21133
21134 2022-05-13  Philipp Tomsich  <philipp.tomsich@vrull.eu>
21135             Manolis Tsamis  <manolis.tsamis@vrull.eu>
21136
21137         * config/riscv/riscv.h (CLZ_DEFINED_VALUE_AT_ZERO): Implement.
21138         (CTZ_DEFINED_VALUE_AT_ZERO): Same.
21139         * doc/sourcebuild.texi: add documentation for RISC-V specific
21140         test target keywords
21141
21142 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
21143
21144         PR tree-optimization/105597
21145         * range-op.cc (operator_minus::lhs_op1_relation): Use op1 instead
21146         of the lhs and make sure it is not undefined.
21147
21148 2022-05-13  Sebastian Pop  <spop@amazon.com>
21149
21150         PR target/105162
21151         * config/aarch64/aarch64-protos.h (atomic_ool_names): Increase dimension
21152         of str array.
21153         * config/aarch64/aarch64.cc (aarch64_atomic_ool_func): Call
21154         memmodel_from_int and handle MEMMODEL_SYNC_*.
21155         (DEF0): Add __aarch64_*_sync functions.
21156
21157 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
21158
21159         * gimple-range-fold.cc (fold_using_range::range_of_phi): Use new VREL_*
21160         enumerated values.
21161         * gimple-range-path.cc (maybe_register_phi_relation): Ditto.
21162         * range-op.cc (*::lhs_op1_relation): Return relation_kind, and use
21163         new VREL enumerated values.
21164         (*::lhs_op2_relation): Ditto.
21165         (*::op1_op2_relation): Ditto.
21166         (*::fold_range): Use new VREL enumerated values.
21167         (minus_op1_op2_relation_effect): Ditto.
21168         (range_relational_tests): Ditto.
21169         * range-op.h (fold_range, op1_range, op2_range): Use VREL_VARYING.
21170         (lhs_op1_relation, lhs_op2_relation, op1_op2_relation): Return
21171         relation_kind.
21172         (*_op1_op2_relation): Return relation_kind.
21173         (relop_early_resolve): Use VREL_UNDEFINED.
21174         * value-query.cc (range_query::query_relation): Use VREL_VARYING.
21175         * value-relation.cc (VREL_LAST): Change enumerated value.
21176         (vrel_range_assert): Delete.
21177         (print_relation): Remove range assert.
21178         (rr_negate_table): Adjust table to use new enumerated values..
21179         (relation_negate): Remove range assert.
21180         (rr_swap_table): Adjust.
21181         (relation_swap): Remove range assert.
21182         (rr_intersect_table): Adjust.
21183         (relation_intersect): Remove range assert.
21184         (rr_union_table): Adjust.
21185         (relation_union): Remove range assert.
21186         (rr_transitive_table): Adjust.
21187         (relation_transitive): Remove range assert.
21188         (equiv_oracle::query_relation): Use new VREL enumerated values.
21189         (equiv_oracle::register_relation): Ditto.
21190         (relation_oracle::register_stmt): Ditto.
21191         (dom_oracle::set_one_relation): Ditto.
21192         (dom_oracle::register_transitives): Ditto.
21193         (dom_oracle::query_relation): Ditto.
21194         (path_oracle::register_relation): Ditto.
21195         (path_oracle::query_relation): Ditto.
21196         * value-relation.h (enum relation_kind_t): New relation_kind.
21197         (*_op1_op2_relation): Adjust prototypes.
21198
21199 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
21200
21201         * gimple-range-edge.cc (calc_switch_ranges): Check union return value.
21202         * value-range.cc (irange::legacy_verbose_union_): Add return value.
21203         (irange::irange_single_pair_union): New.
21204         (irange::irange_union): Add return value.
21205         * value-range.h (class irange): Adjust prototypes.
21206
21207 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
21208
21209         * value-range.cc (irange::legacy_verbose_intersect): Add return value.
21210         (irange::irange_contains_p): New.
21211         (irange::irange_intersect): Add return value.
21212         * value-range.h (class irange): Adjust prototypes.
21213
21214 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
21215
21216         * gimple-range-cache.cc (ranger_cache::get_global_range): Return the
21217         had_global value instead.
21218
21219 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
21220
21221         PR tree-optimization/104547
21222         * gimple-range-fold.cc (fold_using_range::range_of_range_op): Add
21223         the op1/op2 relation to the relation call.
21224         * range-op.cc (*::lhs_op1_relation): Add param.
21225         (*::lhs_op2_relation): Ditto.
21226         (operator_minus::lhs_op1_relation): New.
21227         (range_relational_tests): Add relation param.
21228         * range-op.h (lhs_op1_relation, lhs_op2_relation): Adjust prototype.
21229
21230 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
21231
21232         * gimple-range.cc (gimple_ranger::register_side_effects): First check
21233         if the DEF should be exported as a global.
21234         * tree-vrp.cc (rvrp_folder::pre_fold_bb): Process PHI side effects,
21235         which will export globals.
21236         (execute_ranger_vrp): Remove call to export_global_ranges.
21237
21238 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
21239
21240         * value-relation.cc (path_oracle::reset_path): Clear killing_defs.
21241
21242 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
21243
21244         * gimple-range-cache.cc (ranger_cache::ranger_cache): Start with
21245         worlist truncated.
21246         (ranger_cache::entry_range): Add rfd_mode parameter.
21247         (ranger_cache::exit_range): Ditto.
21248         (ranger_cache::edge_range): New.  Incorporate from range_on_edge.
21249         (ranger_cache::range_of_expr): Adjust call to entry_range.
21250         (ranger_cache::range_on_edge): Split to edge_range and call.
21251         (ranger_cache::fill_block_cache): Always invoke range_from_dom.
21252         (ranger_cache::range_from_dom): Make reentrant, add search mode, handle
21253         mutiple predecessors.
21254         (ranger_cache::update_to_nonnull): Adjust call to exit_range.
21255         * gimple-range-cache.h (ranger_cache): Add enum rfd_mode.  Adjust
21256         prototypes.
21257
21258 2022-05-13  Alexandre Oliva  <oliva@adacore.com>
21259
21260         * gimple-harden-conditionals.cc: Include sbitmap.h.
21261         (pass_harden_conditional_branches::execute): Skip new blocks.
21262         (pass_harden_compares::execute): Likewise.
21263
21264 2022-05-13  Richard Earnshaw  <rearnsha@arm.com>
21265
21266         PR target/105463
21267         * config/arm/mve.md (*movmisalign<mode>_mve_store): Use
21268         mve_memory_operand.
21269         (*movmisalign<mode>_mve_load): Likewise.
21270         * config/arm/vec-common.md (movmisalign<mode>): Convert to generator
21271         form...
21272         (@movmisalign<mode>): ... thus.  Use generic predicates and then
21273         rework operands if they are not valid.  For MVE rework to a
21274         narrower element size if the alignment is not high enough.
21275
21276 2022-05-13  Richard Earnshaw  <rearnsha@arm.com>
21277
21278         * config/arm/arm.cc (mve_vector_mem_operand): Allow SP_REGNUM
21279         when there is no write-back.  Fix use when strict is true.
21280
21281 2022-05-13  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
21282
21283         * config/xtensa/xtensa.h (TARGET_HAS_NO_HW_DIVIDE): New macro
21284         definition.
21285
21286 2022-05-13  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
21287
21288         * config/xtensa/xtensa.md (extvsi, extvsi_internal, extzvsi,
21289         extzvsi_internal): Rename from extv, extv_internal, extzv and
21290         extzv_internal, respectively.
21291
21292 2022-05-13  Eric Botcazou  <ebotcazou@adacore.com>
21293
21294         * tree-sra.cc (sra_modify_assign): Check that scalar storage order
21295         is the same on the LHS and RHS before rewriting one with the model
21296         of the other.
21297
21298 2022-05-13  Richard Biener  <rguenther@suse.de>
21299
21300         * gimple-fold.cc (gimple_build): Adjust for new
21301         main API.
21302         * gimple-fold.h (gimple_build): New main APIs with
21303         iterator, insert direction and iterator update.
21304         (gimple_build): New forwarder template.
21305         (clear_padding_type_may_have_padding_p): Remove.
21306         (clear_type_padding_in_mask): Likewise.
21307         (arith_overflowed_p): Likewise.
21308         * fold-const.h (clear_padding_type_may_have_padding_p): Declare.
21309         (clear_type_padding_in_mask): Likewise.
21310         (arith_overflowed_p): Likewise.
21311         * tree-vect-generic.cc (gimplify_build3): Use main gimple_build API.
21312         (gimplify_build2): Likewise.
21313         (gimplify_build1): Likewise.
21314         * ubsan.cc (ubsan_expand_ptr_ifn): Likewise, avoid extra
21315         compare stmt.
21316         * gengtype.cc (open_base_files): Re-order includes.
21317         * builtins.cc: Re-order gimple-fold.h include.
21318         * calls.cc: Likewise.
21319         * cgraphbuild.cc: Likewise.
21320         * cgraphunit.cc: Likewise.
21321         * config/rs6000/rs6000-builtin.cc: Likewise.
21322         * config/rs6000/rs6000-call.cc: Likewise.
21323         * config/rs6000/rs6000.cc: Likewise.
21324         * config/s390/s390.cc: Likewise.
21325         * expr.cc: Likewise.
21326         * fold-const.cc: Likewise.
21327         * function-tests.cc: Likewise.
21328         * gimple-match-head.cc: Likewise.
21329         * gimple-range-fold.cc: Likewise.
21330         * gimple-ssa-evrp-analyze.cc: Likewise.
21331         * gimple-ssa-evrp.cc: Likewise.
21332         * gimple-ssa-sprintf.cc: Likewise.
21333         * gimple-ssa-warn-access.cc: Likewise.
21334         * gimplify.cc: Likewise.
21335         * graphite-isl-ast-to-gimple.cc: Likewise.
21336         * ipa-cp.cc: Likewise.
21337         * ipa-devirt.cc: Likewise.
21338         * ipa-prop.cc: Likewise.
21339         * omp-low.cc: Likewise.
21340         * pointer-query.cc: Likewise.
21341         * range-op.cc: Likewise.
21342         * tree-cfg.cc: Likewise.
21343         * tree-if-conv.cc: Likewise.
21344         * tree-inline.cc: Likewise.
21345         * tree-object-size.cc: Likewise.
21346         * tree-ssa-ccp.cc: Likewise.
21347         * tree-ssa-dom.cc: Likewise.
21348         * tree-ssa-forwprop.cc: Likewise.
21349         * tree-ssa-ifcombine.cc: Likewise.
21350         * tree-ssa-loop-ivcanon.cc: Likewise.
21351         * tree-ssa-math-opts.cc: Likewise.
21352         * tree-ssa-pre.cc: Likewise.
21353         * tree-ssa-propagate.cc: Likewise.
21354         * tree-ssa-reassoc.cc: Likewise.
21355         * tree-ssa-sccvn.cc: Likewise.
21356         * tree-ssa-strlen.cc: Likewise.
21357         * tree-ssa.cc: Likewise.
21358         * value-pointer-equiv.cc: Likewise.
21359         * vr-values.cc: Likewise.
21360
21361 2022-05-13  Alexandre Oliva  <oliva@adacore.com>
21362
21363         PR rtl-optimization/105455
21364         * gimple-harden-conditionals.cc (insert_check_and_trap): Set
21365         probabilities for newly-conditional edges.
21366
21367 2022-05-13  liuhongt  <hongtao.liu@intel.com>
21368
21369         PR tree-optimization/102583
21370         * tree-ssa-forwprop.cc (simplify_bitfield_ref): Extended to a
21371         contiguous stride in the VEC_PERM_EXPR.
21372
21373 2022-05-12  Richard Biener  <rguenther@suse.de>
21374
21375         PR rtl-optimization/105577
21376         * dse.cc (rest_of_handle_dse): Make sure to purge dead EH
21377         edges before running fast DCE via df_analyze.
21378
21379 2022-05-12  Richard Biener  <rguenther@suse.de>
21380
21381         PR tree-optimization/105562
21382         * tree-ssa-sccvn.cc (vn_reference_lookup_3): Disambiguate
21383         against all CLOBBER defs if there's not an obvious must-alias
21384         and we are not doing redundant store elimination.
21385         (vn_walk_cb_data::redundant_store_removal_p): New field.
21386         (vn_reference_lookup_pieces): Initialize it.
21387         (vn_reference_lookup): Add argument to specify if we are
21388         doing redundant store removal.
21389         (eliminate_dom_walker::eliminate_stmt): Specify we do.
21390         * tree-ssa-sccvn.h (vn_reference_lookup): Adjust.
21391
21392 2022-05-12  Haochen Jiang  <haochen.jiang@intel.com>
21393
21394         PR target/104371
21395         * config/i386/sse.md (vi1avx2const): New define_mode_attr.
21396         (pxor/pcmpeqb/pmovmskb/cmp 0xffff to ptest splitter):
21397         New define_split pattern.
21398
21399 2022-05-12  Jakub Jelinek  <jakub@redhat.com>
21400
21401         * gimplify.cc (gimplify_omp_depend): Don't build_fold_addr_expr
21402         if null_pointer_node.
21403         (gimplify_scan_omp_clauses): Likewise.
21404         * tree-pretty-print.cc (dump_omp_clause): Print null_pointer_node
21405         as omp_all_memory.
21406
21407 2022-05-11  Patrick Palka  <ppalka@redhat.com>
21408
21409         * tree.h (TREE_VEC_BEGIN): Define.
21410         (TREE_VEC_END): Correct 'length' member access.
21411         (class tree_vec_range): Define.
21412
21413 2022-05-11  Segher Boessenkool  <segher@kernel.crashing.org>
21414
21415         * config/rs6000/rs6000.md: Use wa instead of <Fv>.
21416
21417 2022-05-11  Segher Boessenkool  <segher@kernel.crashing.org>
21418
21419         * config/rs6000/rs6000.md: Use d instead of <Ff>.
21420
21421 2022-05-11  Segher Boessenkool  <segher@kernel.crashing.org>
21422
21423         * config/rs6000/constraints.md (register_constraint "f"): Use
21424         RS6000_CONSTRAINT_d.
21425         * config/rs6000/rs6000.cc (rs6000_debug_reg_global): Do not handle
21426         RS6000_CONSTRAINT_f.
21427         (rs6000_init_hard_regno_mode_ok): Ditto.  Reorder and simplify a bit.
21428         * config/rs6000/rs6000.h (r6000_reg_class_enum): Delete
21429         RS6000_CONSTRAINT_d.
21430
21431 2022-05-11  Richard Biener  <rguenther@suse.de>
21432
21433         * gimple-fold.h (gimple_build): Use variadic template
21434         functions for the gimple_build API forwarders without
21435         location_t argument.
21436
21437 2022-05-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
21438
21439         PR middle-end/70090
21440         * asan.cc (initialize_sanitizer_builtins): Register
21441         __builtin_dynamic_object_size if necessary.
21442
21443 2022-05-11  Richard Biener  <rguenther@suse.de>
21444
21445         PR rtl-optimization/105559
21446         * cfgrtl.cc (delete_insn_and_edges): Only perform search to BB_END
21447         for non-debug insns.
21448
21449 2022-05-11  Richard Biener  <rguenther@suse.de>
21450
21451         * generic-match-head.cc: Include tree-eh.h.
21452         * match.pd ((cond ...) cmp X): New simplification inspired
21453         by fold_binary_op_with_conditional_arg.
21454         (eq/ne (cmp ...) true/false): Likewise.
21455
21456 2022-05-11  Thomas Schwinge  <thomas@codesourcery.com>
21457
21458         * doc/install.texi: Don't document '--with-hsa-runtime',
21459         '--with-hsa-runtime-include', '--with-hsa-runtime-lib'.
21460
21461 2022-05-11  Martin Liska  <mliska@suse.cz>
21462
21463         PR other/105527
21464         * doc/install.texi: Document the configure option --with-zstd.
21465
21466 2022-05-11  Martin Liska  <mliska@suse.cz>
21467
21468         * common/config/i386/cpuinfo.h (has_cpu_feature): Directly
21469         compute index in cpu_features2.
21470         (set_cpu_feature): Likewise.
21471         * config/i386/i386-builtins.cc (fold_builtin_cpu): Also remove
21472         loop for cpu_features2 and use NOP_EXPRs.
21473
21474 2022-05-11  Richard Biener  <rguenther@suse.de>
21475
21476         PR bootstrap/105551
21477         * opts.cc (finish_options): Also disable var-tracking if
21478         !DWARF2_DEBUGGING_INFO.
21479
21480 2022-05-11  liuhongt  <hongtao.liu@intel.com>
21481
21482         PR target/104915
21483         * config/i386/sse.md (*vec_set<mode>_0_zero_extendhi): New
21484         pre_reload define_insn_and_split.
21485         (*vec_setv2di_0_zero_extendhi_1): Ditto.
21486         (*vec_set<mode>_0_zero_extendsi): Ditto.
21487         (*vec_setv2di_0_zero_extendsi_1): Ditto.
21488         (ssewvecmode): New mode attr.
21489         (ssewvecmodelower): Ditto.
21490         (ssepackmodelower): Ditto.
21491
21492 2022-05-11  Kewen Lin  <linkw@linux.ibm.com>
21493
21494         * config/rs6000/constraints.md (register constraint v): Use
21495         rs6000_constraints[RS6000_CONSTRAINT_v] instead of ALTIVEC_REGS.
21496
21497 2022-05-11  Martin Liska  <mliska@suse.cz>
21498
21499         PR target/105355
21500         * config/riscv/riscv.opt: Remove Separate from
21501         -msmall-data-limit=.
21502         * optc-gen.awk: Report error for the described situation.
21503         * gcc.cc: Use Separate syntax.
21504         * opts.cc (gen_command_line_string): Change option name.
21505
21506 2022-05-11  Haochen Gui  <guihaoc@gcc.gnu.org>
21507
21508         PR target/105414
21509         * match.pd (minmax): Skip constant folding for fmin/fmax when both
21510         arguments are sNaN or one is sNaN and another is NaN.
21511
21512 2022-05-10  Jakub Jelinek  <jakub@redhat.com>
21513
21514         PR tree-optimization/105528
21515         * gimple-isel.cc (gimple_expand_vec_set_expr): After gsi_remove
21516         set *gsi to gsi_for_stmt (ass_stmt).  Fix up function comment.
21517
21518 2022-05-10  Segher Boessenkool  <segher@kernel.crashing.org>
21519
21520         * doc/md.texi (Defining Mode Iterators): Correct example replacement
21521         text.
21522
21523 2022-05-10  Maciej W. Rozycki  <macro@embecosm.com>
21524
21525         * config/riscv/riscv.md (UNSPEC_FMIN, UNSPEC_FMAX): New
21526         constants.
21527         (fmin<mode>3, fmax<mode>3): New insns.
21528
21529 2022-05-10  Richard Biener  <rguenther@suse.de>
21530
21531         * tree-if-conv.cc (fold_build_cond_expr): Use
21532         match-and-simplify to simplify the condition.
21533         (ifcvt_follow_ssa_use_edges): Remove.
21534         (predicate_scalar_phi): Use follow_all_ssa_edges.
21535
21536 2022-05-10  Thomas Schwinge  <thomas@codesourcery.com>
21537
21538         PR middle-end/100400
21539         * omp-oacc-kernels-decompose.cc
21540         (visit_loops_in_gang_single_region) <GIMPLE_OMP_FOR>: Explicitly
21541         call 'internal_error'.
21542
21543 2022-05-10  Richard Biener  <rguenther@suse.de>
21544
21545         PR middle-end/105537
21546         * toplev.cc (process_options): Move flag_var_tracking
21547         handling ...
21548         * opts.cc (finish_options): ... here.
21549
21550 2022-05-10  Martin Liska  <mliska@suse.cz>
21551
21552         * basic-block.h (struct basic_block_d): Use void *
21553         instead PTR.
21554         * cfgloop.h: Likewise.
21555         * cgraph.h: Likewise.
21556         * gengtype-state.cc (state_ident_by_name): Likewise.
21557         (record_type): Likewise.
21558         (read_state_already_seen_type): Likewise.
21559         * gengtype.cc (dump_type): Likewise.
21560         (input_file_by_name): Likewise.
21561         (main): Likewise.
21562         * ggc-common.cc (ggc_cleared_alloc_ptr_array_two_args): Likewise.
21563         * ipa-utils.h (struct ipa_dfs_info): Likewise.
21564         * plugin.cc (htab_hash_plugin): Likewise.
21565
21566 2022-05-10  Richard Biener  <rguenther@suse.de>
21567
21568         * flags.h (dwarf_debuginfo_p): Add opts argument, guard
21569         API with !GENERATOR_FILE.
21570         * opts.cc (global_options): Poison.
21571         (global_options_set): Likewise.
21572         (finish_options): Refer to options via opts.
21573
21574 2022-05-10  Uroš Bizjak  <ubizjak@gmail.com>
21575             Roger Sayle  <roger@nextmovesoftware.com>
21576
21577         * config/i386/i386.md (*testqi_1_maybe_si): Prefer shorter SImode
21578         alternative when optimizing for size and the immediate operand is
21579         const_0_to_127_operand.
21580         (*andqi_2_maybe_si): Likewise.
21581         * config/i386/predicates.md (const_0_to_127_operand): New predicate.
21582
21583 2022-05-10  Roger Sayle  <roger@nextmovesoftware.com>
21584
21585         * tree-chrec.cc (chrec_apply): Attempt to fold the linear chrec
21586         "{a, +, a} (x-1)" as "a*x", as the number of loop iterations, x-1,
21587         can't be negative.
21588
21589 2022-05-10  Eric Botcazou  <ebotcazou@adacore.com>
21590
21591         PR target/105292
21592         * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Return
21593         true only for 8-byte vector modes.
21594
21595 2022-05-10  Siddhesh Poyarekar  <siddhesh@gotplt.org>
21596
21597         PR middle-end/70090
21598         * ubsan.cc (ubsan_expand_objsize_ifn): Allow non-constant SIZE.
21599         (instrument_object_size): Get dynamic object size expression.
21600
21601 2022-05-10  Jiufu Guo  <guojiufu@linux.ibm.com>
21602
21603         PR preprocessor/101168
21604         * config/rs6000/rs6000-c.cc (rs6000_macro_to_expand):
21605         Avoid empty identifier.
21606
21607 2022-05-09  Qing Zhao  <qing.zhao@oracle.com>
21608
21609         PR target/101891
21610         * config/i386/i386.cc (zero_call_used_regno_mode): use V2SImode
21611         as a generic MMX mode instead of V4HImode.
21612         (zero_all_mm_registers): Use SET to zero instead of MOV for
21613         zeroing scratch registers.
21614         (ix86_zero_call_used_regs): Likewise.
21615
21616 2022-05-09  liuhongt  <hongtao.liu@intel.com>
21617
21618         PR target/105354
21619         * config/i386/i386-expand.cc
21620         (expand_vec_perm_pslldq_psrldq_por): New function.
21621         (ix86_expand_vec_perm_const_1): Try
21622         expand_vec_perm_pslldq_psrldq_por for both 3-instruction and
21623         4/5-instruction sequence.
21624
21625 2022-05-09  Martin Liška  <mliska@suse.cz>
21626
21627         * basic-block.h (STATIC_ASSERT): Use normal STATIC_ASSERT.
21628         * system.h (STATIC_ASSERT): Define as static_assert for C++
21629         and fallback to array index in C.
21630
21631 2022-05-09  Richard Biener  <rguenther@suse.de>
21632
21633         PR tree-optimization/105517
21634         * tree-ssa-sccvn.cc (vn_reference_lookup): Make sure the accumulated
21635         offset can be represented in the POINTER_PLUS_EXPR IL.
21636         (vn_reference_insert): Likewise.
21637         * poly-int.h (sext_hwi): Add poly version of sext_hwi.
21638
21639 2022-05-09  Richard Biener  <rguenther@suse.de>
21640
21641         * match.pd: Remove #if GIMPLE guards around ! using patterns.
21642
21643 2022-05-09  liuhongt  <hongtao.liu@intel.com>
21644
21645         PR target/105072
21646         * config/i386/sse.md (*sse4_1_<code>v2qiv2di2<mask_name>_1):
21647         New define_insn.
21648         (*sse4_1_zero_extendv2qiv2di2_2): New pre_reload
21649         define_insn_and_split.
21650
21651 2022-05-09  Alex Coplan  <alex.coplan@arm.com>
21652
21653         * cgraph.cc (cgraph_node::get_create): Don't dump if the current
21654         symtab state is PARSING.
21655
21656 2022-05-09  Martin Liska  <mliska@suse.cz>
21657
21658         * system.h (LIKELY): Define.
21659         (UNLIKELY): Likewise.
21660         * domwalk.cc (sort_bbs_postorder): Use {,UN}LIKELY
21661         macros.
21662         * dse.cc (set_position_unneeded): Likewise.
21663         (set_all_positions_unneeded): Likewise.
21664         (any_positions_needed_p): Likewise.
21665         (all_positions_needed_p): Likewise.
21666         * expmed.cc (flip_storage_order): Likewise.
21667         * genmatch.cc (dt_simplify::gen_1): Likewise.
21668         * ggc-common.cc (gt_pch_save): Likewise.
21669         * print-rtl.cc: Likewise.
21670         * rtl-iter.h (T>::array_type::~array_type): Likewise.
21671         (T>::next): Likewise.
21672         * rtl-ssa/internals.inl: Likewise.
21673         * rtl-ssa/member-fns.inl: Likewise.
21674         * rtlanal.cc (T>::add_subrtxes_to_queue): Likewise.
21675         (rtx_properties::try_to_add_dest): Likewise.
21676         * rtlanal.h (growing_rtx_properties::repeat): Likewise.
21677         (vec_rtx_properties_base::~vec_rtx_properties_base): Likewise.
21678         * simplify-rtx.cc (simplify_replace_fn_rtx): Likewise.
21679         * sort.cc (likely): Likewise.
21680         (mergesort): Likewise.
21681         * wide-int.h (wi::eq_p): Likewise.
21682         (wi::ltu_p): Likewise.
21683         (wi::cmpu): Likewise.
21684         (wi::bit_and): Likewise.
21685         (wi::bit_and_not): Likewise.
21686         (wi::bit_or): Likewise.
21687         (wi::bit_or_not): Likewise.
21688         (wi::bit_xor): Likewise.
21689         (wi::add): Likewise.
21690         (wi::sub): Likewise.
21691
21692 2022-05-09  Kito Cheng  <kito.cheng@sifive.com>
21693
21694         * config/riscv/arch-canonicalize: Handle g correctly.
21695
21696 2022-05-07  Marek Polacek  <polacek@redhat.com>
21697
21698         PR c++/101833
21699         PR c++/47634
21700         * tree-core.h (struct attribute_spec): Update comment for HANDLER.
21701
21702 2022-05-06  Jason Merrill  <jason@redhat.com>
21703
21704         * diagnostic-color.cc: Add fnname and targs color entries.
21705         * doc/invoke.texi: Document them.
21706
21707 2022-05-06  Jason Merrill  <jason@redhat.com>
21708
21709         * vec.h (vec::iterate): Fix comment.
21710
21711 2022-05-06   Michael Meissner  <meissner@linux.ibm.com>
21712
21713         PR target/102059
21714         * config/rs6000/rs6000.cc (rs6000_can_inline_p): Ignore -mpower8-fusion
21715         and -mpower10-fusion options for inlining purposes.
21716
21717 2022-05-06  Christophe Lyon  <christophe.lyon@arm.com>
21718
21719         * config/aarch64/iterators.md (GPF_TF_F16): Delete.
21720
21721 2022-05-06  Marcel Vollweiler  <marcel@codesourcery.com>
21722
21723         * omp-low.cc (omp_runtime_api_call): Added target_is_accessible to
21724         omp_runtime_apis array.
21725
21726 2022-05-06  Hafiz Abid Qadeer  <abidh@codesourcery.com>
21727
21728         * omp-low.cc (omp_maybe_offloaded_ctx): New prototype.
21729         (scan_sharing_clauses):  Check a restriction on allocate clause.
21730
21731 2022-05-05  Sandra Loosemore  <sandra@codesourcery.com>
21732
21733         * gimplify.cc (gimplify_omp_for): Update messages for SCHEDULED
21734         and ORDERED clause conflict errors.  Add check for GRAINSIZE and
21735         NUM_TASKS on TASKLOOP.
21736
21737 2022-05-05  Martin Liska  <mliska@suse.cz>
21738
21739         * genautomata.cc (create_composed_state): Remove dead code.
21740         * graphite-poly.cc (print_pdrs): Likewise.
21741         * lto-wrapper.cc (run_gcc): Likewise.
21742         * tree-switch-conversion.cc (switch_decision_tree::balance_case_nodes):
21743         Likewise.
21744
21745 2022-05-05  Martin Liska  <mliska@suse.cz>
21746
21747         * tree-profile.cc (gimple_gen_ic_profiler): Prefix names with
21748         PROF_*.
21749         (gimple_gen_time_profiler): Likewise.
21750
21751 2022-05-05  Martin Liska  <mliska@suse.cz>
21752
21753         * value-prof.cc (stream_out_histogram_value): Remove sanity
21754         checking.
21755
21756 2022-05-05  Richard Biener  <rguenther@suse.de>
21757
21758         PR tree-optimization/104162
21759         * tree-ssa-sccvn.cc (vn_reference_lookup): Handle
21760         &MEM[_1 + 5].a[i] like a POINTER_PLUS_EXPR if the offset
21761         becomes invariant.
21762         (vn_reference_insert): Likewise.
21763
21764 2022-05-05  Richard Biener  <rguenther@suse.de>
21765
21766         * tree-core.h (tree_real_cst::real_cst_ptr): Remove pointer
21767         to real_value field.
21768         (tree_real_cst::value): Add real_value field.
21769         * tree.h (TREE_REAL_CST_PTR): Adjust.
21770         * tree.cc (build_real): Remove separate allocation.
21771         * tree-streamer-in.cc (unpack_ts_real_cst_value_fields):
21772         Likewise.
21773
21774 2022-05-05  Richard Biener  <rguenther@suse.de>
21775
21776         * tree-ssa-ifcombine.cc (bb_no_side_effects_p): Avoid executing
21777         divisions with undefined overflow unconditionally.
21778         (pass_tree_ifcombine::execute): Rewrite stmts with undefined
21779         overflow to defined.
21780
21781 2022-05-05  Richard Biener  <rguenther@suse.de>
21782
21783         PR tree-optimization/105484
21784         * gimple-isel.cc (gimple_expand_vec_set_expr): Clean EH, return
21785         whether the CFG changed.
21786         (gimple_expand_vec_exprs): When the CFG changed, clean it up.
21787
21788 2022-05-05  Richard Biener  <rguenther@suse.de>
21789
21790         PR tree-optimization/104595
21791         * tree-vect-patterns.cc (vect_recog_bool_pattern): For
21792         COND_EXPR do not fail if check_bool_pattern returns false.
21793
21794 2022-05-04  Tobias Burnus  <tobias@codesourcery.com>
21795
21796         * omp-low.cc (lower_omp_target): Fix use_device_{addr,ptr} with list
21797         item that is in an outer data-sharing clause.
21798
21799 2022-05-04  Richard Biener  <rguenther@suse.de>
21800
21801         PR tree-optimization/104658
21802         * tree-vect-slp.cc (vect_slp_convert_to_external): Do not
21803         create VECTOR_BOOLEAN_TYPE_P extern defs.  Reset the vector
21804         type on nodes we promote.
21805         (vectorizable_bb_reduc_epilogue): Deal with externalized
21806         root.
21807         * tree-vect-stmts.cc (vect_maybe_update_slp_op_vectype): Do
21808         not allow VECTOR_BOOLEAN_TYPE_P extern defs.
21809
21810 2022-05-04  Richard Biener  <rguenther@suse.de>
21811
21812         PR tree-optimization/103116
21813         * tree-vect-stmts.cc (get_group_load_store_type): Handle the
21814         case we need peeling for gaps even though GROUP_GAP is zero.
21815
21816 2022-05-04  Martin Liska  <mliska@suse.cz>
21817
21818         * gengtype-state.cc (read_a_state_token): Remove dead code.
21819         * ipa-profile.cc (ipa_profile_read_summary_section): Likewise.
21820
21821 2022-05-04  Richard Biener  <rguenther@suse.de>
21822
21823         * gimplify.cc (gimplify_init_constructor): First gimplify,
21824         then simplify the result to a VECTOR_CST.
21825
21826 2022-05-04  Jakub Jelinek  <jakub@redhat.com>
21827
21828         * genconditions.cc (write_conditions): Append a { nullptr, -1 }
21829         element at the end of insn_conditions.
21830         (write_writer): Use ARRAY_SIZE (insn_conditions) - 1 instead of
21831         ARRAY_SIZE (insn_conditions).
21832
21833 2022-05-04  Christophe Lyon  <christophe.lyon@arm.com>
21834
21835         PR target/104662
21836         * config/arm/arm.cc (simd_valid_immediate): Exit when input is a
21837         vector of booleans and MVE is not enabled.
21838
21839 2022-05-04  Richard Biener  <rguenther@suse.de>
21840
21841         PR debug/105158
21842         * tree-cfgcleanup.cc (move_debug_stmts_from_forwarder):
21843         Move debug stmts to the predecessor if moving to the
21844         destination is not possible.
21845         (remove_forwarder_block): Adjust.
21846         (remove_forwarder_block_with_phi): Likewise.
21847
21848 2022-05-03  Roger Sayle  <roger@nextmovesoftware.com>
21849
21850         PR tree-optimization/102950
21851         * range-op.cc (wi_optimize_signed_bitwise_op): New function to
21852         determine bounds of bitwise operations on signed types.
21853         (operator_bitwise_and::wi_fold): Call the above function.
21854         (operator_bitwise_or::wi_fold): Likewise.
21855         (operator_bitwise_xor::wi_fold): Likewise.  Additionally, the
21856         result can't be zero if the operands can't be equal.
21857
21858 2022-05-03  Iain Sandoe  <iain@sandoe.co.uk>
21859
21860         * config/darwin.cc (darwin_label_is_anonymous_local_objc_name): Make
21861         protocol class methods linker-visible.
21862
21863 2022-05-03  Uroš Bizjak  <ubizjak@gmail.com>
21864
21865         PR target/105079
21866         * config/i386/sse.md (*vec_extract<mode>_0_mem): New pre-reload
21867         define_insn_and_split pattern.
21868
21869 2022-05-03  Richard Biener  <rguenther@suse.de>
21870
21871         PR middle-end/105083
21872         * tree-scalar-evolution.cc (scev_initialize): Verify we
21873         have appropriate loop state.
21874         * tree-ssa-dce.cc (perform_tree_ssa_dce): Re-order SCEV and
21875         loop init and finalization.
21876
21877 2022-05-03  Richard Biener  <rguenther@suse.de>
21878
21879         PR middle-end/105461
21880         * opts.cc (finish_options): Match the condition to
21881         disable flag_var_tracking to that of process_options.
21882
21883 2022-05-03  Richard Biener  <rguenther@suse.de>
21884
21885         * opts.cc: #undef OPTIONS_SET_P.
21886         (finish_options): Use opts_set instead of OPTIONS_SET_P.
21887
21888 2022-05-03  Richard Biener  <rguenther@suse.de>
21889
21890         PR tree-optimization/105394
21891         * tree-vect-generic.cc (expand_vector_condition): Adjust
21892         comp_width for non-integer mode masks as well.
21893
21894 2022-05-03  Marcel Vollweiler  <marcel@codesourcery.com>
21895
21896         * omp-low.cc (omp_runtime_api_call): Added get_mapped_ptr to
21897         omp_runtime_apis array.
21898
21899 2022-05-02  Richard Biener  <rguenther@suse.de>
21900
21901         * tree-scalar-evolution.cc (expression_expensive_p):
21902         Never consider mismatched calls as cheap.
21903
21904 2022-05-02  Richard Biener  <rguenther@suse.de>
21905
21906         PR tree-optimization/104240
21907         * tree-vect-slp.cc (op1_op0_map): New.
21908         (vect_get_operand_map): Handle compares.
21909         (vect_build_slp_tree_1): Support swapped operands for
21910         tcc_comparison.
21911
21912 2022-05-02  Jakub Jelinek  <jakub@redhat.com>
21913
21914         PR debug/105415
21915         * cfgexpand.cc (expand_debug_expr): Don't make_decl_rtl_for_debug
21916         if there is no symtab node for the VAR_DECL.
21917
21918 2022-05-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
21919
21920         * gcov-io.cc (gcov_rewrite):  Clear the file error status.
21921
21922 2022-05-02  Richard Biener  <rguenther@suse.de>
21923
21924         PR tree-optimization/105437
21925         * tree-vect-slp.cc (vect_schedule_slp_node): Handle the
21926         case where last_stmt alters control flow.
21927
21928 2022-05-02  Richard Biener  <rguenther@suse.de>
21929
21930         * dojump.cc (do_jump): Use CASE_CONVERT.
21931         * tree-ssa-dom.cc (edge_info::derive_equivalences): Likewise.
21932
21933 2022-05-02  Jakub Jelinek  <jakub@redhat.com>
21934
21935         * system.h: Include initializer_list.
21936
21937 2022-05-01  Segher Boessenkool  <segher@kernel.crashing.org>
21938
21939         * config/rs6000/constraints.md (Y constraint): Fix comment.
21940
21941 2022-05-01  Aldy Hernandez  <aldyh@redhat.com>
21942
21943         * tree-ssanames.cc (set_range_info): Denormalize VR_VARYING to
21944         VR_RANGE before passing a piecewise range to set_range_info_raw.
21945
21946 2022-04-30  Patrick Palka  <ppalka@redhat.com>
21947
21948         * gengtype.cc (adjust_field_tree_exp): Remove.
21949         (adjust_field_type): Don't handle the "tree_exp" special attribute.
21950         * tree-core.h (struct tree_exp): Remove "special" and "desc"
21951         attributes.  Add "length" attribute.
21952
21953 2022-04-29  Martin Jambor  <mjambor@suse.cz>
21954
21955         PR ipa/100413
21956         * cgraph.cc (cgraph_node::remove): Release body of the node this
21957         is clone_of if appropriate.
21958
21959 2022-04-29  Uroš Bizjak  <ubizjak@gmail.com>
21960
21961         PR target/51954
21962         * config/i386/i386.md (adcl/neg -> sbb peephole): New peephole2.
21963
21964 2022-04-29  Richard Biener  <rguenther@suse.de>
21965
21966         * gimple-expr.cc (is_gimple_condexpr): Adjust comment.
21967         (canonicalize_cond_expr_cond): Move here from gimple.cc,
21968         allow both COND_EXPR and GIMPLE_COND forms.
21969         * gimple-expr.h (canonicalize_cond_expr_cond): Declare.
21970         * gimple.cc (canonicalize_cond_expr_cond): Remove here.
21971         * gimple.h (canonicalize_cond_expr_cond): Likewise.
21972         * gimple-loop-versioning.cc (loop_versioning::version_loop):
21973         Use is_gimple_condexpr_for_cond.
21974         * tree-parloops.cc (gen_parallel_loop): Likewise.
21975         * tree-ssa-ifcombine.cc (ifcombine_ifandif): Check for
21976         a proper cond expr after canonicalize_cond_expr_cond.
21977         Use is_gimple_condexpr_for_cond where appropriate.
21978         * tree-ssa-loop-manip.cc (determine_exit_conditions): Likewise.
21979         * tree-vect-loop-manip.cc (slpeel_add_loop_guard): Likewise.
21980
21981 2022-04-29  Richard Biener  <rguenther@suse.de>
21982
21983         * gimple-iterator.h (gsi_after_labels): Add overload for
21984         gimple_seq.
21985         (gsi_start_1): Rename to gsi_start and take a reference.
21986         (gsi_last_1): Likewise.
21987         * gimple-iterator.cc (gsi_for_stmt): Use gsi_start.
21988         * omp-low.cc (lower_rec_input_clauses): Likewise.
21989         (lower_omp_scan): Likewise.
21990
21991 2022-04-29  Richard Biener  <rguenther@suse.de>
21992
21993         PR tree-optimization/105431
21994         * tree-ssa-math-opts.cc (powi_as_mults_1): Make n unsigned.
21995         (powi_as_mults): Use absu_hwi.
21996         (gimple_expand_builtin_powi): Remove now pointless n != -n
21997         check.
21998
21999 2022-04-29  Aldy Hernandez  <aldyh@redhat.com>
22000
22001         * range-op.cc (empty_range_varying): Move to range-op.h.
22002         (range_true): Move to range.h.
22003         (range_false): Same.
22004         (range_true_and_false): Same.
22005         (enum bool_range_state): Move to range-op.h.
22006         (relop_early_resolve): Same.
22007         (operator_equal::op1_op2_relation): Abstract code to...
22008         (equal_op1_op2_relation): ...here.
22009         (operator_not_equal::op1_op2_relation): Abstract code to...
22010         (not_equal_op1_op2_relation): ...here.
22011         (operator_lt::op1_op2_relation): Abstract code to...
22012         (lt_op1_op2_relation): ...here.
22013         (operator_le::op1_op2_relation): Abstract code to...
22014         (le_op1_op2_relation): ...here.
22015         (operator_gt::op1_op2_relation): Abstract code to...
22016         (gt_op1_op2_relation): ...here.
22017         (operator_ge::op1_op2_relation): Abstract code to...
22018         (ge_op1_op2_relation): ...here.
22019         (class range_op_table): Move to range-op.h.
22020         * range-op.h (equal_op1_op2_relation): Moved from range-op.cc.
22021         (not_equal_op1_op2_relation): Same.
22022         (lt_op1_op2_relation): Same.
22023         (le_op1_op2_relation): Same.
22024         (gt_op1_op2_relation): Same.
22025         (ge_op1_op2_relation): Same.
22026         (enum bool_range_state): Same.
22027         (get_bool_state): Same.
22028         (empty_range_varying): Same.
22029         (relop_early_resolve): Same.
22030         (class range_op_table): Same.
22031         * range.h (range_true): Same.
22032         (range_false): Same.
22033         (range_true_and_false): Same.
22034
22035 2022-04-29  Aldy Hernandez  <aldyh@redhat.com>
22036
22037         * gimple-fold.cc (size_must_be_zero_p): Use reference
22038         instead of pointer
22039         * gimple-ssa-evrp-analyze.cc
22040         (evrp_range_analyzer::record_ranges_from_incoming_edge): Rename
22041         intersect to legacy_verbose_intersect.
22042         * ipa-cp.cc (ipcp_vr_lattice::meet_with_1): Use reference instead
22043         of pointer.
22044         * tree-ssa-dom.cc (dom_jt_simplifier::simplify): Use value_range
22045         instead of value_range_equiv.
22046         * tree-vrp.cc (extract_range_from_plus_minus_expr): Use reference
22047         instead of pointer.
22048         (find_case_label_range): Same.
22049         * value-range-equiv.cc (value_range_equiv::intersect): Rename to...
22050         (value_range_equiv::legacy_verbose_intersect): ...this.
22051         (value_range_equiv::union_): Rename to...
22052         (value_range_equiv::legacy_verbose_union_): ...this.
22053         * value-range-equiv.h (class value_range_equiv): Rename union and
22054         intersect to legacy_verbose_{intersect,union}.
22055         * value-range.cc (irange::union_): Rename to...
22056         (irange::legacy_verbose_union_): ...this.
22057         (irange::intersect): Rename to...
22058         (irange::legacy_verbose_intersect): ...this.
22059         * value-range.h (irange::union_): Rename union_ to
22060         legacy_verbose_union.
22061         (irange::intersect): Rename intersect to legacy_verbose_intersect.
22062         * vr-values.cc (vr_values::update_value_range): Same.
22063         (vr_values::extract_range_for_var_from_comparison_expr): Same.
22064         (vr_values::extract_range_from_cond_expr): Rename union_ to
22065         legacy_verbose_union.
22066         (vr_values::extract_range_from_phi_node): Same.
22067
22068 2022-04-29  Aldy Hernandez  <aldyh@redhat.com>
22069
22070         * gimple-ssa-evrp-analyze.cc
22071         (evrp_range_analyzer::set_ssa_range_info): Use *range_info methods
22072         that take a range.
22073         * gimple-ssa-sprintf.cc (try_substitute_return_value): Same.
22074         * ipa-prop.cc (ipcp_update_vr): Same.
22075         * tree-inline.cc (remap_ssa_name): Same.
22076         * tree-ssa-copy.cc (fini_copy_prop): Same.
22077         * tree-ssa-math-opts.cc (optimize_spaceship): Same.
22078         * tree-ssa-phiopt.cc (replace_phi_edge_with_variable): Same.
22079         * tree-ssa-pre.cc (insert_into_preds_of_block): Same.
22080         * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Same.
22081         * tree-ssa-strlen.cc (set_strlen_range): Same.
22082         (strlen_pass::handle_builtin_string_cmp): Same.
22083         * tree-ssanames.cc (set_range_info): Make static.
22084         (duplicate_ssa_name_range_info): Make static and add a new variant
22085         calling the static.
22086         * tree-ssanames.h (set_range_info): Remove version taking wide ints.
22087         (duplicate_ssa_name_range_info): Remove version taking a
22088         range_info_def and replace with a version taking SSA names.
22089         * tree-vect-loop-manip.cc (vect_gen_vector_loop_niters): Use *range_info methods
22090         that take a range.
22091         (vect_do_peeling): Same.
22092         * tree-vrp.cc (vrp_asserts::remove_range_assertions): Same.
22093         * vr-values.cc (simplify_truth_ops_using_ranges): Same.
22094
22095 2022-04-29  Aldy Hernandez  <aldyh@redhat.com>
22096
22097         * value-range.h (irange::irange): Use set_undefined.
22098
22099 2022-04-29  Aldy Hernandez  <aldyh@redhat.com>
22100
22101         * gimple-range-cache.h (non_null_ref::adjust_range): Do not use
22102         irange::intersect (wide_int, wide_int).
22103         * gimple-range-fold.cc (adjust_pointer_diff_expr): Same.
22104         (adjust_imagpart_expr): Same.
22105         * value-range.h (irange::intersect (wide_int, wide_int)): Make
22106         private.
22107
22108 2022-04-29  Richard Biener  <rguenther@suse.de>
22109
22110         PR tree-optimization/104322
22111         * tree-vect-loop.cc (vectorizable_reduction): Remove dead code.
22112
22113 2022-04-29  Richard Biener  <rguenther@suse.de>
22114
22115         PR middle-end/105376
22116         * tree.cc (build_real): Special case dconst* arguments
22117         for decimal floating point types.
22118
22119 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
22120
22121         * doc/gcov.texi (Profiling and Test Coverage in Freestanding
22122         Environments): New section.
22123
22124 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
22125
22126         * doc/gcov-tool.texi: Document merge-stream subcommand.
22127         * doc/invoke.texi (fprofile-info-section): Mention merge-stream
22128         subcommand of gcov-tool.
22129         * gcov-tool.cc (gcov_profile_merge_stream): Declare.
22130         (print_merge_stream_usage_message): New.
22131         (merge_stream_usage): Likewise.
22132         (do_merge_stream): Likewise.
22133         (print_usage): Call print_merge_stream_usage_message().
22134         (main): Call do_merge_stream() to execute merge-stream subcommand.
22135
22136 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
22137
22138         * gcov-io.cc (gcov_file_error): New enum.
22139         (gcov_var): Use gcov_file_error enum for the error member.
22140         (gcov_open): Use GCOV_FILE_NO_ERROR.
22141         (gcov_close): Use GCOV_FILE_WRITE_ERROR.
22142         (gcov_write): Likewise.
22143         (gcov_write_unsigned): Likewise.
22144         (gcov_write_string): Likewise.
22145         (gcov_read_bytes): Set error code if EOF is reached.
22146         (gcov_read_counter): Use GCOV_FILE_COUNTER_OVERFLOW.
22147
22148 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
22149
22150         * gcov-io.cc (GCOV_MODE_STDIN): Define.
22151         (gcov_position): For gcov-tool, return calculated position if file is
22152         stdin.
22153         (gcov_open):  For gcov-tool, use stdin if filename is NULL.
22154         (gcov_close): For gcov-tool, do not close stdin.
22155         (gcov_read_bytes): For gcov-tool, update position if file is stdin.
22156         (gcov_sync): For gcov-tool, discard input if file is stdin.
22157
22158 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
22159
22160         * doc/invoke.texi (fprofile-info-section): Mention
22161         __gcov_filename_to_gcfn().  Use "freestanding" to match with C11
22162         standard language.  Fix minor example code issues.
22163         * gcov-io.h (GCOV_FILENAME_MAGIC): Define and document.
22164
22165 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
22166
22167         * gcov-io.cc (gcov_seek): Make it static.
22168         * gcov-io.h (struct gcov_summary): Do not mention gcov_seek().
22169
22170 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
22171
22172         * gcov-tool.cc (gcov_do_dump): Add mode parameter.
22173         (gcov_output_files): Open files for reading and writing.
22174
22175 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
22176
22177         * gcov-io.cc (gcov_open): Always use the mode parameter.
22178         * gcov-io.h (gcov_open): Declare it unconditionally.
22179
22180 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
22181
22182         * gcov-tool.cc (gcov_profile_merge): Adjust return type.
22183         (profile_merge): Allow merging of directories which contain no profile
22184         files.
22185
22186 2022-04-28  David Malcolm  <dmalcolm@redhat.com>
22187
22188         * doc/invoke.texi (-fdump-analyzer-feasibility): Mention the
22189         fpath.txt output.
22190
22191 2022-04-28  Jakub Jelinek  <jakub@redhat.com>
22192
22193         * config/i386/i386-expand.cc (ix86_expand_int_movcc): Create a
22194         temporary only if out overlaps compare_op, not when it overlaps
22195         op0 or op1.
22196
22197 2022-04-28  Jakub Jelinek  <jakub@redhat.com>
22198
22199         PR lto/105399
22200         * cgraph.cc (cgraph_node::verify_node): Don't verify
22201         semantic_interposition flag against
22202         opt_for_fn (decl, flag_semantic_interposition) for aliases in lto1.
22203
22204 2022-04-28  Jakub Jelinek  <jakub@redhat.com>
22205
22206         PR target/105331
22207         * config/i386/i386.cc (ix86_gimplify_va_arg): Mark va_arg_tmp
22208         temporary TREE_ADDRESSABLE before trying to gimplify ADDR_EXPR
22209         of it.
22210
22211 2022-04-28  Jonathan Wakely  <jwakely@redhat.com>
22212
22213         * doc/install.texi (Configuration): Remove misleading text
22214         around LE PowerPC Linux multilibs.
22215
22216 2022-04-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
22217
22218         PR d/103528
22219         * doc/install.texi (Tools/packages necessary for building GCC)
22220         (GDC): Document libphobos requirement.
22221         (Host/target specific installation notes for GCC, *-*-solaris2*):
22222         Document libphobos and GDC specifics.
22223
22224 2022-04-28  Richard Biener  <rguenther@suse.de>
22225
22226         PR tree-optimization/105219
22227         * tree-vect-loop.cc (vect_transform_loop): Disable
22228         special code narrowing the vectorized epilogue max
22229         iterations when peeling for alignment or gaps was in effect.
22230
22231 2022-04-28  Xi Ruoyao  <xry111@mengyan1223.wang>
22232
22233         * config/loongarch/loongarch.cc
22234         (loongarch_flatten_aggregate_field): Ignore empty fields for
22235         RECORD_TYPE.
22236
22237 2022-04-27  Lulu Cheng  <chenglulu@loongson.cn>
22238
22239         * config/loongarch/loongarch.md: Add fdiv define_expand template,
22240         then generate floating-point division and floating-point reciprocal
22241         instructions.
22242
22243 2022-04-27  Lulu Cheng  <chenglulu@loongson.cn>
22244
22245         * config/loongarch/loongarch.md: Add '(clobber (mem:BLK (scratch)))'
22246         to PLV instruction templates.
22247
22248 2022-04-27  Richard Biener  <rguenther@suse.de>
22249
22250         PR middle-end/104492
22251         * gimple-ssa-warn-access.cc
22252         (pass_waccess::warn_invalid_pointer): Exclude equality compare
22253         diagnostics for all kind of invalidations.
22254         (pass_waccess::check_dangling_uses): Fix post-dominator query.
22255         (pass_waccess::check_pointer_uses): Likewise.
22256
22257 2022-04-27  Andreas Krebbel  <krebbel@linux.ibm.com>
22258
22259         PR target/102024
22260         * config/s390/s390-protos.h (s390_function_arg_vector): Remove
22261         prototype.
22262         * config/s390/s390.cc (s390_single_field_struct_p): New function.
22263         (s390_function_arg_vector): Invoke s390_single_field_struct_p.
22264         (s390_function_arg_float): Likewise.
22265
22266 2022-04-27  Jakub Jelinek  <jakub@redhat.com>
22267
22268         PR sanitizer/105396
22269         * asan.cc (asan_redzone_buffer::emit_redzone_byte): Handle the case
22270         where offset is bigger than off but smaller than m_prev_offset + 32
22271         bits by pushing one or more 0 bytes.  Sink the
22272         m_shadow_bytes.safe_push (value); flush_if_full (); statements from
22273         all cases to the end of the function.
22274
22275 2022-04-27  Kewen Lin  <linkw@linux.ibm.com>
22276
22277         PR target/105271
22278         * config/rs6000/rs6000-builtins.def (NEG_V2DI): Move to [power8-vector]
22279         stanza.
22280
22281 2022-04-26  Thomas Schwinge  <thomas@codesourcery.com>
22282
22283         * config/gcn/gcn.cc (gcn_print_lds_decl): Make "gang-private
22284         data-share memory exhausted" error more verbose.
22285
22286 2022-04-26  Martin Liska  <mliska@suse.cz>
22287
22288         PR lto/105364
22289         * lto-wrapper.cc (print_lto_docs_link): Use global_dc.
22290         (run_gcc): Parse OPT_fdiagnostics_urls_.
22291         (main): Initialize global_dc.
22292
22293 2022-04-26  Jakub Jelinek  <jakub@redhat.com>
22294
22295         PR rtl-optimization/105314
22296         * ifcvt.cc (noce_try_store_flag_mask): Don't require that the non-zero
22297         operand is equal to if_info->x, instead use the non-zero operand
22298         as one of the operands of AND with if_info->x as target.
22299
22300 2022-04-26  Jakub Jelinek  <jakub@redhat.com>
22301
22302         PR tree-optimization/105374
22303         * tree-ssa-reassoc.cc (eliminate_redundant_comparison): Punt if
22304         !fold_convertible_p rather than assuming fold_convert must succeed.
22305
22306 2022-04-26  Jakub Jelinek  <jakub@redhat.com>
22307
22308         PR target/105367
22309         * config/i386/i386.cc (ix86_veclibabi_svml, ix86_veclibabi_acml): Pass
22310         el_mode == DFmode ? double_type_node : float_type_node instead of
22311         TREE_TYPE (type_in) as first arguments to mathfn_built_in.
22312
22313 2022-04-25  David Malcolm  <dmalcolm@redhat.com>
22314
22315         PR analyzer/104308
22316         * gimple-fold.cc (gimple_fold_builtin_memory_op): Explicitly set
22317         the location of new_stmt in all places that don't already set it,
22318         whether explicitly, or via a call to gsi_replace.
22319
22320 2022-04-25  Paul A. Clarke  <pc@us.ibm.com>
22321
22322         * doc/extend.texi (Other Builtins): Correct reference to 'modff'.
22323
22324 2022-04-25  Andrew MacLeod  <amacleod@redhat.com>
22325
22326         PR tree-optimization/105276
22327         * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Include
22328         existing global range with calculated value.
22329
22330 2022-04-25  Richard Biener  <rguenther@suse.de>
22331
22332         PR tree-optimization/105368
22333         * tree-ssa-math-opts.cc (powi_cost): Use absu_hwi.
22334
22335 2022-04-25  Richard Biener  <rguenther@suse.de>
22336
22337         PR tree-optimization/100810
22338         * tree-ssa-loop-ivopts.cc (struct iv_cand): Add involves_undefs flag.
22339         (find_ssa_undef): New function.
22340         (add_candidate_1): Avoid adding derived candidates with
22341         undefined SSA names and mark the original ones.
22342         (determine_group_iv_cost_generic): Reject rewriting
22343         uses with a different IV when that involves undefined SSA names.
22344
22345 2022-04-25  Steven G. Kargl  <kargl@gcc.gnu.org>
22346
22347         PR target/89125
22348         * config/freebsd.h: Define TARGET_LIBC_HAS_FUNCTION to be
22349         bsd_libc_has_function.
22350         * targhooks.cc (bsd_libc_has_function): New function.
22351         Expand the supported math functions to inclue C99 libm.
22352         * targhooks.h (bsd_libc_has_function): New Prototype.
22353
22354 2022-04-25  Richard Biener  <rguenther@suse.de>
22355
22356         PR rtl-optimization/105231
22357         * combine.cc (distribute_notes): Assert that a REG_EH_REGION
22358         with landing pad > 0 is from i3.  Put any REG_EH_REGION note
22359         on i3 or drop it if the insn can not trap.
22360         (try_combine): Ensure that we can merge REG_EH_REGION notes
22361         with non-call exceptions.  Ensure we are not splitting a
22362         trapping part of an insn with non-call exceptions when there
22363         is any REG_EH_REGION note to preserve.
22364
22365 2022-04-25  Hongyu Wang  <hongyu.wang@intel.com>
22366
22367         PR target/105339
22368         * config/i386/avx512fintrin.h (_mm512_scalef_round_pd):
22369         Add parentheses for parameters and djust format.
22370         (_mm512_mask_scalef_round_pd): Ditto.
22371         (_mm512_maskz_scalef_round_pd): Ditto.
22372         (_mm512_scalef_round_ps): Ditto.
22373         (_mm512_mask_scalef_round_ps): Ditto.
22374         (_mm512_maskz_scalef_round_ps): Ditto.
22375         (_mm_scalef_round_sd): Use _mm_undefined_pd.
22376         (_mm_scalef_round_ss): Use _mm_undefined_ps.
22377         (_mm_mask_scalef_round_sd): New macro.
22378         (_mm_mask_scalef_round_ss): Ditto.
22379         (_mm_maskz_scalef_round_sd): Ditto.
22380         (_mm_maskz_scalef_round_ss): Ditto.
22381
22382 2022-04-23  Jakub Jelinek  <jakub@redhat.com>
22383
22384         PR target/105338
22385         * config/i386/i386-expand.cc (ix86_expand_int_movcc): Handle
22386         op0 == cst1 ? op0 : op3 like op0 == cst1 ? cst1 : op3 for the non-cmov
22387         cases.
22388
22389 2022-04-22  Segher Boessenkool  <segher@kernel.crashing.org>
22390
22391         PR target/105334
22392         * config/rs6000/rs6000.md (pack<mode> for FMOVE128): New expander.
22393         (pack<mode> for FMOVE128): Rename and split the insn_and_split to...
22394         (pack<mode>_hard for FMOVE128): ... this...
22395         (pack<mode>_soft for FMOVE128): ... and this.
22396
22397 2022-04-22  Paul A. Clarke  <pc@us.ibm.com>
22398
22399         * doc/extend.texi: Correct "This" to "These".
22400
22401 2022-04-22  Jakub Jelinek  <jakub@redhat.com>
22402
22403         PR rtl-optimization/105333
22404         * rtlanal.cc (replace_rtx): Use simplify_subreg or
22405         simplify_unary_operation if CONST_SCALAR_INT_P rather than just
22406         CONST_INT_P.
22407
22408 2022-04-21  Segher Boessenkool  <segher@kernel.crashing.org>
22409
22410         PR target/103197
22411         PR target/102146
22412         * config/rs6000/rs6000.md (zero_extendqi<mode>2 for EXTQI): Disparage
22413         the "Z" alternatives in {l,st}{f,xs}iwzx.
22414         (zero_extendhi<mode>2 for EXTHI): Ditto.
22415         (zero_extendsi<mode>2 for EXTSI): Ditto.
22416         (*movsi_internal1): Ditto.
22417         (*mov<mode>_internal1 for QHI): Ditto.
22418         (movsd_hardfloat): Ditto.
22419
22420 2022-04-21  Martin Liska  <mliska@suse.cz>
22421
22422         * configure.ac: Enable compressed debug sections for mold
22423         linker.
22424         * configure: Regenerate.
22425
22426 2022-04-21  Jakub Jelinek  <jakub@redhat.com>
22427
22428         PR debug/105203
22429         * emit-rtl.cc (emit_copy_of_insn_after): Don't call mark_jump_label
22430         on DEBUG_INSNs.
22431
22432 2022-04-20  Richard Biener  <rguenther@suse.de>
22433
22434         PR tree-optimization/104912
22435         * tree-vect-loop-manip.cc (vect_loop_versioning): Split
22436         the cost model check to a separate BB to make sure it is
22437         checked first and not combined with other version checks.
22438
22439 2022-04-20  Richard Biener  <rguenther@suse.de>
22440
22441         PR tree-optimization/105312
22442         * gimple-isel.cc (gimple_expand_vec_cond_expr): Query both
22443         VCOND and VCONDU for EQ and NE.
22444
22445 2022-04-20  Jan Hubicka  <hubicka@ucw.cz>
22446
22447         PR ipa/103818
22448         * ipa-modref-tree.cc (modref_access_node::closer_pair_p): Use
22449         poly_offset_int to avoid overflow.
22450         (modref_access_node::update2): likewise.
22451
22452 2022-04-20  Jakub Jelinek  <jakub@redhat.com>
22453
22454         PR ipa/105306
22455         * cgraph.cc (cgraph_node::create): Set node->semantic_interposition
22456         to opt_for_fn (decl, flag_semantic_interposition).
22457         * cgraphclones.cc (cgraph_node::create_clone): Copy over
22458         semantic_interposition flag.
22459
22460 2022-04-19  Sergei Trofimovich  <siarheit@google.com>
22461
22462         PR gcov-profile/105282
22463         * value-prof.cc (stream_out_histogram_value): Allow negative counts
22464         on HIST_TYPE_INDIR_CALL.
22465
22466 2022-04-19  Jakub Jelinek  <jakub@redhat.com>
22467
22468         PR target/105257
22469         * config/sparc/sparc.cc (epilogue_renumber): If ORIGINAL_REGNO,
22470         use gen_raw_REG instead of gen_rtx_REG and copy over also
22471         ORIGINAL_REGNO.  Use return 0; instead of /* fallthrough */.
22472
22473 2022-04-19  Richard Biener  <rguenther@suse.de>
22474
22475         PR tree-optimization/104010
22476         PR tree-optimization/103941
22477         * tree-vect-slp.cc (vect_bb_slp_scalar_cost): When
22478         we run into stmts in patterns continue walking those
22479         for uses outside of the vectorized region instead of
22480         marking the lane live.
22481
22482 2022-04-18  Hans-Peter Nilsson  <hp@axis.com>
22483
22484         * doc/install.texi <CRIS>: Remove references to removed websites and
22485         adjust for cris-*-elf being the only remaining toolchain.
22486
22487 2022-04-18  Hans-Peter Nilsson  <hp@axis.com>
22488
22489         * doc/invoke.texi <CRIS>: Remove references to options for removed
22490         subtarget cris-axis-linux-gnu and tweak wording accordingly.
22491
22492 2022-04-16  Gerald Pfeifer  <gerald@pfeifer.com>
22493
22494         * doc/install.texi (Specific): Adjust mingw-w64 download link.
22495
22496 2022-04-15  Hongyu Wang  <hongyu.wang@intel.com>
22497
22498         * config/i386/smmintrin.h: Correct target pragma from sse4.1
22499         and sse4.2 to crc32 for crc32 intrinsics.
22500
22501 2022-04-14  Indu Bhagat  <indu.bhagat@oracle.com>
22502
22503         PR debug/105089
22504         * ctfc.cc (ctf_dvd_ignore_insert): New function.
22505         (ctf_dvd_ignore_lookup): Likewise.
22506         (ctf_add_variable): Keep track of non-defining decl DIEs.
22507         (new_ctf_container): Initialize the new hash-table.
22508         (ctfc_delete_container): Empty hash-table.
22509         * ctfc.h (struct ctf_container): Add new hash-table.
22510         (ctf_dvd_ignore_lookup): New declaration.
22511         (ctf_add_variable): Add additional argument.
22512         * ctfout.cc (ctf_dvd_preprocess_cb): Skip adding CTF variable
22513         record for non-defining decl for which a defining decl exists
22514         in the same TU.
22515         (ctf_preprocess): Defer updating the number of global objts
22516         until here.
22517         (output_ctf_header): Use ctfc_vars_list_count as some CTF
22518         variables may not make it to the final output.
22519         (output_ctf_vars): Likewise.
22520         * dwarf2ctf.cc (gen_ctf_variable): Skip generating CTF variable
22521         if this is known to be a non-defining decl DIE.
22522
22523 2022-04-14  Indu Bhagat  <indu.bhagat@oracle.com>
22524
22525         * ctfc.h (struct ctf_container): Introduce a new member.
22526         * ctfout.cc (ctf_list_add_ctf_vars): Use it instead of static
22527         variable.
22528
22529 2022-04-14  Jakub Jelinek  <jakub@redhat.com>
22530
22531         PR target/105247
22532         * simplify-rtx.cc (simplify_const_binary_operation): For shifts
22533         or rotates by VOIDmode constant integer shift count use word_mode
22534         for the operand if int_mode is narrower than word.
22535
22536 2022-04-14  Robin Dapp  <rdapp@linux.ibm.com>
22537
22538         * config/s390/s390.cc (s390_get_sched_attrmask): Add z16.
22539         (s390_get_unit_mask): Likewise.
22540         (s390_is_fpd): Likewise.
22541         (s390_is_fxd): Likewise.
22542         * config/s390/s390.h (s390_tune_attr): Set max tune level to z16.
22543         * config/s390/s390.md (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15):
22544         Add z16.
22545         (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15,z16):
22546         Likewise.
22547         * config/s390/3931.md: New file.
22548
22549 2022-04-13  Richard Sandiford  <richard.sandiford@arm.com>
22550
22551         PR tree-optimization/105254
22552         * config/aarch64/aarch64.cc
22553         (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
22554         loop_vec_info as argument.  Restrict the unroll factor to values
22555         that divide the VF.
22556         (aarch64_vector_costs::finish_cost): Update call accordingly.
22557
22558 2022-04-13  Richard Biener  <rguenther@suse.de>
22559
22560         PR tree-optimization/105263
22561         * tree-ssa-reassoc.cc (try_special_add_to_ops): Do not consume
22562         negates in multiplication chains with DFP.
22563
22564 2022-04-13  Jakub Jelinek  <jakub@redhat.com>
22565
22566         PR middle-end/105253
22567         * tree.cc (tree_builtin_call_types_compatible_p): If PROP_gimple,
22568         use useless_type_conversion_p checks instead of TYPE_MAIN_VARIANT
22569         comparisons or tree_nop_conversion_p checks.
22570
22571 2022-04-13  Hongyu Wang  <hongyu.wang@intel.com>
22572
22573         PR target/103069
22574         * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop):
22575         Add missing set to target_val at pause label.
22576
22577 2022-04-13  Jakub Jelinek  <jakub@redhat.com>
22578
22579         PR target/105234
22580         * attribs.cc (decl_attributes): Don't set
22581         DECL_FUNCTION_SPECIFIC_TARGET if target_option_default_node is
22582         NULL.
22583
22584 2022-04-13  Richard Biener  <rguenther@suse.de>
22585
22586         PR tree-optimization/105250
22587         * fold-const.cc (fold_convertible_p): Revert
22588         r12-7979-geaaf77dd85c333, instead check for size equality
22589         of the vector types involved.
22590
22591 2022-04-13  Richard Biener  <rguenther@suse.de>
22592
22593         Revert:
22594         2022-04-13  Richard Biener  <rguenther@suse.de>
22595
22596         PR tree-optimization/104912
22597         * tree-vect-loop-manip.cc (vect_loop_versioning): Split
22598         the cost model check to a separate BB to make sure it is
22599         checked first and not combined with other version checks.
22600
22601 2022-04-13  Richard Biener  <rguenther@suse.de>
22602
22603         PR tree-optimization/104912
22604         * tree-vect-loop-manip.cc (vect_loop_versioning): Split
22605         the cost model check to a separate BB to make sure it is
22606         checked first and not combined with other version checks.
22607
22608 2022-04-13  Jakub Jelinek  <jakub@redhat.com>
22609
22610         * tree-scalar-evolution.cc (expression_expensive_p): Fix a comment typo.
22611
22612 2022-04-12  Antoni Boucher  <bouanto@zoho.com>
22613
22614         PR jit/104072
22615         * reginfo.cc: New functions (clear_global_regs_cache,
22616         reginfo_cc_finalize) to avoid an issue where compiling the same
22617         code multiple times gives an error about assigning the same
22618         register to 2 global variables.
22619         * rtl.h: New function (reginfo_cc_finalize).
22620         * toplev.cc: Call it.
22621
22622 2022-04-12  Antoni Boucher  <bouanto@zoho.com>
22623
22624         PR jit/104071
22625         * toplev.cc: Call the new function tree_cc_finalize in
22626         toplev::finalize.
22627         * tree.cc: New functions (clear_nonstandard_integer_type_cache
22628         and tree_cc_finalize) to clear the cache of non-standard integer
22629         types to avoid having issues with some optimizations of
22630         bitcast where the SSA_NAME will have a size of a cached
22631         integer type that should have been invalidated, causing a
22632         comparison of integer constant to fail.
22633         * tree.h: New function (tree_cc_finalize).
22634
22635 2022-04-12  Thomas Schwinge  <thomas@codesourcery.com>
22636
22637         PR target/97348
22638         * config/nvptx/nvptx.h (ASM_SPEC): Don't set.
22639         * config/nvptx/nvptx.opt (misa): Adjust comment.
22640
22641 2022-04-12  Thomas Schwinge  <thomas@codesourcery.com>
22642
22643         Revert:
22644         2022-03-03  Tom de Vries  <tdevries@suse.de>
22645
22646         * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
22647
22648 2022-04-12  Thomas Schwinge  <thomas@codesourcery.com>
22649
22650         Revert:
22651         2022-03-31  Tom de Vries  <tdevries@suse.de>
22652
22653         * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
22654
22655 2022-04-12  Richard Biener  <rguenther@suse.de>
22656
22657         PR ipa/104303
22658         * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Do not
22659         include local escaped memory as obviously necessary stores.
22660
22661 2022-04-12  Richard Biener  <rguenther@suse.de>
22662
22663         PR tree-optimization/105235
22664         * tree-ssa-math-opts.cc (execute_cse_conv_1): Clean EH and
22665         return whether the CFG changed.
22666         (execute_cse_sincos_1): Adjust.
22667
22668 2022-04-12  Przemyslaw Wirkus  <Przemyslaw.Wirkus@arm.com>
22669
22670         PR target/104144
22671         * config/arm/t-aprofile (MULTI_ARCH_OPTS_A): Remove Armv9-a options.
22672         (MULTI_ARCH_DIRS_A): Remove Armv9-a diretories.
22673         (MULTILIB_REQUIRED): Don't require Armv9-a libraries.
22674         (MULTILIB_MATCHES): Treat Armv9-a as equivalent to Armv8-a.
22675         (MULTILIB_REUSE): Remove remap rules for Armv9-a.
22676         * config/arm/t-multilib (v9_a_nosimd_variants): Delete.
22677         (MULTILIB_MATCHES): Remove mappings for v9_a_nosimd_variants.
22678
22679 2022-04-12  Richard Biener  <rguenther@suse.de>
22680
22681         PR tree-optimization/105232
22682         * tree.cc (component_ref_size): Bail out for too large
22683         or non-constant sizes.
22684
22685 2022-04-12  Richard Biener  <rguenther@suse.de>
22686
22687         PR tree-optimization/105226
22688         * tree-vect-loop-manip.cc (vect_loop_versioning): Verify
22689         we can split the exit of an outer loop we choose to version.
22690
22691 2022-04-12  Jakub Jelinek  <jakub@redhat.com>
22692
22693         * config/i386/i386-expand.cc (ix86_emit_i387_sinh, ix86_emit_i387_cosh,
22694         ix86_emit_i387_tanh, ix86_emit_i387_asinh, ix86_emit_i387_acosh,
22695         ix86_emit_i387_atanh, ix86_emit_i387_log1p, ix86_emit_i387_round,
22696         ix86_emit_swdivsf, ix86_emit_swsqrtsf,
22697         ix86_expand_atomic_fetch_op_loop, ix86_expand_cmpxchg_loop):
22698         Formatting fix.
22699         * config/i386/i386.cc (warn_once_call_ms2sysv_xlogues): Likewise.
22700
22701 2022-04-12  Jakub Jelinek  <jakub@redhat.com>
22702
22703         PR target/105214
22704         * config/i386/i386-expand.cc (ix86_emit_i387_log1p): Call
22705         do_pending_stack_adjust.
22706
22707 2022-04-12  Jakub Jelinek  <jakub@redhat.com>
22708
22709         PR rtl-optimization/105211
22710         * builtins.cc (expand_builtin_int_roundingfn_2): If mathfn_built_in_1
22711         fails for TREE_TYPE (arg), retry it with
22712         TREE_VALUE (TYPE_ARG_TYPES (TREE_TYPE (fndecl))) and if even that
22713         fails, emit call normally.
22714
22715 2022-04-12  Andreas Krebbel  <krebbel@linux.ibm.com>
22716
22717         * common/config/s390/s390-common.cc: Rename PF_ARCH14 to PF_Z16.
22718         * config.gcc: Add z16 as march/mtune switch.
22719         * config/s390/driver-native.cc (s390_host_detect_local_cpu):
22720         Recognize z16 with -march=native.
22721         * config/s390/s390-opts.h (enum processor_type): Rename
22722         PROCESSOR_ARCH14 to PROCESSOR_3931_Z16.
22723         * config/s390/s390.cc (PROCESSOR_ARCH14): Rename to ...
22724         (PROCESSOR_3931_Z16): ... throughout the file.
22725         (s390_processor processor_table): Add z16 as cpu string.
22726         * config/s390/s390.h (enum processor_flags): Rename PF_ARCH14 to
22727         PF_Z16.
22728         (TARGET_CPU_ARCH14): Rename to ...
22729         (TARGET_CPU_Z16): ... this.
22730         (TARGET_CPU_ARCH14_P): Rename to ...
22731         (TARGET_CPU_Z16_P): ... this.
22732         (TARGET_ARCH14): Rename to ...
22733         (TARGET_Z16): ... this.
22734         (TARGET_ARCH14_P): Rename to ...
22735         (TARGET_Z16_P): ... this.
22736         * config/s390/s390.md (cpu_facility): Rename arch14 to z16 and
22737         check TARGET_Z16 instead of TARGET_ARCH14.
22738         * config/s390/s390.opt: Add z16 to processor_type.
22739         * doc/invoke.texi: Document z16 and arch14.
22740
22741 2022-04-12  chenglulu  <chenglulu@loongson.cn>
22742
22743         * config/loongarch/loongarch.cc: Fix bug for
22744         tmpdir-g++.dg-struct-layout-1/t033.
22745
22746 2022-04-11  Peter Bergner  <bergner@linux.ibm.com>
22747
22748         PR target/104894
22749         * config/rs6000/rs6000.cc (rs6000_sibcall_aix): Handle pcrel sibcalls
22750         to longcall functions.
22751
22752 2022-04-11  Jason Merrill  <jason@redhat.com>
22753
22754         * ipa-free-lang-data.cc (free_lang_data_in_decl): Fix typos.
22755
22756 2022-04-11  Segher Boessenkool  <segher@kernel.crashing.org>
22757
22758         PR target/105213
22759         PR target/103623
22760         * config/rs6000/rs6000.md (unpack<mode>_nodm): Add m,r,i alternative.
22761
22762 2022-04-11  Jakub Jelinek  <jakub@redhat.com>
22763
22764         PR tree-optimization/105218
22765         * tree-ssa-phiopt.cc (value_replacement): If middle_bb has
22766         more than one predecessor or phi's bb more than 2 predecessors,
22767         reset phi result uses instead of adding a debug temp.
22768
22769 2022-04-11  Kito Cheng  <kito.cheng@sifive.com>
22770
22771         PR target/104853
22772         * config.gcc: Pass -misa-spec to arch-canonicalize and
22773         multilib-generator.
22774         * config/riscv/arch-canonicalize: Adding -misa-spec option.
22775         (SUPPORTED_ISA_SPEC): New.
22776         (arch_canonicalize): New argument `isa_spec`.
22777         Handle multiple ISA spec versions.
22778         * config/riscv/multilib-generator: Adding -misa-spec option.
22779
22780 2022-04-11  Kito Cheng  <kito.cheng@sifive.com>
22781
22782         * config/riscv/arch-canonicalize: Add TODO item.
22783         (IMPLIED_EXT): Sync.
22784         (arch_canonicalize): Checking until no change.
22785
22786 2022-04-11  Tamar Christina  <tamar.christina@arm.com>
22787
22788         PR target/105197
22789         * tree-vect-stmts.cc (vectorizable_condition): Prevent cond swap when
22790         not masked.
22791
22792 2022-04-11  Jason Merrill  <jason@redhat.com>
22793
22794         PR c++/100370
22795         * pointer-query.cc (compute_objsize_r) [POINTER_PLUS_EXPR]: Require
22796         deref == -1.
22797
22798 2022-04-11  Jakub Jelinek  <jakub@redhat.com>
22799
22800         PR tree-optimization/104639
22801         * tree-ssa-phiopt.cc: Include tree-ssa-propagate.h.
22802         (value_replacement): Optimize (x != cst1 ? x : cst2) != cst3
22803         into x != cst3.
22804
22805 2022-04-11  Jeff Law  <jeffreyalaw@gmail.com>
22806
22807         * config/bfin/bfin.md (rol_one): Fix pattern to indicate the
22808         sign bit of the source ends up in CC.
22809
22810 2022-04-09  Jan Hubicka  <hubicka@ucw.cz>
22811
22812         PR ipa/103376
22813         * cgraphunit.cc (cgraph_node::analyze): update semantic_interposition
22814         flag.
22815
22816 2022-04-09  Jan Hubicka  <hubicka@ucw.cz>
22817
22818         * ipa-modref.cc (ipa_merge_modref_summary_after_inlining): Propagate
22819         nondeterministic and side_effects flags.
22820
22821 2022-04-08  Andre Vieira  <andre.simoesdiasvieira@arm.com>
22822
22823         PR target/105157
22824         * config.gcc: Shift ext_mask by TARGET_CPU_NBITS.
22825         * config/aarch64/aarch64.h (TARGET_CPU_NBITS): New macro.
22826         (TARGET_CPU_MASK): Likewise.
22827         (TARGET_CPU_DEFAULT): Use TARGET_CPU_NBITS.
22828         * config/aarch64/aarch64.cc (aarch64_get_tune_cpu): Use TARGET_CPU_MASK.
22829         (aarch64_get_arch): Likewise.
22830         (aarch64_override_options): Use TARGET_CPU_NBITS.
22831
22832 2022-04-08  Richard Biener  <rguenther@suse.de>
22833
22834         PR tree-optimization/105198
22835         * tree-predcom.cc (find_looparound_phi): Check whether
22836         the found memory location of the entry value is clobbered
22837         inbetween the value we want to use and loop entry.
22838
22839 2022-04-08  Jakub Jelinek  <jakub@redhat.com>
22840
22841         PR tree-optimization/105189
22842         * fold-const.cc (make_range_step): Fix up handling of
22843         (unsigned) x +[low, -] ranges for signed x if low fits into
22844         typeof (x).
22845
22846 2022-04-08  Richard Biener  <rguenther@suse.de>
22847
22848         PR tree-optimization/105175
22849         * tree-vect-stmts.cc (vectorizable_operation): Suppress
22850         -Wvector-operation-performance if using emulated vectors.
22851         * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
22852         -Wvector-operation-performance when suppressed.
22853         (expand_vector_parallel): Likewise.
22854         (expand_vector_comparison): Likewise.
22855         (expand_vector_condition): Likewise.
22856         (lower_vec_perm): Likewise.
22857         (expand_vector_conversion): Likewise.
22858
22859 2022-04-07  Tamar Christina  <tamar.christina@arm.com>
22860
22861         PR target/104409
22862         * config/aarch64/aarch64-builtins.cc (handle_arm_acle_h): New.
22863         (aarch64_general_init_builtins): Move LS64 code.
22864         * config/aarch64/aarch64-c.cc (aarch64_pragma_aarch64): Support
22865         arm_acle.h
22866         * config/aarch64/aarch64-protos.h (handle_arm_acle_h): New.
22867         * config/aarch64/arm_acle.h: Add pragma GCC aarch64 "arm_acle.h".
22868
22869 2022-04-07  Richard Biener  <rguenther@suse.de>
22870             Jan Hubicka  <hubicka@ucw.cz>
22871
22872         PR ipa/104303
22873         * tree-ssa-alias.h (ptr_deref_may_alias_global_p,
22874         ref_may_alias_global_p, ref_may_alias_global_p,
22875         stmt_may_clobber_global_p, pt_solution_includes_global): Add
22876         bool parameters indicating whether escaped locals should be
22877         considered global.
22878         * tree-ssa-structalias.cc (pt_solution_includes_global):
22879         When the new escaped_nonlocal_p flag is true also consider
22880         pt->vars_contains_escaped.
22881         * tree-ssa-alias.cc (ptr_deref_may_alias_global_p):
22882         Pass down new escaped_nonlocal_p flag.
22883         (ref_may_alias_global_p): Likewise.
22884         (stmt_may_clobber_global_p): Likewise.
22885         (ref_may_alias_global_p_1): Likewise.  For decls also
22886         query the escaped solution if true.
22887         (ref_may_access_global_memory_p): Remove.
22888         (modref_may_conflict): Use ref_may_alias_global_p with
22889         escaped locals considered global.
22890         (ref_maybe_used_by_stmt_p): Adjust.
22891         * ipa-fnsummary.cc (points_to_local_or_readonly_memory_p):
22892         Likewise.
22893         * tree-ssa-dse.cc (dse_classify_store): Likewise.
22894         * trans-mem.cc (thread_private_new_memory): Likewise, but
22895         consider escaped locals global.
22896         * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Likewise.
22897
22898 2022-04-07  Richard Biener  <rguenther@suse.de>
22899
22900         PR tree-optimization/105185
22901         * tree-ssa-sccvn.cc (visit_reference_op_call): Simplify
22902         modref query again.
22903
22904 2022-04-07  Tamar Christina  <tamar.christina@arm.com>
22905
22906         PR target/104049
22907         * config/aarch64/aarch64-simd.md
22908         (aarch64_reduc_plus_internal<mode>): Fix RTL and rename to...
22909         (reduc_plus_scal_<mode>): ... This.
22910         (reduc_plus_scal_v4sf): Moved.
22911         (aarch64_reduc_plus_internalv2si): Fix RTL and rename to...
22912         (reduc_plus_scal_v2si): ... This.
22913
22914 2022-04-07  Jakub Jelinek  <jakub@redhat.com>
22915
22916         PR tree-optimization/102586
22917         * langhooks.h (struct lang_hooks_for_types): Add classtype_as_base
22918         langhook.
22919         * langhooks-def.h (LANG_HOOKS_CLASSTYPE_AS_BASE): Define.
22920         (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add it.
22921         * gimple-fold.cc (clear_padding_type): Use ftype instead of
22922         TREE_TYPE (field) some more.  For artificial FIELD_DECLs without
22923         name try the lang_hooks.types.classtype_as_base langhook and
22924         if it returns non-NULL, use that instead of ftype for recursive call.
22925
22926 2022-04-07  Jakub Jelinek  <jakub@redhat.com>
22927
22928         PR tree-optimization/105150
22929         * tree.cc (tree_builtin_call_types_compatible_p): New function.
22930         (get_call_combined_fn): Use it.
22931
22932 2022-04-07  Richard Biener  <rguenther@suse.de>
22933
22934         PR middle-end/105165
22935         * tree-complex.cc (expand_complex_asm): Sorry for asm goto
22936         _Complex outputs.
22937
22938 2022-04-07  liuhongt  <hongtao.liu@intel.com>
22939
22940         * config/i386/sse.md (<sse2_avx2>_andnot<mode>3_mask):
22941         Removed.
22942         (<sse>_andnot<mode>3<mask_name>): Disable V*HFmode patterns
22943         for mask_applied.
22944         (<code><mode>3<mask_name>): Ditto.
22945         (*<code><mode>3<mask_name>): Ditto.
22946         (VFB_128_256): Adjust condition of V8HF/V16HFmode according to
22947         real instruction.
22948         (VFB_512): Ditto.
22949         (VFB): Ditto.
22950
22951 2022-04-06  Jakub Jelinek  <jakub@redhat.com>
22952
22953         PR rtl-optimization/104985
22954         * combine.cc (struct undo): Add where.regno member.
22955         (do_SUBST_MODE): Rename to ...
22956         (subst_mode): ... this.  Change first argument from rtx * into int,
22957         operate on regno_reg_rtx[regno] and save regno into where.regno.
22958         (SUBST_MODE): Remove.
22959         (try_combine): Use subst_mode instead of SUBST_MODE, change first
22960         argument from regno_reg_rtx[whatever] to whatever.  For UNDO_MODE, use
22961         regno_reg_rtx[undo->where.regno] instead of *undo->where.r.
22962         (undo_to_marker): For UNDO_MODE, use regno_reg_rtx[undo->where.regno]
22963         instead of *undo->where.r.
22964         (simplify_set): Use subst_mode instead of SUBST_MODE, change first
22965         argument from regno_reg_rtx[whatever] to whatever.
22966
22967 2022-04-06  Jakub Jelinek  <jakub@redhat.com>
22968
22969         PR target/105069
22970         * config/sh/sh.opt (mdiv=): Add Save.
22971
22972 2022-04-06  Martin Liska  <mliska@suse.cz>
22973
22974         PR driver/105096
22975         * common.opt: Document properly based on what it does.
22976         * gcc.cc (display_help): Unify with what we have in common.opt.
22977         * opts.cc (common_handle_option): Do not print undocumented
22978         options.
22979
22980 2022-04-06  Xi Ruoyao  <xry111@mengyan1223.wang>
22981
22982         * config/mips/mips.cc (mips_fpr_return_fields): Ignore
22983         cxx17_empty_base_field_p fields and set an indicator.
22984         (mips_return_in_msb): Adjust for mips_fpr_return_fields change.
22985         (mips_function_value_1): Inform psABI change about C++17 empty
22986         bases.
22987
22988 2022-04-06  Jakub Jelinek  <jakub@redhat.com>
22989
22990         PR tree-optimization/105150
22991         * gimple.cc (gimple_builtin_call_types_compatible_p): Use
22992         builtin_decl_explicit here...
22993         (gimple_call_builtin_p, gimple_call_combined_fn): ... rather than
22994         here.
22995
22996 2022-04-06  Richard Biener  <rguenther@suse.de>
22997
22998         PR tree-optimization/105173
22999         * tree-ssa-reassoc.cc (find_insert_point): Get extra
23000         insert_before output argument and compute it.
23001         (insert_stmt_before_use): Adjust.
23002         (rewrite_expr_tree): Likewise.
23003
23004 2022-04-06  Richard Biener  <rguenther@suse.de>
23005
23006         PR ipa/105166
23007         * ipa-modref-tree.cc (modref_access_node::get_ao_ref ): Bail
23008         out for non-pointer arguments.
23009
23010 2022-04-06  Richard Biener  <rguenther@suse.de>
23011
23012         PR tree-optimization/105163
23013         * tree-ssa-reassoc.cc (repropagate_negates): Avoid propagating
23014         negated abnormals.
23015
23016 2022-04-06  Jakub Jelinek  <jakub@redhat.com>
23017
23018         PR tree-optimization/105150
23019         * gimple.cc (gimple_call_builtin_p, gimple_call_combined_fn):
23020         For BUILT_IN_NORMAL calls, call gimple_builtin_call_types_compatible_p
23021         preferrably on builtin_decl_explicit decl rather than fndecl.
23022         * tree-ssa-strlen.cc (valid_builtin_call): Don't call
23023         gimple_builtin_call_types_compatible_p here.
23024
23025 2022-04-06  Richard Sandiford  <richard.sandiford@arm.com>
23026
23027         PR tree-optimization/103761
23028         * tree-vect-stmts.cc (check_load_store_for_partial_vectors): Replace
23029         the ncopies parameter with an slp_node parameter.  Calculate the
23030         number of vectors based on it and vectype.  Rename lambda to
23031         group_memory_nvectors.
23032         (vectorizable_store, vectorizable_load): Update calls accordingly.
23033
23034 2022-04-06  Martin Liska  <mliska@suse.cz>
23035
23036         * doc/invoke.texi: Document it.
23037
23038 2022-04-06  Richard Biener  <rguenther@suse.de>
23039
23040         PR tree-optimization/105148
23041         * tree-ssa-loop-ivopts.cc (idx_record_use): Walk raw operands
23042         2 and 3 of ARRAY_REFs.
23043
23044 2022-04-06  Roger Sayle  <roger@nextmovesoftware.com>
23045
23046         * config/i386/sse.md (ANDNOT_MODE): New mode iterator for TF and V1TI.
23047         (*andnottf3): Replace with...
23048         (*andnot<mode>3): New define_insn using ANDNOT_MODE.
23049
23050 2022-04-06  Richard Biener  <rguenther@suse.de>
23051
23052         PR tree-optimization/105142
23053         * gimple-fold.h (maybe_fold_and_comparisons): Add defaulted
23054         basic-block parameter.
23055         (maybe_fold_or_comparisons): Likewise.
23056         * gimple-fold.cc (follow_outer_ssa_edges): New.
23057         (maybe_fold_comparisons_from_match_pd): Use follow_outer_ssa_edges
23058         when an outer condition basic-block is specified.
23059         (and_comparisons_1, and_var_with_comparison,
23060         and_var_with_comparison_1, or_comparisons_1,
23061         or_var_with_comparison, or_var_with_comparison_1): Receive and pass
23062         down the outer condition basic-block.
23063         * tree-ssa-ifcombine.cc (ifcombine_ifandif): Pass down the
23064         basic-block of the outer condition.
23065
23066 2022-04-06  Kewen Lin  <linkw@linux.ibm.com>
23067
23068         PR target/105002
23069         * config/rs6000/rs6000.cc (rs6000_maybe_emit_maxc_minc): Support more
23070         comparison codes UNLT/UNLE/UNGT/UNGE.
23071
23072 2022-04-05  David Malcolm  <dmalcolm@redhat.com>
23073
23074         * doc/extend.texi (Common Function Attributes): Document that
23075         'access' does not imply 'nonnull'.
23076
23077 2022-04-05  Uroš Bizjak  <ubizjak@gmail.com>
23078
23079         PR target/105139
23080         * config/i386/mmx.md (*movv2qi_internal):
23081         Change insn mode of alternative 5 to HF for TARGET_AVX512FP16.
23082
23083 2022-04-05  Richard Sandiford  <richard.sandiford@arm.com>
23084
23085         * config/aarch64/aarch64.md (aarch64_cpymemdi): Turn into a
23086         define_expand and turn operands 0 and 1 from REGs to MEMs.
23087         (*aarch64_cpymemdi): New pattern.
23088         (aarch64_setmemdi): Turn into a define_expand and turn operand 0
23089         from a REG to a MEM.
23090         (*aarch64_setmemdi): New pattern.
23091         * config/aarch64/aarch64.cc (aarch64_expand_cpymem_mops): Use
23092         copy_to_mode_reg on all three registers.  Replace the original
23093         MEM addresses rather than creating wild reads and writes.
23094         (aarch64_expand_setmem_mops): Likewise for the size and for the
23095         destination memory and address.
23096
23097 2022-04-05  Richard Sandiford  <richard.sandiford@arm.com>
23098
23099         PR target/103147
23100         * config/aarch64/aarch64-protos.h (aarch64_simd_switcher): New class.
23101         * config/aarch64/aarch64-sve-builtins.h (sve_switcher): Inherit
23102         from aarch64_simd_switcher.
23103         * config/aarch64/aarch64-builtins.cc (aarch64_simd_tuple_modes):
23104         New variable.
23105         (aarch64_lookup_simd_builtin_type): Use it instead of TYPE_MODE.
23106         (register_tuple_type): Add more asserts.  Expect the alignment
23107         of the structure to be subject to flag_pack_struct and
23108         maximum_field_alignment.  Set aarch64_simd_tuple_modes.
23109         (aarch64_simd_switcher::aarch64_simd_switcher): New function.
23110         (aarch64_simd_switcher::~aarch64_simd_switcher): Likewise.
23111         (handle_arm_neon_h): Hold an aarch64_simd_switcher throughout.
23112         (aarch64_general_init_builtins): Hold an aarch64_simd_switcher
23113         while calling aarch64_init_simd_builtins.
23114         * config/aarch64/aarch64-sve-builtins.cc (sve_switcher::sve_switcher)
23115         (sve_switcher::~sve_switcher): Remove code now performed by
23116         aarch64_simd_switcher.
23117
23118 2022-04-05  Richard Sandiford  <richard.sandiford@arm.com>
23119
23120         PR target/104897
23121         * config/aarch64/aarch64-sve-builtins.cc
23122         (function_resolver::infer_vector_or_tuple_type): Use error_n
23123         for "%d vectors" messages.
23124
23125 2022-04-05  Chung-Lin Tang  <cltang@codesourcery.com>
23126
23127         * omp-low.cc (lower_omp_target): Use outer context looked-up 'var' as
23128         argument to lang_hooks.decls.omp_array_data, instead of 'ovar' from
23129         current clause.
23130
23131 2022-04-05  Richard Biener  <rguenther@suse.de>
23132
23133         PR c/105151
23134         * passes.def (pass_walloca): Move early instance into
23135         pass_build_ssa_passes to make SSA form available.
23136
23137 2022-04-05  liuhongt  <hongtao.liu@intel.com>
23138
23139         PR target/101908
23140         * config/i386/i386.cc (ix86_split_stlf_stall_load): New
23141         function
23142         (ix86_reorg): Call ix86_split_stlf_stall_load.
23143         * config/i386/i386.opt (-param=x86-stlf-window-ninsns=): New
23144         param.
23145
23146 2022-04-05  Alexandre Oliva  <oliva@adacore.com>
23147
23148         * targhooks.cc (default_zero_call_used_regs): Attempt to group
23149         regs that the target refuses to use in their natural modes.
23150         (zcur_select_mode_rtx): New.
23151         * regs.h (struct target_regs): Add x_hard_regno_max_nregs.
23152         (hard_regno_max_nregs): Define.
23153         * reginfo.cc (init_reg_modes_target): Set hard_regno_max_nregs.
23154
23155 2022-04-04  Alex Coplan  <alex.coplan@arm.com>
23156
23157         * doc/match-and-simplify.texi: Fix typos.
23158
23159 2022-04-04  Jakub Jelinek  <jakub@redhat.com>
23160
23161         PR target/105144
23162         * config/aarch64/t-aarch64 (s-aarch64-tune-md): Do move-if-change
23163         only if configured with --enable-maintainer-mode, otherwise compare
23164         tmp-aarch64-tune.md with $(srcdir)/config/aarch64/aarch64-tune.md and
23165         if they differ, emit a message and fail.
23166
23167 2022-04-04  Jakub Jelinek  <jakub@redhat.com>
23168
23169         PR target/105144
23170         * config/aarch64/t-aarch64 (s-mddeps): Depend on s-aarch64-tune-md.
23171         * config/aarch64/aarch64-tune.md: Regenerated.
23172
23173 2022-04-04  Richard Biener  <rguenther@suse.de>
23174
23175         PR tree-optimization/105132
23176         * tree-vect-stmts.cc (vectorizable_operation): Check that
23177         the input vectors have the same number of elements.
23178
23179 2022-04-04  Richard Biener  <rguenther@suse.de>
23180
23181         PR middle-end/105140
23182         * fold-const.cc (fold_convertible_p): Allow a TYPE_P arg.
23183
23184 2022-04-03  Jeff Law  <jeffreyalaw@gmail.com>
23185
23186         PR target/104987
23187         * config/iq2000/iq2000.md (bbi): New attribute,  default to no.
23188         (delay slot descripts): Use different delay slot description when
23189         the insn as the "bbi" attribute.
23190         (bbi, bbin patterns): Set the bbi attribute to yes.
23191
23192 2022-04-03  Jakub Jelinek  <jakub@redhat.com>
23193
23194         PR target/105123
23195         * config/i386/i386-expand.cc (ix86_expand_vector_init_general): Avoid
23196         using word as target for expand_simple_binop when doing ASHIFT and
23197         IOR.
23198
23199 2022-04-02  Xi Ruoyao  <xry111@mengyan1223.wang>
23200
23201         * config/mips/mips.cc (mips_function_arg): Check if DECL_SIZE is
23202         NULL before dereferencing it.
23203
23204 2022-04-01  Qing Zhao  <qing.zhao@oracle.com>
23205
23206         * config/i386/i386.cc (zero_all_st_registers): Return the value of
23207         num_of_st.
23208         (ix86_zero_call_used_regs): Update zeroed_hardregs set according to
23209         the return value of zero_all_st_registers.
23210         * doc/tm.texi: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
23211         * function.cc (gen_call_used_regs_seq): Add an assertion.
23212         * target.def: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
23213
23214 2022-04-01  Xi Ruoyao  <xry111@mengyan1223.wang>
23215
23216         PR target/102024
23217         * config/mips/mips.cc (mips_function_arg): Ignore zero-width
23218         fields, and inform if it causes a psABI change.
23219
23220 2022-04-01  Xi Ruoyao  <xry111@mengyan1223.wang>
23221
23222         PR target/102024
23223         * config/mips/mips.cc (mips_fpr_return_fields): Detect C++
23224         zero-width bit-fields and set up an indicator.
23225         (mips_return_in_msb): Adapt for mips_fpr_return_fields change.
23226         (mips_function_value_1): Diagnose when the presense of a C++
23227         zero-width bit-field changes function returning in GCC 12.
23228
23229 2022-04-01  Jakub Jelinek  <jakub@redhat.com>
23230
23231         PR tree-optimization/104645
23232         * tree-ssa-phiopt.cc (value_replacement): If assign has
23233         CONVERT_EXPR_CODE_P rhs_code, treat it like a preparation
23234         statement with constant evaluation.
23235
23236 2022-04-01  YunQiang Su  <yunqiang.su@cipunited.com>
23237
23238         * config/mips/mips.cc (mips_expand_prologue):
23239         IPL is 8bit for MCU ASE.
23240
23241 2022-03-31  Bill Schmidt  <wschmidt@linux.ibm.com>
23242
23243         PR target/104004
23244         * config/rs6000/rs6000-builtins.def (MFFSL): Mark nosoft.
23245         (MTFSB0): Likewise.
23246         (MTFSB1): Likewise.
23247         (SET_FPSCR_RN): Likewise.
23248         (SET_FPSCR_DRN): Mark nosoft and no32bit.
23249
23250 2022-03-31  Thomas Schwinge  <thomas@codesourcery.com>
23251
23252         * doc/options.texi (Option file format): Clarifications around
23253         option definition records' help texts.
23254
23255 2022-03-31  Thomas Schwinge  <thomas@codesourcery.com>
23256
23257         * optc-gen.awk <END>: Fix "Multiple different help strings" error
23258         diagnostic.
23259
23260 2022-03-31  Andre Vieira  <andre.simoesdiasvieira@arm.com>
23261
23262         * config/aarch64/aarch64.cc (aarch64_vector_costs): Define
23263         determine_suggested_unroll_factor and m_has_avg.
23264         (determine_suggested_unroll_factor): New function.
23265         (aarch64_vector_costs::add_stmt_cost): Check for a qualifying pattern
23266         to set m_nosve_pattern.
23267         (aarch64_vector_costs::finish_costs): Use
23268         determine_suggested_unroll_factor.
23269         * config/aarch64/aarch64.opt (aarch64-vect-unroll-limit): New.
23270         * doc/invoke.texi: (aarch64-vect-unroll-limit): Document new option.
23271
23272 2022-03-31  Martin Jambor  <mjambor@suse.cz>
23273
23274         PR ipa/103083
23275         * ipa-prop.h (ipa_ancestor_jf_data): New flag keep_null;
23276         (ipa_get_jf_ancestor_keep_null): New function.
23277         * ipa-prop.cc (ipa_set_ancestor_jf): Initialize keep_null field of the
23278         ancestor function.
23279         (compute_complex_assign_jump_func): Pass false to keep_null
23280         parameter of ipa_set_ancestor_jf.
23281         (compute_complex_ancestor_jump_func): Pass true to keep_null
23282         parameter of ipa_set_ancestor_jf.
23283         (update_jump_functions_after_inlining): Carry over keep_null from the
23284         original ancestor jump-function or merge them.
23285         (ipa_write_jump_function): Stream keep_null flag.
23286         (ipa_read_jump_function): Likewise.
23287         (ipa_print_node_jump_functions_for_edge): Print the new flag.
23288         * ipa-cp.cc (class ipcp_bits_lattice): Make various getters const.  New
23289         member function known_nonzero_p.
23290         (ipcp_bits_lattice::known_nonzero_p): New.
23291         (ipcp_bits_lattice::meet_with_1): New parameter drop_all_ones,
23292         observe it.
23293         (ipcp_bits_lattice::meet_with): Likewise.
23294         (propagate_bits_across_jump_function): Simplify.  Pass true in
23295         drop_all_ones when it is necessary.
23296         (propagate_aggs_across_jump_function): Take care of keep_null
23297         flag.
23298         (ipa_get_jf_ancestor_result): Propagate NULL accross keep_null
23299         jump functions.
23300
23301 2022-03-31  Martin Jambor  <mjambor@suse.cz>
23302
23303         PR ipa/102513
23304         * ipa-cp.cc (decide_whether_version_node): Skip scalar values
23305         which do not fit the known value_range.
23306
23307 2022-03-31  Martin Jambor  <mjambor@suse.cz>
23308
23309         PR ipa/103171
23310         * ipa-prop.cc (propagate_controlled_uses): Add a LOAD reference
23311         always when an ADDR_EXPR constant is known to reach a load because
23312         of inlining, not just when removing an ADDR reference.
23313
23314 2022-03-31  Richard Biener  <rguenther@suse.de>
23315
23316         PR tree-optimization/105109
23317         * tree-ssa.cc (execute_update_addresses_taken): Suppress
23318         diagnostics on the load of the other complex component.
23319
23320 2022-03-31  Tom de Vries  <tdevries@suse.de>
23321
23322         * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
23323
23324 2022-03-31  Richard Biener  <rguenther@suse.de>
23325
23326         PR rtl-optimization/105091
23327         * gimple-expr.cc (mark_addressable): Handle TARGET_MEM_REF
23328         bases.
23329
23330 2022-03-31  Richard Biener  <rguenther@suse.de>
23331
23332         Revert:
23333         2021-09-13  Richard Earnshaw  <rearnsha@arm.com>
23334
23335         PR target/102125
23336         * gimple-fold.c (gimple_fold_builtin_memory_op): Allow folding
23337         memcpy if the size is not more than MOVE_MAX * MOVE_RATIO.
23338
23339 2022-03-31  Sebastian Huber  <sebastian.huber@embedded-brains.de>
23340
23341         * gcov-io.cc (gcov_read_string): Reword documentation comment.
23342
23343 2022-03-30  Bill Schmidt  <wschmidt@linux.ibm.com>
23344
23345         * config/rs6000/rs6000-builtins.def (NEG_V16QI): Move to [altivec]
23346         stanza.
23347         (NEG_V4SF): Likewise.
23348         (NEG_V4SI): Likewise.
23349         (NEG_V8HI): Likewise.
23350         (NEG_V2DF): Move to [vsx] stanza.
23351         (NEG_V2DI): Likewise.
23352
23353 2022-03-30  Vladimir N. Makarov  <vmakarov@redhat.com>
23354
23355         PR middle-end/105032
23356         * lra-assigns.cc (find_reload_regno_insns): Modify loop condition.
23357
23358 2022-03-30  Tom de Vries  <tdevries@suse.de>
23359             Tobias Burnus  <tobias@codesourcery.com>
23360
23361         * doc/invoke.texi (march): Document __PTX_SM__.
23362          (mptx): Document __PTX_ISA_VERSION_MAJOR__ and
23363          __PTX_ISA_VERSION_MINOR__.
23364
23365 2022-03-30  Jakub Jelinek  <jakub@redhat.com>
23366
23367         PR sanitizer/105093
23368         * ubsan.cc (instrument_object_size): If t is equal to inner and
23369         is a decl other than global var, punt.  When emitting call to
23370         UBSAN_OBJECT_SIZE ifn, make sure base is addressable.
23371
23372 2022-03-30  Jakub Jelinek  <jakub@redhat.com>
23373
23374         PR tree-optimization/105094
23375         * gimple-ssa-store-merging.cc (mem_valid_for_store_merging): Punt if
23376         bitsize <= 0 rather than just == 0.
23377
23378 2022-03-30  Tom de Vries  <tdevries@suse.de>
23379
23380         * doc/invoke.texi (misa, mptx): Update.
23381         (march, march-map): Add.
23382
23383 2022-03-30  Thomas Schwinge  <thomas@codesourcery.com>
23384
23385         * opt-functions.awk (n_args): New function.
23386         (lang_enabled_by): Merge function into...
23387         * optc-gen.awk <END>: ... sole user here.
23388         Improve diagnostics.
23389
23390 2022-03-29  Marek Polacek  <polacek@redhat.com>
23391             Jakub Jelinek  <jakub@redhat.com>
23392
23393         PR middle-end/103597
23394         * gimplify.cc (collect_fallthrough_labels): Don't push UNUSED_LABEL_Ps
23395         into labels.  Maybe set prev to the statement preceding UNUSED_LABEL_P.
23396         (gimplify_cond_expr): Set UNUSED_LABEL_P.
23397         * tree.h (UNUSED_LABEL_P): New.
23398
23399 2022-03-29   Michael Meissner  <meissner@linux.ibm.com>
23400
23401         * config/rs6000/vsx.md (vsx_extract_<mode>): Allow destination to
23402         be any VSX register.
23403
23404 2022-03-29  Richard Earnshaw  <rearnsha@arm.com>
23405
23406         PR target/102024
23407         * config/aarch64/aarch64.cc (aapcs_vfp_sub_candidate): Handle
23408         zero-sized bit-fields.  Detect cases where a warning may be needed.
23409         (aarch64_vfp_is_call_or_return_candidate): Emit a note if a
23410         zero-sized bit-field has caused parameter passing to change.
23411
23412 2022-03-29  Richard Earnshaw  <rearnsha@arm.com>
23413
23414         PR target/102024
23415         * config/arm/arm.cc (aapcs_vfp_sub_candidate): Handle zero-sized
23416         bit-fields.  Detect cases where a warning may be needed.
23417         (aapcs_vfp_is_call_or_return_candidate): Emit a note if
23418         a zero-sized bit-field has caused parameter passing to change.
23419
23420 2022-03-29  Richard Earnshaw  <rearnsha@arm.com>
23421
23422         PR target/96882
23423         * config/arm/arm.cc (arm_get_pcs_model): Disable selection of
23424         ARM_PCS_AAPCS_LOCAL.
23425
23426 2022-03-29  Tom de Vries  <tdevries@suse.de>
23427
23428         PR target/104857
23429         * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Emit
23430         __PTX_ISA_VERSION_MAJOR__ and __PTX_ISA_VERSION_MINOR__.
23431         * config/nvptx/nvptx.cc (ptx_version_to_number): New function.
23432         * config/nvptx/nvptx-protos.h (ptx_version_to_number): Declare.
23433
23434 2022-03-29  Tom de Vries  <tdevries@suse.de>
23435
23436         * config/nvptx/nvptx.opt (m64): Update help text to reflect that it
23437         is ignored.
23438
23439 2022-03-29  Tom de Vries  <tdevries@suse.de>
23440
23441         PR target/104714
23442         * config/nvptx/nvptx.opt (march-map=*): Add aliases.
23443
23444 2022-03-29  Jan Hubicka  <hubicka@ucw.cz>
23445
23446         * config/i386/i386-builtins.cc (ix86_vectorize_builtin_gather): Test
23447         TARGET_USE_GATHER_2PARTS and TARGET_USE_GATHER_4PARTS.
23448         * config/i386/i386.h (TARGET_USE_GATHER_2PARTS): New macro.
23449         (TARGET_USE_GATHER_4PARTS): New macro.
23450         * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): New tune
23451         (X86_TUNE_USE_GATHER_4PARTS): New tune
23452
23453 2022-03-29  Tom de Vries  <tdevries@suse.de>
23454
23455         * config/nvptx/nvptx.opt (march): Add alias of misa.
23456
23457 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
23458             Lulu Cheng  <chenglulu@loongson.cn>
23459
23460         * doc/install.texi: Add LoongArch options section.
23461         * doc/invoke.texi: Add LoongArch options section.
23462         * doc/md.texi: Add LoongArch options section.
23463
23464 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
23465             Lulu Cheng  <chenglulu@loongson.cn>
23466
23467         * config/loongarch/loongarch-c.cc
23468
23469 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
23470             Lulu Cheng  <chenglulu@loongson.cn>
23471
23472         * config/loongarch/larchintrin.h: New file.
23473         * config/loongarch/loongarch-builtins.cc: New file.
23474
23475 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
23476             Lulu Cheng  <chenglulu@loongson.cn>
23477
23478         * config/host-linux.cc: Add LoongArch support.
23479         * config/loongarch/loongarch-protos.h: New file.
23480         * config/loongarch/loongarch-tune.h: Likewise.
23481         * config/loongarch/loongarch.cc: Likewise.
23482         * config/loongarch/loongarch.h: Likewise.
23483
23484 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
23485             Lulu Cheng  <chenglulu@loongson.cn>
23486
23487         * config/loongarch/constraints.md: New file.
23488         * config/loongarch/generic.md: New file.
23489         * config/loongarch/la464.md: New file.
23490         * config/loongarch/loongarch-ftypes.def: New file.
23491         * config/loongarch/loongarch-modes.def: New file.
23492         * config/loongarch/loongarch.md: New file.
23493         * config/loongarch/predicates.md: New file.
23494         * config/loongarch/sync.md: New file.
23495
23496 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
23497             Lulu Cheng  <chenglulu@loongson.cn>
23498
23499         * configure: Regenerate file.
23500
23501 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
23502             Lulu Cheng  <chenglulu@loongson.cn>
23503
23504         * common/config/loongarch/loongarch-common.cc: New file.
23505         * config/loongarch/genopts/genstr.sh: New file.
23506         * config/loongarch/genopts/loongarch-strings: New file.
23507         * config/loongarch/genopts/loongarch.opt.in: New file.
23508         * config/loongarch/loongarch-str.h: New file.
23509         * config/loongarch/gnu-user.h: New file.
23510         * config/loongarch/linux.h: New file.
23511         * config/loongarch/loongarch-cpu.cc: New file.
23512         * config/loongarch/loongarch-cpu.h: New file.
23513         * config/loongarch/loongarch-def.c: New file.
23514         * config/loongarch/loongarch-def.h: New file.
23515         * config/loongarch/loongarch-driver.cc: New file.
23516         * config/loongarch/loongarch-driver.h: New file.
23517         * config/loongarch/loongarch-opts.cc: New file.
23518         * config/loongarch/loongarch-opts.h: New file.
23519         * config/loongarch/loongarch.opt: New file.
23520         * config/loongarch/t-linux: New file.
23521         * config/loongarch/t-loongarch: New file.
23522         * config.gcc: Add LoongArch support.
23523         * configure.ac: Add LoongArch support.
23524
23525 2022-03-29  Thomas Schwinge  <thomas@codesourcery.com>
23526
23527         * opt-functions.awk (lang_enabled_by): Fix 'enabledby_negargs'
23528         typo.
23529
23530 2022-03-29  Richard Biener  <rguenther@suse.de>
23531
23532         PR tree-optimization/105080
23533         * tree-ssa-strlen.cc (printf_strlen_execute): Always init
23534         loops and SCEV.
23535
23536 2022-03-28  Indu Bhagat  <indu.bhagat@oracle.com>
23537
23538         * ctfout.cc (ctf_preprocess): Use ctfc_get_num_ctf_vars instead.
23539         (output_ctf_vars): Likewise.
23540
23541 2022-03-28  Jason Merrill  <jason@redhat.com>
23542
23543         PR c++/59426
23544         * doc/extend.texi: Refer to __is_trivial instead of __is_pod.
23545
23546 2022-03-28  H.J. Lu  <hjl.tools@gmail.com>
23547
23548         PR target/105068
23549         * config/i386/sse.md (*ssse3_pshufbv8qi3): Also replace "Yv" with
23550         "Yw" in clobber.
23551
23552 2022-03-28  Tom de Vries  <tdevries@suse.de>
23553
23554         PR target/104818
23555         * config/nvptx/gen-opt.sh (ptx_isa): Improve help text.
23556         * config/nvptx/nvptx-gen.opt: Regenerate.
23557         * config/nvptx/nvptx.opt (misa, mptx, ptx_version): Improve help text.
23558         * config/nvptx/t-nvptx (s-nvptx-gen-opt): Add missing dependency on
23559         gen-opt.sh.
23560
23561 2022-03-28  David Malcolm  <dmalcolm@redhat.com>
23562
23563         PR analyzer/104308
23564         * gimple-fold.cc (gimple_fold_builtin_memory_op): When optimizing
23565         to loads then stores, set the location of the new load stmt.
23566
23567 2022-03-28  Richard Biener  <rguenther@suse.de>
23568
23569         PR tree-optimization/105070
23570         * tree-switch-conversion.h
23571         (bit_test_cluster::hoist_edge_and_branch_if_true): Add location
23572         argument.
23573         * tree-switch-conversion.cc
23574         (bit_test_cluster::hoist_edge_and_branch_if_true): Annotate
23575         cond with location.
23576         (bit_test_cluster::emit): Annotate all generated expressions
23577         with location.
23578
23579 2022-03-28  Andre Vieira  <andre.simoesdiasvieira@arm.com>
23580
23581         * config/aarch64/aarch64-cores.def: Update Neoverse N2 core entry.
23582
23583 2022-03-28  liuhongt  <hongtao.liu@intel.com>
23584
23585         PR target/105066
23586         * config/i386/sse.md (vec_set<mode>_0): Change attr "isa" of
23587         alternative 4 from sse4_noavx to noavx.
23588
23589 2022-03-28  Jakub Jelinek  <jakub@redhat.com>
23590
23591         PR tree-optimization/105056
23592         * tree-predcom.cc (component::component): Initialize also comp_step.
23593
23594 2022-03-27  H.J. Lu  <hjl.tools@gmail.com>
23595
23596         PR target/105068
23597         * config/i386/sse.md (*ssse3_pshufbv8qi3): Replace "Yv" with
23598         "Yw".
23599
23600 2022-03-26  Roger Sayle  <roger@nextmovesoftware.com>
23601
23602         PR middle-end/104885
23603         * calls.cc (mark_stack_region_used): Check that the region
23604         is within the allocated size of stack_usage_map.
23605
23606 2022-03-26  Jakub Jelinek  <jakub@redhat.com>
23607
23608         PR rtl-optimization/103775
23609         * recog.cc (check_invalid_inc_dec): New function.
23610         (insn_invalid_p): Return 1 if REG_INC operand overlaps
23611         any stored REGs.
23612
23613 2022-03-26  H.J. Lu  <hjl.tools@gmail.com>
23614
23615         PR target/105058
23616         * config/i386/sse.md (loadiwkey): Replace "v" with "x".
23617         (aes<aesklvariant>u8): Likewise.
23618
23619 2022-03-26  H.J. Lu  <hjl.tools@gmail.com>
23620
23621         PR target/105052
23622         * config/i386/sse.md (ssse3_ph<plusminus_mnemonic>wv4hi3):
23623         Replace "Yv" with "x".
23624         (ssse3_ph<plusminus_mnemonic>dv2si3): Likewise.
23625         (ssse3_psign<mode>3): Likewise.
23626
23627 2022-03-26  Hans-Peter Nilsson  <hp@axis.com>
23628
23629         * reload.cc (find_reloads): Align comment with code where
23630         considering the intersection of register classes then tweaking the
23631         regclass for the current alternative or rejecting it.
23632
23633 2022-03-25  Christophe Lyon  <christohe.lyon@arm.com>
23634
23635         PR target/104882
23636         Revert
23637         2021-06-11  Christophe Lyon  <christophe.lyon@linaro.org>
23638
23639         * config/arm/mve.md (mve_vec_unpack<US>_lo_<mode>): Delete.
23640         (mve_vec_unpack<US>_hi_<mode>): Delete.
23641         (@mve_vec_pack_trunc_lo_<mode>): Delete.
23642         (mve_vmovntq_<supf><mode>): Remove '@' prefix.
23643         * config/arm/neon.md (vec_unpack<US>_hi_<mode>): Move back
23644         from vec-common.md.
23645         (vec_unpack<US>_lo_<mode>): Likewise.
23646         (vec_pack_trunc_<mode>): Rename from
23647         neon_quad_vec_pack_trunc_<mode>.
23648         * config/arm/vec-common.md (vec_unpack<US>_hi_<mode>): Delete.
23649         (vec_unpack<US>_lo_<mode>): Delete.
23650         (vec_pack_trunc_<mode>): Delete.
23651
23652 2022-03-25  Vladimir N. Makarov  <vmakarov@redhat.com>
23653
23654         PR middle-end/104971
23655         * lra-lives.cc (process_bb_lives): Check hard_regs_live for hard
23656         regs to clear remove_p flag.
23657
23658 2022-03-25  Richard Biener  <rguenther@suse.de>
23659
23660         PR tree-optimization/105053
23661         * tree-vect-loop.cc (vect_create_epilog_for_reduction): Pick
23662         the correct live-out stmt for a reduction chain.
23663
23664 2022-03-25  Richard Biener  <rguenther@suse.de>
23665
23666         PR middle-end/105049
23667         * tree.cc (uniform_vector_p): Recurse for VECTOR_CST or
23668         CONSTRUCTOR first elements.
23669
23670 2022-03-25  Tobias Burnus  <tobias@codesourcery.com>
23671
23672         PR analyzer/103533
23673         * doc/invoke.texi (Static Analyzer Options): Move
23674         @ignore block after @gccoptlist's '}' for 'make pdf'.
23675
23676 2022-03-25  David Malcolm  <dmalcolm@redhat.com>
23677
23678         PR analyzer/104954
23679         * doc/invoke.texi (Static Analyzer Options): Add
23680         -fdump-analyzer-untracked.
23681
23682 2022-03-25  Avinash Sonawane  <rootkea@gmail.com>
23683
23684         PR analyzer/103533
23685         * doc/invoke.texi: Document that enabling taint analyzer
23686         checker disables some warnings from `-fanalyzer`.
23687
23688 2022-03-24  Alexandre Oliva  <oliva@adacore.com>
23689
23690         PR debug/104564
23691         * gimple-harden-conditionals.cc (detach_value): Keep temps
23692         anonymous.
23693
23694 2022-03-24  Alexandre Oliva  <oliva@adacore.com>
23695
23696         PR middle-end/104975
23697         * gimple-harden-conditionals.cc
23698         (pass_harden_compares::execute): Force split in case of
23699         multiple edges.
23700
23701 2022-03-24  Jakub Jelinek  <jakub@redhat.com>
23702
23703         PR c++/105035
23704         * fold-const.cc (operand_equal_p) <case COMPONENT_REF>: If either
23705         field0 or field1 is not a FIELD_DECL, return false.
23706
23707 2022-03-24  Richard Biener  <rguenther@suse.de>
23708
23709         * tree-predcom.cc (chain::chain): Add CTOR.
23710         (component::component): Likewise.
23711         (pcom_worker::release_chain): Use delete.
23712         (release_components): Likewise.
23713         (pcom_worker::filter_suitable_components): Likewise.
23714         (pcom_worker::split_data_refs_to_components): Use new.
23715         (make_invariant_chain): Likewise.
23716         (make_rooted_chain): Likewise.
23717         (pcom_worker::combine_chains): Likewise.
23718         * tree-vect-loop.cc (vect_create_epilog_for_reduction):
23719         Make sure to release previously constructed scalar_results.
23720         * tree-vect-stmts.cc (vectorizable_load): Use auto_vec
23721         for vec_offsets.
23722         * vr-values.cc (simplify_using_ranges::~simplify_using_ranges):
23723         Release m_flag_set_edges.
23724
23725 2022-03-24  Siddhesh Poyarekar  <siddhesh@gotplt.org>
23726
23727         PR tree-optimization/104970
23728         * tree-object-size.cc (parm_object_size): Restrict size
23729         computation scenarios to explicit access attributes.
23730
23731 2022-03-24  Kewen Lin  <linkw@linux.ibm.com>
23732
23733         PR target/104967
23734         * config/rs6000/rs6000-c.cc (find_instance): Skip instances with null
23735         function types.
23736
23737 2022-03-23  Richard Biener  <rguenther@suse.de>
23738
23739         PR target/102125
23740         * gimple-fold.cc (gimple_fold_builtin_memory_op): Allow the
23741         use of movmisalign when either the source or destination
23742         decl is properly aligned.
23743
23744 2022-03-23  Richard Biener  <rguenther@suse.de>
23745
23746         PR rtl-optimization/105028
23747         * ira-color.cc (form_threads_from_copies): Remove unnecessary
23748         copying of the sorted_copies tail.
23749
23750 2022-03-23  Martin Liska  <mliska@suse.cz>
23751
23752         * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
23753         Use %qs in format.
23754         * config/rs6000/rs6000.cc (rs6000_option_override_internal):
23755         Reword the error message.
23756
23757 2022-03-23  liuhongt  <hongtao.liu@intel.com>
23758
23759         PR target/104976
23760         * config/i386/sse.md (ssePSmodelower): New.
23761         (*avx_cmp<mode>3_ltint_not): Force_reg operand before
23762         lowpart_subreg to avoid NULL_RTX.
23763         (<avx512>_fmaddc_<mode>_mask1<round_expand_name>,
23764         <avx512>_fcmaddc_<mode>_mask1<round_expand_name>,
23765         fma_<mode>_fmaddc_bcst, fma_<mode>_fcmaddc_bcst,
23766         <avx512>_<complexopname>_<mode>_mask<round_name>,
23767         avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name>,
23768         avx512fp16_fcmaddcsh_v8hf_mask3<round_expand_name>,
23769         avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
23770         avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
23771         float<floatunssuffix><mode>v4hf2,
23772         float<floatunssuffix>v2div2hf2,
23773         fix<fixunssuffix>_truncv4hf<mode>2,
23774         fix<fixunssuffix>_truncv2hfv2di2, extendv4hf<mode>2,
23775         extendv2hfv2df2,
23776         trunc<mode>v4hf2,truncv2dfv2hf2,
23777         *avx512bw_permvar_truncv16siv16hi_1,
23778         *avx512bw_permvar_truncv16siv16hi_1_hf,
23779         *avx512f_permvar_truncv8siv8hi_1,
23780         *avx512f_permvar_truncv8siv8hi_1_hf,
23781         *avx512f_vpermvar_truncv8div8si_1,
23782         *avx512f_permvar_truncv32hiv32qi_1,
23783         *avx512f_permvar_truncv16hiv16qi_1,
23784         *avx512f_permvar_truncv4div4si_1,
23785         *avx512f_pshufb_truncv8hiv8qi_1,
23786         *avx512f_pshufb_truncv4siv4hi_1,
23787         *avx512f_pshufd_truncv2div2si_1,
23788         sdot_prod<mode>, avx2_pblend<ssemodesuffix>_1,
23789         ashrv2di3,ashrv2di3,usdot_prod<mode>): Ditto.
23790
23791 2022-03-22  Tom de Vries  <tdevries@suse.de>
23792
23793         PR target/104925
23794         * config/nvptx/nvptx.md (define_insn "nvptx_uniform_warp_check"):
23795         Use % as register prefix.
23796
23797 2022-03-22  Tom de Vries  <tdevries@suse.de>
23798
23799         * config/nvptx/nvptx.cc (nvptx_scalar_mode_supported_p)
23800         (nvptx_libgcc_floating_mode_supported_p): Only enable HFmode for
23801         mexperimental.
23802
23803 2022-03-22  Tom de Vries  <tdevries@suse.de>
23804
23805         * config/nvptx/nvptx.opt (mexperimental): New option.
23806
23807 2022-03-22  Tom de Vries  <tdevries@suse.de>
23808
23809         PR target/104957
23810         * config/nvptx/nvptx-protos.h (nvptx_asm_output_def_from_decls): Declare.
23811         * config/nvptx/nvptx.cc (write_fn_proto_1): Don't add function marker
23812         for alias.
23813         (SET_ASM_OP, NVPTX_ASM_OUTPUT_DEF): New macro def.
23814         (nvptx_asm_output_def_from_decls): New function.
23815         * config/nvptx/nvptx.h (ASM_OUTPUT_DEF): New macro def, define to
23816         gcc_unreachable ().
23817         (ASM_OUTPUT_DEF_FROM_DECLS): New macro def, define to
23818         nvptx_asm_output_def_from_decls.
23819         * config/nvptx/nvptx.opt (malias): New opt.
23820
23821 2022-03-22  Tom de Vries  <tdevries@suse.de>
23822
23823         PR target/104916
23824         PR target/104783
23825         * config/nvptx/nvptx.md (define_expand "omp_simt_exit"): Emit warp
23826         sync (or uniform warp check for mptx < 6.0).
23827
23828 2022-03-22  Richard Biener  <rguenther@suse.de>
23829
23830         PR tree-optimization/105012
23831         * tree-if-conv.cc (ifcvt_local_dce): Only call
23832         dse_classify_store when we have a VDEF.
23833
23834 2022-03-22  Martin Liska  <mliska@suse.cz>
23835
23836         PR target/104902
23837         * config/nvptx/nvptx.cc (handle_ptx_version_option):
23838         Fix option wrapping in an error message.
23839
23840 2022-03-22  Martin Liska  <mliska@suse.cz>
23841
23842         PR target/104903
23843         * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
23844         Wrap const keyword.
23845
23846 2022-03-22  Martin Liska  <mliska@suse.cz>
23847
23848         * config/v850/v850-c.cc (pop_data_area): Fix typo in pragma
23849         name.
23850
23851 2022-03-22  Martin Liska  <mliska@suse.cz>
23852
23853         PR target/104898
23854         * config/rs6000/rs6000.cc (rs6000_option_override_internal):
23855         Use %qs instead of (%qs).
23856
23857 2022-03-22  Martin Liska  <mliska@suse.cz>
23858
23859         PR target/104898
23860         * config/i386/i386-options.cc (ix86_option_override_internal):
23861         Use '%qs' instead of '(%qs)'.
23862
23863 2022-03-22  Martin Liska  <mliska@suse.cz>
23864
23865         PR target/104898
23866         * config/aarch64/aarch64.cc (aarch64_handle_attr_arch):
23867         Use 'qs' and remove usage '(%qs)'.
23868         (aarch64_handle_attr_cpu): Likewise.
23869         (aarch64_handle_attr_tune): Likewise.
23870         (aarch64_handle_attr_isa_flags): Likewise.
23871
23872 2022-03-22  Tamar Christina  <tamar.christina@arm.com>
23873             Andre Vieira  <andre.simoesdiasvieira@arm.com>
23874
23875         * config/aarch64/aarch64.cc (neoversev1_regmove_cost): New tuning
23876         struct.
23877         (neoversev1_tunings): Use neoversev1_regmove_cost and update store_int
23878         cost.
23879         (neoverse512tvb_tunings): Likewise.
23880
23881 2022-03-22  Tamar Christina  <tamar.christina@arm.com>
23882             Andre Vieira  <andre.simoesdiasvieira@arm.com>
23883
23884         * config/aarch64/aarch64.cc (demeter_addrcost_table,
23885         demeter_regmove_cost, demeter_advsimd_vector_cost,
23886         demeter_sve_vector_cost, demeter_scalar_issue_info,
23887         demeter_advsimd_issue_info, demeter_sve_issue_info,
23888         demeter_vec_issue_info, demeter_vector_cost,
23889         demeter_tunings): New tuning structs.
23890         (aarch64_ve_op_count::rename_cycles_per_iter): Enable for demeter
23891         tuning.
23892         * config/aarch64/aarch64-cores.def: Add entry for demeter.
23893         * config/aarch64/aarch64-tune.md (tune): Add demeter to list.
23894
23895 2022-03-22  Tamar Christina  <tamar.christina@arm.com>
23896             Andre Vieira  <andre.simoesdiasvieira@arm.com>
23897
23898         * config/aarch64/aarch64-protos.h (struct cpu_memmov_cost): New struct.
23899         (struct tune_params): Change type of memmov_cost to use cpu_memmov_cost.
23900         * config/aarch64/aarch64.cc (aarch64_memory_move_cost): Update all
23901         tunings to use cpu_memmov_cost struct.
23902
23903 2022-03-22  Tamar Christina  <tamar.christina@arm.com>
23904             Andre Vieira  <andre.simoesdiasvieira@arm.com>
23905
23906         * config/aarch64/aarch64.cc (neoversen2_addrcost_table,
23907         neoversen2_regmove_cost, neoversen2_advsimd_vector_cost,
23908         neoversen2_sve_vector_cost, neoversen2_scalar_issue_info,
23909         neoversen2_advsimd_issue_info, neoversen2_sve_issue_info,
23910         neoversen2_vec_issue_info, neoversen2_tunings): New structs.
23911         (neoversen2_tunings): Use new structs and update tuning flags.
23912         (aarch64_vec_op_count::rename_cycles_per_iter): Enable for neoversen2
23913         tuning.
23914
23915 2022-03-22  Andre Vieira  <andre.simoesdiasvieira@arm.com>
23916
23917         * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH9): Add FP16 feature
23918         bit.
23919
23920 2022-03-22  liuhongt  <hongtao.liu@intel.com>
23921
23922         PR target/104982
23923         * config/i386/i386.md (*jcc_bt<mode>_mask): Extend the
23924         following splitter to reversed condition.
23925
23926 2022-03-22  Jakub Jelinek  <jakub@redhat.com>
23927
23928         PR rtl-optimization/104989
23929         * calls.cc (expand_call): Don't set ECF_NORETURN in flags after
23930         sorry for passing too large argument, instead set sibcall_failure
23931         for pass == 0, or a new normal_failure flag otherwise.  If
23932         normal_failure is set, don't assert all stack has been deallocated
23933         at the end and throw away the whole insn sequence.
23934
23935 2022-03-22  Qian Jianhua  <qianjh@cn.fujitsu.com>
23936
23937         * print-tree.cc: Change array length
23938
23939 2022-03-22  Hongyu Wang  <hongyu.wang@intel.com>
23940
23941         PR target/104978
23942         * config/i386/sse.md
23943         (avx512fp16_fmaddcsh_v8hf_mask1<round_expand_name):
23944         Use avx512f_movsf_mask instead of vmovaps or vblend, and
23945         force_reg before lowpart_subreg.
23946         (avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name): Likewise.
23947
23948 2022-03-21  H.J. Lu  <hjl.tools@gmail.com>
23949
23950         PR target/105000
23951         * common/config/i386/i386-common.cc
23952         (OPTION_MASK_ISA2_GENERAL_REGS_ONLY_UNSET): Replace
23953         OPTION_MASK_ISA2_AVX512F_UNSET with OPTION_MASK_ISA2_SSE_UNSET.
23954
23955 2022-03-21  H.J. Lu  <hjl.tools@gmail.com>
23956
23957         PR target/104998
23958         * common/config/i386/cpuinfo.h (get_available_features): Pass
23959         0x19 to __cpuid for bit_AESKLE.  Enable FEATURE_AESKLE only if
23960         bit_AESKLE is set.
23961
23962 2022-03-21  Richard Sandiford  <richard.sandiford@arm.com>
23963
23964         PR middle-end/104869
23965         * rtl-ssa/accesses.h (clobber_group::prev_clobber): Declare.
23966         (clobber_group::next_clobber): Likewise.
23967         (def_lookup::prev_def): Rename to...
23968         (def_lookup::last_def_of_prev_group): ...this.
23969         (def_lookup::next_def): Rename to...
23970         (def_lookup::first_def_of_next_group): ...this.
23971         (def_lookup::matching_or_prev_def): Rename to...
23972         (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
23973         (def_lookup::matching_or_next_def): Rename to...
23974         (def_lookup::matching_set_or_first_def_of_next_group): ...this.
23975         (def_lookup::prev_def): New function, taking the lookup insn as
23976         argument.
23977         (def_lookup::next_def): Likewise.
23978         * rtl-ssa/member-fns.inl (def_lookup::prev_def): Rename to...
23979         (def_lookup::last_def_of_prev_group): ...this.
23980         (def_lookup::next_def): Rename to...
23981         (def_lookup::first_def_of_next_group): ...this.
23982         (def_lookup::matching_or_prev_def): Rename to...
23983         (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
23984         (def_lookup::matching_or_next_def): Rename to...
23985         (def_lookup::matching_set_or_first_def_of_next_group): ...this.
23986         * rtl-ssa/movement.h (restrict_movement_for_dead_range): Update after
23987         above renaming.
23988         * rtl-ssa/accesses.cc (clobber_group::prev_clobber): New function.
23989         (clobber_group::next_clobber): Likewise.
23990         (def_lookup::prev_def): Likewise.
23991         (def_lookup::next_def): Likewise.
23992         (function_info::make_use_available): Pass the lookup insn to
23993         def_lookup::prev_def and def_lookup::next_def.
23994
23995 2022-03-21  Martin Liska  <mliska@suse.cz>
23996
23997         * doc/invoke.texi: Document min-pagesize parameter.
23998
23999 2022-03-21  Richard Biener  <rguenther@suse.de>
24000
24001         * tree-ssa-loop-niter.cc (estimate_numbers_of_iterations): Dump
24002         we are estimating niter of loop.
24003
24004 2022-03-21  Kito Cheng  <kito.cheng@sifive.com>
24005
24006         * common/config/riscv/riscv-common.cc (riscv_ext_flag_table):
24007         Update flag name and mask name.
24008         * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Define
24009         misc macro for vector extensions.
24010         * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): Rename to ...
24011         (MASK_VECTOR_ELEN_32): ... this.
24012         (MASK_VECTOR_EEW_64): Rename to ...
24013         (MASK_VECTOR_ELEN_64): ... this.
24014         (MASK_VECTOR_EEW_FP_32): Rename to ...
24015         (MASK_VECTOR_ELEN_FP_32): ... this.
24016         (MASK_VECTOR_EEW_FP_64): Rename to ...
24017         (MASK_VECTOR_ELEN_FP_64): ... this.
24018         (TARGET_VECTOR_ELEN_32): New.
24019         (TARGET_VECTOR_ELEN_64): Ditto.
24020         (TARGET_VECTOR_ELEN_FP_32): Ditto.
24021         (TARGET_VECTOR_ELEN_FP_64): Ditto.
24022         (TARGET_MIN_VLEN): Ditto.
24023         * config/riscv/riscv.opt (riscv_vector_eew_flags): Rename to ...
24024         (riscv_vector_elen_flags): ... this.
24025
24026 2022-03-21  Hongyu Wang  <hongyu.wang@intel.com>
24027
24028         PR target/104977
24029         * config/i386/sse.md
24030         (avx512fp16_fma<complexopname>sh_v8hf<mask_scalarcz_name><round_scalarcz_name>):
24031         Correct round operand for intel dialect.
24032
24033 2022-03-19  Arthur Cohen  <arthur.cohen@embecosm.com>
24034
24035         * diagnostic.cc (diagnostic_cc_tests): Rename to...
24036         (c_diagnostic_cc_tests): ...this.
24037         * opt-problem.cc (opt_problem_cc_tests): Rename to...
24038         (c_opt_problem_cc_tests): ...this.
24039         * selftest-run-tests.cc (selftest::run_tests): No longer run
24040         opt_problem_cc_tests or diagnostic_cc_tests.
24041         * selftest.h (diagnostic_cc_tests): Remove declaration.
24042         (opt_problem_cc_tests): Likewise.
24043
24044 2022-03-19  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>
24045
24046         PR jit/63854
24047         * hash-traits.h (struct typed_const_free_remove): New.
24048         (struct free_string_hash): New.
24049         * pass_manager.h: Use free_string_hash.
24050         * passes.cc (pass_manager::register_pass_name): Use free_string_hash.
24051         (pass_manager::~pass_manager): Delete allocated m_name_to_pass_map.
24052
24053 2022-03-19  Jakub Jelinek  <jakub@redhat.com>
24054
24055         PR middle-end/104971
24056         * config/i386/i386-expand.cc
24057         (ix86_expand_builtin) <case IX86_BUILTIN_READ_FLAGS>: If ignore,
24058         don't push/pop anything and just return const0_rtx.
24059
24060 2022-03-18  Vladimir N. Makarov  <vmakarov@redhat.com>
24061
24062         PR rtl-optimization/104961
24063         * lra-assigns.cc (find_reload_regno_insns): Process reload pseudo clobber.
24064
24065 2022-03-18  Jason Merrill  <jason@redhat.com>
24066
24067         * tree.h (IDENTIFIER_LENGTH): Add comment.
24068
24069 2022-03-18  Jakub Jelinek  <jakub@redhat.com>
24070
24071         PR middle-end/99578
24072         PR middle-end/100680
24073         PR tree-optimization/100834
24074         * params.opt (--param=min-pagesize=): New parameter.
24075         * pointer-query.cc
24076         (compute_objsize_r) <case ARRAY_REF>: Formatting fix.
24077         (compute_objsize_r) <case INTEGER_CST>: Use maximum object size instead
24078         of zero for pointer constants equal or larger than min-pagesize.
24079
24080 2022-03-18  Tom de Vries  <tdevries@suse.de>
24081
24082         * gimplify.cc (gimplify_omp_for): Set location using 'input_location'.
24083         Set gfor location only when dealing with a OMP_TASKLOOP.
24084
24085 2022-03-18  Tom de Vries  <tdevries@suse.de>
24086
24087         * gimplify.cc (gimplify_omp_for): Set taskloop location.
24088
24089 2022-03-18  Tom de Vries  <tdevries@suse.de>
24090
24091         PR target/104952
24092         * omp-low.cc (lower_rec_input_clauses): Make sure GOMP_SIMT_XCHG_BFLY
24093         is executed unconditionally.
24094
24095 2022-03-18  liuhongt  <hongtao.liu@intel.com>
24096
24097         PR target/104974
24098         * config/i386/i386.md (*movhi_internal): Set attr type from HI
24099         to HF for alternative 12 under TARGET_AVX512FP16.
24100
24101 2022-03-18  Cui,Lili  <lili.cui@intel.com>
24102
24103         PR target/104963
24104         * config/i386/i386.h (PTA_SAPPHIRERAPIDS): change it to base on ICX.
24105         * doc/invoke.texi: Update documents for Intel sapphirerapids.
24106
24107 2022-03-17  Roger Sayle  <roger@nextmovesoftware.com>
24108
24109         PR target/86722
24110         PR tree-optimization/90356
24111         * config/i386/i386.md (*movtf_internal): Don't guard
24112         standard_sse_constant_p clause by optimize_function_for_size_p.
24113         (*movdf_internal): Likewise.
24114         (*movsf_internal): Likewise.
24115
24116 2022-03-17  Andrew MacLeod  <amacleod@redhat.com>
24117
24118         PR tree-optimization/102943
24119         * gimple-range-cache.cc (ranger_cache::range_from_dom): Find range via
24120         dominators and apply intermediary outgoing edge ranges.
24121
24122 2022-03-17  Richard Biener  <rguenther@suse.de>
24123
24124         PR tree-optimization/104960
24125         * passes.def: Add pass parameter to pass_sink_code, mark
24126         last one to unsplit edges.
24127         * tree-ssa-sink.cc (pass_sink_code::set_pass_param): New.
24128         (pass_sink_code::execute): Always execute TODO_cleanup_cfg
24129         when we need to unsplit edges.
24130
24131 2022-03-17  Jakub Jelinek  <jakub@redhat.com>
24132
24133         PR middle-end/103984
24134         * gimplify.cc (gimplify_target_expr): Gimplify type sizes and
24135         TARGET_EXPR_INITIAL into a temporary sequence, then push clobbers
24136         and asan unpoisioning, then append the temporary sequence and
24137         finally the TARGET_EXPR_CLEANUP clobbers.
24138
24139 2022-03-16  Roger Sayle  <roger@nextmovesoftware.com>
24140
24141         * config/i386/sse.md: Delete corrupt character/typo.
24142
24143 2022-03-16  Roger Sayle  <roger@nextmovesoftware.com>
24144
24145         PR target/94680
24146         * config/i386/sse.md (sse2_movq128): New define_expand to
24147         preserve previous named instruction.
24148         (*sse2_movq128_<mode>): Renamed from sse2_movq128, and
24149         generalized to VI8F_128 (both V2DI and V2DF).
24150
24151 2022-03-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
24152
24153         PR tree-optimization/104941
24154         * tree-object-size.cc (size_for_offset): Make useless conversion
24155         check lighter and assign result of fold_convert to OFFSET.
24156
24157 2022-03-16  H.J. Lu  <hjl.tools@gmail.com>
24158
24159         PR target/104890
24160         * config/i386/x86gprintrin.h: Also check _SOFT_FLOAT before
24161         pushing target("general-regs-only").
24162
24163 2022-03-16  Kito Cheng  <kito.cheng@sifive.com>
24164
24165         * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
24166         Add version info for zk, zks and zkn.
24167
24168 2022-03-16  LiaoShihua  <shihua@iscas.ac.cn>
24169
24170         * common/config/riscv/riscv-common.cc
24171         (riscv_combine_info): New.
24172         (riscv_subset_list::handle_combine_ext): Combine back into zk to
24173         maintain the canonical order in isa strings.
24174         (riscv_subset_list::parse): Ditto.
24175         * config/riscv/riscv-subset.h (handle_combine_ext): New.
24176
24177 2022-03-16  Richard Biener  <rguenther@suse.de>
24178
24179         PR tree-optimization/102008
24180         * passes.def: Move the added code sinking pass before the
24181         preceeding phiopt pass.
24182
24183 2022-03-16  Patrick Palka  <ppalka@redhat.com>
24184
24185         PR c++/96780
24186         * doc/invoke.texi (C++ Dialect Options): Document
24187         -ffold-simple-inlines.
24188
24189 2022-03-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
24190
24191         PR tree-optimization/104942
24192         * tree-object-size.cc (alloc_object_size): Remove STRIP_NOPS.
24193
24194 2022-03-16  Jakub Jelinek  <jakub@redhat.com>
24195
24196         PR target/104910
24197         * config/aarch64/aarch64.cc (aarch64_load_symref_appropriately): Copy
24198         imm rtx.
24199
24200 2022-03-16  Roger Sayle  <roger@nextmovesoftware.com>
24201             Richard Biener  <rguenther@suse.de>
24202
24203         * gimple-match-head.cc (single_use): Implement inline using a
24204         single loop.
24205
24206 2022-03-16  Roger Sayle  <roger@nextmovesoftware.com>
24207
24208         * match.pd (X CMP X -> true): Test tree_expr_maybe_nan_p
24209         instead of HONOR_NANS.
24210         (X LTGT X -> false): Enable if X is not tree_expr_maybe_nan_p, as
24211         this can't trap/signal.
24212
24213 2022-03-16  liuhongt  <hongtao.liu@intel.com>
24214
24215         PR target/104946
24216         * config/i386/i386-builtin.def (BDESC): Add
24217         CODE_FOR_sse4_1_blendvpd for IX86_BUILTIN_BLENDVPD.
24218         * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
24219         __builtin_ia32_blendvpd w/o sse4.2
24220
24221 2022-03-15  Peter Bergner  <bergner@linux.ibm.com>
24222
24223         PR target/104923
24224         * config/rs6000/predicates.md (mma_disassemble_output_operand): Restrict
24225         acceptable MEM addresses.
24226
24227 2022-03-15  Jakub Jelinek  <jakub@redhat.com>
24228
24229         PR target/91229
24230         * config/riscv/riscv.cc (riscv_pass_aggregate_in_fpr_pair_p,
24231         riscv_pass_aggregate_in_fpr_and_gpr_p): Pass OPT_Wpsabi instead of 0
24232         to warning calls.
24233
24234 2022-03-15  Jakub Jelinek  <jakub@redhat.com>
24235
24236         PR target/104890
24237         * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Use no-mmx,no-sse
24238         instead of general-regs-only.
24239
24240 2022-03-15  Roger Sayle  <roger@nextmovesoftware.com>
24241             Marc Glisse  <marc.glisse@inria.fr>
24242             Richard Biener  <rguenther@suse.de>
24243
24244         PR tree-optimization/101895
24245         * match.pd (vec_same_elem_p): Handle CONSTRUCTOR_EXPR def.
24246         (plus (vec_perm (mult ...) ...) ...): New reordering simplification.
24247
24248 2022-03-15  Jakub Jelinek  <jakub@redhat.com>
24249
24250         PR rtl-optimization/104814
24251         * ifcvt.cc (find_if_case_1, find_if_case_2): Punt if test_bb doesn't
24252         end with onlyjump_p.  Assume BB_END (test_bb) is always non-NULL.
24253
24254 2022-03-15  Martin Sebor  <msebor@redhat.com>
24255
24256         PR middle-end/104436
24257         * gimple-ssa-warn-access.cc (pass_waccess::check_dangling_stores):
24258         Check for warning suppression.  Avoid by-value arguments transformed
24259         into by-transparent-reference.
24260
24261 2022-03-14  Roger Sayle  <roger@nextmovesoftware.com>
24262             Uroš Bizjak  <ubizjak@gmail.com>
24263
24264         * config/i386/i386.md (peephole2 xorl;movb -> movzbl): Disable
24265         transformation when *zero_extend<mode>si2 is not available.
24266
24267 2022-03-14  Xi Ruoyao  <xry111@mengyan1223.wang>
24268
24269         * config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Define.
24270         * config/mips/mips.cc (mips_option_override): Make
24271         -fsanitize=address imply -fasynchronous-unwind-tables.  This is
24272         needed by libasan for stack backtrace on MIPS.
24273         (mips_asan_shadow_offset): Return SUBTARGET_SHADOW_OFFSET.
24274
24275 2022-03-14  Jakub Jelinek  <jakub@redhat.com>
24276
24277         PR debug/104778
24278         * lra.cc (lra_substitute_pseudo): For debug_p mode, simplify
24279         SUBREG, ZERO_EXTEND, SIGN_EXTEND, FLOAT or UNSIGNED_FLOAT if recursive
24280         call simplified the first operand into VOIDmode constant.
24281
24282 2022-03-14  Jakub Jelinek  <jakub@redhat.com>
24283
24284         PR tree-optimization/102586
24285         * doc/extend.texi (__builtin_clear_padding): Clearify that for C++
24286         argument type should be pointer to trivially-copyable type unless it
24287         is address of a variable or parameter.
24288
24289 2022-03-14  Jakub Jelinek  <jakub@redhat.com>
24290
24291         PR target/99754
24292         * config/i386/emmintrin.h (_mm_loadu_si32): Put loaded value into
24293         first   rather than last element of the vector, use __m32_u to do
24294         a really unaligned load, use just 0 instead of (int)0.
24295         (_mm_loadu_si16): Put loaded value into first rather than last
24296         element of the vector, use __m16_u to do a really unaligned load,
24297         use just 0 instead of (short)0.
24298
24299 2022-03-14  Jakub Jelinek  <jakub@redhat.com>
24300
24301         PR other/104899
24302         * config/bfin/bfin.cc (bfin_handle_longcall_attribute): Fix a typo
24303         in diagnostic message - cannott -> cannot.  Use %< and %> around
24304         names of attribute.  Avoid too long line.
24305         * range-op.cc (operator_logical_and::op1_range): Fix up a typo
24306         in comment - cannott -> cannot.  Use 2 spaces after . instead of one.
24307
24308 2022-03-14  liuhongt  <hongtao.liu@intel.com>
24309
24310         PR target/104666
24311         * config/i386/i386-expand.cc
24312         (ix86_check_builtin_isa_match): New func.
24313         (ix86_expand_builtin): Move code to
24314         ix86_check_builtin_isa_match and call it.
24315         * config/i386/i386-protos.h
24316         (ix86_check_builtin_isa_match): Declare.
24317         * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
24318         builtin into gimple when isa mismatches.
24319
24320 2022-03-13  Tobias Burnus  <tobias@codesourcery.com>
24321
24322         * doc/invoke.texi: Fix typos.
24323         * doc/tm.texi.in: Remove duplicated word.
24324         * doc/tm.texi: Regenerate.
24325
24326 2022-03-12  Segher Boessenkool  <segher@kernel.crashing.org>
24327
24328         PR target/104829
24329         * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Don't output
24330         "ppc" and "ppc64" based on rs6000_cpu.
24331
24332 2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
24333
24334         PR middle-end/100280
24335         PR middle-end/104892
24336         * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
24337         Remove special handling of 'GOMP_MAP_FORCE_TOFROM'.
24338
24339 2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
24340
24341         PR middle-end/100280
24342         PR middle-end/104086
24343         * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
24344         Mark variables used in 'present' clauses as addressable.
24345         * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Gracefully
24346         handle duplicate 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
24347
24348 2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
24349
24350         PR other/65095
24351         * tree-core.h (user_omp_claus_code_name): Declare function.
24352         * tree.cc (user_omp_clause_code_name): New function.
24353
24354 2022-03-12  Roger Sayle  <roger@nextmovesoftware.com>
24355
24356         PR middle-end/98420
24357         * match.pd (minus @0 @0): Additional checks for -fno-rounding-math
24358         (the defaut) or -fno-signed-zeros.
24359
24360 2022-03-12   Michael Meissner  <meissner@linux.ibm.com>
24361
24362         PR target/104868
24363         * config/rs6000/vsx.md (extendditi2): Use a 'b' constraint when
24364         moving from a GPR register to an Altivec register.
24365
24366 2022-03-11  Roger Sayle  <roger@nextmovesoftware.com>
24367
24368         PR tree-optimization/98335
24369         * config/i386/i386.md (peephole2): Eliminate redundant insv.
24370         Combine movl followed by movb.  Transform xorl followed by
24371         a suitable movb or movw into the equivalent movz[bw]l.
24372
24373 2022-03-11  Roger Sayle  <roger@nextmovesoftware.com>
24374             Richard Biener  <rguenther@suse.de>
24375
24376         PR tree-optimization/98335
24377         * builtins.cc (get_object_alignment_2): Export.
24378         * builtins.h (get_object_alignment_2): Likewise.
24379         * tree-ssa-alias.cc (ao_ref_alignment): New.
24380         * tree-ssa-alias.h (ao_ref_alignment): Declare.
24381         * tree-ssa-dse.cc (compute_trims): Improve logic deciding whether
24382         to align head/tail, writing more bytes but using fewer store insns.
24383
24384 2022-03-11  Richard Biener  <rguenther@suse.de>
24385
24386         PR tree-optimization/104880
24387         * tree-ssa.cc (execute_update_address_taken): Remember if we
24388         optimistically made something not addressable and
24389         prepare to undo it.
24390
24391 2022-03-11  Richard Biener  <rguenther@suse.de>
24392
24393         PR target/104762
24394         * config/i386/i386.cc (ix86_builtin_vectorization_cost): Do not
24395         cost the first lane of SSE pieces as inserts for vec_construct.
24396
24397 2022-03-10  Roger Sayle  <roger@nextmovesoftware.com>
24398
24399         PR c++/84964
24400         * calls.cc (expand_call): Ignore stack adjustments after sorry.
24401
24402 2022-03-10  Vladimir N. Makarov  <vmakarov@redhat.com>
24403
24404         PR target/103074
24405         * lra-constraints.cc (split_reg): Set up
24406         check_and_force_assignment_correctness_p when splitting hard
24407         register live range.
24408
24409 2022-03-10  Martin Jambor  <mjambor@suse.cz>
24410
24411         PR ipa/104813
24412         * ipa-cp.cc (create_specialized_node): Move removal of
24413         self-recursive calls from callers vector before refrence
24414         adjustments.
24415
24416 2022-03-10  Richard Biener  <rguenther@suse.de>
24417
24418         PR tree-optimization/102943
24419         * gimple-range-cache.cc (sbr_sparse_bitmap::bitvec):
24420         Make a bitmap_head.
24421         (sbr_sparse_bitmap::sbr_sparse_bitmap): Adjust and switch
24422         to tree view.
24423         (sbr_sparse_bitmap::set_bb_range): Adjust.
24424         (sbr_sparse_bitmap::get_bb_range): Likewise.
24425
24426 2022-03-10  Richard Biener  <rguenther@suse.de>
24427
24428         PR tree-optimization/102943
24429         * tree-ssa-dom.cc (back_propagate_equivalences): Only
24430         populate the dominance bitmap if fast queries are not
24431         available.  Use a tree view bitmap.
24432         (record_temporary_equivalences): Cache the dominance bitmap
24433         across all equivalences on the edge.
24434
24435 2022-03-10  Tom de Vries  <tdevries@suse.de>
24436
24437         PR target/104840
24438         * config/nvptx/nvptx.md (define_attr "predicable"): Use no,yes instead
24439         of false,true.
24440
24441 2022-03-10  Tom de Vries  <tdevries@suse.de>
24442
24443         PR target/104783
24444         * config/nvptx/nvptx.cc (nvptx_init_unisimt_predicate)
24445         (nvptx_output_unisimt_switch): Handle unisimt_outside_simt_predicate.
24446         (nvptx_get_unisimt_outside_simt_predicate): New function.
24447         (predicate_insn): New function, factored out of ...
24448         (nvptx_reorg_uniform_simt): ... here.  Predicate all emitted insns.
24449         * config/nvptx/nvptx.h (struct machine_function): Add
24450         unisimt_outside_simt_predicate field.
24451         * config/nvptx/nvptx.md (define_insn "nvptx_warpsync")
24452         (define_insn "nvptx_uniform_warp_check"): Make predicable.
24453
24454 2022-03-10  Tom de Vries  <tdevries@suse.de>
24455
24456         * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Handle unused
24457         result.
24458
24459 2022-03-10  Tom de Vries  <tdevries@suse.de>
24460
24461         PR target/104815
24462         * config/nvptx/nvptx.cc (nvptx_print_operand): Handle 'x' operand
24463         modifier.
24464         * config/nvptx/nvptx.md: Use %x0 destination operand in atom insns.
24465
24466 2022-03-10  Tom de Vries  <tdevries@suse.de>
24467
24468         * config/nvptx/nvptx.md (define_insn "atomic_fetch_<logic><mode>"):
24469         Emit atom.and.b64 instead of atom.b64.and.
24470
24471 2022-03-10  Tom de Vries  <tdevries@suse.de>
24472
24473         * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Move mptx=3.1 ...
24474         (MULTILIB_OPTIONS): ... here.
24475
24476 2022-03-10  Tom de Vries  <tdevries@suse.de>
24477
24478         PR target/104758
24479         * config/nvptx/nvptx.opt (misa): Set default to sm_30.
24480         * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Remove misa=sm_30.
24481
24482 2022-03-10  Thomas Schwinge  <thomas@codesourcery.com>
24483
24484         PR middle-end/90115
24485         PR middle-end/102330
24486         PR middle-end/104774
24487         * omp-low.cc (oacc_privatization_candidate_p)
24488         (oacc_privatization_scan_clause_chain)
24489         (oacc_privatization_scan_decl_chain, lower_oacc_private_marker):
24490         Analyze 'lookup_decl'-translated DECL.
24491
24492 2022-03-10  Jakub Jelinek  <jakub@redhat.com>
24493
24494         PR target/99708
24495         * config/rs6000/rs6000.h (enum rs6000_builtin_type_index): Remove
24496         RS6000_BTI_ptr_ieee128_float and RS6000_BTI_ptr_ibm128_float.
24497         (ptr_ieee128_float_type_node, ptr_ibm128_float_type_node): Remove.
24498         * config/rs6000/rs6000-builtin.cc (rs6000_type_string): Return
24499         "**NULL**" if type_node is NULL first.  Handle
24500         ieee128_float_type_node.
24501         (rs6000_init_builtins): Don't initialize ptr_ieee128_float_type_node
24502         and ptr_ibm128_float_type_node.  Set ibm128_float_type_node and
24503         ieee128_float_type_node to NULL rather than long_double_type_node if
24504         they aren't supported.  Do support __ibm128 even if
24505         !TARGET_FLOAT128_TYPE when long double is double double.
24506         (rs6000_expand_builtin): Error if bif_is_ibm128 and
24507         !ibm128_float_type_node.  Remap RS6000_BIF_{,UN}PACK_IF to
24508         RS6000_BIF_{,UN}PACK_TF much earlier and only use bif_is_ibm128 check
24509         for it.
24510         * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Define
24511         __SIZEOF_FLOAT128__ here and only iff __float128 macro is defined.
24512         (rs6000_cpu_cpp_builtins): Don't define __SIZEOF_FLOAT128__ here.
24513         Define __SIZEOF_IBM128__=16 if ieee128_float_type_node is non-NULL.
24514         Formatting fix.
24515         * config/rs6000/rs6000-gen-builtins.cc: Document ibm128 attribute.
24516         (struct attrinfo): Add isibm128 member.
24517         (TYPE_MAP_SIZE): Remove.
24518         (type_map): Use [] instead of [TYPE_MAP_SIZE].  For "if" use
24519         ibm128_float_type_node only if it is non-NULL, otherwise fall back
24520         to long_double_type_node.  Remove "pif" entry.
24521         (parse_bif_attrs): Handle ibm128 attribute and print it for debugging.
24522         (write_decls): Output bif_ibm128_bit and bif_is_ibm128.
24523         (write_type_node): Use sizeof type_map / sizeof type_map[0]
24524         instead of TYPE_MAP_SIZE.
24525         (write_bif_static_init): Handle isibm128.
24526         * config/rs6000/rs6000-builtins.def: Document ibm128 attribute.
24527         (__builtin_pack_ibm128, __builtin_unpack_ibm128): Add ibm128
24528         attribute.
24529
24530 2022-03-09  Richard Biener  <rguenther@suse.de>
24531
24532         * cfgexpand.cc (expand_gimple_asm): Special-case MEM_REF
24533         with non-decl operand, avoiding a copy.
24534
24535 2022-03-09  Jakub Jelinek  <jakub@redhat.com>
24536
24537         PR target/104781
24538         * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Define for ia32.
24539
24540 2022-03-09  Richard Biener  <rguenther@suse.de>
24541
24542         PR middle-end/104786
24543         * cfgexpand.cc (expand_asm_stmt): Do not generate a copy
24544         for VLAs without an upper size bound.
24545
24546 2022-03-09  Xi Ruoyao  <xry111@mengyan1223.wang>
24547
24548         PR tree-optimization/104851
24549         * optabs-query.cc (supports_vec_convert_optab_p): Fix off-by-one
24550         error.
24551
24552 2022-03-09  Jakub Jelinek  <jakub@redhat.com>
24553
24554         PR c/104711
24555         * doc/invoke.texi (-Wextra): Document that -Wshift-negative-value
24556         is enabled by it only for C++11 to C++17 rather than for C++03 or
24557         later.
24558         (-Wshift-negative-value): Similarly (except here we stated
24559         that it is enabled for C++11 or later).
24560
24561 2022-03-09  Jakub Jelinek  <jakub@redhat.com>
24562
24563         PR rtl-optimization/104839
24564         * simplify-rtx.cc (simplify_unary_operation_1) <case SIGN_EXTEND>:
24565         Use SRP_SIGNED instead of incorrect 1 in SUBREG_PROMOTED_SET.
24566         (simplify_unary_operation_1) <case ZERO_EXTEND>: Use SRP_UNSIGNED
24567         instead of incorrect 0 in SUBREG_PROMOTED_SET.
24568
24569 2022-03-09  Xi Ruoyao  <xry111@mengyan1223.wang>
24570
24571         PR target/104842
24572         * config/mips/mips.h (LUI_OPERAND): Cast the input to an unsigned
24573         value before adding an offset.
24574
24575 2022-03-08  Christophe Lyon  <christophe.lyon@arm.com>
24576
24577         * config/arm/arm-builtins.cc
24578         (arm_binop_none_none_unone_qualifiers): Delete.
24579         (BINOP_NONE_NONE_UNONE_QUALIFIERS): Delete.
24580
24581 2022-03-08  Iain Sandoe  <iain@sandoe.co.uk>
24582
24583         PR translation/104552
24584         * config/host-darwin.cc (darwin_gt_pch_get_address): Amend
24585         the PCH out of memory error message punctuation and wording.
24586
24587 2022-03-08  Marek Polacek  <polacek@redhat.com>
24588
24589         PR rtl-optimization/104777
24590         * rtl.cc (classify_insn): For ASM_OPERANDS, return JUMP_INSN only if
24591         ASM_OPERANDS_LABEL_VEC has at least one element.
24592
24593 2022-03-08  H.J. Lu  <hjl.tools@gmail.com>
24594
24595         PR target/104781
24596         * config/i386/i386.cc (ix86_expand_epilogue): Sorry if there is
24597         stack realignment or regparm nested function with EH return.
24598
24599 2022-03-08  Andre Vieira  <andre.simoesdiasvieira@arm.com>
24600
24601         PR target/104790
24602         * config/arm/arm.h (MVE_STN_LDW_MODE): New MACRO.
24603         * config/arm/arm.cc (mve_vector_mem_operand): Relax constraint on base
24604         register for non widening loads or narrowing stores.
24605
24606 2022-03-08  Eric Gallager  <egallager@gcc.gnu.org>
24607
24608         PR translation/104552
24609         * params.opt: Fix typo.
24610
24611 2022-03-08  Richard Biener  <rguenther@suse.de>
24612
24613         PR tree-optimization/84201
24614         * params.opt (-param=vect-induction-float): Add.
24615         * doc/invoke.texi (vect-induction-float): Document.
24616         * tree-vect-loop.cc (vectorizable_induction): Honor
24617         param_vect_induction_float.
24618
24619 2022-03-08  Martin Jambor  <mjambor@suse.cz>
24620
24621         PR translation/104552
24622         * params.opt (ipa-cp-recursive-freq-factor): Remove repeated word
24623         "that" in the description.
24624
24625 2022-03-08  Richard Biener  <rguenther@suse.de>
24626
24627         PR tree-optimization/104825
24628         * tree-ssa-sccvn.cc (visit_reference_op_call): Properly
24629         guard modref get_ao_ref on a pointer typed argument.
24630
24631 2022-03-08  liuhongt  <hongtao.liu@intel.com>
24632
24633         * config/i386/sse.md (*vec_dupv4si): Disable memory operand
24634         for !TARGET_INTER_UNIT_MOVES_TO_VEC when prefer_for_speed.
24635
24636 2022-03-07  Jonathan Wakely  <jwakely@redhat.com>
24637
24638         * doc/invoke.texi (C++ Modules): Remove anachronism.
24639
24640 2022-03-07  Martin Liska  <mliska@suse.cz>
24641
24642         PR middle-end/104381
24643         * opts.cc (finish_options): If debug info is disabled
24644         (debug_info_level) and -fvar-tracking is unset, disable it.
24645
24646 2022-03-07  Jakub Jelinek  <jakub@redhat.com>
24647
24648         * tree-ssa-propagate.cc: Fix up duplicated word issue in a comment.
24649         * config/riscv/riscv.cc: Likewise.
24650         * config/darwin.h: Likewise.
24651         * config/i386/i386.cc: Likewise.
24652         * config/aarch64/thunderx3t110.md: Likewise.
24653         * config/aarch64/fractional-cost.h: Likewise.
24654         * config/vax/vax.cc: Likewise.
24655         * config/rs6000/pcrel-opt.md: Likewise.
24656         * config/rs6000/predicates.md: Likewise.
24657         * ctfc.h: Likewise.
24658         * tree-ssa-uninit.cc: Likewise.
24659         * value-relation.h: Likewise.
24660         * gimple-range-gori.cc: Likewise.
24661         * ipa-polymorphic-call.cc: Likewise.
24662         * pointer-query.cc: Likewise.
24663         * ipa-sra.cc: Likewise.
24664         * internal-fn.cc: Likewise.
24665         * varasm.cc: Likewise.
24666         * gimple-ssa-warn-access.cc: Likewise.
24667
24668 2022-03-07  Martin Liska  <mliska@suse.cz>
24669
24670         PR target/104794
24671         * config/arm/arm.cc (arm_option_override_internal): Add missing
24672         space.
24673
24674 2022-03-07  Richard Biener  <rguenther@suse.de>
24675
24676         PR tree-optimization/104782
24677         * tree-vect-slp.cc (vectorize_slp_instance_root_stmt):
24678         Re-instantiate r10-5979 fix, add comment.
24679
24680 2022-03-07  Martin Liska  <mliska@suse.cz>
24681
24682         PR target/104797
24683         * config/msp430/msp430.cc (msp430_expand_delay_cycles): Remove
24684         parenthesis from built-in name.
24685
24686 2022-03-07  Martin Liska  <mliska@suse.cz>
24687
24688         PR target/104794
24689         * config/arm/arm.cc (arm_option_override_internal): Fix quoting
24690         of options in error messages.
24691         (arm_option_reconfigure_globals): Likewise.
24692
24693 2022-03-07  Martin Liska  <mliska@suse.cz>
24694
24695         PR target/104794
24696         * config/arm/arm-builtins.cc (arm_expand_builtin): Reuse error
24697         message.  Fix ARM_BUILTIN_WRORHI and ARM_BUILTIN_WRORH that can
24698         have only range [0,32].
24699
24700 2022-03-07  Jakub Jelinek  <jakub@redhat.com>
24701
24702         PR target/104775
24703         * config/s390/s390.md (*cmp_and_trap_unsigned_int<mode>): Use
24704         S constraint instead of T in the last alternative.
24705
24706 2022-03-07  Martin Liska  <mliska@suse.cz>
24707
24708         * plugin.cc (default_plugin_dir_name): Remove <dir> from error
24709         message.
24710
24711 2022-03-07  Martin Liska  <mliska@suse.cz>
24712
24713         PR translation/90148
24714         * config/rs6000/rs6000.cc (rs6000_linux64_override_options): Put
24715         quote to a proper place.
24716         * plugin.cc (default_plugin_dir_name): Likewise.
24717
24718 2022-03-07  Martin Liska  <mliska@suse.cz>
24719
24720         PR target/99297
24721         * config/rx/rx.cc (rx_expand_builtin_mvtc): Fix translation
24722         string.
24723
24724 2022-03-07  Jakub Jelinek  <jakub@redhat.com>
24725
24726         PR target/104779
24727         * config/i386/sse.md (avx512dq_mul<mode>3<mask_name>): New
24728         define_expand pattern.  Rename define_insn to ...
24729         (*avx512dq_mul<mode>3<mask_name>): ... this.
24730         (<code><mode>3_mask): New any_logic define_expand pattern.
24731         (<mask_codefor><code><mode>3<mask_name>): Rename to ...
24732         (*<code><mode>3<mask_name>): ... this.
24733
24734 2022-03-05  Jakub Jelinek  <jakub@redhat.com>
24735
24736         * gimple-ssa-warn-access.cc (pass_waccess::use_after_inval_p): Remove
24737         visited bitmap and its use.  Also punt on EDGE_ABNORMAL edges.
24738
24739 2022-03-05  Roger Sayle  <roger@nextmovesoftware.com>
24740             Uroš Bizjak  <ubizjak@gmail.com>
24741
24742         PR testsuite/104732
24743         * config/i386/i386.md (SWIM1248x): Renamed from SWIM1248s.
24744         Include DI mode unconditionally.
24745         (*anddi3_doubleword): Remove && TARGET_STV && TARGET_SSE2 condition,
24746         i.e. always split on !TARGET_64BIT.
24747         (*<any_or>di3_doubleword): Likewise.
24748         (*one_cmpldi2_doubleword): Likewise.
24749         (and<mode>3 expander): Update to use SWIM1248x from SWIM1248s.
24750         (<any_or><mode>3 expander): Likewise.
24751         (one_cmpl<mode>2 expander): Likewise.
24752
24753 2022-03-05   Michael Meissner  <meissner@linux.ibm.com>
24754
24755         PR target/104698
24756         * config/rs6000/vsx.md (UNSPEC_MTVSRD_DITI_W1): Delete.
24757         (mtvsrdd_diti_w1): Delete.
24758         (extendditi2): Convert from define_expand to
24759         define_insn_and_split.  Replace with code to deal with both GPR
24760         registers and with altivec registers.
24761
24762 2022-03-04  Segher Boessenkool  <segher@kernel.crashing.org>
24763
24764         * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Restructure a
24765         bit.  Handle most older CPUs.
24766
24767 2022-03-04  Iain Sandoe  <iain@sandoe.co.uk>
24768
24769         * config/darwin.cc (darwin_fold_builtin): Make fcode an int to
24770         avoid a mismatch with DECL_MD_FUNCTION_CODE().
24771
24772 2022-03-04  Iain Sandoe  <iain@sandoe.co.uk>
24773
24774         PR target/104117
24775         * config/rs6000/darwin.md (@machopic_high_<mode>): New.
24776         (@machopic_low_<mode>): New.
24777         * config/rs6000/predicates.md (macho_pic_address): New.
24778         * config/rs6000/rs6000.cc (rs6000_legitimize_address): Do not
24779         apply the TLS processing to Darwin.
24780         * lra-constraints.cc (process_address_1): Revert the changes
24781         in r12-7209.
24782
24783 2022-03-04  Peter Bergner  <bergner@linux.ibm.com>
24784
24785         PR target/87496
24786         PR target/104208
24787         * config/rs6000/rs6000.cc (rs6000_option_override_internal): Make the
24788         ISA 2.06 requirement for -mabi=ieeelongdouble conditional on
24789         -mlong-double-128.
24790         Move the -mabi=ieeelongdouble and -mabi=ibmlongdouble error checking
24791         from here...
24792         * common/config/rs6000/rs6000-common.cc (rs6000_handle_option):
24793         ... to here.
24794
24795 2022-03-04  Jakub Jelinek  <jakub@redhat.com>
24796
24797         PR middle-end/104529
24798         * gimplify.cc (gimplify_init_constructor): Clear TREE_READONLY
24799         on automatic objects which will be runtime initialized.
24800
24801 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
24802
24803         PR middle-end/100280
24804         PR middle-end/104132
24805         PR middle-end/104133
24806         * omp-low.cc (task_shared_vars): Rename to
24807         'make_addressable_vars'.  Adjust all users.
24808         (scan_sharing_clauses) <OMP_CLAUSE_MAP> Use it for
24809         'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' DECLs, too.
24810
24811 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
24812
24813         PR middle-end/100280
24814         * tree.h (OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE): New.
24815         * tree-core.h: Document it.
24816         * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Handle
24817         'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
24818         * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
24819         Set 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' instead of
24820         'TREE_ADDRESSABLE'.
24821
24822 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
24823
24824         PR middle-end/100280
24825         * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
24826         Add diagnostic: "note: OpenACC 'kernels' decomposition: variable
24827         '[...]' declared in block made addressable".
24828
24829 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
24830
24831         PR middle-end/100400
24832         PR middle-end/103836
24833         PR middle-end/104061
24834         * omp-oacc-kernels-decompose.cc (decompose_kernels_region_body):
24835         Catch 'GIMPLE_DEBUG'.
24836
24837 2022-03-04  Jakub Jelinek  <jakub@redhat.com>
24838
24839         PR c/104627
24840         * tree.cc (warn_deprecated_use): For types prefer to use node
24841         and only use TYPE_MAIN_VARIANT (node) if TYPE_STUB_DECL (node) is
24842         NULL.
24843
24844 2022-03-04  H.J. Lu  <hjl.tools@gmail.com>
24845
24846         PR target/104704
24847         * config/i386/i386.cc (ix86_gen_scratch_sse_rtx): Always return
24848         a pseudo register.
24849
24850 2022-03-03  Martin Sebor  <msebor@redhat.com>
24851
24852         PR middle-end/104761
24853         * gimple-ssa-warn-access.cc (pass_waccess::execute): Call
24854         mark_dfs_back_edges.
24855
24856 2022-03-03  Martin Liska  <mliska@suse.cz>
24857
24858         * configure.ac: Use linker plug-in by default.
24859         * configure: Regenerate.
24860
24861 2022-03-03  Martin Liska  <mliska@suse.cz>
24862
24863         * configure.ac: Now ld.mold support LTO plugin API, use it.
24864         * configure: Regenerate.
24865
24866 2022-03-03  Tom de Vries  <tdevries@suse.de>
24867
24868         * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add mptx=3.1.
24869
24870 2022-03-03  Tom de Vries  <tdevries@suse.de>
24871
24872         PR target/104758
24873         * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add misa=sm_30.
24874
24875 2022-03-03  Tom de Vries  <tdevries@suse.de>
24876
24877         * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
24878
24879 2022-03-03  Jakub Jelinek  <jakub@redhat.com>
24880
24881         PR middle-end/104757
24882         * gimplify.cc (gimplify_omp_loop): Call gimplify_expr rather than
24883         gimplify_omp_for.
24884         (gimplify_expr) <case OMP_SIMD>: Temporarily disable
24885         gimplify_ctxp->into_ssa around call to gimplify_omp_for.
24886
24887 2022-03-03  Jakub Jelinek  <jakub@redhat.com>
24888
24889         PR middle-end/104558
24890         * calls.cc (store_one_arg): When not calling emit_push_insn
24891         because size_rtx is const0_rtx, call at least anti_adjust_stack
24892         on arg->locate.alignment_pad if !argblock and the alignment might
24893         be non-zero.
24894
24895 2022-03-02  Alexandre Oliva  <oliva@adacore.com>
24896
24897         * lra-constraints.cc (undo_optional_reloads): Recognize and
24898         drop insns of multi-word move sequences, tolerate removal
24899         iteration on an already-removed clobber, and refuse to
24900         substitute original pseudos into clobbers.
24901
24902 2022-03-02  Qing Zhao  <qing.zhao@oracle.com>
24903
24904         PR middle-end/102276
24905         * common.opt (-Wtrivial-auto-var-init): New option.
24906         * doc/invoke.texi (-Wtrivial-auto-var-init): Document new option.
24907         (-ftrivial-auto-var-init): Update option;
24908         * gimplify.cc (emit_warn_switch_unreachable): New function.
24909         (warn_switch_unreachable_r): Rename to ...
24910         (warn_switch_unreachable_and_auto_init_r): This.
24911         (maybe_warn_switch_unreachable): Rename to ...
24912         (maybe_warn_switch_unreachable_and_auto_init): This.
24913         (gimplify_switch_expr): Update calls to renamed function.
24914
24915 2022-03-02  Richard Biener  <rguenther@suse.de>
24916
24917         PR rtl-optimization/104686
24918         * ira-color.cc (object_conflicts_with_allocno_p): New function
24919         using a bitvector test instead of iterating when possible.
24920         (allocnos_conflict_p): Choose the best allocno to iterate over
24921         object conflicts.
24922         (update_conflict_hard_regno_costs): Do allocnos_conflict_p test
24923         last.
24924
24925 2022-03-02  Jakub Jelinek  <jakub@redhat.com>
24926
24927         * cfg.cc (dump_edge_info): Dump goto_locus if present.
24928
24929 2022-03-02  Jakub Jelinek  <jakub@redhat.com>
24930
24931         PR rtl-optimization/104589
24932         * cfgrtl.cc (fixup_reorder_chain): Use loc_equal instead of direct
24933         INSN_LOCATION comparison with goto_locus.
24934
24935 2022-03-02  Jakub Jelinek  <jakub@redhat.com>
24936
24937         * tree-ssa-strlen.cc (strlen_pass::handle_assign,
24938         strlen_pass::before_dom_children): Comment spelling fixes.
24939
24940 2022-03-02  Jakub Jelinek  <jakub@redhat.com>
24941
24942         * ipa-modref-tree.cc (modref_access_node::contains,
24943         modref_access_node::closer_pair_p, modref_access_node::insert,
24944         modref_access_node::insert_kill): Comment spelling fixes.
24945         * ipa-modref.cc: Likewise.
24946         (modref_summary::finalize, ignore_nondeterminism_p,
24947         class modref_access_analysis,
24948         modref_access_analysis::set_side_effects,
24949         modref_access_analysis::set_nondeterministic,
24950         modref_access_analysis::record_global_memory_load,
24951         modref_access_analysis::propagate, modref_access_analysis::analyze,
24952         struct escape_point, class modref_lattice, modref_lattice::merge,
24953         modref_lattice::merge_deref, class modref_eaf_analysis,
24954         modref_eaf_analysis::merge_call_lhs_flags,
24955         modref_eaf_analysis::analyze_ssa_name, modref_eaf_analysis::propagate,
24956         modref_eaf_analysis::record_escape_points, remap_kills,
24957         update_escape_summary, remove_useless_summaries,
24958         ipa_merge_modref_summary_after_inlining, pass_ipa_modref::execute):
24959         Likewise.
24960         * ipa-modref.h (struct modref_summary, interposable_eaf_flags):
24961         Likewise.
24962         * ipa-modref-tree.h (enum modref_special_parms,
24963         struct modref_access_node): Likewise.
24964
24965 2022-03-01  Jakub Jelinek  <jakub@redhat.com>
24966
24967         PR tree-optimization/104715
24968         * gimple-ssa-warn-access.cc (pass_waccess::check_pointer_uses): Don't
24969         unnecessarily test if ptr is a SSA_NAME, it has to be.  Only push lhs
24970         of a call if gimple_call_return_arg is equal to ptr, not just when it
24971         is non-NULL.
24972
24973 2022-03-01  Jakub Jelinek  <jakub@redhat.com>
24974
24975         * gimple-ssa-warn-access.cc (warn_string_no_nul,
24976         maybe_warn_nonstring_arg, fndecl_alloc_p, new_delete_mismatch_p,
24977         matching_alloc_calls_p, maybe_warn_alloc_args_overflow,
24978         pass_waccess::check_alloca, pass_waccess::check_strcat,
24979         memmodel_to_uhwi, fntype_argno_type,
24980         pass_waccess::maybe_check_access_sizes,
24981         pass_waccess::check_call_access,
24982         pass_waccess::maybe_check_dealloc_call, pass_waccess::check_stmt):
24983         Comment spelling fixes.
24984
24985 2022-03-01  Richard Biener  <rguenther@suse.de>
24986
24987         PR tree-optimization/104716
24988         * tree-loop-distribution.cc (find_seed_stmts_for_distribution):
24989         Check if we can copy the loop.
24990
24991 2022-03-01  H.J. Lu  <hjl.tools@gmail.com>
24992
24993         PR middle-end/104721
24994         * cfgexpand.cc (expand_gimple_basic_block): Clear
24995         currently_expanding_gimple_stmt when returning inside the loop.
24996
24997 2022-03-01  Martin Liska  <mliska@suse.cz>
24998
24999         PR ipa/104533
25000         * multiple_target.cc (get_attr_len): Move to tree.c.
25001         (expand_target_clones): Remove single value checking.
25002         * tree.cc (get_target_clone_attr_len): New fn.
25003         * tree.h (get_target_clone_attr_len): Likewise.
25004
25005 2022-03-01  Martin Liska  <mliska@suse.cz>
25006
25007         PR gcov-profile/104677
25008         * doc/invoke.texi: Document more .gcda file name generation.
25009
25010 2022-03-01  Tom de Vries  <tdevries@suse.de>
25011
25012         PR target/102429
25013         * config/nvptx/nvptx.cc (nvptx_gen_shuffle): Handle DCmode and CDImode.
25014         * config/nvptx/nvptx.md
25015         (define_predicate "nvptx_register_or_complex_di_df_register_operand"):
25016         New predicate.
25017         (define_expand "omp_simt_xchg_bfly", define_expand "omp_simt_xchg_idx"):
25018         Use nvptx_register_or_complex_di_df_register_operand.
25019
25020 2022-03-01  Tom de Vries  <tdevries@suse.de>
25021
25022         * config.gcc (nvptx*-*-*): Add nvptx/nvptx-gen.opt to extra_options.
25023         * config/nvptx/gen-copyright.sh: New file.
25024         * config/nvptx/gen-h.sh: New file.
25025         * config/nvptx/gen-opt.sh: New file.
25026         * config/nvptx/nvptx.h (TARGET_SM35, TARGET_SM53, TARGET_SM70)
25027         (TARGET_SM75, TARGET_SM80): Move ...
25028         * config/nvptx/nvptx-gen.h: ... here.  New file, generate.
25029         * config/nvptx/nvptx.opt (Enum ptx_isa): Move ...
25030         * config/nvptx/nvptx-gen.opt: ... here.  New file, generate.
25031         * config/nvptx/t-nvptx ($(srcdir)/config/nvptx/nvptx-gen.h)
25032         ($(srcdir)/config/nvptx/nvptx-gen.opt): New make target.
25033
25034 2022-03-01  Tom de Vries  <tdevries@suse.de>
25035
25036         * config/nvptx/gen-omp-device-properties.sh: New file.
25037         * config/nvptx/t-omp-device: Use gen-omp-device-properties.sh.
25038
25039 2022-03-01  Tom de Vries  <tdevries@suse.de>
25040
25041         * config/nvptx/nvptx-sm.def: New file.
25042         * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Use nvptx-sm.def.
25043         * config/nvptx/nvptx-opts.h (enum ptx_isa): Same.
25044         * config/nvptx/nvptx.cc (sm_version_to_string)
25045         (nvptx_omp_device_kind_arch_isa): Same.
25046
25047 2022-03-01  Robin Dapp  <rdapp@linux.ibm.com>
25048
25049         PR rtl-optimization/104154
25050         * config/arc/arc.cc (gen_compare_reg):  Return the CC-mode
25051         comparison ifcvt passed us.
25052
25053 2022-03-01  Hongyu Wang  <hongyu.wang@intel.com>
25054
25055         PR target/104664
25056         * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
25057         Use vec_setv8hf_0 for HF to V8HFmode move instead of subreg.
25058
25059 2022-02-28  Roger Sayle  <roger@nextmovesoftware.com>
25060
25061         PR tree-optimization/91384
25062         * config/i386/i386.md (peephole2): Eliminate final testl insn
25063         from the sequence *movsi_internal, *negsi_1, *cmpsi_ccno_1 by
25064         transforming using *negsi_2 for the negation.
25065
25066 2022-02-28  Roger Sayle  <roger@nextmovesoftware.com>
25067             Eric Botcazou  <ebotcazou@adacore.com>
25068
25069         PR middle-end/80270
25070         * expmed.cc (extract_integral_bit_field): If OP0 is a hard
25071         register, copy it to a pseudo before calling simplify_gen_subreg.
25072
25073 2022-02-28  Vladimir N. Makarov  <vmakarov@redhat.com>
25074
25075         PR rtl-optimization/104637
25076         * lra-assigns.cc (lra_split_hard_reg_for): Split hard regs as many
25077         as possible on one subpass.
25078
25079 2022-02-28  Qing Zhao  <qing.zhao@oracle.com>
25080
25081         PR middle-end/104550
25082         * gimple-fold.cc (clear_padding_flush): Suppress warnings for new
25083         created uses.
25084
25085 2022-02-28  Martin Liska  <mliska@suse.cz>
25086
25087         PR ipa/104648
25088         * main.cc (main): Use flag_checking instead of CHECKING_P
25089         and run toplev::finalize only if there is not error seen.
25090
25091 2022-02-28  Richard Biener  <rguenther@suse.de>
25092
25093         * tree-ssa-pre.cc (compute_avail): Revert part of last change.
25094
25095 2022-02-28  Richard Biener  <rguenther@suse.de>
25096
25097         PR tree-optimization/104700
25098         * tree-ssa-pre.cc (get_or_alloc_expr_for): Remove and inline
25099         into ...
25100         (find_or_generate_expression): ... here, simplifying code.
25101
25102 2022-02-28  Tom de Vries  <tdevries@suse.de>
25103
25104         * config/nvptx/nvptx-opts.h (enum ptx_version): Add
25105         PTX_VERSION_default.
25106         * config/nvptx/nvptx.cc (handle_ptx_version_option): Handle
25107         PTX_VERSION_default.
25108         * config/nvptx/nvptx.opt: Add EnumValue "_" / PTX_VERSION_default.
25109
25110 2022-02-28  Richard Biener  <rguenther@suse.de>
25111
25112         PR rtl-optimization/104686
25113         * ira-int.h (minmax_set_iter_cond): Use ctz_hwi to elide loop
25114         skipping bits that are zero.
25115         (ira_object_conflict_iter_cond): Likewise.
25116
25117 2022-02-28  Hongyu Wang  <hongyu.wang@intel.com>
25118
25119         * config/i386/avx512fintrin.h (_MM_TERNLOG_ENUM): New enum.
25120         (_mm512_ternarylogic_epi64): Truncate imm to unsigned
25121         char to avoid error when using ~enum as parameter.
25122         (_mm512_mask_ternarylogic_epi64): Likewise.
25123         (_mm512_maskz_ternarylogic_epi64): Likewise.
25124         (_mm512_ternarylogic_epi32): Likewise.
25125         (_mm512_mask_ternarylogic_epi32): Likewise.
25126         (_mm512_maskz_ternarylogic_epi32): Likewise.
25127         * config/i386/avx512vlintrin.h (_mm256_ternarylogic_epi64):
25128         Adjust imm param type to unsigned char.
25129         (_mm256_mask_ternarylogic_epi64): Likewise.
25130         (_mm256_maskz_ternarylogic_epi64): Likewise.
25131         (_mm256_ternarylogic_epi32): Likewise.
25132         (_mm256_mask_ternarylogic_epi32): Likewise.
25133         (_mm256_maskz_ternarylogic_epi32): Likewise.
25134         (_mm_ternarylogic_epi64): Likewise.
25135         (_mm_mask_ternarylogic_epi64): Likewise.
25136         (_mm_maskz_ternarylogic_epi64): Likewise.
25137         (_mm_ternarylogic_epi32): Likewise.
25138         (_mm_mask_ternarylogic_epi32): Likewise.
25139         (_mm_maskz_ternarylogic_epi32): Likewise.
25140
25141 2022-02-25  Jakub Jelinek  <jakub@redhat.com>
25142             Marc Glisse  <marc.glisse@inria.fr>
25143
25144         PR tree-optimization/104675
25145         * match.pd (t * 2U / 2 -> t & (~0 / 2), t / 2U * 2 -> t & ~1):
25146         Restrict simplifications to INTEGRAL_TYPE_P.
25147
25148 2022-02-25  Jakub Jelinek  <jakub@redhat.com>
25149
25150         PR target/104681
25151         * config/rs6000/vector.md (movmisalign<mode>): Use rs6000_emit_move.
25152
25153 2022-02-25  Claudiu Zissulescu  <claziss@synopsys.com>
25154
25155         * config/arc/arc.cc (gen_compare_reg): Return NULL_RTX if the
25156         comparison is not valid.
25157         * config/arc/arc.md (movsicc): Fail if comparison is not valid.
25158         (movdicc): Likewise.
25159         (movsfcc): Likewise.
25160         (movdfcc): Likewise.
25161
25162 2022-02-25  Richard Biener  <rguenther@suse.de>
25163
25164         PR tree-optimization/103037
25165         * tree-ssa-sccvn.h (alloc_vn_nary_op_noinit): Declare.
25166         (vn_nary_length_from_stmt): Likewise.
25167         (init_vn_nary_op_from_stmt): Likewise.
25168         (vn_nary_op_compute_hash): Likewise.
25169         * tree-ssa-sccvn.cc (alloc_vn_nary_op_noinit): Export.
25170         (vn_nary_length_from_stmt): Likewise.
25171         (init_vn_nary_op_from_stmt): Likewise.
25172         (vn_nary_op_compute_hash): Likewise.
25173         * tree-ssa-pre.cc (pre_expr_obstack): New obstack.
25174         (get_or_alloc_expr_for_nary): Pass in the value-id to use,
25175         (re-)compute the hash value and if the expression is not
25176         found allocate it from pre_expr_obstack.
25177         (phi_translate_1): Do not insert the NARY found in the
25178         VN tables but build a PRE expression from the valueized
25179         NARY with the value-id we eventually found.
25180         (find_or_generate_expression): Assert we have an entry
25181         for constant values.
25182         (compute_avail): Insert not valueized expressions into
25183         EXP_GEN using the value-id from the VN tables.
25184         (init_pre): Allocate pre_expr_obstack.
25185         (fini_pre): Free pre_expr_obstack.
25186
25187 2022-02-25  Jakub Jelinek  <jakub@redhat.com>
25188
25189         PR target/104674
25190         * config/i386/i386.h (enum ix86_stack_slot): Add SLOT_FLOATxFDI_387.
25191         * config/i386/i386.md (splitter to floatdi<mode>2_i387_with_xmm): Use
25192         SLOT_FLOATxFDI_387 rather than SLOT_TEMP.
25193
25194 2022-02-25  Jakub Jelinek  <jakub@redhat.com>
25195
25196         * warning-control.cc (get_nowarn_spec): Comment spelling fix.
25197
25198 2022-02-25  Jakub Jelinek  <jakub@redhat.com>
25199
25200         PR middle-end/104679
25201         * internal-fn.cc (expand_SPACESHIP): Call do_pending_stack_adjust.
25202
25203 2022-02-25  Jakub Jelinek  <jakub@redhat.com>
25204
25205         PR tree-optimization/104675
25206         * match.pd (-A - 1 -> ~A, -1 - A -> ~A): Don't simplify for
25207         COMPLEX_TYPE.
25208
25209 2022-02-25  Alexandre Oliva  <oliva@adacore.com>
25210
25211         PR target/104121
25212         PR target/103302
25213         * expr.cc (emit_move_multi_word): Restore clobbers during LRA.
25214
25215 2022-02-25  Alexandre Oliva  <oliva@adacore.com>
25216
25217         PR middle-end/104540
25218         * dwarf2cfi.cc (cfi_oprnd_equal_p): Cope with NULL
25219         dw_cfi_cfa_loc.
25220
25221 2022-02-25  Alexandre Oliva  <oliva@adacore.com>
25222
25223         PR tree-optimization/103856
25224         * gimple-harden-conditionals.cc (non_eh_succ_edge): Enable the
25225         eh edge to be requested through an extra parameter.
25226         (pass_harden_compares::execute): Copy PHI args in the EH dest
25227         block for the new EH edge added for the inverted compare.
25228
25229 2022-02-24  Palmer Dabbelt  <palmer@rivosinc.com>
25230
25231         * doc/invoke.texi (RISC-V -mcmodel=medany): Document the degree
25232         of position independence that -mcmodel=medany affords.
25233
25234 2022-02-24  Jose E. Marchesi  <jose.marchesi@oracle.com>
25235
25236         PR target/104656
25237         * configure.ac: --disable-gcov if targetting bpf-*.
25238         * configure: Regenerate.
25239
25240 2022-02-24  Richard Biener  <rguenther@suse.de>
25241
25242         PR tree-optimization/104676
25243         * tree-loop-distribution.cc (loop_distribution::execute):
25244         Do a full scev_reset.
25245
25246 2022-02-24  Jakub Jelinek  <jakub@redhat.com>
25247
25248         PR tree-optimization/104601
25249         * tree-ssa-sccvn.cc (visit_reference_op_call): For calls with
25250         non-SSA_NAME lhs value number vdef to itself instead of e.g. the
25251         vuse value number.
25252
25253 2022-02-24  Tom de Vries  <tdevries@suse.de>
25254             Tobias Burnus  <tobias@codesourcery.com>
25255
25256         * config/nvptx/nvptx.cc (nvptx_omp_device_kind_arch_isa): Handle
25257         sm_70, sm_75 and sm_80.
25258         * config/nvptx/t-omp-device: Add sm_53, sm_70, sm_75 and sm_80.
25259
25260 2022-02-24  Tom de Vries  <tdevries@suse.de>
25261
25262         * config/nvptx/nvptx.md (define_insn "rotlsi3", define_insn
25263         "rotrsi3"): New define_insn.
25264
25265 2022-02-24  Tom de Vries  <tdevries@suse.de>
25266
25267         * config/nvptx/nvptx.cc (gen_comment): Use
25268         DECL_SOURCE_LOCATION (cfun->decl) instead of cfun->function_start_locus.
25269
25270 2022-02-24  liuhongt  <hongtao.liu@intel.com>
25271
25272         * config/i386/sse.md (<code>v1ti3): Add suffix and replace
25273         isa attr of alternative 2 from avx to avx512vl.
25274
25275 2022-02-23  Richard Biener  <rguenther@suse.de>
25276             Jakub Jelinek  <jakub@redhat.com>
25277
25278         PR tree-optimization/104644
25279         * doc/match-and-simplify.texi: Amend ! documentation.
25280         * genmatch.cc (expr::gen_transform): Code-generate ! support
25281         for GENERIC.
25282         (parser::parse_expr): Allow ! for GENERIC.
25283         * match.pd (cmp (bswap @0) INTEGER_CST@1): Use ! modifier on
25284         bswap.
25285
25286 2022-02-23  Richard Biener  <rguenther@suse.de>
25287
25288         PR tree-optimization/101636
25289         * tree-vect-slp.cc (vect_print_slp_tree): Dump the
25290         vector type of the node.
25291         (vect_slp_analyze_operations): Make sure the CTOR
25292         is vectorized with an expected type.
25293         (vectorize_slp_instance_root_stmt): Revert r10-5979 fix.
25294
25295 2022-02-23  Jakub Jelinek  <jakub@redhat.com>
25296
25297         PR c/104633
25298         * gimple-warn-recursion.cc (pass_warn_recursion::find_function_exit):
25299         Don't warn about calls to corresponding builtin from extern inline
25300         gnu_inline wrappers.
25301
25302 2022-02-23  Roger Sayle  <roger@nextmovesoftware.com>
25303
25304         PR target/104489
25305         * config/nvptx/nvptx.md (*movhf_insn): Add subregs_ok attribute.
25306
25307 2022-02-23  Christophe Lyon  <christophe.lyon@arm.com>
25308
25309         PR target/100757
25310         PR target/101325
25311         * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Fix
25312         typo.
25313
25314 2022-02-23  Cui,Lili  <lili.cui@intel.com>
25315
25316         * doc/invoke.texi: Update documents for Intel architectures.
25317
25318 2022-02-22  Roger Sayle  <roger@nextmovesoftware.com>
25319
25320         * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop): Restore
25321         bootstrap.
25322
25323 2022-02-22  Thomas Schwinge  <thomas@codesourcery.com>
25324
25325         * omp-low.cc (omp_build_component_ref): Move function...
25326         * omp-general.cc (omp_build_component_ref): ... here.  Remove
25327         'static'.
25328         * omp-general.h (omp_build_component_ref): Declare function.
25329         * omp-oacc-neuter-broadcast.cc (oacc_build_component_ref): Remove
25330         function.
25331         (build_receiver_ref, build_sender_ref): Call
25332         'omp_build_component_ref' instead.
25333
25334 2022-02-22  Thomas Schwinge  <thomas@codesourcery.com>
25335
25336         * omp-oacc-neuter-broadcast.cc (record_field_map_t): Further
25337         simplify.  Adjust all users.
25338
25339 2022-02-22  Segher Boessenkool  <segher@kernel.crashing.org>
25340
25341         PR target/88134
25342         * config/rs6000/rs6000.cc (atomic_hold_decl, atomic_clear_decl,
25343         atomic_update_decl): Add GTY markup.
25344
25345 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
25346
25347         * config/arm/arm.h (REG_CLASS_CONTENTS): Add VPR_REG to ALL_REGS.
25348
25349 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
25350
25351         PR target/100757
25352         PR target/101325
25353         * config/arm/arm-builtins.cc (CX_UNARY_UNONE_QUALIFIERS): Use
25354         predicate.
25355         (CX_BINARY_UNONE_QUALIFIERS): Likewise.
25356         (CX_TERNARY_UNONE_QUALIFIERS): Likewise.
25357         (TERNOP_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
25358         (QUADOP_NONE_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
25359         (QUADOP_UNONE_UNONE_UNONE_UNONE_UNONE_QUALIFIERS): Delete.
25360         * config/arm/arm_mve_builtins.def: Use predicated qualifiers.
25361         * config/arm/mve.md: Use VxBI instead of HI.
25362
25363 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
25364
25365         PR target/100757
25366         PR target/101325
25367         * config/arm/arm-builtins.cc (STRSBS_P_QUALIFIERS): Use predicate
25368         qualifier.
25369         (STRSBU_P_QUALIFIERS): Likewise.
25370         (LDRGBS_Z_QUALIFIERS): Likewise.
25371         (LDRGBU_Z_QUALIFIERS): Likewise.
25372         (LDRGBWBXU_Z_QUALIFIERS): Likewise.
25373         (LDRGBWBS_Z_QUALIFIERS): Likewise.
25374         (LDRGBWBU_Z_QUALIFIERS): Likewise.
25375         (STRSBWBS_P_QUALIFIERS): Likewise.
25376         (STRSBWBU_P_QUALIFIERS): Likewise.
25377         * config/arm/mve.md: Use VxBI instead of HI.
25378
25379 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
25380
25381         PR target/100757
25382         PR target/101325
25383         * config/arm/arm-builtins.cc (TERNOP_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
25384         (TERNOP_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
25385         (TERNOP_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
25386         (TERNOP_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
25387         (TERNOP_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
25388         (TERNOP_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
25389         (TERNOP_NONE_NONE_UNONE_UNONE_QUALIFIERS): Change to ...
25390         (TERNOP_NONE_NONE_UNONE_PRED_QUALIFIERS): ... this.
25391         (QUADOP_UNONE_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
25392         (QUADOP_UNONE_UNONE_NONE_NONE_PRED_QUALIFIERS): ... this.
25393         (QUADOP_NONE_NONE_NONE_NONE_PRED_QUALIFIERS): New.
25394         (QUADOP_NONE_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
25395         (QUADOP_NONE_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
25396         (QUADOP_UNONE_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
25397         (QUADOP_UNONE_UNONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
25398         (QUADOP_UNONE_UNONE_NONE_IMM_PRED_QUALIFIERS): ... this.
25399         (QUADOP_NONE_NONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
25400         (QUADOP_NONE_NONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
25401         (QUADOP_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
25402         (QUADOP_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
25403         (QUADOP_UNONE_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
25404         (QUADOP_UNONE_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
25405         (STRS_P_QUALIFIERS): Use predicate qualifier.
25406         (STRU_P_QUALIFIERS): Likewise.
25407         (STRSU_P_QUALIFIERS): Likewise.
25408         (STRSS_P_QUALIFIERS): Likewise.
25409         (LDRGS_Z_QUALIFIERS): Likewise.
25410         (LDRGU_Z_QUALIFIERS): Likewise.
25411         (LDRS_Z_QUALIFIERS): Likewise.
25412         (LDRU_Z_QUALIFIERS): Likewise.
25413         (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
25414         (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
25415         (BINOP_NONE_NONE_PRED_QUALIFIERS): New.
25416         (BINOP_UNONE_UNONE_PRED_QUALIFIERS): New.
25417         * config/arm/arm_mve_builtins.def: Use new predicated qualifiers.
25418         * config/arm/mve.md: Use MVE_VPRED instead of HI.
25419
25420 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
25421
25422         PR target/100757
25423         PR target/101325
25424         * config/arm/arm-builtins.cc (BINOP_UNONE_NONE_NONE_QUALIFIERS):
25425         Delete.
25426         (TERNOP_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
25427         (TERNOP_PRED_NONE_NONE_PRED_QUALIFIERS): ... this.
25428         (TERNOP_PRED_UNONE_UNONE_PRED_QUALIFIERS): New.
25429         * config/arm/arm_mve_builtins.def (vcmp*q_n_, vcmp*q_m_f): Use new
25430         predicated qualifiers.
25431         * config/arm/mve.md (mve_vcmp<mve_cmp_op>q_n_<mode>)
25432         (mve_vcmp*q_m_f<mode>): Use MVE_VPRED instead of HI.
25433
25434 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
25435
25436         PR target/100757
25437         * config/arm/arm-protos.h (arm_get_mask_mode): New prototype.
25438         (arm_expand_vector_compare): Update prototype.
25439         * config/arm/arm.cc (TARGET_VECTORIZE_GET_MASK_MODE): New.
25440         (arm_vector_mode_supported_p): Add support for VxBI modes.
25441         (arm_expand_vector_compare): Remove useless generation of vpsel.
25442         (arm_expand_vcond): Fix select operands.
25443         (arm_get_mask_mode): New.
25444         * config/arm/mve.md (vec_cmp<mode><MVE_vpred>): New.
25445         (vec_cmpu<mode><MVE_vpred>): New.
25446         (vcond_mask_<mode><MVE_vpred>): New.
25447         * config/arm/vec-common.md (vec_cmp<mode><v_cmp_result>)
25448         (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): Move to ...
25449         * config/arm/neon.md (vec_cmp<mode><v_cmp_result>)
25450         (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): ... here
25451         and disable for MVE.
25452         * doc/sourcebuild.texi (arm_mve): Document new effective-target.
25453
25454 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
25455
25456         PR target/100757
25457         PR target/101325
25458         * config/arm/arm-builtins.cc (BINOP_PRED_UNONE_UNONE_QUALIFIERS)
25459         (BINOP_PRED_NONE_NONE_QUALIFIERS)
25460         (TERNOP_NONE_NONE_NONE_PRED_QUALIFIERS)
25461         (TERNOP_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
25462         * config/arm/arm-protos.h (mve_bool_vec_to_const): New.
25463         * config/arm/arm.cc (arm_hard_regno_mode_ok): Handle new VxBI
25464         modes.
25465         (arm_mode_to_pred_mode): New.
25466         (arm_expand_vector_compare): Use the right VxBI mode instead of
25467         HI.
25468         (arm_expand_vcond): Likewise.
25469         (simd_valid_immediate): Handle MODE_VECTOR_BOOL.
25470         (mve_bool_vec_to_const): New.
25471         (neon_make_constant): Call mve_bool_vec_to_const when needed.
25472         * config/arm/arm_mve_builtins.def (vcmpneq_, vcmphiq_, vcmpcsq_)
25473         (vcmpltq_, vcmpleq_, vcmpgtq_, vcmpgeq_, vcmpeqq_, vcmpneq_f)
25474         (vcmpltq_f, vcmpleq_f, vcmpgtq_f, vcmpgeq_f, vcmpeqq_f, vpselq_u)
25475         (vpselq_s, vpselq_f): Use new predicated qualifiers.
25476         * config/arm/constraints.md (DB): New.
25477         * config/arm/iterators.md (MVE_7, MVE_7_HI): New mode iterators.
25478         (MVE_VPRED, MVE_vpred): New attribute iterators.
25479         * config/arm/mve.md (@mve_vcmp<mve_cmp_op>q_<mode>)
25480         (@mve_vcmp<mve_cmp_op>q_f<mode>, @mve_vpselq_<supf><mode>)
25481         (@mve_vpselq_f<mode>): Use MVE_VPRED instead of HI.
25482         (@mve_vpselq_<supf>v2di): Define separately.
25483         (mov<mode>): New expander for VxBI modes.
25484         * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Use
25485         MVE_7_HI iterator and add support for DB constraint.
25486
25487 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
25488             Richard Sandiford  <richard.sandiford@arm.com>
25489
25490         PR target/100757
25491         PR target/101325
25492         * config/aarch64/aarch64-modes.def (VNx16BI, VNx8BI, VNx4BI,
25493         VNx2BI): Update definition.
25494         * config/arm/arm-builtins.cc (arm_init_simd_builtin_types): Add new
25495         simd types.
25496         (arm_init_builtin): Map predicate vectors arguments to HImode.
25497         (arm_expand_builtin_args): Move HImode predicate arguments to VxBI
25498         rtx. Move return value to HImode rtx.
25499         * config/arm/arm-builtins.h (arm_type_qualifiers): Add qualifier_predicate.
25500         * config/arm/arm-modes.def (B2I, B4I, V16BI, V8BI, V4BI): New modes.
25501         * config/arm/arm-simd-builtin-types.def (Pred1x16_t,
25502         Pred2x8_t,Pred4x4_t): New.
25503         * emit-rtl.cc (init_emit_once): Handle all boolean modes.
25504         * genmodes.cc (mode_data): Add boolean field.
25505         (blank_mode): Initialize it.
25506         (make_complex_modes): Fix handling of boolean modes.
25507         (make_vector_modes): Likewise.
25508         (VECTOR_BOOL_MODE): Use new COMPONENT parameter.
25509         (make_vector_bool_mode): Likewise.
25510         (BOOL_MODE): New.
25511         (make_bool_mode): New.
25512         (emit_insn_modes_h): Fix generation of boolean modes.
25513         (emit_class_narrowest_mode): Likewise.
25514         * machmode.def: (VECTOR_BOOL_MODE): Document new COMPONENT
25515         parameter.  Use new BOOL_MODE instead of FRACTIONAL_INT_MODE to
25516         define BImode.
25517         * rtx-vector-builder.cc (rtx_vector_builder::find_cached_value):
25518         Fix handling of constm1_rtx for VECTOR_BOOL.
25519         * simplify-rtx.cc (native_encode_rtx): Fix support for VECTOR_BOOL.
25520         (native_decode_vector_rtx): Likewise.
25521         (test_vector_ops_duplicate): Skip vec_merge test
25522         with vectors of booleans.
25523         * varasm.cc (output_constant_pool_2): Likewise.
25524
25525 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
25526
25527         * config/arm/mve.md (mve_vmvnq_n_<supf><mode>): Use V_elem mode
25528         for operand 1.
25529
25530 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
25531
25532         * config/arm/arm.cc (arm_class_likely_spilled_p): Handle VPR_REG.
25533
25534 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
25535
25536         * config/arm/arm.h (reg_class): Add GENERAL_AND_VPR_REGS.
25537         (REG_CLASS_NAMES): Likewise.
25538         (REG_CLASS_CONTENTS): Likewise.
25539         (CLASS_MAX_NREGS): Handle VPR.
25540         * config/arm/arm.cc (arm_hard_regno_nregs): Handle VPR.
25541
25542 2022-02-22  Tobias Burnus  <tobias@codesourcery.com>
25543             Tom de Vries  <tdevries@suse.de>
25544
25545         * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Handle SM70.
25546         * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm):
25547         Likewise.
25548         * config/nvptx/nvptx.opt (misa): Add sm_70 alias PTX_ISA_SM70.
25549
25550 2022-02-22  Tobias Burnus  <tobias@codesourcery.com>
25551             Tom de Vries  <tdevries@suse.de>
25552
25553         * config/nvptx/nvptx.opt (mptx): Add 6.0 alias PTX_VERSION_6_0.
25554         * doc/invoke.texi (-mptx): Update for new values and defaults.
25555
25556 2022-02-22  Tom de Vries  <tdevries@suse.de>
25557
25558         * config/nvptx/nvptx.cc (gen_comment): New function.
25559         (workaround_uninit_method_1, workaround_uninit_method_2)
25560         (workaround_uninit_method_3): : Use gen_comment.
25561         * config/nvptx/nvptx.opt (mptx-comment): New option.
25562
25563 2022-02-22  Richard Biener  <rguenther@suse.de>
25564
25565         * tree-vect-slp.cc (vect_build_slp_tree_2): Dump the def used
25566         for a splat.
25567
25568 2022-02-22  Roger Sayle  <roger@nextmovesoftware.com>
25569             Richard Biener  <rguenther@suse.de>
25570
25571         * fold-const.cc (ctor_single_nonzero_element): New function to
25572         return the single non-zero element of a (vector) constructor.
25573         * fold-const.h (ctor_single_nonzero_element): Prototype here.
25574         * match.pd (reduc (constructor@0)): Simplify reductions of a
25575         constructor containing a single non-zero element.
25576         (reduc (@0 op VECTOR_CST) ->  (reduc @0) op CONST): Simplify
25577         reductions of vector operations of the same operator with
25578         constant vector operands.
25579
25580 2022-02-22  Jakub Jelinek  <jakub@redhat.com>
25581
25582         PR tree-optimization/104604
25583         * gimple-range-fold.cc (adjust_imagpart_expr, adjust_realpart_expr):
25584         Only check if gimple_assign_rhs1 is COMPLEX_CST if
25585         gimple_assign_rhs_code is COMPLEX_CST.
25586
25587 2022-02-22  Jakub Jelinek  <jakub@redhat.com>
25588
25589         PR target/104612
25590         * config/i386/i386-expand.cc (ix86_expand_copysign): Call force_reg
25591         on input operands before calling lowpart_subreg on it.  For output
25592         operand, use a vmode pseudo as destination and then move its lowpart
25593         subreg into operands[0] if lowpart_subreg fails on dest.
25594         (ix86_expand_xorsign): Likewise.
25595
25596 2022-02-22  Richard Biener  <rguenther@suse.de>
25597
25598         PR tree-optimization/104582
25599         PR target/99881
25600         * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
25601         Cost GPR to vector register moves for integer vector construction.
25602
25603 2022-02-22  Richard Biener  <rguenther@suse.de>
25604
25605         PR tree-optimization/104582
25606         * tree-vectorizer.h (stmt_info_for_cost::node): New field.
25607         (vector_costs::add_stmt_cost): Add SLP node parameter.
25608         (dump_stmt_cost): Likewise.
25609         (add_stmt_cost): Likewise, new overload and adjust.
25610         (add_stmt_costs): Adjust.
25611         (record_stmt_cost): New overload.
25612         * tree-vectorizer.cc (dump_stmt_cost): Dump the SLP node.
25613         (vector_costs::add_stmt_cost): Adjust.
25614         * tree-vect-loop.cc (vect_estimate_min_profitable_iters):
25615         Adjust.
25616         * tree-vect-slp.cc (vect_prologue_cost_for_slp): Record
25617         the SLP node for costing.
25618         (vectorizable_slp_permutation): Likewise.
25619         * tree-vect-stmts.cc (record_stmt_cost): Adjust and add
25620         new overloads.
25621         * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
25622         Adjust.
25623         * config/aarch64/aarch64.cc (aarch64_vector_costs::add_stmt_cost):
25624         Adjust.
25625         * config/rs6000/rs6000.cc (rs6000_vector_costs::add_stmt_cost):
25626         Adjust.
25627         (rs6000_cost_data::adjust_vect_cost_per_loop): Likewise.
25628
25629 2022-02-22  Richard Biener  <rguenther@suse.de>
25630
25631         PR tree-optimization/104582
25632         * tree-vectorizer.h (add_stmt_cost): New overload.
25633         (record_stmt_cost): Likewise.
25634         * tree-vect-loop.cc (vect_compute_single_scalar_iteration_cost):
25635         Use add_stmt_costs.
25636         (vect_get_known_peeling_cost): Use new overloads.
25637         (vect_estimate_min_profitable_iters): Likewise.  Consistently
25638         use scalar_stmt for costing versioning checks.
25639         * tree-vect-stmts.cc (record_stmt_cost): New overload.
25640
25641 2022-02-22  Hongyu Wang  <hongyu.wang@intel.com>
25642
25643         PR target/103069
25644         * config/i386/i386-expand.cc (ix86_expand_atomic_fetch_op_loop):
25645         Split atomic fetch and loop part.
25646         (ix86_expand_cmpxchg_loop): New expander for cmpxchg loop.
25647         * config/i386/i386-protos.h (ix86_expand_cmpxchg_loop): New
25648         prototype.
25649         * config/i386/sync.md (atomic_compare_and_swap<mode>): Call new
25650         expander under TARGET_RELAX_CMPXCHG_LOOP.
25651         (atomic_compare_and_swap<mode>): Likewise for doubleword modes.
25652
25653 2022-02-21  Dan Li  <ashimida@linux.alibaba.com>
25654
25655         * config/aarch64/aarch64.cc (SLOT_REQUIRED):
25656         Change wb_candidate[12] to wb_push_candidate[12].
25657         (aarch64_layout_frame): Likewise, and
25658         change callee_adjust when scs is enabled.
25659         (aarch64_save_callee_saves):
25660         Change wb_candidate[12] to wb_push_candidate[12].
25661         (aarch64_restore_callee_saves):
25662         Change wb_candidate[12] to wb_pop_candidate[12].
25663         (aarch64_get_separate_components):
25664         Change wb_candidate[12] to wb_push_candidate[12].
25665         (aarch64_expand_prologue): Push x30 onto SCS before it's
25666         pushed onto stack.
25667         (aarch64_expand_epilogue): Pop x30 frome SCS, while
25668         preventing it from being popped from the regular stack again.
25669         (aarch64_override_options_internal): Add SCS compile option check.
25670         (TARGET_HAVE_SHADOW_CALL_STACK): New hook.
25671         * config/aarch64/aarch64.h (struct GTY): Add is_scs_enabled,
25672         wb_pop_candidate[12], and rename wb_candidate[12] to
25673         wb_push_candidate[12].
25674         * config/aarch64/aarch64.md (scs_push): New template.
25675         (scs_pop): Likewise.
25676         * doc/invoke.texi: Document -fsanitize=shadow-call-stack.
25677         * doc/tm.texi: Regenerate.
25678         * doc/tm.texi.in: Add hook have_shadow_call_stack.
25679         * flag-types.h (enum sanitize_code):
25680         Add SANITIZE_SHADOW_CALL_STACK.
25681         * opts.cc (parse_sanitizer_options): Add shadow-call-stack
25682         and exclude SANITIZE_SHADOW_CALL_STACK.
25683         * target.def: New hook.
25684         * toplev.cc (process_options): Add SCS compile option check.
25685         * ubsan.cc (ubsan_expand_null_ifn): Enum type conversion.
25686
25687 2022-02-21  Tom de Vries  <tdevries@suse.de>
25688
25689         PR target/104440
25690         * config/nvptx/nvptx.cc (workaround_uninit_method_1)
25691         (workaround_uninit_method_2, workaround_uninit_method_3)
25692         (workaround_uninit): New function.
25693         (nvptx_reorg): Use workaround_uninit.
25694         * config/nvptx/nvptx.opt (minit-regs): New option.
25695
25696 2022-02-21  Andre Vieira  <andre.simoesdiasvieira@arm.com>
25697
25698         PR rtl-optimization/104498
25699         * alias.cc (compare_base_symbol_refs): Correct distance computation
25700         when swapping x and y.
25701
25702 2022-02-21  Andrew Pinski  <apinski@marvell.com>
25703
25704         PR c/104506
25705         * tree-ssa.cc (tree_ssa_useless_type_conversion):
25706         Check the inner type before calling useless_type_conversion_p.
25707
25708 2022-02-19  Tom de Vries  <tdevries@suse.de>
25709
25710         * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle SET insn.
25711         * config/nvptx/nvptx.md
25712         (define_insn "nvptx_atomic_store<mode>"): Rename to ...
25713         (define_insn "nvptx_atomic_store_sm70<mode>"): This.
25714         (define_insn "nvptx_atomic_store<mode>"): New define_insn.
25715         (define_expand "atomic_store<mode>"): Handle rename.  Use
25716         nvptx_atomic_store instead of atomic_exchange.
25717
25718 2022-02-19  Tom de Vries  <tdevries@suse.de>
25719
25720         * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle all
25721         insns with atomic attribute.  Assert that all handled insns are
25722         PARALLELs.
25723         * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"):
25724         Set atomic attribute to false.
25725
25726 2022-02-19  Tom de Vries  <tdevries@suse.de>
25727
25728         * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Change return
25729         type to bool.
25730         (nvptx_reorg_uniform_simt): Insert nvptx_uniform_warp_check or
25731         nvptx_warpsync, if necessary.
25732
25733 2022-02-19  Jakub Jelinek  <jakub@redhat.com>
25734
25735         PR sanitizer/102656
25736         * asan.cc (instrument_derefs): If inner is a RESULT_DECL and access is
25737         known to be within bounds, treat it like automatic variables.
25738         If instrumenting access and inner is {VAR,PARM,RESULT}_DECL from
25739         current function and !TREE_STATIC which is not TREE_ADDRESSABLE, mark
25740         it addressable.
25741
25742 2022-02-18  Pat Haugen  <pthaugen@linux.ibm.com>
25743
25744         * config/rs6000/rs6000.opt (mpower10-fusion): Mark Undocumented.
25745         (mpower10-fusion-ld-cmpi, mpower10-fusion-2logical,
25746         mpower10-fusion-logical-add, mpower10-fusion-add-logical,
25747         mpower10-fusion-2add, mpower10-fusion-2store): Remove.
25748         * config/rs6000/rs6000-cpus.def (ISA_3_1_MASKS_SERVER,
25749         OTHER_P9_VECTOR_MASKS): Remove Power10 fusion sub-options.
25750         * config/rs6000/rs6000.cc (rs6000_option_override_internal,
25751         power10_sched_reorder): Likewise.
25752         * config/rs6000/genfusion.pl (gen_ld_cmpi_p10, gen_logical_addsubf,
25753         gen_addadd): Likewise
25754         * config/rs6000/fusion.md: Regenerate.
25755
25756 2022-02-18  Jakub Jelinek  <jakub@redhat.com>
25757
25758         PR target/104257
25759         PR target/104598
25760         * config/rs6000/mm_malloc.h (_mm_malloc): Call posix_memalign
25761         rather than __posix_memalign.
25762
25763 2022-02-18  Richard Biener  <rguenther@suse.de>
25764
25765         PR target/104581
25766         * config/i386/i386.cc (ix86_avx_u128_mode_source): Remove.
25767         (ix86_avx_u128_mode_needed): Return AVX_U128_DIRTY instead
25768         of calling ix86_avx_u128_mode_source which would eventually
25769         have returned AVX_U128_ANY in some very special case.
25770
25771 2022-02-18  Richard Biener  <rguenther@suse.de>
25772
25773         PR tree-optimization/96881
25774         * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Comment
25775         CLOBBER handling.
25776         (control_parents_preserved_p): New function.
25777         (eliminate_unnecessary_stmts): Check that we preserved control
25778         parents before retaining a CLOBBER.
25779         (perform_tree_ssa_dce): Pass down aggressive flag
25780         to eliminate_unnecessary_stmts.
25781
25782 2022-02-17  Jason Merrill  <jason@redhat.com>
25783
25784         * tree.cc (warn_deprecated_use): Look for TYPE_STUB_DECL
25785         on TYPE_MAIN_VARIANT.
25786
25787 2022-02-17  Paul A. Clarke  <pc@us.ibm.com>
25788
25789         PR target/104257
25790         * config/rs6000/bmi2intrin.h: Uglify local variables.
25791         * config/rs6000/emmintrin.h: Likewise.
25792         * config/rs6000/mm_malloc.h: Likewise.
25793         * config/rs6000/mmintrin.h: Likewise.
25794         * config/rs6000/pmmintrin.h: Likewise.
25795         * config/rs6000/smmintrin.h: Likewise.
25796         * config/rs6000/tmmintrin.h: Likewise.
25797         * config/rs6000/xmmintrin.h: Likewise.
25798
25799 2022-02-17  Robin Dapp  <rdapp@linux.ibm.com>
25800
25801         PR target/104335
25802         * config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Return false
25803         if the expected comparison's first operand is of mode MODE_CC.
25804
25805 2022-02-17  Vladimir N. Makarov  <vmakarov@redhat.com>
25806
25807         PR rtl-optimization/104447
25808         * lra-constraints.cc (spill_hard_reg_in_range): Initiate ignore
25809         hard reg set by lra_no_alloc_regs.
25810
25811 2022-02-17  liuhongt  <hongtao.liu@intel.com>
25812
25813         PR tree-optimization/104551
25814         PR tree-optimization/103771
25815         * match.pd (cond_expr_convert_p): Add types_match check when
25816         convert is extension.
25817         * tree-vect-patterns.cc
25818         (gimple_cond_expr_convert_p): Adjust comments.
25819         (vect_recog_cond_expr_convert_pattern): Ditto.
25820
25821 2022-02-17  Jakub Jelinek  <jakub@redhat.com>
25822
25823         PR debug/104557
25824         * valtrack.cc (debug_lowpart_subreg): Don't call gen_rtx_raw_SUBREG
25825         if expr has VOIDmode.
25826
25827 2022-02-17  liuhongt  <hongtao.liu@intel.com>
25828
25829         * config/i386/cpuid.h (bit_MPX): Removed.
25830         (bit_BNDREGS): Ditto.
25831         (bit_BNDCSR): Ditto.
25832
25833 2022-02-17  Michael Meissner  <meissner@the-meissners.org>
25834
25835         PR target/99708
25836         * config/rs6000/rs6000-c.cc (rs6000_cpu_cpp_builtins): Define
25837         __SIZEOF_IBM128__ if the IBM 128-bit long double type is created.
25838         Define __SIZEOF_FLOAT128__ if the IEEE 128-bit floating point type
25839         is created.
25840
25841 2022-02-16  Andrew MacLeod  <amacleod@redhat.com>
25842
25843         * gimple-range-gori.cc (gori_compute::condexpr_adjust): Use
25844         range_compatible_p instead of direct type comparison.
25845
25846 2022-02-16  Jakub Jelinek  <jakub@redhat.com>
25847
25848         PR rtl-optimization/104544
25849         * combine.cc (try_combine): When looking for insn whose links
25850         should be updated from i3 to i2, don't stop on debug insns, instead
25851         skip over them.
25852
25853 2022-02-16  Richard Sandiford  <richard.sandiford@arm.com>
25854
25855         PR target/100056
25856         * config/aarch64/iterators.md (LOGICAL_OR_PLUS): New iterator.
25857         * config/aarch64/aarch64.md: Extend the PR100056 patterns
25858         to handle plus in the same way as ior, if the operands have
25859         no set bits in common.
25860
25861 2022-02-15  Andrew MacLeod  <amacleod@redhat.com>
25862
25863         PR tree-optimization/104526
25864         * gimple-range-fold.cc (fold_using_range::range_of_cond_expr): Call
25865         new routine.
25866         * gimple-range-gori.cc (range_def_chain::get_def_chain): Force a build
25867         of dependency chain if there isn't one.
25868         (gori_compute::condexpr_adjust): New.
25869         * gimple-range-gori.h (class gori_compute): New prototype.
25870
25871 2022-02-15  Richard Sandiford  <richard.sandiford@arm.com>
25872
25873         PR target/100874
25874         * config/aarch64/aarch64-protos.h (aarch64_maxmin_plus_const):
25875         Declare.
25876         * config/aarch64/aarch64.cc (aarch64_maxmin_plus_const): New function.
25877         * config/aarch64/aarch64.md (*aarch64_minmax_plus): New pattern.
25878
25879 2022-02-15  Richard Sandiford  <richard.sandiford@arm.com>
25880
25881         * tree-vectorizer.h (vect_scalar_ops_slice): New struct.
25882         (vect_scalar_ops_slice_hash): Likewise.
25883         (vect_scalar_ops_slice::op): New function.
25884         * tree-vect-slp.cc (vect_scalar_ops_slice::all_same_p): New function.
25885         (vect_scalar_ops_slice_hash::hash): Likewise.
25886         (vect_scalar_ops_slice_hash::equal): Likewise.
25887         (vect_prologue_cost_for_slp): Check for duplicate vectors.
25888         * config/aarch64/aarch64.cc
25889         (aarch64_vector_costs::m_stp_sequence_cost): New member variable.
25890         (aarch64_aligned_constant_offset_p): New function.
25891         (aarch64_stp_sequence_cost): Likewise.
25892         (aarch64_vector_costs::add_stmt_cost): Handle new STP heuristic.
25893         (aarch64_vector_costs::finish_cost): Likewise.
25894
25895 2022-02-15  Richard Sandiford  <richard.sandiford@arm.com>
25896
25897         * tree-vect-slp.cc (vect_bb_vectorization_profitable_p): Fix
25898         use after free.
25899
25900 2022-02-15  Richard Biener  <rguenther@suse.de>
25901
25902         PR tree-optimization/104543
25903         * gimple-loop-jam.cc (unroll_jam_possible_p): Check outer loop exits
25904         come after the inner loop.
25905
25906 2022-02-15  Jakub Jelinek  <jakub@redhat.com>
25907
25908         PR target/104536
25909         * config/i386/host-cygwin.cc (cygwin_gt_pch_get_address): Use
25910         cannot instead of can%'t in diagnostics.  Formatting fixes.
25911
25912 2022-02-15  Jakub Jelinek  <jakub@redhat.com>
25913
25914         PR middle-end/104522
25915         * fold-const.h (native_interpret_real): Declare.
25916         * fold-const.cc (native_interpret_real): No longer static.  Don't
25917         perform MODE_COMPOSITE_P verification here.
25918         (native_interpret_expr) <case REAL_TYPE>: But perform it here instead
25919         for all modes.
25920         * gimple-fold.cc (clear_padding_type): Call native_interpret_real
25921         instead of native_interpret_expr.
25922         * simplify-rtx.cc (simplify_immed_subreg): Perform the native_encode_rtx
25923         and comparison verification for all FLOAT_MODE_P modes, not just
25924         MODE_COMPOSITE_P.
25925
25926 2022-02-15  Richard Biener  <rguenther@suse.de>
25927
25928         PR tree-optimization/104519
25929         * fold-const.cc (multiple_of_p): Remove never true condition.
25930         * tree-ssa-loop-niter.cc (number_of_iterations_ne): Use
25931         the appropriate types for determining whether the difference
25932         of final and base is a multiple of the step.
25933
25934 2022-02-15  Jakub Jelinek  <jakub@redhat.com>
25935
25936         PR debug/104517
25937         * omp-low.cc (task_cpyfns): New variable.
25938         (delete_omp_context): Don't call finalize_task_copyfn from here.
25939         (create_task_copyfn): Push task_stmt into task_cpyfns.
25940         (execute_lower_omp): Call finalize_task_copyfn here on entries from
25941         task_cpyfns vector and release the vector.
25942
25943 2022-02-14  Martin Sebor  <msebor@redhat.com>
25944
25945         PR middle-end/104355
25946         * doc/invoke.texi (-Warray-bounds): Update documentation.
25947
25948 2022-02-14  Michael Meissner  <meissner@the-meissners.org>
25949
25950         PR target/104253
25951         * config/rs6000/rs6000.cc (init_float128_ibm): Update the
25952         conversion functions used to convert IFmode types.
25953
25954 2022-02-14  Andrew Stubbs  <ams@codesourcery.com>
25955
25956         * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Use force_reg.
25957
25958 2022-02-14  Richard Biener  <rguenther@suse.de>
25959
25960         PR tree-optimization/104528
25961         * tree-ssa.h (find_released_ssa_name): Declare.
25962         * tree-ssa.cc (find_released_ssa_name): Export.
25963         * cfgloop.cc (verify_loop_structure): Look for released
25964         SSA names in loops nb_iterations.
25965         * tree-ssa-dse.cc (pass_dse::execute): Release number of iteration
25966         estimates.
25967
25968 2022-02-14  Richard Biener  <rguenther@suse.de>
25969
25970         PR tree-optimization/104511
25971         * tree-ssa-forwprop.cc (simplify_vector_constructor): Avoid
25972         touching DFP <-> FP conversions.
25973
25974 2022-02-14  Richard Biener  <rguenther@suse.de>
25975
25976         PR middle-end/104497
25977         * gimplify.cc (gimplify_compound_lval): Make sure the
25978         base is a non-register if needed and possible.
25979
25980 2022-02-13  liuhongt  <hongtao.liu@intel.com>
25981
25982         PR target/103771
25983         * match.pd (cond_expr_convert_p): New match.
25984         * tree-vect-patterns.cc (gimple_cond_expr_convert_p): Declare.
25985         (vect_recog_cond_expr_convert_pattern): New.
25986
25987 2022-02-12  Jakub Jelinek  <jakub@redhat.com>
25988
25989         PR sanitizer/104449
25990         * asan.cc: Include tree-eh.h.
25991         (handle_builtin_alloca): Handle the case when __builtin_alloca or
25992         __builtin_alloca_with_align can throw.
25993
25994 2022-02-12  Jakub Jelinek  <jakub@redhat.com>
25995
25996         PR target/104502
25997         * config/i386/i386.md (cvtsd2ss splitter): If operands[1] is xmm16+
25998         and AVX512VL isn't available, move operands[1] to operands[0] first.
25999
26000 2022-02-12  Uroš Bizjak  <ubizjak@gmail.com>
26001
26002         PR target/79754
26003         * config/i386/i386.cc (type_natural_mode):
26004         Skip decimal float vector modes.
26005
26006 2022-02-11  Iain Sandoe  <iain@sandoe.co.uk>
26007             Vladimir Makarov  <vmakarov@redhat.com>
26008
26009         PR target/104117
26010         * config/rs6000/rs6000.cc (darwin_rs6000_legitimate_lo_sum_const_p):
26011         Check for UNSPEC_MACHOPIC_OFFSET wrappers on symbolic addresses when
26012         emitting PIC code.
26013         (legitimate_lo_sum_address_p): Likewise.
26014         * lra-constraints.cc (process_address_1): Do not attempt to emit a reg
26015         load from an invalid lo_sum address.
26016
26017 2022-02-11  Jakub Jelinek  <jakub@redhat.com>
26018
26019         PR tree-optimization/104499
26020         * match.pd ((X & Y) CMP 0 -> X CMP2 ~Y): Use view_convert instead
26021         of convert.
26022
26023 2022-02-11  Jakub Jelinek  <jakub@redhat.com>
26024
26025         * tree.cc (build_common_builtin_nodes): Fix up formatting in
26026         __builtin_clear_padding decl creation.
26027         * gimplify.cc (gimple_add_padding_init_for_auto_var): Encode
26028         for_auto_init in the value of 2nd BUILT_IN_CLEAR_PADDING
26029         argument rather than in 3rd argument.
26030         (gimplify_call_expr): Likewise.  Fix up comment formatting.
26031         * gimple-fold.cc (gimple_fold_builtin_clear_padding): Expect
26032         2 arguments instead of 3, take for_auto_init from the value
26033         of 2nd argument.
26034
26035 2022-02-11  Vladimir N. Makarov  <vmakarov@redhat.com>
26036
26037         PR rtl-optimization/104400
26038         * lra-constraints.cc (process_alt_operands): Don't make union of
26039         this_alternative_exclude_start_hard_regs when reg class in insn
26040         alternative covers other reg classes in the same alternative.
26041
26042 2022-02-11  Jakub Jelinek  <jakub@redhat.com>
26043
26044         PR middle-end/104446
26045         * combine.cc (subst): Don't substitute CONST_INTs into RTX_AUTOINC
26046         operands.
26047
26048 2022-02-11  Richard Biener  <rguenther@suse.de>
26049
26050         PR middle-end/104496
26051         * internal-fn.cc (vectorized_internal_fn_supported_p):
26052         Bail out for integer mode vector types.
26053
26054 2022-02-11  Jakub Jelinek  <jakub@redhat.com>
26055
26056         PR rtl-optimization/104459
26057         * df-scan.cc (df_insn_change_bb): Don't call df_set_bb_dirty when
26058         moving DEBUG_INSNs between bbs.
26059
26060 2022-02-11  liuhongt  <hongtao.liu@intel.com>
26061
26062         PR tree-optimization/104479
26063         * match.pd (uncond_op + vec_cond -> cond_op): Add single_use
26064         for the dest of uncond_op.
26065
26066 2022-02-11  Tom de Vries  <tdevries@suse.de>
26067
26068         PR target/104456
26069         * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle asm
26070         insn.
26071
26072 2022-02-10  Qing Zhao  <qing.zhao@oracle.com>
26073
26074         PR middle-end/100775
26075         * function.cc (gen_call_used_regs_seq): Call
26076         df_update_exit_block_uses when updating df.
26077
26078 2022-02-10  Uroš Bizjak  <ubizjak@gmail.com>
26079
26080         PR target/104469
26081         * config/i386/sse.md (vec_unpacks_float_lo_v4si):
26082         Change operand 1 constraint to register_operand.
26083
26084 2022-02-10  Richard Biener  <rguenther@suse.de>
26085
26086         PR tree-optimization/104373
26087         * tree-ssa-sccvn.h (do_rpo_vn): New export exposing the
26088         walk kind.
26089         * tree-ssa-sccvn.cc (do_rpo_vn): Export, get the default
26090         walk kind as argument.
26091         (run_rpo_vn): Adjust.
26092         (pass_fre::execute): Likewise.
26093         * tree-ssa-uninit.cc (warn_uninitialized_vars): Skip
26094         blocks not reachable.
26095         (execute_late_warn_uninitialized): Mark all edges as
26096         executable.
26097         (execute_early_warn_uninitialized): Use VN to compute
26098         executable edges.
26099         (pass_data_early_warn_uninitialized): Enable a dump file,
26100         change dump name to warn_uninit.
26101
26102 2022-02-10  Richard Biener  <rguenther@suse.de>
26103
26104         PR middle-end/104467
26105         * match.pd (vector extract simplification): Multiply the
26106         number of CTOR elements with the number of element elements.
26107
26108 2022-02-10  Richard Biener  <rguenther@suse.de>
26109
26110         PR tree-optimization/104466
26111         * tree-ssa-alias.cc (refs_may_alias_p_2): Use rbase1/rbase2
26112         for the MR_DEPENDENCE checks as intended.
26113
26114 2022-02-10  Tom de Vries  <tdevries@suse.de>
26115
26116         * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"): New
26117         define_insn.
26118         (define_expand "atomic_store<mode>"): Use nvptx_atomic_store<mode> for
26119         TARGET_SM70.
26120         (define_c_enum "unspecv"): Add UNSPECV_ST.
26121
26122 2022-02-10  Tom de Vries  <tdevries@suse.de>
26123
26124         * config/nvptx/nvptx-protos.h (nvptx_mem_maybe_shared_p): Declare.
26125         * config/nvptx/nvptx.cc (nvptx_mem_data_area): New static function.
26126         (nvptx_mem_maybe_shared_p): New function.
26127         * config/nvptx/nvptx.md (define_expand "atomic_store<mode>"): New
26128         define_expand.
26129
26130 2022-02-10  Tom de Vries  <tdevries@suse.de>
26131
26132         PR target/97005
26133         * config/nvptx/nvptx.md (define_insn "sub<mode>3"): Workaround
26134         driver JIT bug by using sub.s16 instead of sub.u16.
26135
26136 2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
26137
26138         * config/nvptx/nvptx.md (copysign<mode>3): Allow immediate
26139         floating point constants as operands 1 and/or 2.
26140
26141 2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
26142
26143         PR target/104345
26144         * config/nvptx/nvptx.md (sel_true<mode>): Fix indentation.
26145         (sel_false<mode>): Likewise.
26146         (define_code_iterator eqne): New code iterator for EQ and NE.
26147         (*selp<mode>_neg_<code>): New define_insn_and_split to optimize
26148         the negation of a selp instruction.
26149         (*selp<mode>_not_<code>): New define_insn_and_split to optimize
26150         the bitwise not of a selp instruction.
26151         (*setcc_int<mode>): Use set instruction for neg:SI of a selp.
26152
26153 2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
26154
26155         * config/nvptx/nvptx.md (any_logic): Move code iterator earlier
26156         in machine description.
26157         (logic): Move code attribute earlier in machine description.
26158         (ilogic): New code attribute, like logic but "ior" for IOR.
26159         (and<mode>3, ior<mode>3, xor<mode>3): Delete. Replace with...
26160         (<ilogic><mode>3): New define_insn for HSDIM logic operations.
26161         (<ilogic>bi3): New define_insn for BI mode logic operations.
26162         (define_split): Lower logic operations from integer modes to
26163         BI mode predicate operations.
26164
26165 2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
26166
26167         * config/nvptx/nvptx.md (UNSPEC_ISINF): New UNSPEC.
26168         (one_cmplbi2): New define_insn for not.pred.
26169         (mulditi3): New define_expand for signed widening multiply.
26170         (umulditi3): New define_expand for unsigned widening multiply.
26171         (smul<mode>3_highpart): New define_insn for signed highpart mult.
26172         (umul<mode>3_highpart): New define_insn for unsigned highpart mult.
26173         (*smulhi3_highpart_2): Renamed from smulhi3_highpart.
26174         (*smulsi3_highpart_2): Renamed from smulsi3_highpart.
26175         (*umulhi3_highpart_2): Renamed from umulhi3_highpart.
26176         (*umulsi3_highpart_2): Renamed from umulsi3_highpart.
26177         (*setcc<mode>_from_not_bi): New define_insn.
26178         (*setcc_isinf<mode>): New define_insn for testp.infinite.
26179         (isinf<mode>2): New define_expand.
26180
26181 2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
26182
26183         * config/nvptx/nvptx.md (cmp<mode>): Renamed from *cmp<mode>.
26184         (setcc<mode>_from_bi): Additionally support QImode.
26185         (extendbi<mode>2): Additionally support QImode.
26186         (zero_extendbi<mode>2): Additionally support QImode.
26187         (any_sbinary, any_ubinary, any_sunary, any_uunary): New code
26188         iterators for signed and unsigned, binary and unary operations.
26189         (<sbinary>qi3, <ubinary>qi3, <sunary>qi2, <uunary>qi2): New
26190         expanders to perform QImode operations using SImode instructions.
26191         (cstoreqi4): New define_expand.
26192         (*ext_truncsi2_qi): New define_insn.
26193         (*zext_truncsi2_qi): New define_insn.
26194
26195 2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
26196
26197         * config/nvptx/nvptx.md (*cmpf): New define_insn.
26198         (cstorehf4): New define_expand.
26199         (fmahf4): New define_insn.
26200         (neghf2): New define_insn.
26201         (abshf2): New define_insn.
26202
26203 2022-02-10  Gerald Pfeifer  <gerald@pfeifer.com>
26204
26205         * doc/install.texi (Specific): Change the www.bitwizard.nl
26206         reference to use https.
26207
26208 2022-02-10  Marcel Vollweiler  <marcel@codesourcery.com>
26209
26210         * gimplify.cc (gimplify_scan_omp_clauses): Added cases for
26211         OMP_CLAUSE_HAS_DEVICE_ADDR
26212         and handle array sections.
26213         (gimplify_adjust_omp_clauses): Added OMP_CLAUSE_HAS_DEVICE_ADDR case.
26214         * omp-low.cc (scan_sharing_clauses): Handle OMP_CLAUSE_HAS_DEVICE_ADDR.
26215         (lower_omp_target): Same.
26216         * tree-core.h (enum omp_clause_code): Same.
26217         * tree-nested.cc (convert_nonlocal_omp_clauses): Same.
26218         (convert_local_omp_clauses): Same.
26219         * tree-pretty-print.cc (dump_omp_clause): Same.
26220         * tree.cc: Same.
26221
26222 2022-02-10  Eugene Rozenfeld  <erozen@microsoft.com>
26223
26224         * auto-profile.cc (afdo_indirect_call): Don't attempt to promote indirect calls
26225         that will result in direct recursive calls.
26226
26227 2022-02-10  Andrew Pinski  <apinski@marvell.com>
26228
26229         PR target/104474
26230         * config/aarch64/aarch64.cc
26231         (aarch64_sve_expand_vector_init_handle_trailing_constants):
26232         Use CONST0_RTX instead of const0_rtx for the non-constant elements.
26233
26234 2022-02-09  Uroš Bizjak  <ubizjak@gmail.com>
26235
26236         PR target/104462
26237         * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_XSAVE_UNSET):
26238         Also include OPTION_MASK_ISA2_AVX2_UNSET.
26239
26240 2022-02-09  Uroš Bizjak  <ubizjak@gmail.com>
26241
26242         PR target/104458
26243         * config/i386/i386-expand.cc (ix86_split_idivmod):
26244         Force operands[2] and operands[3] into a register..
26245
26246 2022-02-09  Jeff Law  <jeffreyalaw@gmail.com>
26247
26248         PR target/97040
26249         * config/v850/v850.md (*v850_fnmasf4): Renamed from fnmasf4.
26250         (*v850_fnmssf4): Renamed from fnmssf4
26251
26252 2022-02-09  Ian Lance Taylor  <iant@golang.org>
26253
26254         * godump.cc (go_force_record_alignment): Really name the alignment
26255         field "_" (complete 2021-12-29 change).
26256
26257 2022-02-09  Bill Schmidt  <wschmidt@linux.ibm.com>
26258
26259         * config/rs6000/rs6000-builtins.def (VREPLACE_UN_UV2DI): Change
26260         function prototype.
26261         (VREPLACE_UN_UV4SI): Likewise.
26262         (VREPLACE_UN_V2DF): Likewise.
26263         (VREPLACE_UN_V2DI): Likewise.
26264         (VREPLACE_UN_V4SF): Likewise.
26265         (VREPLACE_UN_V4SI): Likewise.
26266         * config/rs6000/rs6000-overload.def (VEC_REPLACE_UN): Change all
26267         function prototypes.
26268         * config/rs6000/vsx.md (vreplace_un_<mode>): Remove define_expand.
26269         (vreplace_un_<mode>): New define_insn.
26270
26271 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
26272
26273         * config/aarch64/iterators.md (VDCSIF): New mode iterator.
26274         (VDBL): Handle SF.
26275         (single_wx, single_type, single_dtype, dblq): New mode attributes.
26276         * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Extend
26277         from VDC to VDCSIF.
26278         (store_pair_lanes<mode>): Likewise.
26279         (*aarch64_combine_internal<mode>): Likewise.
26280         (*aarch64_combine_internal_be<mode>): Likewise.
26281         (*aarch64_combinez<mode>): Likewise.
26282         (*aarch64_combinez_be<mode>): Likewise.
26283         * config/aarch64/aarch64.cc (aarch64_classify_address): Handle
26284         8-byte modes for ADDR_QUERY_LDP_STP_N.
26285         (aarch64_print_operand): Likewise for %y.
26286
26287 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
26288
26289         * config/aarch64/aarch64-simd.md (@aarch64_split_simd_mov<mode>):
26290         Use aarch64_combine instead of move_lo/hi_quad.  Tabify.
26291         (move_lo_quad_<mode>, aarch64_simd_move_hi_quad_<mode>): Delete.
26292         (aarch64_simd_move_hi_quad_be_<mode>, move_hi_quad_<mode>): Delete.
26293         (vec_pack_trunc_<mode>): Take general_operand elements and use
26294         aarch64_combine rather than move_lo/hi_quad to combine them.
26295         (vec_pack_trunc_df): Likewise.
26296
26297 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
26298
26299         * config/aarch64/aarch64-protos.h (aarch64_split_simd_combine):
26300         Delete.
26301         * config/aarch64/aarch64-simd.md (@aarch64_combinez<mode>): Rename
26302         to...
26303         (*aarch64_combinez<mode>): ...this.
26304         (@aarch64_combinez_be<mode>): Rename to...
26305         (*aarch64_combinez_be<mode>): ...this.
26306         (@aarch64_vec_concat<mode>): New expander.
26307         (aarch64_combine<mode>): Use it.
26308         (@aarch64_simd_combine<mode>): Delete.
26309         * config/aarch64/aarch64.cc (aarch64_split_simd_combine): Delete.
26310         (aarch64_expand_vector_init): Use aarch64_vec_concat.
26311
26312 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
26313
26314         * config/aarch64/predicates.md (aarch64_reg_or_mem_pair_operand):
26315         New predicate.
26316         * config/aarch64/aarch64-simd.md (*aarch64_combine_internal<mode>)
26317         (*aarch64_combine_internal_be<mode>): New patterns.
26318
26319 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
26320
26321         * config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>)
26322         (move_lo_quad_internal_be_<mode>): Delete.
26323         (move_lo_quad_<mode>): Use aarch64_combine<Vhalf> instead of the above.
26324
26325 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
26326
26327         * config/aarch64/aarch64-protos.h (aarch64_mergeable_load_pair_p):
26328         Declare.
26329         * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Use
26330         aarch64_mergeable_load_pair_p instead of inline check.
26331         * config/aarch64/aarch64.cc (aarch64_expand_vector_init): Likewise.
26332         (aarch64_check_consecutive_mems): Allow the reversed parameter
26333         to be null.
26334         (aarch64_mergeable_load_pair_p): New function.
26335
26336 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
26337
26338         * config/aarch64/aarch64-simd.md (vec_set<mode>): Allow the
26339         element to be an aarch64_simd_nonimmediate_operand.
26340
26341 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
26342
26343         * config/aarch64/aarch64-simd.md (aarch64_simd_vec_set<mode>): Use
26344         aarch64_simd_nonimmediate_operand instead of
26345         aarch64_simd_general_operand.
26346         (@aarch64_combinez<mode>): Use nonimmediate_operand instead of
26347         general_operand.
26348         (@aarch64_combinez_be<mode>): Likewise.
26349
26350 2022-02-09  Richard Biener  <rguenther@suse.de>
26351
26352         PR middle-end/104464
26353         * gimple-isel.cc (gimple_expand_vec_cond_expr): Postpone
26354         throwing check to after unproblematic replacement.
26355
26356 2022-02-09  Roger Sayle  <roger@nextmovesoftware.com>
26357
26358         PR tree-optimization/104420
26359         * match.pd (mult @0 real_zerop): Tweak conditions for constant
26360         folding X*0.0 (or X*-0.0) to HONOR_SIGNED_ZEROS when appropriate.
26361
26362 2022-02-09  Jakub Jelinek  <jakub@redhat.com>
26363
26364         PR debug/104407
26365         * dwarf2out.cc (mangle_referenced_decls): New function.
26366         (tree_add_const_value_attribute): Don't call rtl_for_decl_init if
26367         early_dwarf.  Instead walk the initializer and try to mangle vars or
26368         functions referenced from it.
26369
26370 2022-02-09  Andrew MacLeod  <amacleod@redhat.com>
26371
26372         PR tree-optimization/104288
26373         * gimple-range-cache.cc (non_null_ref::set_nonnull): New.
26374         (non_null_ref::adjust_range): Move to header.
26375         (ranger_cache::range_of_def): Don't check non-null.
26376         (ranger_cache::entry_range): Don't check non-null.
26377         (ranger_cache::range_on_edge): Check for nonnull on normal edges.
26378         (ranger_cache::update_to_nonnull): New.
26379         (non_null_loadstore): New.
26380         (ranger_cache::block_apply_nonnull): New.
26381         * gimple-range-cache.h (class non_null_ref): Update prototypes.
26382         (non_null_ref::adjust_range): Move to here and inline.
26383         (class ranger_cache): Update prototypes.
26384         * gimple-range-path.cc (path_range_query::range_defined_in_block): Do
26385         not search dominators.
26386         (path_range_query::adjust_for_non_null_uses): Ditto.
26387         * gimple-range.cc (gimple_ranger::range_of_expr): Check on-entry for
26388         def overrides.  Do not check nonnull.
26389         (gimple_ranger::range_on_entry): Check dominators for nonnull.
26390         (gimple_ranger::range_on_edge): Check for nonnull on normal edges..
26391         (gimple_ranger::register_side_effects): New.
26392         * gimple-range.h (gimple_ranger::register_side_effects): New.
26393         * tree-vrp.cc (rvrp_folder::fold_stmt): Call register_side_effects.
26394
26395 2022-02-09  Richard Biener  <rguenther@suse.de>
26396
26397         PR tree-optimization/104445
26398         PR tree-optimization/102832
26399         * optabs-query.h (can_vec_extract): New.
26400         * optabs-query.cc (can_vec_extract): Likewise.
26401         * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
26402         we can extract a hi/lo part from the larger vector, rework
26403         check iteration from larger to smaller sizes.
26404
26405 2022-02-09  H.J. Lu  <hjl.tools@gmail.com>
26406
26407         PR target/35513
26408         PR target/100593
26409         * config/i386/gnu-property.cc: Include "i386-protos.h".
26410         (file_end_indicate_exec_stack_and_gnu_property): Generate
26411         a GNU_PROPERTY_1_NEEDED note for -mno-direct-extern-access or
26412         nodirect_extern_access attribute.
26413         * config/i386/i386-options.cc
26414         (handle_nodirect_extern_access_attribute): New function.
26415         (ix86_attribute_table): Add nodirect_extern_access attribute.
26416         * config/i386/i386-protos.h (ix86_force_load_from_GOT_p): Add a
26417         bool argument.
26418         (ix86_has_no_direct_extern_access): New.
26419         * config/i386/i386.cc (ix86_has_no_direct_extern_access): New.
26420         (ix86_force_load_from_GOT_p): Add a bool argument to indicate
26421         call operand.  Force non-call load from GOT for
26422         -mno-direct-extern-access or nodirect_extern_access attribute.
26423         (legitimate_pic_address_disp_p): Avoid copy relocation in PIE
26424         for -mno-direct-extern-access or nodirect_extern_access attribute.
26425         (ix86_print_operand): Pass true to ix86_force_load_from_GOT_p
26426         for call operand.
26427         (asm_preferred_eh_data_format): Use PC-relative format for
26428         -mno-direct-extern-access to avoid copy relocation.  Check
26429         ptr_mode instead of TARGET_64BIT when selecting DW_EH_PE_sdata4.
26430         (ix86_binds_local_p): Set ix86_has_no_direct_extern_access to
26431         true for -mno-direct-extern-access or nodirect_extern_access
26432         attribute.  Don't treat protected data as extern and avoid copy
26433         relocation on common symbol with -mno-direct-extern-access or
26434         nodirect_extern_access attribute.
26435         (ix86_reloc_rw_mask): New to avoid copy relocation for
26436         -mno-direct-extern-access.
26437         (TARGET_ASM_RELOC_RW_MASK): New.
26438         * config/i386/i386.opt: Add -mdirect-extern-access.
26439         * doc/extend.texi: Document nodirect_extern_access attribute.
26440         * doc/invoke.texi: Document -m[no-]direct-extern-access.
26441
26442 2022-02-09  H.J. Lu  <hjl.tools@gmail.com>
26443
26444         PR target/104441
26445         * config/i386/i386.cc (ix86_avx_u128_mode_source): New function.
26446         (ix86_avx_u128_mode_needed): Return AVX_U128_ANY for debug INSN.
26447         Call ix86_avx_u128_mode_source to check mode for each component
26448         of source operand.
26449
26450 2022-02-09  liuhongt  <hongtao.liu@intel.com>
26451
26452         PR target/104451
26453         * config/i386/sse.md (<insn><mode>3): lowpart_subreg
26454         operands[2] from SImode to QImode.
26455
26456 2022-02-09  Richard Biener  <rguenther@suse.de>
26457
26458         PR middle-end/104450
26459         * gimple-isel.cc: Pass cfun around.
26460         (+gimple_expand_vec_cond_expr): Do not combine a throwing
26461         comparison with the select.
26462
26463 2022-02-09  Richard Biener  <rguenther@suse.de>
26464
26465         PR target/104453
26466         * config/i386/i386.cc (ix86_gimple_fold_builtin): Guard shift
26467         folding for NULL LHS.
26468
26469 2022-02-08  Robin Dapp  <rdapp@linux.ibm.com>
26470
26471         PR rtl-optimization/104198
26472         PR rtl-optimization/104153
26473         * ifcvt.cc (noce_convert_multiple_sets_1): Copy rtx instead of
26474         using it directly.  Rework comparison handling and always
26475         perform a second pass.
26476
26477 2022-02-08  Jakub Jelinek  <jakub@redhat.com>
26478
26479         PR target/102140
26480         * config/rs6000/rs6000.cc (vspltis_shifted): Return false also if
26481         split1 pass has finished already.
26482
26483 2022-02-08  Bill Schmidt  <wschmidt@linux.ibm.com>
26484
26485         * config/rs6000/rs6000-builtins.def (VMSUMCUD): New.
26486         * config/rs6000/rs6000-overload.def (VEC_MSUMC): New.
26487         * config/rs6000/vsx.md (UNSPEC_VMSUMCUD): New constant.
26488         (vmsumcud): New define_insn.
26489
26490 2022-02-08  Tom de Vries  <tdevries@suse.de>
26491
26492         * config/nvptx/nvptx-opts.h (enum ptx_isa): Add PTX_ISA_SM70.
26493         * config/nvptx/nvptx.h (TARGET_SM70): Define.
26494
26495 2022-02-08  Robin Dapp  <rdapp@linux.ibm.com>
26496
26497         * config/s390/s390.cc (s390_rtx_costs): Increase costs for load
26498         on condition.
26499         * config/s390/s390.md: Use paradoxical subreg.
26500
26501 2022-02-08  Robin Dapp  <rdapp@linux.ibm.com>
26502
26503         * combine.cc (reg_subword_p): Check for paradoxical subreg.
26504
26505 2022-02-08  Tom de Vries  <tdevries@suse.de>
26506
26507         PR target/104283
26508         * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_3_0
26509         and PTX_VERSION_4_2.
26510         * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm)
26511         (default_ptx_version_option, ptx_version_to_string)
26512         (sm_version_to_string, handle_ptx_version_option): New function.
26513         (nvptx_option_override): Call handle_ptx_version_option.
26514         (nvptx_file_start): Use ptx_version_to_string and sm_version_to_string.
26515         * config/nvptx/nvptx.md (define_insn "nvptx_shuffle<mode>")
26516         (define_insn "nvptx_vote_ballot"): Use TARGET_PTX_6_0.
26517         * config/nvptx/nvptx.opt (mptx): Remove 'Init'.
26518
26519 2022-02-08  Maciej W. Rozycki  <macro@embecosm.com>
26520
26521         * doc/install.texi (Configuration): Document `--with-isa-spec='
26522         RISC-V option.
26523         * doc/invoke.texi (Option Summary): List `-misa-spec=' RISC-V
26524         option.
26525         (RISC-V Options): Document it.
26526
26527 2022-02-08  Maciej W. Rozycki  <macro@embecosm.com>
26528
26529         * config/riscv/t-riscv (riscv-sr.o): Add $(TM_H) dependency.
26530
26531 2022-02-08  Tom de Vries  <tdevries@suse.de>
26532
26533         * config/nvptx/nvptx.cc (write_fn_proto_1): Handle 'main (int)'.
26534
26535 2022-02-08  Tom de Vries  <tdevries@suse.de>
26536
26537         PR target/104364
26538         * config/nvptx/nvptx-protos.h (nvptx_mem_local_p): Declare.
26539         * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Assert that
26540         change is validated.
26541         (nvptx_mem_local_p): New function.
26542         * config/nvptx/nvptx.md: Use nvptx_mem_local_p.
26543         (define_c_enum "unspecv"): Add UNSPECV_CAS_LOCAL.
26544         (define_insn "atomic_compare_and_swap<mode>_1_local"): New
26545         non-atomic, non-predicable define_insn, factored out of ...
26546         (define_insn "atomic_compare_and_swap<mode>_1"): ... here.
26547         Make predicable again.
26548         (define_expand "atomic_compare_and_swap<mode>"): Use
26549         atomic_compare_and_swap<mode>_1_local.
26550
26551 2022-02-08  liuhongt  <hongtao.liu@intel.com>
26552
26553         PR rtl-optimization/104059
26554         * regcprop.cc (copyprop_hardreg_forward_1): Don't propagate
26555         for a more expensive reg-reg move.
26556
26557 2022-02-07  Tamar Christina  <tamar.christina@arm.com>
26558
26559         * config/arm/arm_neon.h (vusdotq_s32, vusdot_laneq_s32,
26560         vusdotq_laneq_s32, vsudot_laneq_s32, vsudotq_laneq_s32): New
26561         * config/arm/arm_neon_builtins.def (usdot): Add V16QI.
26562         (usdot_laneq, sudot_laneq): New.
26563         * config/arm/neon.md (neon_<sup>dot_laneq<vsi2qi>): New.
26564         (neon_<sup>dot_lane<vsi2qi>): Remote unneeded code.
26565
26566 2022-02-07  Tamar Christina  <tamar.christina@arm.com>
26567
26568         * config/arm/arm_neon.h (vdot_laneq_u32, vdotq_laneq_u32,
26569         vdot_laneq_s32, vdotq_laneq_s32): New.
26570         * config/arm/arm_neon_builtins.def (sdot_laneq, udot_laneq): New.
26571         * config/arm/neon.md (neon_<sup>dot<vsi2qi>): New.
26572         (<sup>dot_prod<vsi2qi>): Re-order rtl.
26573         (neon_<sup>dot_lane<vsi2qi>): Fix rtl order and endiannes.
26574         (neon_<sup>dot_laneq<vsi2qi>): New.
26575
26576 2022-02-07  Andreas Krebbel  <krebbel@linux.ibm.com>
26577
26578         PR target/104327
26579         * config/s390/s390.cc (s390_can_inline_p): Accept a few more flags
26580         if always_inline is set. Don't inline when tune differs without
26581         always_inline.
26582
26583 2022-02-07  Richard Biener  <rguenther@suse.de>
26584
26585         PR middle-end/104402
26586         * gimple-expr.cc (is_gimple_condexpr): _Complex typed
26587         compares are not valid.
26588         * tree-cfg.cc (verify_gimple_assign_ternary): For COND_EXPR
26589         check is_gimple_condexpr.
26590
26591 2022-02-07  Kewen Lin  <linkw@linux.ibm.com>
26592
26593         PR target/103627
26594         * config/rs6000/rs6000.cc (rs6000_option_override_internal): Move the
26595         hunk affecting VSX and ALTIVEC to appropriate place.
26596
26597 2022-02-07  Kewen Lin  <linkw@linux.ibm.com>
26598
26599         PR target/103627
26600         * config/rs6000/rs6000.cc (rs6000_option_override_internal): Disable
26601         MMA if !TARGET_VSX.
26602
26603 2022-02-06  Jakub Jelinek  <jakub@redhat.com>
26604
26605         PR c++/89074
26606         PR c++/104033
26607         * fold-const.h (folding_initializer): Adjust comment.
26608         (folding_cxx_constexpr): Declare.
26609         * fold-const.cc (folding_initializer): Adjust comment.
26610         (folding_cxx_constexpr): New variable.
26611         (address_compare): Restrict the decl vs. STRING_CST
26612         or vice versa or STRING_CST vs. STRING_CST or
26613         is_global_var != is_global_var optimizations to !folding_cxx_constexpr.
26614         Punt for FUNCTION_DECLs with non-zero offsets.  If folding_initializer,
26615         assume non-aliased functions have non-zero size and have different
26616         addresses.  For folding_cxx_constexpr, punt on comparisons of start
26617         of some object and end of another one, regardless whether it is a decl
26618         or string literal.  Also punt for folding_cxx_constexpr on
26619         STRING_CST vs. STRING_CST comparisons if the two literals could be
26620         overlapping.
26621
26622 2022-02-05  Jakub Jelinek  <jakub@redhat.com>
26623
26624         PR tree-optimization/104389
26625         * match.pd (x * 0 -> 0): Punt if x maybe infinite and NaNs are
26626         honored.
26627
26628 2022-02-05  Kito Cheng  <kito.cheng@sifive.com>
26629
26630         * configure.ac: Fix detection for zifencei support.
26631         * configure: Regenerate.
26632
26633 2022-02-05  Kito Cheng  <kito.cheng@sifive.com>
26634
26635         PR target/104219
26636         * config.gcc (riscv*-*-*): Normalize the with_isa_spec value.
26637         (all_defaults): Add isa_spec.
26638         * config/riscv/riscv.h (OPTION_DEFAULT_SPECS): Add isa_spec.
26639
26640 2022-02-04  Bill Schmidt  <wschmidt@linux.ibm.com>
26641
26642         * config/rs6000/rs6000-c.cc (resolve_vec_mul): Accept args and types
26643         parameters instead of arglist and nargs.  Simplify accordingly.  Remove
26644         unnecessary test for argument count mismatch.
26645         (resolve_vec_cmpne): Likewise.
26646         (resolve_vec_adde_sube): Likewise.
26647         (resolve_vec_addec_subec): Likewise.
26648         (altivec_resolve_overloaded_builtin): Move overload special handling
26649         after the gathering of arguments into args[] and types[] and the test
26650         for correct number of arguments.  Don't perform the test for correct
26651         number of arguments for certain special cases.  Call the other special
26652         cases with args and types instead of arglist and nargs.
26653
26654 2022-02-04  Bill Schmidt  <wschmidt@linux.ibm.com>
26655
26656         PR target/100808
26657         * doc/extend.texi (Basic PowerPC Built-in Functions Available on ISA
26658         3.1): Provide consistent type names.  Remove unnecessary semicolons.
26659         Fix bad line breaks.
26660
26661 2022-02-04  Jakub Jelinek  <jakub@redhat.com>
26662
26663         PR target/104380
26664         * config/rs6000/rs6000.cc (rs6000_mangle_decl_assembler_name): Also
26665         adjust mangling of __builtin*printf_chk.
26666
26667 2022-02-04  Jonathan Wakely  <jwakely@redhat.com>
26668
26669         * doc/cpp.texi (Variadic Macros): Replace C++2a with C++20.
26670
26671 2022-02-04  Richard Biener  <rguenther@suse.de>
26672             Bin Cheng   <bin.cheng@linux.alibaba.com>
26673
26674         PR tree-optimization/100499
26675         * fold-const.h (multiple_of_p): Add nowrap parameter, defaulted
26676         to true.
26677         * fold-const.cc (multiple_of_p): Likewise.  Honor it for
26678         MULT_EXPR, PLUS_EXPR and MINUS_EXPR and pass it along,
26679         switching to false for conversions.
26680         * tree-ssa-loop-niter.cc (number_of_iterations_ne): Do not
26681         claim the outermost expression does not wrap when calling
26682         multiple_of_p.  Refactor the check done to check the
26683         original IV, avoiding a bias that might wrap.
26684
26685 2022-02-04  Richard Biener  <rguenther@suse.de>
26686
26687         * fold-const.cc (multiple_of_p): Re-write and move LSHIFT_EXPR
26688         handling.
26689
26690 2022-02-04  Eric Botcazou  <ebotcazou@adacore.com>
26691
26692         PR debug/104366
26693         * dwarf2out.cc (dwarf2out_finish): Empty base_types.
26694         (dwarf2out_early_finish): Likewise.
26695
26696 2022-02-04  Eric Botcazou  <ebotcazou@adacore.com>
26697
26698         PR tree-optimization/104356
26699         * match.pd (X / bool_range_Y is X): Add guard.
26700         (X / X is one): Likewise.
26701         (X / abs (X) is X < 0 ? -1 : 1): Likewise.
26702         (X / -X is -1): Likewise.
26703         (1 / X -> X == 1): Likewise.
26704
26705 2022-02-04  Richard Biener  <rguenther@suse.de>
26706
26707         PR tree-optimization/103641
26708         * tree-vect-patterns.cc (vect_synth_mult_by_constant):
26709         Pass the vector mode to choose_mult_variant.
26710
26711 2022-02-04  Roger Sayle  <roger@nextmovesoftware.com>
26712
26713         PR rtl-optimization/101885
26714         * combine.cc (try_combine): When splitting a parallel into two
26715         sequential sets, check not only that the first doesn't clobber
26716         the second but also that the second doesn't clobber the first.
26717
26718 2022-02-04  Richard Biener  <rguenther@suse.de>
26719
26720         PR middle-end/90348
26721         PR middle-end/104092
26722         * tree-core.h (clobber_kind): New enum.
26723         (tree_base::u::bits::address_space): Document use in CONSTRUCTORs.
26724         * tree.h (CLOBBER_KIND): Add.
26725         (build_clobber): Add clobber kind argument, defaulted to
26726         CLOBBER_UNDEF.
26727         * tree.cc (build_clobber): Likewise.
26728         * gimple.h (gimple_clobber_p): New overload with specified kind.
26729         * tree-streamer-in.cc (streamer_read_tree_bitfields): Stream
26730         CLOBBER_KIND.
26731         * tree-streamer-out.cc (streamer_write_tree_bitfields):
26732         Likewise.
26733         * tree-pretty-print.cc (dump_generic_node): Mark EOL CLOBBERs.
26734         * gimplify.cc (gimplify_bind_expr): Build storage end-of-life clobbers
26735         with CLOBBER_EOL.
26736         (gimplify_target_expr): Likewise.
26737         * tree-inline.cc (expand_call_inline): Likewise.
26738         * tree-ssa-ccp.cc (insert_clobber_before_stack_restore): Likewise.
26739         * gimple-ssa-warn-access.cc (pass_waccess::check_stmt): Only treat
26740         CLOBBER_EOL clobbers as ending lifetime of storage.
26741
26742 2022-02-04  Martin Sebor  <msebor@redhat.com>
26743
26744         * pointer-query.h (pointer_query::cache_type): Use auto_vec for auto
26745         cleanup.
26746
26747 2022-02-03  Martin Sebor  <msebor@redhat.com>
26748
26749         PR middle-end/104260
26750         * passes.def (pass_warn_access): Adjust pass placement.
26751
26752 2022-02-03  Uroš Bizjak  <ubizjak@gmail.com>
26753
26754         PR target/104362
26755         * config/i386/i386.cc (find_drap_reg): For 32bit targets
26756         return DI_REG if function uses __builtin_eh_return.
26757
26758 2022-02-03  Martin Sebor  <msebor@redhat.com>
26759
26760         * gimple-ssa-warn-restrict.cc (class pass_wrestrict): Outline ctor.
26761         (pass_wrestrict::m_ptr_qry): New member.
26762         (wrestrict_walk): Rename...
26763         (pass_wrestrict::check_block): ...to this.
26764         (pass_wrestrict::execute): Set up and tear down pointer_query and
26765         ranger.
26766         (builtin_memref::builtin_memref): Change ctor argument.  Simplify.
26767         (builtin_access::builtin_access): Same.
26768         (builtin_access::m_ptr_qry): New member.
26769         (check_call): Rename...
26770         (pass_wrestrict::check_call): ...to this.
26771         (check_bounds_or_overlap): Change argument.
26772         * gimple-ssa-warn-restrict.h (check_bounds_or_overlap): Same.
26773
26774 2022-02-03  Martin Sebor  <msebor@redhat.com>
26775
26776         * gimple-array-bounds.cc (array_bounds_checker::array_bounds_checker):
26777         Define ctor.
26778         (array_bounds_checker::get_value_range): Use new member.
26779         (array_bounds_checker::check_mem_ref): Same.
26780         * gimple-array-bounds.h (array_bounds_checker::array_bounds_checker):
26781         Outline ctor.
26782         (array_bounds_checker::m_ptr_query): New member.
26783
26784 2022-02-03  Martin Sebor  <msebor@redhat.com>
26785
26786         * gimple-ssa-warn-access.cc (pass_waccess::pass_waccess): Remove
26787         pointer_query cache.
26788         * pointer-query.cc (pointer_query::pointer_query): Remove cache
26789         argument.  Zero-initialize new cache member.
26790         (pointer_query::get_ref): Replace cache pointer with direct access.
26791         (pointer_query::put_ref): Same.
26792         (pointer_query::flush_cache): Same.
26793         (pointer_query::dump): Same.
26794         * pointer-query.h (class pointer_query): Remove cache argument from
26795         ctor.  Change cache pointer to cache subobject member.
26796         * tree-ssa-strlen.cc: Remove pointer_query cache.
26797
26798 2022-02-03  Martin Sebor  <msebor@redhat.com>
26799
26800         PR tree-optimization/104119
26801         * gimple-ssa-sprintf.cc (struct directive): Change argument type.
26802         (format_none): Same.
26803         (format_percent): Same.
26804         (format_integer): Same.
26805         (format_floating): Same.
26806         (get_string_length): Same.
26807         (format_character): Same.
26808         (format_string): Same.
26809         (format_plain): Same.
26810         (format_directive): Same.
26811         (compute_format_length): Same.
26812         (handle_printf_call): Same.
26813         * tree-ssa-strlen.cc (get_range_strlen_dynamic): Same.   Call
26814         get_maxbound.
26815         (get_range_strlen_phi): Same.
26816         (get_maxbound): New function.
26817         (strlen_pass::get_len_or_size): Adjust to parameter change.
26818         * tree-ssa-strlen.h (get_range_strlen_dynamic): Change argument type.
26819
26820 2022-02-03  Bill Schmidt  <wschmidt@linux.ibm.com>
26821
26822         PR target/103686
26823         * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Remove
26824         test for !rs6000_fold_gimple.
26825         * config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise.
26826         * config/rs6000/rs6000.opt (mfold-gimple): Remove.
26827
26828 2022-02-03  Bill Schmidt  <wschmidt@linux.ibm.com>
26829
26830         PR target/95082
26831         * config/rs6000/rs6000-builtin.cc (rs6000_expand_builtin): Handle
26832         endianness for vclzlsbb and vctzlsbb.
26833         * config/rs6000/rs6000-builtins.def (VCLZLSBB_V16QI): Change
26834         default pattern and indicate a different pattern will be used for
26835         big endian.
26836         (VCLZLSBB_V4SI): Likewise.
26837         (VCLZLSBB_V8HI): Likewise.
26838         (VCTZLSBB_V16QI): Likewise.
26839         (VCTZLSBB_V4SI): Likewise.
26840         (VCTZLSBB_V8HI): Likewise.
26841
26842 2022-02-03  Bill Schmidt  <wschmidt@linux.ibm.com>
26843
26844         * config.gcc (powerpc*-*-*): Add rs6000-builtin.o to extra_objs.
26845         * config/rs6000/rs6000-builtin.cc: New file, containing code moved
26846         from other files.
26847         * config/rs6000/rs6000-call.cc (cpu_is_info): Move to
26848         rs6000-builtin.cc.
26849         (cpu_supports_info): Likewise.
26850         (rs6000_type_string): Likewise.
26851         (altivec_expand_predicate_builtin): Likewise.
26852         (rs6000_htm_spr_icode): Likewise.
26853         (altivec_expand_vec_init_builtin): Likewise.
26854         (get_element_number): Likewise.
26855         (altivec_expand_vec_set_builtin): Likewise.
26856         (altivec_expand_vec_ext_builtin): Likewise.
26857         (rs6000_invalid_builtin): Likewise.
26858         (rs6000_fold_builtin): Likewise.
26859         (fold_build_vec_cmp): Likewise.
26860         (fold_compare_helper): Likewise.
26861         (map_to_integral_tree_type): Likewise.
26862         (fold_mergehl_helper): Likewise.
26863         (fold_mergeeo_helper): Likewise.
26864         (rs6000_builtin_valid_without_lhs): Likewise.
26865         (rs6000_builtin_is_supported): Likewise.
26866         (rs6000_gimple_fold_mma_builtin): Likewise.
26867         (rs6000_gimple_fold_builtin): Likewise.
26868         (rs6000_expand_ldst_mask): Likewise.
26869         (cpu_expand_builtin): Likewise.
26870         (elemrev_icode): Likewise.
26871         (ldv_expand_builtin): Likewise.
26872         (lxvrse_expand_builtin): Likewise.
26873         (lxvrze_expand_builtin): Likewise.
26874         (stv_expand_builtin): Likewise.
26875         (mma_expand_builtin): Likewise.
26876         (htm_spr_num): Likewise.
26877         (htm_expand_builtin): Likewise.
26878         (rs6000_expand_builtin): Likewise.
26879         (rs6000_vector_type): Likewise.
26880         (rs6000_init_builtins): Likewise.  Remove initialization of
26881         builtin_mode_to_type entries.
26882         (rs6000_builtin_decl): Move to rs6000-builtin.cc.
26883         * config/rs6000/rs6000.cc (rs6000_builtin_mask_for_load): New
26884         external declaration.
26885         (rs6000_builtin_md_vectorized_function): Likewise.
26886         (rs6000_builtin_reciprocal): Likewise.
26887         (altivec_builtin_mask_for_load): Move to rs6000-builtin.cc.
26888         (rs6000_builtin_types): Likewise.
26889         (builtin_mode_to_type): Remove.
26890         (rs6000_builtin_mask_for_load): Move to rs6000-builtin.cc.  Remove
26891         static qualifier.
26892         (rs6000_builtin_md_vectorized_function): Likewise.
26893         (rs6000_builtin_reciprocal): Likewise.
26894         * config/rs6000/rs6000.h (builtin_mode_to_type): Remove.
26895         * config/rs6000/t-rs6000 (rs6000-builtin.o): New target.
26896
26897 2022-02-03  Richard Biener  <rguenther@suse.de>
26898
26899         PR debug/104337
26900         * tree-nrv.cc (pass_nrv::execute): Remove tieing result and found
26901         together via DECL_ABSTRACT_ORIGIN.
26902
26903 2022-02-03  Bill Schmidt  <wschmidt@linux.ibm.com>
26904
26905         * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Revise error
26906         message for RES_BITS case.
26907
26908 2022-02-03  Aldy Hernandez  <aldyh@redhat.com>
26909
26910         * gimple-range-fold.cc (fur_list::fur_list): Set m_local[1] correctly.
26911
26912 2022-02-03  Jakub Jelinek  <jakub@redhat.com>
26913
26914         * config/arm/arm.opt (mfix-cortex-a57-aes-1742098,
26915         mfix-cortex-a72-aes-1655431): Ensure description ends with full stop.
26916
26917 2022-02-03  Aldy Hernandez  <aldyh@redhat.com>
26918
26919         * cfganal.cc (verify_marked_backedges): New.
26920         * cfganal.h (verify_marked_backedges): New.
26921         * gimple-range-path.cc (path_range_query::path_range_query):
26922         Verify freshness of back edges.
26923         * tree-ssa-loop-ch.cc (ch_base::copy_headers): Call
26924         mark_dfs_back_edges.
26925         * tree-ssa-threadbackward.cc (back_threader::back_threader): Move
26926         path_range_query construction after backedges have been
26927         updated.
26928
26929 2022-02-03  Richard Sandiford  <richard.sandiford@arm.com>
26930
26931         * config/aarch64/aarch64-simd.md (movmisalign<mode>): Extend from
26932         VALL to VALL_F16.
26933
26934 2022-02-03  Richard Sandiford  <richard.sandiford@arm.com>
26935
26936         * config/aarch64/iterators.md (VALL_F16MOV): Delete.
26937         * config/aarch64/aarch64-simd.md (mov<mode>): Use VALL_F16 instead
26938         of VALL_F16MOV.
26939
26940 2022-02-03  Martin Liska  <mliska@suse.cz>
26941
26942         * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p):
26943         Change subject and object in the error message.
26944         * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
26945         Likewise.
26946
26947 2022-02-03  Martin Liska  <mliska@suse.cz>
26948
26949         * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
26950         Use the error message for i386 target.
26951
26952 2022-02-03  Jakub Jelinek  <jakub@redhat.com>
26953
26954         PR tree-optimization/104334
26955         * range-op.cc (range_operator::wi_fold_in_parts): Change lh_range
26956         and rh_range type to widest_int and subtract in widest_int.  Remove
26957         ov_rh, ov_lh and sign vars, always perform comparisons as signed
26958         and use >, < and == operators for it.
26959
26960 2022-02-03  Martin Sebor  <msebor@redhat.com>
26961
26962         * common.opt (-Wuse-after-free): Correct typos.
26963
26964 2022-02-02  David Malcolm  <dmalcolm@redhat.com>
26965
26966         PR analyzer/104270
26967         * doc/invoke.texi (-ftrivial-auto-var-init=): Add reference to
26968         -Wanalyzer-use-of-uninitialized-value to paragraph documenting that
26969         -ftrivial-auto-var-init= doesn't suppress warnings.
26970
26971 2022-02-02  Martin Liska  <mliska@suse.cz>
26972
26973         * dwarf2out.cc (TEXT_SECTION_NAME): Remove unused macro.
26974
26975 2022-02-02  Bernd Kuhls  <bernd.kuhls@t-online.de>
26976
26977         PR target/94372
26978         * config/or1k/linux.h (CPP_SPEC): Define.
26979
26980 2022-02-02  Tamar Christina  <tamar.christina@arm.com>
26981
26982         PR tree-optimization/102819
26983         PR tree-optimization/103169
26984         * config/arm/vec-common.md (cml<fcmac1><conj_op><mode>4): Use
26985         canonical order.
26986
26987 2022-02-02  Tamar Christina  <tamar.christina@arm.com>
26988
26989         PR tree-optimization/102819
26990         PR tree-optimization/103169
26991         * config/aarch64/aarch64-simd.md (cml<fcmac1><conj_op><mode>4): Use
26992         canonical order.
26993         * config/aarch64/aarch64-sve.md (cml<fcmac1><conj_op><mode>4): Likewise.
26994
26995 2022-02-02  Tamar Christina  <tamar.christina@arm.com>
26996
26997         PR tree-optimization/102819
26998         PR tree-optimization/103169
26999         * doc/md.texi: Update docs for cfms, cfma.
27000         * tree-data-ref.h (same_data_refs): Accept optional offset.
27001         * tree-vect-slp-patterns.cc (is_linear_load_p): Fix issue with repeating
27002         patterns.
27003         (vect_normalize_conj_loc): Remove.
27004         (is_eq_or_top): Change to take two nodes.
27005         (enum _conj_status, compatible_complex_nodes_p,
27006         vect_validate_multiplication): New.
27007         (class complex_add_pattern, complex_add_pattern::matches,
27008         complex_add_pattern::recognize, class complex_mul_pattern,
27009         complex_mul_pattern::recognize, class complex_fms_pattern,
27010         complex_fms_pattern::recognize, class complex_operations_pattern,
27011         complex_operations_pattern::recognize, addsub_pattern::recognize): Pass
27012         new cache.
27013         (complex_fms_pattern::matches, complex_mul_pattern::matches): Pass new
27014         cache and use new validation code.
27015         * tree-vect-slp.cc (vect_match_slp_patterns_2, vect_match_slp_patterns,
27016         vect_analyze_slp): Pass along cache.
27017         (compatible_calls_p): Expose.
27018         * tree-vectorizer.h (compatible_calls_p, slp_node_hash,
27019         slp_compat_nodes_map_t): New.
27020         (class vect_pattern): Update signatures include new cache.
27021
27022 2022-02-02  Hans-Peter Nilsson  <hp@axis.com>
27023
27024         * config/cris/cris.cc (cris_preferred_reload_class): Reject
27025         "eliminated" registers and small-enough constants unless
27026         reloaded into a class that is a subset of GENERAL_REGS.
27027         * config/cris/cris.md (attribute "cpu_variant"): New.
27028         (attribute "enabled"): Conditionalize on a matching attribute
27029         cpu_variant, if specified.
27030         ("*movsi_internal<setcc><setnz><setnzvc>"): For moves to and from
27031         memory, add cpu-variant-enabled variants for "r" alternatives on
27032         the far side of the "x" alternatives, preferring the "x" ones
27033         only for variants where MOF is present (in addition to SRP).
27034
27035 2022-02-02  Hans-Peter Nilsson  <hp@axis.com>
27036
27037         * config/cris/cris.cc (cris_register_move_cost): Remove special pre-ira
27038         extra cost for ALL_REGS.
27039
27040 2022-02-02  Hans-Peter Nilsson  <hp@axis.com>
27041
27042         * config/cris/constraints.md (define_register_constraint "b"): Now
27043         GENERAL_REGS.
27044         * config/cris/cris.md (CRIS_ACR_REGNUM): Remove.
27045         * config/cris/cris.h: (reg_class, REG_CLASS_NAMES)
27046         (REG_CLASS_CONTENTS): Remove ACR_REGS, SPEC_ACR_REGS, GENNONACR_REGS,
27047         and SPEC_GENNONACR_REGS.
27048         * config/cris/cris.cc (cris_preferred_reload_class): Don't mention
27049         ACR_REGS and return GENERAL_REGS instead of GENNONACR_REGS.
27050
27051 2022-02-02  Hans-Peter Nilsson  <hp@axis.com>
27052
27053         * config/cris/cris.md ("*movsi_internal<setcc><setnz><setnzvc>"):
27054         Conditionalize on (sub-)register operands or operand 1 being 0.
27055
27056 2022-02-02  Hans-Peter Nilsson  <hp@axis.com>
27057
27058         * config/cris/cris.h (TARGET_DEFAULT): Don't include MASK_MUL_BUG.
27059         (MUL_BUG_ASM_DEFAULT): New macro.
27060         (MAYBE_AS_NO_MUL_BUG_ABORT): Define in terms of MUL_BUG_ASM_DEFAULT.
27061         * doc/invoke.texi (CRIS Options, -mmul-bug-workaround): Adjust
27062         accordingly.
27063
27064 2022-02-01  Eugene Rozenfeld  <erozen@microsoft.com>
27065
27066         * opts.cc (common_handle_option): Don't set param_early_inliner_max_iterations
27067         to 10 for AutoFDO.
27068
27069 2022-02-01  Eugene Rozenfeld  <erozen@microsoft.com>
27070
27071         * auto-profile.cc (auto_profile): Hard-code the number of iterations (10).
27072
27073 2022-02-01  Andrew Pinski  <apinski@marvell.com>
27074
27075         * doc/install.texi:
27076
27077 2022-02-01  Ilya Leoshkevich  <iii@linux.ibm.com>
27078
27079         * config/s390/s390.cc (s390_code_end): Do not switch back to
27080         code section.
27081
27082 2022-02-01  Jakub Jelinek  <jakub@redhat.com>
27083
27084         PR target/104323
27085         * config/rs6000/t-rs6000 (EXTRA_GTYPE_DEPS): Append rs6000-builtins.h
27086         rather than $(srcdir)/config/rs6000/rs6000-builtins.def.
27087         * config/rs6000/rs6000-gen-builtins.cc (write_decls): Don't use
27088         GTY((user)) for struct bifdata and struct ovlddata.  Instead add
27089         GTY((skip(""))) to members with pointer and enum types that don't need
27090         to be tracked.  Add GTY(()) to rs6000_builtin_info and rs6000_instance_info
27091         declarations.  Don't emit gt_ggc_mx and gt_pch_nx declarations.
27092         (write_extern_fntype, write_fntype): Remove.
27093         (write_fntype_init): Emit the fntype vars as automatic vars instead
27094         of file scope ones.
27095         (write_header_file): Don't iterate with write_extern_fntype.
27096         (write_init_file): Don't iterate with write_fntype.  Don't emit
27097         gt_ggc_mx and gt_pch_nx definitions.
27098
27099 2022-02-01  Jason Merrill  <jason@redhat.com>
27100
27101         * tree.h (struct tree_vec_map_cache_hasher): Move from...
27102         * tree.cc (struct tree_vec_map_cache_hasher): ...here.
27103
27104 2022-02-01  Tom de Vries  <tdevries@suse.de>
27105
27106         * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_uniform_warp_check.
27107         * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
27108         UNSPECV_UNIFORM_WARP_CHECK.
27109         (define_insn "nvptx_uniform_warp_check"): New define_insn.
27110
27111 2022-02-01  Tom de Vries  <tdevries@suse.de>
27112
27113         * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_warpsync.
27114         * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
27115         UNSPECV_WARPSYNC.
27116         (define_insn "nvptx_warpsync"): New define_insn.
27117
27118 2022-02-01  Tom de Vries  <tdevries@suse.de>
27119
27120         * config/nvptx/nvptx.opt (mptx): Set to PTX_VERSION_6_3 by default.
27121
27122 2022-02-01  Tom de Vries  <tdevries@suse.de>
27123
27124         * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_6_0.
27125         * config/nvptx/nvptx.h (TARGET_PTX_6_0): New macro.
27126         * config/nvptx/nvptx.md (define_insn "nvptx_barsync"): Use barrier
27127         insn for TARGET_PTX_6_0.
27128
27129 2022-02-01  Tom de Vries  <tdevries@suse.de>
27130
27131         PR target/100428
27132         * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle nop
27133         insn.
27134
27135 2022-02-01  Tom de Vries  <tdevries@suse.de>
27136
27137         * config/nvptx/nvptx.md (define_insn "atomic_compare_and_swap<mode>_1")
27138         (define_insn "atomic_exchange<mode>")
27139         (define_insn "atomic_fetch_add<mode>")
27140         (define_insn "atomic_fetch_addsf")
27141         (define_insn "atomic_fetch_<logic><mode>"): Output non-atomic version
27142         if memory operands is frame-relative.
27143
27144 2022-02-01  Tom de Vries  <tdevries@suse.de>
27145
27146         * config/nvptx/nvptx.cc (enum nvptx_builtins): Add
27147         NVPTX_BUILTIN_MEMBAR_GL and NVPTX_BUILTIN_MEMBAR_CTA.
27148         (VOID): New macro.
27149         (nvptx_init_builtins): Add MEMBAR_GL and MEMBAR_CTA.
27150         (nvptx_expand_builtin): Handle NVPTX_BUILTIN_MEMBAR_GL and
27151         NVPTX_BUILTIN_MEMBAR_CTA.
27152         (nvptx_lockfull_update): Add level parameter.  Emit barriers.
27153         (nvptx_reduction_update, nvptx_goacc_reduction_fini): Update call to
27154         nvptx_lockfull_update.
27155         * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
27156         UNSPECV_MEMBAR_GL.
27157         (define_expand "nvptx_membar_gl"): New expand.
27158         (define_insn "*nvptx_membar_gl"): New insn.
27159
27160 2022-02-01  Martin Liska  <mliska@suse.cz>
27161
27162         * doc/install.texi: Remove option for GCC < 4.8.
27163
27164 2022-02-01  Jakub Jelinek  <jakub@redhat.com>
27165
27166         PR middle-end/104307
27167         * tree-vect-generic.cc (expand_vector_comparison): Don't push debug
27168         stmts to uses vector, just set vec_cond_expr_only to false for
27169         non-VEC_COND_EXPRs instead of pushing them into uses.  Treat
27170         VEC_COND_EXPRs that use lhs not just in rhs1, but rhs2 or rhs3 too
27171         like non-VEC_COND_EXPRs.
27172
27173 2022-02-01  Bill Schmidt  <wschmidt@linux.ibm.com>
27174
27175         * config/rs6000/rs6000-overload.def (VEC_ABSD): Remove #ifdef token.
27176         (VEC_BLENDV): Likewise.
27177         (VEC_BPERM): Likewise.
27178         (VEC_CFUGE): Likewise.
27179         (VEC_CIPHER_BE): Likewise.
27180         (VEC_CIPHERLAST_BE): Likewise.
27181         (VEC_CLRL): Likewise.
27182         (VEC_CLRR): Likewise.
27183         (VEC_CMPNEZ): Likewise.
27184         (VEC_CNTLZ): Likewise.
27185         (VEC_CNTLZM): Likewise.
27186         (VEC_CNTTZM): Likewise.
27187         (VEC_CNTLZ_LSBB): Likewise.
27188         (VEC_CNTM): Likewise.
27189         (VEC_CNTTZ): Likewise.
27190         (VEC_CNTTZ_LSBB): Likewise.
27191         (VEC_CONVERT_4F32_8F16): Likewise.
27192         (VEC_DIV): Likewise.
27193         (VEC_DIVE): Likewise.
27194         (VEC_EQV): Likewise.
27195         (VEC_EXPANDM): Likewise.
27196         (VEC_EXTRACT_FP_FROM_SHORTH): Likewise.
27197         (VEC_EXTRACT_FP_FROM_SHORTL): Likewise.
27198         (VEC_EXTRACTH): Likewise.
27199         (VEC_EXTRACTL): Likewise.
27200         (VEC_EXTRACTM): Likewise.
27201         (VEC_EXTRACT4B): Likewise.
27202         (VEC_EXTULX): Likewise.
27203         (VEC_EXTURX): Likewise.
27204         (VEC_FIRSTMATCHINDEX): Likewise.
27205         (VEC_FIRSTMACHOREOSINDEX): Likewise.
27206         (VEC_FIRSTMISMATCHINDEX): Likewise.
27207         (VEC_FIRSTMISMATCHOREOSINDEX): Likewise.
27208         (VEC_GB): Likewise.
27209         (VEC_GENBM): Likewise.
27210         (VEC_GENHM): Likewise.
27211         (VEC_GENWM): Likewise.
27212         (VEC_GENDM): Likewise.
27213         (VEC_GENQM): Likewise.
27214         (VEC_GENPCVM): Likewise.
27215         (VEC_GNB): Likewise.
27216         (VEC_INSERTH): Likewise.
27217         (VEC_INSERTL): Likewise.
27218         (VEC_INSERT4B): Likewise.
27219         (VEC_LXVL): Likewise.
27220         (VEC_MERGEE): Likewise.
27221         (VEC_MERGEO): Likewise.
27222         (VEC_MOD): Likewise.
27223         (VEC_MSUB): Likewise.
27224         (VEC_MULH): Likewise.
27225         (VEC_NAND): Likewise.
27226         (VEC_NCIPHER_BE): Likewise.
27227         (VEC_NCIPHERLAST_BE): Likewise.
27228         (VEC_NEARBYINT): Likewise.
27229         (VEC_NMADD): Likewise.
27230         (VEC_ORC): Likewise.
27231         (VEC_PDEP): Likewise.
27232         (VEC_PERMX): Likewise.
27233         (VEC_PEXT): Likewise.
27234         (VEC_POPCNT): Likewise.
27235         (VEC_PARITY_LSBB): Likewise.
27236         (VEC_REPLACE_ELT): Likewise.
27237         (VEC_REPLACE_UN): Likewise.
27238         (VEC_REVB): Likewise.
27239         (VEC_RINT): Likewise.
27240         (VEC_RLMI): Likewise.
27241         (VEC_RLNM): Likewise.
27242         (VEC_SBOX_BE): Likewise.
27243         (VEC_SIGNEXTI): Likewise.
27244         (VEC_SIGNEXTLL): Likewise.
27245         (VEC_SIGNEXTQ): Likewise.
27246         (VEC_SLDB): Likewise.
27247         (VEC_SLV): Likewise.
27248         (VEC_SPLATI): Likewise.
27249         (VEC_SPLATID): Likewise.
27250         (VEC_SPLATI_INS): Likewise.
27251         (VEC_SQRT): Likewise.
27252         (VEC_SRDB): Likewise.
27253         (VEC_SRV): Likewise.
27254         (VEC_STRIL): Likewise.
27255         (VEC_STRIL_P): Likewise.
27256         (VEC_STRIR): Likewise.
27257         (VEC_STRIR_P): Likewise.
27258         (VEC_STXVL): Likewise.
27259         (VEC_TERNARYLOGIC): Likewise.
27260         (VEC_TEST_LSBB_ALL_ONES): Likewise.
27261         (VEC_TEST_LSBB_ALL_ZEROS): Likewise.
27262         (VEC_VEE): Likewise.
27263         (VEC_VES): Likewise.
27264         (VEC_VIE): Likewise.
27265         (VEC_VPRTYB): Likewise.
27266         (VEC_VSCEEQ): Likewise.
27267         (VEC_VSCEGT): Likewise.
27268         (VEC_VSCELT): Likewise.
27269         (VEC_VSCEUO): Likewise.
27270         (VEC_VSEE): Likewise.
27271         (VEC_VSES): Likewise.
27272         (VEC_VSIE): Likewise.
27273         (VEC_VSTDC): Likewise.
27274         (VEC_VSTDCN): Likewise.
27275         (VEC_VTDC): Likewise.
27276         (VEC_XL): Likewise.
27277         (VEC_XL_BE): Likewise.
27278         (VEC_XL_LEN_R): Likewise.
27279         (VEC_XL_SEXT): Likewise.
27280         (VEC_XL_ZEXT): Likewise.
27281         (VEC_XST): Likewise.
27282         (VEC_XST_BE): Likewise.
27283         (VEC_XST_LEN_R): Likewise.
27284         (VEC_XST_TRUNC): Likewise.
27285         (VEC_XXPERMDI): Likewise.
27286         (VEC_XXSLDWI): Likewise.
27287         (VEC_TSTSFI_EQ_DD): Likewise.
27288         (VEC_TSTSFI_EQ_TD): Likewise.
27289         (VEC_TSTSFI_GT_DD): Likewise.
27290         (VEC_TSTSFI_GT_TD): Likewise.
27291         (VEC_TSTSFI_LT_DD): Likewise.
27292         (VEC_TSTSFI_LT_TD): Likewise.
27293         (VEC_TSTSFI_OV_DD): Likewise.
27294         (VEC_TSTSFI_OV_TD): Likewise.
27295         (VEC_VADDCUQ): Likewise.
27296         (VEC_VADDECUQ): Likewise.
27297         (VEC_VADDEUQM): Likewise.
27298         (VEC_VADDUDM): Likewise.
27299         (VEC_VADDUQM): Likewise.
27300         (VEC_VBPERMQ): Likewise.
27301         (VEC_VCLZB): Likewise.
27302         (VEC_VCLZD): Likewise.
27303         (VEC_VCLZH): Likewise.
27304         (VEC_VCLZW): Likewise.
27305         (VEC_VCTZB): Likewise.
27306         (VEC_VCTZD): Likewise.
27307         (VEC_VCTZH): Likewise.
27308         (VEC_VCTZW): Likewise.
27309         (VEC_VEEDP): Likewise.
27310         (VEC_VEESP): Likewise.
27311         (VEC_VESDP): Likewise.
27312         (VEC_VESSP): Likewise.
27313         (VEC_VIEDP): Likewise.
27314         (VEC_VIESP): Likewise.
27315         (VEC_VPKSDSS): Likewise.
27316         (VEC_VPKSDUS): Likewise.
27317         (VEC_VPKUDUM): Likewise.
27318         (VEC_VPKUDUS): Likewise.
27319         (VEC_VPOPCNT): Likewise.
27320         (VEC_VPOPCNTB): Likewise.
27321         (VEC_VPOPCNTD): Likewise.
27322         (VEC_VPOPCNTH): Likewise.
27323         (VEC_VPOPCNTW): Likewise.
27324         (VEC_VPRTYBD): Likewise.
27325         (VEC_VPRTYBQ): Likewise.
27326         (VEC_VPRTYBW): Likewise.
27327         (VEC_VRLD): Likewise.
27328         (VEC_VSLD): Likewise.
27329         (VEC_VSRAD): Likewise.
27330         (VEC_VSRD): Likewise.
27331         (VEC_VSTDCDP): Likewise.
27332         (VEC_VSTDCNDP): Likewise.
27333         (VEC_VSTDCNQP): Likewise.
27334         (VEC_VSTDCNSP): Likewise.
27335         (VEC_VSTDCQP): Likewise.
27336         (VEC_VSTDCSP): Likewise.
27337         (VEC_VSUBECUQ): Likewise.
27338         (VEC_VSUBEUQM): Likewise.
27339         (VEC_VSUBUDM): Likewise.
27340         (VEC_VSUBUQM): Likewise.
27341         (VEC_VTDCDP): Likewise.
27342         (VEC_VTDCSP): Likewise.
27343         (VEC_VUPKHSW): Likewise.
27344         (VEC_VUPKLSW): Likewise.
27345
27346 2022-02-01  Andreas Krebbel  <krebbel@linux.ibm.com>
27347
27348         PR rtl-optimization/101260
27349         * regcprop.cc (maybe_mode_change): Invoke mode_change_ok also for
27350         copy_regno.
27351
27352 2022-02-01  Xi Ruoyao  <xry111@mengyan1223.wang>
27353
27354         PR middle-end/95115
27355         * fold-const.cc (const_binop): Do not fold NaN result from
27356         non-NaN operands.
27357
27358 2022-02-01  Tom de Vries  <tdevries@suse.de>
27359
27360         * tree-loop-distribution.cc (generate_reduction_builtin_1): Check for
27361         -ftree-loop-distribute-patterns.
27362         (loop_distribution::execute): Don't call transform_reduction_loop for
27363         -fno-tree-loop-distribute-patterns.
27364
27365 2022-01-31  Andrew Pinski  <apinski@marvell.com>
27366
27367         * fold-const.h (operand_compare::operand_equal_p):
27368         Fix comment about OEP_* flags.
27369
27370 2022-01-31  Jakub Jelinek  <jakub@redhat.com>
27371
27372         PR target/104298
27373         * config/rs6000/aix.h (OPTION_GLIBC): Remove.
27374         * config/rs6000/darwin.h (OPTION_GLIBC): Likewise.
27375         * config/rs6000/option-defaults.h (OPTION_GLIBC): Define to 0
27376         if not already defined.
27377
27378 2022-01-31  Martin Sebor  <msebor@redhat.com>
27379
27380         PR middle-end/104232
27381         * gimple-ssa-warn-access.cc (pointers_related_p): Add argument.
27382         Handle PHIs.  Add a synonymous overload.
27383         (pass_waccess::check_pointer_uses): Call pointers_related_p.
27384
27385 2022-01-31  Richard Biener  <rguenther@suse.de>
27386
27387         PR tree-optimization/100499
27388         * fold-const.cc (multiple_of_p): Pass the correct type of
27389         the expression to the recursive invocation of multiple_of_p
27390         for conversions and use CASE_CONVERT.
27391
27392 2022-01-31  Eric Botcazou  <ebotcazou@adacore.com>
27393
27394         PR target/104189
27395         * config/sparc/linux64.h (TARGET_DEFAULT): Add MASK_V8PLUS.
27396
27397 2022-01-31  Richard Biener  <rguenther@suse.de>
27398
27399         PR tree-optimization/100499
27400         * tree-cfg.cc (verify_gimple_assign_ternary): Use multiple_p
27401         on poly-ints instead of multiple_of_p.
27402         * tree-ssa.cc (maybe_rewrite_mem_ref_base): Likewise.
27403         (non_rewritable_mem_ref_base): Likewise.
27404         (non_rewritable_lvalue_p): Likewise.
27405         (execute_update_addresses_taken): Likewise.
27406
27407 2022-01-29  Jakub Jelinek  <jakub@redhat.com>
27408             Andrew Pinski  <apinski@marvell.com>
27409
27410         PR tree-optimization/104279
27411         PR tree-optimization/104280
27412         PR tree-optimization/104281
27413         * match.pd (1 / X -> X == 1 for unsigned X): Build eq with
27414         boolean_type_node and convert to type.  Formatting fixes.
27415
27416 2022-01-28  Yoshinori Sato  <yo-satoh@sios.com>
27417
27418         * config/sh/t-linux (MULTILIB_EXCEPTIONS): Add m1, mb/m1 and m2a.
27419
27420 2022-01-28  Navid Rahimi  <navidrahimi@microsoft.com>
27421
27422         PR tree-optimization/103514
27423         * match.pd (a & b) ^ (a == b) -> !(a | b): New optimization.
27424         (a & b) == (a ^ b) -> !(a | b): New optimization.
27425
27426 2022-01-28  Marek Polacek  <polacek@redhat.com>
27427
27428         * doc/invoke.texi: Update -Wbidi-chars documentation.
27429
27430 2022-01-28  Iain Sandoe  <iain@sandoe.co.uk>
27431
27432         * config/rs6000/darwin.h (OPTION_GLIBC): Define to 0.
27433
27434 2022-01-28  Zhao Wei Liew  <zhaoweiliew@gmail.com>
27435
27436         PR tree-optimization/95424
27437         * match.pd: Simplify 1 / X where X is an integer.
27438
27439 2022-01-28  Jakub Jelinek  <jakub@redhat.com>
27440
27441         PR tree-optimization/104263
27442         * gimple-ssa-store-merging.cc (get_status_for_store_merging): For
27443         cfun->can_throw_non_call_exceptions && cfun->eh test whether
27444         last non-debug stmt in the bb is store_valid_for_store_merging_p
27445         rather than last stmt.
27446
27447 2022-01-28  Martin Liska  <mliska@suse.cz>
27448
27449         * diagnostic.cc (diagnostic_action_after_output): Remove extra
27450         newline.
27451
27452 2022-01-28  Martin Liska  <mliska@suse.cz>
27453
27454         * config/rs6000/host-darwin.cc (segv_crash_handler):
27455         Do not use leading capital letter.
27456         (segv_handler): Likewise.
27457         * ipa-sra.cc (verify_splitting_accesses): Likewise.
27458         * varasm.cc (get_section): Likewise.
27459
27460 2022-01-28  Richard Biener  <rguenther@suse.de>
27461
27462         PR tree-optimization/104267
27463         * tree-vect-stmts.cc (vectorizable_call): Properly use the
27464         per-argument determined vector type for externals and
27465         invariants.
27466
27467 2022-01-28  Richard Biener  <rguenther@suse.de>
27468
27469         PR tree-optimization/104263
27470         * tree-cfg.cc (gimple_purge_dead_abnormal_call_edges):
27471         Purge edges also when !cfun->has_nonlocal_label
27472         and !cfun->calls_setjmp.
27473
27474 2022-01-28  Maciej W. Rozycki  <macro@embecosm.com>
27475
27476         * config/riscv/riscv.md: Document `auipc' and `bitmanip' `type'
27477         attributes.
27478
27479 2022-01-28  Jakub Jelinek  <jakub@redhat.com>
27480
27481         PR lto/104237
27482         * cfgrtl.cc (loc_equal): New function.
27483         (unique_locus_on_edge_between_p): Use it.
27484
27485 2022-01-28  Richard Biener  <rguenther@suse.de>
27486
27487         * cfganal.h (mark_dfs_back_edges): Provide API with struct
27488         function argument.
27489         * cfganal.cc (mark_dfs_back_edges): Take a struct function
27490         to work on, add a wrapper passing cfun.
27491         * graph.cc (draw_cfg_nodes_no_loops): Replace stray cfun
27492         uses with fun which is already passed.
27493         (draw_cfg_edges): Likewise.
27494         (draw_cfg_nodes_for_loop): Do not use draw_cfg_nodes_for_loop
27495         for fun != cfun.
27496
27497 2022-01-27  Patrick Palka  <ppalka@redhat.com>
27498
27499         PR c++/99895
27500         * tree.cc (build_call_vec): Add const to second parameter.
27501         * tree.h (build_call_vec): Likewise.
27502
27503 2022-01-27  Martin Liska  <mliska@suse.cz>
27504
27505         PR web/104254
27506         * diagnostic.cc (diagnostic_initialize):
27507         Initialize report_bug flag.
27508         (diagnostic_action_after_output):
27509         Explain that -freport-bug option can be used for pre-processed
27510         file creation.  Make the message shorter.
27511         (error_recursion): Rename Internal to internal.
27512         * diagnostic.h (struct diagnostic_context): New field.
27513         * opts.cc (common_handle_option): Init the field here.
27514
27515 2022-01-27  Kewen Lin  <linkw@linux.ibm.com>
27516
27517         PR target/103702
27518         * config/rs6000/rs6000.cc
27519         (rs6000_cost_data::update_target_cost_per_stmt): Fix one wrong
27520         assertion with early return.
27521
27522 2022-01-27  Chung-Lin Tang  <cltang@codesourcery.com>
27523
27524         PR middle-end/103642
27525         * gimplify.cc (gimplify_scan_omp_clauses): Do not do indir_p handling
27526         for non-pointer or non-reference-to-pointer cases.
27527
27528 2022-01-27  Jakub Jelinek  <jakub@redhat.com>
27529
27530         PR tree-optimization/104196
27531         * gimple-fold.h (rewrite_to_defined_overflow): Add IN_PLACE argument.
27532         * gimple-fold.cc (rewrite_to_defined_overflow): Likewise.  If true,
27533         return NULL and emit needed stmts before and after stmt.
27534         * tree-ssa-reassoc.cc (update_range_test): For inter-bb range opt
27535         pick as operand_entry that will hold the merged test the one feeding
27536         earliest condition, ensure that by swapping range->idx with some
27537         other range's idx if needed.  If seq is non-NULL, don't actually swap
27538         it but instead rewrite stmts with undefined overflow in between
27539         the two locations.
27540         (maybe_optimize_range_tests): Set ops[]->id to bb->index with the
27541         corresponding condition even if they have non-NULL ops[]->op.
27542         Formatting fix.
27543
27544 2022-01-26  Jakub Jelinek  <jakub@redhat.com>
27545
27546         PR target/104239
27547         * config/rs6000/emmintrin.h (_mm_sad_epu8): Use __asm__ instead of
27548         asm.
27549         * config/rs6000/smmintrin.h (_mm_minpos_epu16): Declare iterator
27550         before for loop instead of for init clause.
27551         * config/rs6000/bmi2intrin.h (_pext_u64): Likewise.
27552
27553 2022-01-26  Jakub Jelinek  <jakub@redhat.com>
27554
27555         PR target/104239
27556         * config/rs6000/bmiintrin.h: Test _X86GPRINTRIN_H_INCLUDED instead of
27557         _X86INTRIN_H_INCLUDED and adjust #error wording.
27558         * config/rs6000/bmi2intrin.h: Likewise.
27559
27560 2022-01-26  Jakub Jelinek  <jakub@redhat.com>
27561
27562         PR debug/104194
27563         * dwarf2out.cc (long_double_as_float128): New function.
27564         (modified_type_die): For powerpc64le IEEE 754 quad long double
27565         and complex long double emit those as DW_TAG_typedef to
27566         _Float128 or complex _Float128 base type.
27567
27568 2022-01-26  Marek Polacek  <polacek@redhat.com>
27569
27570         PR target/104213
27571         * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer): Don't
27572         warn when the SSA_NAME_VAR of REF has supressed -Wuse-after-free.
27573
27574 2022-01-26  Martin Liska  <mliska@suse.cz>
27575
27576         * ipa-modref-tree.cc (modref_access_node::update):
27577         Remove "--param param=foo" with "--param foo".
27578         (modref_access_node::insert): Likewise.
27579         (modref_access_node::insert_kill): Likewise.
27580         * ipa-modref-tree.h (struct modref_ref_node): Likewise.
27581         (struct modref_base_node): Likewise.
27582         (struct modref_tree): Likewise.
27583
27584 2022-01-26  Raoni Fassina Firmino  <raoni@linux.ibm.com>
27585
27586         PR target/94193
27587         * builtins.cc (expand_builtin_feclear_feraise_except): Add op0
27588         predicate check.
27589
27590 2022-01-25  Martin Sebor  <msebor@redhat.com>
27591
27592         PR tree-optimization/104203
27593         * gimple-ssa-warn-access.cc (pass_data pass_data_waccess): Use
27594         TV_WARN_ACCESS.
27595         * pointer-query.cc (access_ref::merge_ref): Change return type.
27596         Convert failure to a conservative success.
27597         (access_ref::get_ref): Adjust to the change above.  Short-circuit
27598         PHI evaluation after first failure turned into conservative success.
27599         * pointer-query.h (access_ref::merge_ref): Change return type.
27600         * timevar.def (TV_WARN_ACCESS): New timer variable.
27601
27602 2022-01-25  David Edelsohn  <dje.gcc@gmail.com>
27603
27604         * config/rs6000/aix.h (OPTION_GLIBC): Define as 0.
27605
27606 2022-01-25  Richard Biener  <rguenther@suse.de>
27607
27608         PR tree-optimization/104214
27609         * tree-ssa-loop-niter.cc (number_of_iterations_cond): Use
27610         stronger guarantees for relational pointer compares when
27611         rewriting BASE0 + STEP0 cmp BASE1 + STEP1 as
27612         BASE0 + STEP0 - STEP1 cmp BASE1.
27613
27614 2022-01-25  Jakub Jelinek  <jakub@redhat.com>
27615
27616         PR target/104172
27617         * config/rs6000/rs6000-internal.h (rs6000_passes_ieee128): Don't
27618         declare.
27619         * config/rs6000/rs6000.cc (rs6000_passes_ieee128,
27620         ieee128_mangling_gcc_8_1): Remove.
27621         (TARGET_ASM_GLOBALIZE_DECL_NAME): Don't redefine.
27622         (rs6000_mangle_type): Return "u9__ieee128" instead of
27623         ieee128_mangling_gcc_8_1 ? "U10__float128" : "u9__ieee128".
27624         (rs6000_globalize_decl_name): Remove.
27625         * config/rs6000/rs6000-call.cc (init_cumulative_args,
27626         rs6000_function_arg_advance_1): Don't set rs6000_passes_ieee128.
27627
27628 2022-01-24  Martin Sebor  <msebor@redhat.com>
27629
27630         * pointer-query.cc (pointer_query::dump): Remove duplicate
27631         block.
27632
27633 2022-01-24  Marek Polacek  <polacek@redhat.com>
27634
27635         PR preprocessor/104030
27636         * doc/invoke.texi: Update documentation for -Wbidi-chars.
27637
27638 2022-01-24  Raoni Fassina Firmino  <raoni@linux.ibm.com>
27639
27640         PR target/94193
27641         * builtins.cc (expand_builtin_fegetround): New function.
27642         (expand_builtin_feclear_feraise_except): New function.
27643         (expand_builtin): Add cases for BUILT_IN_FEGETROUND,
27644         BUILT_IN_FECLEAREXCEPT and BUILT_IN_FERAISEEXCEPT.
27645         * config/rs6000/rs6000.md (fegetroundsi): New pattern.
27646         (feclearexceptsi): New Pattern.
27647         (feraiseexceptsi): New Pattern.
27648         * doc/extend.texi: Add a new introductory paragraph about the
27649         new builtins.
27650         * doc/md.texi: (fegetround@var{m}): Document new optab.
27651         (feclearexcept@var{m}): Document new optab.
27652         (feraiseexcept@var{m}): Document new optab.
27653         * optabs.def (fegetround_optab): New optab.
27654         (feclearexcept_optab): New optab.
27655         (feraiseexcept_optab): New optab.
27656
27657 2022-01-24  Richard Biener  <rguenther@suse.de>
27658             Jiufu Guo  <guojiufu@linux.ibm.com>
27659
27660         PR tree-optimization/100740
27661         PR tree-optimization/101508
27662         PR tree-optimization/101972
27663         PR tree-optimization/102131
27664         * tree-ssa-loop-niter.cc (number_of_iterations_cond): Properly
27665         constrain BASE0 + STEP0 cmp BASE1 + STEP1 to
27666         BASE0 + STEP0 - STEP1 cmp BASE1 transform.
27667
27668 2022-01-24  Jakub Jelinek  <jakub@redhat.com>
27669
27670         PR sanitizer/104158
27671         * opt-functions.awk (var_set): Handle EnumBitSet property.
27672         * optc-gen.awk: Don't disallow RejectNegative if EnumBitSet is
27673         specified.
27674         * opts.h (enum cl_enum_var_value): New type.
27675         * opts-common.cc (decode_cmdline_option): Use CLEV_* values.
27676         Handle CLEV_BITSET.
27677         (cmdline_handle_error): Handle CLEV_BITSET.
27678         * opts.cc (test_enum_sets): Also test EnumBitSet requirements.
27679         * doc/options.texi (EnumBitSet): Document.
27680         * common.opt (fsanitize-coverage=): Use EnumBitSet instead of
27681         EnumSet.
27682         (trace-pc, trace-cmp): Drop Set properties.
27683
27684 2022-01-24  Jakub Jelinek  <jakub@redhat.com>
27685
27686         PR sanitizer/104158
27687         * common.opt (flag_sanitize_coverage): Remove Variable entry.
27688         (fsanitize-coverage=): Remove RejectNegative property, add
27689         Var(flag_sanitize_coverage) and EnumSet properties.
27690         (trace-pc): Add Set(1) property.
27691         (trace-cmp): Add Set(2) property.
27692         * opts.cc (common_handle_option): Don't handle
27693         OPT_fsanitize_coverage_.
27694
27695 2022-01-24  Jakub Jelinek  <jakub@redhat.com>
27696
27697         PR sanitizer/104158
27698         * opt-functions.awk (var_set): Handle EnumSet property.
27699         * optc-gen.awk: Don't disallow RejectNegative if EnumSet is
27700         specified.
27701         * opt-read.awk: Handle Set property.
27702         * opts.h (CL_ENUM_SET_SHIFT, CL_ERR_ENUM_SET_ARG): Define.
27703         (struct cl_decoded_option): Mention enum in value description.
27704         Add mask member.
27705         (set_option): Add mask argument defaulted to 0.
27706         * opts.cc (test_enum_sets): New function.
27707         (opts_cc_tests): Call it.
27708         * opts-common.cc (enum_arg_to_value): Change return argument
27709         from bool to int, on success return index into the cl_enum_arg
27710         array, on failure -1.  Add len argument, if non-0, use strncmp
27711         instead of strcmp.
27712         (opt_enum_arg_to_value): Adjust caller.
27713         (decode_cmdline_option): Handle EnumSet represented as
27714         CLVC_ENUM with non-zero var_value.  Initialize decoded->mask.
27715         (decode_cmdline_options_to_array): CLear opt_array[0].mask.
27716         (handle_option): Pass decoded->mask to set_options last argument.
27717         (generate_option): Clear decoded->mask.
27718         (generate_option_input_file): Likewise.
27719         (cmdline_handle_error): Handle CL_ERR_ENUM_SET_ARG.
27720         (set_option): Add mask argument, use it for CLVC_ENUM.
27721         (control_warning_option): Adjust enum_arg_to_value caller.
27722         * doc/options.texi: Document Set and EnumSet properties.
27723
27724 2022-01-24  Jakub Jelinek  <jakub@redhat.com>
27725
27726         PR bootstrap/104170
27727         * config/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
27728         OPTION_BIONIC_P, OPTION_MUSL_P): Define.
27729         (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
27730         using OPTION_*_P macros.
27731         * config/alpha/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
27732         OPTION_BIONIC_P, OPTION_MUSL_P): Define.
27733         (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
27734         using OPTION_*_P macros.
27735         * config/rs6000/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
27736         OPTION_BIONIC_P, OPTION_MUSL_P): Define.
27737         (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
27738         using OPTION_*_P macros.
27739         * config/rs6000/linux64.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
27740         OPTION_BIONIC_P, OPTION_MUSL_P): Define.
27741         (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
27742         using OPTION_*_P macros.
27743         * config/fuchsia.h (OPTION_MUSL_P): Redefine.
27744         * config/glibc-stdint.h (OPTION_MUSL_P): Define if not defined.
27745         * common/config/s390/s390-common.cc (s390_supports_split_stack): Re-add
27746         ATTRIBUTE_UNUSED to opts parameter.  If OPTION_GLIBC_P is defined, use
27747         OPTION_GLIBC_P (opts) as condition, otherwise assume if (false).
27748         * common/config/i386/i386-common.cc (ix86_supports_split_stack): If
27749         OPTION_GLIBC_P is defined use !OPTION_GLIBC_P (opts) as condition,
27750         otherwise assume if (true).
27751
27752 2022-01-24  Kito Cheng  <kito.cheng@sifive.com>
27753
27754         * common/config/riscv/riscv-common.cc (riscv_subset_list::to_string):
27755         Skip zicsr and zifencei if I-ext is 2.0.
27756
27757 2022-01-24  Jia-Wei Chen  <jiawei@iscas.ac.cn>
27758
27759         * config.gcc: Modify default isa_spec version.
27760
27761 2022-01-24  Jiufu Guo  <guojiufu@linux.ibm.com>
27762
27763         PR tree-optimization/102087
27764         * tree-ssa-loop-niter.cc (number_of_iterations_until_wrap):
27765         Correct PLUS result type.
27766
27767 2022-01-24  H.J. Lu  <hjl.tools@gmail.com>
27768
27769         PR target/104188
27770         * config/i386/predicates.md (bcst_mem_operand): Also check mode
27771         of memory broadcast.
27772
27773 2022-01-23  Andrew Pinski  <apinski@marvell.com>
27774
27775         PR target/64821
27776         * config/aarch64/aarch64-builtins.cc
27777         (aarch64_general_gimple_fold_builtin): Handle
27778         __builtin_aarch64_sqrt* and simplify into SQRT internal
27779         function.
27780
27781 2022-01-22  Jakub Jelinek  <jakub@redhat.com>
27782
27783         PR other/104176
27784         * opts-global.cc (handle_common_deferred_options): Quote
27785         --enable-plugin in diagnostics to avoid -Werror=format-diag.
27786
27787 2022-01-21  Michael Meissner  <meissner@the-meissners.org>
27788
27789         PR target/104136
27790         * config/rs6000/rs6000-protos.h (prefixed_xxsplti_p): Delete.
27791         * config/rs6000/rs6000.cc (prefixed_xxsplti_p): Delete.
27792         * config/rs6000/rs6000.md (prefixed attribute): Delete section
27793         that sets the prefixed attribute for xxspltiw, xxspltidp, and
27794         xxsplti32dx instructions.
27795         (movsf_hardfloat): Explicitly set the prefixed attribute
27796         when xxspltiw and xxspltidp instructions are generated.
27797         (mov<mode>_hardfloat32): Likewise.
27798         (mov<mode>_hardfloat64): Likewise.
27799         * config/rs6000/vsx.md (vsx_mov<mode>_64bit): Explicitly set the
27800         prefixed attribute for xxspltiw and xxspltidp instructions.
27801         (vsx_mov<mode>_32bit): Likewise.
27802
27803 2022-01-21  H.J. Lu  <hjl.tools@gmail.com>
27804
27805         PR bootstrap/104170
27806         * common/config/i386/i386-common.cc (ix86_supports_split_stack):
27807         Return true only on glibc.
27808         * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN):
27809         Revert commit c163647ffbc.
27810         * config/i386/gnu.h (TARGET_LIBC_PROVIDES_SSP): Likewise.
27811
27812 2022-01-21  Sören Tempel  <soeren@soeren-tempel.net>
27813
27814         * common/config/s390/s390-common.cc (s390_supports_split_stack):
27815         Only support split-stack on glibc targets.
27816         * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN): Ditto.
27817         * config/i386/gnu.h (defined): Ditto.
27818
27819 2022-01-21  Bill Schmidt  <wschmidt@linux.ibm.com>
27820
27821         * config/rs6000/rs6000-overload.def (VEC_SLDW): Add instances for
27822         vector float and vector double.
27823
27824 2022-01-21  Bill Seurer  <seurer@gcc.gnu.org>
27825
27826         * config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher):
27827         Fix mention of ifunc in string.
27828
27829 2022-01-21  Roger Sayle  <roger@nextmovesoftware.com>
27830
27831         PR middle-end/104140
27832         * tree-ssa-math-opts.cc (convert_mult_to_highpart): Check that the
27833         operands of the widening multiplication are either both signed or
27834         both unsigned, and abort the conversion if mismatched.
27835         * doc/generic.texi (WIDEN_MULT_EXPR): Describe expression node.
27836         (MULT_HIGHPART_EXPR): Clarify that operands must have the same
27837         signedness.
27838         * tree.def (MULT_HIGHPART_EXPR): Document both operands must have
27839         integer types with the same precision and signedness.
27840         (WIDEN_MULT_EXPR): Document that operands must have integer types
27841         with the same precision, but possibly differing signedness.
27842         * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Defend against
27843         riscv_current_subset_list returning a NULL pointer (empty list).
27844
27845 2022-01-21  Vladimir N. Makarov  <vmakarov@redhat.com>
27846
27847         PR target/103676
27848         * ira.h (struct target_ira): Add member
27849         x_ira_exclude_class_mode_regs.
27850         (ira_exclude_class_mode_regs): New macro.
27851         * lra.h (lra_create_new_reg): Add arg exclude_start_hard_regs and
27852         move from here ...
27853         * lra-int.h: ... to here.
27854         (lra_create_new_reg_with_unique_value): Add arg
27855         exclude_start_hard_regs.
27856         (class lra_reg): Add member exclude_start_hard_regs.
27857         * lra-assigns.cc (find_hard_regno_for_1): Setup
27858         impossible_start_hard_regs from exclude_start_hard_regs.
27859         * lra-constraints.cc (get_reload_reg): Add arg exclude_start_hard_regs and pass
27860         it lra_create_new_reg[_with_unique_value].
27861         (match_reload): Ditto.
27862         (check_and_process_move): Pass NULL
27863         exclude_start_hard_regs to lra_create_new_reg_with_unique_value.
27864         (goal_alt_exclude_start_hard_regs): New static variable.
27865         (process_addr_reg, simplify_operand_subreg): Pass NULL
27866         exclude_start_hard_regs to lra_create_new_reg_with_unique_value
27867         and get_reload_reg.
27868         (process_alt_operands): Setup goal_alt_exclude_start_hard_regs.
27869         Use this_alternative_exclude_start_hard_regs additionally to find
27870         winning operand alternative.
27871         (base_to_reg, base_plus_disp_to_reg, index_part_to_reg): Pass NULL
27872         exclude_start_hard_regs to lra_create_new_reg.
27873         (process_address_1, emit_inc): Ditto.
27874         (curr_insn_transform): Pass exclude_start_hard_regs value to
27875         lra_create_new_reg, get_reload_reg, match_reload.
27876         (inherit_reload_reg, split_reg): Pass NULL exclude_start_hard_regs
27877         to lra_create_new_reg.
27878         (process_invariant_for_inheritance): Ditto.
27879         * lra-remat.cc (update_scratch_ops): Ditto.
27880         * lra.cc (lra_create_new_reg_with_unique_value): Add arg
27881         exclude_start_hard_regs.  Setup the corresponding member of
27882         lra reg info.
27883         (lra_create_new_reg): Add arg exclude_start_hard_regs and pass it
27884         to lra_create_new_reg_with_unique_value.
27885         (initialize_lra_reg_info_element): Initialize member
27886         exclude_start_hard_regs.
27887         (get_scratch_reg): Pass NULL to lra_create_new_reg.
27888         * ira.cc (setup_prohibited_class_mode_regs): Rename to
27889         setup_prohibited_and_exclude_class_mode_regs and calculate
27890         ira_exclude_class_mode_regs.
27891
27892 2022-01-21  Martin Liska  <mliska@suse.cz>
27893
27894         * configure.ac: Detect ld_is_mold and use it for
27895         comdat_group=yes and gcc_cv_ld_hidden=yes.
27896         * configure: Regenerate.
27897
27898 2022-01-21  Richard Biener  <rguenther@suse.de>
27899
27900         PR tree-optimization/100089
27901         * tree-vect-slp.cc (vect_slp_region): Reject BB vectorization
27902         of if-converted loops with unvectorized COND_EXPRs for
27903         all but the unlimited cost models.
27904
27905 2022-01-21  Ard Biesheuvel  <ardb@kernel.org>
27906
27907         * config/arm/arm-opts.h (enum stack_protector_guard): New.
27908         * config/arm/arm-protos.h (arm_stack_protect_tls_canary_mem):
27909         New.
27910         * config/arm/arm.cc (TARGET_STACK_PROTECT_GUARD): Define.
27911         (arm_option_override_internal): Handle and put in error checks.
27912         for stack protector guard options.
27913         (arm_option_reconfigure_globals): Likewise.
27914         (arm_stack_protect_tls_canary_mem): New.
27915         (arm_stack_protect_guard): New.
27916         * config/arm/arm.md (stack_protect_set): New.
27917         (stack_protect_set_tls): Likewise.
27918         (stack_protect_test): Likewise.
27919         (stack_protect_test_tls): Likewise.
27920         (reload_tp_hard): Likewise.
27921         * config/arm/arm.opt (-mstack-protector-guard): New
27922         (-mstack-protector-guard-offset): New.
27923         * doc/invoke.texi: Document new options.
27924
27925 2022-01-21  Richard Biener  <rguenther@suse.de>
27926
27927         PR tree-optimization/104156
27928         * tree-ssa-loop-unswitch.cc (tree_unswitch_outer_loop):
27929         Collect and reset debug stmts with out-of-loop uses when
27930         hoisting guards.
27931         (find_loop_guard): Adjust.
27932         (empty_bb_without_guard_p): Likewise.  Ignore debug stmts.
27933         (used_outside_loop_p): Push debug uses to a vector of
27934         debug stmts to reset.
27935         (hoist_guard): Adjust -fopt-info category.
27936
27937 2022-01-21  Richard Biener  <rguenther@suse.de>
27938
27939         PR tree-optimization/104152
27940         * tree-vect-slp.cc (vect_build_slp_tree_2): Add missing
27941         can_duplicate_and_interleave_p check.
27942
27943 2022-01-21  Jakub Jelinek  <jakub@redhat.com>
27944
27945         * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer):
27946         Avoid passing var to warning_at when the format string doesn't
27947         refer to it.
27948
27949 2022-01-21  Aldy Hernandez  <aldyh@redhat.com>
27950
27951         PR tree-optimization/103721
27952         * gimple-range-path.cc
27953         (path_range_query::relations_may_be_invalidated): New.
27954         (path_range_query::compute_ranges_in_block): Reset relations if
27955         they may be invalidated.
27956         (path_range_query::maybe_register_phi_relation): Exit if relations
27957         may be invalidated on incoming edge.
27958         (path_range_query::compute_phi_relations): Pass incoming PHI edge
27959         to maybe_register_phi_relation.
27960         * gimple-range-path.h (relations_may_be_invalidated): New.
27961         (maybe_register_phi_relation): Pass edge instead of tree.
27962         * tree-ssa-threadbackward.cc (back_threader::back_threader):
27963         Mark DFS edges.
27964         * value-relation.cc (path_oracle::path_oracle): Call
27965         mark_dfs_back_edges.
27966         (path_oracle::register_relation): Add SSA names to m_registered
27967         bitmap.
27968         (path_oracle::reset_path): Clear m_registered bitmap.
27969         * value-relation.h (path_oracle::set_root_oracle): New.
27970
27971 2022-01-21  Jakub Jelinek  <jakub@redhat.com>
27972
27973         PR rtl-optimization/102478
27974         * optabs.cc (prepare_cmp_insn): If !can_create_pseudo_p (), don't
27975         force_reg constants and for -fnon-call-exceptions fail if copy_to_reg
27976         would be needed.
27977
27978 2022-01-20  Richard Biener  <rguenther@suse.de>
27979
27980         PR middle-end/100786
27981         * gimple-fold.cc (get_symbol_constant_value): Only return
27982         values of compatible type to the symbol.
27983
27984 2022-01-20  Andrew MacLeod  <amacleod@redhat.com>
27985
27986         * value-relation.cc (relation_oracle::valid_equivs): Query and add
27987         if valid members of a set.
27988         (equiv_oracle::register_equiv): Call valid_equivs rather than
27989         bitmap direct operations.
27990         (path_oracle::register_equiv): Ditto.
27991         * value-relation.h (relation_oracle::valid_equivs): New prototype.
27992
27993 2022-01-20  Richard Biener  <rguenther@suse.de>
27994
27995         PR target/100784
27996         * config/i386/i386.cc (ix86_gimple_fold_builtin): Check for
27997         LHS before folding __builtin_ia32_shufpd and friends.
27998
27999 2022-01-20  Richard Earnshaw  <rearnsha@arm.com>
28000
28001         * config/arm/crypto.md (aes_op_protect): Allow moves from core
28002         registers and from memory.
28003         (aes_op_protect_misalign_load): New pattern.
28004         (aes_op_protect_neon_vld1v16qi): New pattern.
28005
28006 2022-01-20  Richard Earnshaw  <rearnsha@arm.com>
28007
28008         * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>_protected):
28009         New pattern.
28010         (aarch32_crypto_aese_fused_protected): Likewise.
28011         (aarch32_crypto_aesd_fused_protected): Likewise.
28012
28013 2022-01-20  Richard Earnshaw  <rearnsha@arm.com>
28014
28015         * config/arm/crypto.md (crypto_<CRYPTO_AES:crypto_pattern>): Convert
28016         to define_expand.  Add mitigation for the Cortex-A AES erratum
28017         when enabled.
28018         (*crypto_<CRYPTO_AES:crypto_pattern>_insn): New pattern, based
28019         on original crypto_<CRYPTO_AES:crypto_pattern> insn.
28020         (aes_op_protect): New pattern.
28021         * config/arm/unspecs.md (unspec): Add UNSPEC_AES_PROTECT.
28022
28023 2022-01-20  Richard Earnshaw  <rearnsha@arm.com>
28024
28025         * config/arm/arm-cpus.in (quirk_aes_1742098): New quirk feature
28026         (ALL_QUIRKS): Add it.
28027         (cortex-a57, cortex-a72): Enable it.
28028         (cortex-a57.cortex-a53, cortex-a72.cortex-a53): Likewise.
28029         * config/arm/arm.opt (mfix-cortex-a57-aes-1742098): New command-line
28030         option.
28031         (mfix-cortex-a72-aes-1655431): New option alias.
28032         * config/arm/arm.cc (arm_option_override): Handle default settings
28033         for AES erratum switch.
28034         * doc/invoke.texi (Arm Options): Document new options.
28035
28036 2022-01-20  Richard Earnshaw  <rearnsha@arm.com>
28037
28038         * config/arm/crypto.md (crypto_<CYRPTO_AES:crypto_pattern>): Use
28039         <crypto_mode> rather than hard-coding the mode.
28040         (crypto_<CRYPTO_AESMC:crypto_pattern>): Fix white space.
28041         (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
28042         (*aarch32_crypto_aese_fused): Likewise.
28043         (*aarch32_crypto_aesd_fused): Likewise.
28044         (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
28045         (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
28046         (crypto_sha1h_lb): Likewise.
28047         (crypto_vmullp64): Likewise.
28048         (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
28049         (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
28050
28051 2022-01-20  Richard Earnshaw  <rearnsha@arm.com>
28052
28053         * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>): Add
28054         iterator to pattern name to disambiguate.
28055         (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
28056         (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
28057         (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
28058         (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
28059         (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
28060
28061 2022-01-20  Martin Liska  <mliska@suse.cz>
28062
28063         PR bootstrap/104135
28064         * emit-rtl.cc (make_insn_raw): Fix -Wformat-diag warnings.
28065         * rtl.cc: Partially disable -Wformat-diag for RTL checking
28066         error messages.
28067
28068 2022-01-20  Jakub Jelinek  <jakub@redhat.com>
28069
28070         PR debug/103874
28071         * dwarf2out.cc (index_rnglists): For !HAVE_AS_LEB128 and
28072         block_num > 0, index entry even if !have_multiple_function_sections.
28073
28074 2022-01-20  liuhongt  <hongtao.liu@intel.com>
28075
28076         PR target/103771
28077         * tree-vect-stmts.cc (supportable_narrowing_operation): Enhance
28078         integral mode mask pack by multi steps which takes
28079         vec_pack_sbool_trunc_optab as start when elements number is
28080         less than BITS_PER_UNITS.
28081
28082 2022-01-20  Richard Biener  <rguenther@suse.de>
28083
28084         PR tree-optimization/104114
28085         * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
28086         single element vector decomposition.
28087
28088 2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
28089
28090         * ifcvt.cc (noce_convert_multiple_sets_1): New function.
28091         (noce_convert_multiple_sets): Call function a second time if we can
28092         improve the first try.
28093
28094 2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
28095
28096         * ifcvt.cc (cond_exec_get_condition): New parameter to allow getting the
28097         reversed comparison.
28098         (try_emit_cmove_seq): New function to facilitate creating a cmov
28099         sequence.
28100         (noce_convert_multiple_sets): Create two sequences and use the less
28101         expensive one.
28102
28103 2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
28104
28105         * rtl.h (struct rtx_comparison): New struct that holds an rtx
28106         comparison.
28107         * config/rs6000/rs6000.cc (rs6000_emit_minmax): Use struct instead of
28108         single parameters.
28109         (rs6000_emit_swsqrt): Likewise.
28110         * expmed.cc (expand_sdiv_pow2): Likewise.
28111         (emit_store_flag): Likewise.
28112         * expr.cc (expand_cond_expr_using_cmove): Likewise.
28113         (expand_expr_real_2): Likewise.
28114         * ifcvt.cc (noce_emit_cmove): Add compare and reversed compare
28115         parameters.
28116         * optabs.cc (emit_conditional_move_1): New function.
28117         (expand_doubleword_shift_condmove): Use struct.
28118         (emit_conditional_move): Use struct and allow to call directly
28119         without going through preparation steps.
28120         * optabs.h (emit_conditional_move): Use struct.
28121
28122 2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
28123
28124         * ifcvt.cc (bb_ok_for_noce_convert_multiple_sets): Estimate insns costs.
28125         (noce_process_if_block): Use potential costs.
28126
28127 2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
28128
28129         * ifcvt.cc (noce_convert_multiple_sets): Allow constants.
28130         (bb_ok_for_noce_convert_multiple_sets): Likewise.
28131
28132 2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
28133
28134         * ifcvt.cc (need_cmov_or_rewire): New function.
28135         (noce_convert_multiple_sets): Call it.
28136
28137 2022-01-19  David Malcolm  <dmalcolm@redhat.com>
28138
28139         * attribs.cc (attribute_c_tests): Rename to...
28140         (attribs_cc_tests): ...this.
28141         * bitmap.cc (bitmap_c_tests): Rename to...
28142         (bitmap_cc_tests): ...this.
28143         * cgraph.cc (cgraph_c_finalize): Rename to...
28144         (cgraph_cc_finalize): ...this.
28145         (cgraph_c_tests): Rename to...
28146         (cgraph_cc_tests): ...this.
28147         * cgraph.h (cgraph_c_finalize): Rename to...
28148         (cgraph_cc_finalize): ...this.
28149         (cgraphunit_c_finalize): Rename to...
28150         (cgraphunit_cc_finalize): ...this.
28151         * cgraphunit.cc (cgraphunit_c_finalize): Rename to...
28152         (cgraphunit_cc_finalize): ...this.
28153         * convert.cc (convert_c_tests): Rename to...
28154         (convert_cc_tests): ...this.
28155         * dbgcnt.cc (dbgcnt_c_tests): Rename to...
28156         (dbgcnt_cc_tests): ...this.
28157         * diagnostic-show-locus.cc (diagnostic_show_locus_c_tests): Rename to...
28158         (diagnostic_show_locus_cc_tests): ...this.
28159         * diagnostic.cc (diagnostic_c_tests): Rename to...
28160         (diagnostic_cc_tests): ...this.
28161         * dumpfile.cc (dumpfile_c_tests): Rename to...
28162         (dumpfile_cc_tests): ...this.
28163         * dwarf2out.cc (dwarf2out_c_finalize): Rename to...
28164         (dwarf2out_cc_finalize): ...this.
28165         * dwarf2out.h (dwarf2out_c_finalize): Rename to...
28166         (dwarf2out_cc_finalize): ...this.
28167         * edit-context.cc (edit_context_c_tests): Rename to...
28168         (edit_context_cc_tests): ...this.
28169         * et-forest.cc (et_forest_c_tests): Rename to...
28170         (et_forest_cc_tests): ...this.
28171         * fibonacci_heap.cc (fibonacci_heap_c_tests): Rename to...
28172         (fibonacci_heap_cc_tests): ...this.
28173         * fold-const.cc (fold_const_c_tests): Rename to...
28174         (fold_const_cc_tests): ...this.
28175         * function-tests.cc (function_tests_c_tests): Rename to...
28176         (function_tests_cc_tests): ...this.
28177         * gcse.cc (gcse_c_finalize): Rename to...
28178         (gcse_cc_finalize): ...this.
28179         * gcse.h (gcse_c_finalize): Rename to...
28180         (gcse_cc_finalize): ...this.
28181         * ggc-tests.cc (ggc_tests_c_tests): Rename to...
28182         (ggc_tests_cc_tests): ...this.
28183         * gimple-ssa-store-merging.cc (store_merging_c_tests): Rename to...
28184         (store_merging_cc_tests): ...this.
28185         * gimple.cc (gimple_c_tests): Rename to...
28186         (gimple_cc_tests): ...this.
28187         * hash-map-tests.cc (hash_map_tests_c_tests): Rename to...
28188         (hash_map_tests_cc_tests): ...this.
28189         * hash-set-tests.cc (hash_set_tests_c_tests): Rename to...
28190         (hash_set_tests_cc_tests): ...this.
28191         * input.cc (input_c_tests): Rename to...
28192         (input_cc_tests): ...this.
28193         * ipa-cp.cc (ipa_cp_c_finalize): Rename to...
28194         (ipa_cp_cc_finalize): ...this.
28195         * ipa-fnsummary.cc (ipa_fnsummary_c_finalize): Rename to...
28196         (ipa_fnsummary_cc_finalize): ...this.
28197         * ipa-fnsummary.h (ipa_fnsummary_c_finalize): Rename to...
28198         (ipa_fnsummary_cc_finalize): ...this.
28199         * ipa-modref-tree.cc (ipa_modref_tree_c_tests): Rename to...
28200         (ipa_modref_tree_cc_tests): ...this.
28201         * ipa-modref-tree.h (modref_c_tests): Delete bogus decl.
28202         * ipa-modref.cc (ipa_modref_c_finalize): Rename to...
28203         (ipa_modref_cc_finalize): ...this.
28204         * ipa-modref.h (ipa_modref_c_finalize): Rename to...
28205         (ipa_modref_cc_finalize): ...this.
28206         * ipa-prop.h (ipa_cp_c_finalize): Rename to...
28207         (ipa_cp_cc_finalize): ...this.
28208         * ipa-reference.cc (ipa_reference_c_finalize): Rename to...
28209         (ipa_reference_cc_finalize): ...this.
28210         * ipa-reference.h (ipa_reference_c_finalize): Rename to...
28211         (ipa_reference_cc_finalize): ...this.
28212         * ira-costs.cc (ira_costs_c_finalize): Rename to...
28213         (ira_costs_cc_finalize): ...this.
28214         * ira.h (ira_costs_c_finalize): Rename to...
28215         (ira_costs_cc_finalize): ...this.
28216         * opt-suggestions.cc (opt_proposer_c_tests): Rename to...
28217         (opt_suggestions_cc_tests): ...this.
28218         * opts.cc (opts_c_tests): Rename to...
28219         (opts_cc_tests): ...this.
28220         * predict.cc (predict_c_tests): Rename to...
28221         (predict_cc_tests): ...this.
28222         * pretty-print.cc (pretty_print_c_tests): Rename to...
28223         (pretty_print_cc_tests): ...this.
28224         * read-rtl-function.cc (read_rtl_function_c_tests): Rename to...
28225         (read_rtl_function_cc_tests): ...this.
28226         * rtl-tests.cc (rtl_tests_c_tests): Rename to...
28227         (rtl_tests_cc_tests): ...this.
28228         * sbitmap.cc (sbitmap_c_tests): Rename to...
28229         (sbitmap_cc_tests): ...this.
28230         * selftest-run-tests.cc (selftest::run_tests): Update calls for
28231         _c_ to _cc_ function renamings; fix names of attribs and
28232         opt-suggestions tests.
28233         * selftest.cc (selftest_c_tests): Rename to...
28234         (selftest_cc_tests): ...this.
28235         * selftest.h (attribute_c_tests): Rename to...
28236         (attribs_cc_tests): ...this.
28237         (bitmap_c_tests): Rename to...
28238         (bitmap_cc_tests): ...this.
28239         (cgraph_c_tests): Rename to...
28240         (cgraph_cc_tests): ...this.
28241         (convert_c_tests): Rename to...
28242         (convert_cc_tests): ...this.
28243         (diagnostic_c_tests): Rename to...
28244         (diagnostic_cc_tests): ...this.
28245         (diagnostic_show_locus_c_tests): Rename to...
28246         (diagnostic_show_locus_cc_tests): ...this.
28247         (dumpfile_c_tests): Rename to...
28248         (dumpfile_cc_tests): ...this.
28249         (edit_context_c_tests): Rename to...
28250         (edit_context_cc_tests): ...this.
28251         (et_forest_c_tests): Rename to...
28252         (et_forest_cc_tests): ...this.
28253         (fibonacci_heap_c_tests): Rename to...
28254         (fibonacci_heap_cc_tests): ...this.
28255         (fold_const_c_tests): Rename to...
28256         (fold_const_cc_tests): ...this.
28257         (function_tests_c_tests): Rename to...
28258         (function_tests_cc_tests): ...this.
28259         (ggc_tests_c_tests): Rename to...
28260         (ggc_tests_cc_tests): ...this.
28261         (gimple_c_tests): Rename to...
28262         (gimple_cc_tests): ...this.
28263         (hash_map_tests_c_tests): Rename to...
28264         (hash_map_tests_cc_tests): ...this.
28265         (hash_set_tests_c_tests): Rename to...
28266         (hash_set_tests_cc_tests): ...this.
28267         (input_c_tests): Rename to...
28268         (input_cc_tests): ...this.
28269         (opts_c_tests): Rename to...
28270         (opts_cc_tests): ...this.
28271         (predict_c_tests): Rename to...
28272         (predict_cc_tests): ...this.
28273         (pretty_print_c_tests): Rename to...
28274         (pretty_print_cc_tests): ...this.
28275         (read_rtl_function_c_tests): Rename to...
28276         (read_rtl_function_cc_tests): ...this.
28277         (rtl_tests_c_tests): Rename to...
28278         (rtl_tests_cc_tests): ...this.
28279         (sbitmap_c_tests): Rename to...
28280         (sbitmap_cc_tests): ...this.
28281         (selftest_c_tests): Rename to...
28282         (selftest_cc_tests): ...this.
28283         (simplify_rtx_c_tests): Rename to...
28284         (simplify_rtx_cc_tests): ...this.
28285         (spellcheck_c_tests): Rename to...
28286         (spellcheck_cc_tests): ...this.
28287         (spellcheck_tree_c_tests): Rename to...
28288         (spellcheck_tree_cc_tests): ...this.
28289         (sreal_c_tests): Rename to...
28290         (sreal_cc_tests): ...this.
28291         (store_merging_c_tests): Rename to...
28292         (store_merging_cc_tests): ...this.
28293         (tree_c_tests): Rename to...
28294         (tree_cc_tests): ...this.
28295         (tree_cfg_c_tests): Rename to...
28296         (tree_cfg_cc_tests): ...this.
28297         (typed_splay_tree_c_tests): Rename to...
28298         (typed_splay_tree_cc_tests): ...this.
28299         (vec_c_tests): Rename to...
28300         (vec_cc_tests): ...this.
28301         (vec_perm_indices_c_tests): Rename to...
28302         (vec_perm_indices_cc_tests): ..this.
28303         (opt_proposer_c_tests): Rename to...
28304         (opt_suggestions_cc_tests): ...this.
28305         (dbgcnt_c_tests): Rename to...
28306         (dbgcnt_cc_tests): ...this.
28307         (ipa_modref_tree_c_tests): Rename to...
28308         (ipa_modref_tree_cc_tests): ...this.
28309         * simplify-rtx.cc (simplify_rtx_c_tests): Rename to...
28310         (simplify_rtx_cc_tests): ...this.
28311         * spellcheck-tree.cc (spellcheck_tree_c_tests): Rename to...
28312         (spellcheck_tree_cc_tests): ...this.
28313         * spellcheck.cc (spellcheck_c_tests): Rename to...
28314         (spellcheck_cc_tests): ...this.
28315         * sreal.cc (sreal_c_tests): Rename to...
28316         (sreal_cc_tests): ...this.
28317         * toplev.cc (toplev::finalize): Update calls for _c_ to _cc_
28318         function renamings.
28319         * tree-cfg.cc (tree_cfg_c_tests): Rename to...
28320         (tree_cfg_cc_tests): ...this.
28321         * tree.cc (tree_c_tests): Rename to...
28322         (tree_cc_tests): ...this.
28323         * typed-splay-tree.cc (typed_splay_tree_c_tests): Rename to...
28324         (typed_splay_tree_cc_tests): ...this.
28325         * vec-perm-indices.cc (vec_perm_indices_c_tests): Rename to...
28326         (vec_perm_indices_cc_tests): ...this.
28327         * vec.cc (vec_c_tests): Rename to...
28328         (vec_cc_tests): ...this.
28329
28330 2022-01-19  Andre Vieira  <andre.simoesdiasvieira@arm.com>
28331
28332         PR tree-optimization/103997
28333         * tree-vect-loop.cc (vect_analyze_loop): Fix mode skipping for epilogue
28334         vectorization.
28335
28336 2022-01-19  Jakub Jelinek  <jakub@redhat.com>
28337
28338         PR middle-end/102860
28339         * match.pd (x %[fl] y -> x % y): New simplification for
28340         unsigned integral types.
28341         * optabs-tree.cc (optab_for_tree_code): Return unknown_optab
28342         for {CEIL,FLOOR,ROUND}_{DIV,MOD}_EXPR with VECTOR_TYPE.
28343
28344 2022-01-19  Richard Biener  <rguenther@suse.de>
28345
28346         PR tree-optimization/104112
28347         * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
28348         for required intermediate vector types.
28349
28350 2022-01-19  Jakub Jelinek  <jakub@redhat.com>
28351
28352         * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Add default:.
28353
28354 2022-01-19  Martin Liska  <mliska@suse.cz>
28355
28356         * configure.ac: Remove -Wno-error=format-diag.
28357         * configure: Regenerate.
28358
28359 2022-01-19  Martin Liska  <mliska@suse.cz>
28360
28361         * config/riscv/riscv.cc (riscv_handle_type_attribute):
28362         Update one -Wformat-diag string in warning message.
28363
28364 2022-01-19  Jakub Jelinek  <jakub@redhat.com>
28365
28366         PR middle-end/104103
28367         * gimple-ssa-warn-access.cc (pass_waccess::check_call): Don't check
28368         .ASAN_MARK calls.
28369
28370 2022-01-19  Jakub Jelinek  <jakub@redhat.com>
28371
28372         PR c++/89074
28373         * fold-const.cc (address_compare): Consider different STRING_CSTs
28374         with the same lengths that memcmp the same as equal, not different.
28375
28376 2022-01-19  Jakub Jelinek  <jakub@redhat.com>
28377
28378         * config/i386/sse.md (*aes<aeswideklvariant>u*): Use %0 instead of
28379         {%0}.
28380
28381 2022-01-19  Martin Liska  <mliska@suse.cz>
28382             Thomas Schwinge  <thomas@codesourcery.com>
28383
28384         * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Update
28385         warning messages.
28386
28387 2022-01-19  Sebastian Huber  <sebastian.huber@embedded-brains.de>
28388
28389         PR target/104090
28390         * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Use also
28391         rs6000_cpu.
28392
28393 2022-01-19  Jakub Jelinek  <jakub@redhat.com>
28394
28395         PR target/104104
28396         * config/i386/sse.md
28397         (<avx512>_<complexopname>_<mode><maskc_name><round_name>,
28398         avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>,
28399         avx512dq_mul<mode>3<mask_name>, <avx2_avx512>_permvar<mode><mask_name>,
28400         avx2_perm<mode>_1<mask_name>, avx512f_perm<mode>_1<mask_name>,
28401         avx512dq_rangep<mode><mask_name><round_saeonly_name>,
28402         avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>,
28403         <avx512>_getmant<mode><mask_name><round_saeonly_name>,
28404         avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
28405         Use vxorps\t%x0, %x0, %x0 instead of vxorps\t{%x0, %x0, %x0}.
28406
28407 2022-01-19  Martin Sebor  <msebor@redhat.com>
28408
28409         PR middle-end/104069
28410         * gimple-ssa-warn-access.cc (pointers_related_p): Return false for
28411         an unknown result as documented.
28412
28413 2022-01-18  Andrew Pinski  <apinski@marvell.com>
28414
28415         * ipa-split.cc (visit_bb): Fix comment before the
28416         warning/error attribute checking code.
28417
28418 2022-01-18  David Faust  <david.faust@oracle.com>
28419
28420         * config/bpf/coreout.cc (bpf_core_reloc_add): Do not account
28421         for base strtab offset yet as it may change.
28422         (output_asm_btfext_core_reloc): Do so here instead.
28423         (output_btfext_core_sections): Likewise.
28424
28425 2022-01-18  David Faust  <david.faust@oracle.com>
28426
28427         * config/bpf/coreout.cc (output_btfext_header): Account for
28428         4-byte record size in core_relo_len.
28429         (output_btfext_core_sections): Only write record size once.
28430         * config/bpf/coreout.h (btf_ext_section_header): Delete unused
28431         member.
28432
28433 2022-01-18  Maciej W. Rozycki  <macro@embecosm.com>
28434
28435         * common/config/riscv/riscv-common.cc
28436         (riscv_subset_list::parse_multiletter_ext): Move pointer
28437         arithmetic ahead of `free'.
28438
28439 2022-01-18  Jason Merrill  <jason@redhat.com>
28440
28441         PR c++/104007
28442         * gimplify.cc (gimple_push_cleanup): Handle eh_only in conditional
28443         context.
28444
28445 2022-01-18  Sandra Loosemore  <sandra@codesourcery.com>
28446
28447         PR middle-end/103163
28448         * emit-rtl.cc (init_emit_regs): Initialize stack_limit_rtx here...
28449         (init_emit_once): ...not here.
28450
28451 2022-01-18  Martin Liska  <mliska@suse.cz>
28452
28453         * collect2.cc (scan_libraries): Fix -Wformat-diag issues.
28454         * config/aarch64/aarch64-builtins.cc (aarch64_simd_expand_builtin): Likewise.
28455         * config/arc/arc.md: Likewise.
28456         * config/avr/avr.cc (avr_section_type_flags): Likewise.
28457         * config/bfin/bfin.cc (bfin_option_override): Likewise.
28458         (bfin_handle_longcall_attribute): Likewise.
28459         * config/cris/cris.h (FUNCTION_PROFILER): Likewise.
28460         * config/frv/frv.cc (frv_expand_builtin): Likewise.
28461         * config/ia64/ia64-c.cc (ia64_hpux_handle_builtin_pragma): Likewise.
28462         * config/iq2000/iq2000.cc (save_restore_insns): Likewise.
28463         (iq2000_print_operand_address): Likewise.
28464         (iq2000_print_operand): Likewise.
28465         * config/m32c/m32c-pragma.cc (m32c_pragma_memregs): Likewise.
28466         (m32c_pragma_address): Likewise.
28467         * config/m68k/m68k.cc (m68k_handle_fndecl_attribute): Likewise.
28468         * config/mips/mips.cc (mips_handle_interrupt_attr): Likewise.
28469         (mips_set_compression_mode): Likewise.
28470         * config/mmix/mmix.cc (mmix_function_profiler): Likewise.
28471         (mmix_print_operand): Likewise.
28472         (mmix_output_shiftvalue_op_from_str): Likewise.
28473         (mmix_output_shifted_value): Likewise.
28474         * config/msp430/driver-msp430.cc (msp430_select_hwmult_lib): Likewise.
28475         * config/msp430/msp430.cc (msp430_option_override): Likewise.
28476         (msp430_attr): Likewise.
28477         (msp430_expand_delay_cycles): Likewise.
28478         (msp430_expand_builtin): Likewise.
28479         * config/rs6000/aix73.h: Likewise.
28480         * config/rs6000/rtems.h (INVALID_64BIT): Likewise.
28481         * config/rx/rx.cc (rx_expand_builtin_mvtc): Likewise.
28482         (valid_psw_flag): Likewise.
28483         * config/sh/sh.cc (parse_validate_atomic_model_option): Likewise.
28484         * config/stormy16/stormy16.cc (xstormy16_function_profiler): Likewise.
28485         (xstormy16_expand_builtin_va_start): Likewise.
28486         (xstormy16_handle_below100_attribute): Likewise.
28487
28488 2022-01-18  Martin Liska  <mliska@suse.cz>
28489
28490         * config/vms/vms-c.cc (vms_pragma_nostandard): Fix -Wformat-diag
28491         warning.
28492         (vms_pragma_standard): Likewise.
28493         (vms_pragma_extern_prefix): Likewise.
28494
28495 2022-01-18  Martin Liska  <mliska@suse.cz>
28496
28497         * config/xtensa/xtensa.cc (print_operand): Fix warnings.
28498         (print_operand_address): Likewise.
28499         (xtensa_multibss_section_type_flags): Likewise.
28500
28501 2022-01-18  Martin Liska  <mliska@suse.cz>
28502
28503         * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Change
28504         wording of an error message.
28505
28506 2022-01-18  Martin Liska  <mliska@suse.cz>
28507
28508         * config/v850/v850-c.cc (pop_data_area): Fix -Wformat-diag
28509         warning.
28510         (ghs_pragma_section): Likewise.
28511         (ghs_pragma_interrupt): Likewise.
28512         (ghs_pragma_starttda): Likewise.
28513         (ghs_pragma_startsda): Likewise.
28514         (ghs_pragma_startzda): Likewise.
28515         (ghs_pragma_endtda): Likewise.
28516         (ghs_pragma_endsda): Likewise.
28517         (ghs_pragma_endzda): Likewise.
28518
28519 2022-01-18  Martin Liska  <mliska@suse.cz>
28520
28521         * config/nds32/nds32-intrinsic.cc (nds32_expand_builtin_impl):
28522         Fix warnings.
28523         * config/nds32/nds32-intrinsic.md: Likewise.
28524         * config/nds32/nds32-isr.cc (nds32_check_isr_attrs_conflict): Likewise.
28525         * config/nds32/nds32.cc (nds32_print_operand): Likewise.
28526         (nds32_insert_attributes): Likewise.
28527
28528 2022-01-18  Martin Liska  <mliska@suse.cz>
28529
28530         * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Wrap
28531         keyword.
28532         * config/nvptx/nvptx.md: Remove trailing dot.
28533
28534 2022-01-18  Martin Liska  <mliska@suse.cz>
28535
28536         * common/config/riscv/riscv-common.cc (riscv_subset_list::add):
28537         Wrap keywords with quotes and remove trailing dots.
28538         (riscv_subset_list::parsing_subset_version): Likewise.
28539         (riscv_subset_list::parse_std_ext): Likewise.
28540         (riscv_subset_list::parse_multiletter_ext): Likewise.
28541         * config/riscv/riscv.cc (riscv_handle_type_attribute): Likewise.
28542
28543 2022-01-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>
28544
28545         * tree-vect-loop.cc (vect_estimate_min_profitable_iters): Pass new
28546         argument suggested_unroll_factor.
28547         (vect_analyze_loop_costing): Likewise.
28548         (_loop_vec_info::_loop_vec_info): Initialize new member
28549         suggested_unroll_factor.
28550         (vect_determine_partial_vectors_and_peeling): Make epilogue of unrolled
28551         main loop use partial vectors.
28552         (vect_analyze_loop_2): Pass and use new argument
28553         suggested_unroll_factor.
28554         (vect_analyze_loop_1): Change to intialize local
28555         suggested_unroll_factor and use it.
28556         (vectorizable_reduction): Don't use single_defuse_cycle when unrolling.
28557         * tree-vectorizer.h (_loop_vec_info::_loop_vec_info): Add new member
28558         suggested_unroll_factor.
28559         (vector_costs::vector_costs): Add new member m_suggested_unroll_factor.
28560         (vector_costs::suggested_unroll_factor): New getter function.
28561         (finish_cost): Set return argument suggested_unroll_factor.
28562
28563 2022-01-18  Andrew MacLeod  <amacleod@redhat.com>
28564
28565         PR tree-optimization/104038
28566         * doc/invoke.texi (relation-block-limit): New.
28567         * params.opt (relation-block-limit): New.
28568         * value-relation.cc (dom_oracle::register_relation): Check for NULL
28569         record before invoking transitive registery.
28570         (dom_oracle::set_one_relation): Check limit before creating record.
28571         (dom_oracle::register_transitives): Stop when no record created.
28572         * value-relation.h (relation_chain_head::m_num_relations): New.
28573
28574 2022-01-18  Richard Biener  <rguenther@suse.de>
28575
28576         PR ipa/103989
28577         * ipa-inline.cc (inline_small_functions): Do not enqueue call
28578         edges originating in functions compiled with -Og.
28579
28580 2022-01-18  Richard Biener  <rguenther@suse.de>
28581
28582         PR ipa/103989
28583         * passes.def (pass_all_optimizations_g): Remove pass_modref
28584         and pass_local_pure_const.
28585
28586 2022-01-18  Martin Liska  <mliska@suse.cz>
28587
28588         * config/s390/s390.cc: Fix -Wformat-diag warnings.
28589
28590 2022-01-18  Martin Liska  <mliska@suse.cz>
28591
28592         * config/s390/s390-c.cc (s390_expand_overloaded_builtin): Wrap
28593         keyword in quotes.
28594         (s390_resolve_overloaded_builtin): Remove trailing dot.
28595         * config/s390/s390.cc (s390_const_operand_ok): Use - for range.
28596         (s390_expand_builtin): Remove trailing dot.
28597         (s390_emit_prologue): Likewise, use semicolon.
28598         (s390_option_override_internal): Update keyword.
28599         * varasm.cc (do_assemble_alias): Wrap keyword in quotes.
28600
28601 2022-01-18  Martin Liska  <mliska@suse.cz>
28602
28603         * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Wrap
28604         keywords and use %qs instead of %<%s%>.
28605
28606 2022-01-18  Richard Biener  <rguenther@suse.de>
28607
28608         PR tree-optimization/103987
28609         * tree-ssa-dse.cc (dse_optimize_call): Properly guard modref
28610         query with a pointer check.
28611
28612 2022-01-18  Richard Sandiford  <richard.sandiford@arm.com>
28613
28614         PR target/104005
28615         * config/aarch64/aarch64.cc (aarch64_check_consecutive_mems):
28616         When using MEM_EXPR, require the base to be a decl.
28617
28618 2022-01-18  Richard Biener  <rguenther@suse.de>
28619
28620         * cgraph.h (struct cgraph_simd_clone_arg): Re-arrange fields to
28621         avoid padding.
28622         * function.h (struct function): Likewise.
28623
28624 2022-01-18  Arnaud Charlet  <charlet@adacore.com>
28625
28626         * doc/install.texi: Update prerequisites for GNAT
28627
28628 2022-01-18  Andrew Pinski  <apinski@marvell.com>
28629
28630         PR tree-optimization/101941
28631         * ipa-split.cc (visit_bb): Disallow function calls where
28632         the function has either error or warning attribute.
28633
28634 2022-01-18  Richard Biener  <rguenther@suse.de>
28635
28636         PR tree-optimization/104064
28637         * tree-vect-data-refs.cc (vect_analyze_data_ref_accesses): Check
28638         DR_INIT fits in a signed HWI, represent the difference from the
28639         first DR in unsigned.
28640
28641 2022-01-17  Martin Liska  <mliska@suse.cz>
28642
28643         * Makefile.in: Rename .c names to .cc.
28644         * config.gcc: Likewise.
28645         * configure: Regenerate. Likewise.
28646         * configure.ac: Likewise.
28647         * gengtype.cc (set_gc_used): Likewise.
28648         (source_dot_c_frul): Likewise.
28649         (source_dot_cc_frul): Likewise.
28650         (struct file_rule_st): Likewise.
28651         (close_output_files): Likewise.
28652         * config/avr/t-avr: Use CXXFLAGS_* and CXX_FOR_BUILD.
28653
28654 2022-01-17  Martin Liska  <mliska@suse.cz>
28655
28656         * Makefile.in: Rename .c names to .cc.
28657         * alias.h: Likewise.
28658         * asan.cc: Likewise.
28659         * auto-profile.h: Likewise.
28660         * basic-block.h (struct basic_block_d): Likewise.
28661         * btfout.cc: Likewise.
28662         * builtins.cc (expand_builtin_longjmp): Likewise.
28663         (validate_arg): Likewise.
28664         (access_ref::offset_bounded): Likewise.
28665         * caller-save.cc (reg_restore_code): Likewise.
28666         (setup_save_areas): Likewise.
28667         * calls.cc (initialize_argument_information): Likewise.
28668         (expand_call): Likewise.
28669         (emit_library_call_value_1): Likewise.
28670         * cfg-flags.def (RTL): Likewise.
28671         (SIBCALL): Likewise.
28672         (CAN_FALLTHRU): Likewise.
28673         * cfganal.cc (post_order_compute): Likewise.
28674         * cfgcleanup.cc (try_simplify_condjump): Likewise.
28675         (merge_blocks_move_predecessor_nojumps): Likewise.
28676         (merge_blocks_move_successor_nojumps): Likewise.
28677         (merge_blocks_move): Likewise.
28678         (old_insns_match_p): Likewise.
28679         (try_crossjump_bb): Likewise.
28680         * cfgexpand.cc (expand_gimple_stmt): Likewise.
28681         * cfghooks.cc (split_block_before_cond_jump): Likewise.
28682         (profile_record_check_consistency): Likewise.
28683         * cfghooks.h: Likewise.
28684         * cfgrtl.cc (pass_free_cfg::execute): Likewise.
28685         (rtl_can_merge_blocks): Likewise.
28686         (try_redirect_by_replacing_jump): Likewise.
28687         (make_pass_outof_cfg_layout_mode): Likewise.
28688         (cfg_layout_can_merge_blocks_p): Likewise.
28689         * cgraph.cc (release_function_body): Likewise.
28690         (cgraph_node::get_fun): Likewise.
28691         * cgraph.h (struct cgraph_node): Likewise.
28692         (asmname_hasher::equal): Likewise.
28693         (cgraph_inline_failed_type): Likewise.
28694         (thunk_adjust): Likewise.
28695         (dump_callgraph_transformation): Likewise.
28696         (record_references_in_initializer): Likewise.
28697         (ipa_discover_variable_flags): Likewise.
28698         * cgraphclones.cc (GTY): Likewise.
28699         * cgraphunit.cc (symbol_table::finalize_compilation_unit): Likewise.
28700         * collect-utils.h (GCC_COLLECT_UTILS_H): Likewise.
28701         * collect2-aix.h (GCC_COLLECT2_AIX_H): Likewise.
28702         * collect2.cc (maybe_run_lto_and_relink): Likewise.
28703         * combine-stack-adj.cc: Likewise.
28704         * combine.cc (setup_incoming_promotions): Likewise.
28705         (combine_simplify_rtx): Likewise.
28706         (count_rtxs): Likewise.
28707         * common.opt: Likewise.
28708         * common/config/aarch64/aarch64-common.cc: Likewise.
28709         * common/config/arm/arm-common.cc (arm_asm_auto_mfpu): Likewise.
28710         * common/config/avr/avr-common.cc: Likewise.
28711         * common/config/i386/i386-isas.h (struct _isa_names_table): Likewise.
28712         * conditions.h: Likewise.
28713         * config.gcc: Likewise.
28714         * config/aarch64/aarch64-builtins.cc (aarch64_resolve_overloaded_memtag): Likewise.
28715         * config/aarch64/aarch64-protos.h (aarch64_classify_address): Likewise.
28716         (aarch64_get_extension_string_for_isa_flags): Likewise.
28717         * config/aarch64/aarch64-sve-builtins.cc (function_builder::add_function): Likewise.
28718         * config/aarch64/aarch64.cc (aarch64_regmode_natural_size): Likewise.
28719         (aarch64_sched_first_cycle_multipass_dfa_lookahead): Likewise.
28720         (aarch64_option_valid_attribute_p): Likewise.
28721         (aarch64_short_vector_p): Likewise.
28722         (aarch64_float_const_representable_p): Likewise.
28723         * config/aarch64/aarch64.h (DBX_REGISTER_NUMBER): Likewise.
28724         (ASM_OUTPUT_POOL_EPILOGUE): Likewise.
28725         (GTY): Likewise.
28726         * config/aarch64/cortex-a57-fma-steering.cc: Likewise.
28727         * config/aarch64/driver-aarch64.cc (contains_core_p): Likewise.
28728         * config/aarch64/t-aarch64: Likewise.
28729         * config/aarch64/x-aarch64: Likewise.
28730         * config/aarch64/x-darwin: Likewise.
28731         * config/alpha/alpha-protos.h: Likewise.
28732         * config/alpha/alpha.cc (alpha_scalar_mode_supported_p): Likewise.
28733         * config/alpha/alpha.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
28734         (enum reg_class): Likewise.
28735         * config/alpha/alpha.md: Likewise.
28736         * config/alpha/driver-alpha.cc (AMASK_LOCKPFTCHOK): Likewise.
28737         * config/alpha/x-alpha: Likewise.
28738         * config/arc/arc-protos.h (arc_eh_uses): Likewise.
28739         * config/arc/arc.cc (ARC_OPT): Likewise.
28740         (arc_ccfsm_advance): Likewise.
28741         (arc_arg_partial_bytes): Likewise.
28742         (conditionalize_nonjump): Likewise.
28743         * config/arc/arc.md: Likewise.
28744         * config/arc/builtins.def: Likewise.
28745         * config/arc/t-arc: Likewise.
28746         * config/arm/arm-c.cc (arm_resolve_overloaded_builtin): Likewise.
28747         (arm_pragma_target_parse): Likewise.
28748         * config/arm/arm-protos.h (save_restore_target_globals): Likewise.
28749         (arm_cpu_cpp_builtins): Likewise.
28750         * config/arm/arm.cc (vfp3_const_double_index): Likewise.
28751         (shift_op): Likewise.
28752         (thumb2_final_prescan_insn): Likewise.
28753         (arm_final_prescan_insn): Likewise.
28754         (arm_asm_output_labelref): Likewise.
28755         (arm_small_register_classes_for_mode_p): Likewise.
28756         * config/arm/arm.h: Likewise.
28757         * config/arm/arm.md: Likewise.
28758         * config/arm/driver-arm.cc: Likewise.
28759         * config/arm/symbian.h: Likewise.
28760         * config/arm/t-arm: Likewise.
28761         * config/arm/thumb1.md: Likewise.
28762         * config/arm/x-arm: Likewise.
28763         * config/avr/avr-c.cc (avr_register_target_pragmas): Likewise.
28764         * config/avr/avr-fixed.md: Likewise.
28765         * config/avr/avr-log.cc (avr_log_vadump): Likewise.
28766         * config/avr/avr-mcus.def: Likewise.
28767         * config/avr/avr-modes.def (FRACTIONAL_INT_MODE): Likewise.
28768         * config/avr/avr-passes.def (INSERT_PASS_BEFORE): Likewise.
28769         * config/avr/avr-protos.h (make_avr_pass_casesi): Likewise.
28770         * config/avr/avr.cc (avr_option_override): Likewise.
28771         (avr_build_builtin_va_list): Likewise.
28772         (avr_mode_dependent_address_p): Likewise.
28773         (avr_function_arg_advance): Likewise.
28774         (avr_asm_output_aligned_decl_common): Likewise.
28775         * config/avr/avr.h (RETURN_ADDR_RTX): Likewise.
28776         (SUPPORTS_INIT_PRIORITY): Likewise.
28777         * config/avr/avr.md: Likewise.
28778         * config/avr/builtins.def: Likewise.
28779         * config/avr/gen-avr-mmcu-specs.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
28780         * config/avr/gen-avr-mmcu-texi.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
28781         (main): Likewise.
28782         * config/avr/t-avr: Likewise.
28783         * config/bfin/bfin.cc (frame_related_constant_load): Likewise.
28784         * config/bpf/bpf-protos.h (GCC_BPF_PROTOS_H): Likewise.
28785         * config/bpf/bpf.h (enum reg_class): Likewise.
28786         * config/bpf/t-bpf: Likewise.
28787         * config/c6x/c6x-protos.h (GCC_C6X_PROTOS_H): Likewise.
28788         * config/cr16/cr16-protos.h: Likewise.
28789         * config/cris/cris.cc (cris_address_cost): Likewise.
28790         (cris_side_effect_mode_ok): Likewise.
28791         (cris_init_machine_status): Likewise.
28792         (cris_emit_movem_store): Likewise.
28793         * config/cris/cris.h (INDEX_REG_CLASS): Likewise.
28794         (enum reg_class): Likewise.
28795         (struct cum_args): Likewise.
28796         * config/cris/cris.opt: Likewise.
28797         * config/cris/sync.md: Likewise.
28798         * config/csky/csky.cc (csky_expand_prologue): Likewise.
28799         * config/darwin-c.cc: Likewise.
28800         * config/darwin-f.cc: Likewise.
28801         * config/darwin-sections.def (zobj_const_section): Likewise.
28802         * config/darwin.cc (output_objc_section_asm_op): Likewise.
28803         (fprintf): Likewise.
28804         * config/darwin.h (GTY): Likewise.
28805         * config/elfos.h: Likewise.
28806         * config/epiphany/epiphany-sched.md: Likewise.
28807         * config/epiphany/epiphany.cc (epiphany_function_value): Likewise.
28808         * config/epiphany/epiphany.h (GTY): Likewise.
28809         (NO_FUNCTION_CSE): Likewise.
28810         * config/epiphany/mode-switch-use.cc: Likewise.
28811         * config/epiphany/predicates.md: Likewise.
28812         * config/epiphany/t-epiphany: Likewise.
28813         * config/fr30/fr30-protos.h: Likewise.
28814         * config/frv/frv-protos.h: Likewise.
28815         * config/frv/frv.cc (TLS_BIAS): Likewise.
28816         * config/frv/frv.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
28817         * config/ft32/ft32-protos.h: Likewise.
28818         * config/gcn/gcn-hsa.h (ASM_APP_OFF): Likewise.
28819         * config/gcn/gcn.cc (gcn_init_libfuncs): Likewise.
28820         * config/gcn/mkoffload.cc (copy_early_debug_info): Likewise.
28821         * config/gcn/t-gcn-hsa: Likewise.
28822         * config/gcn/t-omp-device: Likewise.
28823         * config/h8300/h8300-protos.h (GCC_H8300_PROTOS_H): Likewise.
28824         (same_cmp_following_p): Likewise.
28825         * config/h8300/h8300.cc (F): Likewise.
28826         * config/h8300/h8300.h (struct cum_arg): Likewise.
28827         (BRANCH_COST): Likewise.
28828         * config/i386/cygming.h (DEFAULT_PCC_STRUCT_RETURN): Likewise.
28829         * config/i386/djgpp.h (TARGET_ASM_LTO_END): Likewise.
28830         * config/i386/dragonfly.h (NO_PROFILE_COUNTERS): Likewise.
28831         * config/i386/driver-i386.cc (detect_caches_intel): Likewise.
28832         * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
28833         * config/i386/i386-c.cc (ix86_target_macros): Likewise.
28834         * config/i386/i386-expand.cc (get_mode_wider_vector): Likewise.
28835         * config/i386/i386-options.cc (ix86_set_func_type): Likewise.
28836         * config/i386/i386-protos.h (ix86_extract_perm_from_pool_constant): Likewise.
28837         (ix86_register_pragmas): Likewise.
28838         (ix86_d_has_stdcall_convention): Likewise.
28839         (i386_pe_seh_init_sections): Likewise.
28840         * config/i386/i386.cc (ix86_function_arg_regno_p): Likewise.
28841         (ix86_function_value_regno_p): Likewise.
28842         (ix86_compute_frame_layout): Likewise.
28843         (legitimize_pe_coff_symbol): Likewise.
28844         (output_pic_addr_const): Likewise.
28845         * config/i386/i386.h (defined): Likewise.
28846         (host_detect_local_cpu): Likewise.
28847         (CONSTANT_ADDRESS_P): Likewise.
28848         (DEFAULT_LARGE_SECTION_THRESHOLD): Likewise.
28849         (struct machine_frame_state): Likewise.
28850         * config/i386/i386.md: Likewise.
28851         * config/i386/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
28852         * config/i386/mmx.md: Likewise.
28853         * config/i386/sse.md: Likewise.
28854         * config/i386/t-cygming: Likewise.
28855         * config/i386/t-djgpp: Likewise.
28856         * config/i386/t-gnu-property: Likewise.
28857         * config/i386/t-i386: Likewise.
28858         * config/i386/t-intelmic: Likewise.
28859         * config/i386/t-omp-device: Likewise.
28860         * config/i386/winnt-cxx.cc (i386_pe_type_dllimport_p): Likewise.
28861         (i386_pe_adjust_class_at_definition): Likewise.
28862         * config/i386/winnt.cc (gen_stdcall_or_fastcall_suffix): Likewise.
28863         (i386_pe_mangle_decl_assembler_name): Likewise.
28864         (i386_pe_encode_section_info): Likewise.
28865         * config/i386/x-cygwin: Likewise.
28866         * config/i386/x-darwin: Likewise.
28867         * config/i386/x-i386: Likewise.
28868         * config/i386/x-mingw32: Likewise.
28869         * config/i386/x86-tune-sched-core.cc: Likewise.
28870         * config/i386/x86-tune.def: Likewise.
28871         * config/i386/xm-djgpp.h (STANDARD_STARTFILE_PREFIX_1): Likewise.
28872         * config/ia64/freebsd.h: Likewise.
28873         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Likewise.
28874         * config/ia64/ia64-protos.h (ia64_except_unwind_info): Likewise.
28875         * config/ia64/ia64.cc (ia64_function_value_regno_p): Likewise.
28876         (ia64_secondary_reload_class): Likewise.
28877         (bundling): Likewise.
28878         * config/ia64/ia64.h: Likewise.
28879         * config/ia64/ia64.md: Likewise.
28880         * config/ia64/predicates.md: Likewise.
28881         * config/ia64/sysv4.h: Likewise.
28882         * config/ia64/t-ia64: Likewise.
28883         * config/iq2000/iq2000.h (FUNCTION_MODE): Likewise.
28884         * config/iq2000/iq2000.md: Likewise.
28885         * config/linux.h (TARGET_HAS_BIONIC): Likewise.
28886         (if): Likewise.
28887         * config/m32c/m32c.cc (m32c_function_needs_enter): Likewise.
28888         * config/m32c/m32c.h (MAX_REGS_PER_ADDRESS): Likewise.
28889         * config/m32c/t-m32c: Likewise.
28890         * config/m32r/m32r-protos.h: Likewise.
28891         * config/m32r/m32r.cc (m32r_print_operand): Likewise.
28892         * config/m32r/m32r.h: Likewise.
28893         * config/m32r/m32r.md: Likewise.
28894         * config/m68k/m68k-isas.def: Likewise.
28895         * config/m68k/m68k-microarchs.def: Likewise.
28896         * config/m68k/m68k-protos.h (strict_low_part_peephole_ok): Likewise.
28897         (m68k_epilogue_uses): Likewise.
28898         * config/m68k/m68k.cc (m68k_call_tls_get_addr): Likewise.
28899         (m68k_sched_adjust_cost): Likewise.
28900         (m68k_sched_md_init): Likewise.
28901         * config/m68k/m68k.h (__transfer_from_trampoline): Likewise.
28902         (enum m68k_function_kind): Likewise.
28903         * config/m68k/m68k.md: Likewise.
28904         * config/m68k/m68kemb.h: Likewise.
28905         * config/m68k/uclinux.h (ENDFILE_SPEC): Likewise.
28906         * config/mcore/mcore-protos.h: Likewise.
28907         * config/mcore/mcore.cc (mcore_expand_insv): Likewise.
28908         (mcore_expand_prolog): Likewise.
28909         * config/mcore/mcore.h (TARGET_MCORE): Likewise.
28910         * config/mcore/mcore.md: Likewise.
28911         * config/microblaze/microblaze-protos.h: Likewise.
28912         * config/microblaze/microblaze.cc (microblaze_legitimate_pic_operand): Likewise.
28913         (microblaze_function_prologue): Likewise.
28914         (microblaze_function_epilogue): Likewise.
28915         (microblaze_select_section): Likewise.
28916         (microblaze_asm_output_mi_thunk): Likewise.
28917         (microblaze_eh_return): Likewise.
28918         * config/microblaze/microblaze.h: Likewise.
28919         * config/microblaze/microblaze.md: Likewise.
28920         * config/microblaze/t-microblaze: Likewise.
28921         * config/mips/driver-native.cc: Likewise.
28922         * config/mips/loongson2ef.md: Likewise.
28923         * config/mips/mips-protos.h (mips_expand_vec_cmp_expr): Likewise.
28924         * config/mips/mips.cc (mips_rtx_costs): Likewise.
28925         (mips_output_filename): Likewise.
28926         (mips_output_function_prologue): Likewise.
28927         (mips_output_function_epilogue): Likewise.
28928         (mips_output_mi_thunk): Likewise.
28929         * config/mips/mips.h: Likewise.
28930         * config/mips/mips.md: Likewise.
28931         * config/mips/t-mips: Likewise.
28932         * config/mips/x-native: Likewise.
28933         * config/mmix/mmix-protos.h: Likewise.
28934         * config/mmix/mmix.cc (mmix_option_override): Likewise.
28935         (mmix_dbx_register_number): Likewise.
28936         (mmix_expand_prologue): Likewise.
28937         * config/mmix/mmix.h: Likewise.
28938         * config/mmix/mmix.md: Likewise.
28939         * config/mmix/predicates.md: Likewise.
28940         * config/mn10300/mn10300.cc (mn10300_symbolic_operand): Likewise.
28941         (mn10300_legitimate_pic_operand_p): Likewise.
28942         * config/mn10300/mn10300.h (enum reg_class): Likewise.
28943         (NO_FUNCTION_CSE): Likewise.
28944         * config/moxie/moxie-protos.h: Likewise.
28945         * config/moxie/uclinux.h (TARGET_LIBC_HAS_FUNCTION): Likewise.
28946         * config/msp430/msp430-devices.cc (extract_devices_dir_from_exec_prefix): Likewise.
28947         * config/msp430/msp430.cc (msp430_gimplify_va_arg_expr): Likewise.
28948         (msp430_incoming_return_addr_rtx): Likewise.
28949         * config/msp430/msp430.h (msp430_get_linker_devices_include_path): Likewise.
28950         * config/msp430/t-msp430: Likewise.
28951         * config/nds32/nds32-cost.cc (nds32_rtx_costs_speed_prefer): Likewise.
28952         (nds32_rtx_costs_size_prefer): Likewise.
28953         (nds32_init_rtx_costs): Likewise.
28954         * config/nds32/nds32-doubleword.md: Likewise.
28955         * config/nds32/nds32.cc (nds32_memory_move_cost): Likewise.
28956         (nds32_builtin_decl): Likewise.
28957         * config/nds32/nds32.h (enum nds32_16bit_address_type): Likewise.
28958         (enum nds32_isr_nested_type): Likewise.
28959         (enum reg_class): Likewise.
28960         * config/nds32/predicates.md: Likewise.
28961         * config/nds32/t-nds32: Likewise.
28962         * config/nios2/nios2.cc (nios2_pragma_target_parse): Likewise.
28963         * config/nvptx/nvptx-protos.h: Likewise.
28964         * config/nvptx/nvptx.cc (nvptx_goacc_expand_var_decl): Likewise.
28965         * config/nvptx/nvptx.h (TARGET_CPU_CPP_BUILTINS): Likewise.
28966         * config/nvptx/t-nvptx: Likewise.
28967         * config/nvptx/t-omp-device: Likewise.
28968         * config/pa/elf.h: Likewise.
28969         * config/pa/pa-linux.h (GLOBAL_ASM_OP): Likewise.
28970         * config/pa/pa-netbsd.h (GLOBAL_ASM_OP): Likewise.
28971         * config/pa/pa-openbsd.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
28972         * config/pa/pa-protos.h (pa_eh_return_handler_rtx): Likewise.
28973         (pa_legitimize_reload_address): Likewise.
28974         (pa_can_use_return_insn): Likewise.
28975         * config/pa/pa.cc (mem_shadd_or_shadd_rtx_p): Likewise.
28976         (som_output_text_section_asm_op): Likewise.
28977         * config/pa/pa.h (PROFILE_BEFORE_PROLOGUE): Likewise.
28978         * config/pa/pa.md: Likewise.
28979         * config/pa/som.h: Likewise.
28980         * config/pa/t-pa: Likewise.
28981         * config/pdp11/pdp11.cc (decode_pdp11_d): Likewise.
28982         * config/pdp11/pdp11.h: Likewise.
28983         * config/pdp11/pdp11.md: Likewise.
28984         * config/pdp11/t-pdp11: Likewise.
28985         * config/pru/pru.md: Likewise.
28986         * config/pru/t-pru: Likewise.
28987         * config/riscv/riscv-protos.h (NUM_SYMBOL_TYPES): Likewise.
28988         (riscv_gpr_save_operation_p): Likewise.
28989         (riscv_d_register_target_info): Likewise.
28990         (riscv_init_builtins): Likewise.
28991         * config/riscv/riscv.cc (riscv_output_mi_thunk): Likewise.
28992         * config/riscv/riscv.h (CSW_MAX_OFFSET): Likewise.
28993         * config/riscv/t-riscv: Likewise.
28994         * config/rl78/rl78.cc (rl78_asm_ctor_dtor): Likewise.
28995         * config/rl78/t-rl78: Likewise.
28996         * config/rs6000/aix.h: Likewise.
28997         * config/rs6000/aix71.h (ASM_SPEC_COMMON): Likewise.
28998         * config/rs6000/aix72.h (ASM_SPEC_COMMON): Likewise.
28999         * config/rs6000/aix73.h (ASM_SPEC_COMMON): Likewise.
29000         * config/rs6000/darwin.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
29001         * config/rs6000/driver-rs6000.cc: Likewise.
29002         * config/rs6000/freebsd.h: Likewise.
29003         * config/rs6000/freebsd64.h: Likewise.
29004         * config/rs6000/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
29005         * config/rs6000/rbtree.cc: Likewise.
29006         * config/rs6000/rbtree.h: Likewise.
29007         * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Likewise.
29008         * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Likewise.
29009         (rs6000_expand_builtin): Likewise.
29010         (rs6000_init_builtins): Likewise.
29011         * config/rs6000/rs6000-cpus.def: Likewise.
29012         * config/rs6000/rs6000-gen-builtins.cc (write_init_ovld_table): Likewise.
29013         * config/rs6000/rs6000-internal.h (ALTIVEC_REG_BIT): Likewise.
29014         (quad_address_offset_p): Likewise.
29015         * config/rs6000/rs6000-logue.cc (interesting_frame_related_regno): Likewise.
29016         (rs6000_emit_epilogue): Likewise.
29017         * config/rs6000/rs6000-overload.def: Likewise.
29018         * config/rs6000/rs6000-p8swap.cc: Likewise.
29019         * config/rs6000/rs6000-protos.h (GCC_RS6000_PROTOS_H): Likewise.
29020         (rs6000_const_f32_to_i32): Likewise.
29021         * config/rs6000/rs6000.cc (legitimate_lo_sum_address_p): Likewise.
29022         (rs6000_debug_legitimize_address): Likewise.
29023         (rs6000_mode_dependent_address): Likewise.
29024         (rs6000_adjust_priority): Likewise.
29025         (rs6000_c_mode_for_suffix): Likewise.
29026         * config/rs6000/rs6000.h (defined): Likewise.
29027         (LONG_DOUBLE_TYPE_SIZE): Likewise.
29028         * config/rs6000/rs6000.md: Likewise.
29029         * config/rs6000/sysv4.h: Likewise.
29030         * config/rs6000/t-linux: Likewise.
29031         * config/rs6000/t-linux64: Likewise.
29032         * config/rs6000/t-rs6000: Likewise.
29033         * config/rs6000/x-darwin: Likewise.
29034         * config/rs6000/x-darwin64: Likewise.
29035         * config/rs6000/x-rs6000: Likewise.
29036         * config/rs6000/xcoff.h (ASM_OUTPUT_LABELREF): Likewise.
29037         * config/rx/rx.cc (rx_expand_builtin): Likewise.
29038         * config/s390/constraints.md: Likewise.
29039         * config/s390/driver-native.cc: Likewise.
29040         * config/s390/htmxlintrin.h: Likewise.
29041         * config/s390/s390-builtins.def (B_DEF): Likewise.
29042         (OB_DEF_VAR): Likewise.
29043         * config/s390/s390-builtins.h: Likewise.
29044         * config/s390/s390-c.cc: Likewise.
29045         * config/s390/s390-opts.h: Likewise.
29046         * config/s390/s390-protos.h (s390_check_symref_alignment): Likewise.
29047         (s390_register_target_pragmas): Likewise.
29048         * config/s390/s390.cc (s390_init_builtins): Likewise.
29049         (s390_expand_plus_operand): Likewise.
29050         (s390_expand_atomic): Likewise.
29051         (s390_valid_target_attribute_inner_p): Likewise.
29052         * config/s390/s390.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
29053         * config/s390/s390.md: Likewise.
29054         * config/s390/t-s390: Likewise.
29055         * config/s390/vx-builtins.md: Likewise.
29056         * config/s390/x-native: Likewise.
29057         * config/sh/divtab-sh4-300.cc (main): Likewise.
29058         * config/sh/divtab-sh4.cc (main): Likewise.
29059         * config/sh/divtab.cc (main): Likewise.
29060         * config/sh/elf.h: Likewise.
29061         * config/sh/sh-protos.h (sh_fsca_int2sf): Likewise.
29062         * config/sh/sh.cc (SYMBOL_FLAG_FUNCVEC_FUNCTION): Likewise.
29063         (sh_struct_value_rtx): Likewise.
29064         (sh_remove_reg_dead_or_unused_notes): Likewise.
29065         * config/sh/sh.h (MIN_UNITS_PER_WORD): Likewise.
29066         * config/sh/t-sh: Likewise.
29067         * config/sol2-protos.h (solaris_override_options): Likewise.
29068         * config/sol2.h: Likewise.
29069         * config/sparc/driver-sparc.cc: Likewise.
29070         * config/sparc/freebsd.h: Likewise.
29071         * config/sparc/sparc-protos.h (make_pass_work_around_errata): Likewise.
29072         * config/sparc/sparc.cc (sparc_output_mi_thunk): Likewise.
29073         (sparc_asan_shadow_offset): Likewise.
29074         * config/sparc/sparc.h: Likewise.
29075         * config/sparc/sparc.md: Likewise.
29076         * config/sparc/t-sparc: Likewise.
29077         * config/sparc/x-sparc: Likewise.
29078         * config/stormy16/stormy16.cc (xstormy16_mode_dependent_address_p): Likewise.
29079         * config/t-darwin: Likewise.
29080         * config/t-dragonfly: Likewise.
29081         * config/t-freebsd: Likewise.
29082         * config/t-glibc: Likewise.
29083         * config/t-linux: Likewise.
29084         * config/t-netbsd: Likewise.
29085         * config/t-openbsd: Likewise.
29086         * config/t-pnt16-warn: Likewise.
29087         * config/t-sol2: Likewise.
29088         * config/t-vxworks: Likewise.
29089         * config/t-winnt: Likewise.
29090         * config/tilegx/t-tilegx: Likewise.
29091         * config/tilegx/tilegx-c.cc: Likewise.
29092         * config/tilegx/tilegx-protos.h (tilegx_function_profiler): Likewise.
29093         * config/tilegx/tilegx.md: Likewise.
29094         * config/tilepro/t-tilepro: Likewise.
29095         * config/tilepro/tilepro-c.cc: Likewise.
29096         * config/v850/t-v850: Likewise.
29097         * config/v850/v850-protos.h: Likewise.
29098         * config/v850/v850.cc (F): Likewise.
29099         * config/v850/v850.h (enum reg_class): Likewise.
29100         (SLOW_BYTE_ACCESS): Likewise.
29101         * config/vax/vax.cc (vax_mode_dependent_address_p): Likewise.
29102         * config/vax/vax.h (enum reg_class): Likewise.
29103         * config/vax/vax.md: Likewise.
29104         * config/visium/visium.cc (visium_legitimate_address_p): Likewise.
29105         * config/visium/visium.h: Likewise.
29106         * config/vms/t-vms: Likewise.
29107         * config/vms/vms-crtlmap.map: Likewise.
29108         * config/vms/vms-protos.h (vms_c_get_vms_ver): Likewise.
29109         * config/vx-common.h: Likewise.
29110         * config/x-darwin: Likewise.
29111         * config/x-hpux: Likewise.
29112         * config/x-linux: Likewise.
29113         * config/x-netbsd: Likewise.
29114         * config/x-openbsd: Likewise.
29115         * config/x-solaris: Likewise.
29116         * config/xtensa/xtensa-protos.h (xtensa_mem_offset): Likewise.
29117         * config/xtensa/xtensa.cc (xtensa_option_override): Likewise.
29118         * config/xtensa/xtensa.h: Likewise.
29119         * configure.ac: Likewise.
29120         * context.cc: Likewise.
29121         * convert.h: Likewise.
29122         * coretypes.h: Likewise.
29123         * coverage.cc: Likewise.
29124         * coverage.h: Likewise.
29125         * cppdefault.h (struct default_include): Likewise.
29126         * cprop.cc (local_cprop_pass): Likewise.
29127         (one_cprop_pass): Likewise.
29128         * cse.cc (hash_rtx_cb): Likewise.
29129         (fold_rtx): Likewise.
29130         * ctfc.h (ctfc_get_num_vlen_bytes): Likewise.
29131         * data-streamer.h (bp_unpack_var_len_int): Likewise.
29132         (streamer_write_widest_int): Likewise.
29133         * dbgcnt.def: Likewise.
29134         * dbxout.cc (dbxout_early_global_decl): Likewise.
29135         (dbxout_common_check): Likewise.
29136         * dbxout.h: Likewise.
29137         * debug.h (struct gcc_debug_hooks): Likewise.
29138         (dump_go_spec_init): Likewise.
29139         * df-core.cc: Likewise.
29140         * df-scan.cc (df_insn_info_delete): Likewise.
29141         (df_insn_delete): Likewise.
29142         * df.h (debug_df_chain): Likewise.
29143         (can_move_insns_across): Likewise.
29144         * dfp.cc (decimal_from_binary): Likewise.
29145         * diagnostic-color.cc: Likewise.
29146         * diagnostic-event-id.h: Likewise.
29147         * diagnostic-show-locus.cc (test_one_liner_labels): Likewise.
29148         * diagnostic.cc (bt_callback): Likewise.
29149         (num_digits): Likewise.
29150         * doc/avr-mmcu.texi: Likewise.
29151         * doc/cfg.texi: Likewise.
29152         * doc/contrib.texi: Likewise.
29153         * doc/cppinternals.texi: Likewise.
29154         * doc/extend.texi: Likewise.
29155         * doc/generic.texi: Likewise.
29156         * doc/gimple.texi: Likewise.
29157         * doc/gty.texi: Likewise.
29158         * doc/invoke.texi: Likewise.
29159         * doc/loop.texi: Likewise.
29160         * doc/lto.texi: Likewise.
29161         * doc/match-and-simplify.texi: Likewise.
29162         * doc/md.texi: Likewise.
29163         * doc/optinfo.texi: Likewise.
29164         * doc/options.texi: Likewise.
29165         * doc/passes.texi: Likewise.
29166         * doc/plugins.texi: Likewise.
29167         * doc/rtl.texi: Likewise.
29168         * doc/sourcebuild.texi: Likewise.
29169         * doc/tm.texi: Likewise.
29170         * doc/tm.texi.in: Likewise.
29171         * doc/tree-ssa.texi: Likewise.
29172         * dojump.cc (do_jump): Likewise.
29173         * dojump.h: Likewise.
29174         * dumpfile.cc (test_impl_location): Likewise.
29175         (test_capture_of_dump_calls): Likewise.
29176         * dumpfile.h (enum dump_kind): Likewise.
29177         (class dump_location_t): Likewise.
29178         (dump_enabled_p): Likewise.
29179         (enable_rtl_dump_file): Likewise.
29180         (dump_combine_total_stats): Likewise.
29181         * dwarf2asm.cc (dw2_asm_output_delta_uleb128): Likewise.
29182         * dwarf2ctf.h (ctf_debug_finish): Likewise.
29183         * dwarf2out.cc (dwarf2out_begin_prologue): Likewise.
29184         (struct loc_descr_context): Likewise.
29185         (rtl_for_decl_location): Likewise.
29186         (gen_subprogram_die): Likewise.
29187         (gen_label_die): Likewise.
29188         (is_trivial_indirect_ref): Likewise.
29189         (dwarf2out_late_global_decl): Likewise.
29190         (dwarf_file_hasher::hash): Likewise.
29191         (dwarf2out_end_source_file): Likewise.
29192         (dwarf2out_define): Likewise.
29193         (dwarf2out_early_finish): Likewise.
29194         * dwarf2out.h (struct dw_fde_node): Likewise.
29195         (struct dw_discr_list_node): Likewise.
29196         (output_loc_sequence_raw): Likewise.
29197         * emit-rtl.cc (gen_raw_REG): Likewise.
29198         (maybe_set_max_label_num): Likewise.
29199         * emit-rtl.h (struct rtl_data): Likewise.
29200         * errors.cc (internal_error): Likewise.
29201         (trim_filename): Likewise.
29202         * et-forest.cc: Likewise.
29203         * except.cc (init_eh_for_function): Likewise.
29204         * explow.cc (promote_ssa_mode): Likewise.
29205         (get_dynamic_stack_size): Likewise.
29206         * explow.h: Likewise.
29207         * expmed.h: Likewise.
29208         * expr.cc (safe_from_p): Likewise.
29209         (expand_expr_real_2): Likewise.
29210         (expand_expr_real_1): Likewise.
29211         * file-prefix-map.cc (remap_filename): Likewise.
29212         * final.cc (app_enable): Likewise.
29213         (make_pass_compute_alignments): Likewise.
29214         (final_scan_insn_1): Likewise.
29215         (final_scan_insn): Likewise.
29216         * fixed-value.h (fixed_from_string): Likewise.
29217         * flag-types.h (NO_DEBUG): Likewise.
29218         (DWARF2_DEBUG): Likewise.
29219         (VMS_DEBUG): Likewise.
29220         (BTF_DEBUG): Likewise.
29221         (enum ctf_debug_info_levels): Likewise.
29222         * fold-const.cc (const_binop): Likewise.
29223         (fold_binary_loc): Likewise.
29224         (fold_checksum_tree): Likewise.
29225         * fp-test.cc: Likewise.
29226         * function.cc (expand_function_end): Likewise.
29227         * function.h (struct function): Likewise.
29228         * fwprop.cc (should_replace_address): Likewise.
29229         * gcc-main.cc: Likewise.
29230         * gcc-rich-location.h (class gcc_rich_location): Likewise.
29231         * gcc-symtab.h: Likewise.
29232         * gcc.cc (MIN_FATAL_STATUS): Likewise.
29233         (driver_handle_option): Likewise.
29234         (quote_spec_arg): Likewise.
29235         (driver::finalize): Likewise.
29236         * gcc.h (set_input): Likewise.
29237         * gcov-dump.cc: Likewise.
29238         * gcov.cc (solve_flow_graph): Likewise.
29239         * gcse-common.cc: Likewise.
29240         * gcse.cc (make_pass_rtl_hoist): Likewise.
29241         * genattr-common.cc: Likewise.
29242         * genattrtab.cc (min_fn): Likewise.
29243         (write_const_num_delay_slots): Likewise.
29244         * genautomata.cc: Likewise.
29245         * genconditions.cc (write_one_condition): Likewise.
29246         * genconstants.cc: Likewise.
29247         * genemit.cc (gen_exp): Likewise.
29248         * generic-match-head.cc: Likewise.
29249         * genextract.cc: Likewise.
29250         * gengenrtl.cc (always_void_p): Likewise.
29251         * gengtype-parse.cc (gtymarker_opt): Likewise.
29252         * gengtype-state.cc (state_writer::state_writer): Likewise.
29253         (write_state_trailer): Likewise.
29254         (equals_type_number): Likewise.
29255         (read_state): Likewise.
29256         * gengtype.cc (open_base_files): Likewise.
29257         (struct file_rule_st): Likewise.
29258         (header_dot_h_frul): Likewise.
29259         * gengtype.h: Likewise.
29260         * genmatch.cc (main): Likewise.
29261         * genmddeps.cc: Likewise.
29262         * genmodes.cc (emit_mode_inner): Likewise.
29263         (emit_mode_unit_size): Likewise.
29264         * genpeep.cc (gen_peephole): Likewise.
29265         * genpreds.cc (write_tm_preds_h): Likewise.
29266         * genrecog.cc (validate_pattern): Likewise.
29267         (write_header): Likewise.
29268         (main): Likewise.
29269         * gensupport.cc (change_subst_attribute): Likewise.
29270         (traverse_c_tests): Likewise.
29271         (add_predicate): Likewise.
29272         (init_predicate_table): Likewise.
29273         * gensupport.h (struct optab_pattern): Likewise.
29274         (get_num_insn_codes): Likewise.
29275         (maybe_eval_c_test): Likewise.
29276         (struct pred_data): Likewise.
29277         * ggc-internal.h: Likewise.
29278         * gimple-fold.cc (maybe_fold_reference): Likewise.
29279         (get_range_strlen_tree): Likewise.
29280         * gimple-fold.h (gimple_stmt_integer_valued_real_p): Likewise.
29281         * gimple-low.cc: Likewise.
29282         * gimple-match-head.cc (directly_supported_p): Likewise.
29283         * gimple-pretty-print.h: Likewise.
29284         * gimple-ssa-sprintf.cc (format_percent): Likewise.
29285         (adjust_range_for_overflow): Likewise.
29286         * gimple-streamer.h: Likewise.
29287         * gimple.h (struct GTY): Likewise.
29288         (is_gimple_resx): Likewise.
29289         * gimplify.cc (gimplify_expr): Likewise.
29290         (gimplify_init_constructor): Likewise.
29291         (omp_construct_selector_matches): Likewise.
29292         (gimplify_omp_target_update): Likewise.
29293         (gimplify_omp_ordered): Likewise.
29294         (gimplify_va_arg_expr): Likewise.
29295         * graphite-isl-ast-to-gimple.cc (should_copy_to_new_region): Likewise.
29296         * haifa-sched.cc (increase_insn_priority): Likewise.
29297         (try_ready): Likewise.
29298         (sched_create_recovery_edges): Likewise.
29299         * ifcvt.cc (find_if_case_1): Likewise.
29300         (find_if_case_2): Likewise.
29301         * inchash.h: Likewise.
29302         * incpath.cc (add_env_var_paths): Likewise.
29303         * input.cc (dump_location_info): Likewise.
29304         (assert_loceq): Likewise.
29305         (test_lexer_string_locations_concatenation_1): Likewise.
29306         (test_lexer_string_locations_concatenation_2): Likewise.
29307         (test_lexer_string_locations_concatenation_3): Likewise.
29308         * input.h (BUILTINS_LOCATION): Likewise.
29309         (class string_concat_db): Likewise.
29310         * internal-fn.cc (expand_MUL_OVERFLOW): Likewise.
29311         (expand_LOOP_VECTORIZED): Likewise.
29312         * ipa-cp.cc (make_pass_ipa_cp): Likewise.
29313         * ipa-fnsummary.cc (remap_freqcounting_preds_after_dup): Likewise.
29314         (ipa_fn_summary_t::duplicate): Likewise.
29315         (make_pass_ipa_fn_summary): Likewise.
29316         * ipa-fnsummary.h (enum ipa_hints_vals): Likewise.
29317         * ipa-free-lang-data.cc (fld_simplified_type): Likewise.
29318         (free_lang_data_in_decl): Likewise.
29319         * ipa-inline.cc (compute_inlined_call_time): Likewise.
29320         (inline_always_inline_functions): Likewise.
29321         * ipa-inline.h (free_growth_caches): Likewise.
29322         (inline_account_function_p): Likewise.
29323         * ipa-modref.cc (modref_access_analysis::analyze_stmt): Likewise.
29324         (modref_eaf_analysis::analyze_ssa_name): Likewise.
29325         * ipa-param-manipulation.cc (ipa_param_body_adjustments::mark_dead_statements): Likewise.
29326         (ipa_param_body_adjustments::remap_with_debug_expressions): Likewise.
29327         * ipa-prop.cc (ipa_set_node_agg_value_chain): Likewise.
29328         * ipa-prop.h (IPA_UNDESCRIBED_USE): Likewise.
29329         (unadjusted_ptr_and_unit_offset): Likewise.
29330         * ipa-reference.cc (make_pass_ipa_reference): Likewise.
29331         * ipa-reference.h (GCC_IPA_REFERENCE_H): Likewise.
29332         * ipa-split.cc (consider_split): Likewise.
29333         * ipa-sra.cc (isra_read_node_info): Likewise.
29334         * ipa-utils.h (struct ipa_dfs_info): Likewise.
29335         (recursive_call_p): Likewise.
29336         (ipa_make_function_pure): Likewise.
29337         * ira-build.cc (ira_create_allocno): Likewise.
29338         (ira_flattening): Likewise.
29339         * ira-color.cc (do_coloring): Likewise.
29340         (update_curr_costs): Likewise.
29341         * ira-conflicts.cc (process_regs_for_copy): Likewise.
29342         * ira-int.h (struct ira_emit_data): Likewise.
29343         (ira_prohibited_mode_move_regs): Likewise.
29344         (ira_get_dup_out_num): Likewise.
29345         (ira_destroy): Likewise.
29346         (ira_tune_allocno_costs): Likewise.
29347         (ira_implicitly_set_insn_hard_regs): Likewise.
29348         (ira_build_conflicts): Likewise.
29349         (ira_color): Likewise.
29350         * ira-lives.cc (process_bb_node_lives): Likewise.
29351         * ira.cc (class ira_spilled_reg_stack_slot): Likewise.
29352         (setup_uniform_class_p): Likewise.
29353         (def_dominates_uses): Likewise.
29354         * ira.h (ira_nullify_asm_goto): Likewise.
29355         * langhooks.cc (lhd_post_options): Likewise.
29356         * langhooks.h (class substring_loc): Likewise.
29357         (struct lang_hooks_for_tree_inlining): Likewise.
29358         (struct lang_hooks_for_types): Likewise.
29359         (struct lang_hooks): Likewise.
29360         * libfuncs.h (synchronize_libfunc): Likewise.
29361         * loop-doloop.cc (doloop_condition_get): Likewise.
29362         * loop-init.cc (fix_loop_structure): Likewise.
29363         * loop-invariant.cc: Likewise.
29364         * lower-subreg.h: Likewise.
29365         * lra-constraints.cc (curr_insn_transform): Likewise.
29366         * lra-int.h (struct lra_insn_reg): Likewise.
29367         (lra_undo_inheritance): Likewise.
29368         (lra_setup_reload_pseudo_preferenced_hard_reg): Likewise.
29369         (lra_split_hard_reg_for): Likewise.
29370         (lra_coalesce): Likewise.
29371         (lra_final_code_change): Likewise.
29372         * lra-spills.cc (lra_final_code_change): Likewise.
29373         * lra.cc (lra_process_new_insns): Likewise.
29374         * lto-compress.h (struct lto_compression_stream): Likewise.
29375         * lto-streamer-out.cc (DFS::DFS_write_tree_body): Likewise.
29376         (write_symbol): Likewise.
29377         * lto-streamer.h (enum LTO_tags): Likewise.
29378         (lto_value_range_error): Likewise.
29379         (lto_append_block): Likewise.
29380         (lto_streamer_hooks_init): Likewise.
29381         (stream_read_tree_ref): Likewise.
29382         (lto_prepare_function_for_streaming): Likewise.
29383         (select_what_to_stream): Likewise.
29384         (omp_lto_input_declare_variant_alt): Likewise.
29385         (cl_optimization_stream_in): Likewise.
29386         * lto-wrapper.cc (append_compiler_options): Likewise.
29387         * machmode.def: Likewise.
29388         * machmode.h (struct int_n_data_t): Likewise.
29389         * main.cc (main): Likewise.
29390         * match.pd: Likewise.
29391         * omp-builtins.def (BUILT_IN_GOMP_CRITICAL_NAME_END): Likewise.
29392         (BUILT_IN_GOMP_LOOP_ULL_ORDERED_RUNTIME_NEXT): Likewise.
29393         * omp-expand.cc (expand_omp_atomic_fetch_op): Likewise.
29394         (make_pass_expand_omp_ssa): Likewise.
29395         * omp-low.cc (struct omp_context): Likewise.
29396         (struct omp_taskcopy_context): Likewise.
29397         (lower_omp): Likewise.
29398         * omp-oacc-neuter-broadcast.cc (omp_sese_active_worker_call): Likewise.
29399         (mask_name): Likewise.
29400         (omp_sese_dump_pars): Likewise.
29401         (worker_single_simple): Likewise.
29402         * omp-offload.cc (omp_finish_file): Likewise.
29403         (execute_oacc_loop_designation): Likewise.
29404         * optabs-query.cc (lshift_cheap_p): Likewise.
29405         * optc-gen.awk: Likewise.
29406         * optc-save-gen.awk: Likewise.
29407         * optinfo-emit-json.cc (optrecord_json_writer::optrecord_json_writer): Likewise.
29408         * opts-common.cc: Likewise.
29409         * output.h (app_enable): Likewise.
29410         (output_operand_lossage): Likewise.
29411         (insn_current_reference_address): Likewise.
29412         (get_insn_template): Likewise.
29413         (output_quoted_string): Likewise.
29414         * pass_manager.h (struct register_pass_info): Likewise.
29415         * plugin.cc: Likewise.
29416         * plugin.def (PLUGIN_ANALYZER_INIT): Likewise.
29417         * plugin.h (invoke_plugin_callbacks): Likewise.
29418         * pointer-query.cc (handle_mem_ref): Likewise.
29419         * postreload-gcse.cc (alloc_mem): Likewise.
29420         * predict.h (enum prediction): Likewise.
29421         (add_reg_br_prob_note): Likewise.
29422         * prefix.h: Likewise.
29423         * profile.h (get_working_sets): Likewise.
29424         * read-md.cc: Likewise.
29425         * read-md.h (struct mapping): Likewise.
29426         (class md_reader): Likewise.
29427         (class noop_reader): Likewise.
29428         * read-rtl-function.cc (function_reader::create_function): Likewise.
29429         (function_reader::extra_parsing_for_operand_code_0): Likewise.
29430         * read-rtl.cc (initialize_iterators): Likewise.
29431         * real.cc: Likewise.
29432         * real.h (struct real_value): Likewise.
29433         (format_helper::format_helper): Likewise.
29434         (real_hash): Likewise.
29435         (real_can_shorten_arithmetic): Likewise.
29436         * recog.cc (struct target_recog): Likewise.
29437         (offsettable_nonstrict_memref_p): Likewise.
29438         (constrain_operands): Likewise.
29439         * recog.h (MAX_RECOG_ALTERNATIVES): Likewise.
29440         (which_op_alt): Likewise.
29441         (struct insn_gen_fn): Likewise.
29442         * reg-notes.def (REG_NOTE): Likewise.
29443         * reg-stack.cc: Likewise.
29444         * regs.h (reg_is_parm_p): Likewise.
29445         * regset.h: Likewise.
29446         * reload.cc (push_reload): Likewise.
29447         (find_reloads): Likewise.
29448         (find_reloads_address_1): Likewise.
29449         (find_replacement): Likewise.
29450         (refers_to_regno_for_reload_p): Likewise.
29451         (refers_to_mem_for_reload_p): Likewise.
29452         * reload.h (push_reload): Likewise.
29453         (deallocate_reload_reg): Likewise.
29454         * reload1.cc (emit_input_reload_insns): Likewise.
29455         * reorg.cc (relax_delay_slots): Likewise.
29456         * rtl.def (UNKNOWN): Likewise.
29457         (SEQUENCE): Likewise.
29458         (BARRIER): Likewise.
29459         (ASM_OPERANDS): Likewise.
29460         (EQ_ATTR_ALT): Likewise.
29461         * rtl.h (struct GTY): Likewise.
29462         (LABEL_NAME): Likewise.
29463         (LABEL_ALT_ENTRY_P): Likewise.
29464         (SUBREG_BYTE): Likewise.
29465         (get_stack_check_protect): Likewise.
29466         (dump_rtx_statistics): Likewise.
29467         (unwrap_const_vec_duplicate): Likewise.
29468         (subreg_promoted_mode): Likewise.
29469         (gen_lowpart_common): Likewise.
29470         (operand_subword): Likewise.
29471         (immed_wide_int_const): Likewise.
29472         (decide_function_section): Likewise.
29473         (active_insn_p): Likewise.
29474         (delete_related_insns): Likewise.
29475         (try_split): Likewise.
29476         (val_signbit_known_clear_p): Likewise.
29477         (simplifiable_subregs): Likewise.
29478         (set_insn_deleted): Likewise.
29479         (subreg_get_info): Likewise.
29480         (remove_free_EXPR_LIST_node): Likewise.
29481         (finish_subregs_of_mode): Likewise.
29482         (get_mem_attrs): Likewise.
29483         (lookup_constant_def): Likewise.
29484         (rtx_to_tree_code): Likewise.
29485         (hash_rtx): Likewise.
29486         (condjump_in_parallel_p): Likewise.
29487         (validate_subreg): Likewise.
29488         (make_compound_operation): Likewise.
29489         (schedule_ebbs): Likewise.
29490         (print_inline_rtx): Likewise.
29491         (fixup_args_size_notes): Likewise.
29492         (expand_dec): Likewise.
29493         (prepare_copy_insn): Likewise.
29494         (mark_elimination): Likewise.
29495         (valid_mode_changes_for_regno): Likewise.
29496         (make_debug_expr_from_rtl): Likewise.
29497         (delete_vta_debug_insns): Likewise.
29498         (simplify_using_condition): Likewise.
29499         (set_insn_locations): Likewise.
29500         (fatal_insn_not_found): Likewise.
29501         (word_register_operation_p): Likewise.
29502         * rtlanal.cc (get_call_fndecl): Likewise.
29503         (side_effects_p): Likewise.
29504         (subreg_nregs): Likewise.
29505         (rtx_cost): Likewise.
29506         (canonicalize_condition): Likewise.
29507         * rtlanal.h (rtx_properties::try_to_add_note): Likewise.
29508         * run-rtl-passes.cc (run_rtl_passes): Likewise.
29509         * sanitizer.def (BUILT_IN_ASAN_VERSION_MISMATCH_CHECK): Likewise.
29510         * sched-deps.cc (add_dependence_1): Likewise.
29511         * sched-ebb.cc (begin_move_insn): Likewise.
29512         (add_deps_for_risky_insns): Likewise.
29513         (advance_target_bb): Likewise.
29514         * sched-int.h (reemit_notes): Likewise.
29515         (struct _haifa_insn_data): Likewise.
29516         (HID): Likewise.
29517         (DEP_CANCELLED): Likewise.
29518         (debug_ds): Likewise.
29519         (number_in_ready): Likewise.
29520         (schedule_ebbs_finish): Likewise.
29521         (find_modifiable_mems): Likewise.
29522         * sched-rgn.cc (debug_rgn_dependencies): Likewise.
29523         * sel-sched-dump.cc (dump_lv_set): Likewise.
29524         * sel-sched-dump.h: Likewise.
29525         * sel-sched-ir.cc (sel_insn_rtx_cost): Likewise.
29526         (setup_id_reg_sets): Likewise.
29527         (has_dependence_p): Likewise.
29528         (sel_num_cfg_preds_gt_1): Likewise.
29529         (bb_ends_ebb_p): Likewise.
29530         * sel-sched-ir.h (struct _list_node): Likewise.
29531         (struct idata_def): Likewise.
29532         (bb_next_bb): Likewise.
29533         * sel-sched.cc (vinsn_writes_one_of_regs_p): Likewise.
29534         (choose_best_pseudo_reg): Likewise.
29535         (verify_target_availability): Likewise.
29536         (can_speculate_dep_p): Likewise.
29537         (sel_rank_for_schedule): Likewise.
29538         * selftest-run-tests.cc (selftest::run_tests): Likewise.
29539         * selftest.h (class auto_fix_quotes): Likewise.
29540         * shrink-wrap.cc (handle_simple_exit): Likewise.
29541         * shrink-wrap.h: Likewise.
29542         * simplify-rtx.cc (simplify_context::simplify_associative_operation): Likewise.
29543         (simplify_context::simplify_gen_vec_select): Likewise.
29544         * spellcheck-tree.h: Likewise.
29545         * spellcheck.h: Likewise.
29546         * statistics.h (struct function): Likewise.
29547         * stmt.cc (conditional_probability): Likewise.
29548         * stmt.h: Likewise.
29549         * stor-layout.h: Likewise.
29550         * streamer-hooks.h: Likewise.
29551         * stringpool.h: Likewise.
29552         * symtab.cc (symbol_table::change_decl_assembler_name): Likewise.
29553         * target.def (HOOK_VECTOR_END): Likewise.
29554         (type.): Likewise.
29555         * target.h (union cumulative_args_t): Likewise.
29556         (by_pieces_ninsns): Likewise.
29557         (class predefined_function_abi): Likewise.
29558         * targhooks.cc (default_translate_mode_attribute): Likewise.
29559         * timevar.def: Likewise.
29560         * timevar.h (class timer): Likewise.
29561         * toplev.h (enable_rtl_dump_file): Likewise.
29562         * trans-mem.cc (collect_bb2reg): Likewise.
29563         * tree-call-cdce.cc (gen_conditions_for_pow): Likewise.
29564         * tree-cfg.cc (remove_bb): Likewise.
29565         (verify_gimple_debug): Likewise.
29566         (remove_edge_and_dominated_blocks): Likewise.
29567         (push_fndecl): Likewise.
29568         * tree-cfgcleanup.h (GCC_TREE_CFGCLEANUP_H): Likewise.
29569         * tree-complex.cc (expand_complex_multiplication): Likewise.
29570         (expand_complex_div_straight): Likewise.
29571         * tree-core.h (enum tree_index): Likewise.
29572         (enum operand_equal_flag): Likewise.
29573         * tree-eh.cc (honor_protect_cleanup_actions): Likewise.
29574         * tree-if-conv.cc (if_convertible_gimple_assign_stmt_p): Likewise.
29575         * tree-inline.cc (initialize_inlined_parameters): Likewise.
29576         * tree-inline.h (force_value_to_type): Likewise.
29577         * tree-nested.cc (get_chain_decl): Likewise.
29578         (walk_all_functions): Likewise.
29579         * tree-object-size.h: Likewise.
29580         * tree-outof-ssa.cc: Likewise.
29581         * tree-parloops.cc (create_parallel_loop): Likewise.
29582         * tree-pretty-print.cc (print_generic_expr_to_str): Likewise.
29583         (dump_generic_node): Likewise.
29584         * tree-profile.cc (tree_profiling): Likewise.
29585         * tree-sra.cc (maybe_add_sra_candidate): Likewise.
29586         * tree-ssa-address.cc: Likewise.
29587         * tree-ssa-alias.cc: Likewise.
29588         * tree-ssa-alias.h (ao_ref::max_size_known_p): Likewise.
29589         (dump_alias_stats): Likewise.
29590         * tree-ssa-ccp.cc: Likewise.
29591         * tree-ssa-coalesce.h: Likewise.
29592         * tree-ssa-live.cc (remove_unused_scope_block_p): Likewise.
29593         * tree-ssa-loop-manip.cc (copy_phi_node_args): Likewise.
29594         * tree-ssa-loop-unswitch.cc: Likewise.
29595         * tree-ssa-math-opts.cc: Likewise.
29596         * tree-ssa-operands.cc (class operands_scanner): Likewise.
29597         * tree-ssa-pre.cc: Likewise.
29598         * tree-ssa-reassoc.cc (optimize_ops_list): Likewise.
29599         (debug_range_entry): Likewise.
29600         * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Likewise.
29601         * tree-ssa-sccvn.h (TREE_SSA_SCCVN_H): Likewise.
29602         * tree-ssa-scopedtables.cc (add_expr_commutative): Likewise.
29603         (equal_mem_array_ref_p): Likewise.
29604         * tree-ssa-strlen.cc (is_strlen_related_p): Likewise.
29605         * tree-ssa-strlen.h (get_range_strlen_dynamic): Likewise.
29606         * tree-ssa-tail-merge.cc (stmt_local_def): Likewise.
29607         * tree-ssa-ter.h: Likewise.
29608         * tree-ssa-threadupdate.h (enum bb_dom_status): Likewise.
29609         * tree-streamer-in.cc (lto_input_ts_block_tree_pointers): Likewise.
29610         * tree-streamer-out.cc (pack_ts_block_value_fields): Likewise.
29611         (write_ts_block_tree_pointers): Likewise.
29612         * tree-streamer.h (struct streamer_tree_cache_d): Likewise.
29613         (streamer_read_tree_bitfields): Likewise.
29614         (streamer_write_integer_cst): Likewise.
29615         * tree-vect-patterns.cc (apply_binop_and_append_stmt): Likewise.
29616         (vect_synth_mult_by_constant): Likewise.
29617         * tree-vect-stmts.cc (vectorizable_operation): Likewise.
29618         * tree-vectorizer.cc: Likewise.
29619         * tree-vectorizer.h (class auto_purge_vect_location): Likewise.
29620         (vect_update_inits_of_drs): Likewise.
29621         (vect_get_mask_type_for_stmt): Likewise.
29622         (vect_rgroup_iv_might_wrap_p): Likewise.
29623         (cse_and_gimplify_to_preheader): Likewise.
29624         (vect_free_slp_tree): Likewise.
29625         (vect_pattern_recog): Likewise.
29626         (vect_stmt_dominates_stmt_p): Likewise.
29627         * tree.cc (initialize_tree_contains_struct): Likewise.
29628         (need_assembler_name_p): Likewise.
29629         (type_with_interoperable_signedness): Likewise.
29630         * tree.def (SWITCH_EXPR): Likewise.
29631         * tree.h (TYPE_SYMTAB_ADDRESS): Likewise.
29632         (poly_int_tree_p): Likewise.
29633         (inlined_function_outer_scope_p): Likewise.
29634         (tree_code_for_canonical_type_merging): Likewise.
29635         * value-prof.cc: Likewise.
29636         * value-prof.h (get_nth_most_common_value): Likewise.
29637         (find_func_by_profile_id): Likewise.
29638         * value-range.cc (vrp_operand_equal_p): Likewise.
29639         * value-range.h: Likewise.
29640         * var-tracking.cc: Likewise.
29641         * varasm.cc (default_function_section): Likewise.
29642         (function_section_1): Likewise.
29643         (assemble_variable): Likewise.
29644         (handle_vtv_comdat_section): Likewise.
29645         * vec.h (struct vec_prefix): Likewise.
29646         * vmsdbgout.cc (full_name): Likewise.
29647         * vtable-verify.cc: Likewise.
29648         * vtable-verify.h (struct vtv_graph_node): Likewise.
29649         * xcoffout.cc: Likewise.
29650         * xcoffout.h (DEBUG_SYMS_TEXT): Likewise.
29651
29652 2022-01-17  Martin Liska  <mliska@suse.cz>
29653
29654         * adjust-alignment.c: Moved to...
29655         * adjust-alignment.cc: ...here.
29656         * alias.c: Moved to...
29657         * alias.cc: ...here.
29658         * alloc-pool.c: Moved to...
29659         * alloc-pool.cc: ...here.
29660         * asan.c: Moved to...
29661         * asan.cc: ...here.
29662         * attribs.c: Moved to...
29663         * attribs.cc: ...here.
29664         * auto-inc-dec.c: Moved to...
29665         * auto-inc-dec.cc: ...here.
29666         * auto-profile.c: Moved to...
29667         * auto-profile.cc: ...here.
29668         * bb-reorder.c: Moved to...
29669         * bb-reorder.cc: ...here.
29670         * bitmap.c: Moved to...
29671         * bitmap.cc: ...here.
29672         * btfout.c: Moved to...
29673         * btfout.cc: ...here.
29674         * builtins.c: Moved to...
29675         * builtins.cc: ...here.
29676         * caller-save.c: Moved to...
29677         * caller-save.cc: ...here.
29678         * calls.c: Moved to...
29679         * calls.cc: ...here.
29680         * ccmp.c: Moved to...
29681         * ccmp.cc: ...here.
29682         * cfg.c: Moved to...
29683         * cfg.cc: ...here.
29684         * cfganal.c: Moved to...
29685         * cfganal.cc: ...here.
29686         * cfgbuild.c: Moved to...
29687         * cfgbuild.cc: ...here.
29688         * cfgcleanup.c: Moved to...
29689         * cfgcleanup.cc: ...here.
29690         * cfgexpand.c: Moved to...
29691         * cfgexpand.cc: ...here.
29692         * cfghooks.c: Moved to...
29693         * cfghooks.cc: ...here.
29694         * cfgloop.c: Moved to...
29695         * cfgloop.cc: ...here.
29696         * cfgloopanal.c: Moved to...
29697         * cfgloopanal.cc: ...here.
29698         * cfgloopmanip.c: Moved to...
29699         * cfgloopmanip.cc: ...here.
29700         * cfgrtl.c: Moved to...
29701         * cfgrtl.cc: ...here.
29702         * cgraph.c: Moved to...
29703         * cgraph.cc: ...here.
29704         * cgraphbuild.c: Moved to...
29705         * cgraphbuild.cc: ...here.
29706         * cgraphclones.c: Moved to...
29707         * cgraphclones.cc: ...here.
29708         * cgraphunit.c: Moved to...
29709         * cgraphunit.cc: ...here.
29710         * collect-utils.c: Moved to...
29711         * collect-utils.cc: ...here.
29712         * collect2-aix.c: Moved to...
29713         * collect2-aix.cc: ...here.
29714         * collect2.c: Moved to...
29715         * collect2.cc: ...here.
29716         * combine-stack-adj.c: Moved to...
29717         * combine-stack-adj.cc: ...here.
29718         * combine.c: Moved to...
29719         * combine.cc: ...here.
29720         * common/common-targhooks.c: Moved to...
29721         * common/common-targhooks.cc: ...here.
29722         * common/config/aarch64/aarch64-common.c: Moved to...
29723         * common/config/aarch64/aarch64-common.cc: ...here.
29724         * common/config/alpha/alpha-common.c: Moved to...
29725         * common/config/alpha/alpha-common.cc: ...here.
29726         * common/config/arc/arc-common.c: Moved to...
29727         * common/config/arc/arc-common.cc: ...here.
29728         * common/config/arm/arm-common.c: Moved to...
29729         * common/config/arm/arm-common.cc: ...here.
29730         * common/config/avr/avr-common.c: Moved to...
29731         * common/config/avr/avr-common.cc: ...here.
29732         * common/config/bfin/bfin-common.c: Moved to...
29733         * common/config/bfin/bfin-common.cc: ...here.
29734         * common/config/bpf/bpf-common.c: Moved to...
29735         * common/config/bpf/bpf-common.cc: ...here.
29736         * common/config/c6x/c6x-common.c: Moved to...
29737         * common/config/c6x/c6x-common.cc: ...here.
29738         * common/config/cr16/cr16-common.c: Moved to...
29739         * common/config/cr16/cr16-common.cc: ...here.
29740         * common/config/cris/cris-common.c: Moved to...
29741         * common/config/cris/cris-common.cc: ...here.
29742         * common/config/csky/csky-common.c: Moved to...
29743         * common/config/csky/csky-common.cc: ...here.
29744         * common/config/default-common.c: Moved to...
29745         * common/config/default-common.cc: ...here.
29746         * common/config/epiphany/epiphany-common.c: Moved to...
29747         * common/config/epiphany/epiphany-common.cc: ...here.
29748         * common/config/fr30/fr30-common.c: Moved to...
29749         * common/config/fr30/fr30-common.cc: ...here.
29750         * common/config/frv/frv-common.c: Moved to...
29751         * common/config/frv/frv-common.cc: ...here.
29752         * common/config/gcn/gcn-common.c: Moved to...
29753         * common/config/gcn/gcn-common.cc: ...here.
29754         * common/config/h8300/h8300-common.c: Moved to...
29755         * common/config/h8300/h8300-common.cc: ...here.
29756         * common/config/i386/i386-common.c: Moved to...
29757         * common/config/i386/i386-common.cc: ...here.
29758         * common/config/ia64/ia64-common.c: Moved to...
29759         * common/config/ia64/ia64-common.cc: ...here.
29760         * common/config/iq2000/iq2000-common.c: Moved to...
29761         * common/config/iq2000/iq2000-common.cc: ...here.
29762         * common/config/lm32/lm32-common.c: Moved to...
29763         * common/config/lm32/lm32-common.cc: ...here.
29764         * common/config/m32r/m32r-common.c: Moved to...
29765         * common/config/m32r/m32r-common.cc: ...here.
29766         * common/config/m68k/m68k-common.c: Moved to...
29767         * common/config/m68k/m68k-common.cc: ...here.
29768         * common/config/mcore/mcore-common.c: Moved to...
29769         * common/config/mcore/mcore-common.cc: ...here.
29770         * common/config/microblaze/microblaze-common.c: Moved to...
29771         * common/config/microblaze/microblaze-common.cc: ...here.
29772         * common/config/mips/mips-common.c: Moved to...
29773         * common/config/mips/mips-common.cc: ...here.
29774         * common/config/mmix/mmix-common.c: Moved to...
29775         * common/config/mmix/mmix-common.cc: ...here.
29776         * common/config/mn10300/mn10300-common.c: Moved to...
29777         * common/config/mn10300/mn10300-common.cc: ...here.
29778         * common/config/msp430/msp430-common.c: Moved to...
29779         * common/config/msp430/msp430-common.cc: ...here.
29780         * common/config/nds32/nds32-common.c: Moved to...
29781         * common/config/nds32/nds32-common.cc: ...here.
29782         * common/config/nios2/nios2-common.c: Moved to...
29783         * common/config/nios2/nios2-common.cc: ...here.
29784         * common/config/nvptx/nvptx-common.c: Moved to...
29785         * common/config/nvptx/nvptx-common.cc: ...here.
29786         * common/config/or1k/or1k-common.c: Moved to...
29787         * common/config/or1k/or1k-common.cc: ...here.
29788         * common/config/pa/pa-common.c: Moved to...
29789         * common/config/pa/pa-common.cc: ...here.
29790         * common/config/pdp11/pdp11-common.c: Moved to...
29791         * common/config/pdp11/pdp11-common.cc: ...here.
29792         * common/config/pru/pru-common.c: Moved to...
29793         * common/config/pru/pru-common.cc: ...here.
29794         * common/config/riscv/riscv-common.c: Moved to...
29795         * common/config/riscv/riscv-common.cc: ...here.
29796         * common/config/rs6000/rs6000-common.c: Moved to...
29797         * common/config/rs6000/rs6000-common.cc: ...here.
29798         * common/config/rx/rx-common.c: Moved to...
29799         * common/config/rx/rx-common.cc: ...here.
29800         * common/config/s390/s390-common.c: Moved to...
29801         * common/config/s390/s390-common.cc: ...here.
29802         * common/config/sh/sh-common.c: Moved to...
29803         * common/config/sh/sh-common.cc: ...here.
29804         * common/config/sparc/sparc-common.c: Moved to...
29805         * common/config/sparc/sparc-common.cc: ...here.
29806         * common/config/tilegx/tilegx-common.c: Moved to...
29807         * common/config/tilegx/tilegx-common.cc: ...here.
29808         * common/config/tilepro/tilepro-common.c: Moved to...
29809         * common/config/tilepro/tilepro-common.cc: ...here.
29810         * common/config/v850/v850-common.c: Moved to...
29811         * common/config/v850/v850-common.cc: ...here.
29812         * common/config/vax/vax-common.c: Moved to...
29813         * common/config/vax/vax-common.cc: ...here.
29814         * common/config/visium/visium-common.c: Moved to...
29815         * common/config/visium/visium-common.cc: ...here.
29816         * common/config/xstormy16/xstormy16-common.c: Moved to...
29817         * common/config/xstormy16/xstormy16-common.cc: ...here.
29818         * common/config/xtensa/xtensa-common.c: Moved to...
29819         * common/config/xtensa/xtensa-common.cc: ...here.
29820         * compare-elim.c: Moved to...
29821         * compare-elim.cc: ...here.
29822         * config/aarch64/aarch64-bti-insert.c: Moved to...
29823         * config/aarch64/aarch64-bti-insert.cc: ...here.
29824         * config/aarch64/aarch64-builtins.c: Moved to...
29825         * config/aarch64/aarch64-builtins.cc: ...here.
29826         * config/aarch64/aarch64-c.c: Moved to...
29827         * config/aarch64/aarch64-c.cc: ...here.
29828         * config/aarch64/aarch64-d.c: Moved to...
29829         * config/aarch64/aarch64-d.cc: ...here.
29830         * config/aarch64/aarch64.c: Moved to...
29831         * config/aarch64/aarch64.cc: ...here.
29832         * config/aarch64/cortex-a57-fma-steering.c: Moved to...
29833         * config/aarch64/cortex-a57-fma-steering.cc: ...here.
29834         * config/aarch64/driver-aarch64.c: Moved to...
29835         * config/aarch64/driver-aarch64.cc: ...here.
29836         * config/aarch64/falkor-tag-collision-avoidance.c: Moved to...
29837         * config/aarch64/falkor-tag-collision-avoidance.cc: ...here.
29838         * config/aarch64/host-aarch64-darwin.c: Moved to...
29839         * config/aarch64/host-aarch64-darwin.cc: ...here.
29840         * config/alpha/alpha.c: Moved to...
29841         * config/alpha/alpha.cc: ...here.
29842         * config/alpha/driver-alpha.c: Moved to...
29843         * config/alpha/driver-alpha.cc: ...here.
29844         * config/arc/arc-c.c: Moved to...
29845         * config/arc/arc-c.cc: ...here.
29846         * config/arc/arc.c: Moved to...
29847         * config/arc/arc.cc: ...here.
29848         * config/arc/driver-arc.c: Moved to...
29849         * config/arc/driver-arc.cc: ...here.
29850         * config/arm/aarch-common.c: Moved to...
29851         * config/arm/aarch-common.cc: ...here.
29852         * config/arm/arm-builtins.c: Moved to...
29853         * config/arm/arm-builtins.cc: ...here.
29854         * config/arm/arm-c.c: Moved to...
29855         * config/arm/arm-c.cc: ...here.
29856         * config/arm/arm-d.c: Moved to...
29857         * config/arm/arm-d.cc: ...here.
29858         * config/arm/arm.c: Moved to...
29859         * config/arm/arm.cc: ...here.
29860         * config/arm/driver-arm.c: Moved to...
29861         * config/arm/driver-arm.cc: ...here.
29862         * config/avr/avr-c.c: Moved to...
29863         * config/avr/avr-c.cc: ...here.
29864         * config/avr/avr-devices.c: Moved to...
29865         * config/avr/avr-devices.cc: ...here.
29866         * config/avr/avr-log.c: Moved to...
29867         * config/avr/avr-log.cc: ...here.
29868         * config/avr/avr.c: Moved to...
29869         * config/avr/avr.cc: ...here.
29870         * config/avr/driver-avr.c: Moved to...
29871         * config/avr/driver-avr.cc: ...here.
29872         * config/avr/gen-avr-mmcu-specs.c: Moved to...
29873         * config/avr/gen-avr-mmcu-specs.cc: ...here.
29874         * config/avr/gen-avr-mmcu-texi.c: Moved to...
29875         * config/avr/gen-avr-mmcu-texi.cc: ...here.
29876         * config/bfin/bfin.c: Moved to...
29877         * config/bfin/bfin.cc: ...here.
29878         * config/bpf/bpf.c: Moved to...
29879         * config/bpf/bpf.cc: ...here.
29880         * config/bpf/coreout.c: Moved to...
29881         * config/bpf/coreout.cc: ...here.
29882         * config/c6x/c6x.c: Moved to...
29883         * config/c6x/c6x.cc: ...here.
29884         * config/cr16/cr16.c: Moved to...
29885         * config/cr16/cr16.cc: ...here.
29886         * config/cris/cris.c: Moved to...
29887         * config/cris/cris.cc: ...here.
29888         * config/csky/csky.c: Moved to...
29889         * config/csky/csky.cc: ...here.
29890         * config/darwin-c.c: Moved to...
29891         * config/darwin-c.cc: ...here.
29892         * config/darwin-d.c: Moved to...
29893         * config/darwin-d.cc: ...here.
29894         * config/darwin-driver.c: Moved to...
29895         * config/darwin-driver.cc: ...here.
29896         * config/darwin-f.c: Moved to...
29897         * config/darwin-f.cc: ...here.
29898         * config/darwin.c: Moved to...
29899         * config/darwin.cc: ...here.
29900         * config/default-c.c: Moved to...
29901         * config/default-c.cc: ...here.
29902         * config/default-d.c: Moved to...
29903         * config/default-d.cc: ...here.
29904         * config/dragonfly-d.c: Moved to...
29905         * config/dragonfly-d.cc: ...here.
29906         * config/epiphany/epiphany.c: Moved to...
29907         * config/epiphany/epiphany.cc: ...here.
29908         * config/epiphany/mode-switch-use.c: Moved to...
29909         * config/epiphany/mode-switch-use.cc: ...here.
29910         * config/epiphany/resolve-sw-modes.c: Moved to...
29911         * config/epiphany/resolve-sw-modes.cc: ...here.
29912         * config/fr30/fr30.c: Moved to...
29913         * config/fr30/fr30.cc: ...here.
29914         * config/freebsd-d.c: Moved to...
29915         * config/freebsd-d.cc: ...here.
29916         * config/frv/frv.c: Moved to...
29917         * config/frv/frv.cc: ...here.
29918         * config/ft32/ft32.c: Moved to...
29919         * config/ft32/ft32.cc: ...here.
29920         * config/gcn/driver-gcn.c: Moved to...
29921         * config/gcn/driver-gcn.cc: ...here.
29922         * config/gcn/gcn-run.c: Moved to...
29923         * config/gcn/gcn-run.cc: ...here.
29924         * config/gcn/gcn-tree.c: Moved to...
29925         * config/gcn/gcn-tree.cc: ...here.
29926         * config/gcn/gcn.c: Moved to...
29927         * config/gcn/gcn.cc: ...here.
29928         * config/gcn/mkoffload.c: Moved to...
29929         * config/gcn/mkoffload.cc: ...here.
29930         * config/glibc-c.c: Moved to...
29931         * config/glibc-c.cc: ...here.
29932         * config/glibc-d.c: Moved to...
29933         * config/glibc-d.cc: ...here.
29934         * config/h8300/h8300.c: Moved to...
29935         * config/h8300/h8300.cc: ...here.
29936         * config/host-darwin.c: Moved to...
29937         * config/host-darwin.cc: ...here.
29938         * config/host-hpux.c: Moved to...
29939         * config/host-hpux.cc: ...here.
29940         * config/host-linux.c: Moved to...
29941         * config/host-linux.cc: ...here.
29942         * config/host-netbsd.c: Moved to...
29943         * config/host-netbsd.cc: ...here.
29944         * config/host-openbsd.c: Moved to...
29945         * config/host-openbsd.cc: ...here.
29946         * config/host-solaris.c: Moved to...
29947         * config/host-solaris.cc: ...here.
29948         * config/i386/djgpp.c: Moved to...
29949         * config/i386/djgpp.cc: ...here.
29950         * config/i386/driver-i386.c: Moved to...
29951         * config/i386/driver-i386.cc: ...here.
29952         * config/i386/driver-mingw32.c: Moved to...
29953         * config/i386/driver-mingw32.cc: ...here.
29954         * config/i386/gnu-property.c: Moved to...
29955         * config/i386/gnu-property.cc: ...here.
29956         * config/i386/host-cygwin.c: Moved to...
29957         * config/i386/host-cygwin.cc: ...here.
29958         * config/i386/host-i386-darwin.c: Moved to...
29959         * config/i386/host-i386-darwin.cc: ...here.
29960         * config/i386/host-mingw32.c: Moved to...
29961         * config/i386/host-mingw32.cc: ...here.
29962         * config/i386/i386-builtins.c: Moved to...
29963         * config/i386/i386-builtins.cc: ...here.
29964         * config/i386/i386-c.c: Moved to...
29965         * config/i386/i386-c.cc: ...here.
29966         * config/i386/i386-d.c: Moved to...
29967         * config/i386/i386-d.cc: ...here.
29968         * config/i386/i386-expand.c: Moved to...
29969         * config/i386/i386-expand.cc: ...here.
29970         * config/i386/i386-features.c: Moved to...
29971         * config/i386/i386-features.cc: ...here.
29972         * config/i386/i386-options.c: Moved to...
29973         * config/i386/i386-options.cc: ...here.
29974         * config/i386/i386.c: Moved to...
29975         * config/i386/i386.cc: ...here.
29976         * config/i386/intelmic-mkoffload.c: Moved to...
29977         * config/i386/intelmic-mkoffload.cc: ...here.
29978         * config/i386/msformat-c.c: Moved to...
29979         * config/i386/msformat-c.cc: ...here.
29980         * config/i386/winnt-cxx.c: Moved to...
29981         * config/i386/winnt-cxx.cc: ...here.
29982         * config/i386/winnt-d.c: Moved to...
29983         * config/i386/winnt-d.cc: ...here.
29984         * config/i386/winnt-stubs.c: Moved to...
29985         * config/i386/winnt-stubs.cc: ...here.
29986         * config/i386/winnt.c: Moved to...
29987         * config/i386/winnt.cc: ...here.
29988         * config/i386/x86-tune-sched-atom.c: Moved to...
29989         * config/i386/x86-tune-sched-atom.cc: ...here.
29990         * config/i386/x86-tune-sched-bd.c: Moved to...
29991         * config/i386/x86-tune-sched-bd.cc: ...here.
29992         * config/i386/x86-tune-sched-core.c: Moved to...
29993         * config/i386/x86-tune-sched-core.cc: ...here.
29994         * config/i386/x86-tune-sched.c: Moved to...
29995         * config/i386/x86-tune-sched.cc: ...here.
29996         * config/ia64/ia64-c.c: Moved to...
29997         * config/ia64/ia64-c.cc: ...here.
29998         * config/ia64/ia64.c: Moved to...
29999         * config/ia64/ia64.cc: ...here.
30000         * config/iq2000/iq2000.c: Moved to...
30001         * config/iq2000/iq2000.cc: ...here.
30002         * config/linux.c: Moved to...
30003         * config/linux.cc: ...here.
30004         * config/lm32/lm32.c: Moved to...
30005         * config/lm32/lm32.cc: ...here.
30006         * config/m32c/m32c-pragma.c: Moved to...
30007         * config/m32c/m32c-pragma.cc: ...here.
30008         * config/m32c/m32c.c: Moved to...
30009         * config/m32c/m32c.cc: ...here.
30010         * config/m32r/m32r.c: Moved to...
30011         * config/m32r/m32r.cc: ...here.
30012         * config/m68k/m68k.c: Moved to...
30013         * config/m68k/m68k.cc: ...here.
30014         * config/mcore/mcore.c: Moved to...
30015         * config/mcore/mcore.cc: ...here.
30016         * config/microblaze/microblaze-c.c: Moved to...
30017         * config/microblaze/microblaze-c.cc: ...here.
30018         * config/microblaze/microblaze.c: Moved to...
30019         * config/microblaze/microblaze.cc: ...here.
30020         * config/mips/driver-native.c: Moved to...
30021         * config/mips/driver-native.cc: ...here.
30022         * config/mips/frame-header-opt.c: Moved to...
30023         * config/mips/frame-header-opt.cc: ...here.
30024         * config/mips/mips-d.c: Moved to...
30025         * config/mips/mips-d.cc: ...here.
30026         * config/mips/mips.c: Moved to...
30027         * config/mips/mips.cc: ...here.
30028         * config/mmix/mmix.c: Moved to...
30029         * config/mmix/mmix.cc: ...here.
30030         * config/mn10300/mn10300.c: Moved to...
30031         * config/mn10300/mn10300.cc: ...here.
30032         * config/moxie/moxie.c: Moved to...
30033         * config/moxie/moxie.cc: ...here.
30034         * config/msp430/driver-msp430.c: Moved to...
30035         * config/msp430/driver-msp430.cc: ...here.
30036         * config/msp430/msp430-c.c: Moved to...
30037         * config/msp430/msp430-c.cc: ...here.
30038         * config/msp430/msp430-devices.c: Moved to...
30039         * config/msp430/msp430-devices.cc: ...here.
30040         * config/msp430/msp430.c: Moved to...
30041         * config/msp430/msp430.cc: ...here.
30042         * config/nds32/nds32-cost.c: Moved to...
30043         * config/nds32/nds32-cost.cc: ...here.
30044         * config/nds32/nds32-fp-as-gp.c: Moved to...
30045         * config/nds32/nds32-fp-as-gp.cc: ...here.
30046         * config/nds32/nds32-intrinsic.c: Moved to...
30047         * config/nds32/nds32-intrinsic.cc: ...here.
30048         * config/nds32/nds32-isr.c: Moved to...
30049         * config/nds32/nds32-isr.cc: ...here.
30050         * config/nds32/nds32-md-auxiliary.c: Moved to...
30051         * config/nds32/nds32-md-auxiliary.cc: ...here.
30052         * config/nds32/nds32-memory-manipulation.c: Moved to...
30053         * config/nds32/nds32-memory-manipulation.cc: ...here.
30054         * config/nds32/nds32-pipelines-auxiliary.c: Moved to...
30055         * config/nds32/nds32-pipelines-auxiliary.cc: ...here.
30056         * config/nds32/nds32-predicates.c: Moved to...
30057         * config/nds32/nds32-predicates.cc: ...here.
30058         * config/nds32/nds32-relax-opt.c: Moved to...
30059         * config/nds32/nds32-relax-opt.cc: ...here.
30060         * config/nds32/nds32-utils.c: Moved to...
30061         * config/nds32/nds32-utils.cc: ...here.
30062         * config/nds32/nds32.c: Moved to...
30063         * config/nds32/nds32.cc: ...here.
30064         * config/netbsd-d.c: Moved to...
30065         * config/netbsd-d.cc: ...here.
30066         * config/netbsd.c: Moved to...
30067         * config/netbsd.cc: ...here.
30068         * config/nios2/nios2.c: Moved to...
30069         * config/nios2/nios2.cc: ...here.
30070         * config/nvptx/mkoffload.c: Moved to...
30071         * config/nvptx/mkoffload.cc: ...here.
30072         * config/nvptx/nvptx-c.c: Moved to...
30073         * config/nvptx/nvptx-c.cc: ...here.
30074         * config/nvptx/nvptx.c: Moved to...
30075         * config/nvptx/nvptx.cc: ...here.
30076         * config/openbsd-d.c: Moved to...
30077         * config/openbsd-d.cc: ...here.
30078         * config/or1k/or1k.c: Moved to...
30079         * config/or1k/or1k.cc: ...here.
30080         * config/pa/pa-d.c: Moved to...
30081         * config/pa/pa-d.cc: ...here.
30082         * config/pa/pa.c: Moved to...
30083         * config/pa/pa.cc: ...here.
30084         * config/pdp11/pdp11.c: Moved to...
30085         * config/pdp11/pdp11.cc: ...here.
30086         * config/pru/pru-passes.c: Moved to...
30087         * config/pru/pru-passes.cc: ...here.
30088         * config/pru/pru-pragma.c: Moved to...
30089         * config/pru/pru-pragma.cc: ...here.
30090         * config/pru/pru.c: Moved to...
30091         * config/pru/pru.cc: ...here.
30092         * config/riscv/riscv-builtins.c: Moved to...
30093         * config/riscv/riscv-builtins.cc: ...here.
30094         * config/riscv/riscv-c.c: Moved to...
30095         * config/riscv/riscv-c.cc: ...here.
30096         * config/riscv/riscv-d.c: Moved to...
30097         * config/riscv/riscv-d.cc: ...here.
30098         * config/riscv/riscv-shorten-memrefs.c: Moved to...
30099         * config/riscv/riscv-shorten-memrefs.cc: ...here.
30100         * config/riscv/riscv-sr.c: Moved to...
30101         * config/riscv/riscv-sr.cc: ...here.
30102         * config/riscv/riscv.c: Moved to...
30103         * config/riscv/riscv.cc: ...here.
30104         * config/rl78/rl78-c.c: Moved to...
30105         * config/rl78/rl78-c.cc: ...here.
30106         * config/rl78/rl78.c: Moved to...
30107         * config/rl78/rl78.cc: ...here.
30108         * config/rs6000/driver-rs6000.c: Moved to...
30109         * config/rs6000/driver-rs6000.cc: ...here.
30110         * config/rs6000/host-darwin.c: Moved to...
30111         * config/rs6000/host-darwin.cc: ...here.
30112         * config/rs6000/host-ppc64-darwin.c: Moved to...
30113         * config/rs6000/host-ppc64-darwin.cc: ...here.
30114         * config/rs6000/rbtree.c: Moved to...
30115         * config/rs6000/rbtree.cc: ...here.
30116         * config/rs6000/rs6000-c.c: Moved to...
30117         * config/rs6000/rs6000-c.cc: ...here.
30118         * config/rs6000/rs6000-call.c: Moved to...
30119         * config/rs6000/rs6000-call.cc: ...here.
30120         * config/rs6000/rs6000-d.c: Moved to...
30121         * config/rs6000/rs6000-d.cc: ...here.
30122         * config/rs6000/rs6000-gen-builtins.c: Moved to...
30123         * config/rs6000/rs6000-gen-builtins.cc: ...here.
30124         * config/rs6000/rs6000-linux.c: Moved to...
30125         * config/rs6000/rs6000-linux.cc: ...here.
30126         * config/rs6000/rs6000-logue.c: Moved to...
30127         * config/rs6000/rs6000-logue.cc: ...here.
30128         * config/rs6000/rs6000-p8swap.c: Moved to...
30129         * config/rs6000/rs6000-p8swap.cc: ...here.
30130         * config/rs6000/rs6000-pcrel-opt.c: Moved to...
30131         * config/rs6000/rs6000-pcrel-opt.cc: ...here.
30132         * config/rs6000/rs6000-string.c: Moved to...
30133         * config/rs6000/rs6000-string.cc: ...here.
30134         * config/rs6000/rs6000.c: Moved to...
30135         * config/rs6000/rs6000.cc: ...here.
30136         * config/rx/rx.c: Moved to...
30137         * config/rx/rx.cc: ...here.
30138         * config/s390/driver-native.c: Moved to...
30139         * config/s390/driver-native.cc: ...here.
30140         * config/s390/s390-c.c: Moved to...
30141         * config/s390/s390-c.cc: ...here.
30142         * config/s390/s390-d.c: Moved to...
30143         * config/s390/s390-d.cc: ...here.
30144         * config/s390/s390.c: Moved to...
30145         * config/s390/s390.cc: ...here.
30146         * config/sh/divtab-sh4-300.c: Moved to...
30147         * config/sh/divtab-sh4-300.cc: ...here.
30148         * config/sh/divtab-sh4.c: Moved to...
30149         * config/sh/divtab-sh4.cc: ...here.
30150         * config/sh/divtab.c: Moved to...
30151         * config/sh/divtab.cc: ...here.
30152         * config/sh/sh-c.c: Moved to...
30153         * config/sh/sh-c.cc: ...here.
30154         * config/sh/sh.c: Moved to...
30155         * config/sh/sh.cc: ...here.
30156         * config/sol2-c.c: Moved to...
30157         * config/sol2-c.cc: ...here.
30158         * config/sol2-cxx.c: Moved to...
30159         * config/sol2-cxx.cc: ...here.
30160         * config/sol2-d.c: Moved to...
30161         * config/sol2-d.cc: ...here.
30162         * config/sol2-stubs.c: Moved to...
30163         * config/sol2-stubs.cc: ...here.
30164         * config/sol2.c: Moved to...
30165         * config/sol2.cc: ...here.
30166         * config/sparc/driver-sparc.c: Moved to...
30167         * config/sparc/driver-sparc.cc: ...here.
30168         * config/sparc/sparc-c.c: Moved to...
30169         * config/sparc/sparc-c.cc: ...here.
30170         * config/sparc/sparc-d.c: Moved to...
30171         * config/sparc/sparc-d.cc: ...here.
30172         * config/sparc/sparc.c: Moved to...
30173         * config/sparc/sparc.cc: ...here.
30174         * config/stormy16/stormy16.c: Moved to...
30175         * config/stormy16/stormy16.cc: ...here.
30176         * config/tilegx/mul-tables.c: Moved to...
30177         * config/tilegx/mul-tables.cc: ...here.
30178         * config/tilegx/tilegx-c.c: Moved to...
30179         * config/tilegx/tilegx-c.cc: ...here.
30180         * config/tilegx/tilegx.c: Moved to...
30181         * config/tilegx/tilegx.cc: ...here.
30182         * config/tilepro/mul-tables.c: Moved to...
30183         * config/tilepro/mul-tables.cc: ...here.
30184         * config/tilepro/tilepro-c.c: Moved to...
30185         * config/tilepro/tilepro-c.cc: ...here.
30186         * config/tilepro/tilepro.c: Moved to...
30187         * config/tilepro/tilepro.cc: ...here.
30188         * config/v850/v850-c.c: Moved to...
30189         * config/v850/v850-c.cc: ...here.
30190         * config/v850/v850.c: Moved to...
30191         * config/v850/v850.cc: ...here.
30192         * config/vax/vax.c: Moved to...
30193         * config/vax/vax.cc: ...here.
30194         * config/visium/visium.c: Moved to...
30195         * config/visium/visium.cc: ...here.
30196         * config/vms/vms-c.c: Moved to...
30197         * config/vms/vms-c.cc: ...here.
30198         * config/vms/vms-f.c: Moved to...
30199         * config/vms/vms-f.cc: ...here.
30200         * config/vms/vms.c: Moved to...
30201         * config/vms/vms.cc: ...here.
30202         * config/vxworks-c.c: Moved to...
30203         * config/vxworks-c.cc: ...here.
30204         * config/vxworks.c: Moved to...
30205         * config/vxworks.cc: ...here.
30206         * config/winnt-c.c: Moved to...
30207         * config/winnt-c.cc: ...here.
30208         * config/xtensa/xtensa.c: Moved to...
30209         * config/xtensa/xtensa.cc: ...here.
30210         * context.c: Moved to...
30211         * context.cc: ...here.
30212         * convert.c: Moved to...
30213         * convert.cc: ...here.
30214         * coverage.c: Moved to...
30215         * coverage.cc: ...here.
30216         * cppbuiltin.c: Moved to...
30217         * cppbuiltin.cc: ...here.
30218         * cppdefault.c: Moved to...
30219         * cppdefault.cc: ...here.
30220         * cprop.c: Moved to...
30221         * cprop.cc: ...here.
30222         * cse.c: Moved to...
30223         * cse.cc: ...here.
30224         * cselib.c: Moved to...
30225         * cselib.cc: ...here.
30226         * ctfc.c: Moved to...
30227         * ctfc.cc: ...here.
30228         * ctfout.c: Moved to...
30229         * ctfout.cc: ...here.
30230         * data-streamer-in.c: Moved to...
30231         * data-streamer-in.cc: ...here.
30232         * data-streamer-out.c: Moved to...
30233         * data-streamer-out.cc: ...here.
30234         * data-streamer.c: Moved to...
30235         * data-streamer.cc: ...here.
30236         * dbgcnt.c: Moved to...
30237         * dbgcnt.cc: ...here.
30238         * dbxout.c: Moved to...
30239         * dbxout.cc: ...here.
30240         * dce.c: Moved to...
30241         * dce.cc: ...here.
30242         * ddg.c: Moved to...
30243         * ddg.cc: ...here.
30244         * debug.c: Moved to...
30245         * debug.cc: ...here.
30246         * df-core.c: Moved to...
30247         * df-core.cc: ...here.
30248         * df-problems.c: Moved to...
30249         * df-problems.cc: ...here.
30250         * df-scan.c: Moved to...
30251         * df-scan.cc: ...here.
30252         * dfp.c: Moved to...
30253         * dfp.cc: ...here.
30254         * diagnostic-color.c: Moved to...
30255         * diagnostic-color.cc: ...here.
30256         * diagnostic-show-locus.c: Moved to...
30257         * diagnostic-show-locus.cc: ...here.
30258         * diagnostic-spec.c: Moved to...
30259         * diagnostic-spec.cc: ...here.
30260         * diagnostic.c: Moved to...
30261         * diagnostic.cc: ...here.
30262         * dojump.c: Moved to...
30263         * dojump.cc: ...here.
30264         * dominance.c: Moved to...
30265         * dominance.cc: ...here.
30266         * domwalk.c: Moved to...
30267         * domwalk.cc: ...here.
30268         * double-int.c: Moved to...
30269         * double-int.cc: ...here.
30270         * dse.c: Moved to...
30271         * dse.cc: ...here.
30272         * dumpfile.c: Moved to...
30273         * dumpfile.cc: ...here.
30274         * dwarf2asm.c: Moved to...
30275         * dwarf2asm.cc: ...here.
30276         * dwarf2cfi.c: Moved to...
30277         * dwarf2cfi.cc: ...here.
30278         * dwarf2ctf.c: Moved to...
30279         * dwarf2ctf.cc: ...here.
30280         * dwarf2out.c: Moved to...
30281         * dwarf2out.cc: ...here.
30282         * early-remat.c: Moved to...
30283         * early-remat.cc: ...here.
30284         * edit-context.c: Moved to...
30285         * edit-context.cc: ...here.
30286         * emit-rtl.c: Moved to...
30287         * emit-rtl.cc: ...here.
30288         * errors.c: Moved to...
30289         * errors.cc: ...here.
30290         * et-forest.c: Moved to...
30291         * et-forest.cc: ...here.
30292         * except.c: Moved to...
30293         * except.cc: ...here.
30294         * explow.c: Moved to...
30295         * explow.cc: ...here.
30296         * expmed.c: Moved to...
30297         * expmed.cc: ...here.
30298         * expr.c: Moved to...
30299         * expr.cc: ...here.
30300         * fibonacci_heap.c: Moved to...
30301         * fibonacci_heap.cc: ...here.
30302         * file-find.c: Moved to...
30303         * file-find.cc: ...here.
30304         * file-prefix-map.c: Moved to...
30305         * file-prefix-map.cc: ...here.
30306         * final.c: Moved to...
30307         * final.cc: ...here.
30308         * fixed-value.c: Moved to...
30309         * fixed-value.cc: ...here.
30310         * fold-const-call.c: Moved to...
30311         * fold-const-call.cc: ...here.
30312         * fold-const.c: Moved to...
30313         * fold-const.cc: ...here.
30314         * fp-test.c: Moved to...
30315         * fp-test.cc: ...here.
30316         * function-tests.c: Moved to...
30317         * function-tests.cc: ...here.
30318         * function.c: Moved to...
30319         * function.cc: ...here.
30320         * fwprop.c: Moved to...
30321         * fwprop.cc: ...here.
30322         * gcc-ar.c: Moved to...
30323         * gcc-ar.cc: ...here.
30324         * gcc-main.c: Moved to...
30325         * gcc-main.cc: ...here.
30326         * gcc-rich-location.c: Moved to...
30327         * gcc-rich-location.cc: ...here.
30328         * gcc.c: Moved to...
30329         * gcc.cc: ...here.
30330         * gcov-dump.c: Moved to...
30331         * gcov-dump.cc: ...here.
30332         * gcov-io.c: Moved to...
30333         * gcov-io.cc: ...here.
30334         * gcov-tool.c: Moved to...
30335         * gcov-tool.cc: ...here.
30336         * gcov.c: Moved to...
30337         * gcov.cc: ...here.
30338         * gcse-common.c: Moved to...
30339         * gcse-common.cc: ...here.
30340         * gcse.c: Moved to...
30341         * gcse.cc: ...here.
30342         * genattr-common.c: Moved to...
30343         * genattr-common.cc: ...here.
30344         * genattr.c: Moved to...
30345         * genattr.cc: ...here.
30346         * genattrtab.c: Moved to...
30347         * genattrtab.cc: ...here.
30348         * genautomata.c: Moved to...
30349         * genautomata.cc: ...here.
30350         * gencfn-macros.c: Moved to...
30351         * gencfn-macros.cc: ...here.
30352         * gencheck.c: Moved to...
30353         * gencheck.cc: ...here.
30354         * genchecksum.c: Moved to...
30355         * genchecksum.cc: ...here.
30356         * gencodes.c: Moved to...
30357         * gencodes.cc: ...here.
30358         * genconditions.c: Moved to...
30359         * genconditions.cc: ...here.
30360         * genconfig.c: Moved to...
30361         * genconfig.cc: ...here.
30362         * genconstants.c: Moved to...
30363         * genconstants.cc: ...here.
30364         * genemit.c: Moved to...
30365         * genemit.cc: ...here.
30366         * genenums.c: Moved to...
30367         * genenums.cc: ...here.
30368         * generic-match-head.c: Moved to...
30369         * generic-match-head.cc: ...here.
30370         * genextract.c: Moved to...
30371         * genextract.cc: ...here.
30372         * genflags.c: Moved to...
30373         * genflags.cc: ...here.
30374         * gengenrtl.c: Moved to...
30375         * gengenrtl.cc: ...here.
30376         * gengtype-parse.c: Moved to...
30377         * gengtype-parse.cc: ...here.
30378         * gengtype-state.c: Moved to...
30379         * gengtype-state.cc: ...here.
30380         * gengtype.c: Moved to...
30381         * gengtype.cc: ...here.
30382         * genhooks.c: Moved to...
30383         * genhooks.cc: ...here.
30384         * genmatch.c: Moved to...
30385         * genmatch.cc: ...here.
30386         * genmddeps.c: Moved to...
30387         * genmddeps.cc: ...here.
30388         * genmddump.c: Moved to...
30389         * genmddump.cc: ...here.
30390         * genmodes.c: Moved to...
30391         * genmodes.cc: ...here.
30392         * genopinit.c: Moved to...
30393         * genopinit.cc: ...here.
30394         * genoutput.c: Moved to...
30395         * genoutput.cc: ...here.
30396         * genpeep.c: Moved to...
30397         * genpeep.cc: ...here.
30398         * genpreds.c: Moved to...
30399         * genpreds.cc: ...here.
30400         * genrecog.c: Moved to...
30401         * genrecog.cc: ...here.
30402         * gensupport.c: Moved to...
30403         * gensupport.cc: ...here.
30404         * gentarget-def.c: Moved to...
30405         * gentarget-def.cc: ...here.
30406         * genversion.c: Moved to...
30407         * genversion.cc: ...here.
30408         * ggc-common.c: Moved to...
30409         * ggc-common.cc: ...here.
30410         * ggc-none.c: Moved to...
30411         * ggc-none.cc: ...here.
30412         * ggc-page.c: Moved to...
30413         * ggc-page.cc: ...here.
30414         * ggc-tests.c: Moved to...
30415         * ggc-tests.cc: ...here.
30416         * gimple-builder.c: Moved to...
30417         * gimple-builder.cc: ...here.
30418         * gimple-expr.c: Moved to...
30419         * gimple-expr.cc: ...here.
30420         * gimple-fold.c: Moved to...
30421         * gimple-fold.cc: ...here.
30422         * gimple-iterator.c: Moved to...
30423         * gimple-iterator.cc: ...here.
30424         * gimple-laddress.c: Moved to...
30425         * gimple-laddress.cc: ...here.
30426         * gimple-loop-jam.c: Moved to...
30427         * gimple-loop-jam.cc: ...here.
30428         * gimple-low.c: Moved to...
30429         * gimple-low.cc: ...here.
30430         * gimple-match-head.c: Moved to...
30431         * gimple-match-head.cc: ...here.
30432         * gimple-pretty-print.c: Moved to...
30433         * gimple-pretty-print.cc: ...here.
30434         * gimple-ssa-backprop.c: Moved to...
30435         * gimple-ssa-backprop.cc: ...here.
30436         * gimple-ssa-evrp-analyze.c: Moved to...
30437         * gimple-ssa-evrp-analyze.cc: ...here.
30438         * gimple-ssa-evrp.c: Moved to...
30439         * gimple-ssa-evrp.cc: ...here.
30440         * gimple-ssa-isolate-paths.c: Moved to...
30441         * gimple-ssa-isolate-paths.cc: ...here.
30442         * gimple-ssa-nonnull-compare.c: Moved to...
30443         * gimple-ssa-nonnull-compare.cc: ...here.
30444         * gimple-ssa-split-paths.c: Moved to...
30445         * gimple-ssa-split-paths.cc: ...here.
30446         * gimple-ssa-sprintf.c: Moved to...
30447         * gimple-ssa-sprintf.cc: ...here.
30448         * gimple-ssa-store-merging.c: Moved to...
30449         * gimple-ssa-store-merging.cc: ...here.
30450         * gimple-ssa-strength-reduction.c: Moved to...
30451         * gimple-ssa-strength-reduction.cc: ...here.
30452         * gimple-ssa-warn-alloca.c: Moved to...
30453         * gimple-ssa-warn-alloca.cc: ...here.
30454         * gimple-ssa-warn-restrict.c: Moved to...
30455         * gimple-ssa-warn-restrict.cc: ...here.
30456         * gimple-streamer-in.c: Moved to...
30457         * gimple-streamer-in.cc: ...here.
30458         * gimple-streamer-out.c: Moved to...
30459         * gimple-streamer-out.cc: ...here.
30460         * gimple-walk.c: Moved to...
30461         * gimple-walk.cc: ...here.
30462         * gimple-warn-recursion.c: Moved to...
30463         * gimple-warn-recursion.cc: ...here.
30464         * gimple.c: Moved to...
30465         * gimple.cc: ...here.
30466         * gimplify-me.c: Moved to...
30467         * gimplify-me.cc: ...here.
30468         * gimplify.c: Moved to...
30469         * gimplify.cc: ...here.
30470         * godump.c: Moved to...
30471         * godump.cc: ...here.
30472         * graph.c: Moved to...
30473         * graph.cc: ...here.
30474         * graphds.c: Moved to...
30475         * graphds.cc: ...here.
30476         * graphite-dependences.c: Moved to...
30477         * graphite-dependences.cc: ...here.
30478         * graphite-isl-ast-to-gimple.c: Moved to...
30479         * graphite-isl-ast-to-gimple.cc: ...here.
30480         * graphite-optimize-isl.c: Moved to...
30481         * graphite-optimize-isl.cc: ...here.
30482         * graphite-poly.c: Moved to...
30483         * graphite-poly.cc: ...here.
30484         * graphite-scop-detection.c: Moved to...
30485         * graphite-scop-detection.cc: ...here.
30486         * graphite-sese-to-poly.c: Moved to...
30487         * graphite-sese-to-poly.cc: ...here.
30488         * graphite.c: Moved to...
30489         * graphite.cc: ...here.
30490         * haifa-sched.c: Moved to...
30491         * haifa-sched.cc: ...here.
30492         * hash-map-tests.c: Moved to...
30493         * hash-map-tests.cc: ...here.
30494         * hash-set-tests.c: Moved to...
30495         * hash-set-tests.cc: ...here.
30496         * hash-table.c: Moved to...
30497         * hash-table.cc: ...here.
30498         * hooks.c: Moved to...
30499         * hooks.cc: ...here.
30500         * host-default.c: Moved to...
30501         * host-default.cc: ...here.
30502         * hw-doloop.c: Moved to...
30503         * hw-doloop.cc: ...here.
30504         * hwint.c: Moved to...
30505         * hwint.cc: ...here.
30506         * ifcvt.c: Moved to...
30507         * ifcvt.cc: ...here.
30508         * inchash.c: Moved to...
30509         * inchash.cc: ...here.
30510         * incpath.c: Moved to...
30511         * incpath.cc: ...here.
30512         * init-regs.c: Moved to...
30513         * init-regs.cc: ...here.
30514         * input.c: Moved to...
30515         * input.cc: ...here.
30516         * internal-fn.c: Moved to...
30517         * internal-fn.cc: ...here.
30518         * intl.c: Moved to...
30519         * intl.cc: ...here.
30520         * ipa-comdats.c: Moved to...
30521         * ipa-comdats.cc: ...here.
30522         * ipa-cp.c: Moved to...
30523         * ipa-cp.cc: ...here.
30524         * ipa-devirt.c: Moved to...
30525         * ipa-devirt.cc: ...here.
30526         * ipa-fnsummary.c: Moved to...
30527         * ipa-fnsummary.cc: ...here.
30528         * ipa-icf-gimple.c: Moved to...
30529         * ipa-icf-gimple.cc: ...here.
30530         * ipa-icf.c: Moved to...
30531         * ipa-icf.cc: ...here.
30532         * ipa-inline-analysis.c: Moved to...
30533         * ipa-inline-analysis.cc: ...here.
30534         * ipa-inline-transform.c: Moved to...
30535         * ipa-inline-transform.cc: ...here.
30536         * ipa-inline.c: Moved to...
30537         * ipa-inline.cc: ...here.
30538         * ipa-modref-tree.c: Moved to...
30539         * ipa-modref-tree.cc: ...here.
30540         * ipa-modref.c: Moved to...
30541         * ipa-modref.cc: ...here.
30542         * ipa-param-manipulation.c: Moved to...
30543         * ipa-param-manipulation.cc: ...here.
30544         * ipa-polymorphic-call.c: Moved to...
30545         * ipa-polymorphic-call.cc: ...here.
30546         * ipa-predicate.c: Moved to...
30547         * ipa-predicate.cc: ...here.
30548         * ipa-profile.c: Moved to...
30549         * ipa-profile.cc: ...here.
30550         * ipa-prop.c: Moved to...
30551         * ipa-prop.cc: ...here.
30552         * ipa-pure-const.c: Moved to...
30553         * ipa-pure-const.cc: ...here.
30554         * ipa-ref.c: Moved to...
30555         * ipa-ref.cc: ...here.
30556         * ipa-reference.c: Moved to...
30557         * ipa-reference.cc: ...here.
30558         * ipa-split.c: Moved to...
30559         * ipa-split.cc: ...here.
30560         * ipa-sra.c: Moved to...
30561         * ipa-sra.cc: ...here.
30562         * ipa-utils.c: Moved to...
30563         * ipa-utils.cc: ...here.
30564         * ipa-visibility.c: Moved to...
30565         * ipa-visibility.cc: ...here.
30566         * ipa.c: Moved to...
30567         * ipa.cc: ...here.
30568         * ira-build.c: Moved to...
30569         * ira-build.cc: ...here.
30570         * ira-color.c: Moved to...
30571         * ira-color.cc: ...here.
30572         * ira-conflicts.c: Moved to...
30573         * ira-conflicts.cc: ...here.
30574         * ira-costs.c: Moved to...
30575         * ira-costs.cc: ...here.
30576         * ira-emit.c: Moved to...
30577         * ira-emit.cc: ...here.
30578         * ira-lives.c: Moved to...
30579         * ira-lives.cc: ...here.
30580         * ira.c: Moved to...
30581         * ira.cc: ...here.
30582         * jump.c: Moved to...
30583         * jump.cc: ...here.
30584         * langhooks.c: Moved to...
30585         * langhooks.cc: ...here.
30586         * lcm.c: Moved to...
30587         * lcm.cc: ...here.
30588         * lists.c: Moved to...
30589         * lists.cc: ...here.
30590         * loop-doloop.c: Moved to...
30591         * loop-doloop.cc: ...here.
30592         * loop-init.c: Moved to...
30593         * loop-init.cc: ...here.
30594         * loop-invariant.c: Moved to...
30595         * loop-invariant.cc: ...here.
30596         * loop-iv.c: Moved to...
30597         * loop-iv.cc: ...here.
30598         * loop-unroll.c: Moved to...
30599         * loop-unroll.cc: ...here.
30600         * lower-subreg.c: Moved to...
30601         * lower-subreg.cc: ...here.
30602         * lra-assigns.c: Moved to...
30603         * lra-assigns.cc: ...here.
30604         * lra-coalesce.c: Moved to...
30605         * lra-coalesce.cc: ...here.
30606         * lra-constraints.c: Moved to...
30607         * lra-constraints.cc: ...here.
30608         * lra-eliminations.c: Moved to...
30609         * lra-eliminations.cc: ...here.
30610         * lra-lives.c: Moved to...
30611         * lra-lives.cc: ...here.
30612         * lra-remat.c: Moved to...
30613         * lra-remat.cc: ...here.
30614         * lra-spills.c: Moved to...
30615         * lra-spills.cc: ...here.
30616         * lra.c: Moved to...
30617         * lra.cc: ...here.
30618         * lto-cgraph.c: Moved to...
30619         * lto-cgraph.cc: ...here.
30620         * lto-compress.c: Moved to...
30621         * lto-compress.cc: ...here.
30622         * lto-opts.c: Moved to...
30623         * lto-opts.cc: ...here.
30624         * lto-section-in.c: Moved to...
30625         * lto-section-in.cc: ...here.
30626         * lto-section-out.c: Moved to...
30627         * lto-section-out.cc: ...here.
30628         * lto-streamer-in.c: Moved to...
30629         * lto-streamer-in.cc: ...here.
30630         * lto-streamer-out.c: Moved to...
30631         * lto-streamer-out.cc: ...here.
30632         * lto-streamer.c: Moved to...
30633         * lto-streamer.cc: ...here.
30634         * lto-wrapper.c: Moved to...
30635         * lto-wrapper.cc: ...here.
30636         * main.c: Moved to...
30637         * main.cc: ...here.
30638         * mcf.c: Moved to...
30639         * mcf.cc: ...here.
30640         * mode-switching.c: Moved to...
30641         * mode-switching.cc: ...here.
30642         * modulo-sched.c: Moved to...
30643         * modulo-sched.cc: ...here.
30644         * multiple_target.c: Moved to...
30645         * multiple_target.cc: ...here.
30646         * omp-expand.c: Moved to...
30647         * omp-expand.cc: ...here.
30648         * omp-general.c: Moved to...
30649         * omp-general.cc: ...here.
30650         * omp-low.c: Moved to...
30651         * omp-low.cc: ...here.
30652         * omp-offload.c: Moved to...
30653         * omp-offload.cc: ...here.
30654         * omp-simd-clone.c: Moved to...
30655         * omp-simd-clone.cc: ...here.
30656         * opt-suggestions.c: Moved to...
30657         * opt-suggestions.cc: ...here.
30658         * optabs-libfuncs.c: Moved to...
30659         * optabs-libfuncs.cc: ...here.
30660         * optabs-query.c: Moved to...
30661         * optabs-query.cc: ...here.
30662         * optabs-tree.c: Moved to...
30663         * optabs-tree.cc: ...here.
30664         * optabs.c: Moved to...
30665         * optabs.cc: ...here.
30666         * opts-common.c: Moved to...
30667         * opts-common.cc: ...here.
30668         * opts-global.c: Moved to...
30669         * opts-global.cc: ...here.
30670         * opts.c: Moved to...
30671         * opts.cc: ...here.
30672         * passes.c: Moved to...
30673         * passes.cc: ...here.
30674         * plugin.c: Moved to...
30675         * plugin.cc: ...here.
30676         * postreload-gcse.c: Moved to...
30677         * postreload-gcse.cc: ...here.
30678         * postreload.c: Moved to...
30679         * postreload.cc: ...here.
30680         * predict.c: Moved to...
30681         * predict.cc: ...here.
30682         * prefix.c: Moved to...
30683         * prefix.cc: ...here.
30684         * pretty-print.c: Moved to...
30685         * pretty-print.cc: ...here.
30686         * print-rtl-function.c: Moved to...
30687         * print-rtl-function.cc: ...here.
30688         * print-rtl.c: Moved to...
30689         * print-rtl.cc: ...here.
30690         * print-tree.c: Moved to...
30691         * print-tree.cc: ...here.
30692         * profile-count.c: Moved to...
30693         * profile-count.cc: ...here.
30694         * profile.c: Moved to...
30695         * profile.cc: ...here.
30696         * read-md.c: Moved to...
30697         * read-md.cc: ...here.
30698         * read-rtl-function.c: Moved to...
30699         * read-rtl-function.cc: ...here.
30700         * read-rtl.c: Moved to...
30701         * read-rtl.cc: ...here.
30702         * real.c: Moved to...
30703         * real.cc: ...here.
30704         * realmpfr.c: Moved to...
30705         * realmpfr.cc: ...here.
30706         * recog.c: Moved to...
30707         * recog.cc: ...here.
30708         * ree.c: Moved to...
30709         * ree.cc: ...here.
30710         * reg-stack.c: Moved to...
30711         * reg-stack.cc: ...here.
30712         * regcprop.c: Moved to...
30713         * regcprop.cc: ...here.
30714         * reginfo.c: Moved to...
30715         * reginfo.cc: ...here.
30716         * regrename.c: Moved to...
30717         * regrename.cc: ...here.
30718         * regstat.c: Moved to...
30719         * regstat.cc: ...here.
30720         * reload.c: Moved to...
30721         * reload.cc: ...here.
30722         * reload1.c: Moved to...
30723         * reload1.cc: ...here.
30724         * reorg.c: Moved to...
30725         * reorg.cc: ...here.
30726         * resource.c: Moved to...
30727         * resource.cc: ...here.
30728         * rtl-error.c: Moved to...
30729         * rtl-error.cc: ...here.
30730         * rtl-tests.c: Moved to...
30731         * rtl-tests.cc: ...here.
30732         * rtl.c: Moved to...
30733         * rtl.cc: ...here.
30734         * rtlanal.c: Moved to...
30735         * rtlanal.cc: ...here.
30736         * rtlhash.c: Moved to...
30737         * rtlhash.cc: ...here.
30738         * rtlhooks.c: Moved to...
30739         * rtlhooks.cc: ...here.
30740         * rtx-vector-builder.c: Moved to...
30741         * rtx-vector-builder.cc: ...here.
30742         * run-rtl-passes.c: Moved to...
30743         * run-rtl-passes.cc: ...here.
30744         * sancov.c: Moved to...
30745         * sancov.cc: ...here.
30746         * sanopt.c: Moved to...
30747         * sanopt.cc: ...here.
30748         * sbitmap.c: Moved to...
30749         * sbitmap.cc: ...here.
30750         * sched-deps.c: Moved to...
30751         * sched-deps.cc: ...here.
30752         * sched-ebb.c: Moved to...
30753         * sched-ebb.cc: ...here.
30754         * sched-rgn.c: Moved to...
30755         * sched-rgn.cc: ...here.
30756         * sel-sched-dump.c: Moved to...
30757         * sel-sched-dump.cc: ...here.
30758         * sel-sched-ir.c: Moved to...
30759         * sel-sched-ir.cc: ...here.
30760         * sel-sched.c: Moved to...
30761         * sel-sched.cc: ...here.
30762         * selftest-diagnostic.c: Moved to...
30763         * selftest-diagnostic.cc: ...here.
30764         * selftest-rtl.c: Moved to...
30765         * selftest-rtl.cc: ...here.
30766         * selftest-run-tests.c: Moved to...
30767         * selftest-run-tests.cc: ...here.
30768         * selftest.c: Moved to...
30769         * selftest.cc: ...here.
30770         * sese.c: Moved to...
30771         * sese.cc: ...here.
30772         * shrink-wrap.c: Moved to...
30773         * shrink-wrap.cc: ...here.
30774         * simplify-rtx.c: Moved to...
30775         * simplify-rtx.cc: ...here.
30776         * sparseset.c: Moved to...
30777         * sparseset.cc: ...here.
30778         * spellcheck-tree.c: Moved to...
30779         * spellcheck-tree.cc: ...here.
30780         * spellcheck.c: Moved to...
30781         * spellcheck.cc: ...here.
30782         * sreal.c: Moved to...
30783         * sreal.cc: ...here.
30784         * stack-ptr-mod.c: Moved to...
30785         * stack-ptr-mod.cc: ...here.
30786         * statistics.c: Moved to...
30787         * statistics.cc: ...here.
30788         * stmt.c: Moved to...
30789         * stmt.cc: ...here.
30790         * stor-layout.c: Moved to...
30791         * stor-layout.cc: ...here.
30792         * store-motion.c: Moved to...
30793         * store-motion.cc: ...here.
30794         * streamer-hooks.c: Moved to...
30795         * streamer-hooks.cc: ...here.
30796         * stringpool.c: Moved to...
30797         * stringpool.cc: ...here.
30798         * substring-locations.c: Moved to...
30799         * substring-locations.cc: ...here.
30800         * symtab.c: Moved to...
30801         * symtab.cc: ...here.
30802         * target-globals.c: Moved to...
30803         * target-globals.cc: ...here.
30804         * targhooks.c: Moved to...
30805         * targhooks.cc: ...here.
30806         * timevar.c: Moved to...
30807         * timevar.cc: ...here.
30808         * toplev.c: Moved to...
30809         * toplev.cc: ...here.
30810         * tracer.c: Moved to...
30811         * tracer.cc: ...here.
30812         * trans-mem.c: Moved to...
30813         * trans-mem.cc: ...here.
30814         * tree-affine.c: Moved to...
30815         * tree-affine.cc: ...here.
30816         * tree-call-cdce.c: Moved to...
30817         * tree-call-cdce.cc: ...here.
30818         * tree-cfg.c: Moved to...
30819         * tree-cfg.cc: ...here.
30820         * tree-cfgcleanup.c: Moved to...
30821         * tree-cfgcleanup.cc: ...here.
30822         * tree-chrec.c: Moved to...
30823         * tree-chrec.cc: ...here.
30824         * tree-complex.c: Moved to...
30825         * tree-complex.cc: ...here.
30826         * tree-data-ref.c: Moved to...
30827         * tree-data-ref.cc: ...here.
30828         * tree-dfa.c: Moved to...
30829         * tree-dfa.cc: ...here.
30830         * tree-diagnostic.c: Moved to...
30831         * tree-diagnostic.cc: ...here.
30832         * tree-dump.c: Moved to...
30833         * tree-dump.cc: ...here.
30834         * tree-eh.c: Moved to...
30835         * tree-eh.cc: ...here.
30836         * tree-emutls.c: Moved to...
30837         * tree-emutls.cc: ...here.
30838         * tree-if-conv.c: Moved to...
30839         * tree-if-conv.cc: ...here.
30840         * tree-inline.c: Moved to...
30841         * tree-inline.cc: ...here.
30842         * tree-into-ssa.c: Moved to...
30843         * tree-into-ssa.cc: ...here.
30844         * tree-iterator.c: Moved to...
30845         * tree-iterator.cc: ...here.
30846         * tree-loop-distribution.c: Moved to...
30847         * tree-loop-distribution.cc: ...here.
30848         * tree-nested.c: Moved to...
30849         * tree-nested.cc: ...here.
30850         * tree-nrv.c: Moved to...
30851         * tree-nrv.cc: ...here.
30852         * tree-object-size.c: Moved to...
30853         * tree-object-size.cc: ...here.
30854         * tree-outof-ssa.c: Moved to...
30855         * tree-outof-ssa.cc: ...here.
30856         * tree-parloops.c: Moved to...
30857         * tree-parloops.cc: ...here.
30858         * tree-phinodes.c: Moved to...
30859         * tree-phinodes.cc: ...here.
30860         * tree-predcom.c: Moved to...
30861         * tree-predcom.cc: ...here.
30862         * tree-pretty-print.c: Moved to...
30863         * tree-pretty-print.cc: ...here.
30864         * tree-profile.c: Moved to...
30865         * tree-profile.cc: ...here.
30866         * tree-scalar-evolution.c: Moved to...
30867         * tree-scalar-evolution.cc: ...here.
30868         * tree-sra.c: Moved to...
30869         * tree-sra.cc: ...here.
30870         * tree-ssa-address.c: Moved to...
30871         * tree-ssa-address.cc: ...here.
30872         * tree-ssa-alias.c: Moved to...
30873         * tree-ssa-alias.cc: ...here.
30874         * tree-ssa-ccp.c: Moved to...
30875         * tree-ssa-ccp.cc: ...here.
30876         * tree-ssa-coalesce.c: Moved to...
30877         * tree-ssa-coalesce.cc: ...here.
30878         * tree-ssa-copy.c: Moved to...
30879         * tree-ssa-copy.cc: ...here.
30880         * tree-ssa-dce.c: Moved to...
30881         * tree-ssa-dce.cc: ...here.
30882         * tree-ssa-dom.c: Moved to...
30883         * tree-ssa-dom.cc: ...here.
30884         * tree-ssa-dse.c: Moved to...
30885         * tree-ssa-dse.cc: ...here.
30886         * tree-ssa-forwprop.c: Moved to...
30887         * tree-ssa-forwprop.cc: ...here.
30888         * tree-ssa-ifcombine.c: Moved to...
30889         * tree-ssa-ifcombine.cc: ...here.
30890         * tree-ssa-live.c: Moved to...
30891         * tree-ssa-live.cc: ...here.
30892         * tree-ssa-loop-ch.c: Moved to...
30893         * tree-ssa-loop-ch.cc: ...here.
30894         * tree-ssa-loop-im.c: Moved to...
30895         * tree-ssa-loop-im.cc: ...here.
30896         * tree-ssa-loop-ivcanon.c: Moved to...
30897         * tree-ssa-loop-ivcanon.cc: ...here.
30898         * tree-ssa-loop-ivopts.c: Moved to...
30899         * tree-ssa-loop-ivopts.cc: ...here.
30900         * tree-ssa-loop-manip.c: Moved to...
30901         * tree-ssa-loop-manip.cc: ...here.
30902         * tree-ssa-loop-niter.c: Moved to...
30903         * tree-ssa-loop-niter.cc: ...here.
30904         * tree-ssa-loop-prefetch.c: Moved to...
30905         * tree-ssa-loop-prefetch.cc: ...here.
30906         * tree-ssa-loop-split.c: Moved to...
30907         * tree-ssa-loop-split.cc: ...here.
30908         * tree-ssa-loop-unswitch.c: Moved to...
30909         * tree-ssa-loop-unswitch.cc: ...here.
30910         * tree-ssa-loop.c: Moved to...
30911         * tree-ssa-loop.cc: ...here.
30912         * tree-ssa-math-opts.c: Moved to...
30913         * tree-ssa-math-opts.cc: ...here.
30914         * tree-ssa-operands.c: Moved to...
30915         * tree-ssa-operands.cc: ...here.
30916         * tree-ssa-phiopt.c: Moved to...
30917         * tree-ssa-phiopt.cc: ...here.
30918         * tree-ssa-phiprop.c: Moved to...
30919         * tree-ssa-phiprop.cc: ...here.
30920         * tree-ssa-pre.c: Moved to...
30921         * tree-ssa-pre.cc: ...here.
30922         * tree-ssa-propagate.c: Moved to...
30923         * tree-ssa-propagate.cc: ...here.
30924         * tree-ssa-reassoc.c: Moved to...
30925         * tree-ssa-reassoc.cc: ...here.
30926         * tree-ssa-sccvn.c: Moved to...
30927         * tree-ssa-sccvn.cc: ...here.
30928         * tree-ssa-scopedtables.c: Moved to...
30929         * tree-ssa-scopedtables.cc: ...here.
30930         * tree-ssa-sink.c: Moved to...
30931         * tree-ssa-sink.cc: ...here.
30932         * tree-ssa-strlen.c: Moved to...
30933         * tree-ssa-strlen.cc: ...here.
30934         * tree-ssa-structalias.c: Moved to...
30935         * tree-ssa-structalias.cc: ...here.
30936         * tree-ssa-tail-merge.c: Moved to...
30937         * tree-ssa-tail-merge.cc: ...here.
30938         * tree-ssa-ter.c: Moved to...
30939         * tree-ssa-ter.cc: ...here.
30940         * tree-ssa-threadbackward.c: Moved to...
30941         * tree-ssa-threadbackward.cc: ...here.
30942         * tree-ssa-threadedge.c: Moved to...
30943         * tree-ssa-threadedge.cc: ...here.
30944         * tree-ssa-threadupdate.c: Moved to...
30945         * tree-ssa-threadupdate.cc: ...here.
30946         * tree-ssa-uncprop.c: Moved to...
30947         * tree-ssa-uncprop.cc: ...here.
30948         * tree-ssa-uninit.c: Moved to...
30949         * tree-ssa-uninit.cc: ...here.
30950         * tree-ssa.c: Moved to...
30951         * tree-ssa.cc: ...here.
30952         * tree-ssanames.c: Moved to...
30953         * tree-ssanames.cc: ...here.
30954         * tree-stdarg.c: Moved to...
30955         * tree-stdarg.cc: ...here.
30956         * tree-streamer-in.c: Moved to...
30957         * tree-streamer-in.cc: ...here.
30958         * tree-streamer-out.c: Moved to...
30959         * tree-streamer-out.cc: ...here.
30960         * tree-streamer.c: Moved to...
30961         * tree-streamer.cc: ...here.
30962         * tree-switch-conversion.c: Moved to...
30963         * tree-switch-conversion.cc: ...here.
30964         * tree-tailcall.c: Moved to...
30965         * tree-tailcall.cc: ...here.
30966         * tree-vect-data-refs.c: Moved to...
30967         * tree-vect-data-refs.cc: ...here.
30968         * tree-vect-generic.c: Moved to...
30969         * tree-vect-generic.cc: ...here.
30970         * tree-vect-loop-manip.c: Moved to...
30971         * tree-vect-loop-manip.cc: ...here.
30972         * tree-vect-loop.c: Moved to...
30973         * tree-vect-loop.cc: ...here.
30974         * tree-vect-patterns.c: Moved to...
30975         * tree-vect-patterns.cc: ...here.
30976         * tree-vect-slp-patterns.c: Moved to...
30977         * tree-vect-slp-patterns.cc: ...here.
30978         * tree-vect-slp.c: Moved to...
30979         * tree-vect-slp.cc: ...here.
30980         * tree-vect-stmts.c: Moved to...
30981         * tree-vect-stmts.cc: ...here.
30982         * tree-vector-builder.c: Moved to...
30983         * tree-vector-builder.cc: ...here.
30984         * tree-vectorizer.c: Moved to...
30985         * tree-vectorizer.cc: ...here.
30986         * tree-vrp.c: Moved to...
30987         * tree-vrp.cc: ...here.
30988         * tree.c: Moved to...
30989         * tree.cc: ...here.
30990         * tsan.c: Moved to...
30991         * tsan.cc: ...here.
30992         * typed-splay-tree.c: Moved to...
30993         * typed-splay-tree.cc: ...here.
30994         * ubsan.c: Moved to...
30995         * ubsan.cc: ...here.
30996         * valtrack.c: Moved to...
30997         * valtrack.cc: ...here.
30998         * value-prof.c: Moved to...
30999         * value-prof.cc: ...here.
31000         * var-tracking.c: Moved to...
31001         * var-tracking.cc: ...here.
31002         * varasm.c: Moved to...
31003         * varasm.cc: ...here.
31004         * varpool.c: Moved to...
31005         * varpool.cc: ...here.
31006         * vec-perm-indices.c: Moved to...
31007         * vec-perm-indices.cc: ...here.
31008         * vec.c: Moved to...
31009         * vec.cc: ...here.
31010         * vmsdbgout.c: Moved to...
31011         * vmsdbgout.cc: ...here.
31012         * vr-values.c: Moved to...
31013         * vr-values.cc: ...here.
31014         * vtable-verify.c: Moved to...
31015         * vtable-verify.cc: ...here.
31016         * web.c: Moved to...
31017         * web.cc: ...here.
31018         * xcoffout.c: Moved to...
31019         * xcoffout.cc: ...here.
31020
31021 2022-01-17  qing zhao  <qing.zhao@oracle.com>
31022
31023         * tree-ssa-uninit.c (warn_uninit): Delete the 4th parameter. Handle
31024         .DEFERRED_INIT call with an anonymous SSA_NAME specially.
31025         (check_defs): Handle .DEFERRED_INIT call with an anonymous SSA_NAME
31026         specially.
31027         (warn_uninit_phi_uses): Delete the 4th actual when call warn_uninit.
31028         (warn_uninitialized_vars): Likewise.
31029         (warn_uninitialized_phi): Likewise.
31030
31031 2022-01-17  Jason Merrill  <jason@redhat.com>
31032
31033         * diagnostic.h (struct diagnostic_context): Add includes_seen.
31034         * diagnostic.c (diagnostic_initialize): Initialize it.
31035         (diagnostic_finish): Clean it up.
31036         (includes_seen): New function.
31037         (diagnostic_report_current_module): Use it.
31038
31039 2022-01-17  Richard Biener  <rguenther@suse.de>
31040
31041         PR middle-end/101292
31042         * diagnostic-spec.c (copy_warning): Make sure to not
31043         reference old hashtable content on possible resize.
31044         * warning-control.cc (copy_warning): Likewise.
31045
31046 2022-01-17  Jakub Jelinek  <jakub@redhat.com>
31047
31048         PR target/103973
31049         * tree-cfg.h (cond_only_block_p): Declare.
31050         * tree-ssa-phiopt.c (cond_only_block_p): Move function to ...
31051         * tree-cfg.c (cond_only_block_p): ... here.  No longer static.
31052         * optabs.def (spaceship_optab): New optab.
31053         * internal-fn.def (SPACESHIP): New internal function.
31054         * internal-fn.h (expand_SPACESHIP): Declare.
31055         * internal-fn.c (expand_PHI): Formatting fix.
31056         (expand_SPACESHIP): New function.
31057         * tree-ssa-math-opts.c (optimize_spaceship): New function.
31058         (math_opts_dom_walker::after_dom_children): Use it.
31059         * config/i386/i386.md (spaceship<mode>3): New define_expand.
31060         * config/i386/i386-protos.h (ix86_expand_fp_spaceship): Declare.
31061         * config/i386/i386-expand.c (ix86_expand_fp_spaceship): New function.
31062         * doc/md.texi (spaceship@var{m}3): Document.
31063
31064 2022-01-17  Kewen Lin  <linkw@linux.ibm.com>
31065
31066         * config/rs6000/altivec.md (altivec_vreveti2): Remove.
31067         * config/rs6000/vsx.md (*vsx_extract_si, *vsx_extract_si_<uns>float_df,
31068         *vsx_extract_si_<uns>float_<mode>, *vsx_insert_extract_v4sf_p9): Use
31069         known constant values to simplify code.
31070
31071 2022-01-17  Haochen Gui  <guihaoc@gcc.gnu.org>
31072
31073         PR target/103124
31074         * config/rs6000/vsx.md (split pattern for TI to V1TI move): Defined.
31075
31076 2022-01-16  wwwhhhyyy  <hongyu.wang@intel.com>
31077
31078         * config/i386/i386.h (TARGET_DEST_FALSE_DEP_FOR_GLC): New macro.
31079         * config/i386/sse.md (<avx512>_<complexopname>_<mode><maskc_name><round_name>):
31080         Insert zero-idiom in output template when attr enabled, set new attribute to
31081         true for non-mask/maskz insn.
31082         (avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>):
31083         Likewise.
31084         (avx512dq_mul<mode>3<mask_name>): Likewise.
31085         (<avx2_avx512>_permvar<mode><mask_name>): Likewise.
31086         (avx2_perm<mode>_1<mask_name>): Likewise.
31087         (avx512f_perm<mode>_1<mask_name>): Likewise.
31088         (avx512dq_rangep<mode><mask_name><round_saeonly_name>): Likewise.
31089         (avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>):
31090         Likewise.
31091         (<avx512>_getmant<mode><mask_name><round_saeonly_name>): Likewise.
31092         (avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
31093         Likewise.
31094         * config/i386/subst.md (mask3_dest_false_dep_for_glc_cond): New
31095         subst_attr.
31096         (mask4_dest_false_dep_for_glc_cond): Likewise.
31097         (mask6_dest_false_dep_for_glc_cond): Likewise.
31098         (mask10_dest_false_dep_for_glc_cond): Likewise.
31099         (maskc_dest_false_dep_for_glc_cond): Likewise.
31100         (mask_scalar4_dest_false_dep_for_glc_cond): Likewise.
31101         (mask_scalarc_dest_false_dep_for_glc_cond): Likewise.
31102         * config/i386/x86-tune.def (X86_TUNE_DEST_FALSE_DEP_FOR_GLC): New
31103         DEF_TUNE enabled for m_SAPPHIRERAPIDS and m_ALDERLAKE
31104
31105 2022-01-15  Martin Sebor  <msebor@redhat.com>
31106
31107         PR c/63272
31108         * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
31109         -Wdangling-pointer.
31110         * doc/invoke.texi (-Wdangling-pointer): Document new option.
31111         * gimple-ssa-warn-access.cc (pass_waccess::clone): Set new member.
31112         (pass_waccess::check_pointer_uses): New function.
31113         (pass_waccess::gimple_call_return_arg): New function.
31114         (pass_waccess::gimple_call_return_arg_ref): New function.
31115         (pass_waccess::check_call_dangling): New function.
31116         (pass_waccess::check_dangling_uses): New function overloads.
31117         (pass_waccess::check_dangling_stores): New function.
31118         (pass_waccess::check_dangling_stores): New function.
31119         (pass_waccess::m_clobbers): New data member.
31120         (pass_waccess::m_func): New data member.
31121         (pass_waccess::m_run_number): New data member.
31122         (pass_waccess::m_check_dangling_p): New data member.
31123         (pass_waccess::check_alloca): Check m_early_checks_p.
31124         (pass_waccess::check_alloc_size_call): Same.
31125         (pass_waccess::check_strcat): Same.
31126         (pass_waccess::check_strncat): Same.
31127         (pass_waccess::check_stxcpy): Same.
31128         (pass_waccess::check_stxncpy): Same.
31129         (pass_waccess::check_strncmp): Same.
31130         (pass_waccess::check_memop_access): Same.
31131         (pass_waccess::check_read_access): Same.
31132         (pass_waccess::check_builtin): Call check_pointer_uses.
31133         (pass_waccess::warn_invalid_pointer): Add arguments.
31134         (is_auto_decl): New function.
31135         (pass_waccess::check_stmt): New function.
31136         (pass_waccess::check_block): Call check_stmt.
31137         (pass_waccess::execute): Call check_dangling_uses,
31138         check_dangling_stores.  Empty m_clobbers.
31139         * passes.def (pass_warn_access): Invoke pass two more times.
31140
31141 2022-01-15  Martin Sebor  <msebor@redhat.com>
31142
31143         PR tree-optimization/80532
31144         * common.opt (-Wuse-after-free): New options.
31145         * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
31146         OPT_Wreturn_local_addr and OPT_Wuse_after_free_.
31147         * diagnostic-spec.h (NW_DANGLING): New enumerator.
31148         * doc/invoke.texi (-Wuse-after-free): Document new option.
31149         * gimple-ssa-warn-access.cc (pass_waccess::check_call): Rename...
31150         (pass_waccess::check_call_access): ...to this.
31151         (pass_waccess::check): Rename...
31152         (pass_waccess::check_block): ...to this.
31153         (pass_waccess::check_pointer_uses): New function.
31154         (pass_waccess::gimple_call_return_arg): New function.
31155         (pass_waccess::warn_invalid_pointer): New function.
31156         (pass_waccess::check_builtin): Handle free and realloc.
31157         (gimple_use_after_inval_p): New function.
31158         (get_realloc_lhs): New function.
31159         (maybe_warn_mismatched_realloc): New function.
31160         (pointers_related_p): New function.
31161         (pass_waccess::check_call): Call check_pointer_uses.
31162         (pass_waccess::execute): Compute and free dominance info.
31163
31164 2022-01-15  Uroš Bizjak  <ubizjak@gmail.com>
31165
31166         * config/i386/i386-expand.c (ix86_expand_sse_movcc): Use
31167         expand_simple_unop and expand_simple_binop instead of manually
31168         constructing NOT, AND and IOR RTXes.  Use vector_all_ones_operand
31169         consistently.  Eliminate common subexpressions and simplify code.
31170         * config/i386/sse.md (<any_logic:code><MODEF:mode>3): New expander.
31171         (<any_logic:code><MODEF:mode>3): Make public.
31172
31173 2022-01-14  Eric Botcazou  <ebotcazou@adacore.com>
31174
31175         * ipa-param-manipulation.c (ipa_dump_adjusted_parameters): Dump
31176         reverse flag as "reverse" for the sake of consistency.
31177         * ipa-sra.c: Fix copyright year.
31178         (ipa_sra_function_summaries::duplicate): Copy the reverse flag.
31179         (dump_isra_access): Tweak dump line.
31180         (isra_write_node_summary): Write the reverse flag.
31181         (isra_read_node_info): Read it.
31182         (pull_accesses_from_callee): Test its consistency and copy it.
31183
31184 2022-01-14  Richard Sandiford  <richard.sandiford@arm.com>
31185
31186         PR middle-end/104026
31187         * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize
31188         partial_load_store_bias.
31189
31190 2022-01-14  Martin Sebor  <msebor@redhat.com>
31191
31192         PR middle-end/101475
31193         * pointer-query.cc (handle_component_ref): Use the size of
31194         the enclosing object if it's smaller than the member.
31195
31196 2022-01-14  Martin Liska  <mliska@suse.cz>
31197
31198         * configure: Regenerate.
31199
31200 2022-01-14  Uroš Bizjak  <ubizjak@gmail.com>
31201
31202         * config/i386/i386.md (*add<mode>_1_slp"):
31203         Mark alternative 1 output operand earlyclobbered.
31204         (*sub<mode>_1_slp): Ditto.
31205         (*and<mode>_1_slp): Ditto.
31206         (*<code><mode>_1_slp): Ditto.
31207         (*neg<mode>_1_slp): Ditto.
31208         (*one_cmpl<mode>_1_slp): Ditto.
31209         (*ashl<mode>3_1_slp): Ditto.
31210         (*<insn><mode>3_1_slp): Ditto.
31211         (*<insn><mode>3_1_slp): Ditto.
31212
31213 2022-01-14  Kewen Lin  <linkw@linux.ibm.com>
31214
31215         PR tree-optimization/104015
31216         * tree-vect-loop.c (vect_analyze_loop): Check
31217         param_vect_partial_vector_usage for supports_partial_vectors.
31218
31219 2022-01-14  Jakub Jelinek  <jakub@redhat.com>
31220
31221         PR c++/89074
31222         * fold-const.c (address_compare): Punt on comparison of address of
31223         one object with address of end of another object if
31224         folding_initializer.
31225
31226 2022-01-14  Jakub Jelinek  <jakub@redhat.com>
31227
31228         PR target/98737
31229         * tree-ssa-forwprop.c (simplify_builtin_call): Canonicalize
31230         __atomic_fetch_op (p, x, y) op x into __atomic_op_fetch (p, x, y)
31231         and __atomic_op_fetch (p, x, y) iop x into
31232         __atomic_fetch_op (p, x, y).
31233
31234 2022-01-14  Claudiu Zissulescu  <claziss@synopsys.com>
31235
31236         * config/arc/arc.h (DWARF_FRAME_REGNUM): Update definition.
31237         (DWARF_FRAME_RETURN_COLUMN): Use RETURN_ADDR_REGNUM macro.
31238         (INCOMING_RETURN_ADDR_RTX): Likewise.
31239         (DWARF_ALT_FRAME_RETURN_COLUMN): Define.
31240
31241 2022-01-14  Claudiu Zissulescu  <claziss@synopsys.com>
31242
31243         * config/arc/arc.c (arc_compute_frame_size): Remove condition when
31244         computin checking accumulator regs.
31245         (arc_expand_prologue): Update comments.
31246         (arc_expand_epilogue): Likewise.
31247
31248 2022-01-14  Roger Sayle  <roger@nextmovesoftware.com>
31249             Uroš Bizjak  <ubizjak@gmail.com>
31250
31251         * config/i386/i386-expand.c (ix86_expand_v1ti_to_ti): Use force_reg.
31252         (ix86_expand_ti_to_v1ti): Use force_reg.
31253         (ix86_expand_v1ti_shift): Use force_reg.
31254         (ix86_expand_v1ti_rotate): Use force_reg.
31255         (ix86_expand_v1ti_ashiftrt): Provide new three operation
31256         implementations for shifts by 111..126 bits.  Use force_reg.
31257
31258 2022-01-14  Martin Liska  <mliska@suse.cz>
31259
31260         * common/config/arm/arm-common.c (arm_target_mode): Fix
31261         warning: unterminated quoting directive [-Wformat=].
31262
31263 2022-01-14  Siddhesh Poyarekar  <siddhesh@gotplt.org>
31264
31265         PR tree-optimization/104009
31266         * tree-object-size.c (compute_builtin_object_size): Bail out on
31267         negative offset.
31268         (plus_stmt_object_size): Return maximum of wholesize and minimum
31269         of 0 for negative offset.
31270
31271 2022-01-14  liuhongt  <hongtao.liu@intel.com>
31272
31273         PR target/104001
31274         PR target/94790
31275         PR target/104014
31276         * config/i386/i386.md (*xor2andn): Refine predicate of
31277         operands[0] from nonimmediate_operand to
31278         register_operand, remove TARGET_AVX512BW from condition.
31279
31280 2022-01-14  David Malcolm  <dmalcolm@redhat.com>
31281
31282         * doc/extend.texi (Function Attributes): Note that "tainted_args" can
31283         be used on field decls.
31284         (Common Function Attributes): Add entry on "tainted_args" attribute.
31285
31286 2022-01-13  Anthony Sharp  <anthonysharp15@gmail.com>
31287             Jason Merrill  <jason@redhat.com>
31288
31289         PR c++/70417
31290         * doc/invoke.texi: Documentation for Wmissing-template-keyword.
31291
31292 2022-01-13  Uroš Bizjak  <ubizjak@gmail.com>
31293
31294         PR target/103861
31295         * config/i386/i386.md (*ashlqi_ext<mode>_2): New insn pattern.
31296         (*<any_shiftrt:insn>qi_ext<mode>_2): Ditto.
31297         * config/i386/mmx.md (<any_shift:insn>v2qi):
31298         New insn_and_split pattern.
31299
31300 2022-01-13  Robin Dapp  <rdapp@linux.ibm.com>
31301
31302         * internal-fn.c (expand_partial_load_optab_fn): Add bias.
31303         (expand_partial_store_optab_fn): Likewise.
31304         (internal_len_load_store_bias): New function.
31305         * internal-fn.h (VECT_PARTIAL_BIAS_UNSUPPORTED): New define.
31306         (internal_len_load_store_bias): New function.
31307         * tree-vect-loop-manip.c (vect_set_loop_controls_directly): Set bias.
31308         (vect_set_loop_condition_partial_vectors): Add header_seq parameter.
31309         * tree-vect-loop.c (vect_verify_loop_lens): Verify bias.
31310         (vect_estimate_min_profitable_iters): Account for bias.
31311         (vect_get_loop_len): Add bias-adjusted length.
31312         * tree-vect-stmts.c (vectorizable_store): Use.
31313         (vectorizable_load): Use.
31314         * tree-vectorizer.h (struct rgroup_controls): Add bias-adjusted length.
31315         (LOOP_VINFO_PARTIAL_LOAD_STORE_BIAS): New macro.
31316         * config/rs6000/vsx.md: Use const0 bias predicate.
31317         * doc/md.texi: Document bias value.
31318
31319 2022-01-13  Andrew MacLeod  <amacleod@redhat.com>
31320
31321         PR tree-optimization/83072
31322         PR tree-optimization/83073
31323         PR tree-optimization/97909
31324         * fold-const.c (expr_not_equal_to): Use a multi-range class.
31325
31326 2022-01-13  Andrew MacLeod  <amacleod@redhat.com>
31327
31328         PR tree-optimization/96707
31329         * range-op.cc (operator_rshift::lhs_op1_relation): New.
31330
31331 2022-01-13  Uroš Bizjak  <ubizjak@gmail.com>
31332
31333         * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
31334         Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
31335         (negv2qi splitters): Use lowpart_subreg instead of
31336         gen_lowpart to create subreg.
31337         (<plusminus:insn>v2qi3): Disparage GPR alternative a bit.
31338         Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
31339         (<plusminus:insn>v2qi3 splitters): Use lowpart_subreg instead of
31340         gen_lowpart to create subreg.
31341         * config/i386/i386.md (*subqi_ext<mode>_2): Move.
31342
31343 2022-01-13  Uroš Bizjak  <ubizjak@gmail.com>
31344
31345         PR target/104003
31346         * config/i386/mmx.md (*xop_pcmov_<mode>): Use VI_16_32 mode iterator.
31347
31348 2022-01-13  Martin Liska  <mliska@suse.cz>
31349
31350         * common/config/arm/arm-common.c (arm_target_mode): Wrap
31351         keywords with %<, %> and remove trailing punctuation char.
31352         (arm_canon_arch_option_1): Likewise.
31353         (arm_asm_auto_mfpu): Likewise.
31354         * config/arm/arm-builtins.c (arm_expand_builtin): Likewise.
31355         * config/arm/arm.c (arm_options_perform_arch_sanity_checks): Likewise.
31356         (use_vfp_abi): Likewise.
31357         (aapcs_vfp_is_call_or_return_candidate): Likewise.
31358         (arm_handle_cmse_nonsecure_entry): Likewise.
31359         (arm_handle_cmse_nonsecure_call): Likewise.
31360         (thumb1_md_asm_adjust): Likewise.
31361
31362 2022-01-13  Paul A. Clarke  <pc@us.ibm.com>
31363
31364         * config/rs6000/smmintrin.h (_mm_round_pd, _mm_round_ps,
31365         _mm_round_sd, _mm_round_ss, _MM_FROUND_TO_NEAREST_INT,
31366         _MM_FROUND_TO_ZERO, _MM_FROUND_TO_POS_INF, _MM_FROUND_TO_NEG_INF,
31367         _MM_FROUND_CUR_DIRECTION, _MM_FROUND_RAISE_EXC, _MM_FROUND_NO_EXC,
31368         _MM_FROUND_NINT, _MM_FROUND_FLOOR, _MM_FROUND_CEIL, _MM_FROUND_TRUNC,
31369         _MM_FROUND_RINT, _MM_FROUND_NEARBYINT): New.
31370         (_mm_ceil_pd, _mm_ceil_ps, _mm_ceil_sd, _mm_ceil_ss, _mm_floor_pd,
31371         _mm_floor_ps, _mm_floor_sd, _mm_floor_ss): Convert from function to
31372         macro.
31373
31374 2022-01-13  Jakub Jelinek  <jakub@redhat.com>
31375
31376         PR tree-optimization/103989
31377         * tree-inline.c (setup_one_parameter): Don't copy parms with
31378         empty type.
31379
31380 2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
31381
31382         * tree-streamer-out.c (pack_ts_base_value_fields): Don't pack
31383         'TYPE_ADDR_SPACE' for offloading.
31384         * tree-streamer-in.c (unpack_ts_base_value_fields): Don't unpack
31385         'TYPE_ADDR_SPACE' for offloading.
31386
31387 2022-01-13  Julian Brown  <julian@codesourcery.com>
31388             Thomas Schwinge  <thomas@codesourcery.com>
31389
31390         * omp-oacc-kernels-decompose.cc (add_wait): New function, split out
31391         of...
31392         (add_async_clauses_and_wait): ...here. Call new outlined function.
31393         (decompose_kernels_region_body): Add wait at the end of
31394         explicitly-asynchronous kernels regions.
31395
31396 2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
31397
31398         PR middle-end/100280
31399         * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
31400         Mark variables used in synthesized data clauses as addressable.
31401
31402 2022-01-13  Martin Liska  <mliska@suse.cz>
31403
31404         * config/epiphany/epiphany.c (epiphany_mode_priority):
31405         Use gcc_unreachable for not handled cases.
31406
31407 2022-01-13  Martin Liska  <mliska@suse.cz>
31408
31409         * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
31410         Use %qs format specifier.
31411         (epiphany_override_options): Wrap keyword in %<, %>.
31412
31413 2022-01-13  Haochen Jiang  <haochen.jiang@intel.com>
31414
31415         PR target/94790
31416         * config/i386/i386.md (*xor2andn): New define_insn_and_split.
31417
31418 2022-01-13  Xionghu Luo  <luoxhu@linux.ibm.com>
31419
31420         * config/rs6000/altivec.md (sldoi_to_mov<mode>): New.
31421
31422 2022-01-12  Uroš Bizjak  <ubizjak@gmail.com>
31423
31424         PR target/100637
31425         PR target/103861
31426         * config/i386/i386-expand.c (ix86_emit_vec_binop): New static function.
31427         (ix86_expand_sse_movcc): Use ix86_emit_vec_binop instead of gen_rtx_X
31428         when constructing vector logic RTXes.
31429         (expand_vec_perm_pshufb2): Ditto.
31430         * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
31431         (<plusminus:insn>v2qi3): Ditto.
31432         (vcond<mode><mode>): Re-enable for TARGET_SSE2.
31433         (vcondu<mode><mode>): Ditto.
31434         (vcond_mask_<mode><mode>): Ditto.
31435         (one_cmpl<VI_32:mode>2): Remove expander.
31436         (one_cmpl<VI_16_32:mode>2): Rename from one_cmplv2qi.
31437         Use VI_16_32 mode iterator.
31438         (one_cmpl<VI_16_32:mode>2 splitters): Use VI_16_32 mode iterator.
31439         Use lowpart_subreg instead of gen_lowpart to create subreg.
31440         (*andnot<VI_16_32:mode>3): Merge from "*andnot<VI_32:mode>" and
31441         "*andnotv2qi3" insn patterns using VI_16_32 mode iterator.
31442         Disparage GPR alternative a bit.  Add CC clobber.
31443         (*andnot<VI_16_32:mode>3 splitters): Use VI_16_32 mode iterator.
31444         Use lowpart_subreg instead of gen_lowpart to create subreg.
31445         (*<any_logic:code><VI_16_32:mode>3): Merge from
31446         "*<any_logic:code><VI_32:mode>" and "*<any_logic:code>v2qi3" insn patterns
31447         using VI_16_32 mode iterator.  Disparage GPR alternative a bit.
31448         Add CC clobber.
31449         (*<any_logic:code><VI_16_32:mode>3 splitters):Use VI_16_32 mode
31450         iterator.  Use lowpart_subreg instead of gen_lowpart to create subreg.
31451
31452 2022-01-12  Clément Chigot  <clement.chigot@atos.net>
31453
31454         * configure.ac: Check sizeof ino_t and dev_t.
31455         (HOST_STAT_FOR_64BIT_INODES): New AC_DEFINE to provide stat
31456         syscall being able to handle 64bit inodes.
31457         * config.in: Regenerate.
31458         * configure: Regenerate.
31459         * incpath.c (HOST_STAT_FOR_64BIT_INODES): New define.
31460         (remove_duplicates): Use it.
31461
31462 2022-01-12  Andrew MacLeod  <amacleod@redhat.com>
31463
31464         PR tree-optimization/103551
31465         * tree-vrp.c (execute_ranger_vrp): Always set EDGE_EXECUTABLE.
31466
31467 2022-01-12  Richard Biener  <rguenther@suse.de>
31468
31469         PR tree-optimization/103990
31470         * tree-pass.h (tail_merge_optimize): Drop unused argument.
31471         * tree-ssa-tail-merge.c (tail_merge_optimize): Likewise.
31472         * tree-ssa-pre.c (pass_pre::execute): Retain TODO_cleanup_cfg
31473         and adjust call to tail_merge_optimize.
31474
31475 2022-01-12  Andre Vieira  <andre.simoesdiasvieira@arm.com>
31476
31477         * tree-vect-loop.c (vect-analyze-loop): Handle scenario where target
31478         does not add autovectorize_vector_modes.
31479
31480 2022-01-12  Martin Liska  <mliska@suse.cz>
31481
31482         * config/aarch64/aarch64.c (aarch64_parse_boolean_options): Use
31483         %qs where possible.
31484         (aarch64_parse_sve_width_string): Likewise.
31485         (aarch64_override_options_internal): Likewise.
31486         (aarch64_print_hint_for_extensions): Likewise.
31487         (aarch64_validate_sls_mitigation): Likewise.
31488         (aarch64_handle_attr_arch): Likewise.
31489         (aarch64_handle_attr_cpu): Likewise.
31490         (aarch64_handle_attr_tune): Likewise.
31491         (aarch64_handle_attr_isa_flags): Likewise.
31492
31493 2022-01-12  Martin Liska  <mliska@suse.cz>
31494
31495         * config.gcc: Include elfos.h before ${tm_file}.
31496
31497 2022-01-12  Hans-Peter Nilsson  <hp@axis.com>
31498
31499         * config/cris/cris.c: Quote identifiers in parameters to error
31500         and internal_error, and remove extraneous spaces with punctuation.
31501         * config/cris/cris.h (CRIS_ASSERT): When passing on stringified
31502         expression to internal_error, pass it as a parameter instead of
31503         appending it to the format part.
31504
31505 2022-01-12  Hans-Peter Nilsson  <hp@axis.com>
31506
31507         * config/cris/cris.c (cris_postdbr_cmpelim): Parenthesize
31508         parameter to as_a.
31509
31510 2022-01-11  qing zhao  <qing.zhao@oracle.com>
31511
31512         * gimplify.c (gimple_add_init_for_auto_var): Delete the 3rd argument.
31513         Change the 3rd argument of function .DEFERRED_INIT to the name of the
31514         decl.
31515         (gimplify_decl_expr): Delete the 3rd argument when call
31516         gimple_add_init_for_auto_var.
31517         * internal-fn.c (expand_DEFERRED_INIT): Update comments to reflect
31518         the 3rd argument change of function .DEFERRED_INIT.
31519         * tree-cfg.c (verify_gimple_call): Update comments and verification
31520         to reflect the 3rd argument change of function .DEFERRED_INIT.
31521         * tree-sra.c (generate_subtree_deferred_init): Delete the 3rd argument.
31522         (sra_modify_deferred_init): Change the 3rd argument of function
31523         .DEFERRED_INIT to the name of the decl.
31524
31525 2022-01-11  Thomas Koenig  <tkoenig@gcc.gnu.org>
31526
31527         * flag-types.h (enum gfc_convert): Add flags for
31528         conversion.
31529
31530 2022-01-11  Michael Meissner  <meissner@the-meissners.org>
31531
31532         * config/rs6000/rs6000.c (rs6000_option_override_internal): Remove
31533         checks for only C/C++ front ends before allowing the long double
31534         format to change without a warning.
31535
31536 2022-01-11  Richard Sandiford  <richard.sandiford@arm.com>
31537
31538         PR rtl-optimization/103974
31539         * ira-int.h (ira_subloop_allocnos_can_differ_p): Take an
31540         extra argument, default true, that says whether old-reload
31541         targets should be excluded.
31542         * ira-color.c (color_pass): Pass false.
31543
31544 2022-01-11  Uroš Bizjak  <ubizjak@gmail.com>
31545
31546         PR target/103861
31547         * config/i386/mmx.md (vcond<mode><mode>):
31548         Use VI_16_32 mode iterator.  Enable for TARGET_SSE4_1.
31549         (vcondu<mode><mode>): Ditto.
31550         (vcond_mask_<mode><mode>): Ditto.
31551         (mmx_pblendvb_v8qi): Rename from mmx_pblendvb64.
31552         (mmx_pblendvb_<mode>): Rename from mmx_pblendvb32.
31553         Use VI_16_32 mode iterator.
31554         * config/i386/i386-expand.c (ix86_expand_sse_movcc):
31555         Update for rename.  Handle V2QImode.
31556         (expand_vec_perm_blend): Update for rename.
31557
31558 2022-01-11  Jakub Jelinek  <jakub@redhat.com>
31559
31560         PR c++/101597
31561         * tree.def (OBJ_TYPE_REF): Document type of OBJ_TYPE_REF_TOKEN.
31562
31563 2022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
31564
31565         PR middle-end/70090
31566         * tree-object-size.c (size_valid_p): New function.
31567         (size_for_offset): Remove OFFSET constness assertion.
31568         (addr_object_size): Build dynamic expressions for object
31569         sizes and use size_valid_p to decide if it is valid for the
31570         given OBJECT_SIZE_TYPE.
31571         (compute_builtin_object_size): Allow dynamic offsets when
31572         computing size at O0.
31573         (call_object_size): Call size_valid_p.
31574         (plus_stmt_object_size): Allow non-constant offset and use
31575         size_valid_p to decide if it is valid for the given
31576         OBJECT_SIZE_TYPE.
31577
31578 2022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
31579
31580         PR middle-end/70090
31581         * tree-object-size.c (alloc_object_size): Make and return
31582         non-constant size expression.
31583         (call_object_size): Return expression or unknown based on
31584         whether dynamic object size is requested.
31585
31586 2022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
31587
31588         PR middle-end/70090
31589         * tree-object-size.c: Include tree-dfa.h.
31590         (parm_object_size): New function.
31591         (collect_object_sizes_for): Call it.
31592
31593 2022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
31594
31595         PR middle-end/70090
31596         * builtins.c (fold_builtin_object_size): Adjust for dynamic size
31597         expressions.
31598         * tree-object-size.c: Include gimplify-me.h.
31599         (struct object_size_info): New member UNKNOWNS.
31600         (size_initval_p, size_usable_p, object_sizes_get_raw): New
31601         functions.
31602         (object_sizes_get): Return suitable gimple variable for
31603         object size.
31604         (bundle_sizes): New function.
31605         (object_sizes_set): Use it and handle dynamic object size
31606         expressions.
31607         (object_sizes_set_temp): New function.
31608         (size_for_offset): Adjust for dynamic size expressions.
31609         (emit_phi_nodes, propagate_unknowns, gimplify_size_expressions):
31610         New functions.
31611         (compute_builtin_object_size): Call gimplify_size_expressions
31612         for OST_DYNAMIC.
31613         (dynamic_object_size): New function.
31614         (cond_expr_object_size): Use it.
31615         (phi_dynamic_object_size): New function.
31616         (collect_object_sizes_for): Call it for OST_DYNAMIC.  Adjust to
31617         accommodate dynamic object sizes.
31618
31619 2022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
31620             Jakub Jelinek  <jakub@redhat.com>
31621
31622         PR tree-optimization/103961
31623         * tree-object-size.c (plus_stmt_object_size): Always avoid
31624         computing offset for -1 size.
31625
31626 2022-01-11  Andrew MacLeod  <amacleod@redhat.com>
31627
31628         PR tree-optimization/103821
31629         * range-op.cc (range_operator::fold_range): Only do precise ranges
31630         when there are not too many subranges.
31631
31632 2022-01-11  Richard Sandiford  <richard.sandiford@arm.com>
31633
31634         * ira-costs.c (ira_tune_allocno_costs): Fix missing rclass
31635         definition in IRA_HARD_REGNO_ADD_COST_MULTIPLIER code.
31636
31637 2022-01-11  Roger Sayle  <roger@nextmovesoftware.com>
31638             Richard Biener  <rguenther@suse.de>
31639
31640         * tree-ssa-math-opts.c (struct widen_mul_stats): Add a
31641         highpart_mults_inserted field.
31642         (convert_mult_to_highpart): New function to convert right shift
31643         of a widening multiply into a MULT_HIGHPART_EXPR.
31644         (math_opts_dom_walker::after_dom_children) [RSHIFT_EXPR]:
31645         Call new convert_mult_to_highpart function.
31646         (pass_optimize_widening_mul::execute): Add a statistics counter
31647         for tracking "highpart multiplications inserted" events.
31648
31649 2022-01-11  Xionghu Luo  <luoxhu@linux.ibm.com>
31650
31651         PR target/102239
31652         * config/rs6000/rs6000-protos.h (rs6000_is_valid_rotate_dot_mask): New
31653         declare.
31654         * config/rs6000/rs6000.c (rs6000_is_valid_rotate_dot_mask): New
31655         function.
31656         * config/rs6000/rs6000.md (*branch_anddi3_dot): New.
31657
31658 2022-01-11  Olivier Hainque  <hainque@adacore.com>
31659
31660         * gcc.c (driver_handle_option): State --sysroot as
31661         validated.
31662
31663 2022-01-11  Kewen Lin  <linkw@linux.ibm.com>
31664
31665         * config/rs6000/rs6000.c (rs6000_disable_incompatible_switches): Remove
31666         useless related to option -mno-power10.
31667
31668 2022-01-11  Haochen Jiang  <haochen.jiang@intel.com>
31669
31670         PR target/53652
31671         * config/i386/sse.md (*andnot<mode>3): Extend predicate of
31672         operands[1] from register_operand to vector_operand.
31673
31674 2022-01-10  Uroš Bizjak  <ubizjak@gmail.com>
31675
31676         PR target/103861
31677         * config/i386/i386-expand.c (ix86_expand_int_sse_cmp):
31678         Handle V2QImode.
31679         * config/i386/mmx.md (<sat_plusminus:insn><mode>3):
31680         Use VI1_16_32 mode iterator.
31681         (*eq<mode>3): Ditto.
31682         (*gt<mode>3): Ditto.
31683         (*xop_maskcmp<mode>3): Ditto.
31684         (*xop_maskcmp_uns<mode>3): Ditto.
31685         (vec_cmp<mode><mode>): Ditto.
31686         (vec_cmpu<mode><mode>): Ditto.
31687
31688 2022-01-10  Richard Biener  <rguenther@suse.de>
31689
31690         PR tree-optimization/103948
31691         * tree-vect-generic.c (expand_vector_condition): Return true if
31692         all ones vector is returned for true, all zeros vector for false
31693         and the target defines corresponding vec_cmp{,u}MN named RTX pattern.
31694
31695 2022-01-10  Paul A. Clarke  <pc@us.ibm.com>
31696
31697         * config/rs6000/smmintrin.h (_mm_blendv_epi8): Use vec_blendv
31698         when _ARCH_PWR10. Use signed types.
31699         (_mm_blendv_ps): Use vec_blendv when _ARCH_PWR10.
31700         (_mm_blendv_pd): Likewise.
31701
31702 2022-01-10  Andre Vieira  <andre.simoesdiasvieira@arm.com>
31703
31704         * tree-vectorizer.c (better_epilogue_loop_than_p): Round factors up for
31705         epilogue costing.
31706         * tree-vect-loop.c (vect_analyze_loop): Re-analyze all modes for
31707         epilogues, unless we are guaranteed that we can't have partial vectors.
31708         * genopinit.c: (partial_vectors_supported): Generate new function.
31709
31710 2022-01-10  Jakub Jelinek  <jakub@redhat.com>
31711
31712         PR target/102024
31713         * config/i386/i386.c (classify_argument): Add zero_width_bitfields
31714         argument, when seeing DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD bitfields,
31715         always ignore them, when seeing other zero sized bitfields, either
31716         set zero_width_bitfields to 1 and ignore it or if equal to 2 process
31717         it.  Pass it to recursive calls.  Add wrapper
31718         with old arguments and diagnose ABI differences for C structures
31719         with zero width bitfields.  Formatting fixes.
31720
31721 2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
31722
31723         PR rtl-optimization/98782
31724         * ira-int.h (ira_soft_conflict): Declare.
31725         * ira-color.c (max_soft_conflict_loop_depth): New constant.
31726         (ira_soft_conflict): New function.
31727         (spill_soft_conflicts): Likewise.
31728         (assign_hard_reg): Use them to handle the case described by
31729         the comment above ira_soft_conflict.
31730         (improve_allocation): Likewise.
31731         * ira.c (check_allocation): Allow allocnos with "soft" conflicts
31732         to share the same register.
31733
31734 2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
31735
31736         PR rtl-optimization/98782
31737         * ira-int.h (ira_caller_save_cost): New function.
31738         (ira_caller_save_loop_spill_p): Likewise.
31739         * ira-build.c (ira_propagate_hard_reg_costs): Test whether it is
31740         cheaper to spill a call-clobbered register throughout a loop rather
31741         than spill it around each individual call.  If so, treat all
31742         call-clobbered registers as conflicts and...
31743         (propagate_allocno_info): ...do not propagate call information
31744         from the child to the parent.
31745         * ira-color.c (move_spill_restore): Update accordingly.
31746         * ira-costs.c (ira_tune_allocno_costs): Use ira_caller_save_cost.
31747
31748 2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
31749
31750         PR rtl-optimization/98782
31751         * ira-int.h (ira_allocno::might_conflict_with_parent_p): New field.
31752         (ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P): New macro.
31753         (ira_single_region_allocno_p): New function.
31754         (ira_total_conflict_hard_regs): Likewise.
31755         * ira-build.c (ira_create_allocno): Initialize
31756         ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P.
31757         (ira_propagate_hard_reg_costs): New function.
31758         (propagate_allocno_info): Use it.  Try to avoid propagating
31759         hard register conflicts to parent allocnos if we can handle
31760         the conflicts by spilling instead.  Limit the propagated
31761         register costs to the cost of spilling throughout the child loop.
31762         * ira-color.c (color_pass): Use ira_single_region_allocno_p to
31763         test whether a child and parent allocno can share the same
31764         register.
31765         (move_spill_restore): Adjust for the new behavior of
31766         propagate_allocno_info.
31767
31768 2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
31769
31770         PR rtl-optimization/98782
31771         * ira-int.h (ira_subloop_allocnos_can_differ_p): New function,
31772         extracted from...
31773         * ira-color.c (color_pass): ...here.
31774
31775 2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
31776
31777         PR rtl-optimization/98782
31778         * ira-color.c (color_pass): Add comments to describe the spill costs.
31779         (move_spill_restore): Likewise.  Fix reversed calculation.
31780
31781 2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
31782
31783         PR rtl-optimization/98782
31784         * ira-int.h (ira_loop_border_costs): New class.
31785         * ira-color.c (ira_loop_border_costs::ira_loop_border_costs):
31786         New constructor.
31787         (calculate_allocno_spill_cost): Use ira_loop_border_costs.
31788         (color_pass): Likewise.
31789         (move_spill_restore): Likewise.
31790
31791 2022-01-10  Eric Botcazou  <ebotcazou@adacore.com>
31792
31793         PR target/103465
31794         * coretypes.h (unwind_info_type): Swap UI_SEH and UI_TARGET.
31795
31796 2022-01-10  Richard Biener  <rguenther@suse.de>
31797
31798         PR tree-optimization/100359
31799         * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
31800         Allow non-growing peeling with !allow_peel and UL_ALL.
31801
31802 2022-01-08  Roger Sayle  <roger@nextmovesoftware.com>
31803
31804         * config/i386/i386-expand.c (ix86_expand_vector_move): Add
31805         special case for TImode to V1TImode moves, going via V2DImode.
31806
31807 2022-01-08  Jakub Jelinek  <jakub@redhat.com>
31808
31809         PR c++/89074
31810         * match.pd ((ptr) (x p+ y) p+ z -> (ptr) (x p+ (y + z))): New GENERIC
31811         simplification.
31812
31813 2022-01-08  David Malcolm  <dmalcolm@redhat.com>
31814
31815         * doc/analyzer.texi
31816         (Special Functions for Debugging the Analyzer): Document
31817         __analyzer_dump_escaped.
31818
31819 2022-01-08  David Malcolm  <dmalcolm@redhat.com>
31820
31821         * doc/analyzer.texi (Other Debugging Techniques): Document
31822         region::is_named_decl_p.
31823
31824 2022-01-07  Andrew Pinski  <apinski@marvell.com>
31825
31826         PR target/102941
31827         * config/arm/aarch-common.c (arm_md_asm_adjust):
31828         Use a temp if !REG_P.
31829
31830 2022-01-07  Uroš Bizjak  <ubizjak@gmail.com>
31831
31832         * config/i386/mmx.md (*move<V_32:mode>_internal): Add isa attribute.
31833         (*movv2qi_internal): Remve sse2 requirement for alternatives 4,5.
31834
31835 2022-01-07  liuhongt  <hongtao.liu@intel.com>
31836
31837         PR rtl-optimization/103750
31838         * fwprop.c (forward_propagate_into): Allow propagations from
31839         inner loop to outer loop.
31840
31841 2022-01-07  Roger Sayle  <roger@nextmovesoftware.com>
31842
31843         * config/nvptx/nvptx.md (*cnot<mode>2): New define_insn.
31844
31845 2022-01-07  Haochen Gui  <guihaoc@gcc.gnu.org>
31846
31847         * config/rs6000/rs6000.md (rs6000_mffscrni): Define.
31848         (rs6000_set_fpscr_rn): Change the type of operand[0] from DI to SI.
31849         Call gen_rs6000_mffscrni when operand[0] is a const_0_to_3_operand.
31850
31851 2022-01-07  liuhongt  <hongtao.liu@intel.com>
31852
31853         * config/i386/sse.md
31854         (*<avx512>_eq<mode>3<mask_scalar_merge_name>_1): Extend to
31855         UNSPEC_PCMP_UNSIGNED.
31856
31857 2022-01-07  liuhongt  <hongtao.liu@intel.com>
31858
31859         PR target/103753
31860         * config/i386/i386-expand.c (ix86_expand_vector_set): Not use
31861         gen_avx2_pblendph_1 when elt == 0.
31862         * config/i386/sse.md (avx2_pblendph): Rename to ..
31863         (avx2_pblend<ssemodesuffix>_1).. this, and extend to V16HI.
31864         (*avx2_pblendw): Rename to ..
31865         (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
31866         (avx2_pblendw): Rename to ..
31867         (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
31868         (blendsuf): Removed.
31869         (sse4_1_pblend<blendsuf>): Renamed to ..
31870         (sse4_1_pblend<ssemodesuffix>): .. this.
31871
31872 2022-01-06  H.J. Lu  <hjl.tools@gmail.com>
31873
31874         PR target/103925
31875         * config/i386/i386.c (ix86_output_indirect_function_return):
31876         Generate INT3 after indirect jmp for -mharden-sls=indirect-jmp.
31877
31878 2022-01-06  H.J. Lu  <hjl.tools@gmail.com>
31879
31880         PR target/102952
31881         * config/i386/i386-opts.h (harden_sls): Replace
31882         harden_sls_indirect_branch with harden_sls_indirect_jmp.
31883         * config/i386/i386.c (ix86_output_jmp_thunk_or_indirect):
31884         Likewise.
31885         (ix86_output_indirect_jmp): Likewise.
31886         (ix86_output_call_insn): Likewise.
31887         * config/i386/i386.opt: Replace indirect-branch with
31888         indirect-jmp.  Replace harden_sls_indirect_branch with
31889         harden_sls_indirect_jmp.
31890         * doc/invoke.texi (-harden-sls=): Replace indirect-branch with
31891         indirect-jmp.
31892
31893 2022-01-06  Uroš Bizjak  <ubizjak@gmail.com>
31894
31895         * config/i386/i386.c (ix86_output_ssemov) <MODE_DI>:
31896         Add %q modifier for operands in general registers.
31897         <MODE_SI>: Add %q modifier for operands in general registers.
31898         * config/i386/i386.md (*movhi_internal): Change type attribute of
31899         xmm-gpr interunit alternatives 9,10 to ssemov and mode attribute
31900         to SImode for non-avx512fp16 targets.
31901         (*movhf_internal): Ditto for xmm-gpr interunit alternatives 6,8.
31902         * config/i386/mmx.md (*movv2qi_internal):
31903         Ditto for xmm-gpr interunit alternatives 8,9.
31904
31905 2022-01-06  Kito Cheng  <kito.cheng@sifive.com>
31906
31907         * common/config/riscv/riscv-common.c (riscv_implied_info): Add
31908         vector extensions.
31909         (riscv_ext_version_table): Add version info for vector extensions.
31910         (riscv_ext_flag_table): Add option mask for vector extensions.
31911         * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): New.
31912         (MASK_VECTOR_EEW_64): New.
31913         (MASK_VECTOR_EEW_FP_32): New.
31914         (MASK_VECTOR_EEW_FP_64): New.
31915         (MASK_ZVL32B): New.
31916         (MASK_ZVL64B): New.
31917         (MASK_ZVL128B): New.
31918         (MASK_ZVL256B): New.
31919         (MASK_ZVL512B): New.
31920         (MASK_ZVL1024B): New.
31921         (MASK_ZVL2048B): New.
31922         (MASK_ZVL4096B): New.
31923         (MASK_ZVL8192B): New.
31924         (MASK_ZVL16384B): New.
31925         (MASK_ZVL32768B): New.
31926         (MASK_ZVL65536B): New.
31927         (TARGET_ZVL32B): New.
31928         (TARGET_ZVL64B): New.
31929         (TARGET_ZVL128B): New.
31930         (TARGET_ZVL256B): New.
31931         (TARGET_ZVL512B): New.
31932         (TARGET_ZVL1024B): New.
31933         (TARGET_ZVL2048B): New.
31934         (TARGET_ZVL4096B): New.
31935         (TARGET_ZVL8192B): New.
31936         (TARGET_ZVL16384B): New.
31937         (TARGET_ZVL32768B): New.
31938         (TARGET_ZVL65536B): New.
31939         * config/riscv/riscv.opt (Mask(VECTOR)): New.
31940         (riscv_vector_eew_flags): New.
31941         (riscv_zvl_flags): New.
31942
31943 2022-01-06  Kito Cheng  <kito.cheng@sifive.com>
31944
31945         * common/config/riscv/riscv-common.c
31946         (riscv_subset_list::parse_multiletter_ext): Allow ext. name has
31947         digit.
31948
31949 2022-01-06  Jakub Jelinek  <jakub@redhat.com>
31950
31951         PR tree-optimization/103899
31952         * expr.c (expand_expr_real_1): Add a workaround for bogus uninit
31953         warning by moving context variable to the only spot where it is used
31954         and moving gcc_assert into if body.
31955
31956 2022-01-06  Jakub Jelinek  <jakub@redhat.com>
31957
31958         PR rtl-optimization/103908
31959         * ifcvt.c (bb_valid_for_noce_process_p): Punt on bbs ending with
31960         asm goto.
31961
31962 2022-01-05  Bill Schmidt  <wschmidt@linux.ibm.com>
31963
31964         PR target/103622
31965         * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
31966         Skip over instances with undefined function types.
31967
31968 2022-01-05  Andrew Pinski  <apinski@marvell.com>
31969
31970         PR target/103910
31971         * config/i386/i386.h (x86_mfence): Mark with GTY.
31972
31973 2022-01-05  Uroš Bizjak  <ubizjak@gmail.com>
31974
31975         PR target/103861
31976         * config/i386/mmx.md (VI_16_32): New mode iterator.
31977         (VI1_16_32): Ditto.
31978         (mmxvecsize): Handle V2QI mode.
31979         (<smaxmin:code><mode>3): Rename from <smaxmin:code>v4qi3.
31980         Use VI1_16_32 mode iterator.
31981         (<umaxmin:code><mode>3): Rename from <umaxmin:code>v4qi3.
31982         Use VI1_16_32 mode iterator.
31983         (abs<mode>2): Use VI_16_32 mode iterator.
31984         (uavgv2qi3_ceil): New insn pattern.
31985
31986 2022-01-05  Martin Sebor  <msebor@redhat.com>
31987
31988         * gimple-ssa-warn-access.cc (pass_waccess::maybe_warn_memmodel): Use
31989         %qs to avoid -Wformat-diag.
31990
31991 2022-01-05  Uroš Bizjak  <ubizjak@gmail.com>
31992
31993         PR target/103915
31994         * config/i386/mmx.md (one_cmplv2qi2): Change
31995         alternatives 1,2 type from sselog to sselog1.
31996
31997 2022-01-05  Uroš Bizjak  <ubizjak@gmail.com>
31998
31999         PR target/103905
32000         * config/i386/i386-expand.c (expand_vec_perm_pshufb): Fix number of
32001         narrow mode remapped elements for !one_operand_p case.
32002
32003 2022-01-05  Richard Biener  <rguenther@suse.de>
32004
32005         PR tree-optimization/103816
32006         * tree-vect-data-refs.c (vect_analyze_group_access_1): Also
32007         check DR_GROUP_GAP compute for overflow and representability.
32008
32009 2022-01-05  Jakub Jelinek  <jakub@redhat.com>
32010
32011         PR fortran/103691
32012         * gimple-fold.c (fold_stmt_1): Don't call maybe_fold_reference
32013         for DEBUG stmts with ADDR_EXPR gimple_debug_bind_get_value,
32014         it can do unwanted rhs folding like &a[0] into &2.0 etc.
32015
32016 2022-01-05  Kewen Lin  <linkw@linux.ibm.com>
32017
32018         PR ipa/102059
32019         * config/rs6000/rs6000.c (TARGET_NEED_IPA_FN_TARGET_INFO): New macro.
32020         (TARGET_UPDATE_IPA_FN_TARGET_INFO): Likewise.
32021         (rs6000_need_ipa_fn_target_info): New function.
32022         (rs6000_update_ipa_fn_target_info): Likewise.
32023         (rs6000_can_inline_p): Adjust for ipa function summary target info.
32024         * config/rs6000/rs6000.h (RS6000_FN_TARGET_INFO_HTM): New macro.
32025         * ipa-fnsummary.c (ipa_dump_fn_summary): Adjust for ipa function
32026         summary target info.
32027         (analyze_function_body): Adjust for ipa function summary target info
32028         and call hook rs6000_need_ipa_fn_target_info and
32029         rs6000_update_ipa_fn_target_info.
32030         (ipa_merge_fn_summary_after_inlining): Adjust for ipa function summary
32031         target info.
32032         (inline_read_section): Likewise.
32033         (ipa_fn_summary_write): Likewise.
32034         * ipa-fnsummary.h (ipa_fn_summary::target_info): New member.
32035         * doc/tm.texi: Regenerate.
32036         * doc/tm.texi.in (TARGET_UPDATE_IPA_FN_TARGET_INFO): Document new hook.
32037         (TARGET_NEED_IPA_FN_TARGET_INFO): Likewise.
32038         * target.def (update_ipa_fn_target_info): New hook.
32039         (need_ipa_fn_target_info): Likewise.
32040         * targhooks.c (default_need_ipa_fn_target_info): New function.
32041         (default_update_ipa_fn_target_info): Likewise.
32042         * targhooks.h (default_update_ipa_fn_target_info): New declare.
32043         (default_need_ipa_fn_target_info): Likewise.
32044
32045 2022-01-04  Martin Sebor  <msebor@redhat.com>
32046
32047         PR middle-end/99612
32048         * builtins.c (get_memmodel): Move warning code to
32049         gimple-ssa-warn-access.cc.
32050         (expand_builtin_atomic_compare_exchange): Same.
32051         (expand_ifn_atomic_compare_exchange): Same.
32052         (expand_builtin_atomic_load): Same.
32053         (expand_builtin_atomic_store): Same.
32054         (expand_builtin_atomic_clear): Same.
32055         * doc/extend.texi (__atomic_exchange_n): Update valid memory
32056         models.
32057         * gimple-ssa-warn-access.cc (memmodel_to_uhwi): New function.
32058         (struct memmodel_pair): New struct.
32059         (memmodel_name): New function.
32060         (pass_waccess::maybe_warn_memmodel): New function.
32061         (pass_waccess::check_atomic_memmodel): New function.
32062         (pass_waccess::check_atomic_builtin): Handle memory model.
32063         * input.c (expansion_point_location_if_in_system_header): Return
32064         original location if expansion location is in a system header.
32065
32066 2022-01-04  Uroš Bizjak  <ubizjak@gmail.com>
32067
32068         PR target/103861
32069         * config/i386/mmx.md (one_cmplv2qi3): New insn pattern.
32070         (one_cmplv2qi3 splitters): New post-reload splitters.
32071         (*andnotv2qi3): New insn pattern.
32072         (andnotv2qi3 splitters): New post-reload splitters.
32073         (<any_logic:code>v2qi3): New insn pattern.
32074         (<any_logic:insn>v2qi3 splitters): New post-reload splitters.
32075
32076 2022-01-04  Richard Biener  <rguenther@suse.de>
32077
32078         PR tree-optimization/103800
32079         * tree-vect-loop.c (vectorizable_phi): Remove assert and
32080         expand comment.
32081
32082 2022-01-04  Richard Biener  <rguenther@suse.de>
32083
32084         PR tree-optimization/103690
32085         * tree-pass.h (tail_merge_optimize): Adjust.
32086         * tree-ssa-tail-merge.c (tail_merge_optimize): Pass in whether
32087         to re-split critical edges, move CFG cleanup ...
32088         * tree-ssa-pre.c (pass_pre::execute): ... here, before
32089         simple_dce_from_worklist and delay freeing inserted_exprs from
32090         ...
32091         (fini_pre): .. here.
32092
32093 2022-01-04  Roger Sayle  <roger@nextmovesoftware.com>
32094
32095         * config/nvptx/nvptx.h (STORE_FLAG_VALUE): Change to 1.
32096         * config/nvptx/nvptx.md (movbi): Use P1 constraint for true.
32097         (setcc_from_bi): Remove SImode specific pattern.
32098         (setcc<mode>_from_bi): Provide more general HSDIM pattern.
32099         (extendbi<mode>2, zeroextendbi<mode>2): Provide instructions
32100         for sign- and zero-extending BImode predicates to integers.
32101         (setcc_int<mode>): Remove previous (-1-based) instructions.
32102         (cstorebi4): Remove BImode to SImode specific expander.
32103         (cstore<mode>4): Fix indentation.  Expand using setccsi_from_bi.
32104         (cstore<mode>4): For both integer and floating point modes.
32105
32106 2022-01-04  Olivier Hainque  <hainque@adacore.com>
32107
32108         * gcc.c (driver_handle_option): do_save --sysroot.
32109
32110 2022-01-04  Richard Biener  <rguenther@suse.de>
32111
32112         PR tree-optimization/103864
32113         PR tree-optimization/103544
32114         * tree-vect-slp.c (vect_analyze_slp_instance): Exclude
32115         reductions wrapped in conversions from SLP handling.
32116         (vect_analyze_slp): Revert PR103544 change.
32117
32118 2022-01-04  Jakub Jelinek  <jakub@redhat.com>
32119
32120         PR rtl-optimization/103860
32121         * shrink-wrap.c (try_shrink_wrapping): Don't call can_get_prologue
32122         uselessly for blocks for which it has been called already.
32123
32124 2022-01-04  Cui,Lili  <lili.cui@intel.com>
32125
32126         * common/config/i386/cpuinfo.h (get_intel_cpu): Add new model values
32127         to Alderlake and Rocketlake.
32128
32129 2022-01-04  Chung-Lin Tang  <cltang@codesourcery.com>
32130
32131         PR middle-end/103643
32132         * gimplify.c (gimplify_omp_affinity): Adjust gimplify_expr of entire
32133         OMP_CLAUSE_DECL to use 'is_gimple_lvalue, fb_lvalue'
32134
32135 2022-01-04  liuhongt  <hongtao.liu@intel.com>
32136
32137         PR target/103895
32138         * config/i386/sse.md (*bit_and_float_vector_all_ones):
32139         Force_reg operand 1 to avoid ICE.
32140
32141 2022-01-04  Jason Merrill  <jason@redhat.com>
32142
32143         * tree-pretty-print.c (do_niy): Add spc parameter.
32144         (NIY): Pass it.
32145         (print_call_name): Add spc local variable.
32146
32147 2022-01-03  Uroš Bizjak  <ubizjak@gmail.com>
32148
32149         PR target/103894
32150         * config/i386/mmx.md (mov<V_32:mode>): Remove TARGET_SSE2 constraint.
32151         (mov<V_32:mode>_internal): Ditto.
32152         (*push<V_32:mode>_rex64): Ditto.
32153         (movmisalign<V_32:mode>): Ditto.
32154         (*push<V_32:mode>_rex64 splitter): Enable for
32155         TARGET_64BIT && TARGET_SSE.
32156         (*push<V_32:mode>2): Remove insn pattern.
32157
32158 2022-01-03  Andrew Pinski  <apinski@marvell.com>
32159
32160         PR c/33193
32161         * doc/extend.texi: Extend the documentation about Complex
32162         types for casting and also rewrite the __real__/__imag__
32163         expression portion to use tables.
32164         Move __builtin_complex to the Complex type section.
32165
32166 2022-01-03  Jakub Jelinek  <jakub@redhat.com>
32167
32168         PR target/98737
32169         * internal-fn.def (ATOMIC_ADD_FETCH_CMP_0, ATOMIC_SUB_FETCH_CMP_0,
32170         ATOMIC_AND_FETCH_CMP_0, ATOMIC_OR_FETCH_CMP_0, ATOMIC_XOR_FETCH_CMP_0):
32171         New internal fns.
32172         * internal-fn.h (ATOMIC_OP_FETCH_CMP_0_EQ, ATOMIC_OP_FETCH_CMP_0_NE,
32173         ATOMIC_OP_FETCH_CMP_0_LT, ATOMIC_OP_FETCH_CMP_0_LE,
32174         ATOMIC_OP_FETCH_CMP_0_GT, ATOMIC_OP_FETCH_CMP_0_GE): New enumerators.
32175         * internal-fn.c (expand_ATOMIC_ADD_FETCH_CMP_0,
32176         expand_ATOMIC_SUB_FETCH_CMP_0, expand_ATOMIC_AND_FETCH_CMP_0,
32177         expand_ATOMIC_OR_FETCH_CMP_0, expand_ATOMIC_XOR_FETCH_CMP_0): New
32178         functions.
32179         * optabs.def (atomic_add_fetch_cmp_0_optab,
32180         atomic_sub_fetch_cmp_0_optab, atomic_and_fetch_cmp_0_optab,
32181         atomic_or_fetch_cmp_0_optab, atomic_xor_fetch_cmp_0_optab): New
32182         direct optabs.
32183         * builtins.h (expand_ifn_atomic_op_fetch_cmp_0): Declare.
32184         * builtins.c (expand_ifn_atomic_op_fetch_cmp_0): New function.
32185         * tree-ssa-ccp.c: Include internal-fn.h.
32186         (optimize_atomic_bit_test_and): Add . before internal fn call
32187         in function comment.  Change return type from void to bool and
32188         return true only if successfully replaced.
32189         (optimize_atomic_op_fetch_cmp_0): New function.
32190         (pass_fold_builtins::execute): Use optimize_atomic_op_fetch_cmp_0
32191         for BUILT_IN_ATOMIC_{ADD,SUB,AND,OR,XOR}_FETCH_{1,2,4,8,16} and
32192         BUILT_IN_SYNC_{ADD,SUB,AND,OR,XOR}_AND_FETCH_{1,2,4,8,16},
32193         for *XOR* ones only if optimize_atomic_bit_test_and failed.
32194         * config/i386/sync.md (atomic_<plusminus_mnemonic>_fetch_cmp_0<mode>,
32195         atomic_<logic>_fetch_cmp_0<mode>): New define_expand patterns.
32196         (atomic_add_fetch_cmp_0<mode>_1, atomic_sub_fetch_cmp_0<mode>_1,
32197         atomic_<logic>_fetch_cmp_0<mode>_1): New define_insn patterns.
32198         * doc/md.texi (atomic_add_fetch_cmp_0<mode>,
32199         atomic_sub_fetch_cmp_0<mode>, atomic_and_fetch_cmp_0<mode>,
32200         atomic_or_fetch_cmp_0<mode>, atomic_xor_fetch_cmp_0<mode>): Document
32201         new named patterns.
32202
32203 2022-01-03  Richard Biener  <rguenther@suse.de>
32204
32205         PR middle-end/103851
32206         * tree-cfg.c (move_sese_region_to_fn): Always release SSA names.
32207
32208 2022-01-03  Jakub Jelinek  <jakub@redhat.com>
32209
32210         PR c++/94716
32211         * symtab.c: Include fold-const.h.
32212         (symtab_node::equal_address_to): If folding_initializer is true,
32213         handle it like memory_accessed.  Simplify.
32214
32215 2022-01-03  Martin Liska  <mliska@suse.cz>
32216
32217         * doc/extend.texi: Use ; for function declarations.
32218
32219 2022-01-03  Jakub Jelinek  <jakub@redhat.com>
32220
32221         PR c++/103600
32222         * symtab.c (symtab_node::equal_address_to): Return 0 if one of
32223         VAR_DECLs has "non overlapping" attribute and rs1 != rs2.
32224
32225 2022-01-03  Jakub Jelinek  <jakub@redhat.com>
32226
32227         * gcc.c (process_command): Update copyright notice dates.
32228         * gcov-dump.c (print_version): Ditto.
32229         * gcov.c (print_version): Ditto.
32230         * gcov-tool.c (print_version): Ditto.
32231         * gengtype.c (create_file): Ditto.
32232         * doc/cpp.texi: Bump @copying's copyright year.
32233         * doc/cppinternals.texi: Ditto.
32234         * doc/gcc.texi: Ditto.
32235         * doc/gccint.texi: Ditto.
32236         * doc/gcov.texi: Ditto.
32237         * doc/install.texi: Ditto.
32238         * doc/invoke.texi: Ditto.
32239
32240 2022-01-02  Uroš Bizjak  <ubizjak@gmail.com>
32241
32242         PR target/103861
32243         * config/i386/i386.h (VALID_SSE2_REG_MODE): Add V2QImode.
32244         (VALID_INT_MODE_P): Ditto.
32245         * config/i386/i386.c (ix86_secondary_reload): Handle
32246         V2QImode reloads from SSE register to memory.
32247         (vector_mode_supported_p): Always return true for V2QImode.
32248         * config/i386/i386.md (*subqi_ext<mode>_2): New insn pattern.
32249         (*negqi_ext<mode>_2): Ditto.
32250         * config/i386/mmx.md (movv2qi): New expander.
32251         (movmisalignv2qi): Ditto.
32252         (*movv2qi_internal): New insn pattern.
32253         (*pushv2qi2): Ditto.
32254         (negv2qi2 and splitters): Ditto.
32255         (<plusminus:insn>v2qi3 and splitters): Ditto.
32256
32257 2022-01-02  John David Anglin  <danglin@gcc.gnu.org>
32258
32259         * config/pa/pa.md (atomic_storeq): Use optab_libfunc to access
32260         sync_lock_test_and_set libfunc. Call convert_memory_address to
32261         convert memory address to Pmode.
32262         (atomic_storehi, atomic_storesi, atomic_storedi): Likewise.
32263
32264 \f
32265 Copyright (C) 2022 Free Software Foundation, Inc.
32266
32267 Copying and distribution of this file, with or without modification,
32268 are permitted in any medium without royalty provided the copyright
32269 notice and this notice are preserved.