]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/ChangeLog
changelog: Fix extra space after tab.
[thirdparty/gcc.git] / gcc / ChangeLog
1 2022-11-20 Jakub Jelinek <jakub@redhat.com>
2
3 PR target/107183
4 * reg-stack.cc (next_flags_user): Add DEBUG_SEEN argument.
5 If >= 0 and a DEBUG_INSN would be otherwise returned, set
6 DEBUG_SEEN to 1 and ignore it.
7 (swap_rtx_condition): Add DEBUG_SEEN argument. In >= 0
8 mode only set DEBUG_SEEN to 1 if problematic DEBUG_ISNSs
9 were seen and revert all changes on success in that case.
10 Don't try to recog_memoized DEBUG_INSNs.
11 (compare_for_stack_reg): Adjust swap_rtx_condition caller.
12 If it returns true and debug_seen is 1, call swap_rtx_condition
13 again with debug_seen -1.
14
15 2022-11-20 Jeff Law <jlaw@ventanamicro.com>
16
17 PR other/104044
18 * config/mn10300/mn10300.cc (mn10300_print_operand): Remove
19 extraneous semicolon.
20 * config/nvptx/nvptx.cc (nvptx_goacc_reduction_fini): Likewise.
21
22 2022-11-19 Andrew Pinski <apinski@marvell.com>
23
24 PR middle-end/14840
25 * tree-core.h (tree_code_type): Constexprify
26 by including all-tree.def.
27 (tree_code_length): Likewise.
28 * tree.cc (tree_code_type): Remove.
29 (tree_code_length): Remove.
30
31 2022-11-19 Thomas Schwinge <thomas@codesourcery.com>
32
33 * config/nvptx/nvptx.h (STARTFILE_SPEC): Fix 'crt0.o' for
34 '-mmainkernel'.
35
36 2022-11-19 Jonathan Wakely <jwakely@redhat.com>
37 LIU Hao <lh_mouse@126.com>
38
39 * system.h [INCLUDE_MUTEX]: Include header for std::mutex.
40
41 2022-11-19 Jakub Jelinek <jakub@redhat.com>
42
43 PR target/107628
44 * config/i386/i386-protos.h (ix86_expand_fast_convert_bf_to_sf):
45 Declare.
46 * config/i386/i386-expand.cc (ix86_expand_fast_convert_bf_to_sf): New
47 function.
48 * config/i386/i386.md (cbranchbf4, cstorebf4): Use it.
49
50 2022-11-19 Jeff Chapman II <jchapman@lock3software.com>
51 Andrew Sutton <asutton@lock3software.com>
52 Andrew Marmaduke <amarmaduke@lock3software.com>
53 Michael Lopez <mlopez@lock3software.com>
54 Jason Merrill <jason@redhat.com>
55
56 * doc/invoke.texi: Document contracts flags.
57
58 2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu>
59
60 * config/riscv/bitmanip.md (*minmax): Additional pattern for
61 min/max against constants that are extension-invariant.
62 * config/riscv/iterators.md (minmax_optab): Add an iterator
63 that has only min and max rtl.
64
65 2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu>
66
67 * config/riscv/bitmanip.md
68 (*branch<X:mode>_mask_twobits_equals_singlebit):
69 Handle "if ((a & T) == C)" using Zbs, when T has 2 bits set and C
70 has one of these tow bits set.
71 * config/riscv/predicates.md (const_twobits_not_arith_operand):
72 New predicate.
73
74 2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu>
75
76 * config/riscv/bitmanip.md (*<or_optab>i<mode>_extrabit):
77 New pattern for binvi+binvi/xori and bseti+bseti/ori
78 (*andi<mode>_extrabit): New pattern for bclri+bclri/andi
79 * config/riscv/iterators.md (any_or): Match or and ior
80 * config/riscv/predicates.md (const_twobits_operand):
81 New predicate.
82 (uimm_extra_bit_operand): New predicate.
83 (uimm_extra_bit_or_twobits): New predicate.
84 (not_uimm_extra_bit_operand): New predicate.
85 (not_uimm_extra_bit_or_nottwobits): New predicate.
86 * config/riscv/riscv.h (UIMM_EXTRA_BIT_OPERAND):
87 Helper for the uimm_extra_bit_operand and
88 not_uimm_extra_bit_operand predicates.
89
90 2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu>
91
92 * config/riscv/bitmanip.md: Handle corner-cases for combine
93 when chaining slli(.uw)? + addw
94 * config/riscv/riscv-protos.h (riscv_shamt_matches_mask_p):
95 Define prototype.
96 * config/riscv/riscv.cc (riscv_shamt_matches_mask_p):
97 Helper for evaluating the relationship between two operands.
98
99 2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu>
100
101 * config/riscv/bitmanip.md: Add a define_split to optimize
102 slliw + addiw + divw into sh[123]add + divw.
103
104 2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu>
105
106 * config/riscv/predicates.md (shifted_const_arith_operand): New predicate.
107 (uimm_extra_bit_operand): New predicate.
108 * config/riscv/riscv.md (*branch<ANYI:mode>_shiftedarith_equals_zero):
109 New pattern.
110 (*branch<ANYI:mode>_shiftedmask_equals_zero): New pattern.
111
112 2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu>
113
114 * config/riscv/bitmanip.md (*bsetidisi): New pattern.
115
116 2022-11-18 Richard Purdie <richard.purdie@linuxfoundation.org>
117
118 * doc/invoke.texi: Document prefix-maps don't affect directives.
119
120 2022-11-18 Andrew Pinski <apinski@marvell.com>
121
122 PR middle-end/107705
123 * function.cc (aggregate_value_p): Return 0 if
124 the function type was an error operand.
125
126 2022-11-18 Andrew Pinski <apinski@marvell.com>
127
128 PR c/106764
129 PR c/106765
130 PR c/107307
131 * gimplify.cc (gimplify_compound_lval): Return GS_ERROR
132 if gimplify_expr had return GS_ERROR.
133 (gimplify_call_expr): Likewise.
134
135 2022-11-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
136
137 * config/aarch64/atomics.md (*aarch64_atomic_load<ALLX:mode>_rcpc_sext):
138 Use <GPI:w> for destination format.
139 * config/aarch64/iterators.md (w_sz): Delete.
140
141 2022-11-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
142
143 * config/aarch64/aarch64.h (TARGET_RCPC2): Define.
144 * config/aarch64/atomics.md (*aarch64_atomic_load<ALLX:mode>_rcpc_zext):
145 Adjust output template.
146 (*aarch64_atomic_load<ALLX:mode>_rcpc_sex): Guard on TARGET_RCPC2.
147 Adjust output template.
148 * config/aarch64/iterators.md (w_sz): New mode attr.
149
150 2022-11-18 Richard Biener <rguenther@suse.de>
151
152 PR tree-optimization/107647
153 * tree-vect-slp-patterns.cc (addsub_pattern::recognize): Only
154 allow FMA generation with -ffp-contract=fast for FP types.
155 (complex_mul_pattern::matches): Likewise.
156
157 2022-11-18 Jinyang He <hejinyang@loongson.cn>
158
159 PR target/107713
160 * config/loongarch/sync.md
161 (atomic_cas_value_exchange_7_<mode>): New define_insn.
162 (atomic_exchange): Use atomic_cas_value_exchange_7_si instead of
163 atomic_cas_value_cmp_and_7_si.
164
165 2022-11-17 Andrew Pinski <apinski@marvell.com>
166
167 PR middle-end/107734
168 * match.pd (perm + vector op pattern): Clear the sbitmap before
169 use.
170
171 2022-11-17 Aldy Hernandez <aldyh@redhat.com>
172
173 PR tree-optimization/107732
174 * range-op-float.cc (foperator_abs::op1_range): Early exit when
175 result is undefined.
176
177 2022-11-17 Philipp Tomsich <philipp.tomsich@vrull.eu>
178
179 * config/riscv/bitmanip.md (*bclri<mode>_nottwobits): New pattern.
180 (*bclridisi_nottwobits): New pattern, handling the sign-bit.
181 * config/riscv/predicates.md (const_nottwobits_operand):
182 New predicate.
183
184 2022-11-17 Philipp Tomsich <philipp.tomsich@vrull.eu>
185
186 * config/riscv/bitmanip.md: Add a splitter to generate
187 polarity-reversed masks from a set bit using bexti + addi.
188
189 2022-11-17 mtsamis <manolis.tsamis@vrull.eu>
190
191 * config/riscv/riscv.cc (struct machine_function): Add array to store
192 register wrapping information.
193 (riscv_for_each_saved_reg): Skip registers that are wrapped separetely.
194 (riscv_get_separate_components): New function.
195 (riscv_components_for_bb): Likewise.
196 (riscv_disqualify_components): Likewise.
197 (riscv_process_components): Likewise.
198 (riscv_emit_prologue_components): Likewise.
199 (riscv_emit_epilogue_components): Likewise.
200 (riscv_set_handled_components): Likewise.
201 (TARGET_SHRINK_WRAP_GET_SEPARATE_COMPONENTS): Define.
202 (TARGET_SHRINK_WRAP_COMPONENTS_FOR_BB): Likewise.
203 (TARGET_SHRINK_WRAP_DISQUALIFY_COMPONENTS): Likewise.
204 (TARGET_SHRINK_WRAP_EMIT_PROLOGUE_COMPONENTS): Likewise.
205 (TARGET_SHRINK_WRAP_EMIT_EPILOGUE_COMPONENTS): Likewise.
206 (TARGET_SHRINK_WRAP_SET_HANDLED_COMPONENTS): Likewise.
207
208 2022-11-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
209
210 * config/aarch64/atomics.md (*aarch64_atomic_load<ALLX:mode>_rcpc_zext):
211 Add mode size check to condition.
212 (*aarch64_atomic_load<ALLX:mode>_rcpc_sext): Likewise.
213
214 2022-11-17 Aldy Hernandez <aldyh@redhat.com>
215
216 PR tree-optimization/68097
217 * gimple-fold.cc (gimple_stmt_nonnegative_warnv_p): Call
218 range_of_stmt for floats.
219
220 2022-11-17 Lili Cui <lili.cui@intel.com>
221
222 * config/i386/x86-tune.def
223 (X86_TUNE_AVX256_MOVE_BY_PIECES): Add alderlake.
224 (X86_TUNE_AVX256_STORE_BY_PIECES): Ditto.
225
226 2022-11-17 Tamar Christina <tamar.christina@arm.com>
227
228 PR tree-optimization/107717
229 * match.pd: Ensure same SSA_NAME.
230
231 2022-11-17 Tamar Christina <tamar.christina@arm.com>
232
233 * match.pd: Replace GET_MODE_WIDER_MODE with
234 custom code.
235
236 2022-11-17 Aldy Hernandez <aldyh@redhat.com>
237
238 * range-op-float.cc (range_operator_float::fold_range): Make check
239 for maybe_isnan more readable.
240
241 2022-11-17 Kewen Lin <linkw@linux.ibm.com>
242
243 * gimple-fold.cc (gimple_fold_partial_load_store_mem_ref): Use
244 tree_fits_shwi_p rather than tree_fits_uhwi_p as bias is signed.
245
246 2022-11-17 Jia-Wei Chen <jiawei@iscas.ac.cn>
247
248 * config/riscv/riscv.cc (riscv_expand_epilogue):
249 Do not emit useless add sp, sp, 0 instrutions.
250
251 2022-11-17 Jeff Law <jlaw@ventanamicro.com>
252
253 * config/sh/sh_treg_combine.cc: Include tm-preds.h.
254 (t_reg_operand): Remove bogus prototype.
255 (negt_reg_operand): Likewise.
256
257 2022-11-16 Marek Polacek <polacek@redhat.com>
258
259 PR c++/106649
260 * doc/invoke.texi: Document -Winvalid-constexpr.
261
262 2022-11-16 Philipp Tomsich <philipp.tomsich@vrull.eu>
263
264 * config/riscv/bitmanip.md: Add split covering
265 "(a & (1 << BIT_NO)) ? 0 : 1".
266
267 2022-11-16 Philipp Tomsich <philipp.tomsich@vrull.eu>
268
269 * config/riscv/bitmanip.md (*bext<mode>): Add an additional
270 pattern that allows the 3rd argument to zero_extract to be
271 an Xmode register operand.
272
273 2022-11-16 Richard Biener <rguenther@suse.de>
274
275 PR tree-optimization/107686
276 * tree-ssa-forwprop.cc (optimize_vector_load): Restrict
277 VEC_UNPACK support to integral typed bitfield refs.
278
279 2022-11-16 Richard Biener <rguenther@suse.de>
280
281 PR middle-end/107679
282 * tree-into-ssa.cc (maybe_register_def): Use new temporary if
283 we require an uninitialized value for a parameter decl.
284
285 2022-11-16 Alexander Monakov <amonakov@ispras.ru>
286
287 PR target/107676
288 * doc/invoke.texi (-mrelax-cmpxchg-loop): Reword description.
289
290 2022-11-16 Alexander Monakov <amonakov@ispras.ru>
291
292 PR target/87832
293 * config/i386/znver.md: (znver1_fp_op_mul): Correct cycles in
294 the reservation.
295 (znver1_fp_op_mul_load): Ditto.
296 (znver1_mmx_mul): Ditto.
297 (znver1_mmx_load): Ditto.
298 (znver1_ssemul_ss_ps): Ditto.
299 (znver1_ssemul_ss_ps_load): Ditto.
300 (znver1_ssemul_avx256_ps): Ditto.
301 (znver1_ssemul_avx256_ps_load): Ditto.
302 (znver1_ssemul_sd_pd): Ditto.
303 (znver1_ssemul_sd_pd_load): Ditto.
304 (znver2_ssemul_sd_pd): Ditto.
305 (znver2_ssemul_sd_pd_load): Ditto.
306 (znver1_ssemul_avx256_pd): Ditto.
307 (znver1_ssemul_avx256_pd_load): Ditto.
308 (znver1_sseimul): Ditto.
309 (znver1_sseimul_avx256): Ditto.
310 (znver1_sseimul_load): Ditto.
311 (znver1_sseimul_avx256_load): Ditto.
312 (znver1_sseimul_di): Ditto.
313 (znver1_sseimul_load_di): Ditto.
314
315 2022-11-16 Alexander Monakov <amonakov@ispras.ru>
316
317 PR target/87832
318 * config/i386/znver.md (znver1_fdiv): New automaton.
319 (znver1-fdiv): New unit.
320 (znver1_fp_op_div): Correct unit and cycles in the reservation.
321 (znver1_fp_op_div_load): Ditto.
322 (znver1_fp_op_idiv_load): Ditto.
323 (znver2_fp_op_idiv_load): Ditto.
324 (znver1_ssediv_ss_ps): Ditto.
325 (znver1_ssediv_ss_ps_load): Ditto.
326 (znver1_ssediv_sd_pd): Ditto.
327 (znver1_ssediv_sd_pd_load): Ditto.
328 (znver1_ssediv_avx256_ps): Ditto.
329 (znver1_ssediv_avx256_ps_load): Ditto.
330 (znver1_ssediv_avx256_pd): Ditto.
331 (znver1_ssediv_avx256_pd_load): Ditto.
332
333 2022-11-16 Tobias Burnus <tobias@codesourcery.com>
334 Andrew Stubbs <ams@codesourcery.com>
335
336 * config/gcn/gcn-builtins.def (KERNARG_PTR): Add.
337 * config/gcn/gcn.cc (gcn_init_builtin_types): Change siptr_type_node,
338 sfptr_type_node and voidptr_type_node from FLAT to ADDR_SPACE_DEFAULT.
339 (gcn_expand_builtin_1): Handle GCN_BUILTIN_KERNARG_PTR.
340 (gcn_oacc_dim_size): Return in ADDR_SPACE_FLAT.
341
342 2022-11-16 David Malcolm <dmalcolm@redhat.com>
343
344 * Makefile.in (ANALYZER_OBJS): Add analyzer/checker-event.o.
345
346 2022-11-16 Max Filippov <jcmvbkbc@gmail.com>
347
348 PR target/107645
349 * config/m68k/predicates.md (symbolic_operand): Return false
350 when UNSPEC is under the CONST node.
351
352 2022-11-16 Christoph Müllner <christoph.muellner@vrull.eu>
353
354 * doc/invoke.texi: Fix PRU/RISC-V option list formatting.
355
356 2022-11-16 Tobias Burnus <tobias@codesourcery.com>
357
358 * config/nvptx/mkoffload.cc (process): Recognize '$nohost$...'
359 besides tailing '$nohost' as being for reverse offload.
360
361 2022-11-16 Jakub Jelinek <jakub@redhat.com>
362
363 PR tree-optimization/107668
364 * range-op-float.cc (float_binary_op_range_finish): Set VARYING
365 also when r is UNDEFINED.
366
367 2022-11-16 Kewen Lin <linkw@linux.ibm.com>
368
369 PR rtl-optimization/90259
370 * function.cc (rest_of_handle_thread_prologue_and_epilogue): Add
371 parameter fun, and call function purge_all_dead_edges.
372 (pass_thread_prologue_and_epilogue::execute): Name unamed parameter
373 as fun, and use it for rest_of_handle_thread_prologue_and_epilogue.
374
375 2022-11-15 Philipp Tomsich <philipp.tomsich@vrull.eu>
376
377 * config/riscv/riscv-builtins.cc (struct riscv_builtin_description):
378 add the pause machine-dependent builtin with no result and no
379 arguments; mark it as always present (pause is a true hint
380 that encodes into a fence-insn, if not supported with the new
381 pause semantics).
382 * config/riscv/riscv-ftypes.def: Add type for void -> void.
383 * config/riscv/riscv.md (riscv_pause): Add risc_pause and
384 UNSPECV_PAUSE
385 * doc/extend.texi: Document __builtin_riscv_pause.
386 * optabs.cc (maybe_gen_insn): Allow nops == 0 (void -> void).
387
388 2022-11-15 David Faust <david.faust@oracle.com>
389
390 * config/bpf/bpf.cc (bpf_expand_builtin): Avoid use of uninitialized
391 variable in error case.
392
393 2022-11-15 David Malcolm <dmalcolm@redhat.com>
394
395 PR analyzer/106140
396 * doc/invoke.texi (Static Analyzer Options): Add
397 -Wanalyzer-fd-phase-mismatch and -Wanalyzer-fd-type-mismatch. Add
398 "socket", "bind", "listen", "accept", and "connect" to the list of
399 functions known to the analyzer.
400
401 2022-11-15 David Malcolm <dmalcolm@redhat.com>
402
403 PR analyzer/106302
404 * Makefile.in (ANALYZER_OBJS): Add analyzer/analyzer-language.o.
405 (GTFILES): Add analyzer/analyzer-language.cc.
406 * doc/analyzer.texi: Document __analyzer_dump_named_constant.
407
408 2022-11-15 Lewis Hyatt <lhyatt@gmail.com>
409
410 * json.h (class string): Add M_LEN member to store the length of
411 the data. Add constructor taking an explicit length.
412 * json.cc (string::string): Implement the new constructor.
413 (string::print): Support printing strings that are not
414 null-terminated. Escape embdedded null bytes on output.
415 (test_writing_strings): Test the new null-byte-related features of
416 json::string.
417
418 2022-11-15 Lewis Hyatt <lhyatt@gmail.com>
419
420 * diagnostic.cc (diagnostic_get_location_text): Use
421 special_fname_builtin () rather than a hardcoded string (which was
422 also incorrectly left untranslated previously.)
423 * input.cc (special_fname_builtin): New function.
424 (expand_location_1): Use special_fname_builtin () rather than a
425 hard-coded string.
426 (test_builtins): Likewise.
427 * input.h (special_fname_builtin): Declare.
428
429 2022-11-15 Lewis Hyatt <lhyatt@gmail.com>
430
431 * tree-diagnostic.cc (maybe_unwind_expanded_macro_loc): Handle ad-hoc
432 location in return value of linemap_resolve_location().
433
434 2022-11-15 Jonathan Wakely <jwakely@redhat.com>
435
436 * doc/cpp.texi (Pragmas): Use @item and @itemx for region
437 pragmas.
438
439 2022-11-15 Maciej W. Rozycki <macro@embecosm.com>
440
441 * ira-color.cc (assign_hard_reg): Remove duplicate `memset' over
442 `full_costs'.
443
444 2022-11-15 Andre Vieira <andre.simoesdiasvieira@arm.com>
445
446 * config/aarch64/atomics.md
447 (*aarch64_atomic_load<ALLX:mode>_rcpc_zext): New pattern.
448 (*aarch64_atomic_load<ALLX:mode>_rcpc_sext): New pattern.
449
450 2022-11-15 Andre Vieira <andre.simoesdiasvieira@arm.com>
451 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
452
453 * config/aarch64/aarch64.h (AARCH64_ISA_RCPC): New Macro.
454 (TARGET_RCPC): New Macro.
455 * config/aarch64/atomics.md (atomic_load<mode>): Change into an expand.
456 (aarch64_atomic_load<mode>_rcpc): New define_insn for ldapr.
457 (aarch64_atomic_load<mode>): Rename of old define_insn for ldar.
458 * config/aarch64/iterators.md (UNSPEC_LDAP): New unspec enum value.
459 * doc/invoke.texi (rcpc): Ammend documentation to mention the effects
460 on code generation.
461
462 2022-11-15 Hongyu Wang <hongyu.wang@intel.com>
463
464 PR target/98167
465 * match.pd: New perm + vector op patterns for int and fp vector.
466
467 2022-11-15 Andrew Pinski <apinski@marvell.com>
468
469 * doc/invoke.texi: Remove Score option section.
470
471 2022-11-15 Andrew Pinski <apinski@marvell.com>
472
473 * doc/extend.texi: Remove picoChip builtin section.
474 * doc/invoke.texi: Remove picoChip option section.
475
476 2022-11-15 Andrew Pinski <apinski@marvell.com>
477
478 * doc/extend.texi: Remove MeP documentation.
479 * doc/invoke.texi: Remove MeP Options documentation.
480
481 2022-11-15 Andrew Pinski <apinski@marvell.com>
482
483 * doc/invoke.texi: Fix opindex for mcall-aixdesc and mcall-openbsd.
484
485 2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
486
487 Revert:
488 2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
489
490 * config/riscv/riscv-cores.def (RISCV_TUNE): Add ventana-vt1.
491 (RISCV_CORE): Ditto.
492 * config/riscv/riscv-opts.h (enum riscv_microarchitecture_type): Ditto.
493 * config/riscv/riscv.cc: Add tune_info for ventana-vt1.
494 * doc/invoke.texi: Document -mcpu= and -mtune with ventana-vt1.
495
496 2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
497
498 Revert:
499 2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
500
501 * config/riscv/riscv.cc (enum riscv_fusion_pairs): Add symbolic
502 constants to identify supported fusion patterns.
503 (struct riscv_tune_param): Add fusible_op field.
504 (riscv_macro_fusion_p): Implement.
505 (riscv_fusion_enabled_p): Implement.
506 (riscv_macro_fusion_pair_p): Implement and recognize fusible
507 idioms for Ventana VT1.
508 (TARGET_SCHED_MACRO_FUSION_P): Point to riscv_macro_fusion_p.
509 (TARGET_SCHED_MACRO_FUSION_PAIR_P): Point to
510 riscv_macro_fusion_pair_p.
511
512 2022-11-14 Maciej W. Rozycki <macro@embecosm.com>
513
514 * ira-build.cc (create_insn_allocnos): Fix documentation.
515
516 2022-11-14 Tamar Christina <tamar.christina@arm.com>
517
518 * match.pd: Remove returns.
519
520 2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
521
522 * config/riscv/bitmanip.md (orcb<mode>2): Add orc.b as an
523 unspec.
524 * config/riscv/riscv.md: Add UNSPEC_ORC_B.
525
526 2022-11-14 Tamar Christina <tamar.christina@arm.com>
527
528 * target.def: Fix typo.
529
530 2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
531
532 * config/riscv/riscv.cc (enum riscv_fusion_pairs): Add symbolic
533 constants to identify supported fusion patterns.
534 (struct riscv_tune_param): Add fusible_op field.
535 (riscv_macro_fusion_p): Implement.
536 (riscv_fusion_enabled_p): Implement.
537 (riscv_macro_fusion_pair_p): Implement and recognize fusible
538 idioms for Ventana VT1.
539 (TARGET_SCHED_MACRO_FUSION_P): Point to riscv_macro_fusion_p.
540 (TARGET_SCHED_MACRO_FUSION_PAIR_P): Point to
541 riscv_macro_fusion_pair_p.
542
543 2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
544
545 * config/riscv/riscv-cores.def (RISCV_TUNE): Add ventana-vt1.
546 (RISCV_CORE): Ditto.
547 * config/riscv/riscv-opts.h (enum riscv_microarchitecture_type): Ditto.
548 * config/riscv/riscv.cc: Add tune_info for ventana-vt1.
549 * doc/invoke.texi: Document -mcpu= and -mtune with ventana-vt1.
550
551 2022-11-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
552
553 * config/aarch64/aarch64-option-extensions.def (cssc): Define.
554 * config/aarch64/aarch64.h (AARCH64_ISA_CSSC): Define.
555 (TARGET_CSSC): Likewise.
556 * config/aarch64/aarch64.md (*aarch64_abs<mode>2_cssc_ins): New define_insn.
557 (abs<mode>2): Adjust for the above.
558 (aarch64_umax<mode>3_insn): New define_insn.
559 (umax<mode>3): Adjust for the above.
560 (*aarch64_popcount<mode>2_cssc_insn): New define_insn.
561 (popcount<mode>2): Adjust for the above.
562 (<optab><mode>3): New define_insn.
563 * config/aarch64/constraints.md (Usm): Define.
564 (Uum): Likewise.
565 * doc/invoke.texi (AArch64 options): Document +cssc.
566 * config/aarch64/iterators.md (MAXMIN_NOUMAX): New code iterator.
567 * config/aarch64/predicates.md (aarch64_sminmax_immediate): Define.
568 (aarch64_sminmax_operand): Likewise.
569 (aarch64_uminmax_immediate): Likewise.
570 (aarch64_uminmax_operand): Likewise.
571
572 2022-11-14 Tamar Christina <tamar.christina@arm.com>
573
574 * config/aarch64/aarch64-sve2.md (@aarch64_bitmask_udiv<mode>3): New.
575
576 2022-11-14 Tamar Christina <tamar.christina@arm.com>
577
578 * config/aarch64/aarch64-simd.md (@aarch64_bitmask_udiv<mode>3): New.
579 * config/aarch64/aarch64.cc (aarch64_vectorize_can_special_div_by_constant): New.
580
581 2022-11-14 Tamar Christina <tamar.christina@arm.com>
582
583 * expmed.h (expand_divmod): Pass tree operands down in addition to RTX.
584 * expmed.cc (expand_divmod): Likewise.
585 * explow.cc (round_push, align_dynamic_address): Likewise.
586 * expr.cc (force_operand, expand_expr_divmod): Likewise.
587 * optabs.cc (expand_doubleword_mod, expand_doubleword_divmod):
588 Likewise.
589 * target.h: Include tree-core.
590 * target.def (can_special_div_by_const): New.
591 * targhooks.cc (default_can_special_div_by_const): New.
592 * targhooks.h (default_can_special_div_by_const): New.
593 * tree-vect-generic.cc (expand_vector_operation): Use it.
594 * doc/tm.texi.in: Document it.
595 * doc/tm.texi: Regenerate.
596 * tree-vect-patterns.cc (vect_recog_divmod_pattern): Check for support.
597 * tree-vect-stmts.cc (vectorizable_operation): Likewise.
598
599 2022-11-14 Tamar Christina <tamar.christina@arm.com>
600
601 * generic-match-head.cc: Include langooks.
602 * gimple-match-head.cc: Likewise.
603 * match.pd: Add fneg/fadd rule.
604
605 2022-11-14 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
606
607 * config/arm/arm-cpus.in (cortex-x1c): Define new CPU.
608 * config/arm/arm-tables.opt: Regenerate.
609 * config/arm/arm-tune.md: Likewise.
610 * doc/invoke.texi: Document Cortex-X1C CPU.
611
612 2022-11-14 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
613
614 * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add Cortex-X3
615 CPU.
616 * config/aarch64/aarch64-tune.md: Regenerate.
617 * doc/invoke.texi: Document Cortex-X3 CPU.
618
619 2022-11-14 Andrew Pinski <apinski@marvell.com>
620
621 * doc/invoke.texi: Fix @opindex
622 for m80387 option.
623
624 2022-11-14 Andrew Pinski <apinski@marvell.com>
625
626 * doc/invoke.texi: Remove the front - from
627 some @opindex.
628
629 2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
630
631 * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add ampere1a.
632 * config/aarch64/aarch64-cost-tables.h: Add ampere1a_extra_costs.
633 * config/aarch64/aarch64-fusion-pairs.def (AARCH64_FUSION_PAIR):
634 Define a new fusion pair for A+B+1/A-B-1 (i.e., add/subtract two
635 registers and then +1/-1).
636 * config/aarch64/aarch64-tune.md: Regenerate.
637 * config/aarch64/aarch64.cc (aarch_macro_fusion_pair_p): Implement
638 idiom-matcher for the new fusion pair.
639 * doc/invoke.texi: Add ampere1a.
640
641 2022-11-14 Richard Biener <rguenther@suse.de>
642
643 * match.pd: Remove duplicates.
644
645 2022-11-14 Martin Liska <mliska@suse.cz>
646
647 * doc/contrib.texi: Port from Sphinx.
648 * doc/cpp.texi: Likewise.
649 * doc/install.texi: Likewise.
650 * doc/invoke.texi: Likewise.
651
652 2022-11-14 Martin Liska <mliska@suse.cz>
653
654 Revert:
655 2022-11-14 Martin Liska <mliska@suse.cz>
656
657 * doc/cpp/character-sets.rst: New file.
658 * doc/cpp/conditional-syntax.rst: New file.
659 * doc/cpp/conditional-uses.rst: New file.
660 * doc/cpp/conditionals.rst: New file.
661 * doc/cpp/conf.py: New file.
662 * doc/cpp/copyright.rst: New file.
663 * doc/cpp/deleted-code.rst: New file.
664 * doc/cpp/diagnostics.rst: New file.
665 * doc/cpp/environment-variables.rst: New file.
666 * doc/cpp/gnu-free-documentation-license.rst: New file.
667 * doc/cpp/header-files.rst: New file.
668 * doc/cpp/header-files/alternatives-to-wrapper-ifndef.rst: New file.
669 * doc/cpp/header-files/computed-includes.rst: New file.
670 * doc/cpp/header-files/include-operation.rst: New file.
671 * doc/cpp/header-files/include-syntax.rst: New file.
672 * doc/cpp/header-files/once-only-headers.rst: New file.
673 * doc/cpp/header-files/search-path.rst: New file.
674 * doc/cpp/header-files/system-headers.rst: New file.
675 * doc/cpp/header-files/wrapper-headers.rst: New file.
676 * doc/cpp/implementation-defined-behavior.rst: New file.
677 * doc/cpp/implementation-details.rst: New file.
678 * doc/cpp/implementation-limits.rst: New file.
679 * doc/cpp/index.rst: New file.
680 * doc/cpp/indices-and-tables.rst: New file.
681 * doc/cpp/initial-processing.rst: New file.
682 * doc/cpp/invocation.rst: New file.
683 * doc/cpp/line-control.rst: New file.
684 * doc/cpp/macros.rst: New file.
685 * doc/cpp/macros/concatenation.rst: New file.
686 * doc/cpp/macros/directives-within-macro-arguments.rst: New file.
687 * doc/cpp/macros/function-like-macros.rst: New file.
688 * doc/cpp/macros/macro-arguments.rst: New file.
689 * doc/cpp/macros/macro-pitfalls.rst: New file.
690 * doc/cpp/macros/object-like-macros.rst: New file.
691 * doc/cpp/macros/predefined-macros.rst: New file.
692 * doc/cpp/macros/stringizing.rst: New file.
693 * doc/cpp/macros/undefining-and-redefining-macros.rst: New file.
694 * doc/cpp/macros/variadic-macros.rst: New file.
695 * doc/cpp/obsolete-features.rst: New file.
696 * doc/cpp/other-directives.rst: New file.
697 * doc/cpp/overview.rst: New file.
698 * doc/cpp/pragmas.rst: New file.
699 * doc/cpp/preprocessor-output.rst: New file.
700 * doc/cpp/the-preprocessing-language.rst: New file.
701 * doc/cpp/tokenization.rst: New file.
702 * doc/cpp/traditional-lexical-analysis.rst: New file.
703 * doc/cpp/traditional-macros.rst: New file.
704 * doc/cpp/traditional-miscellany.rst: New file.
705 * doc/cpp/traditional-mode.rst: New file.
706 * doc/cpp/traditional-warnings.rst: New file.
707 * doc/cppinternals/conf.py: New file.
708 * doc/cppinternals/copyright.rst: New file.
709 * doc/cppinternals/cppinternals.rst: New file.
710 * doc/cppinternals/cpplib.rst: New file.
711 * doc/cppinternals/files.rst: New file.
712 * doc/cppinternals/index.rst: New file.
713 * doc/cppinternals/indices-and-tables.rst: New file.
714 * doc/cppinternals/internal-representation-of-macros.rst: New file.
715 * doc/cppinternals/just-which-line-number-anyway.rst: New file.
716 * doc/cppinternals/lexing-a-line.rst: New file.
717 * doc/cppinternals/lexing-a-token.rst: New file.
718 * doc/cppinternals/looking-for-a-function-like-macros-opening-parenthesis.rst: New file.
719 * doc/cppinternals/macro-expansion-overview.rst: New file.
720 * doc/cppinternals/marking-tokens-ineligible-for-future-expansion.rst: New file.
721 * doc/cppinternals/multiple-include-optimization.rst: New file.
722 * doc/cppinternals/overview.rst: New file.
723 * doc/cppinternals/representation-of-line-numbers.rst: New file.
724 * doc/cppinternals/scanning-the-replacement-list-for-macros-to-expand.rst: New file.
725 * doc/gcc/binary-compatibility.rst: New file.
726 * doc/gcc/c++-implementation-defined-behavior.rst: New file.
727 * doc/gcc/c-implementation-defined-behavior.rst: New file.
728 * doc/gcc/c-implementation-defined-behavior/architecture.rst: New file.
729 * doc/gcc/c-implementation-defined-behavior/arrays-and-pointers.rst: New file.
730 * doc/gcc/c-implementation-defined-behavior/characters.rst: New file.
731 * doc/gcc/c-implementation-defined-behavior/declarators.rst: New file.
732 * doc/gcc/c-implementation-defined-behavior/environment.rst: New file.
733 * doc/gcc/c-implementation-defined-behavior/floating-point.rst: New file.
734 * doc/gcc/c-implementation-defined-behavior/hints.rst: New file.
735 * doc/gcc/c-implementation-defined-behavior/identifiers.rst: New file.
736 * doc/gcc/c-implementation-defined-behavior/integers.rst: New file.
737 * doc/gcc/c-implementation-defined-behavior/library-functions.rst: New file.
738 * doc/gcc/c-implementation-defined-behavior/locale-specific-behavior.rst: New file.
739 * doc/gcc/c-implementation-defined-behavior/preprocessing-directives.rst: New file.
740 * doc/gcc/c-implementation-defined-behavior/qualifiers.rst: New file.
741 * doc/gcc/c-implementation-defined-behavior/statements.rst: New file.
742 * doc/gcc/c-implementation-defined-behavior/structures-unions-enumerations-and-bit-fields.rst:
743 New file.
744 * doc/gcc/c-implementation-defined-behavior/translation.rst: New file.
745 * doc/gcc/conditionally-supported-behavior.rst: New file.
746 * doc/gcc/conf.py: New file.
747 * doc/gcc/contributing-to-gcc-development.rst: New file.
748 * doc/gcc/contributors-to-gcc.rst: New file.
749 * doc/gcc/copyright.rst: New file.
750 * doc/gcc/exception-handling.rst: New file.
751 * doc/gcc/extensions-to-the-c++-language.rst: New file.
752 * doc/gcc/extensions-to-the-c++-language/backwards-compatibility.rst: New file.
753 * doc/gcc/extensions-to-the-c++-language/c++-concepts.rst: New file.
754 * doc/gcc/extensions-to-the-c++-language/c++-interface-and-implementation-pragmas.rst:
755 New file.
756 * doc/gcc/extensions-to-the-c++-language/c++-specific-variable-function-and-type-attributes.rst:
757 New file.
758 * doc/gcc/extensions-to-the-c++-language/deprecated-features.rst: New file.
759 * doc/gcc/extensions-to-the-c++-language/extracting-the-function-pointer-from-a-bound-pointer-to-member-function.rst:
760 New file.
761 * doc/gcc/extensions-to-the-c++-language/function-multiversioning.rst: New file.
762 * doc/gcc/extensions-to-the-c++-language/restricting-pointer-aliasing.rst: New file.
763 * doc/gcc/extensions-to-the-c++-language/type-traits.rst: New file.
764 * doc/gcc/extensions-to-the-c++-language/vague-linkage.rst: New file.
765 * doc/gcc/extensions-to-the-c++-language/when-is-a-volatile-c++-object-accessed.rst:
766 New file.
767 * doc/gcc/extensions-to-the-c++-language/wheres-the-template.rst: New file.
768 * doc/gcc/extensions-to-the-c-language-family.rst: New file.
769 * doc/gcc/extensions-to-the-c-language-family/128-bit-integers.rst: New file.
770 * doc/gcc/extensions-to-the-c-language-family/additional-floating-types.rst: New file.
771 * doc/gcc/extensions-to-the-c-language-family/alternate-keywords.rst: New file.
772 * doc/gcc/extensions-to-the-c-language-family/an-inline-function-is-as-fast-as-a-macro.rst:
773 New file.
774 * doc/gcc/extensions-to-the-c-language-family/arithmetic-on-void-and-function-pointers.rst:
775 New file.
776 * doc/gcc/extensions-to-the-c-language-family/arrays-of-length-zero.rst: New file.
777 * doc/gcc/extensions-to-the-c-language-family/arrays-of-variable-length.rst: New file.
778 * doc/gcc/extensions-to-the-c-language-family/attribute-syntax.rst: New file.
779 * doc/gcc/extensions-to-the-c-language-family/binary-constants-using-the-0b-prefix.rst:
780 New file.
781 * doc/gcc/extensions-to-the-c-language-family/built-in-functions-for-memory-model-aware-atomic-operations.rst:
782 New file.
783 * doc/gcc/extensions-to-the-c-language-family/built-in-functions-to-perform-arithmetic-with-overflow-checking.rst:
784 New file.
785 * doc/gcc/extensions-to-the-c-language-family/c++-style-comments.rst: New file.
786 * doc/gcc/extensions-to-the-c-language-family/case-ranges.rst: New file.
787 * doc/gcc/extensions-to-the-c-language-family/cast-to-a-union-type.rst: New file.
788 * doc/gcc/extensions-to-the-c-language-family/complex-numbers.rst: New file.
789 * doc/gcc/extensions-to-the-c-language-family/compound-literals.rst: New file.
790 * doc/gcc/extensions-to-the-c-language-family/conditionals-with-omitted-operands.rst:
791 New file.
792 * doc/gcc/extensions-to-the-c-language-family/constructing-function-calls.rst: New file.
793 * doc/gcc/extensions-to-the-c-language-family/decimal-floating-types.rst: New file.
794 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions.rst:
795 New file.
796 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/aarch64-function-attributes.rst:
797 New file.
798 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/amd-gcn-function-attributes.rst:
799 New file.
800 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arc-function-attributes.rst:
801 New file.
802 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arm-function-attributes.rst:
803 New file.
804 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/avr-function-attributes.rst:
805 New file.
806 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/blackfin-function-attributes.rst:
807 New file.
808 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/bpf-function-attributes.rst:
809 New file.
810 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/c-sky-function-attributes.rst:
811 New file.
812 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/common-function-attributes.rst:
813 New file.
814 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/epiphany-function-attributes.rst:
815 New file.
816 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/h8-300-function-attributes.rst:
817 New file.
818 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/ia-64-function-attributes.rst:
819 New file.
820 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32c-function-attributes.rst:
821 New file.
822 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32r-d-function-attributes.rst:
823 New file.
824 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m68k-function-attributes.rst:
825 New file.
826 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mcore-function-attributes.rst:
827 New file.
828 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mep-function-attributes.rst:
829 New file.
830 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microblaze-function-attributes.rst:
831 New file.
832 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microsoft-windows-function-attributes.rst:
833 New file.
834 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mips-function-attributes.rst:
835 New file.
836 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/msp430-function-attributes.rst:
837 New file.
838 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nds32-function-attributes.rst:
839 New file.
840 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nios-ii-function-attributes.rst:
841 New file.
842 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nvidia-ptx-function-attributes.rst:
843 New file.
844 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/powerpc-function-attributes.rst:
845 New file.
846 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/risc-v-function-attributes.rst:
847 New file.
848 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rl78-function-attributes.rst:
849 New file.
850 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rx-function-attributes.rst:
851 New file.
852 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/s-390-function-attributes.rst:
853 New file.
854 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/sh-function-attributes.rst:
855 New file.
856 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/symbian-os-function-attributes.rst:
857 New file.
858 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/v850-function-attributes.rst:
859 New file.
860 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/visium-function-attributes.rst:
861 New file.
862 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/x86-function-attributes.rst:
863 New file.
864 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/xstormy16-function-attributes.rst:
865 New file.
866 * doc/gcc/extensions-to-the-c-language-family/designated-initializers.rst: New file.
867 * doc/gcc/extensions-to-the-c-language-family/determining-the-alignment-of-functions-types-or-variables.rst:
868 New file.
869 * doc/gcc/extensions-to-the-c-language-family/dollar-signs-in-identifier-names.rst:
870 New file.
871 * doc/gcc/extensions-to-the-c-language-family/double-word-integers.rst: New file.
872 * doc/gcc/extensions-to-the-c-language-family/enumerator-attributes.rst: New file.
873 * doc/gcc/extensions-to-the-c-language-family/fixed-point-types.rst: New file.
874 * doc/gcc/extensions-to-the-c-language-family/format-checks-specific-to-particular-target-machines.rst:
875 New file.
876 * doc/gcc/extensions-to-the-c-language-family/function-names-as-strings.rst: New file.
877 * doc/gcc/extensions-to-the-c-language-family/getting-the-return-or-frame-address-of-a-function.rst:
878 New file.
879 * doc/gcc/extensions-to-the-c-language-family/half-precision-floating-point.rst: New file.
880 * doc/gcc/extensions-to-the-c-language-family/hex-floats.rst: New file.
881 * doc/gcc/extensions-to-the-c-language-family/how-to-use-inline-assembly-language-in-c-code.rst:
882 New file.
883 * doc/gcc/extensions-to-the-c-language-family/incomplete-enum-types.rst: New file.
884 * doc/gcc/extensions-to-the-c-language-family/label-attributes.rst: New file.
885 * doc/gcc/extensions-to-the-c-language-family/labels-as-values.rst: New file.
886 * doc/gcc/extensions-to-the-c-language-family/legacy-sync-built-in-functions-for-atomic-memory-access.rst:
887 New file.
888 * doc/gcc/extensions-to-the-c-language-family/locally-declared-labels.rst: New file.
889 * doc/gcc/extensions-to-the-c-language-family/macros-with-a-variable-number-of-arguments.rst:
890 New file.
891 * doc/gcc/extensions-to-the-c-language-family/mixed-declarations-labels-and-code.rst:
892 New file.
893 * doc/gcc/extensions-to-the-c-language-family/named-address-spaces.rst: New file.
894 * doc/gcc/extensions-to-the-c-language-family/nested-functions.rst: New file.
895 * doc/gcc/extensions-to-the-c-language-family/non-constant-initializers.rst: New file.
896 * doc/gcc/extensions-to-the-c-language-family/non-lvalue-arrays-may-have-subscripts.rst:
897 New file.
898 * doc/gcc/extensions-to-the-c-language-family/nonlocal-gotos.rst: New file.
899 * doc/gcc/extensions-to-the-c-language-family/object-size-checking-built-in-functions.rst:
900 New file.
901 * doc/gcc/extensions-to-the-c-language-family/other-built-in-functions-provided-by-gcc.rst:
902 New file.
903 * doc/gcc/extensions-to-the-c-language-family/pointer-arguments-in-variadic-functions.rst:
904 New file.
905 * doc/gcc/extensions-to-the-c-language-family/pointers-to-arrays-with-qualifiers-work-as-expected.rst:
906 New file.
907 * doc/gcc/extensions-to-the-c-language-family/pragmas-accepted-by-gcc.rst: New file.
908 * doc/gcc/extensions-to-the-c-language-family/prototypes-and-old-style-function-definitions.rst:
909 New file.
910 * doc/gcc/extensions-to-the-c-language-family/referring-to-a-type-with-typeof.rst: New file.
911 * doc/gcc/extensions-to-the-c-language-family/slightly-looser-rules-for-escaped-newlines.rst:
912 New file.
913 * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-types.rst: New file.
914 * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-variables.rst:
915 New file.
916 * doc/gcc/extensions-to-the-c-language-family/statement-attributes.rst: New file.
917 * doc/gcc/extensions-to-the-c-language-family/statements-and-declarations-in-expressions.rst:
918 New file.
919 * doc/gcc/extensions-to-the-c-language-family/structures-with-no-members.rst: New file.
920 * doc/gcc/extensions-to-the-c-language-family/support-for-offsetof.rst: New file.
921 * doc/gcc/extensions-to-the-c-language-family/target-builtins.rst: New file.
922 * doc/gcc/extensions-to-the-c-language-family/target-builtins/aarch64-built-in-functions.rst:
923 New file.
924 * doc/gcc/extensions-to-the-c-language-family/target-builtins/alpha-built-in-functions.rst:
925 New file.
926 * doc/gcc/extensions-to-the-c-language-family/target-builtins/altera-nios-ii-built-in-functions.rst:
927 New file.
928 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-built-in-functions.rst:
929 New file.
930 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-simd-built-in-functions.rst:
931 New file.
932 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-armv8-m-security-extensions.rst:
933 New file.
934 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-c-language-extensions-acle.rst:
935 New file.
936 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-floating-point-status-and-control-intrinsics.rst:
937 New file.
938 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-iwmmxt-built-in-functions.rst:
939 New file.
940 * doc/gcc/extensions-to-the-c-language-family/target-builtins/avr-built-in-functions.rst:
941 New file.
942 * doc/gcc/extensions-to-the-c-language-family/target-builtins/basic-powerpc-built-in-functions.rst:
943 New file.
944 * doc/gcc/extensions-to-the-c-language-family/target-builtins/blackfin-built-in-functions.rst:
945 New file.
946 * doc/gcc/extensions-to-the-c-language-family/target-builtins/bpf-built-in-functions.rst:
947 New file.
948 * doc/gcc/extensions-to-the-c-language-family/target-builtins/fr-v-built-in-functions.rst:
949 New file.
950 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-dsp-built-in-functions.rst:
951 New file.
952 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-loongson-built-in-functions.rst:
953 New file.
954 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-paired-single-support.rst:
955 New file.
956 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-simd-architecture-msa-support.rst:
957 New file.
958 * doc/gcc/extensions-to-the-c-language-family/target-builtins/msp430-built-in-functions.rst:
959 New file.
960 * doc/gcc/extensions-to-the-c-language-family/target-builtins/nds32-built-in-functions.rst:
961 New file.
962 * doc/gcc/extensions-to-the-c-language-family/target-builtins/other-mips-built-in-functions.rst:
963 New file.
964 * doc/gcc/extensions-to-the-c-language-family/target-builtins/picochip-built-in-functions.rst:
965 New file.
966 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-altivec-vsx-built-in-functions.rst:
967 New file.
968 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-atomic-memory-operation-functions.rst:
969 New file.
970 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-hardware-transactional-memory-built-in-functions.rst:
971 New file.
972 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-matrix-multiply-assist-built-in-functions.rst:
973 New file.
974 * doc/gcc/extensions-to-the-c-language-family/target-builtins/pru-built-in-functions.rst:
975 New file.
976 * doc/gcc/extensions-to-the-c-language-family/target-builtins/risc-v-built-in-functions.rst:
977 New file.
978 * doc/gcc/extensions-to-the-c-language-family/target-builtins/rx-built-in-functions.rst:
979 New file.
980 * doc/gcc/extensions-to-the-c-language-family/target-builtins/s-390-system-z-built-in-functions.rst:
981 New file.
982 * doc/gcc/extensions-to-the-c-language-family/target-builtins/sh-built-in-functions.rst:
983 New file.
984 * doc/gcc/extensions-to-the-c-language-family/target-builtins/sparc-vis-built-in-functions.rst:
985 New file.
986 * doc/gcc/extensions-to-the-c-language-family/target-builtins/ti-c6x-built-in-functions.rst:
987 New file.
988 * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-built-in-functions.rst:
989 New file.
990 * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-control-flow-protection-intrinsics.rst:
991 New file.
992 * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-transactional-memory-intrinsics.rst:
993 New file.
994 * doc/gcc/extensions-to-the-c-language-family/the-character-esc-in-constants.rst: New file.
995 * doc/gcc/extensions-to-the-c-language-family/thread-local-storage.rst: New file.
996 * doc/gcc/extensions-to-the-c-language-family/unnamed-structure-and-union-fields.rst:
997 New file.
998 * doc/gcc/extensions-to-the-c-language-family/using-vector-instructions-through-built-in-functions.rst:
999 New file.
1000 * doc/gcc/extensions-to-the-c-language-family/when-is-a-volatile-object-accessed.rst:
1001 New file.
1002 * doc/gcc/extensions-to-the-c-language-family/x86-specific-memory-model-extensions-for-transactional-memory.rst:
1003 New file.
1004 * doc/gcc/funding.rst: New file.
1005 * doc/gcc/gcc-command-options.rst: New file.
1006 * doc/gcc/gcc-command-options/c++-modules.rst: New file.
1007 * doc/gcc/gcc-command-options/compiling-c++-programs.rst: New file.
1008 * doc/gcc/gcc-command-options/description.rst: New file.
1009 * doc/gcc/gcc-command-options/environment-variables-affecting-gcc.rst: New file.
1010 * doc/gcc/gcc-command-options/gcc-developer-options.rst: New file.
1011 * doc/gcc/gcc-command-options/machine-dependent-options.rst: New file.
1012 * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: New file.
1013 * doc/gcc/gcc-command-options/machine-dependent-options/adapteva-epiphany-options.rst:
1014 New file.
1015 * doc/gcc/gcc-command-options/machine-dependent-options/amd-gcn-options.rst: New file.
1016 * doc/gcc/gcc-command-options/machine-dependent-options/arc-options.rst: New file.
1017 * doc/gcc/gcc-command-options/machine-dependent-options/arm-options.rst: New file.
1018 * doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst: New file.
1019 * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst: New file.
1020 * doc/gcc/gcc-command-options/machine-dependent-options/blackfin-options.rst: New file.
1021 * doc/gcc/gcc-command-options/machine-dependent-options/c-sky-options.rst: New file.
1022 * doc/gcc/gcc-command-options/machine-dependent-options/c6x-options.rst: New file.
1023 * doc/gcc/gcc-command-options/machine-dependent-options/cris-options.rst: New file.
1024 * doc/gcc/gcc-command-options/machine-dependent-options/darwin-options.rst: New file.
1025 * doc/gcc/gcc-command-options/machine-dependent-options/dec-alpha-options.rst: New file.
1026 * doc/gcc/gcc-command-options/machine-dependent-options/ebpf-options.rst: New file.
1027 * doc/gcc/gcc-command-options/machine-dependent-options/fr30-options.rst: New file.
1028 * doc/gcc/gcc-command-options/machine-dependent-options/frv-options.rst: New file.
1029 * doc/gcc/gcc-command-options/machine-dependent-options/ft32-options.rst: New file.
1030 * doc/gcc/gcc-command-options/machine-dependent-options/gnu-linux-options.rst: New file.
1031 * doc/gcc/gcc-command-options/machine-dependent-options/h8-300-options.rst: New file.
1032 * doc/gcc/gcc-command-options/machine-dependent-options/hppa-options.rst: New file.
1033 * doc/gcc/gcc-command-options/machine-dependent-options/ia-64-options.rst: New file.
1034 * doc/gcc/gcc-command-options/machine-dependent-options/ibm-rs-6000-and-powerpc-options.rst:
1035 New file.
1036 * doc/gcc/gcc-command-options/machine-dependent-options/lm32-options.rst: New file.
1037 * doc/gcc/gcc-command-options/machine-dependent-options/loongarch-options.rst: New file.
1038 * doc/gcc/gcc-command-options/machine-dependent-options/m32c-options.rst: New file.
1039 * doc/gcc/gcc-command-options/machine-dependent-options/m32r-d-options.rst: New file.
1040 * doc/gcc/gcc-command-options/machine-dependent-options/m680x0-options.rst: New file.
1041 * doc/gcc/gcc-command-options/machine-dependent-options/mcore-options.rst: New file.
1042 * doc/gcc/gcc-command-options/machine-dependent-options/mep-options.rst: New file.
1043 * doc/gcc/gcc-command-options/machine-dependent-options/microblaze-options.rst: New file.
1044 * doc/gcc/gcc-command-options/machine-dependent-options/mips-options.rst: New file.
1045 * doc/gcc/gcc-command-options/machine-dependent-options/mmix-options.rst: New file.
1046 * doc/gcc/gcc-command-options/machine-dependent-options/mn10300-options.rst: New file.
1047 * doc/gcc/gcc-command-options/machine-dependent-options/moxie-options.rst: New file.
1048 * doc/gcc/gcc-command-options/machine-dependent-options/msp430-options.rst: New file.
1049 * doc/gcc/gcc-command-options/machine-dependent-options/nds32-options.rst: New file.
1050 * doc/gcc/gcc-command-options/machine-dependent-options/nios-ii-options.rst: New file.
1051 * doc/gcc/gcc-command-options/machine-dependent-options/nvidia-ptx-options.rst: New file.
1052 * doc/gcc/gcc-command-options/machine-dependent-options/openrisc-options.rst: New file.
1053 * doc/gcc/gcc-command-options/machine-dependent-options/options-for-system-v.rst: New file.
1054 * doc/gcc/gcc-command-options/machine-dependent-options/pdp-11-options.rst: New file.
1055 * doc/gcc/gcc-command-options/machine-dependent-options/picochip-options.rst: New file.
1056 * doc/gcc/gcc-command-options/machine-dependent-options/powerpc-options.rst: New file.
1057 * doc/gcc/gcc-command-options/machine-dependent-options/pru-options.rst: New file.
1058 * doc/gcc/gcc-command-options/machine-dependent-options/risc-v-options.rst: New file.
1059 * doc/gcc/gcc-command-options/machine-dependent-options/rl78-options.rst: New file.
1060 * doc/gcc/gcc-command-options/machine-dependent-options/rx-options.rst: New file.
1061 * doc/gcc/gcc-command-options/machine-dependent-options/s-390-and-zseries-options.rst:
1062 New file.
1063 * doc/gcc/gcc-command-options/machine-dependent-options/score-options.rst: New file.
1064 * doc/gcc/gcc-command-options/machine-dependent-options/sh-options.rst: New file.
1065 * doc/gcc/gcc-command-options/machine-dependent-options/solaris-2-options.rst: New file.
1066 * doc/gcc/gcc-command-options/machine-dependent-options/sparc-options.rst: New file.
1067 * doc/gcc/gcc-command-options/machine-dependent-options/v850-options.rst: New file.
1068 * doc/gcc/gcc-command-options/machine-dependent-options/vax-options.rst: New file.
1069 * doc/gcc/gcc-command-options/machine-dependent-options/visium-options.rst: New file.
1070 * doc/gcc/gcc-command-options/machine-dependent-options/vms-options.rst: New file.
1071 * doc/gcc/gcc-command-options/machine-dependent-options/vxworks-options.rst: New file.
1072 * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: New file.
1073 * doc/gcc/gcc-command-options/machine-dependent-options/x86-windows-options.rst: New file.
1074 * doc/gcc/gcc-command-options/machine-dependent-options/xstormy16-options.rst: New file.
1075 * doc/gcc/gcc-command-options/machine-dependent-options/xtensa-options.rst: New file.
1076 * doc/gcc/gcc-command-options/machine-dependent-options/zseries-options.rst: New file.
1077 * doc/gcc/gcc-command-options/option-summary.rst: New file.
1078 * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst: New file.
1079 * doc/gcc/gcc-command-options/options-controlling-c-dialect.rst: New file.
1080 * doc/gcc/gcc-command-options/options-controlling-objective-c-and-objective-c++-dialects.rst:
1081 New file.
1082 * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst: New file.
1083 * doc/gcc/gcc-command-options/options-controlling-the-preprocessor.rst: New file.
1084 * doc/gcc/gcc-command-options/options-for-code-generation-conventions.rst: New file.
1085 * doc/gcc/gcc-command-options/options-for-debugging-your-program.rst: New file.
1086 * doc/gcc/gcc-command-options/options-for-directory-search.rst: New file.
1087 * doc/gcc/gcc-command-options/options-for-linking.rst: New file.
1088 * doc/gcc/gcc-command-options/options-that-control-optimization.rst: New file.
1089 * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: New file.
1090 * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
1091 New file.
1092 * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst: New file.
1093 * doc/gcc/gcc-command-options/passing-options-to-the-assembler.rst: New file.
1094 * doc/gcc/gcc-command-options/program-instrumentation-options.rst: New file.
1095 * doc/gcc/gcc-command-options/specifying-subprocesses-and-the-switches-to-pass-to-them.rst:
1096 New file.
1097 * doc/gcc/gcc-command-options/using-precompiled-headers.rst: New file.
1098 * doc/gcc/gcc.rst: New file.
1099 * doc/gcc/gcov-dump.rst: New file.
1100 * doc/gcc/gcov-tool.rst: New file.
1101 * doc/gcc/gcov.rst: New file.
1102 * doc/gcc/gcov/brief-description-of-gcov-data-files.rst: New file.
1103 * doc/gcc/gcov/data-file-relocation-to-support-cross-profiling.rst: New file.
1104 * doc/gcc/gcov/introduction-to-gcov.rst: New file.
1105 * doc/gcc/gcov/invoking-gcov.rst: New file.
1106 * doc/gcc/gcov/profiling-and-test-coverage-in-freestanding-environments.rst: New file.
1107 * doc/gcc/gcov/using-gcov-with-gcc-optimization.rst: New file.
1108 * doc/gcc/general-public-license-3.rst: New file.
1109 * doc/gcc/gnu-free-documentation-license.rst: New file.
1110 * doc/gcc/gnu-objective-c-features.rst: New file.
1111 * doc/gcc/gnu-objective-c-features/compatibilityalias.rst: New file.
1112 * doc/gcc/gnu-objective-c-features/constant-string-objects.rst: New file.
1113 * doc/gcc/gnu-objective-c-features/exceptions.rst: New file.
1114 * doc/gcc/gnu-objective-c-features/fast-enumeration.rst: New file.
1115 * doc/gcc/gnu-objective-c-features/garbage-collection.rst: New file.
1116 * doc/gcc/gnu-objective-c-features/gnu-objective-c-runtime-api.rst: New file.
1117 * doc/gcc/gnu-objective-c-features/load-executing-code-before-main.rst: New file.
1118 * doc/gcc/gnu-objective-c-features/messaging-with-the-gnu-objective-c-runtime.rst: New file.
1119 * doc/gcc/gnu-objective-c-features/synchronization.rst: New file.
1120 * doc/gcc/gnu-objective-c-features/type-encoding.rst: New file.
1121 * doc/gcc/gnu.rst: New file.
1122 * doc/gcc/have-you-found-a-bug.rst: New file.
1123 * doc/gcc/how-and-where-to-report-bugs.rst: New file.
1124 * doc/gcc/how-to-get-help-with-gcc.rst: New file.
1125 * doc/gcc/index.rst: New file.
1126 * doc/gcc/indices-and-tables.rst: New file.
1127 * doc/gcc/known-causes-of-trouble-with-gcc.rst: New file.
1128 * doc/gcc/known-causes-of-trouble-with-gcc/actual-bugs-we-havent-fixed-yet.rst: New file.
1129 * doc/gcc/known-causes-of-trouble-with-gcc/certain-changes-we-dont-want-to-make.rst:
1130 New file.
1131 * doc/gcc/known-causes-of-trouble-with-gcc/common-misunderstandings-with-gnu-c.rst:
1132 New file.
1133 * doc/gcc/known-causes-of-trouble-with-gcc/disappointments-and-misunderstandings.rst:
1134 New file.
1135 * doc/gcc/known-causes-of-trouble-with-gcc/fixed-header-files.rst: New file.
1136 * doc/gcc/known-causes-of-trouble-with-gcc/incompatibilities-of-gcc.rst: New file.
1137 * doc/gcc/known-causes-of-trouble-with-gcc/interoperation.rst: New file.
1138 * doc/gcc/known-causes-of-trouble-with-gcc/standard-libraries.rst: New file.
1139 * doc/gcc/known-causes-of-trouble-with-gcc/warning-messages-and-error-messages.rst:
1140 New file.
1141 * doc/gcc/language-standards-supported-by-gcc.rst: New file.
1142 * doc/gcc/language-standards-supported-by-gcc/c++-language.rst: New file.
1143 * doc/gcc/language-standards-supported-by-gcc/c-language.rst: New file.
1144 * doc/gcc/language-standards-supported-by-gcc/d-language.rst: New file.
1145 * doc/gcc/language-standards-supported-by-gcc/go-language.rst: New file.
1146 * doc/gcc/language-standards-supported-by-gcc/objective-c-and-objective-c++-languages.rst:
1147 New file.
1148 * doc/gcc/language-standards-supported-by-gcc/references-for-other-languages.rst: New file.
1149 * doc/gcc/lto-dump.rst: New file.
1150 * doc/gcc/programming-languages-supported-by-gcc.rst: New file.
1151 * doc/gcc/reporting-bugs.rst: New file.
1152 * doc/gccint/analysis-and-optimization-of-gimple-tuples.rst: New file.
1153 * doc/gccint/analysis-and-optimization-of-gimple-tuples/alias-analysis.rst: New file.
1154 * doc/gccint/analysis-and-optimization-of-gimple-tuples/annotations.rst: New file.
1155 * doc/gccint/analysis-and-optimization-of-gimple-tuples/memory-model.rst: New file.
1156 * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst: New file.
1157 * doc/gccint/analysis-and-optimization-of-gimple-tuples/static-single-assignment.rst:
1158 New file.
1159 * doc/gccint/analysis-and-representation-of-loops.rst: New file.
1160 * doc/gccint/analysis-and-representation-of-loops/data-dependency-analysis.rst: New file.
1161 * doc/gccint/analysis-and-representation-of-loops/iv-analysis-on-rtl.rst: New file.
1162 * doc/gccint/analysis-and-representation-of-loops/loop-closed-ssa-form.rst: New file.
1163 * doc/gccint/analysis-and-representation-of-loops/loop-manipulation.rst: New file.
1164 * doc/gccint/analysis-and-representation-of-loops/loop-querying.rst: New file.
1165 * doc/gccint/analysis-and-representation-of-loops/loop-representation.rst: New file.
1166 * doc/gccint/analysis-and-representation-of-loops/number-of-iterations-analysis.rst:
1167 New file.
1168 * doc/gccint/analysis-and-representation-of-loops/scalar-evolutions.rst: New file.
1169 * doc/gccint/analyzer-internals.rst: New file.
1170 * doc/gccint/collect2.rst: New file.
1171 * doc/gccint/conf.py: New file.
1172 * doc/gccint/contributing-to-gcc-development.rst: New file.
1173 * doc/gccint/contributors-to-gcc.rst: New file.
1174 * doc/gccint/control-flow-graph.rst: New file.
1175 * doc/gccint/control-flow-graph/basic-blocks.rst: New file.
1176 * doc/gccint/control-flow-graph/edges.rst: New file.
1177 * doc/gccint/control-flow-graph/liveness-information.rst: New file.
1178 * doc/gccint/control-flow-graph/maintaining-the-cfg.rst: New file.
1179 * doc/gccint/control-flow-graph/profile-information.rst: New file.
1180 * doc/gccint/copyright.rst: New file.
1181 * doc/gccint/debugging-the-analyzer.rst: New file.
1182 * doc/gccint/funding.rst: New file.
1183 * doc/gccint/gcc-and-portability.rst: New file.
1184 * doc/gccint/general-public-license-3.rst: New file.
1185 * doc/gccint/generic.rst: New file.
1186 * doc/gccint/generic/attributes-in-trees.rst: New file.
1187 * doc/gccint/generic/c-and-c++-trees.rst: New file.
1188 * doc/gccint/generic/declarations.rst: New file.
1189 * doc/gccint/generic/deficiencies.rst: New file.
1190 * doc/gccint/generic/expressions.rst: New file.
1191 * doc/gccint/generic/functions.rst: New file.
1192 * doc/gccint/generic/language-dependent-trees.rst: New file.
1193 * doc/gccint/generic/overview.rst: New file.
1194 * doc/gccint/generic/statements.rst: New file.
1195 * doc/gccint/generic/types.rst: New file.
1196 * doc/gccint/gimple-api.rst: New file.
1197 * doc/gccint/gimple.rst: New file.
1198 * doc/gccint/gimple/adding-a-new-gimple-statement-code.rst: New file.
1199 * doc/gccint/gimple/class-hierarchy-of-gimple-statements.rst: New file.
1200 * doc/gccint/gimple/exception-handling.rst: New file.
1201 * doc/gccint/gimple/gimple-instruction-set.rst: New file.
1202 * doc/gccint/gimple/gimple-sequences.rst: New file.
1203 * doc/gccint/gimple/manipulating-gimple-statements.rst: New file.
1204 * doc/gccint/gimple/operands.rst: New file.
1205 * doc/gccint/gimple/sequence-iterators.rst: New file.
1206 * doc/gccint/gimple/statement-and-operand-traversals.rst: New file.
1207 * doc/gccint/gimple/temporaries.rst: New file.
1208 * doc/gccint/gimple/tuple-representation.rst: New file.
1209 * doc/gccint/gimple/tuple-specific-accessors.rst: New file.
1210 * doc/gccint/gimple/tuple-specific-accessors/gimpleasm.rst: New file.
1211 * doc/gccint/gimple/tuple-specific-accessors/gimpleassign.rst: New file.
1212 * doc/gccint/gimple/tuple-specific-accessors/gimplebind.rst: New file.
1213 * doc/gccint/gimple/tuple-specific-accessors/gimplecall.rst: New file.
1214 * doc/gccint/gimple/tuple-specific-accessors/gimplecatch.rst: New file.
1215 * doc/gccint/gimple/tuple-specific-accessors/gimplecond.rst: New file.
1216 * doc/gccint/gimple/tuple-specific-accessors/gimpledebug.rst: New file.
1217 * doc/gccint/gimple/tuple-specific-accessors/gimpleehfilter.rst: New file.
1218 * doc/gccint/gimple/tuple-specific-accessors/gimplegoto.rst: New file.
1219 * doc/gccint/gimple/tuple-specific-accessors/gimplelabel.rst: New file.
1220 * doc/gccint/gimple/tuple-specific-accessors/gimplenop.rst: New file.
1221 * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicload.rst: New file.
1222 * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicstore.rst: New file.
1223 * doc/gccint/gimple/tuple-specific-accessors/gimpleompcontinue.rst: New file.
1224 * doc/gccint/gimple/tuple-specific-accessors/gimpleompcritical.rst: New file.
1225 * doc/gccint/gimple/tuple-specific-accessors/gimpleompfor.rst: New file.
1226 * doc/gccint/gimple/tuple-specific-accessors/gimpleompmaster.rst: New file.
1227 * doc/gccint/gimple/tuple-specific-accessors/gimpleompordered.rst: New file.
1228 * doc/gccint/gimple/tuple-specific-accessors/gimpleompparallel.rst: New file.
1229 * doc/gccint/gimple/tuple-specific-accessors/gimpleompreturn.rst: New file.
1230 * doc/gccint/gimple/tuple-specific-accessors/gimpleompsection.rst: New file.
1231 * doc/gccint/gimple/tuple-specific-accessors/gimpleompsections.rst: New file.
1232 * doc/gccint/gimple/tuple-specific-accessors/gimpleompsingle.rst: New file.
1233 * doc/gccint/gimple/tuple-specific-accessors/gimplephi.rst: New file.
1234 * doc/gccint/gimple/tuple-specific-accessors/gimpleresx.rst: New file.
1235 * doc/gccint/gimple/tuple-specific-accessors/gimplereturn.rst: New file.
1236 * doc/gccint/gimple/tuple-specific-accessors/gimpleswitch.rst: New file.
1237 * doc/gccint/gimple/tuple-specific-accessors/gimpletry.rst: New file.
1238 * doc/gccint/gimple/tuple-specific-accessors/gimplewithcleanupexpr.rst: New file.
1239 * doc/gccint/gnu-free-documentation-license.rst: New file.
1240 * doc/gccint/guidelines-for-diagnostics.rst: New file.
1241 * doc/gccint/guidelines-for-options.rst: New file.
1242 * doc/gccint/host-common.rst: New file.
1243 * doc/gccint/host-configuration.rst: New file.
1244 * doc/gccint/host-filesystem.rst: New file.
1245 * doc/gccint/host-makefile-fragments.rst: New file.
1246 * doc/gccint/host-misc.rst: New file.
1247 * doc/gccint/index.rst: New file.
1248 * doc/gccint/indices-and-tables.rst: New file.
1249 * doc/gccint/interfacing-to-gcc-output.rst: New file.
1250 * doc/gccint/introduction.rst: New file.
1251 * doc/gccint/language-front-ends-in-gcc.rst: New file.
1252 * doc/gccint/link-time-optimization.rst: New file.
1253 * doc/gccint/link-time-optimization/design-overview.rst: New file.
1254 * doc/gccint/link-time-optimization/internal-flags-controlling-lto1.rst: New file.
1255 * doc/gccint/link-time-optimization/lto-file-sections.rst: New file.
1256 * doc/gccint/link-time-optimization/using-summary-information-in-ipa-passes.rst: New file.
1257 * doc/gccint/link-time-optimization/whole-program-assumptions-linker-plugin-and-symbol-visibilities.rst:
1258 New file.
1259 * doc/gccint/machine-descriptions.rst: New file.
1260 * doc/gccint/machine-descriptions/c-statements-for-assembler-output.rst: New file.
1261 * doc/gccint/machine-descriptions/canonicalization-of-instructions.rst: New file.
1262 * doc/gccint/machine-descriptions/conditional-execution.rst: New file.
1263 * doc/gccint/machine-descriptions/constant-definitions.rst: New file.
1264 * doc/gccint/machine-descriptions/defining-how-to-split-instructions.rst: New file.
1265 * doc/gccint/machine-descriptions/defining-jump-instruction-patterns.rst: New file.
1266 * doc/gccint/machine-descriptions/defining-looping-instruction-patterns.rst: New file.
1267 * doc/gccint/machine-descriptions/defining-rtl-sequences-for-code-generation.rst: New file.
1268 * doc/gccint/machine-descriptions/everything-about-instruction-patterns.rst: New file.
1269 * doc/gccint/machine-descriptions/example-of-defineinsn.rst: New file.
1270 * doc/gccint/machine-descriptions/including-patterns-in-machine-descriptions.rst: New file.
1271 * doc/gccint/machine-descriptions/instruction-attributes.rst: New file.
1272 * doc/gccint/machine-descriptions/interdependence-of-patterns.rst: New file.
1273 * doc/gccint/machine-descriptions/iterators.rst: New file.
1274 * doc/gccint/machine-descriptions/machine-specific-peephole-optimizers.rst: New file.
1275 * doc/gccint/machine-descriptions/operand-constraints.rst: New file.
1276 * doc/gccint/machine-descriptions/output-templates-and-operand-substitution.rst: New file.
1277 * doc/gccint/machine-descriptions/overview-of-how-the-machine-description-is-used.rst:
1278 New file.
1279 * doc/gccint/machine-descriptions/predicates.rst: New file.
1280 * doc/gccint/machine-descriptions/rtl-template.rst: New file.
1281 * doc/gccint/machine-descriptions/rtl-templates-transformations.rst: New file.
1282 * doc/gccint/machine-descriptions/standard-pattern-names-for-generation.rst: New file.
1283 * doc/gccint/machine-descriptions/when-the-order-of-patterns-matters.rst: New file.
1284 * doc/gccint/makefile-fragments.rst: New file.
1285 * doc/gccint/match-and-simplify.rst: New file.
1286 * doc/gccint/memory-management-and-type-information.rst: New file.
1287 * doc/gccint/memory-management-and-type-information/how-to-invoke-the-garbage-collector.rst:
1288 New file.
1289 * doc/gccint/memory-management-and-type-information/marking-roots-for-the-garbage-collector.rst:
1290 New file.
1291 * doc/gccint/memory-management-and-type-information/source-files-containing-type-information.rst:
1292 New file.
1293 * doc/gccint/memory-management-and-type-information/support-for-inheritance.rst: New file.
1294 * doc/gccint/memory-management-and-type-information/support-for-user-provided-gc-marking-routines.rst:
1295 New file.
1296 * doc/gccint/memory-management-and-type-information/the-inside-of-a-gty.rst: New file.
1297 * doc/gccint/memory-management-and-type-information/troubleshooting-the-garbage-collector.rst:
1298 New file.
1299 * doc/gccint/option-file-format.rst: New file.
1300 * doc/gccint/option-properties.rst: New file.
1301 * doc/gccint/option-specification-files.rst: New file.
1302 * doc/gccint/passes-and-files-of-the-compiler.rst: New file.
1303 * doc/gccint/passes-and-files-of-the-compiler/gimplification-pass.rst: New file.
1304 * doc/gccint/passes-and-files-of-the-compiler/inter-procedural-optimization-passes.rst:
1305 New file.
1306 * doc/gccint/passes-and-files-of-the-compiler/optimization-info.rst: New file.
1307 * doc/gccint/passes-and-files-of-the-compiler/parsing-pass.rst: New file.
1308 * doc/gccint/passes-and-files-of-the-compiler/pass-manager.rst: New file.
1309 * doc/gccint/passes-and-files-of-the-compiler/rtl-passes.rst: New file.
1310 * doc/gccint/passes-and-files-of-the-compiler/tree-ssa-passes.rst: New file.
1311 * doc/gccint/plugins.rst: New file.
1312 * doc/gccint/plugins/building-gcc-plugins.rst: New file.
1313 * doc/gccint/plugins/controlling-which-passes-are-being-run.rst: New file.
1314 * doc/gccint/plugins/giving-information-about-a-plugin.rst: New file.
1315 * doc/gccint/plugins/interacting-with-the-gcc-garbage-collector.rst: New file.
1316 * doc/gccint/plugins/interacting-with-the-pass-manager.rst: New file.
1317 * doc/gccint/plugins/keeping-track-of-available-passes.rst: New file.
1318 * doc/gccint/plugins/loading-plugins.rst: New file.
1319 * doc/gccint/plugins/plugin-api.rst: New file.
1320 * doc/gccint/plugins/recording-information-about-pass-execution.rst: New file.
1321 * doc/gccint/plugins/registering-custom-attributes-or-pragmas.rst: New file.
1322 * doc/gccint/rtl-representation.rst: New file.
1323 * doc/gccint/rtl-representation/access-to-operands.rst: New file.
1324 * doc/gccint/rtl-representation/access-to-special-operands.rst: New file.
1325 * doc/gccint/rtl-representation/assembler-instructions-as-expressions.rst: New file.
1326 * doc/gccint/rtl-representation/bit-fields.rst: New file.
1327 * doc/gccint/rtl-representation/comparison-operations.rst: New file.
1328 * doc/gccint/rtl-representation/constant-expression-types.rst: New file.
1329 * doc/gccint/rtl-representation/conversions.rst: New file.
1330 * doc/gccint/rtl-representation/declarations.rst: New file.
1331 * doc/gccint/rtl-representation/embedded-side-effects-on-addresses.rst: New file.
1332 * doc/gccint/rtl-representation/flags-in-an-rtl-expression.rst: New file.
1333 * doc/gccint/rtl-representation/insns.rst: New file.
1334 * doc/gccint/rtl-representation/machine-modes.rst: New file.
1335 * doc/gccint/rtl-representation/on-the-side-ssa-form-for-rtl.rst: New file.
1336 * doc/gccint/rtl-representation/reading-rtl.rst: New file.
1337 * doc/gccint/rtl-representation/registers-and-memory.rst: New file.
1338 * doc/gccint/rtl-representation/rtl-classes-and-formats.rst: New file.
1339 * doc/gccint/rtl-representation/rtl-expressions-for-arithmetic.rst: New file.
1340 * doc/gccint/rtl-representation/rtl-object-types.rst: New file.
1341 * doc/gccint/rtl-representation/rtl-representation-of-function-call-insns.rst: New file.
1342 * doc/gccint/rtl-representation/side-effect-expressions.rst: New file.
1343 * doc/gccint/rtl-representation/structure-sharing-assumptions.rst: New file.
1344 * doc/gccint/rtl-representation/variable-location-debug-information-in-rtl.rst: New file.
1345 * doc/gccint/rtl-representation/vector-operations.rst: New file.
1346 * doc/gccint/sizes-and-offsets-as-runtime-invariants.rst: New file.
1347 * doc/gccint/sizes-and-offsets-as-runtime-invariants/alignment-of-polyints.rst: New file.
1348 * doc/gccint/sizes-and-offsets-as-runtime-invariants/arithmetic-on-polyints.rst: New file.
1349 * doc/gccint/sizes-and-offsets-as-runtime-invariants/comparisons-involving-polyint.rst:
1350 New file.
1351 * doc/gccint/sizes-and-offsets-as-runtime-invariants/computing-bounds-on-polyints.rst:
1352 New file.
1353 * doc/gccint/sizes-and-offsets-as-runtime-invariants/consequences-of-using-polyint.rst:
1354 New file.
1355 * doc/gccint/sizes-and-offsets-as-runtime-invariants/converting-polyints.rst: New file.
1356 * doc/gccint/sizes-and-offsets-as-runtime-invariants/guidelines-for-using-polyint.rst:
1357 New file.
1358 * doc/gccint/sizes-and-offsets-as-runtime-invariants/miscellaneous-polyint-routines.rst:
1359 New file.
1360 * doc/gccint/sizes-and-offsets-as-runtime-invariants/overview-of-polyint.rst: New file.
1361 * doc/gccint/source-tree-structure-and-build-system.rst: New file.
1362 * doc/gccint/source-tree-structure-and-build-system/configure-terms-and-history.rst:
1363 New file.
1364 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory.rst: New file.
1365 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-language-front-end.rst:
1366 New file.
1367 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-target-back-end.rst:
1368 New file.
1369 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/build-system-in-the-gcc-directory.rst:
1370 New file.
1371 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/building-documentation.rst:
1372 New file.
1373 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/configuration-in-the-gcc-directory.rst:
1374 New file.
1375 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/headers-installed-by-gcc.rst:
1376 New file.
1377 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/library-source-files-and-headers-under-the-gcc-directory.rst:
1378 New file.
1379 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/makefile-targets.rst:
1380 New file.
1381 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/subdirectories-of-gcc.rst:
1382 New file.
1383 * doc/gccint/source-tree-structure-and-build-system/top-level-source-directory.rst:
1384 New file.
1385 * doc/gccint/standard-header-file-directories.rst: New file.
1386 * doc/gccint/static-analyzer.rst: New file.
1387 * doc/gccint/target-macros.rst: New file.
1388 * doc/gccint/target-macros/adding-support-for-named-address-spaces.rst: New file.
1389 * doc/gccint/target-macros/addressing-modes.rst: New file.
1390 * doc/gccint/target-macros/adjusting-the-instruction-scheduler.rst: New file.
1391 * doc/gccint/target-macros/anchored-addresses.rst: New file.
1392 * doc/gccint/target-macros/c++-abi-parameters.rst: New file.
1393 * doc/gccint/target-macros/condition-code-status.rst: New file.
1394 * doc/gccint/target-macros/controlling-debugging-information-format.rst: New file.
1395 * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: New file.
1396 * doc/gccint/target-macros/cross-compilation-and-floating-point.rst: New file.
1397 * doc/gccint/target-macros/d-abi-parameters.rst: New file.
1398 * doc/gccint/target-macros/defining-coprocessor-specifics-for-mips-targets.rst: New file.
1399 * doc/gccint/target-macros/defining-data-structures-for-per-function-information.rst:
1400 New file.
1401 * doc/gccint/target-macros/defining-target-specific-uses-of-attribute.rst: New file.
1402 * doc/gccint/target-macros/defining-the-output-assembler-language.rst: New file.
1403 * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-alignment.rst:
1404 New file.
1405 * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
1406 New file.
1407 * doc/gccint/target-macros/defining-the-output-assembler-language/how-initialization-functions-are-handled.rst:
1408 New file.
1409 * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
1410 New file.
1411 * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
1412 New file.
1413 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
1414 New file.
1415 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
1416 New file.
1417 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-dispatch-tables.rst:
1418 New file.
1419 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-uninitialized-variables.rst:
1420 New file.
1421 * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
1422 New file.
1423 * doc/gccint/target-macros/describing-relative-costs-of-operations.rst: New file.
1424 * doc/gccint/target-macros/dividing-the-output-into-sections-texts-data.rst: New file.
1425 * doc/gccint/target-macros/emulating-tls.rst: New file.
1426 * doc/gccint/target-macros/implementing-the-varargs-macros.rst: New file.
1427 * doc/gccint/target-macros/implicit-calls-to-library-routines.rst: New file.
1428 * doc/gccint/target-macros/layout-of-source-language-data-types.rst: New file.
1429 * doc/gccint/target-macros/miscellaneous-parameters.rst: New file.
1430 * doc/gccint/target-macros/mode-switching-instructions.rst: New file.
1431 * doc/gccint/target-macros/parameters-for-precompiled-header-validity-checking.rst:
1432 New file.
1433 * doc/gccint/target-macros/position-independent-code.rst: New file.
1434 * doc/gccint/target-macros/register-classes.rst: New file.
1435 * doc/gccint/target-macros/register-usage.rst: New file.
1436 * doc/gccint/target-macros/run-time-target-specification.rst: New file.
1437 * doc/gccint/target-macros/stack-layout-and-calling-conventions.rst: New file.
1438 * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
1439 New file.
1440 * doc/gccint/target-macros/stack-layout-and-calling-conventions/caller-saves-register-allocation.rst:
1441 New file.
1442 * doc/gccint/target-macros/stack-layout-and-calling-conventions/eliminating-frame-pointer-and-arg-pointer.rst:
1443 New file.
1444 * doc/gccint/target-macros/stack-layout-and-calling-conventions/exception-handling-support.rst:
1445 New file.
1446 * doc/gccint/target-macros/stack-layout-and-calling-conventions/function-entry-and-exit.rst:
1447 New file.
1448 * doc/gccint/target-macros/stack-layout-and-calling-conventions/generating-code-for-profiling.rst:
1449 New file.
1450 * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-large-values-are-returned.rst:
1451 New file.
1452 * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-scalar-function-values-are-returned.rst:
1453 New file.
1454 * doc/gccint/target-macros/stack-layout-and-calling-conventions/miscellaneous-register-hooks.rst:
1455 New file.
1456 * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
1457 New file.
1458 * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
1459 New file.
1460 * doc/gccint/target-macros/stack-layout-and-calling-conventions/permitting-tail-calls.rst:
1461 New file.
1462 * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
1463 New file.
1464 * doc/gccint/target-macros/stack-layout-and-calling-conventions/shrink-wrapping-separate-components.rst:
1465 New file.
1466 * doc/gccint/target-macros/stack-layout-and-calling-conventions/specifying-how-stack-checking-is-done.rst:
1467 New file.
1468 * doc/gccint/target-macros/stack-layout-and-calling-conventions/stack-smashing-protection.rst:
1469 New file.
1470 * doc/gccint/target-macros/storage-layout.rst: New file.
1471 * doc/gccint/target-macros/support-for-nested-functions.rst: New file.
1472 * doc/gccint/target-macros/the-global-targetm-variable.rst: New file.
1473 * doc/gccint/target-makefile-fragments.rst: New file.
1474 * doc/gccint/testsuites.rst: New test.
1475 * doc/gccint/testsuites/ada-language-testsuites.rst: New test.
1476 * doc/gccint/testsuites/c-language-testsuites.rst: New test.
1477 * doc/gccint/testsuites/directives-used-within-dejagnu-tests.rst: New test.
1478 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/commands-for-use-in-dg-final.rst:
1479 New test.
1480 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/features-for-dg-add-options.rst:
1481 New test.
1482 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/keywords-describing-target-attributes.rst:
1483 New test.
1484 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/selecting-targets-to-which-a-test-applies.rst:
1485 New test.
1486 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/syntax-and-descriptions-of-test-directives.rst:
1487 New test.
1488 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/variants-of-dg-require-support.rst:
1489 New test.
1490 * doc/gccint/testsuites/idioms-used-in-testsuite-code.rst: New test.
1491 * doc/gccint/testsuites/support-for-testing-binary-compatibility.rst: New test.
1492 * doc/gccint/testsuites/support-for-testing-gcov.rst: New test.
1493 * doc/gccint/testsuites/support-for-testing-gimple-passes.rst: New test.
1494 * doc/gccint/testsuites/support-for-testing-link-time-optimizations.rst: New test.
1495 * doc/gccint/testsuites/support-for-testing-profile-directed-optimizations.rst: New test.
1496 * doc/gccint/testsuites/support-for-testing-rtl-passes.rst: New test.
1497 * doc/gccint/testsuites/support-for-torture-testing-using-multiple-options.rst: New test.
1498 * doc/gccint/the-gcc-low-level-runtime-library.rst: New file.
1499 * doc/gccint/the-gcc-low-level-runtime-library/language-independent-routines-for-exception-handling.rst:
1500 New file.
1501 * doc/gccint/the-gcc-low-level-runtime-library/miscellaneous-runtime-library-routines.rst:
1502 New file.
1503 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-decimal-floating-point-emulation.rst:
1504 New file.
1505 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-fixed-point-fractional-emulation.rst:
1506 New file.
1507 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-floating-point-emulation.rst:
1508 New file.
1509 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-integer-arithmetic.rst:
1510 New file.
1511 * doc/gccint/the-language.rst: New file.
1512 * doc/gccint/user-experience-guidelines.rst: New file.
1513 * doc/install/binaries.rst: New file.
1514 * doc/install/building.rst: New file.
1515 * doc/install/building/building-a-cross-compiler.rst: New file.
1516 * doc/install/building/building-a-native-compiler.rst: New file.
1517 * doc/install/building/building-in-parallel.rst: New file.
1518 * doc/install/building/building-the-ada-compiler.rst: New file.
1519 * doc/install/building/building-the-d-compiler.rst: New file.
1520 * doc/install/building/building-with-profile-feedback.rst: New file.
1521 * doc/install/conf.py: New file.
1522 * doc/install/configuration.rst: New file.
1523 * doc/install/copyright.rst: New file.
1524 * doc/install/downloading-gcc.rst: New file.
1525 * doc/install/final-installation.rst: New file.
1526 * doc/install/gnu-free-documentation-license.rst: New file.
1527 * doc/install/host-target-specific-installation-notes-for-gcc.rst: New file.
1528 * doc/install/how-can-you-run-the-testsuite-on-selected-tests.rst: New test.
1529 * doc/install/how-to-interpret-test-results.rst: New file.
1530 * doc/install/index.rst: New file.
1531 * doc/install/indices-and-tables.rst: New file.
1532 * doc/install/installing-gcc.rst: New file.
1533 * doc/install/passing-options-and-running-multiple-testsuites.rst: New test.
1534 * doc/install/prerequisites.rst: New file.
1535 * doc/install/submitting-test-results.rst: New file.
1536 * doc/install/testing.rst: New file.
1537
1538 2022-11-14 Martin Liska <mliska@suse.cz>
1539
1540 * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst: Revert.
1541
1542 2022-11-14 Martin Liska <mliska@suse.cz>
1543
1544 Revert:
1545 2022-11-14 Martin Liska <mliska@suse.cz>
1546
1547 * common/common-target.def: Port to RST.
1548 * target.def: Port to RST.
1549
1550 2022-11-14 Martin Liska <mliska@suse.cz>
1551
1552 Revert:
1553 2022-11-09 Martin Liska <mliska@suse.cz>
1554
1555 * doc/gccint/target-macros/adding-support-for-named-address-spaces.rst: Use tm.rst.in file.
1556 * doc/gccint/target-macros/addressing-modes.rst: Likewise.
1557 * doc/gccint/target-macros/adjusting-the-instruction-scheduler.rst: Likewise.
1558 * doc/gccint/target-macros/anchored-addresses.rst: Likewise.
1559 * doc/gccint/target-macros/c++-abi-parameters.rst: Likewise.
1560 * doc/gccint/target-macros/condition-code-status.rst: Likewise.
1561 * doc/gccint/target-macros/controlling-debugging-information-format.rst: Likewise.
1562 * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: Likewise.
1563 * doc/gccint/target-macros/d-abi-parameters.rst: Likewise.
1564 * doc/gccint/target-macros/defining-target-specific-uses-of-attribute.rst: Likewise.
1565 * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
1566 Likewise.
1567 * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
1568 Likewise.
1569 * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
1570 Likewise.
1571 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
1572 Likewise.
1573 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
1574 Likewise.
1575 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-dispatch-tables.rst:
1576 Likewise.
1577 * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
1578 Likewise.
1579 * doc/gccint/target-macros/describing-relative-costs-of-operations.rst: Likewise.
1580 * doc/gccint/target-macros/dividing-the-output-into-sections-texts-data.rst: Likewise.
1581 * doc/gccint/target-macros/emulating-tls.rst: Likewise.
1582 * doc/gccint/target-macros/implementing-the-varargs-macros.rst: Likewise.
1583 * doc/gccint/target-macros/implicit-calls-to-library-routines.rst: Likewise.
1584 * doc/gccint/target-macros/layout-of-source-language-data-types.rst: Likewise.
1585 * doc/gccint/target-macros/miscellaneous-parameters.rst: Likewise.
1586 * doc/gccint/target-macros/mode-switching-instructions.rst: Likewise.
1587 * doc/gccint/target-macros/parameters-for-precompiled-header-validity-checking.rst:
1588 Likewise.
1589 * doc/gccint/target-macros/register-classes.rst: Likewise.
1590 * doc/gccint/target-macros/register-usage.rst: Likewise.
1591 * doc/gccint/target-macros/run-time-target-specification.rst: Likewise.
1592 * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
1593 Likewise.
1594 * doc/gccint/target-macros/stack-layout-and-calling-conventions/eliminating-frame-pointer-and-arg-pointer.rst:
1595 Likewise.
1596 * doc/gccint/target-macros/stack-layout-and-calling-conventions/function-entry-and-exit.rst:
1597 Likewise.
1598 * doc/gccint/target-macros/stack-layout-and-calling-conventions/generating-code-for-profiling.rst:
1599 Likewise.
1600 * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-large-values-are-returned.rst:
1601 Likewise.
1602 * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-scalar-function-values-are-returned.rst:
1603 Likewise.
1604 * doc/gccint/target-macros/stack-layout-and-calling-conventions/miscellaneous-register-hooks.rst:
1605 Likewise.
1606 * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
1607 Likewise.
1608 * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
1609 Likewise.
1610 * doc/gccint/target-macros/stack-layout-and-calling-conventions/permitting-tail-calls.rst:
1611 Likewise.
1612 * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
1613 Likewise.
1614 * doc/gccint/target-macros/stack-layout-and-calling-conventions/shrink-wrapping-separate-components.rst:
1615 Likewise.
1616 * doc/gccint/target-macros/stack-layout-and-calling-conventions/specifying-how-stack-checking-is-done.rst:
1617 Likewise.
1618 * doc/gccint/target-macros/stack-layout-and-calling-conventions/stack-smashing-protection.rst:
1619 Likewise.
1620 * doc/gccint/target-macros/storage-layout.rst: Likewise.
1621 * doc/gccint/target-macros/support-for-nested-functions.rst: Likewise.
1622
1623 2022-11-14 Martin Liska <mliska@suse.cz>
1624
1625 Revert:
1626 2022-11-14 Martin Liska <mliska@suse.cz>
1627
1628 * Makefile.in: Support Sphinx based documentation.
1629 * configure: Regenerate.
1630 * configure.ac: Support Sphinx based documentation.
1631 * genhooks.cc (struct s_hook): Emit tm.rst.in file.
1632
1633 2022-11-14 Martin Liska <mliska@suse.cz>
1634
1635 Revert:
1636 2022-11-09 Martin Liska <mliska@suse.cz>
1637
1638 * doc/gccint/target-macros/tm.rst.in: New file.
1639
1640 2022-11-14 Martin Liska <mliska@suse.cz>
1641
1642 Revert:
1643 2022-11-14 Martin Liska <mliska@suse.cz>
1644
1645 * doc/analyzer.texi: Removed.
1646 * doc/avr-mmcu.texi: Removed.
1647 * doc/bugreport.texi: Removed.
1648 * doc/cfg.texi: Removed.
1649 * doc/collect2.texi: Removed.
1650 * doc/compat.texi: Removed.
1651 * doc/configfiles.texi: Removed.
1652 * doc/configterms.texi: Removed.
1653 * doc/contrib.texi: Removed.
1654 * doc/contribute.texi: Removed.
1655 * doc/cpp.texi: Removed.
1656 * doc/cppdiropts.texi: Removed.
1657 * doc/cppenv.texi: Removed.
1658 * doc/cppinternals.texi: Removed.
1659 * doc/cppopts.texi: Removed.
1660 * doc/cppwarnopts.texi: Removed.
1661 * doc/extend.texi: Removed.
1662 * doc/fragments.texi: Removed.
1663 * doc/frontends.texi: Removed.
1664 * doc/gcc.texi: Removed.
1665 * doc/gccint.texi: Removed.
1666 * doc/gcov-dump.texi: Removed.
1667 * doc/gcov-tool.texi: Removed.
1668 * doc/gcov.texi: Removed.
1669 * doc/generic.texi: Removed.
1670 * doc/gimple.texi: Removed.
1671 * doc/gnu.texi: Removed.
1672 * doc/gty.texi: Removed.
1673 * doc/headerdirs.texi: Removed.
1674 * doc/hostconfig.texi: Removed.
1675 * doc/implement-c.texi: Removed.
1676 * doc/implement-cxx.texi: Removed.
1677 * doc/include/fdl.texi: Removed.
1678 * doc/include/funding.texi: Removed.
1679 * doc/include/gcc-common.texi: Removed.
1680 * doc/include/gpl_v3.texi: Removed.
1681 * doc/install.texi: Removed.
1682 * doc/interface.texi: Removed.
1683 * doc/invoke.texi: Removed.
1684 * doc/languages.texi: Removed.
1685 * doc/libgcc.texi: Removed.
1686 * doc/loop.texi: Removed.
1687 * doc/lto-dump.texi: Removed.
1688 * doc/lto.texi: Removed.
1689 * doc/makefile.texi: Removed.
1690 * doc/match-and-simplify.texi: Removed.
1691 * doc/md.texi: Removed.
1692 * doc/objc.texi: Removed.
1693 * doc/optinfo.texi: Removed.
1694 * doc/options.texi: Removed.
1695 * doc/passes.texi: Removed.
1696 * doc/plugins.texi: Removed.
1697 * doc/poly-int.texi: Removed.
1698 * doc/portability.texi: Removed.
1699 * doc/rtl.texi: Removed.
1700 * doc/service.texi: Removed.
1701 * doc/sourcebuild.texi: Removed.
1702 * doc/standards.texi: Removed.
1703 * doc/tm.texi: Removed.
1704 * doc/tree-ssa.texi: Removed.
1705 * doc/trouble.texi: Removed.
1706 * doc/ux.texi: Removed.
1707 * doc/tm.texi.in: Removed.
1708
1709 2022-11-14 Martin Liska <mliska@suse.cz>
1710
1711 Revert:
1712 2022-11-09 Martin Liska <mliska@suse.cz>
1713
1714 * target.def: Use proper lexers for target macros.
1715 * doc/gccint/target-macros/tm.rst.in: Re-generate.
1716
1717 2022-11-14 Martin Liska <mliska@suse.cz>
1718
1719 Revert:
1720 2022-11-09 Martin Liska <mliska@suse.cz>
1721
1722 * Makefile.in: Support --with-sphinx-build.
1723 * configure.ac:
1724 * configure: Regenerate.
1725
1726 2022-11-14 Martin Liska <mliska@suse.cz>
1727
1728 Revert:
1729 2022-11-14 Martin Liska <mliska@suse.cz>
1730
1731 * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst:
1732 Fix cross manual refs.
1733 * doc/gcc/language-standards-supported-by-gcc/references-for-other-languages.rst:
1734 Likewise.
1735
1736 2022-11-14 Martin Liska <mliska@suse.cz>
1737
1738 Revert:
1739 2022-11-09 Martin Liska <mliska@suse.cz>
1740
1741 * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
1742 Do not include tm.rst.in.
1743 * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
1744 Likewise.
1745 * doc/gccint/target-macros/run-time-target-specification.rst:
1746 Likewise.
1747
1748 2022-11-14 Martin Liska <mliska@suse.cz>
1749
1750 Revert:
1751 2022-11-09 Martin Liska <mliska@suse.cz>
1752
1753 * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
1754 Port to RST.
1755 * doc/gccint/target-macros/storage-layout.rst: Likewise.
1756 * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: Sync with master.
1757 * doc/gcc/gcc-command-options/option-summary.rst: Likewise.
1758
1759 2022-11-14 Martin Liska <mliska@suse.cz>
1760
1761 Revert:
1762 2022-11-09 Martin Liska <mliska@suse.cz>
1763
1764 * Makefile.in: Support installation if sphinx-build is missing.
1765
1766 2022-11-14 Martin Liska <mliska@suse.cz>
1767
1768 Revert:
1769 2022-11-09 Martin Liska <mliska@suse.cz>
1770
1771 * Makefile.in: Add vpath default for .rst files.
1772 * config/avr/avr-devices.cc: For port RST.
1773 * config/avr/avr-mcus.def: Update path.
1774 * config/avr/gen-avr-mmcu-texi.cc: Moved to...
1775 * config/avr/gen-avr-mmcu-rst.cc: ...here.
1776 * config/avr/t-avr: Update to rst.
1777 * doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst: Re-generate.
1778
1779 2022-11-14 Martin Liska <mliska@suse.cz>
1780
1781 Revert:
1782 2022-11-09 Martin Liska <mliska@suse.cz>
1783
1784 * opts.cc (get_option_html_page): Port to sphinx URLs.
1785 (get_option_url): Likewise.
1786 (test_get_option_html_page): Likewise.
1787
1788 2022-11-14 Martin Liska <mliska@suse.cz>
1789
1790 Revert:
1791 2022-11-14 Martin Liska <mliska@suse.cz>
1792
1793 * doc/cpp/character-sets.rst:
1794 Add trailing newline.
1795 * doc/cpp/conditional-syntax.rst:
1796 Add trailing newline.
1797 * doc/cpp/conditional-uses.rst:
1798 Add trailing newline.
1799 * doc/cpp/conditionals.rst:
1800 Add trailing newline.
1801 * doc/cpp/copyright.rst:
1802 Add trailing newline.
1803 * doc/cpp/deleted-code.rst:
1804 Add trailing newline.
1805 * doc/cpp/diagnostics.rst:
1806 Add trailing newline.
1807 * doc/cpp/environment-variables.rst:
1808 Add trailing newline.
1809 * doc/cpp/gnu-free-documentation-license.rst:
1810 Add trailing newline.
1811 * doc/cpp/header-files.rst:
1812 Add trailing newline.
1813 * doc/cpp/header-files/alternatives-to-wrapper-ifndef.rst:
1814 Add trailing newline.
1815 * doc/cpp/header-files/computed-includes.rst:
1816 Add trailing newline.
1817 * doc/cpp/header-files/include-operation.rst:
1818 Add trailing newline.
1819 * doc/cpp/header-files/include-syntax.rst:
1820 Add trailing newline.
1821 * doc/cpp/header-files/once-only-headers.rst:
1822 Add trailing newline.
1823 * doc/cpp/header-files/search-path.rst:
1824 Add trailing newline.
1825 * doc/cpp/header-files/system-headers.rst:
1826 Add trailing newline.
1827 * doc/cpp/header-files/wrapper-headers.rst:
1828 Add trailing newline.
1829 * doc/cpp/implementation-defined-behavior.rst:
1830 Add trailing newline.
1831 * doc/cpp/implementation-details.rst:
1832 Add trailing newline.
1833 * doc/cpp/implementation-limits.rst:
1834 Add trailing newline.
1835 * doc/cpp/index.rst:
1836 Add trailing newline.
1837 * doc/cpp/indices-and-tables.rst:
1838 Add trailing newline.
1839 * doc/cpp/initial-processing.rst:
1840 Add trailing newline.
1841 * doc/cpp/invocation.rst:
1842 Add trailing newline.
1843 * doc/cpp/line-control.rst:
1844 Add trailing newline.
1845 * doc/cpp/macros.rst:
1846 Add trailing newline.
1847 * doc/cpp/macros/concatenation.rst:
1848 Add trailing newline.
1849 * doc/cpp/macros/directives-within-macro-arguments.rst:
1850 Add trailing newline.
1851 * doc/cpp/macros/function-like-macros.rst:
1852 Add trailing newline.
1853 * doc/cpp/macros/macro-arguments.rst:
1854 Add trailing newline.
1855 * doc/cpp/macros/macro-pitfalls.rst:
1856 Add trailing newline.
1857 * doc/cpp/macros/object-like-macros.rst:
1858 Add trailing newline.
1859 * doc/cpp/macros/predefined-macros.rst:
1860 Add trailing newline.
1861 * doc/cpp/macros/stringizing.rst:
1862 Add trailing newline.
1863 * doc/cpp/macros/undefining-and-redefining-macros.rst:
1864 Add trailing newline.
1865 * doc/cpp/macros/variadic-macros.rst:
1866 Add trailing newline.
1867 * doc/cpp/obsolete-features.rst:
1868 Add trailing newline.
1869 * doc/cpp/other-directives.rst:
1870 Add trailing newline.
1871 * doc/cpp/overview.rst:
1872 Add trailing newline.
1873 * doc/cpp/pragmas.rst:
1874 Add trailing newline.
1875 * doc/cpp/preprocessor-output.rst:
1876 Add trailing newline.
1877 * doc/cpp/the-preprocessing-language.rst:
1878 Add trailing newline.
1879 * doc/cpp/tokenization.rst:
1880 Add trailing newline.
1881 * doc/cpp/traditional-lexical-analysis.rst:
1882 Add trailing newline.
1883 * doc/cpp/traditional-macros.rst:
1884 Add trailing newline.
1885 * doc/cpp/traditional-miscellany.rst:
1886 Add trailing newline.
1887 * doc/cpp/traditional-mode.rst:
1888 Add trailing newline.
1889 * doc/cpp/traditional-warnings.rst:
1890 Add trailing newline.
1891 * doc/cppinternals/copyright.rst:
1892 Add trailing newline.
1893 * doc/cppinternals/cppinternals.rst:
1894 Add trailing newline.
1895 * doc/cppinternals/cpplib.rst:
1896 Add trailing newline.
1897 * doc/cppinternals/files.rst:
1898 Add trailing newline.
1899 * doc/cppinternals/index.rst:
1900 Add trailing newline.
1901 * doc/cppinternals/indices-and-tables.rst:
1902 Add trailing newline.
1903 * doc/cppinternals/internal-representation-of-macros.rst:
1904 Add trailing newline.
1905 * doc/cppinternals/just-which-line-number-anyway.rst:
1906 Add trailing newline.
1907 * doc/cppinternals/lexing-a-line.rst:
1908 Add trailing newline.
1909 * doc/cppinternals/lexing-a-token.rst:
1910 Add trailing newline.
1911 * doc/cppinternals/looking-for-a-function-like-macros-opening-parenthesis.rst:
1912 Add trailing newline.
1913 * doc/cppinternals/macro-expansion-overview.rst:
1914 Add trailing newline.
1915 * doc/cppinternals/marking-tokens-ineligible-for-future-expansion.rst:
1916 Add trailing newline.
1917 * doc/cppinternals/multiple-include-optimization.rst:
1918 Add trailing newline.
1919 * doc/cppinternals/overview.rst:
1920 Add trailing newline.
1921 * doc/cppinternals/representation-of-line-numbers.rst:
1922 Add trailing newline.
1923 * doc/cppinternals/scanning-the-replacement-list-for-macros-to-expand.rst:
1924 Add trailing newline.
1925 * doc/gcc/binary-compatibility.rst:
1926 Add trailing newline.
1927 * doc/gcc/c++-implementation-defined-behavior.rst:
1928 Add trailing newline.
1929 * doc/gcc/c-implementation-defined-behavior.rst:
1930 Add trailing newline.
1931 * doc/gcc/c-implementation-defined-behavior/architecture.rst:
1932 Add trailing newline.
1933 * doc/gcc/c-implementation-defined-behavior/arrays-and-pointers.rst:
1934 Add trailing newline.
1935 * doc/gcc/c-implementation-defined-behavior/characters.rst:
1936 Add trailing newline.
1937 * doc/gcc/c-implementation-defined-behavior/declarators.rst:
1938 Add trailing newline.
1939 * doc/gcc/c-implementation-defined-behavior/environment.rst:
1940 Add trailing newline.
1941 * doc/gcc/c-implementation-defined-behavior/floating-point.rst:
1942 Add trailing newline.
1943 * doc/gcc/c-implementation-defined-behavior/hints.rst:
1944 Add trailing newline.
1945 * doc/gcc/c-implementation-defined-behavior/identifiers.rst:
1946 Add trailing newline.
1947 * doc/gcc/c-implementation-defined-behavior/integers.rst:
1948 Add trailing newline.
1949 * doc/gcc/c-implementation-defined-behavior/library-functions.rst:
1950 Add trailing newline.
1951 * doc/gcc/c-implementation-defined-behavior/locale-specific-behavior.rst:
1952 Add trailing newline.
1953 * doc/gcc/c-implementation-defined-behavior/preprocessing-directives.rst:
1954 Add trailing newline.
1955 * doc/gcc/c-implementation-defined-behavior/qualifiers.rst:
1956 Add trailing newline.
1957 * doc/gcc/c-implementation-defined-behavior/statements.rst:
1958 Add trailing newline.
1959 * doc/gcc/c-implementation-defined-behavior/structures-unions-enumerations-and-bit-fields.rst:
1960 Add trailing newline.
1961 * doc/gcc/c-implementation-defined-behavior/translation.rst:
1962 Add trailing newline.
1963 * doc/gcc/conditionally-supported-behavior.rst:
1964 Add trailing newline.
1965 * doc/gcc/contributing-to-gcc-development.rst:
1966 Add trailing newline.
1967 * doc/gcc/contributors-to-gcc.rst:
1968 Add trailing newline.
1969 * doc/gcc/copyright.rst:
1970 Add trailing newline.
1971 * doc/gcc/exception-handling.rst:
1972 Add trailing newline.
1973 * doc/gcc/extensions-to-the-c++-language.rst:
1974 Add trailing newline.
1975 * doc/gcc/extensions-to-the-c++-language/backwards-compatibility.rst:
1976 Add trailing newline.
1977 * doc/gcc/extensions-to-the-c++-language/c++-concepts.rst:
1978 Add trailing newline.
1979 * doc/gcc/extensions-to-the-c++-language/c++-interface-and-implementation-pragmas.rst:
1980 Add trailing newline.
1981 * doc/gcc/extensions-to-the-c++-language/c++-specific-variable-function-and-type-attributes.rst:
1982 Add trailing newline.
1983 * doc/gcc/extensions-to-the-c++-language/deprecated-features.rst:
1984 Add trailing newline.
1985 * doc/gcc/extensions-to-the-c++-language/extracting-the-function-pointer-from-a-bound-pointer-to-member-function.rst:
1986 Add trailing newline.
1987 * doc/gcc/extensions-to-the-c++-language/function-multiversioning.rst:
1988 Add trailing newline.
1989 * doc/gcc/extensions-to-the-c++-language/restricting-pointer-aliasing.rst:
1990 Add trailing newline.
1991 * doc/gcc/extensions-to-the-c++-language/type-traits.rst:
1992 Add trailing newline.
1993 * doc/gcc/extensions-to-the-c++-language/vague-linkage.rst:
1994 Add trailing newline.
1995 * doc/gcc/extensions-to-the-c++-language/when-is-a-volatile-c++-object-accessed.rst:
1996 Add trailing newline.
1997 * doc/gcc/extensions-to-the-c++-language/wheres-the-template.rst:
1998 Add trailing newline.
1999 * doc/gcc/extensions-to-the-c-language-family.rst:
2000 Add trailing newline.
2001 * doc/gcc/extensions-to-the-c-language-family/128-bit-integers.rst:
2002 Add trailing newline.
2003 * doc/gcc/extensions-to-the-c-language-family/additional-floating-types.rst:
2004 Add trailing newline.
2005 * doc/gcc/extensions-to-the-c-language-family/alternate-keywords.rst:
2006 Add trailing newline.
2007 * doc/gcc/extensions-to-the-c-language-family/an-inline-function-is-as-fast-as-a-macro.rst:
2008 Add trailing newline.
2009 * doc/gcc/extensions-to-the-c-language-family/arithmetic-on-void-and-function-pointers.rst:
2010 Add trailing newline.
2011 * doc/gcc/extensions-to-the-c-language-family/arrays-of-length-zero.rst:
2012 Add trailing newline.
2013 * doc/gcc/extensions-to-the-c-language-family/arrays-of-variable-length.rst:
2014 Add trailing newline.
2015 * doc/gcc/extensions-to-the-c-language-family/attribute-syntax.rst:
2016 Add trailing newline.
2017 * doc/gcc/extensions-to-the-c-language-family/binary-constants-using-the-0b-prefix.rst:
2018 Add trailing newline.
2019 * doc/gcc/extensions-to-the-c-language-family/built-in-functions-for-memory-model-aware-atomic-operations.rst:
2020 Add trailing newline.
2021 * doc/gcc/extensions-to-the-c-language-family/built-in-functions-to-perform-arithmetic-with-overflow-checking.rst:
2022 Add trailing newline.
2023 * doc/gcc/extensions-to-the-c-language-family/c++-style-comments.rst:
2024 Add trailing newline.
2025 * doc/gcc/extensions-to-the-c-language-family/case-ranges.rst:
2026 Add trailing newline.
2027 * doc/gcc/extensions-to-the-c-language-family/cast-to-a-union-type.rst:
2028 Add trailing newline.
2029 * doc/gcc/extensions-to-the-c-language-family/complex-numbers.rst:
2030 Add trailing newline.
2031 * doc/gcc/extensions-to-the-c-language-family/compound-literals.rst:
2032 Add trailing newline.
2033 * doc/gcc/extensions-to-the-c-language-family/conditionals-with-omitted-operands.rst:
2034 Add trailing newline.
2035 * doc/gcc/extensions-to-the-c-language-family/constructing-function-calls.rst:
2036 Add trailing newline.
2037 * doc/gcc/extensions-to-the-c-language-family/decimal-floating-types.rst:
2038 Add trailing newline.
2039 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions.rst:
2040 Add trailing newline.
2041 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/aarch64-function-attributes.rst:
2042 Add trailing newline.
2043 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/amd-gcn-function-attributes.rst:
2044 Add trailing newline.
2045 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arc-function-attributes.rst:
2046 Add trailing newline.
2047 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arm-function-attributes.rst:
2048 Add trailing newline.
2049 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/avr-function-attributes.rst:
2050 Add trailing newline.
2051 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/blackfin-function-attributes.rst:
2052 Add trailing newline.
2053 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/bpf-function-attributes.rst:
2054 Add trailing newline.
2055 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/c-sky-function-attributes.rst:
2056 Add trailing newline.
2057 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/common-function-attributes.rst:
2058 Add trailing newline.
2059 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/epiphany-function-attributes.rst:
2060 Add trailing newline.
2061 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/h8-300-function-attributes.rst:
2062 Add trailing newline.
2063 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/ia-64-function-attributes.rst:
2064 Add trailing newline.
2065 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32c-function-attributes.rst:
2066 Add trailing newline.
2067 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32r-d-function-attributes.rst:
2068 Add trailing newline.
2069 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m68k-function-attributes.rst:
2070 Add trailing newline.
2071 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mcore-function-attributes.rst:
2072 Add trailing newline.
2073 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mep-function-attributes.rst:
2074 Add trailing newline.
2075 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microblaze-function-attributes.rst:
2076 Add trailing newline.
2077 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microsoft-windows-function-attributes.rst:
2078 Add trailing newline.
2079 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mips-function-attributes.rst:
2080 Add trailing newline.
2081 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/msp430-function-attributes.rst:
2082 Add trailing newline.
2083 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nds32-function-attributes.rst:
2084 Add trailing newline.
2085 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nios-ii-function-attributes.rst:
2086 Add trailing newline.
2087 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nvidia-ptx-function-attributes.rst:
2088 Add trailing newline.
2089 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/powerpc-function-attributes.rst:
2090 Add trailing newline.
2091 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/risc-v-function-attributes.rst:
2092 Add trailing newline.
2093 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rl78-function-attributes.rst:
2094 Add trailing newline.
2095 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rx-function-attributes.rst:
2096 Add trailing newline.
2097 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/s-390-function-attributes.rst:
2098 Add trailing newline.
2099 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/sh-function-attributes.rst:
2100 Add trailing newline.
2101 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/symbian-os-function-attributes.rst:
2102 Add trailing newline.
2103 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/v850-function-attributes.rst:
2104 Add trailing newline.
2105 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/visium-function-attributes.rst:
2106 Add trailing newline.
2107 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/x86-function-attributes.rst:
2108 Add trailing newline.
2109 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/xstormy16-function-attributes.rst:
2110 Add trailing newline.
2111 * doc/gcc/extensions-to-the-c-language-family/designated-initializers.rst:
2112 Add trailing newline.
2113 * doc/gcc/extensions-to-the-c-language-family/determining-the-alignment-of-functions-types-or-variables.rst:
2114 Add trailing newline.
2115 * doc/gcc/extensions-to-the-c-language-family/dollar-signs-in-identifier-names.rst:
2116 Add trailing newline.
2117 * doc/gcc/extensions-to-the-c-language-family/double-word-integers.rst:
2118 Add trailing newline.
2119 * doc/gcc/extensions-to-the-c-language-family/enumerator-attributes.rst:
2120 Add trailing newline.
2121 * doc/gcc/extensions-to-the-c-language-family/fixed-point-types.rst:
2122 Add trailing newline.
2123 * doc/gcc/extensions-to-the-c-language-family/format-checks-specific-to-particular-target-machines.rst:
2124 Add trailing newline.
2125 * doc/gcc/extensions-to-the-c-language-family/function-names-as-strings.rst:
2126 Add trailing newline.
2127 * doc/gcc/extensions-to-the-c-language-family/getting-the-return-or-frame-address-of-a-function.rst:
2128 Add trailing newline.
2129 * doc/gcc/extensions-to-the-c-language-family/half-precision-floating-point.rst:
2130 Add trailing newline.
2131 * doc/gcc/extensions-to-the-c-language-family/hex-floats.rst:
2132 Add trailing newline.
2133 * doc/gcc/extensions-to-the-c-language-family/how-to-use-inline-assembly-language-in-c-code.rst:
2134 Add trailing newline.
2135 * doc/gcc/extensions-to-the-c-language-family/incomplete-enum-types.rst:
2136 Add trailing newline.
2137 * doc/gcc/extensions-to-the-c-language-family/label-attributes.rst:
2138 Add trailing newline.
2139 * doc/gcc/extensions-to-the-c-language-family/labels-as-values.rst:
2140 Add trailing newline.
2141 * doc/gcc/extensions-to-the-c-language-family/legacy-sync-built-in-functions-for-atomic-memory-access.rst:
2142 Add trailing newline.
2143 * doc/gcc/extensions-to-the-c-language-family/locally-declared-labels.rst:
2144 Add trailing newline.
2145 * doc/gcc/extensions-to-the-c-language-family/macros-with-a-variable-number-of-arguments.rst:
2146 Add trailing newline.
2147 * doc/gcc/extensions-to-the-c-language-family/mixed-declarations-labels-and-code.rst:
2148 Add trailing newline.
2149 * doc/gcc/extensions-to-the-c-language-family/named-address-spaces.rst:
2150 Add trailing newline.
2151 * doc/gcc/extensions-to-the-c-language-family/nested-functions.rst:
2152 Add trailing newline.
2153 * doc/gcc/extensions-to-the-c-language-family/non-constant-initializers.rst:
2154 Add trailing newline.
2155 * doc/gcc/extensions-to-the-c-language-family/non-lvalue-arrays-may-have-subscripts.rst:
2156 Add trailing newline.
2157 * doc/gcc/extensions-to-the-c-language-family/nonlocal-gotos.rst:
2158 Add trailing newline.
2159 * doc/gcc/extensions-to-the-c-language-family/object-size-checking-built-in-functions.rst:
2160 Add trailing newline.
2161 * doc/gcc/extensions-to-the-c-language-family/other-built-in-functions-provided-by-gcc.rst:
2162 Add trailing newline.
2163 * doc/gcc/extensions-to-the-c-language-family/pointer-arguments-in-variadic-functions.rst:
2164 Add trailing newline.
2165 * doc/gcc/extensions-to-the-c-language-family/pointers-to-arrays-with-qualifiers-work-as-expected.rst:
2166 Add trailing newline.
2167 * doc/gcc/extensions-to-the-c-language-family/pragmas-accepted-by-gcc.rst:
2168 Add trailing newline.
2169 * doc/gcc/extensions-to-the-c-language-family/prototypes-and-old-style-function-definitions.rst:
2170 Add trailing newline.
2171 * doc/gcc/extensions-to-the-c-language-family/referring-to-a-type-with-typeof.rst:
2172 Add trailing newline.
2173 * doc/gcc/extensions-to-the-c-language-family/slightly-looser-rules-for-escaped-newlines.rst:
2174 Add trailing newline.
2175 * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-types.rst:
2176 Add trailing newline.
2177 * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-variables.rst:
2178 Add trailing newline.
2179 * doc/gcc/extensions-to-the-c-language-family/statement-attributes.rst:
2180 Add trailing newline.
2181 * doc/gcc/extensions-to-the-c-language-family/statements-and-declarations-in-expressions.rst:
2182 Add trailing newline.
2183 * doc/gcc/extensions-to-the-c-language-family/structures-with-no-members.rst:
2184 Add trailing newline.
2185 * doc/gcc/extensions-to-the-c-language-family/support-for-offsetof.rst:
2186 Add trailing newline.
2187 * doc/gcc/extensions-to-the-c-language-family/target-builtins.rst:
2188 Add trailing newline.
2189 * doc/gcc/extensions-to-the-c-language-family/target-builtins/aarch64-built-in-functions.rst:
2190 Add trailing newline.
2191 * doc/gcc/extensions-to-the-c-language-family/target-builtins/alpha-built-in-functions.rst:
2192 Add trailing newline.
2193 * doc/gcc/extensions-to-the-c-language-family/target-builtins/altera-nios-ii-built-in-functions.rst:
2194 Add trailing newline.
2195 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-built-in-functions.rst:
2196 Add trailing newline.
2197 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-simd-built-in-functions.rst:
2198 Add trailing newline.
2199 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-armv8-m-security-extensions.rst:
2200 Add trailing newline.
2201 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-c-language-extensions-acle.rst:
2202 Add trailing newline.
2203 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-floating-point-status-and-control-intrinsics.rst:
2204 Add trailing newline.
2205 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-iwmmxt-built-in-functions.rst:
2206 Add trailing newline.
2207 * doc/gcc/extensions-to-the-c-language-family/target-builtins/avr-built-in-functions.rst:
2208 Add trailing newline.
2209 * doc/gcc/extensions-to-the-c-language-family/target-builtins/basic-powerpc-built-in-functions.rst:
2210 Add trailing newline.
2211 * doc/gcc/extensions-to-the-c-language-family/target-builtins/blackfin-built-in-functions.rst:
2212 Add trailing newline.
2213 * doc/gcc/extensions-to-the-c-language-family/target-builtins/bpf-built-in-functions.rst:
2214 Add trailing newline.
2215 * doc/gcc/extensions-to-the-c-language-family/target-builtins/fr-v-built-in-functions.rst:
2216 Add trailing newline.
2217 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-dsp-built-in-functions.rst:
2218 Add trailing newline.
2219 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-loongson-built-in-functions.rst:
2220 Add trailing newline.
2221 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-paired-single-support.rst:
2222 Add trailing newline.
2223 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-simd-architecture-msa-support.rst:
2224 Add trailing newline.
2225 * doc/gcc/extensions-to-the-c-language-family/target-builtins/msp430-built-in-functions.rst:
2226 Add trailing newline.
2227 * doc/gcc/extensions-to-the-c-language-family/target-builtins/nds32-built-in-functions.rst:
2228 Add trailing newline.
2229 * doc/gcc/extensions-to-the-c-language-family/target-builtins/other-mips-built-in-functions.rst:
2230 Add trailing newline.
2231 * doc/gcc/extensions-to-the-c-language-family/target-builtins/picochip-built-in-functions.rst:
2232 Add trailing newline.
2233 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-altivec-vsx-built-in-functions.rst:
2234 Add trailing newline.
2235 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-atomic-memory-operation-functions.rst:
2236 Add trailing newline.
2237 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-hardware-transactional-memory-built-in-functions.rst:
2238 Add trailing newline.
2239 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-matrix-multiply-assist-built-in-functions.rst:
2240 Add trailing newline.
2241 * doc/gcc/extensions-to-the-c-language-family/target-builtins/pru-built-in-functions.rst:
2242 Add trailing newline.
2243 * doc/gcc/extensions-to-the-c-language-family/target-builtins/risc-v-built-in-functions.rst:
2244 Add trailing newline.
2245 * doc/gcc/extensions-to-the-c-language-family/target-builtins/rx-built-in-functions.rst:
2246 Add trailing newline.
2247 * doc/gcc/extensions-to-the-c-language-family/target-builtins/s-390-system-z-built-in-functions.rst:
2248 Add trailing newline.
2249 * doc/gcc/extensions-to-the-c-language-family/target-builtins/sh-built-in-functions.rst:
2250 Add trailing newline.
2251 * doc/gcc/extensions-to-the-c-language-family/target-builtins/sparc-vis-built-in-functions.rst:
2252 Add trailing newline.
2253 * doc/gcc/extensions-to-the-c-language-family/target-builtins/ti-c6x-built-in-functions.rst:
2254 Add trailing newline.
2255 * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-built-in-functions.rst:
2256 Add trailing newline.
2257 * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-control-flow-protection-intrinsics.rst:
2258 Add trailing newline.
2259 * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-transactional-memory-intrinsics.rst:
2260 Add trailing newline.
2261 * doc/gcc/extensions-to-the-c-language-family/the-character-esc-in-constants.rst:
2262 Add trailing newline.
2263 * doc/gcc/extensions-to-the-c-language-family/thread-local-storage.rst:
2264 Add trailing newline.
2265 * doc/gcc/extensions-to-the-c-language-family/unnamed-structure-and-union-fields.rst:
2266 Add trailing newline.
2267 * doc/gcc/extensions-to-the-c-language-family/using-vector-instructions-through-built-in-functions.rst:
2268 Add trailing newline.
2269 * doc/gcc/extensions-to-the-c-language-family/when-is-a-volatile-object-accessed.rst:
2270 Add trailing newline.
2271 * doc/gcc/extensions-to-the-c-language-family/x86-specific-memory-model-extensions-for-transactional-memory.rst:
2272 Add trailing newline.
2273 * doc/gcc/funding.rst:
2274 Add trailing newline.
2275 * doc/gcc/gcc-command-options.rst:
2276 Add trailing newline.
2277 * doc/gcc/gcc-command-options/compiling-c++-programs.rst:
2278 Add trailing newline.
2279 * doc/gcc/gcc-command-options/description.rst:
2280 Add trailing newline.
2281 * doc/gcc/gcc-command-options/environment-variables-affecting-gcc.rst:
2282 Add trailing newline.
2283 * doc/gcc/gcc-command-options/gcc-developer-options.rst:
2284 Add trailing newline.
2285 * doc/gcc/gcc-command-options/machine-dependent-options.rst:
2286 Add trailing newline.
2287 * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst:
2288 Add trailing newline.
2289 * doc/gcc/gcc-command-options/machine-dependent-options/adapteva-epiphany-options.rst:
2290 Add trailing newline.
2291 * doc/gcc/gcc-command-options/machine-dependent-options/amd-gcn-options.rst:
2292 Add trailing newline.
2293 * doc/gcc/gcc-command-options/machine-dependent-options/arc-options.rst:
2294 Add trailing newline.
2295 * doc/gcc/gcc-command-options/machine-dependent-options/arm-options.rst:
2296 Add trailing newline.
2297 * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst:
2298 Add trailing newline.
2299 * doc/gcc/gcc-command-options/machine-dependent-options/blackfin-options.rst:
2300 Add trailing newline.
2301 * doc/gcc/gcc-command-options/machine-dependent-options/c-sky-options.rst:
2302 Add trailing newline.
2303 * doc/gcc/gcc-command-options/machine-dependent-options/c6x-options.rst:
2304 Add trailing newline.
2305 * doc/gcc/gcc-command-options/machine-dependent-options/cris-options.rst:
2306 Add trailing newline.
2307 * doc/gcc/gcc-command-options/machine-dependent-options/darwin-options.rst:
2308 Add trailing newline.
2309 * doc/gcc/gcc-command-options/machine-dependent-options/dec-alpha-options.rst:
2310 Add trailing newline.
2311 * doc/gcc/gcc-command-options/machine-dependent-options/ebpf-options.rst:
2312 Add trailing newline.
2313 * doc/gcc/gcc-command-options/machine-dependent-options/fr30-options.rst:
2314 Add trailing newline.
2315 * doc/gcc/gcc-command-options/machine-dependent-options/frv-options.rst:
2316 Add trailing newline.
2317 * doc/gcc/gcc-command-options/machine-dependent-options/ft32-options.rst:
2318 Add trailing newline.
2319 * doc/gcc/gcc-command-options/machine-dependent-options/gnu-linux-options.rst:
2320 Add trailing newline.
2321 * doc/gcc/gcc-command-options/machine-dependent-options/h8-300-options.rst:
2322 Add trailing newline.
2323 * doc/gcc/gcc-command-options/machine-dependent-options/hppa-options.rst:
2324 Add trailing newline.
2325 * doc/gcc/gcc-command-options/machine-dependent-options/ia-64-options.rst:
2326 Add trailing newline.
2327 * doc/gcc/gcc-command-options/machine-dependent-options/ibm-rs-6000-and-powerpc-options.rst:
2328 Add trailing newline.
2329 * doc/gcc/gcc-command-options/machine-dependent-options/lm32-options.rst:
2330 Add trailing newline.
2331 * doc/gcc/gcc-command-options/machine-dependent-options/loongarch-options.rst:
2332 Add trailing newline.
2333 * doc/gcc/gcc-command-options/machine-dependent-options/m32c-options.rst:
2334 Add trailing newline.
2335 * doc/gcc/gcc-command-options/machine-dependent-options/m32r-d-options.rst:
2336 Add trailing newline.
2337 * doc/gcc/gcc-command-options/machine-dependent-options/m680x0-options.rst:
2338 Add trailing newline.
2339 * doc/gcc/gcc-command-options/machine-dependent-options/mcore-options.rst:
2340 Add trailing newline.
2341 * doc/gcc/gcc-command-options/machine-dependent-options/mep-options.rst:
2342 Add trailing newline.
2343 * doc/gcc/gcc-command-options/machine-dependent-options/microblaze-options.rst:
2344 Add trailing newline.
2345 * doc/gcc/gcc-command-options/machine-dependent-options/mips-options.rst:
2346 Add trailing newline.
2347 * doc/gcc/gcc-command-options/machine-dependent-options/mmix-options.rst:
2348 Add trailing newline.
2349 * doc/gcc/gcc-command-options/machine-dependent-options/mn10300-options.rst:
2350 Add trailing newline.
2351 * doc/gcc/gcc-command-options/machine-dependent-options/moxie-options.rst:
2352 Add trailing newline.
2353 * doc/gcc/gcc-command-options/machine-dependent-options/msp430-options.rst:
2354 Add trailing newline.
2355 * doc/gcc/gcc-command-options/machine-dependent-options/nds32-options.rst:
2356 Add trailing newline.
2357 * doc/gcc/gcc-command-options/machine-dependent-options/nios-ii-options.rst:
2358 Add trailing newline.
2359 * doc/gcc/gcc-command-options/machine-dependent-options/nvidia-ptx-options.rst:
2360 Add trailing newline.
2361 * doc/gcc/gcc-command-options/machine-dependent-options/openrisc-options.rst:
2362 Add trailing newline.
2363 * doc/gcc/gcc-command-options/machine-dependent-options/options-for-system-v.rst:
2364 Add trailing newline.
2365 * doc/gcc/gcc-command-options/machine-dependent-options/pdp-11-options.rst:
2366 Add trailing newline.
2367 * doc/gcc/gcc-command-options/machine-dependent-options/picochip-options.rst:
2368 Add trailing newline.
2369 * doc/gcc/gcc-command-options/machine-dependent-options/powerpc-options.rst:
2370 Add trailing newline.
2371 * doc/gcc/gcc-command-options/machine-dependent-options/pru-options.rst:
2372 Add trailing newline.
2373 * doc/gcc/gcc-command-options/machine-dependent-options/risc-v-options.rst:
2374 Add trailing newline.
2375 * doc/gcc/gcc-command-options/machine-dependent-options/rl78-options.rst:
2376 Add trailing newline.
2377 * doc/gcc/gcc-command-options/machine-dependent-options/rx-options.rst:
2378 Add trailing newline.
2379 * doc/gcc/gcc-command-options/machine-dependent-options/s-390-and-zseries-options.rst:
2380 Add trailing newline.
2381 * doc/gcc/gcc-command-options/machine-dependent-options/score-options.rst:
2382 Add trailing newline.
2383 * doc/gcc/gcc-command-options/machine-dependent-options/sh-options.rst:
2384 Add trailing newline.
2385 * doc/gcc/gcc-command-options/machine-dependent-options/solaris-2-options.rst:
2386 Add trailing newline.
2387 * doc/gcc/gcc-command-options/machine-dependent-options/sparc-options.rst:
2388 Add trailing newline.
2389 * doc/gcc/gcc-command-options/machine-dependent-options/v850-options.rst:
2390 Add trailing newline.
2391 * doc/gcc/gcc-command-options/machine-dependent-options/vax-options.rst:
2392 Add trailing newline.
2393 * doc/gcc/gcc-command-options/machine-dependent-options/visium-options.rst:
2394 Add trailing newline.
2395 * doc/gcc/gcc-command-options/machine-dependent-options/vms-options.rst:
2396 Add trailing newline.
2397 * doc/gcc/gcc-command-options/machine-dependent-options/vxworks-options.rst:
2398 Add trailing newline.
2399 * doc/gcc/gcc-command-options/machine-dependent-options/x86-windows-options.rst:
2400 Add trailing newline.
2401 * doc/gcc/gcc-command-options/machine-dependent-options/xstormy16-options.rst:
2402 Add trailing newline.
2403 * doc/gcc/gcc-command-options/machine-dependent-options/xtensa-options.rst:
2404 Add trailing newline.
2405 * doc/gcc/gcc-command-options/machine-dependent-options/zseries-options.rst:
2406 Add trailing newline.
2407 * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst:
2408 Add trailing newline.
2409 * doc/gcc/gcc-command-options/options-controlling-c-dialect.rst:
2410 Add trailing newline.
2411 * doc/gcc/gcc-command-options/options-controlling-objective-c-and-objective-c++-dialects.rst:
2412 Add trailing newline.
2413 * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst:
2414 Add trailing newline.
2415 * doc/gcc/gcc-command-options/options-controlling-the-preprocessor.rst:
2416 Add trailing newline.
2417 * doc/gcc/gcc-command-options/options-for-code-generation-conventions.rst:
2418 Add trailing newline.
2419 * doc/gcc/gcc-command-options/options-for-debugging-your-program.rst:
2420 Add trailing newline.
2421 * doc/gcc/gcc-command-options/options-for-directory-search.rst:
2422 Add trailing newline.
2423 * doc/gcc/gcc-command-options/options-for-linking.rst:
2424 Add trailing newline.
2425 * doc/gcc/gcc-command-options/options-that-control-optimization.rst:
2426 Add trailing newline.
2427 * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
2428 Add trailing newline.
2429 * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
2430 Add trailing newline.
2431 * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst:
2432 Add trailing newline.
2433 * doc/gcc/gcc-command-options/passing-options-to-the-assembler.rst:
2434 Add trailing newline.
2435 * doc/gcc/gcc-command-options/program-instrumentation-options.rst:
2436 Add trailing newline.
2437 * doc/gcc/gcc-command-options/specifying-subprocesses-and-the-switches-to-pass-to-them.rst:
2438 Add trailing newline.
2439 * doc/gcc/gcc-command-options/using-precompiled-headers.rst:
2440 Add trailing newline.
2441 * doc/gcc/gcc.rst:
2442 Add trailing newline.
2443 * doc/gcc/gcov-dump.rst:
2444 Add trailing newline.
2445 * doc/gcc/gcov-tool.rst:
2446 Add trailing newline.
2447 * doc/gcc/gcov.rst:
2448 Add trailing newline.
2449 * doc/gcc/gcov/brief-description-of-gcov-data-files.rst:
2450 Add trailing newline.
2451 * doc/gcc/gcov/data-file-relocation-to-support-cross-profiling.rst:
2452 Add trailing newline.
2453 * doc/gcc/gcov/introduction-to-gcov.rst:
2454 Add trailing newline.
2455 * doc/gcc/gcov/invoking-gcov.rst:
2456 Add trailing newline.
2457 * doc/gcc/gcov/profiling-and-test-coverage-in-freestanding-environments.rst:
2458 Add trailing newline.
2459 * doc/gcc/gcov/using-gcov-with-gcc-optimization.rst:
2460 Add trailing newline.
2461 * doc/gcc/general-public-license-3.rst:
2462 Add trailing newline.
2463 * doc/gcc/gnu-free-documentation-license.rst:
2464 Add trailing newline.
2465 * doc/gcc/gnu-objective-c-features.rst:
2466 Add trailing newline.
2467 * doc/gcc/gnu-objective-c-features/compatibilityalias.rst:
2468 Add trailing newline.
2469 * doc/gcc/gnu-objective-c-features/constant-string-objects.rst:
2470 Add trailing newline.
2471 * doc/gcc/gnu-objective-c-features/exceptions.rst:
2472 Add trailing newline.
2473 * doc/gcc/gnu-objective-c-features/fast-enumeration.rst:
2474 Add trailing newline.
2475 * doc/gcc/gnu-objective-c-features/garbage-collection.rst:
2476 Add trailing newline.
2477 * doc/gcc/gnu-objective-c-features/gnu-objective-c-runtime-api.rst:
2478 Add trailing newline.
2479 * doc/gcc/gnu-objective-c-features/load-executing-code-before-main.rst:
2480 Add trailing newline.
2481 * doc/gcc/gnu-objective-c-features/messaging-with-the-gnu-objective-c-runtime.rst:
2482 Add trailing newline.
2483 * doc/gcc/gnu-objective-c-features/synchronization.rst:
2484 Add trailing newline.
2485 * doc/gcc/gnu-objective-c-features/type-encoding.rst:
2486 Add trailing newline.
2487 * doc/gcc/gnu.rst:
2488 Add trailing newline.
2489 * doc/gcc/have-you-found-a-bug.rst:
2490 Add trailing newline.
2491 * doc/gcc/how-and-where-to-report-bugs.rst:
2492 Add trailing newline.
2493 * doc/gcc/how-to-get-help-with-gcc.rst:
2494 Add trailing newline.
2495 * doc/gcc/index.rst:
2496 Add trailing newline.
2497 * doc/gcc/indices-and-tables.rst:
2498 Add trailing newline.
2499 * doc/gcc/known-causes-of-trouble-with-gcc.rst:
2500 Add trailing newline.
2501 * doc/gcc/known-causes-of-trouble-with-gcc/actual-bugs-we-havent-fixed-yet.rst:
2502 Add trailing newline.
2503 * doc/gcc/known-causes-of-trouble-with-gcc/certain-changes-we-dont-want-to-make.rst:
2504 Add trailing newline.
2505 * doc/gcc/known-causes-of-trouble-with-gcc/common-misunderstandings-with-gnu-c.rst:
2506 Add trailing newline.
2507 * doc/gcc/known-causes-of-trouble-with-gcc/disappointments-and-misunderstandings.rst:
2508 Add trailing newline.
2509 * doc/gcc/known-causes-of-trouble-with-gcc/fixed-header-files.rst:
2510 Add trailing newline.
2511 * doc/gcc/known-causes-of-trouble-with-gcc/incompatibilities-of-gcc.rst:
2512 Add trailing newline.
2513 * doc/gcc/known-causes-of-trouble-with-gcc/interoperation.rst:
2514 Add trailing newline.
2515 * doc/gcc/known-causes-of-trouble-with-gcc/standard-libraries.rst:
2516 Add trailing newline.
2517 * doc/gcc/known-causes-of-trouble-with-gcc/warning-messages-and-error-messages.rst:
2518 Add trailing newline.
2519 * doc/gcc/language-standards-supported-by-gcc.rst:
2520 Add trailing newline.
2521 * doc/gcc/language-standards-supported-by-gcc/c++-language.rst:
2522 Add trailing newline.
2523 * doc/gcc/language-standards-supported-by-gcc/c-language.rst:
2524 Add trailing newline.
2525 * doc/gcc/language-standards-supported-by-gcc/d-language.rst:
2526 Add trailing newline.
2527 * doc/gcc/language-standards-supported-by-gcc/go-language.rst:
2528 Add trailing newline.
2529 * doc/gcc/language-standards-supported-by-gcc/objective-c-and-objective-c++-languages.rst:
2530 Add trailing newline.
2531 * doc/gcc/lto-dump.rst:
2532 Add trailing newline.
2533 * doc/gcc/programming-languages-supported-by-gcc.rst:
2534 Add trailing newline.
2535 * doc/gcc/reporting-bugs.rst:
2536 Add trailing newline.
2537 * doc/gccint/analysis-and-optimization-of-gimple-tuples.rst:
2538 Add trailing newline.
2539 * doc/gccint/analysis-and-optimization-of-gimple-tuples/alias-analysis.rst:
2540 Add trailing newline.
2541 * doc/gccint/analysis-and-optimization-of-gimple-tuples/annotations.rst:
2542 Add trailing newline.
2543 * doc/gccint/analysis-and-optimization-of-gimple-tuples/memory-model.rst:
2544 Add trailing newline.
2545 * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst:
2546 Add trailing newline.
2547 * doc/gccint/analysis-and-optimization-of-gimple-tuples/static-single-assignment.rst:
2548 Add trailing newline.
2549 * doc/gccint/analysis-and-representation-of-loops.rst:
2550 Add trailing newline.
2551 * doc/gccint/analysis-and-representation-of-loops/data-dependency-analysis.rst:
2552 Add trailing newline.
2553 * doc/gccint/analysis-and-representation-of-loops/iv-analysis-on-rtl.rst:
2554 Add trailing newline.
2555 * doc/gccint/analysis-and-representation-of-loops/loop-closed-ssa-form.rst:
2556 Add trailing newline.
2557 * doc/gccint/analysis-and-representation-of-loops/loop-manipulation.rst:
2558 Add trailing newline.
2559 * doc/gccint/analysis-and-representation-of-loops/loop-querying.rst:
2560 Add trailing newline.
2561 * doc/gccint/analysis-and-representation-of-loops/loop-representation.rst:
2562 Add trailing newline.
2563 * doc/gccint/analysis-and-representation-of-loops/number-of-iterations-analysis.rst:
2564 Add trailing newline.
2565 * doc/gccint/analysis-and-representation-of-loops/scalar-evolutions.rst:
2566 Add trailing newline.
2567 * doc/gccint/analyzer-internals.rst:
2568 Add trailing newline.
2569 * doc/gccint/collect2.rst:
2570 Add trailing newline.
2571 * doc/gccint/contributing-to-gcc-development.rst:
2572 Add trailing newline.
2573 * doc/gccint/contributors-to-gcc.rst:
2574 Add trailing newline.
2575 * doc/gccint/control-flow-graph.rst:
2576 Add trailing newline.
2577 * doc/gccint/control-flow-graph/basic-blocks.rst:
2578 Add trailing newline.
2579 * doc/gccint/control-flow-graph/edges.rst:
2580 Add trailing newline.
2581 * doc/gccint/control-flow-graph/liveness-information.rst:
2582 Add trailing newline.
2583 * doc/gccint/control-flow-graph/maintaining-the-cfg.rst:
2584 Add trailing newline.
2585 * doc/gccint/control-flow-graph/profile-information.rst:
2586 Add trailing newline.
2587 * doc/gccint/copyright.rst:
2588 Add trailing newline.
2589 * doc/gccint/debugging-the-analyzer.rst:
2590 Add trailing newline.
2591 * doc/gccint/funding.rst:
2592 Add trailing newline.
2593 * doc/gccint/gcc-and-portability.rst:
2594 Add trailing newline.
2595 * doc/gccint/general-public-license-3.rst:
2596 Add trailing newline.
2597 * doc/gccint/generic.rst:
2598 Add trailing newline.
2599 * doc/gccint/generic/attributes-in-trees.rst:
2600 Add trailing newline.
2601 * doc/gccint/generic/c-and-c++-trees.rst:
2602 Add trailing newline.
2603 * doc/gccint/generic/declarations.rst:
2604 Add trailing newline.
2605 * doc/gccint/generic/deficiencies.rst:
2606 Add trailing newline.
2607 * doc/gccint/generic/expressions.rst:
2608 Add trailing newline.
2609 * doc/gccint/generic/functions.rst:
2610 Add trailing newline.
2611 * doc/gccint/generic/language-dependent-trees.rst:
2612 Add trailing newline.
2613 * doc/gccint/generic/overview.rst:
2614 Add trailing newline.
2615 * doc/gccint/generic/statements.rst:
2616 Add trailing newline.
2617 * doc/gccint/generic/types.rst:
2618 Add trailing newline.
2619 * doc/gccint/gimple-api.rst:
2620 Add trailing newline.
2621 * doc/gccint/gimple.rst:
2622 Add trailing newline.
2623 * doc/gccint/gimple/adding-a-new-gimple-statement-code.rst:
2624 Add trailing newline.
2625 * doc/gccint/gimple/class-hierarchy-of-gimple-statements.rst:
2626 Add trailing newline.
2627 * doc/gccint/gimple/exception-handling.rst:
2628 Add trailing newline.
2629 * doc/gccint/gimple/gimple-instruction-set.rst:
2630 Add trailing newline.
2631 * doc/gccint/gimple/gimple-sequences.rst:
2632 Add trailing newline.
2633 * doc/gccint/gimple/manipulating-gimple-statements.rst:
2634 Add trailing newline.
2635 * doc/gccint/gimple/operands.rst:
2636 Add trailing newline.
2637 * doc/gccint/gimple/sequence-iterators.rst:
2638 Add trailing newline.
2639 * doc/gccint/gimple/statement-and-operand-traversals.rst:
2640 Add trailing newline.
2641 * doc/gccint/gimple/temporaries.rst:
2642 Add trailing newline.
2643 * doc/gccint/gimple/tuple-representation.rst:
2644 Add trailing newline.
2645 * doc/gccint/gimple/tuple-specific-accessors.rst:
2646 Add trailing newline.
2647 * doc/gccint/gimple/tuple-specific-accessors/gimpleasm.rst:
2648 Add trailing newline.
2649 * doc/gccint/gimple/tuple-specific-accessors/gimpleassign.rst:
2650 Add trailing newline.
2651 * doc/gccint/gimple/tuple-specific-accessors/gimplebind.rst:
2652 Add trailing newline.
2653 * doc/gccint/gimple/tuple-specific-accessors/gimplecall.rst:
2654 Add trailing newline.
2655 * doc/gccint/gimple/tuple-specific-accessors/gimplecatch.rst:
2656 Add trailing newline.
2657 * doc/gccint/gimple/tuple-specific-accessors/gimplecond.rst:
2658 Add trailing newline.
2659 * doc/gccint/gimple/tuple-specific-accessors/gimpledebug.rst:
2660 Add trailing newline.
2661 * doc/gccint/gimple/tuple-specific-accessors/gimpleehfilter.rst:
2662 Add trailing newline.
2663 * doc/gccint/gimple/tuple-specific-accessors/gimplegoto.rst:
2664 Add trailing newline.
2665 * doc/gccint/gimple/tuple-specific-accessors/gimplelabel.rst:
2666 Add trailing newline.
2667 * doc/gccint/gimple/tuple-specific-accessors/gimplenop.rst:
2668 Add trailing newline.
2669 * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicload.rst:
2670 Add trailing newline.
2671 * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicstore.rst:
2672 Add trailing newline.
2673 * doc/gccint/gimple/tuple-specific-accessors/gimpleompcontinue.rst:
2674 Add trailing newline.
2675 * doc/gccint/gimple/tuple-specific-accessors/gimpleompcritical.rst:
2676 Add trailing newline.
2677 * doc/gccint/gimple/tuple-specific-accessors/gimpleompfor.rst:
2678 Add trailing newline.
2679 * doc/gccint/gimple/tuple-specific-accessors/gimpleompmaster.rst:
2680 Add trailing newline.
2681 * doc/gccint/gimple/tuple-specific-accessors/gimpleompordered.rst:
2682 Add trailing newline.
2683 * doc/gccint/gimple/tuple-specific-accessors/gimpleompparallel.rst:
2684 Add trailing newline.
2685 * doc/gccint/gimple/tuple-specific-accessors/gimpleompreturn.rst:
2686 Add trailing newline.
2687 * doc/gccint/gimple/tuple-specific-accessors/gimpleompsection.rst:
2688 Add trailing newline.
2689 * doc/gccint/gimple/tuple-specific-accessors/gimpleompsections.rst:
2690 Add trailing newline.
2691 * doc/gccint/gimple/tuple-specific-accessors/gimpleompsingle.rst:
2692 Add trailing newline.
2693 * doc/gccint/gimple/tuple-specific-accessors/gimplephi.rst:
2694 Add trailing newline.
2695 * doc/gccint/gimple/tuple-specific-accessors/gimpleresx.rst:
2696 Add trailing newline.
2697 * doc/gccint/gimple/tuple-specific-accessors/gimplereturn.rst:
2698 Add trailing newline.
2699 * doc/gccint/gimple/tuple-specific-accessors/gimpleswitch.rst:
2700 Add trailing newline.
2701 * doc/gccint/gimple/tuple-specific-accessors/gimpletry.rst:
2702 Add trailing newline.
2703 * doc/gccint/gimple/tuple-specific-accessors/gimplewithcleanupexpr.rst:
2704 Add trailing newline.
2705 * doc/gccint/gnu-free-documentation-license.rst:
2706 Add trailing newline.
2707 * doc/gccint/guidelines-for-diagnostics.rst:
2708 Add trailing newline.
2709 * doc/gccint/guidelines-for-options.rst:
2710 Add trailing newline.
2711 * doc/gccint/host-common.rst:
2712 Add trailing newline.
2713 * doc/gccint/host-configuration.rst:
2714 Add trailing newline.
2715 * doc/gccint/host-filesystem.rst:
2716 Add trailing newline.
2717 * doc/gccint/host-makefile-fragments.rst:
2718 Add trailing newline.
2719 * doc/gccint/host-misc.rst:
2720 Add trailing newline.
2721 * doc/gccint/index.rst:
2722 Add trailing newline.
2723 * doc/gccint/indices-and-tables.rst:
2724 Add trailing newline.
2725 * doc/gccint/interfacing-to-gcc-output.rst:
2726 Add trailing newline.
2727 * doc/gccint/introduction.rst:
2728 Add trailing newline.
2729 * doc/gccint/language-front-ends-in-gcc.rst:
2730 Add trailing newline.
2731 * doc/gccint/link-time-optimization.rst:
2732 Add trailing newline.
2733 * doc/gccint/link-time-optimization/design-overview.rst:
2734 Add trailing newline.
2735 * doc/gccint/link-time-optimization/internal-flags-controlling-lto1.rst:
2736 Add trailing newline.
2737 * doc/gccint/link-time-optimization/lto-file-sections.rst:
2738 Add trailing newline.
2739 * doc/gccint/link-time-optimization/using-summary-information-in-ipa-passes.rst:
2740 Add trailing newline.
2741 * doc/gccint/link-time-optimization/whole-program-assumptions-linker-plugin-and-symbol-visibilities.rst:
2742 Add trailing newline.
2743 * doc/gccint/machine-descriptions.rst:
2744 Add trailing newline.
2745 * doc/gccint/machine-descriptions/c-statements-for-assembler-output.rst:
2746 Add trailing newline.
2747 * doc/gccint/machine-descriptions/canonicalization-of-instructions.rst:
2748 Add trailing newline.
2749 * doc/gccint/machine-descriptions/conditional-execution.rst:
2750 Add trailing newline.
2751 * doc/gccint/machine-descriptions/constant-definitions.rst:
2752 Add trailing newline.
2753 * doc/gccint/machine-descriptions/defining-how-to-split-instructions.rst:
2754 Add trailing newline.
2755 * doc/gccint/machine-descriptions/defining-jump-instruction-patterns.rst:
2756 Add trailing newline.
2757 * doc/gccint/machine-descriptions/defining-looping-instruction-patterns.rst:
2758 Add trailing newline.
2759 * doc/gccint/machine-descriptions/defining-rtl-sequences-for-code-generation.rst:
2760 Add trailing newline.
2761 * doc/gccint/machine-descriptions/everything-about-instruction-patterns.rst:
2762 Add trailing newline.
2763 * doc/gccint/machine-descriptions/example-of-defineinsn.rst:
2764 Add trailing newline.
2765 * doc/gccint/machine-descriptions/including-patterns-in-machine-descriptions.rst:
2766 Add trailing newline.
2767 * doc/gccint/machine-descriptions/instruction-attributes.rst:
2768 Add trailing newline.
2769 * doc/gccint/machine-descriptions/interdependence-of-patterns.rst:
2770 Add trailing newline.
2771 * doc/gccint/machine-descriptions/iterators.rst:
2772 Add trailing newline.
2773 * doc/gccint/machine-descriptions/machine-specific-peephole-optimizers.rst:
2774 Add trailing newline.
2775 * doc/gccint/machine-descriptions/operand-constraints.rst:
2776 Add trailing newline.
2777 * doc/gccint/machine-descriptions/output-templates-and-operand-substitution.rst:
2778 Add trailing newline.
2779 * doc/gccint/machine-descriptions/overview-of-how-the-machine-description-is-used.rst:
2780 Add trailing newline.
2781 * doc/gccint/machine-descriptions/predicates.rst:
2782 Add trailing newline.
2783 * doc/gccint/machine-descriptions/rtl-template.rst:
2784 Add trailing newline.
2785 * doc/gccint/machine-descriptions/rtl-templates-transformations.rst:
2786 Add trailing newline.
2787 * doc/gccint/machine-descriptions/standard-pattern-names-for-generation.rst:
2788 Add trailing newline.
2789 * doc/gccint/machine-descriptions/when-the-order-of-patterns-matters.rst:
2790 Add trailing newline.
2791 * doc/gccint/makefile-fragments.rst:
2792 Add trailing newline.
2793 * doc/gccint/match-and-simplify.rst:
2794 Add trailing newline.
2795 * doc/gccint/memory-management-and-type-information.rst:
2796 Add trailing newline.
2797 * doc/gccint/memory-management-and-type-information/how-to-invoke-the-garbage-collector.rst:
2798 Add trailing newline.
2799 * doc/gccint/memory-management-and-type-information/marking-roots-for-the-garbage-collector.rst:
2800 Add trailing newline.
2801 * doc/gccint/memory-management-and-type-information/source-files-containing-type-information.rst:
2802 Add trailing newline.
2803 * doc/gccint/memory-management-and-type-information/support-for-inheritance.rst:
2804 Add trailing newline.
2805 * doc/gccint/memory-management-and-type-information/support-for-user-provided-gc-marking-routines.rst:
2806 Add trailing newline.
2807 * doc/gccint/memory-management-and-type-information/the-inside-of-a-gty.rst:
2808 Add trailing newline.
2809 * doc/gccint/memory-management-and-type-information/troubleshooting-the-garbage-collector.rst:
2810 Add trailing newline.
2811 * doc/gccint/option-file-format.rst:
2812 Add trailing newline.
2813 * doc/gccint/option-properties.rst:
2814 Add trailing newline.
2815 * doc/gccint/option-specification-files.rst:
2816 Add trailing newline.
2817 * doc/gccint/passes-and-files-of-the-compiler.rst:
2818 Add trailing newline.
2819 * doc/gccint/passes-and-files-of-the-compiler/gimplification-pass.rst:
2820 Add trailing newline.
2821 * doc/gccint/passes-and-files-of-the-compiler/inter-procedural-optimization-passes.rst:
2822 Add trailing newline.
2823 * doc/gccint/passes-and-files-of-the-compiler/optimization-info.rst:
2824 Add trailing newline.
2825 * doc/gccint/passes-and-files-of-the-compiler/parsing-pass.rst:
2826 Add trailing newline.
2827 * doc/gccint/passes-and-files-of-the-compiler/pass-manager.rst:
2828 Add trailing newline.
2829 * doc/gccint/passes-and-files-of-the-compiler/rtl-passes.rst:
2830 Add trailing newline.
2831 * doc/gccint/passes-and-files-of-the-compiler/tree-ssa-passes.rst:
2832 Add trailing newline.
2833 * doc/gccint/plugins.rst:
2834 Add trailing newline.
2835 * doc/gccint/plugins/building-gcc-plugins.rst:
2836 Add trailing newline.
2837 * doc/gccint/plugins/controlling-which-passes-are-being-run.rst:
2838 Add trailing newline.
2839 * doc/gccint/plugins/giving-information-about-a-plugin.rst:
2840 Add trailing newline.
2841 * doc/gccint/plugins/interacting-with-the-gcc-garbage-collector.rst:
2842 Add trailing newline.
2843 * doc/gccint/plugins/interacting-with-the-pass-manager.rst:
2844 Add trailing newline.
2845 * doc/gccint/plugins/keeping-track-of-available-passes.rst:
2846 Add trailing newline.
2847 * doc/gccint/plugins/loading-plugins.rst:
2848 Add trailing newline.
2849 * doc/gccint/plugins/plugin-api.rst:
2850 Add trailing newline.
2851 * doc/gccint/plugins/recording-information-about-pass-execution.rst:
2852 Add trailing newline.
2853 * doc/gccint/plugins/registering-custom-attributes-or-pragmas.rst:
2854 Add trailing newline.
2855 * doc/gccint/rtl-representation.rst:
2856 Add trailing newline.
2857 * doc/gccint/rtl-representation/access-to-operands.rst:
2858 Add trailing newline.
2859 * doc/gccint/rtl-representation/access-to-special-operands.rst:
2860 Add trailing newline.
2861 * doc/gccint/rtl-representation/assembler-instructions-as-expressions.rst:
2862 Add trailing newline.
2863 * doc/gccint/rtl-representation/bit-fields.rst:
2864 Add trailing newline.
2865 * doc/gccint/rtl-representation/comparison-operations.rst:
2866 Add trailing newline.
2867 * doc/gccint/rtl-representation/constant-expression-types.rst:
2868 Add trailing newline.
2869 * doc/gccint/rtl-representation/conversions.rst:
2870 Add trailing newline.
2871 * doc/gccint/rtl-representation/declarations.rst:
2872 Add trailing newline.
2873 * doc/gccint/rtl-representation/embedded-side-effects-on-addresses.rst:
2874 Add trailing newline.
2875 * doc/gccint/rtl-representation/flags-in-an-rtl-expression.rst:
2876 Add trailing newline.
2877 * doc/gccint/rtl-representation/insns.rst:
2878 Add trailing newline.
2879 * doc/gccint/rtl-representation/machine-modes.rst:
2880 Add trailing newline.
2881 * doc/gccint/rtl-representation/on-the-side-ssa-form-for-rtl.rst:
2882 Add trailing newline.
2883 * doc/gccint/rtl-representation/reading-rtl.rst:
2884 Add trailing newline.
2885 * doc/gccint/rtl-representation/registers-and-memory.rst:
2886 Add trailing newline.
2887 * doc/gccint/rtl-representation/rtl-classes-and-formats.rst:
2888 Add trailing newline.
2889 * doc/gccint/rtl-representation/rtl-expressions-for-arithmetic.rst:
2890 Add trailing newline.
2891 * doc/gccint/rtl-representation/rtl-object-types.rst:
2892 Add trailing newline.
2893 * doc/gccint/rtl-representation/rtl-representation-of-function-call-insns.rst:
2894 Add trailing newline.
2895 * doc/gccint/rtl-representation/side-effect-expressions.rst:
2896 Add trailing newline.
2897 * doc/gccint/rtl-representation/structure-sharing-assumptions.rst:
2898 Add trailing newline.
2899 * doc/gccint/rtl-representation/variable-location-debug-information-in-rtl.rst:
2900 Add trailing newline.
2901 * doc/gccint/rtl-representation/vector-operations.rst:
2902 Add trailing newline.
2903 * doc/gccint/sizes-and-offsets-as-runtime-invariants.rst:
2904 Add trailing newline.
2905 * doc/gccint/sizes-and-offsets-as-runtime-invariants/alignment-of-polyints.rst:
2906 Add trailing newline.
2907 * doc/gccint/sizes-and-offsets-as-runtime-invariants/arithmetic-on-polyints.rst:
2908 Add trailing newline.
2909 * doc/gccint/sizes-and-offsets-as-runtime-invariants/comparisons-involving-polyint.rst:
2910 Add trailing newline.
2911 * doc/gccint/sizes-and-offsets-as-runtime-invariants/computing-bounds-on-polyints.rst:
2912 Add trailing newline.
2913 * doc/gccint/sizes-and-offsets-as-runtime-invariants/consequences-of-using-polyint.rst:
2914 Add trailing newline.
2915 * doc/gccint/sizes-and-offsets-as-runtime-invariants/converting-polyints.rst:
2916 Add trailing newline.
2917 * doc/gccint/sizes-and-offsets-as-runtime-invariants/guidelines-for-using-polyint.rst:
2918 Add trailing newline.
2919 * doc/gccint/sizes-and-offsets-as-runtime-invariants/miscellaneous-polyint-routines.rst:
2920 Add trailing newline.
2921 * doc/gccint/sizes-and-offsets-as-runtime-invariants/overview-of-polyint.rst:
2922 Add trailing newline.
2923 * doc/gccint/source-tree-structure-and-build-system.rst:
2924 Add trailing newline.
2925 * doc/gccint/source-tree-structure-and-build-system/configure-terms-and-history.rst:
2926 Add trailing newline.
2927 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory.rst:
2928 Add trailing newline.
2929 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-language-front-end.rst:
2930 Add trailing newline.
2931 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-target-back-end.rst:
2932 Add trailing newline.
2933 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/build-system-in-the-gcc-directory.rst:
2934 Add trailing newline.
2935 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/configuration-in-the-gcc-directory.rst:
2936 Add trailing newline.
2937 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/headers-installed-by-gcc.rst:
2938 Add trailing newline.
2939 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/library-source-files-and-headers-under-the-gcc-directory.rst:
2940 Add trailing newline.
2941 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/makefile-targets.rst:
2942 Add trailing newline.
2943 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/subdirectories-of-gcc.rst:
2944 Add trailing newline.
2945 * doc/gccint/source-tree-structure-and-build-system/top-level-source-directory.rst:
2946 Add trailing newline.
2947 * doc/gccint/standard-header-file-directories.rst:
2948 Add trailing newline.
2949 * doc/gccint/static-analyzer.rst:
2950 Add trailing newline.
2951 * doc/gccint/target-macros.rst:
2952 Add trailing newline.
2953 * doc/gccint/target-macros/controlling-debugging-information-format.rst:
2954 Add trailing newline.
2955 * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst:
2956 Add trailing newline.
2957 * doc/gccint/target-macros/cross-compilation-and-floating-point.rst:
2958 Add trailing newline.
2959 * doc/gccint/target-macros/defining-coprocessor-specifics-for-mips-targets.rst:
2960 Add trailing newline.
2961 * doc/gccint/target-macros/defining-data-structures-for-per-function-information.rst:
2962 Add trailing newline.
2963 * doc/gccint/target-macros/defining-the-output-assembler-language.rst:
2964 Add trailing newline.
2965 * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-alignment.rst:
2966 Add trailing newline.
2967 * doc/gccint/target-macros/defining-the-output-assembler-language/how-initialization-functions-are-handled.rst:
2968 Add trailing newline.
2969 * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
2970 Add trailing newline.
2971 * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
2972 Add trailing newline.
2973 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
2974 Add trailing newline.
2975 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
2976 Add trailing newline.
2977 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-uninitialized-variables.rst:
2978 Add trailing newline.
2979 * doc/gccint/target-macros/implicit-calls-to-library-routines.rst:
2980 Add trailing newline.
2981 * doc/gccint/target-macros/layout-of-source-language-data-types.rst:
2982 Add trailing newline.
2983 * doc/gccint/target-macros/position-independent-code.rst:
2984 Add trailing newline.
2985 * doc/gccint/target-macros/register-usage.rst:
2986 Add trailing newline.
2987 * doc/gccint/target-macros/stack-layout-and-calling-conventions.rst:
2988 Add trailing newline.
2989 * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
2990 Add trailing newline.
2991 * doc/gccint/target-macros/stack-layout-and-calling-conventions/caller-saves-register-allocation.rst:
2992 Add trailing newline.
2993 * doc/gccint/target-macros/stack-layout-and-calling-conventions/exception-handling-support.rst:
2994 Add trailing newline.
2995 * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
2996 Add trailing newline.
2997 * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
2998 Add trailing newline.
2999 * doc/gccint/target-macros/support-for-nested-functions.rst:
3000 Add trailing newline.
3001 * doc/gccint/target-macros/the-global-targetm-variable.rst:
3002 Add trailing newline.
3003 * doc/gccint/target-makefile-fragments.rst:
3004 Add trailing newline.
3005 * doc/gccint/testsuites.rst:
3006 Add trailing newline.
3007 * doc/gccint/testsuites/ada-language-testsuites.rst:
3008 Add trailing newline.
3009 * doc/gccint/testsuites/c-language-testsuites.rst:
3010 Add trailing newline.
3011 * doc/gccint/testsuites/directives-used-within-dejagnu-tests.rst:
3012 Add trailing newline.
3013 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/commands-for-use-in-dg-final.rst:
3014 Add trailing newline.
3015 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/features-for-dg-add-options.rst:
3016 Add trailing newline.
3017 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/keywords-describing-target-attributes.rst:
3018 Add trailing newline.
3019 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/selecting-targets-to-which-a-test-applies.rst:
3020 Add trailing newline.
3021 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/syntax-and-descriptions-of-test-directives.rst:
3022 Add trailing newline.
3023 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/variants-of-dg-require-support.rst:
3024 Add trailing newline.
3025 * doc/gccint/testsuites/idioms-used-in-testsuite-code.rst:
3026 Add trailing newline.
3027 * doc/gccint/testsuites/support-for-testing-binary-compatibility.rst:
3028 Add trailing newline.
3029 * doc/gccint/testsuites/support-for-testing-gcov.rst:
3030 Add trailing newline.
3031 * doc/gccint/testsuites/support-for-testing-gimple-passes.rst:
3032 Add trailing newline.
3033 * doc/gccint/testsuites/support-for-testing-link-time-optimizations.rst:
3034 Add trailing newline.
3035 * doc/gccint/testsuites/support-for-testing-profile-directed-optimizations.rst:
3036 Add trailing newline.
3037 * doc/gccint/testsuites/support-for-testing-rtl-passes.rst:
3038 Add trailing newline.
3039 * doc/gccint/testsuites/support-for-torture-testing-using-multiple-options.rst:
3040 Add trailing newline.
3041 * doc/gccint/the-gcc-low-level-runtime-library.rst:
3042 Add trailing newline.
3043 * doc/gccint/the-gcc-low-level-runtime-library/language-independent-routines-for-exception-handling.rst:
3044 Add trailing newline.
3045 * doc/gccint/the-gcc-low-level-runtime-library/miscellaneous-runtime-library-routines.rst:
3046 Add trailing newline.
3047 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-decimal-floating-point-emulation.rst:
3048 Add trailing newline.
3049 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-fixed-point-fractional-emulation.rst:
3050 Add trailing newline.
3051 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-floating-point-emulation.rst:
3052 Add trailing newline.
3053 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-integer-arithmetic.rst:
3054 Add trailing newline.
3055 * doc/gccint/the-language.rst:
3056 Add trailing newline.
3057 * doc/gccint/user-experience-guidelines.rst:
3058 Add trailing newline.
3059 * doc/install/binaries.rst:
3060 Add trailing newline.
3061 * doc/install/building.rst:
3062 Add trailing newline.
3063 * doc/install/building/building-a-cross-compiler.rst:
3064 Add trailing newline.
3065 * doc/install/building/building-a-native-compiler.rst:
3066 Add trailing newline.
3067 * doc/install/building/building-in-parallel.rst:
3068 Add trailing newline.
3069 * doc/install/building/building-the-ada-compiler.rst:
3070 Add trailing newline.
3071 * doc/install/building/building-the-d-compiler.rst:
3072 Add trailing newline.
3073 * doc/install/building/building-with-profile-feedback.rst:
3074 Add trailing newline.
3075 * doc/install/configuration.rst:
3076 Add trailing newline.
3077 * doc/install/copyright.rst:
3078 Add trailing newline.
3079 * doc/install/downloading-gcc.rst:
3080 Add trailing newline.
3081 * doc/install/final-installation.rst:
3082 Add trailing newline.
3083 * doc/install/gnu-free-documentation-license.rst:
3084 Add trailing newline.
3085 * doc/install/host-target-specific-installation-notes-for-gcc.rst:
3086 Add trailing newline.
3087 * doc/install/how-can-you-run-the-testsuite-on-selected-tests.rst:
3088 Add trailing newline.
3089 * doc/install/how-to-interpret-test-results.rst:
3090 Add trailing newline.
3091 * doc/install/index.rst:
3092 Add trailing newline.
3093 * doc/install/indices-and-tables.rst:
3094 Add trailing newline.
3095 * doc/install/installing-gcc.rst:
3096 Add trailing newline.
3097 * doc/install/passing-options-and-running-multiple-testsuites.rst:
3098 Add trailing newline.
3099 * doc/install/prerequisites.rst:
3100 Add trailing newline.
3101 * doc/install/submitting-test-results.rst:
3102 Add trailing newline.
3103 * doc/install/testing.rst:
3104 Add trailing newline.
3105
3106 2022-11-14 Martin Liska <mliska@suse.cz>
3107
3108 Revert:
3109 2022-11-14 Martin Liska <mliska@suse.cz>
3110
3111 * Makefile.in: Use new install URL.
3112 * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst:
3113 Use intersphinx link.
3114 * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
3115 Use new URL.
3116 * doc/gccint/source-tree-structure-and-build-system.rst: Use
3117 intersphinx link.
3118 * doc/install/host-target-specific-installation-notes-for-gcc.rst: Likewise.
3119 * doc/install/installing-gcc.rst: Likewise.
3120
3121 2022-11-14 Martin Liska <mliska@suse.cz>
3122
3123 Revert:
3124 2022-11-09 Martin Liska <mliska@suse.cz>
3125 Sinan <sinan.lin@linux.alibaba.com>
3126
3127 * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst:
3128 Add missing variable name.
3129
3130 2022-11-14 Martin Liska <mliska@suse.cz>
3131
3132 Revert:
3133 2022-11-14 Martin Liska <mliska@suse.cz>
3134
3135 * doc/cpp/conf.py: Add newline at last line.
3136 * doc/cppinternals/conf.py: Add newline at last line.
3137 * doc/gcc/conf.py: Add newline at last line.
3138 * doc/gccint/conf.py: Add newline at last line.
3139 * doc/install/conf.py: Add newline at last line.
3140
3141 2022-11-14 Martin Liska <mliska@suse.cz>
3142
3143 * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
3144 Revert.
3145
3146 2022-11-14 Martin Liska <mliska@suse.cz>
3147
3148 * doc/cpp/pragmas.rst: Revert.
3149
3150 2022-11-14 Martin Liska <mliska@suse.cz>
3151
3152 * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: Revert.
3153
3154 2022-11-14 Martin Liska <mliska@suse.cz>
3155
3156 * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: Revert.
3157
3158 2022-11-14 Martin Liska <mliska@suse.cz>
3159
3160 * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: Revert.
3161 * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst: Revert.
3162
3163 2022-11-14 Martin Liska <mliska@suse.cz>
3164
3165 Revert:
3166 2022-11-13 Jonathan Wakely <jwakely@redhat.com>
3167
3168 * doc/install/testing.rst: Remove anachronism about separate
3169 source tarballs.
3170
3171 2022-11-14 Martin Liska <mliska@suse.cz>
3172
3173 Revert:
3174 2022-11-13 Martin Liska <mliska@suse.cz>
3175
3176 PR other/107620
3177 * configure: Regenerate.
3178 * configure.ac: Always set sphinx-build.
3179
3180 2022-11-14 Martin Liska <mliska@suse.cz>
3181
3182 * doc/gcc/gcc-command-options/option-summary.rst: Revert.
3183 * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: Revert.
3184
3185 2022-11-14 Haochen Jiang <haochen.jiang@intel.com>
3186
3187 * common/config/i386/i386-common.cc
3188 (OPTION_MASK_ISA2_AMX_INT8_SET): Add AMX-TILE dependency.
3189 (OPTION_MASK_ISA2_AMX_BF16_SET): Ditto.
3190 (OPTION_MASK_ISA2_AMX_FP16_SET): Ditto.
3191 (OPTION_MASK_ISA2_AMX_TILE_UNSET): Disable AMX_{INT8,
3192 BF16, FP16} when disable AMX_TILE.
3193
3194 2022-11-14 Martin Liska <mliska@suse.cz>
3195
3196 * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst:
3197 Revert.
3198 * doc/gcc/gcc-command-options/option-summary.rst:
3199 Revert.
3200
3201 2022-11-14 Hongyu Wang <hongyu.wang@intel.com>
3202
3203 * common/config/i386/i386-common.cc (ix86_optimization_table):
3204 Enable small loop unroll at O2 by default.
3205 * config/i386/i386.cc (ix86_loop_unroll_adjust): Adjust unroll
3206 factor if -munroll-only-small-loops enabled and -funroll-loops/
3207 -funroll-all-loops are disabled.
3208 * config/i386/i386.h (struct processor_costs): Add 2 field
3209 small_unroll_ninsns and small_unroll_factor.
3210 * config/i386/i386.opt: Add -munroll-only-small-loops.
3211 * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst:
3212 Document -munroll-only-small-loops.
3213 * doc/gcc/gcc-command-options/option-summary.rst: Likewise.
3214 * loop-init.cc (pass_rtl_unroll_loops::gate): Enable rtl
3215 loop unrolling for -O2-speed and above if target hook
3216 loop_unroll_adjust exists.
3217 (pass_rtl_unroll_loops::execute): Set UAP_UNROLL flag
3218 when target hook loop_unroll_adjust exists.
3219 * config/i386/x86-tune-costs.h: Update all processor costs
3220 with small_unroll_ninsns = 4 and small_unroll_factor = 2.
3221
3222 2022-11-13 David Malcolm <dmalcolm@redhat.com>
3223
3224 PR analyzer/106235
3225 * doc/gcc/gcc-command-options/option-summary.rst: Add
3226 -Wno-analyzer-tainted-assertion.
3227 * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
3228 Add -Wno-analyzer-tainted-assertion.
3229
3230 2022-11-13 Philipp Tomsich <philipp.tomsich@vrull.eu>
3231
3232 * config/riscv/bitmanip.md: New define_split.
3233
3234 2022-11-13 Philipp Tomsich <philipp.tomsich@vrull.eu>
3235
3236 * config/riscv/riscv.cc (riscv_rtx_costs): Recognize shNadd,
3237 if expressed as a plus and multiplication with a power-of-2.
3238 Split costing for MINUS from PLUS.
3239
3240 2022-11-13 Martin Liska <mliska@suse.cz>
3241
3242 PR other/107620
3243 * configure: Regenerate.
3244 * configure.ac: Always set sphinx-build.
3245
3246 2022-11-13 Joseph Myers <joseph@codesourcery.com>
3247
3248 * ginclude/float.h [__STDC_VERSION__ > 201710L]
3249 (__STDC_VERSION_FLOAT_H__): New macro.
3250 * ginclude/stdarg.h [__STDC_VERSION__ > 201710L]
3251 (__STDC_VERSION_STDARG_H__): New macro.
3252 * ginclude/stdatomic.h [__STDC_VERSION__ > 201710L]
3253 (__STDC_VERSION_STDATOMIC_H__): New macro.
3254 * ginclude/stddef.h [__STDC_VERSION__ > 201710L]
3255 (__STDC_VERSION_STDDEF_H__): New macro.
3256 * ginclude/stdint-gcc.h [__STDC_VERSION__ > 201710L]
3257 (__STDC_VERSION_STDINT_H__): New macro.
3258 * glimits.h [__STDC_VERSION__ > 201710L]
3259 (__STDC_VERSION_LIMITS_H__): New macro.
3260
3261 2022-11-13 Jonathan Wakely <jwakely@redhat.com>
3262
3263 * doc/install/testing.rst: Remove anachronism about separate
3264 source tarballs.
3265
3266 2022-11-12 Joseph Myers <joseph@codesourcery.com>
3267
3268 * dfp.cc (decimal_from_binary): Convert a canonical NaN to a
3269 canonical NaN.
3270
3271 2022-11-12 Aldy Hernandez <aldyh@redhat.com>
3272
3273 * value-range.cc (range_tests_signbit): Move to set from here...
3274 (range_tests_signed_zeros): ...to here.
3275
3276 2022-11-12 Aldy Hernandez <aldyh@redhat.com>
3277
3278 * range-op-float.cc (build_lt): Adjust with frange_nextafter
3279 instead of default to a closed range.
3280 (build_gt): Same.
3281
3282 2022-11-12 Aldy Hernandez <aldyh@redhat.com>
3283 Jakub Jelinek <jakub@redhat.com>
3284
3285 * range-op-float.cc (float_binary_op_range_finish): New function.
3286 (foperator_plus::op1_range): New.
3287 (foperator_plus::op2_range): New.
3288 (foperator_minus::op1_range): New.
3289 (foperator_minus::op2_range): New.
3290 (foperator_mult::op1_range): New.
3291 (foperator_mult::op2_range): New.
3292 (foperator_div::op1_range): New.
3293 (foperator_div::op2_range): New.
3294
3295 2022-11-12 Jakub Jelinek <jakub@redhat.com>
3296
3297 PR tree-optimization/107569
3298 * range-op-float.cc (zero_p, contains_p, singleton_inf_p,
3299 signbit_known_p, zero_range, inf_range, zero_to_inf_range): New
3300 functions.
3301 (foperator_mult_div_base): New class.
3302 (foperator_mult, foperator_div): Derive from that and use
3303 protected static method from it as well as above new functions
3304 to simplify the code.
3305
3306 2022-11-12 Jakub Jelinek <jakub@redhat.com>
3307
3308 PR tree-optimization/107569
3309 * range-op-float.cc (foperator_div): New class.
3310 (floating_op_table::floating_op_table): Use foperator_div
3311 for RDIV_EXPR.
3312
3313 2022-11-12 Jakub Jelinek <jakub@redhat.com>
3314
3315 PR tree-optimization/107569
3316 PR tree-optimization/107591
3317 * range-op.h (range_operator_float::rv_fold): Add relation_kind
3318 argument.
3319 * range-op-float.cc (range_operator_float::fold_range): Name
3320 last argument trio and pass trio.op1_op2 () as last argument to
3321 rv_fold.
3322 (range_operator_float::rv_fold): Add relation_kind argument.
3323 (foperator_plus::rv_fold, foperator_minus::rv_fold): Likewise.
3324 (foperator_mult): New class.
3325 (floating_op_table::floating_op_table): Use foperator_mult for
3326 MULT_EXPR.
3327
3328 2022-11-12 Xi Ruoyao <xry111@xry111.site>
3329
3330 * config/loongarch/loongarch.md (UNSPEC_FLOGB): New unspec.
3331 (type): Add flogb.
3332 (logb_non_negative<mode>2): New instruction template.
3333 (logb<mode>2): New define_expand.
3334
3335 2022-11-12 Xi Ruoyao <xry111@xry111.site>
3336
3337 * config/loongarch/loongarch.md (UNSPEC_FSCALEB): New unspec.
3338 (type): Add fscaleb.
3339 (IMODE): New mode attr.
3340 (ldexp<mode>3): New instruction template.
3341
3342 2022-11-12 Xi Ruoyao <xry111@xry111.site>
3343
3344 * config/loongarch/loongarch.md (UNSPEC_FTINT): New unspec.
3345 (UNSPEC_FTINTRM): Likewise.
3346 (UNSPEC_FTINTRP): Likewise.
3347 (LRINT): New define_int_iterator.
3348 (lrint_pattern): New define_int_attr.
3349 (lrint_submenmonic): Likewise.
3350 (lrint_allow_inexact): Likewise.
3351 (ANYFI): New define_mode_iterator.
3352 (lrint<ANYF><ANYFI>): New instruction template.
3353
3354 2022-11-12 Xi Ruoyao <xry111@xry111.site>
3355
3356 * config/loongarch/loongarch.md (frint_<fmt>): Rename to ..
3357 (rint<mode>2): .. this.
3358
3359 2022-11-11 David Malcolm <dmalcolm@redhat.com>
3360
3361 PR analyzer/106147
3362 * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
3363 Add -Wanalyzer-infinite-recursion.
3364 * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst
3365 (-Winfinite-recursion): Mention -Wanalyzer-infinite-recursion.
3366
3367 2022-11-11 David Malcolm <dmalcolm@redhat.com>
3368
3369 PR analyzer/106147
3370 * Makefile.in (ANALYZER_OBJS): Add analyzer/infinite-recursion.o.
3371
3372 2022-11-11 Andrew MacLeod <amacleod@redhat.com>
3373
3374 PR tree-optimization/107523
3375 * gimple-range.cc (gimple_ranger::update_stmt): Use fur_stmt
3376 rather than fur_depend.
3377
3378 2022-11-11 Andrew MacLeod <amacleod@redhat.com>
3379
3380 * tree-vrp.cc (rvrp_folder::rvrp_folder): Init m_last_bb_stmt.
3381 (rvrp_folder::pre_fold_bb): Set m_last_bb_stmt.
3382 (rvrp_folder::pre_fold_stmt): Check for transitive inferred ranges.
3383 (rvrp_folder::fold_stmt): Check in pre_fold_stmt instead.
3384
3385 2022-11-11 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
3386
3387 * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add Cortex-X1C
3388 CPU.
3389 * config/aarch64/aarch64-tune.md: Regenerate.
3390 * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst:
3391 Document Cortex-X1C CPU.
3392
3393 2022-11-11 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
3394
3395 * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add Cortex-A715
3396 CPU.
3397 * config/aarch64/aarch64-tune.md: Regenerate.
3398 * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst:
3399 Document Cortex-A715 CPU.
3400
3401 2022-11-11 Richard Biener <rguenther@suse.de>
3402 Nikita Voronov <nik_1357@mail.ru>
3403
3404 PR tree-optimization/107554
3405 * tree-ssa-strlen.cc (strlen_pass::count_nonzero_bytes):
3406 Use unsigned HOST_WIDE_INT type for the strlen.
3407
3408 2022-11-11 Richard Biener <rguenther@suse.de>
3409
3410 PR tree-optimization/105142
3411 * gimple-fold.cc (fosa_unwind): New global.
3412 (follow_outer_ssa_edges): When the SSA definition to follow
3413 is does not dominate fosa_bb, temporarily clear flow-sensitive
3414 info. Make sure to not expand stmts with not defined overflow.
3415 (maybe_fold_comparisons_from_match_pd): Set up unwind stack
3416 for follow_outer_ssa_edges and unwind flow-sensitive info
3417 clearing after matching.
3418
3419 2022-11-11 Aldy Hernandez <aldyh@redhat.com>
3420
3421 * range-op.cc (operator_mult::fold_range): Remove.
3422 (operator_div::fold_range): Remove.
3423 (operator_bitwise_and): Remove.
3424
3425 2022-11-11 Aldy Hernandez <aldyh@redhat.com>
3426
3427 * range-op.cc (update_known_bitmask): Avoid unnecessary intersection.
3428
3429 2022-11-11 Aldy Hernandez <aldyh@redhat.com>
3430
3431 * range-op.cc (range_operator::fold_range): Call
3432 update_known_bitmask.
3433 (operator_bitwise_and::fold_range): Avoid setting nonzero bits
3434 when range is undefined.
3435
3436 2022-11-11 Aldy Hernandez <aldyh@redhat.com>
3437
3438 * range-op.cc (class operator_div): Remove tree code.
3439 (operator_div::wi_op_overflows): Handle EXACT_DIV_EXPR as
3440 TRUNC_DIV_EXPR.
3441
3442 2022-11-11 Aldy Hernandez <aldyh@redhat.com>
3443
3444 * range-op.cc: (range_op_table::set): Set m_code.
3445 (integral_table::integral_table): Handle shared entries.
3446 (pointer_table::pointer_table): Same.
3447 * range-op.h (class range_operator): Add m_code.
3448
3449 2022-11-11 Richard Biener <rguenther@suse.de>
3450
3451 PR tree-optimization/107618
3452 * tree-ssa-copy.cc (stmt_may_generate_copy): Simulate all
3453 assignments with a single SSA use.
3454 (copy_prop_visit_assignment): Use gimple_fold_stmt_to_constant_1
3455 to perform simple constant folding.
3456 (copy_prop::visit_stmt): Visit all assignments.
3457
3458 2022-11-11 Richard Biener <rguenther@suse.de>
3459
3460 PR tree-optimization/84646
3461 * tree-ssa-dce.cc (pass_dce::set_pass_param): Add param
3462 wheter to run update-address-taken.
3463 (pass_dce::execute): Honor it.
3464 * passes.def: Exchange last DCE and CD-DCE invocations.
3465 Swap pass_tail_calls and the last DCE.
3466
3467 2022-11-11 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
3468 Monk Chiang <monk.chiang@sifive.com>
3469
3470 * config/riscv/riscv-v.cc (emit_pred_move): Adjust for scalable register spilling.
3471 (legitimize_move): Ditto.
3472 * config/riscv/riscv.cc (riscv_v_adjust_scalable_frame): New function.
3473 (riscv_first_stack_step): Adjust for scalable register spilling.
3474 (riscv_expand_prologue): Ditto.
3475 (riscv_expand_epilogue): Ditto.
3476 (riscv_dwarf_poly_indeterminate_value): New function.
3477 (TARGET_DWARF_POLY_INDETERMINATE_VALUE): New target hook support for register spilling.
3478 * config/riscv/riscv.h (RISCV_DWARF_VLENB): New macro.
3479 (RISCV_PROLOGUE_TEMP2_REGNUM): Ditto.
3480 (RISCV_PROLOGUE_TEMP2): Ditto.
3481 * config/riscv/vector-iterators.md: New iterators.
3482 * config/riscv/vector.md (*mov<mode>): Fix it for register spilling.
3483 (*mov<mode>_whole): New pattern.
3484 (*mov<mode>_fract): New pattern.
3485 (@pred_mov<mode>): Fix it for register spilling.
3486
3487 2022-11-11 Jonathan Wakely <jwakely@redhat.com>
3488
3489 PR c/85487
3490 * doc/cpp/pragmas.rst (Pragmas): Document region pragmas.
3491
3492 2022-11-11 Haochen Jiang <haochen.jiang@intel.com>
3493
3494 * config/i386/i386-builtin.def (BDESC): Add
3495 OPTION_MASK_ISA2_PREFETCHI for prefetchi builtin.
3496 * config/i386/i386-expand.cc (ix86_expand_builtin):
3497 Add ISA check before emit_insn.
3498 * config/i386/prfchiintrin.h: Add target for intrin.
3499
3500 2022-11-10 David Malcolm <dmalcolm@redhat.com>
3501
3502 PR analyzer/99671
3503 * tristate.h (tristate::is_unknown): New.
3504
3505 2022-11-10 David Malcolm <dmalcolm@redhat.com>
3506
3507 * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
3508 Add -Wanalyzer-deref-before-check.
3509
3510 2022-11-10 Marek Polacek <polacek@redhat.com>
3511
3512 * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst:
3513 Extend the description of -Wdangling-reference.
3514
3515 2022-11-10 Andrew Pinski <apinski@marvell.com>
3516
3517 * config/bfin/bfin.h (SLOW_SHORT_ACCESS): Delete.
3518 * config/i386/i386.h (SLOW_SHORT_ACCESS): Delete.
3519 * system.h: Poison SLOW_SHORT_ACCESS
3520
3521 2022-11-10 Aldy Hernandez <aldyh@redhat.com>
3522
3523 * value-range.cc (frange::set_nonnegative): Remove NAN sign handling.
3524 (range_tests_signed_zeros): Adjust test.
3525
3526 2022-11-10 Richard Biener <rguenther@suse.de>
3527
3528 PR tree-optimization/84646
3529 * tree-ssa-forwprop.cc (pass_forwprop::execute): Improve
3530 copy propagation across PHIs.
3531
3532 2022-11-10 Philipp Tomsich <philipp.tomsich@vrull.eu>
3533
3534 * config/riscv/riscv-cores.def (RISCV_TUNE): Update
3535 sifive-7-series to point to the sifive_7 pipeline description.
3536
3537 2022-11-10 Richard Biener <rguenther@suse.de>
3538
3539 PR tree-optimization/84646
3540 * tree-ssa-ccp.cc (set_lattice_value): Make sure we
3541 allow a const -> copy transition and avoid using meet
3542 in that case.
3543
3544 2022-11-10 Martin Liska <mliska@suse.cz>
3545
3546 * doc/cpp/conf.py: Add newline at last line.
3547 * doc/cppinternals/conf.py: Add newline at last line.
3548 * doc/gcc/conf.py: Add newline at last line.
3549 * doc/gccint/conf.py: Add newline at last line.
3550 * doc/install/conf.py: Add newline at last line.
3551
3552 2022-11-10 Richard Biener <rguenther@suse.de>
3553
3554 * tree-ssa-loop-unswitch.cc (init_loop_unswitch_info): First collect
3555 candidates and determine the outermost loop to unswitch.
3556 (tree_ssa_unswitch_loops): First perform all guard hoisting,
3557 then perform unswitching on innermost loop predicates.
3558 (find_unswitching_predicates_for_bb): Keep track of the
3559 outermost loop to unswitch.
3560 (evaluate_bbs): Adjust exit test.
3561 (tree_unswitch_single_loop): Dump whether we unswitched an outer
3562 loop.
3563 (tree_unswitch_loop): Remove assert we unswitch only innermost
3564 loops.
3565
3566 2022-11-10 Jakub Jelinek <jakub@redhat.com>
3567
3568 PR target/107585
3569 PR target/107546
3570 * config/i386/i386-expand.cc (ix86_expand_int_sse_cmp): Use
3571 gen_int_mode rather than GEN_INT.
3572
3573 2022-11-09 Martin Liska <mliska@suse.cz>
3574 Sinan <sinan.lin@linux.alibaba.com>
3575
3576 * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst:
3577 Add missing variable name.
3578
3579 2022-11-09 Aldy Hernandez <aldyh@redhat.com>
3580
3581 * value-range-storage.cc (frange_storage_slot::get_frange): Clear
3582 NAN if appropriate.
3583 * value-range.cc (range_tests_floats): New test.
3584
3585 2022-11-09 Aldy Hernandez <aldyh@redhat.com>
3586
3587 * range-op-float.cc (class foperator_plus): Remove op[12]_range.
3588 (class foperator_minus): Same.
3589
3590 2022-11-09 Qing Zhao <qing.zhao@oracle.com>
3591
3592 * gimple-array-bounds.cc (trailing_array): Replace
3593 array_at_struct_end_p with new name and update comments.
3594 * gimple-fold.cc (get_range_strlen_tree): Likewise.
3595 * gimple-ssa-warn-restrict.cc (builtin_memref::builtin_memref):
3596 Likewise.
3597 * graphite-sese-to-poly.cc (bounds_are_valid): Likewise.
3598 * tree-if-conv.cc (idx_within_array_bound): Likewise.
3599 * tree-object-size.cc (addr_object_size): Likewise.
3600 * tree-ssa-alias.cc (component_ref_to_zero_sized_trailing_array_p):
3601 Likewise.
3602 (stmt_kills_ref_p): Likewise.
3603 * tree-ssa-loop-niter.cc (idx_infer_loop_bounds): Likewise.
3604 * tree-ssa-strlen.cc (maybe_set_strlen_range): Likewise.
3605 * tree.cc (array_at_struct_end_p): Rename to ...
3606 (array_ref_flexible_size_p): ... this.
3607 (component_ref_size): Replace array_at_struct_end_p with new name.
3608 * tree.h (array_at_struct_end_p): Rename to ...
3609 (array_ref_flexible_size_p): ... this.
3610
3611 2022-11-09 Martin Liska <mliska@suse.cz>
3612
3613 * Makefile.in: Use new install URL.
3614 * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst:
3615 Use intersphinx link.
3616 * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
3617 Use new URL.
3618 * doc/gccint/source-tree-structure-and-build-system.rst: Use
3619 intersphinx link.
3620 * doc/install/host-target-specific-installation-notes-for-gcc.rst: Likewise.
3621 * doc/install/installing-gcc.rst: Likewise.
3622
3623 2022-11-09 Richard Biener <rguenther@suse.de>
3624
3625 PR tree-optimization/84646
3626 * tree-ssa-threadbackward.cc (back_threader::maybe_register_path):
3627 Remove premature cycle rejection.
3628
3629 2022-11-09 Martin Liska <mliska@suse.cz>
3630
3631 * doc/cpp/character-sets.rst:
3632 Add trailing newline.
3633 * doc/cpp/conditional-syntax.rst:
3634 Add trailing newline.
3635 * doc/cpp/conditional-uses.rst:
3636 Add trailing newline.
3637 * doc/cpp/conditionals.rst:
3638 Add trailing newline.
3639 * doc/cpp/copyright.rst:
3640 Add trailing newline.
3641 * doc/cpp/deleted-code.rst:
3642 Add trailing newline.
3643 * doc/cpp/diagnostics.rst:
3644 Add trailing newline.
3645 * doc/cpp/environment-variables.rst:
3646 Add trailing newline.
3647 * doc/cpp/gnu-free-documentation-license.rst:
3648 Add trailing newline.
3649 * doc/cpp/header-files.rst:
3650 Add trailing newline.
3651 * doc/cpp/header-files/alternatives-to-wrapper-ifndef.rst:
3652 Add trailing newline.
3653 * doc/cpp/header-files/computed-includes.rst:
3654 Add trailing newline.
3655 * doc/cpp/header-files/include-operation.rst:
3656 Add trailing newline.
3657 * doc/cpp/header-files/include-syntax.rst:
3658 Add trailing newline.
3659 * doc/cpp/header-files/once-only-headers.rst:
3660 Add trailing newline.
3661 * doc/cpp/header-files/search-path.rst:
3662 Add trailing newline.
3663 * doc/cpp/header-files/system-headers.rst:
3664 Add trailing newline.
3665 * doc/cpp/header-files/wrapper-headers.rst:
3666 Add trailing newline.
3667 * doc/cpp/implementation-defined-behavior.rst:
3668 Add trailing newline.
3669 * doc/cpp/implementation-details.rst:
3670 Add trailing newline.
3671 * doc/cpp/implementation-limits.rst:
3672 Add trailing newline.
3673 * doc/cpp/index.rst:
3674 Add trailing newline.
3675 * doc/cpp/indices-and-tables.rst:
3676 Add trailing newline.
3677 * doc/cpp/initial-processing.rst:
3678 Add trailing newline.
3679 * doc/cpp/invocation.rst:
3680 Add trailing newline.
3681 * doc/cpp/line-control.rst:
3682 Add trailing newline.
3683 * doc/cpp/macros.rst:
3684 Add trailing newline.
3685 * doc/cpp/macros/concatenation.rst:
3686 Add trailing newline.
3687 * doc/cpp/macros/directives-within-macro-arguments.rst:
3688 Add trailing newline.
3689 * doc/cpp/macros/function-like-macros.rst:
3690 Add trailing newline.
3691 * doc/cpp/macros/macro-arguments.rst:
3692 Add trailing newline.
3693 * doc/cpp/macros/macro-pitfalls.rst:
3694 Add trailing newline.
3695 * doc/cpp/macros/object-like-macros.rst:
3696 Add trailing newline.
3697 * doc/cpp/macros/predefined-macros.rst:
3698 Add trailing newline.
3699 * doc/cpp/macros/stringizing.rst:
3700 Add trailing newline.
3701 * doc/cpp/macros/undefining-and-redefining-macros.rst:
3702 Add trailing newline.
3703 * doc/cpp/macros/variadic-macros.rst:
3704 Add trailing newline.
3705 * doc/cpp/obsolete-features.rst:
3706 Add trailing newline.
3707 * doc/cpp/other-directives.rst:
3708 Add trailing newline.
3709 * doc/cpp/overview.rst:
3710 Add trailing newline.
3711 * doc/cpp/pragmas.rst:
3712 Add trailing newline.
3713 * doc/cpp/preprocessor-output.rst:
3714 Add trailing newline.
3715 * doc/cpp/the-preprocessing-language.rst:
3716 Add trailing newline.
3717 * doc/cpp/tokenization.rst:
3718 Add trailing newline.
3719 * doc/cpp/traditional-lexical-analysis.rst:
3720 Add trailing newline.
3721 * doc/cpp/traditional-macros.rst:
3722 Add trailing newline.
3723 * doc/cpp/traditional-miscellany.rst:
3724 Add trailing newline.
3725 * doc/cpp/traditional-mode.rst:
3726 Add trailing newline.
3727 * doc/cpp/traditional-warnings.rst:
3728 Add trailing newline.
3729 * doc/cppinternals/copyright.rst:
3730 Add trailing newline.
3731 * doc/cppinternals/cppinternals.rst:
3732 Add trailing newline.
3733 * doc/cppinternals/cpplib.rst:
3734 Add trailing newline.
3735 * doc/cppinternals/files.rst:
3736 Add trailing newline.
3737 * doc/cppinternals/index.rst:
3738 Add trailing newline.
3739 * doc/cppinternals/indices-and-tables.rst:
3740 Add trailing newline.
3741 * doc/cppinternals/internal-representation-of-macros.rst:
3742 Add trailing newline.
3743 * doc/cppinternals/just-which-line-number-anyway.rst:
3744 Add trailing newline.
3745 * doc/cppinternals/lexing-a-line.rst:
3746 Add trailing newline.
3747 * doc/cppinternals/lexing-a-token.rst:
3748 Add trailing newline.
3749 * doc/cppinternals/looking-for-a-function-like-macros-opening-parenthesis.rst:
3750 Add trailing newline.
3751 * doc/cppinternals/macro-expansion-overview.rst:
3752 Add trailing newline.
3753 * doc/cppinternals/marking-tokens-ineligible-for-future-expansion.rst:
3754 Add trailing newline.
3755 * doc/cppinternals/multiple-include-optimization.rst:
3756 Add trailing newline.
3757 * doc/cppinternals/overview.rst:
3758 Add trailing newline.
3759 * doc/cppinternals/representation-of-line-numbers.rst:
3760 Add trailing newline.
3761 * doc/cppinternals/scanning-the-replacement-list-for-macros-to-expand.rst:
3762 Add trailing newline.
3763 * doc/gcc/binary-compatibility.rst:
3764 Add trailing newline.
3765 * doc/gcc/c++-implementation-defined-behavior.rst:
3766 Add trailing newline.
3767 * doc/gcc/c-implementation-defined-behavior.rst:
3768 Add trailing newline.
3769 * doc/gcc/c-implementation-defined-behavior/architecture.rst:
3770 Add trailing newline.
3771 * doc/gcc/c-implementation-defined-behavior/arrays-and-pointers.rst:
3772 Add trailing newline.
3773 * doc/gcc/c-implementation-defined-behavior/characters.rst:
3774 Add trailing newline.
3775 * doc/gcc/c-implementation-defined-behavior/declarators.rst:
3776 Add trailing newline.
3777 * doc/gcc/c-implementation-defined-behavior/environment.rst:
3778 Add trailing newline.
3779 * doc/gcc/c-implementation-defined-behavior/floating-point.rst:
3780 Add trailing newline.
3781 * doc/gcc/c-implementation-defined-behavior/hints.rst:
3782 Add trailing newline.
3783 * doc/gcc/c-implementation-defined-behavior/identifiers.rst:
3784 Add trailing newline.
3785 * doc/gcc/c-implementation-defined-behavior/integers.rst:
3786 Add trailing newline.
3787 * doc/gcc/c-implementation-defined-behavior/library-functions.rst:
3788 Add trailing newline.
3789 * doc/gcc/c-implementation-defined-behavior/locale-specific-behavior.rst:
3790 Add trailing newline.
3791 * doc/gcc/c-implementation-defined-behavior/preprocessing-directives.rst:
3792 Add trailing newline.
3793 * doc/gcc/c-implementation-defined-behavior/qualifiers.rst:
3794 Add trailing newline.
3795 * doc/gcc/c-implementation-defined-behavior/statements.rst:
3796 Add trailing newline.
3797 * doc/gcc/c-implementation-defined-behavior/structures-unions-enumerations-and-bit-fields.rst:
3798 Add trailing newline.
3799 * doc/gcc/c-implementation-defined-behavior/translation.rst:
3800 Add trailing newline.
3801 * doc/gcc/conditionally-supported-behavior.rst:
3802 Add trailing newline.
3803 * doc/gcc/contributing-to-gcc-development.rst:
3804 Add trailing newline.
3805 * doc/gcc/contributors-to-gcc.rst:
3806 Add trailing newline.
3807 * doc/gcc/copyright.rst:
3808 Add trailing newline.
3809 * doc/gcc/exception-handling.rst:
3810 Add trailing newline.
3811 * doc/gcc/extensions-to-the-c++-language.rst:
3812 Add trailing newline.
3813 * doc/gcc/extensions-to-the-c++-language/backwards-compatibility.rst:
3814 Add trailing newline.
3815 * doc/gcc/extensions-to-the-c++-language/c++-concepts.rst:
3816 Add trailing newline.
3817 * doc/gcc/extensions-to-the-c++-language/c++-interface-and-implementation-pragmas.rst:
3818 Add trailing newline.
3819 * doc/gcc/extensions-to-the-c++-language/c++-specific-variable-function-and-type-attributes.rst:
3820 Add trailing newline.
3821 * doc/gcc/extensions-to-the-c++-language/deprecated-features.rst:
3822 Add trailing newline.
3823 * doc/gcc/extensions-to-the-c++-language/extracting-the-function-pointer-from-a-bound-pointer-to-member-function.rst:
3824 Add trailing newline.
3825 * doc/gcc/extensions-to-the-c++-language/function-multiversioning.rst:
3826 Add trailing newline.
3827 * doc/gcc/extensions-to-the-c++-language/restricting-pointer-aliasing.rst:
3828 Add trailing newline.
3829 * doc/gcc/extensions-to-the-c++-language/type-traits.rst:
3830 Add trailing newline.
3831 * doc/gcc/extensions-to-the-c++-language/vague-linkage.rst:
3832 Add trailing newline.
3833 * doc/gcc/extensions-to-the-c++-language/when-is-a-volatile-c++-object-accessed.rst:
3834 Add trailing newline.
3835 * doc/gcc/extensions-to-the-c++-language/wheres-the-template.rst:
3836 Add trailing newline.
3837 * doc/gcc/extensions-to-the-c-language-family.rst:
3838 Add trailing newline.
3839 * doc/gcc/extensions-to-the-c-language-family/128-bit-integers.rst:
3840 Add trailing newline.
3841 * doc/gcc/extensions-to-the-c-language-family/additional-floating-types.rst:
3842 Add trailing newline.
3843 * doc/gcc/extensions-to-the-c-language-family/alternate-keywords.rst:
3844 Add trailing newline.
3845 * doc/gcc/extensions-to-the-c-language-family/an-inline-function-is-as-fast-as-a-macro.rst:
3846 Add trailing newline.
3847 * doc/gcc/extensions-to-the-c-language-family/arithmetic-on-void-and-function-pointers.rst:
3848 Add trailing newline.
3849 * doc/gcc/extensions-to-the-c-language-family/arrays-of-length-zero.rst:
3850 Add trailing newline.
3851 * doc/gcc/extensions-to-the-c-language-family/arrays-of-variable-length.rst:
3852 Add trailing newline.
3853 * doc/gcc/extensions-to-the-c-language-family/attribute-syntax.rst:
3854 Add trailing newline.
3855 * doc/gcc/extensions-to-the-c-language-family/binary-constants-using-the-0b-prefix.rst:
3856 Add trailing newline.
3857 * doc/gcc/extensions-to-the-c-language-family/built-in-functions-for-memory-model-aware-atomic-operations.rst:
3858 Add trailing newline.
3859 * doc/gcc/extensions-to-the-c-language-family/built-in-functions-to-perform-arithmetic-with-overflow-checking.rst:
3860 Add trailing newline.
3861 * doc/gcc/extensions-to-the-c-language-family/c++-style-comments.rst:
3862 Add trailing newline.
3863 * doc/gcc/extensions-to-the-c-language-family/case-ranges.rst:
3864 Add trailing newline.
3865 * doc/gcc/extensions-to-the-c-language-family/cast-to-a-union-type.rst:
3866 Add trailing newline.
3867 * doc/gcc/extensions-to-the-c-language-family/complex-numbers.rst:
3868 Add trailing newline.
3869 * doc/gcc/extensions-to-the-c-language-family/compound-literals.rst:
3870 Add trailing newline.
3871 * doc/gcc/extensions-to-the-c-language-family/conditionals-with-omitted-operands.rst:
3872 Add trailing newline.
3873 * doc/gcc/extensions-to-the-c-language-family/constructing-function-calls.rst:
3874 Add trailing newline.
3875 * doc/gcc/extensions-to-the-c-language-family/decimal-floating-types.rst:
3876 Add trailing newline.
3877 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions.rst:
3878 Add trailing newline.
3879 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/aarch64-function-attributes.rst:
3880 Add trailing newline.
3881 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/amd-gcn-function-attributes.rst:
3882 Add trailing newline.
3883 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arc-function-attributes.rst:
3884 Add trailing newline.
3885 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arm-function-attributes.rst:
3886 Add trailing newline.
3887 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/avr-function-attributes.rst:
3888 Add trailing newline.
3889 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/blackfin-function-attributes.rst:
3890 Add trailing newline.
3891 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/bpf-function-attributes.rst:
3892 Add trailing newline.
3893 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/c-sky-function-attributes.rst:
3894 Add trailing newline.
3895 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/common-function-attributes.rst:
3896 Add trailing newline.
3897 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/epiphany-function-attributes.rst:
3898 Add trailing newline.
3899 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/h8-300-function-attributes.rst:
3900 Add trailing newline.
3901 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/ia-64-function-attributes.rst:
3902 Add trailing newline.
3903 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32c-function-attributes.rst:
3904 Add trailing newline.
3905 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32r-d-function-attributes.rst:
3906 Add trailing newline.
3907 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m68k-function-attributes.rst:
3908 Add trailing newline.
3909 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mcore-function-attributes.rst:
3910 Add trailing newline.
3911 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mep-function-attributes.rst:
3912 Add trailing newline.
3913 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microblaze-function-attributes.rst:
3914 Add trailing newline.
3915 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microsoft-windows-function-attributes.rst:
3916 Add trailing newline.
3917 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mips-function-attributes.rst:
3918 Add trailing newline.
3919 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/msp430-function-attributes.rst:
3920 Add trailing newline.
3921 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nds32-function-attributes.rst:
3922 Add trailing newline.
3923 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nios-ii-function-attributes.rst:
3924 Add trailing newline.
3925 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nvidia-ptx-function-attributes.rst:
3926 Add trailing newline.
3927 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/powerpc-function-attributes.rst:
3928 Add trailing newline.
3929 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/risc-v-function-attributes.rst:
3930 Add trailing newline.
3931 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rl78-function-attributes.rst:
3932 Add trailing newline.
3933 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rx-function-attributes.rst:
3934 Add trailing newline.
3935 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/s-390-function-attributes.rst:
3936 Add trailing newline.
3937 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/sh-function-attributes.rst:
3938 Add trailing newline.
3939 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/symbian-os-function-attributes.rst:
3940 Add trailing newline.
3941 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/v850-function-attributes.rst:
3942 Add trailing newline.
3943 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/visium-function-attributes.rst:
3944 Add trailing newline.
3945 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/x86-function-attributes.rst:
3946 Add trailing newline.
3947 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/xstormy16-function-attributes.rst:
3948 Add trailing newline.
3949 * doc/gcc/extensions-to-the-c-language-family/designated-initializers.rst:
3950 Add trailing newline.
3951 * doc/gcc/extensions-to-the-c-language-family/determining-the-alignment-of-functions-types-or-variables.rst:
3952 Add trailing newline.
3953 * doc/gcc/extensions-to-the-c-language-family/dollar-signs-in-identifier-names.rst:
3954 Add trailing newline.
3955 * doc/gcc/extensions-to-the-c-language-family/double-word-integers.rst:
3956 Add trailing newline.
3957 * doc/gcc/extensions-to-the-c-language-family/enumerator-attributes.rst:
3958 Add trailing newline.
3959 * doc/gcc/extensions-to-the-c-language-family/fixed-point-types.rst:
3960 Add trailing newline.
3961 * doc/gcc/extensions-to-the-c-language-family/format-checks-specific-to-particular-target-machines.rst:
3962 Add trailing newline.
3963 * doc/gcc/extensions-to-the-c-language-family/function-names-as-strings.rst:
3964 Add trailing newline.
3965 * doc/gcc/extensions-to-the-c-language-family/getting-the-return-or-frame-address-of-a-function.rst:
3966 Add trailing newline.
3967 * doc/gcc/extensions-to-the-c-language-family/half-precision-floating-point.rst:
3968 Add trailing newline.
3969 * doc/gcc/extensions-to-the-c-language-family/hex-floats.rst:
3970 Add trailing newline.
3971 * doc/gcc/extensions-to-the-c-language-family/how-to-use-inline-assembly-language-in-c-code.rst:
3972 Add trailing newline.
3973 * doc/gcc/extensions-to-the-c-language-family/incomplete-enum-types.rst:
3974 Add trailing newline.
3975 * doc/gcc/extensions-to-the-c-language-family/label-attributes.rst:
3976 Add trailing newline.
3977 * doc/gcc/extensions-to-the-c-language-family/labels-as-values.rst:
3978 Add trailing newline.
3979 * doc/gcc/extensions-to-the-c-language-family/legacy-sync-built-in-functions-for-atomic-memory-access.rst:
3980 Add trailing newline.
3981 * doc/gcc/extensions-to-the-c-language-family/locally-declared-labels.rst:
3982 Add trailing newline.
3983 * doc/gcc/extensions-to-the-c-language-family/macros-with-a-variable-number-of-arguments.rst:
3984 Add trailing newline.
3985 * doc/gcc/extensions-to-the-c-language-family/mixed-declarations-labels-and-code.rst:
3986 Add trailing newline.
3987 * doc/gcc/extensions-to-the-c-language-family/named-address-spaces.rst:
3988 Add trailing newline.
3989 * doc/gcc/extensions-to-the-c-language-family/nested-functions.rst:
3990 Add trailing newline.
3991 * doc/gcc/extensions-to-the-c-language-family/non-constant-initializers.rst:
3992 Add trailing newline.
3993 * doc/gcc/extensions-to-the-c-language-family/non-lvalue-arrays-may-have-subscripts.rst:
3994 Add trailing newline.
3995 * doc/gcc/extensions-to-the-c-language-family/nonlocal-gotos.rst:
3996 Add trailing newline.
3997 * doc/gcc/extensions-to-the-c-language-family/object-size-checking-built-in-functions.rst:
3998 Add trailing newline.
3999 * doc/gcc/extensions-to-the-c-language-family/other-built-in-functions-provided-by-gcc.rst:
4000 Add trailing newline.
4001 * doc/gcc/extensions-to-the-c-language-family/pointer-arguments-in-variadic-functions.rst:
4002 Add trailing newline.
4003 * doc/gcc/extensions-to-the-c-language-family/pointers-to-arrays-with-qualifiers-work-as-expected.rst:
4004 Add trailing newline.
4005 * doc/gcc/extensions-to-the-c-language-family/pragmas-accepted-by-gcc.rst:
4006 Add trailing newline.
4007 * doc/gcc/extensions-to-the-c-language-family/prototypes-and-old-style-function-definitions.rst:
4008 Add trailing newline.
4009 * doc/gcc/extensions-to-the-c-language-family/referring-to-a-type-with-typeof.rst:
4010 Add trailing newline.
4011 * doc/gcc/extensions-to-the-c-language-family/slightly-looser-rules-for-escaped-newlines.rst:
4012 Add trailing newline.
4013 * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-types.rst:
4014 Add trailing newline.
4015 * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-variables.rst:
4016 Add trailing newline.
4017 * doc/gcc/extensions-to-the-c-language-family/statement-attributes.rst:
4018 Add trailing newline.
4019 * doc/gcc/extensions-to-the-c-language-family/statements-and-declarations-in-expressions.rst:
4020 Add trailing newline.
4021 * doc/gcc/extensions-to-the-c-language-family/structures-with-no-members.rst:
4022 Add trailing newline.
4023 * doc/gcc/extensions-to-the-c-language-family/support-for-offsetof.rst:
4024 Add trailing newline.
4025 * doc/gcc/extensions-to-the-c-language-family/target-builtins.rst:
4026 Add trailing newline.
4027 * doc/gcc/extensions-to-the-c-language-family/target-builtins/aarch64-built-in-functions.rst:
4028 Add trailing newline.
4029 * doc/gcc/extensions-to-the-c-language-family/target-builtins/alpha-built-in-functions.rst:
4030 Add trailing newline.
4031 * doc/gcc/extensions-to-the-c-language-family/target-builtins/altera-nios-ii-built-in-functions.rst:
4032 Add trailing newline.
4033 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-built-in-functions.rst:
4034 Add trailing newline.
4035 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-simd-built-in-functions.rst:
4036 Add trailing newline.
4037 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-armv8-m-security-extensions.rst:
4038 Add trailing newline.
4039 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-c-language-extensions-acle.rst:
4040 Add trailing newline.
4041 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-floating-point-status-and-control-intrinsics.rst:
4042 Add trailing newline.
4043 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-iwmmxt-built-in-functions.rst:
4044 Add trailing newline.
4045 * doc/gcc/extensions-to-the-c-language-family/target-builtins/avr-built-in-functions.rst:
4046 Add trailing newline.
4047 * doc/gcc/extensions-to-the-c-language-family/target-builtins/basic-powerpc-built-in-functions.rst:
4048 Add trailing newline.
4049 * doc/gcc/extensions-to-the-c-language-family/target-builtins/blackfin-built-in-functions.rst:
4050 Add trailing newline.
4051 * doc/gcc/extensions-to-the-c-language-family/target-builtins/bpf-built-in-functions.rst:
4052 Add trailing newline.
4053 * doc/gcc/extensions-to-the-c-language-family/target-builtins/fr-v-built-in-functions.rst:
4054 Add trailing newline.
4055 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-dsp-built-in-functions.rst:
4056 Add trailing newline.
4057 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-loongson-built-in-functions.rst:
4058 Add trailing newline.
4059 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-paired-single-support.rst:
4060 Add trailing newline.
4061 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-simd-architecture-msa-support.rst:
4062 Add trailing newline.
4063 * doc/gcc/extensions-to-the-c-language-family/target-builtins/msp430-built-in-functions.rst:
4064 Add trailing newline.
4065 * doc/gcc/extensions-to-the-c-language-family/target-builtins/nds32-built-in-functions.rst:
4066 Add trailing newline.
4067 * doc/gcc/extensions-to-the-c-language-family/target-builtins/other-mips-built-in-functions.rst:
4068 Add trailing newline.
4069 * doc/gcc/extensions-to-the-c-language-family/target-builtins/picochip-built-in-functions.rst:
4070 Add trailing newline.
4071 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-altivec-vsx-built-in-functions.rst:
4072 Add trailing newline.
4073 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-atomic-memory-operation-functions.rst:
4074 Add trailing newline.
4075 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-hardware-transactional-memory-built-in-functions.rst:
4076 Add trailing newline.
4077 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-matrix-multiply-assist-built-in-functions.rst:
4078 Add trailing newline.
4079 * doc/gcc/extensions-to-the-c-language-family/target-builtins/pru-built-in-functions.rst:
4080 Add trailing newline.
4081 * doc/gcc/extensions-to-the-c-language-family/target-builtins/risc-v-built-in-functions.rst:
4082 Add trailing newline.
4083 * doc/gcc/extensions-to-the-c-language-family/target-builtins/rx-built-in-functions.rst:
4084 Add trailing newline.
4085 * doc/gcc/extensions-to-the-c-language-family/target-builtins/s-390-system-z-built-in-functions.rst:
4086 Add trailing newline.
4087 * doc/gcc/extensions-to-the-c-language-family/target-builtins/sh-built-in-functions.rst:
4088 Add trailing newline.
4089 * doc/gcc/extensions-to-the-c-language-family/target-builtins/sparc-vis-built-in-functions.rst:
4090 Add trailing newline.
4091 * doc/gcc/extensions-to-the-c-language-family/target-builtins/ti-c6x-built-in-functions.rst:
4092 Add trailing newline.
4093 * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-built-in-functions.rst:
4094 Add trailing newline.
4095 * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-control-flow-protection-intrinsics.rst:
4096 Add trailing newline.
4097 * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-transactional-memory-intrinsics.rst:
4098 Add trailing newline.
4099 * doc/gcc/extensions-to-the-c-language-family/the-character-esc-in-constants.rst:
4100 Add trailing newline.
4101 * doc/gcc/extensions-to-the-c-language-family/thread-local-storage.rst:
4102 Add trailing newline.
4103 * doc/gcc/extensions-to-the-c-language-family/unnamed-structure-and-union-fields.rst:
4104 Add trailing newline.
4105 * doc/gcc/extensions-to-the-c-language-family/using-vector-instructions-through-built-in-functions.rst:
4106 Add trailing newline.
4107 * doc/gcc/extensions-to-the-c-language-family/when-is-a-volatile-object-accessed.rst:
4108 Add trailing newline.
4109 * doc/gcc/extensions-to-the-c-language-family/x86-specific-memory-model-extensions-for-transactional-memory.rst:
4110 Add trailing newline.
4111 * doc/gcc/funding.rst:
4112 Add trailing newline.
4113 * doc/gcc/gcc-command-options.rst:
4114 Add trailing newline.
4115 * doc/gcc/gcc-command-options/compiling-c++-programs.rst:
4116 Add trailing newline.
4117 * doc/gcc/gcc-command-options/description.rst:
4118 Add trailing newline.
4119 * doc/gcc/gcc-command-options/environment-variables-affecting-gcc.rst:
4120 Add trailing newline.
4121 * doc/gcc/gcc-command-options/gcc-developer-options.rst:
4122 Add trailing newline.
4123 * doc/gcc/gcc-command-options/machine-dependent-options.rst:
4124 Add trailing newline.
4125 * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst:
4126 Add trailing newline.
4127 * doc/gcc/gcc-command-options/machine-dependent-options/adapteva-epiphany-options.rst:
4128 Add trailing newline.
4129 * doc/gcc/gcc-command-options/machine-dependent-options/amd-gcn-options.rst:
4130 Add trailing newline.
4131 * doc/gcc/gcc-command-options/machine-dependent-options/arc-options.rst:
4132 Add trailing newline.
4133 * doc/gcc/gcc-command-options/machine-dependent-options/arm-options.rst:
4134 Add trailing newline.
4135 * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst:
4136 Add trailing newline.
4137 * doc/gcc/gcc-command-options/machine-dependent-options/blackfin-options.rst:
4138 Add trailing newline.
4139 * doc/gcc/gcc-command-options/machine-dependent-options/c-sky-options.rst:
4140 Add trailing newline.
4141 * doc/gcc/gcc-command-options/machine-dependent-options/c6x-options.rst:
4142 Add trailing newline.
4143 * doc/gcc/gcc-command-options/machine-dependent-options/cris-options.rst:
4144 Add trailing newline.
4145 * doc/gcc/gcc-command-options/machine-dependent-options/darwin-options.rst:
4146 Add trailing newline.
4147 * doc/gcc/gcc-command-options/machine-dependent-options/dec-alpha-options.rst:
4148 Add trailing newline.
4149 * doc/gcc/gcc-command-options/machine-dependent-options/ebpf-options.rst:
4150 Add trailing newline.
4151 * doc/gcc/gcc-command-options/machine-dependent-options/fr30-options.rst:
4152 Add trailing newline.
4153 * doc/gcc/gcc-command-options/machine-dependent-options/frv-options.rst:
4154 Add trailing newline.
4155 * doc/gcc/gcc-command-options/machine-dependent-options/ft32-options.rst:
4156 Add trailing newline.
4157 * doc/gcc/gcc-command-options/machine-dependent-options/gnu-linux-options.rst:
4158 Add trailing newline.
4159 * doc/gcc/gcc-command-options/machine-dependent-options/h8-300-options.rst:
4160 Add trailing newline.
4161 * doc/gcc/gcc-command-options/machine-dependent-options/hppa-options.rst:
4162 Add trailing newline.
4163 * doc/gcc/gcc-command-options/machine-dependent-options/ia-64-options.rst:
4164 Add trailing newline.
4165 * doc/gcc/gcc-command-options/machine-dependent-options/ibm-rs-6000-and-powerpc-options.rst:
4166 Add trailing newline.
4167 * doc/gcc/gcc-command-options/machine-dependent-options/lm32-options.rst:
4168 Add trailing newline.
4169 * doc/gcc/gcc-command-options/machine-dependent-options/loongarch-options.rst:
4170 Add trailing newline.
4171 * doc/gcc/gcc-command-options/machine-dependent-options/m32c-options.rst:
4172 Add trailing newline.
4173 * doc/gcc/gcc-command-options/machine-dependent-options/m32r-d-options.rst:
4174 Add trailing newline.
4175 * doc/gcc/gcc-command-options/machine-dependent-options/m680x0-options.rst:
4176 Add trailing newline.
4177 * doc/gcc/gcc-command-options/machine-dependent-options/mcore-options.rst:
4178 Add trailing newline.
4179 * doc/gcc/gcc-command-options/machine-dependent-options/mep-options.rst:
4180 Add trailing newline.
4181 * doc/gcc/gcc-command-options/machine-dependent-options/microblaze-options.rst:
4182 Add trailing newline.
4183 * doc/gcc/gcc-command-options/machine-dependent-options/mips-options.rst:
4184 Add trailing newline.
4185 * doc/gcc/gcc-command-options/machine-dependent-options/mmix-options.rst:
4186 Add trailing newline.
4187 * doc/gcc/gcc-command-options/machine-dependent-options/mn10300-options.rst:
4188 Add trailing newline.
4189 * doc/gcc/gcc-command-options/machine-dependent-options/moxie-options.rst:
4190 Add trailing newline.
4191 * doc/gcc/gcc-command-options/machine-dependent-options/msp430-options.rst:
4192 Add trailing newline.
4193 * doc/gcc/gcc-command-options/machine-dependent-options/nds32-options.rst:
4194 Add trailing newline.
4195 * doc/gcc/gcc-command-options/machine-dependent-options/nios-ii-options.rst:
4196 Add trailing newline.
4197 * doc/gcc/gcc-command-options/machine-dependent-options/nvidia-ptx-options.rst:
4198 Add trailing newline.
4199 * doc/gcc/gcc-command-options/machine-dependent-options/openrisc-options.rst:
4200 Add trailing newline.
4201 * doc/gcc/gcc-command-options/machine-dependent-options/options-for-system-v.rst:
4202 Add trailing newline.
4203 * doc/gcc/gcc-command-options/machine-dependent-options/pdp-11-options.rst:
4204 Add trailing newline.
4205 * doc/gcc/gcc-command-options/machine-dependent-options/picochip-options.rst:
4206 Add trailing newline.
4207 * doc/gcc/gcc-command-options/machine-dependent-options/powerpc-options.rst:
4208 Add trailing newline.
4209 * doc/gcc/gcc-command-options/machine-dependent-options/pru-options.rst:
4210 Add trailing newline.
4211 * doc/gcc/gcc-command-options/machine-dependent-options/risc-v-options.rst:
4212 Add trailing newline.
4213 * doc/gcc/gcc-command-options/machine-dependent-options/rl78-options.rst:
4214 Add trailing newline.
4215 * doc/gcc/gcc-command-options/machine-dependent-options/rx-options.rst:
4216 Add trailing newline.
4217 * doc/gcc/gcc-command-options/machine-dependent-options/s-390-and-zseries-options.rst:
4218 Add trailing newline.
4219 * doc/gcc/gcc-command-options/machine-dependent-options/score-options.rst:
4220 Add trailing newline.
4221 * doc/gcc/gcc-command-options/machine-dependent-options/sh-options.rst:
4222 Add trailing newline.
4223 * doc/gcc/gcc-command-options/machine-dependent-options/solaris-2-options.rst:
4224 Add trailing newline.
4225 * doc/gcc/gcc-command-options/machine-dependent-options/sparc-options.rst:
4226 Add trailing newline.
4227 * doc/gcc/gcc-command-options/machine-dependent-options/v850-options.rst:
4228 Add trailing newline.
4229 * doc/gcc/gcc-command-options/machine-dependent-options/vax-options.rst:
4230 Add trailing newline.
4231 * doc/gcc/gcc-command-options/machine-dependent-options/visium-options.rst:
4232 Add trailing newline.
4233 * doc/gcc/gcc-command-options/machine-dependent-options/vms-options.rst:
4234 Add trailing newline.
4235 * doc/gcc/gcc-command-options/machine-dependent-options/vxworks-options.rst:
4236 Add trailing newline.
4237 * doc/gcc/gcc-command-options/machine-dependent-options/x86-windows-options.rst:
4238 Add trailing newline.
4239 * doc/gcc/gcc-command-options/machine-dependent-options/xstormy16-options.rst:
4240 Add trailing newline.
4241 * doc/gcc/gcc-command-options/machine-dependent-options/xtensa-options.rst:
4242 Add trailing newline.
4243 * doc/gcc/gcc-command-options/machine-dependent-options/zseries-options.rst:
4244 Add trailing newline.
4245 * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst:
4246 Add trailing newline.
4247 * doc/gcc/gcc-command-options/options-controlling-c-dialect.rst:
4248 Add trailing newline.
4249 * doc/gcc/gcc-command-options/options-controlling-objective-c-and-objective-c++-dialects.rst:
4250 Add trailing newline.
4251 * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst:
4252 Add trailing newline.
4253 * doc/gcc/gcc-command-options/options-controlling-the-preprocessor.rst:
4254 Add trailing newline.
4255 * doc/gcc/gcc-command-options/options-for-code-generation-conventions.rst:
4256 Add trailing newline.
4257 * doc/gcc/gcc-command-options/options-for-debugging-your-program.rst:
4258 Add trailing newline.
4259 * doc/gcc/gcc-command-options/options-for-directory-search.rst:
4260 Add trailing newline.
4261 * doc/gcc/gcc-command-options/options-for-linking.rst:
4262 Add trailing newline.
4263 * doc/gcc/gcc-command-options/options-that-control-optimization.rst:
4264 Add trailing newline.
4265 * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
4266 Add trailing newline.
4267 * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
4268 Add trailing newline.
4269 * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst:
4270 Add trailing newline.
4271 * doc/gcc/gcc-command-options/passing-options-to-the-assembler.rst:
4272 Add trailing newline.
4273 * doc/gcc/gcc-command-options/program-instrumentation-options.rst:
4274 Add trailing newline.
4275 * doc/gcc/gcc-command-options/specifying-subprocesses-and-the-switches-to-pass-to-them.rst:
4276 Add trailing newline.
4277 * doc/gcc/gcc-command-options/using-precompiled-headers.rst:
4278 Add trailing newline.
4279 * doc/gcc/gcc.rst:
4280 Add trailing newline.
4281 * doc/gcc/gcov-dump.rst:
4282 Add trailing newline.
4283 * doc/gcc/gcov-tool.rst:
4284 Add trailing newline.
4285 * doc/gcc/gcov.rst:
4286 Add trailing newline.
4287 * doc/gcc/gcov/brief-description-of-gcov-data-files.rst:
4288 Add trailing newline.
4289 * doc/gcc/gcov/data-file-relocation-to-support-cross-profiling.rst:
4290 Add trailing newline.
4291 * doc/gcc/gcov/introduction-to-gcov.rst:
4292 Add trailing newline.
4293 * doc/gcc/gcov/invoking-gcov.rst:
4294 Add trailing newline.
4295 * doc/gcc/gcov/profiling-and-test-coverage-in-freestanding-environments.rst:
4296 Add trailing newline.
4297 * doc/gcc/gcov/using-gcov-with-gcc-optimization.rst:
4298 Add trailing newline.
4299 * doc/gcc/general-public-license-3.rst:
4300 Add trailing newline.
4301 * doc/gcc/gnu-free-documentation-license.rst:
4302 Add trailing newline.
4303 * doc/gcc/gnu-objective-c-features.rst:
4304 Add trailing newline.
4305 * doc/gcc/gnu-objective-c-features/compatibilityalias.rst:
4306 Add trailing newline.
4307 * doc/gcc/gnu-objective-c-features/constant-string-objects.rst:
4308 Add trailing newline.
4309 * doc/gcc/gnu-objective-c-features/exceptions.rst:
4310 Add trailing newline.
4311 * doc/gcc/gnu-objective-c-features/fast-enumeration.rst:
4312 Add trailing newline.
4313 * doc/gcc/gnu-objective-c-features/garbage-collection.rst:
4314 Add trailing newline.
4315 * doc/gcc/gnu-objective-c-features/gnu-objective-c-runtime-api.rst:
4316 Add trailing newline.
4317 * doc/gcc/gnu-objective-c-features/load-executing-code-before-main.rst:
4318 Add trailing newline.
4319 * doc/gcc/gnu-objective-c-features/messaging-with-the-gnu-objective-c-runtime.rst:
4320 Add trailing newline.
4321 * doc/gcc/gnu-objective-c-features/synchronization.rst:
4322 Add trailing newline.
4323 * doc/gcc/gnu-objective-c-features/type-encoding.rst:
4324 Add trailing newline.
4325 * doc/gcc/gnu.rst:
4326 Add trailing newline.
4327 * doc/gcc/have-you-found-a-bug.rst:
4328 Add trailing newline.
4329 * doc/gcc/how-and-where-to-report-bugs.rst:
4330 Add trailing newline.
4331 * doc/gcc/how-to-get-help-with-gcc.rst:
4332 Add trailing newline.
4333 * doc/gcc/index.rst:
4334 Add trailing newline.
4335 * doc/gcc/indices-and-tables.rst:
4336 Add trailing newline.
4337 * doc/gcc/known-causes-of-trouble-with-gcc.rst:
4338 Add trailing newline.
4339 * doc/gcc/known-causes-of-trouble-with-gcc/actual-bugs-we-havent-fixed-yet.rst:
4340 Add trailing newline.
4341 * doc/gcc/known-causes-of-trouble-with-gcc/certain-changes-we-dont-want-to-make.rst:
4342 Add trailing newline.
4343 * doc/gcc/known-causes-of-trouble-with-gcc/common-misunderstandings-with-gnu-c.rst:
4344 Add trailing newline.
4345 * doc/gcc/known-causes-of-trouble-with-gcc/disappointments-and-misunderstandings.rst:
4346 Add trailing newline.
4347 * doc/gcc/known-causes-of-trouble-with-gcc/fixed-header-files.rst:
4348 Add trailing newline.
4349 * doc/gcc/known-causes-of-trouble-with-gcc/incompatibilities-of-gcc.rst:
4350 Add trailing newline.
4351 * doc/gcc/known-causes-of-trouble-with-gcc/interoperation.rst:
4352 Add trailing newline.
4353 * doc/gcc/known-causes-of-trouble-with-gcc/standard-libraries.rst:
4354 Add trailing newline.
4355 * doc/gcc/known-causes-of-trouble-with-gcc/warning-messages-and-error-messages.rst:
4356 Add trailing newline.
4357 * doc/gcc/language-standards-supported-by-gcc.rst:
4358 Add trailing newline.
4359 * doc/gcc/language-standards-supported-by-gcc/c++-language.rst:
4360 Add trailing newline.
4361 * doc/gcc/language-standards-supported-by-gcc/c-language.rst:
4362 Add trailing newline.
4363 * doc/gcc/language-standards-supported-by-gcc/d-language.rst:
4364 Add trailing newline.
4365 * doc/gcc/language-standards-supported-by-gcc/go-language.rst:
4366 Add trailing newline.
4367 * doc/gcc/language-standards-supported-by-gcc/objective-c-and-objective-c++-languages.rst:
4368 Add trailing newline.
4369 * doc/gcc/lto-dump.rst:
4370 Add trailing newline.
4371 * doc/gcc/programming-languages-supported-by-gcc.rst:
4372 Add trailing newline.
4373 * doc/gcc/reporting-bugs.rst:
4374 Add trailing newline.
4375 * doc/gccint/analysis-and-optimization-of-gimple-tuples.rst:
4376 Add trailing newline.
4377 * doc/gccint/analysis-and-optimization-of-gimple-tuples/alias-analysis.rst:
4378 Add trailing newline.
4379 * doc/gccint/analysis-and-optimization-of-gimple-tuples/annotations.rst:
4380 Add trailing newline.
4381 * doc/gccint/analysis-and-optimization-of-gimple-tuples/memory-model.rst:
4382 Add trailing newline.
4383 * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst:
4384 Add trailing newline.
4385 * doc/gccint/analysis-and-optimization-of-gimple-tuples/static-single-assignment.rst:
4386 Add trailing newline.
4387 * doc/gccint/analysis-and-representation-of-loops.rst:
4388 Add trailing newline.
4389 * doc/gccint/analysis-and-representation-of-loops/data-dependency-analysis.rst:
4390 Add trailing newline.
4391 * doc/gccint/analysis-and-representation-of-loops/iv-analysis-on-rtl.rst:
4392 Add trailing newline.
4393 * doc/gccint/analysis-and-representation-of-loops/loop-closed-ssa-form.rst:
4394 Add trailing newline.
4395 * doc/gccint/analysis-and-representation-of-loops/loop-manipulation.rst:
4396 Add trailing newline.
4397 * doc/gccint/analysis-and-representation-of-loops/loop-querying.rst:
4398 Add trailing newline.
4399 * doc/gccint/analysis-and-representation-of-loops/loop-representation.rst:
4400 Add trailing newline.
4401 * doc/gccint/analysis-and-representation-of-loops/number-of-iterations-analysis.rst:
4402 Add trailing newline.
4403 * doc/gccint/analysis-and-representation-of-loops/scalar-evolutions.rst:
4404 Add trailing newline.
4405 * doc/gccint/analyzer-internals.rst:
4406 Add trailing newline.
4407 * doc/gccint/collect2.rst:
4408 Add trailing newline.
4409 * doc/gccint/contributing-to-gcc-development.rst:
4410 Add trailing newline.
4411 * doc/gccint/contributors-to-gcc.rst:
4412 Add trailing newline.
4413 * doc/gccint/control-flow-graph.rst:
4414 Add trailing newline.
4415 * doc/gccint/control-flow-graph/basic-blocks.rst:
4416 Add trailing newline.
4417 * doc/gccint/control-flow-graph/edges.rst:
4418 Add trailing newline.
4419 * doc/gccint/control-flow-graph/liveness-information.rst:
4420 Add trailing newline.
4421 * doc/gccint/control-flow-graph/maintaining-the-cfg.rst:
4422 Add trailing newline.
4423 * doc/gccint/control-flow-graph/profile-information.rst:
4424 Add trailing newline.
4425 * doc/gccint/copyright.rst:
4426 Add trailing newline.
4427 * doc/gccint/debugging-the-analyzer.rst:
4428 Add trailing newline.
4429 * doc/gccint/funding.rst:
4430 Add trailing newline.
4431 * doc/gccint/gcc-and-portability.rst:
4432 Add trailing newline.
4433 * doc/gccint/general-public-license-3.rst:
4434 Add trailing newline.
4435 * doc/gccint/generic.rst:
4436 Add trailing newline.
4437 * doc/gccint/generic/attributes-in-trees.rst:
4438 Add trailing newline.
4439 * doc/gccint/generic/c-and-c++-trees.rst:
4440 Add trailing newline.
4441 * doc/gccint/generic/declarations.rst:
4442 Add trailing newline.
4443 * doc/gccint/generic/deficiencies.rst:
4444 Add trailing newline.
4445 * doc/gccint/generic/expressions.rst:
4446 Add trailing newline.
4447 * doc/gccint/generic/functions.rst:
4448 Add trailing newline.
4449 * doc/gccint/generic/language-dependent-trees.rst:
4450 Add trailing newline.
4451 * doc/gccint/generic/overview.rst:
4452 Add trailing newline.
4453 * doc/gccint/generic/statements.rst:
4454 Add trailing newline.
4455 * doc/gccint/generic/types.rst:
4456 Add trailing newline.
4457 * doc/gccint/gimple-api.rst:
4458 Add trailing newline.
4459 * doc/gccint/gimple.rst:
4460 Add trailing newline.
4461 * doc/gccint/gimple/adding-a-new-gimple-statement-code.rst:
4462 Add trailing newline.
4463 * doc/gccint/gimple/class-hierarchy-of-gimple-statements.rst:
4464 Add trailing newline.
4465 * doc/gccint/gimple/exception-handling.rst:
4466 Add trailing newline.
4467 * doc/gccint/gimple/gimple-instruction-set.rst:
4468 Add trailing newline.
4469 * doc/gccint/gimple/gimple-sequences.rst:
4470 Add trailing newline.
4471 * doc/gccint/gimple/manipulating-gimple-statements.rst:
4472 Add trailing newline.
4473 * doc/gccint/gimple/operands.rst:
4474 Add trailing newline.
4475 * doc/gccint/gimple/sequence-iterators.rst:
4476 Add trailing newline.
4477 * doc/gccint/gimple/statement-and-operand-traversals.rst:
4478 Add trailing newline.
4479 * doc/gccint/gimple/temporaries.rst:
4480 Add trailing newline.
4481 * doc/gccint/gimple/tuple-representation.rst:
4482 Add trailing newline.
4483 * doc/gccint/gimple/tuple-specific-accessors.rst:
4484 Add trailing newline.
4485 * doc/gccint/gimple/tuple-specific-accessors/gimpleasm.rst:
4486 Add trailing newline.
4487 * doc/gccint/gimple/tuple-specific-accessors/gimpleassign.rst:
4488 Add trailing newline.
4489 * doc/gccint/gimple/tuple-specific-accessors/gimplebind.rst:
4490 Add trailing newline.
4491 * doc/gccint/gimple/tuple-specific-accessors/gimplecall.rst:
4492 Add trailing newline.
4493 * doc/gccint/gimple/tuple-specific-accessors/gimplecatch.rst:
4494 Add trailing newline.
4495 * doc/gccint/gimple/tuple-specific-accessors/gimplecond.rst:
4496 Add trailing newline.
4497 * doc/gccint/gimple/tuple-specific-accessors/gimpledebug.rst:
4498 Add trailing newline.
4499 * doc/gccint/gimple/tuple-specific-accessors/gimpleehfilter.rst:
4500 Add trailing newline.
4501 * doc/gccint/gimple/tuple-specific-accessors/gimplegoto.rst:
4502 Add trailing newline.
4503 * doc/gccint/gimple/tuple-specific-accessors/gimplelabel.rst:
4504 Add trailing newline.
4505 * doc/gccint/gimple/tuple-specific-accessors/gimplenop.rst:
4506 Add trailing newline.
4507 * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicload.rst:
4508 Add trailing newline.
4509 * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicstore.rst:
4510 Add trailing newline.
4511 * doc/gccint/gimple/tuple-specific-accessors/gimpleompcontinue.rst:
4512 Add trailing newline.
4513 * doc/gccint/gimple/tuple-specific-accessors/gimpleompcritical.rst:
4514 Add trailing newline.
4515 * doc/gccint/gimple/tuple-specific-accessors/gimpleompfor.rst:
4516 Add trailing newline.
4517 * doc/gccint/gimple/tuple-specific-accessors/gimpleompmaster.rst:
4518 Add trailing newline.
4519 * doc/gccint/gimple/tuple-specific-accessors/gimpleompordered.rst:
4520 Add trailing newline.
4521 * doc/gccint/gimple/tuple-specific-accessors/gimpleompparallel.rst:
4522 Add trailing newline.
4523 * doc/gccint/gimple/tuple-specific-accessors/gimpleompreturn.rst:
4524 Add trailing newline.
4525 * doc/gccint/gimple/tuple-specific-accessors/gimpleompsection.rst:
4526 Add trailing newline.
4527 * doc/gccint/gimple/tuple-specific-accessors/gimpleompsections.rst:
4528 Add trailing newline.
4529 * doc/gccint/gimple/tuple-specific-accessors/gimpleompsingle.rst:
4530 Add trailing newline.
4531 * doc/gccint/gimple/tuple-specific-accessors/gimplephi.rst:
4532 Add trailing newline.
4533 * doc/gccint/gimple/tuple-specific-accessors/gimpleresx.rst:
4534 Add trailing newline.
4535 * doc/gccint/gimple/tuple-specific-accessors/gimplereturn.rst:
4536 Add trailing newline.
4537 * doc/gccint/gimple/tuple-specific-accessors/gimpleswitch.rst:
4538 Add trailing newline.
4539 * doc/gccint/gimple/tuple-specific-accessors/gimpletry.rst:
4540 Add trailing newline.
4541 * doc/gccint/gimple/tuple-specific-accessors/gimplewithcleanupexpr.rst:
4542 Add trailing newline.
4543 * doc/gccint/gnu-free-documentation-license.rst:
4544 Add trailing newline.
4545 * doc/gccint/guidelines-for-diagnostics.rst:
4546 Add trailing newline.
4547 * doc/gccint/guidelines-for-options.rst:
4548 Add trailing newline.
4549 * doc/gccint/host-common.rst:
4550 Add trailing newline.
4551 * doc/gccint/host-configuration.rst:
4552 Add trailing newline.
4553 * doc/gccint/host-filesystem.rst:
4554 Add trailing newline.
4555 * doc/gccint/host-makefile-fragments.rst:
4556 Add trailing newline.
4557 * doc/gccint/host-misc.rst:
4558 Add trailing newline.
4559 * doc/gccint/index.rst:
4560 Add trailing newline.
4561 * doc/gccint/indices-and-tables.rst:
4562 Add trailing newline.
4563 * doc/gccint/interfacing-to-gcc-output.rst:
4564 Add trailing newline.
4565 * doc/gccint/introduction.rst:
4566 Add trailing newline.
4567 * doc/gccint/language-front-ends-in-gcc.rst:
4568 Add trailing newline.
4569 * doc/gccint/link-time-optimization.rst:
4570 Add trailing newline.
4571 * doc/gccint/link-time-optimization/design-overview.rst:
4572 Add trailing newline.
4573 * doc/gccint/link-time-optimization/internal-flags-controlling-lto1.rst:
4574 Add trailing newline.
4575 * doc/gccint/link-time-optimization/lto-file-sections.rst:
4576 Add trailing newline.
4577 * doc/gccint/link-time-optimization/using-summary-information-in-ipa-passes.rst:
4578 Add trailing newline.
4579 * doc/gccint/link-time-optimization/whole-program-assumptions-linker-plugin-and-symbol-visibilities.rst:
4580 Add trailing newline.
4581 * doc/gccint/machine-descriptions.rst:
4582 Add trailing newline.
4583 * doc/gccint/machine-descriptions/c-statements-for-assembler-output.rst:
4584 Add trailing newline.
4585 * doc/gccint/machine-descriptions/canonicalization-of-instructions.rst:
4586 Add trailing newline.
4587 * doc/gccint/machine-descriptions/conditional-execution.rst:
4588 Add trailing newline.
4589 * doc/gccint/machine-descriptions/constant-definitions.rst:
4590 Add trailing newline.
4591 * doc/gccint/machine-descriptions/defining-how-to-split-instructions.rst:
4592 Add trailing newline.
4593 * doc/gccint/machine-descriptions/defining-jump-instruction-patterns.rst:
4594 Add trailing newline.
4595 * doc/gccint/machine-descriptions/defining-looping-instruction-patterns.rst:
4596 Add trailing newline.
4597 * doc/gccint/machine-descriptions/defining-rtl-sequences-for-code-generation.rst:
4598 Add trailing newline.
4599 * doc/gccint/machine-descriptions/everything-about-instruction-patterns.rst:
4600 Add trailing newline.
4601 * doc/gccint/machine-descriptions/example-of-defineinsn.rst:
4602 Add trailing newline.
4603 * doc/gccint/machine-descriptions/including-patterns-in-machine-descriptions.rst:
4604 Add trailing newline.
4605 * doc/gccint/machine-descriptions/instruction-attributes.rst:
4606 Add trailing newline.
4607 * doc/gccint/machine-descriptions/interdependence-of-patterns.rst:
4608 Add trailing newline.
4609 * doc/gccint/machine-descriptions/iterators.rst:
4610 Add trailing newline.
4611 * doc/gccint/machine-descriptions/machine-specific-peephole-optimizers.rst:
4612 Add trailing newline.
4613 * doc/gccint/machine-descriptions/operand-constraints.rst:
4614 Add trailing newline.
4615 * doc/gccint/machine-descriptions/output-templates-and-operand-substitution.rst:
4616 Add trailing newline.
4617 * doc/gccint/machine-descriptions/overview-of-how-the-machine-description-is-used.rst:
4618 Add trailing newline.
4619 * doc/gccint/machine-descriptions/predicates.rst:
4620 Add trailing newline.
4621 * doc/gccint/machine-descriptions/rtl-template.rst:
4622 Add trailing newline.
4623 * doc/gccint/machine-descriptions/rtl-templates-transformations.rst:
4624 Add trailing newline.
4625 * doc/gccint/machine-descriptions/standard-pattern-names-for-generation.rst:
4626 Add trailing newline.
4627 * doc/gccint/machine-descriptions/when-the-order-of-patterns-matters.rst:
4628 Add trailing newline.
4629 * doc/gccint/makefile-fragments.rst:
4630 Add trailing newline.
4631 * doc/gccint/match-and-simplify.rst:
4632 Add trailing newline.
4633 * doc/gccint/memory-management-and-type-information.rst:
4634 Add trailing newline.
4635 * doc/gccint/memory-management-and-type-information/how-to-invoke-the-garbage-collector.rst:
4636 Add trailing newline.
4637 * doc/gccint/memory-management-and-type-information/marking-roots-for-the-garbage-collector.rst:
4638 Add trailing newline.
4639 * doc/gccint/memory-management-and-type-information/source-files-containing-type-information.rst:
4640 Add trailing newline.
4641 * doc/gccint/memory-management-and-type-information/support-for-inheritance.rst:
4642 Add trailing newline.
4643 * doc/gccint/memory-management-and-type-information/support-for-user-provided-gc-marking-routines.rst:
4644 Add trailing newline.
4645 * doc/gccint/memory-management-and-type-information/the-inside-of-a-gty.rst:
4646 Add trailing newline.
4647 * doc/gccint/memory-management-and-type-information/troubleshooting-the-garbage-collector.rst:
4648 Add trailing newline.
4649 * doc/gccint/option-file-format.rst:
4650 Add trailing newline.
4651 * doc/gccint/option-properties.rst:
4652 Add trailing newline.
4653 * doc/gccint/option-specification-files.rst:
4654 Add trailing newline.
4655 * doc/gccint/passes-and-files-of-the-compiler.rst:
4656 Add trailing newline.
4657 * doc/gccint/passes-and-files-of-the-compiler/gimplification-pass.rst:
4658 Add trailing newline.
4659 * doc/gccint/passes-and-files-of-the-compiler/inter-procedural-optimization-passes.rst:
4660 Add trailing newline.
4661 * doc/gccint/passes-and-files-of-the-compiler/optimization-info.rst:
4662 Add trailing newline.
4663 * doc/gccint/passes-and-files-of-the-compiler/parsing-pass.rst:
4664 Add trailing newline.
4665 * doc/gccint/passes-and-files-of-the-compiler/pass-manager.rst:
4666 Add trailing newline.
4667 * doc/gccint/passes-and-files-of-the-compiler/rtl-passes.rst:
4668 Add trailing newline.
4669 * doc/gccint/passes-and-files-of-the-compiler/tree-ssa-passes.rst:
4670 Add trailing newline.
4671 * doc/gccint/plugins.rst:
4672 Add trailing newline.
4673 * doc/gccint/plugins/building-gcc-plugins.rst:
4674 Add trailing newline.
4675 * doc/gccint/plugins/controlling-which-passes-are-being-run.rst:
4676 Add trailing newline.
4677 * doc/gccint/plugins/giving-information-about-a-plugin.rst:
4678 Add trailing newline.
4679 * doc/gccint/plugins/interacting-with-the-gcc-garbage-collector.rst:
4680 Add trailing newline.
4681 * doc/gccint/plugins/interacting-with-the-pass-manager.rst:
4682 Add trailing newline.
4683 * doc/gccint/plugins/keeping-track-of-available-passes.rst:
4684 Add trailing newline.
4685 * doc/gccint/plugins/loading-plugins.rst:
4686 Add trailing newline.
4687 * doc/gccint/plugins/plugin-api.rst:
4688 Add trailing newline.
4689 * doc/gccint/plugins/recording-information-about-pass-execution.rst:
4690 Add trailing newline.
4691 * doc/gccint/plugins/registering-custom-attributes-or-pragmas.rst:
4692 Add trailing newline.
4693 * doc/gccint/rtl-representation.rst:
4694 Add trailing newline.
4695 * doc/gccint/rtl-representation/access-to-operands.rst:
4696 Add trailing newline.
4697 * doc/gccint/rtl-representation/access-to-special-operands.rst:
4698 Add trailing newline.
4699 * doc/gccint/rtl-representation/assembler-instructions-as-expressions.rst:
4700 Add trailing newline.
4701 * doc/gccint/rtl-representation/bit-fields.rst:
4702 Add trailing newline.
4703 * doc/gccint/rtl-representation/comparison-operations.rst:
4704 Add trailing newline.
4705 * doc/gccint/rtl-representation/constant-expression-types.rst:
4706 Add trailing newline.
4707 * doc/gccint/rtl-representation/conversions.rst:
4708 Add trailing newline.
4709 * doc/gccint/rtl-representation/declarations.rst:
4710 Add trailing newline.
4711 * doc/gccint/rtl-representation/embedded-side-effects-on-addresses.rst:
4712 Add trailing newline.
4713 * doc/gccint/rtl-representation/flags-in-an-rtl-expression.rst:
4714 Add trailing newline.
4715 * doc/gccint/rtl-representation/insns.rst:
4716 Add trailing newline.
4717 * doc/gccint/rtl-representation/machine-modes.rst:
4718 Add trailing newline.
4719 * doc/gccint/rtl-representation/on-the-side-ssa-form-for-rtl.rst:
4720 Add trailing newline.
4721 * doc/gccint/rtl-representation/reading-rtl.rst:
4722 Add trailing newline.
4723 * doc/gccint/rtl-representation/registers-and-memory.rst:
4724 Add trailing newline.
4725 * doc/gccint/rtl-representation/rtl-classes-and-formats.rst:
4726 Add trailing newline.
4727 * doc/gccint/rtl-representation/rtl-expressions-for-arithmetic.rst:
4728 Add trailing newline.
4729 * doc/gccint/rtl-representation/rtl-object-types.rst:
4730 Add trailing newline.
4731 * doc/gccint/rtl-representation/rtl-representation-of-function-call-insns.rst:
4732 Add trailing newline.
4733 * doc/gccint/rtl-representation/side-effect-expressions.rst:
4734 Add trailing newline.
4735 * doc/gccint/rtl-representation/structure-sharing-assumptions.rst:
4736 Add trailing newline.
4737 * doc/gccint/rtl-representation/variable-location-debug-information-in-rtl.rst:
4738 Add trailing newline.
4739 * doc/gccint/rtl-representation/vector-operations.rst:
4740 Add trailing newline.
4741 * doc/gccint/sizes-and-offsets-as-runtime-invariants.rst:
4742 Add trailing newline.
4743 * doc/gccint/sizes-and-offsets-as-runtime-invariants/alignment-of-polyints.rst:
4744 Add trailing newline.
4745 * doc/gccint/sizes-and-offsets-as-runtime-invariants/arithmetic-on-polyints.rst:
4746 Add trailing newline.
4747 * doc/gccint/sizes-and-offsets-as-runtime-invariants/comparisons-involving-polyint.rst:
4748 Add trailing newline.
4749 * doc/gccint/sizes-and-offsets-as-runtime-invariants/computing-bounds-on-polyints.rst:
4750 Add trailing newline.
4751 * doc/gccint/sizes-and-offsets-as-runtime-invariants/consequences-of-using-polyint.rst:
4752 Add trailing newline.
4753 * doc/gccint/sizes-and-offsets-as-runtime-invariants/converting-polyints.rst:
4754 Add trailing newline.
4755 * doc/gccint/sizes-and-offsets-as-runtime-invariants/guidelines-for-using-polyint.rst:
4756 Add trailing newline.
4757 * doc/gccint/sizes-and-offsets-as-runtime-invariants/miscellaneous-polyint-routines.rst:
4758 Add trailing newline.
4759 * doc/gccint/sizes-and-offsets-as-runtime-invariants/overview-of-polyint.rst:
4760 Add trailing newline.
4761 * doc/gccint/source-tree-structure-and-build-system.rst:
4762 Add trailing newline.
4763 * doc/gccint/source-tree-structure-and-build-system/configure-terms-and-history.rst:
4764 Add trailing newline.
4765 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory.rst:
4766 Add trailing newline.
4767 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-language-front-end.rst:
4768 Add trailing newline.
4769 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-target-back-end.rst:
4770 Add trailing newline.
4771 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/build-system-in-the-gcc-directory.rst:
4772 Add trailing newline.
4773 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/configuration-in-the-gcc-directory.rst:
4774 Add trailing newline.
4775 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/headers-installed-by-gcc.rst:
4776 Add trailing newline.
4777 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/library-source-files-and-headers-under-the-gcc-directory.rst:
4778 Add trailing newline.
4779 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/makefile-targets.rst:
4780 Add trailing newline.
4781 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/subdirectories-of-gcc.rst:
4782 Add trailing newline.
4783 * doc/gccint/source-tree-structure-and-build-system/top-level-source-directory.rst:
4784 Add trailing newline.
4785 * doc/gccint/standard-header-file-directories.rst:
4786 Add trailing newline.
4787 * doc/gccint/static-analyzer.rst:
4788 Add trailing newline.
4789 * doc/gccint/target-macros.rst:
4790 Add trailing newline.
4791 * doc/gccint/target-macros/controlling-debugging-information-format.rst:
4792 Add trailing newline.
4793 * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst:
4794 Add trailing newline.
4795 * doc/gccint/target-macros/cross-compilation-and-floating-point.rst:
4796 Add trailing newline.
4797 * doc/gccint/target-macros/defining-coprocessor-specifics-for-mips-targets.rst:
4798 Add trailing newline.
4799 * doc/gccint/target-macros/defining-data-structures-for-per-function-information.rst:
4800 Add trailing newline.
4801 * doc/gccint/target-macros/defining-the-output-assembler-language.rst:
4802 Add trailing newline.
4803 * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-alignment.rst:
4804 Add trailing newline.
4805 * doc/gccint/target-macros/defining-the-output-assembler-language/how-initialization-functions-are-handled.rst:
4806 Add trailing newline.
4807 * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
4808 Add trailing newline.
4809 * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
4810 Add trailing newline.
4811 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
4812 Add trailing newline.
4813 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
4814 Add trailing newline.
4815 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-uninitialized-variables.rst:
4816 Add trailing newline.
4817 * doc/gccint/target-macros/implicit-calls-to-library-routines.rst:
4818 Add trailing newline.
4819 * doc/gccint/target-macros/layout-of-source-language-data-types.rst:
4820 Add trailing newline.
4821 * doc/gccint/target-macros/position-independent-code.rst:
4822 Add trailing newline.
4823 * doc/gccint/target-macros/register-usage.rst:
4824 Add trailing newline.
4825 * doc/gccint/target-macros/stack-layout-and-calling-conventions.rst:
4826 Add trailing newline.
4827 * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
4828 Add trailing newline.
4829 * doc/gccint/target-macros/stack-layout-and-calling-conventions/caller-saves-register-allocation.rst:
4830 Add trailing newline.
4831 * doc/gccint/target-macros/stack-layout-and-calling-conventions/exception-handling-support.rst:
4832 Add trailing newline.
4833 * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
4834 Add trailing newline.
4835 * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
4836 Add trailing newline.
4837 * doc/gccint/target-macros/support-for-nested-functions.rst:
4838 Add trailing newline.
4839 * doc/gccint/target-macros/the-global-targetm-variable.rst:
4840 Add trailing newline.
4841 * doc/gccint/target-makefile-fragments.rst:
4842 Add trailing newline.
4843 * doc/gccint/testsuites.rst:
4844 Add trailing newline.
4845 * doc/gccint/testsuites/ada-language-testsuites.rst:
4846 Add trailing newline.
4847 * doc/gccint/testsuites/c-language-testsuites.rst:
4848 Add trailing newline.
4849 * doc/gccint/testsuites/directives-used-within-dejagnu-tests.rst:
4850 Add trailing newline.
4851 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/commands-for-use-in-dg-final.rst:
4852 Add trailing newline.
4853 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/features-for-dg-add-options.rst:
4854 Add trailing newline.
4855 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/keywords-describing-target-attributes.rst:
4856 Add trailing newline.
4857 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/selecting-targets-to-which-a-test-applies.rst:
4858 Add trailing newline.
4859 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/syntax-and-descriptions-of-test-directives.rst:
4860 Add trailing newline.
4861 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/variants-of-dg-require-support.rst:
4862 Add trailing newline.
4863 * doc/gccint/testsuites/idioms-used-in-testsuite-code.rst:
4864 Add trailing newline.
4865 * doc/gccint/testsuites/support-for-testing-binary-compatibility.rst:
4866 Add trailing newline.
4867 * doc/gccint/testsuites/support-for-testing-gcov.rst:
4868 Add trailing newline.
4869 * doc/gccint/testsuites/support-for-testing-gimple-passes.rst:
4870 Add trailing newline.
4871 * doc/gccint/testsuites/support-for-testing-link-time-optimizations.rst:
4872 Add trailing newline.
4873 * doc/gccint/testsuites/support-for-testing-profile-directed-optimizations.rst:
4874 Add trailing newline.
4875 * doc/gccint/testsuites/support-for-testing-rtl-passes.rst:
4876 Add trailing newline.
4877 * doc/gccint/testsuites/support-for-torture-testing-using-multiple-options.rst:
4878 Add trailing newline.
4879 * doc/gccint/the-gcc-low-level-runtime-library.rst:
4880 Add trailing newline.
4881 * doc/gccint/the-gcc-low-level-runtime-library/language-independent-routines-for-exception-handling.rst:
4882 Add trailing newline.
4883 * doc/gccint/the-gcc-low-level-runtime-library/miscellaneous-runtime-library-routines.rst:
4884 Add trailing newline.
4885 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-decimal-floating-point-emulation.rst:
4886 Add trailing newline.
4887 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-fixed-point-fractional-emulation.rst:
4888 Add trailing newline.
4889 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-floating-point-emulation.rst:
4890 Add trailing newline.
4891 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-integer-arithmetic.rst:
4892 Add trailing newline.
4893 * doc/gccint/the-language.rst:
4894 Add trailing newline.
4895 * doc/gccint/user-experience-guidelines.rst:
4896 Add trailing newline.
4897 * doc/install/binaries.rst:
4898 Add trailing newline.
4899 * doc/install/building.rst:
4900 Add trailing newline.
4901 * doc/install/building/building-a-cross-compiler.rst:
4902 Add trailing newline.
4903 * doc/install/building/building-a-native-compiler.rst:
4904 Add trailing newline.
4905 * doc/install/building/building-in-parallel.rst:
4906 Add trailing newline.
4907 * doc/install/building/building-the-ada-compiler.rst:
4908 Add trailing newline.
4909 * doc/install/building/building-the-d-compiler.rst:
4910 Add trailing newline.
4911 * doc/install/building/building-with-profile-feedback.rst:
4912 Add trailing newline.
4913 * doc/install/configuration.rst:
4914 Add trailing newline.
4915 * doc/install/copyright.rst:
4916 Add trailing newline.
4917 * doc/install/downloading-gcc.rst:
4918 Add trailing newline.
4919 * doc/install/final-installation.rst:
4920 Add trailing newline.
4921 * doc/install/gnu-free-documentation-license.rst:
4922 Add trailing newline.
4923 * doc/install/host-target-specific-installation-notes-for-gcc.rst:
4924 Add trailing newline.
4925 * doc/install/how-can-you-run-the-testsuite-on-selected-tests.rst:
4926 Add trailing newline.
4927 * doc/install/how-to-interpret-test-results.rst:
4928 Add trailing newline.
4929 * doc/install/index.rst:
4930 Add trailing newline.
4931 * doc/install/indices-and-tables.rst:
4932 Add trailing newline.
4933 * doc/install/installing-gcc.rst:
4934 Add trailing newline.
4935 * doc/install/passing-options-and-running-multiple-testsuites.rst:
4936 Add trailing newline.
4937 * doc/install/prerequisites.rst:
4938 Add trailing newline.
4939 * doc/install/submitting-test-results.rst:
4940 Add trailing newline.
4941 * doc/install/testing.rst:
4942 Add trailing newline.
4943
4944 2022-11-09 Martin Liska <mliska@suse.cz>
4945
4946 * opts.cc (get_option_html_page): Port to sphinx URLs.
4947 (get_option_url): Likewise.
4948 (test_get_option_html_page): Likewise.
4949
4950 2022-11-09 Jakub Jelinek <jakub@redhat.com>
4951
4952 PR tree-optimization/107569
4953 * range-op-float.cc (foperator_abs::op1_range): Clear NaNs
4954 from the negatives frange before unioning it into r.
4955
4956 2022-11-09 Martin Liska <mliska@suse.cz>
4957
4958 * Makefile.in: Add vpath default for .rst files.
4959 * config/avr/avr-devices.cc: For port RST.
4960 * config/avr/avr-mcus.def: Update path.
4961 * config/avr/gen-avr-mmcu-texi.cc: Moved to...
4962 * config/avr/gen-avr-mmcu-rst.cc: ...here.
4963 * config/avr/t-avr: Update to rst.
4964 * doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst: Re-generate.
4965
4966 2022-11-09 Philipp Tomsich <philipp.tomsich@vrull.eu>
4967
4968 * config/riscv/riscv.cc (riscv_rtx_costs): Add BSWAP.
4969
4970 2022-11-09 Xi Ruoyao <xry111@xry111.site>
4971
4972 * config/loongarch/loongarch.cc (loongarch_emit_int_compare):
4973 Avoid signed overflow.
4974
4975 2022-11-09 Aldy Hernandez <aldyh@redhat.com>
4976
4977 * range-op-float.cc (foperator_plus::op1_range): New.
4978 (foperator_plus::op2_range): New.
4979 (foperator_minus::op1_range): New.
4980 (foperator_minus::op2_range): New.
4981
4982 2022-11-09 Martin Liska <mliska@suse.cz>
4983
4984 * Makefile.in: Support installation if sphinx-build is missing.
4985
4986 2022-11-09 Martin Liska <mliska@suse.cz>
4987
4988 * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
4989 Port to RST.
4990 * doc/gccint/target-macros/storage-layout.rst: Likewise.
4991 * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: Sync with master.
4992 * doc/gcc/gcc-command-options/option-summary.rst: Likewise.
4993
4994 2022-11-09 Martin Liska <mliska@suse.cz>
4995
4996 * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
4997 Do not include tm.rst.in.
4998 * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
4999 Likewise.
5000 * doc/gccint/target-macros/run-time-target-specification.rst:
5001 Likewise.
5002
5003 2022-11-09 Martin Liska <mliska@suse.cz>
5004
5005 * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst:
5006 Fix cross manual refs.
5007 * doc/gcc/language-standards-supported-by-gcc/references-for-other-languages.rst:
5008 Likewise.
5009
5010 2022-11-09 Martin Liska <mliska@suse.cz>
5011
5012 * Makefile.in: Support --with-sphinx-build.
5013 * configure.ac:
5014 * configure: Regenerate.
5015
5016 2022-11-09 Martin Liska <mliska@suse.cz>
5017
5018 * target.def: Use proper lexers for target macros.
5019 * doc/gccint/target-macros/tm.rst.in: Re-generate.
5020
5021 2022-11-09 Martin Liska <mliska@suse.cz>
5022
5023 * doc/analyzer.texi: Removed.
5024 * doc/avr-mmcu.texi: Removed.
5025 * doc/bugreport.texi: Removed.
5026 * doc/cfg.texi: Removed.
5027 * doc/collect2.texi: Removed.
5028 * doc/compat.texi: Removed.
5029 * doc/configfiles.texi: Removed.
5030 * doc/configterms.texi: Removed.
5031 * doc/contrib.texi: Removed.
5032 * doc/contribute.texi: Removed.
5033 * doc/cpp.texi: Removed.
5034 * doc/cppdiropts.texi: Removed.
5035 * doc/cppenv.texi: Removed.
5036 * doc/cppinternals.texi: Removed.
5037 * doc/cppopts.texi: Removed.
5038 * doc/cppwarnopts.texi: Removed.
5039 * doc/extend.texi: Removed.
5040 * doc/fragments.texi: Removed.
5041 * doc/frontends.texi: Removed.
5042 * doc/gcc.texi: Removed.
5043 * doc/gccint.texi: Removed.
5044 * doc/gcov-dump.texi: Removed.
5045 * doc/gcov-tool.texi: Removed.
5046 * doc/gcov.texi: Removed.
5047 * doc/generic.texi: Removed.
5048 * doc/gimple.texi: Removed.
5049 * doc/gnu.texi: Removed.
5050 * doc/gty.texi: Removed.
5051 * doc/headerdirs.texi: Removed.
5052 * doc/hostconfig.texi: Removed.
5053 * doc/implement-c.texi: Removed.
5054 * doc/implement-cxx.texi: Removed.
5055 * doc/include/fdl.texi: Removed.
5056 * doc/include/funding.texi: Removed.
5057 * doc/include/gcc-common.texi: Removed.
5058 * doc/include/gpl_v3.texi: Removed.
5059 * doc/install.texi: Removed.
5060 * doc/interface.texi: Removed.
5061 * doc/invoke.texi: Removed.
5062 * doc/languages.texi: Removed.
5063 * doc/libgcc.texi: Removed.
5064 * doc/loop.texi: Removed.
5065 * doc/lto-dump.texi: Removed.
5066 * doc/lto.texi: Removed.
5067 * doc/makefile.texi: Removed.
5068 * doc/match-and-simplify.texi: Removed.
5069 * doc/md.texi: Removed.
5070 * doc/objc.texi: Removed.
5071 * doc/optinfo.texi: Removed.
5072 * doc/options.texi: Removed.
5073 * doc/passes.texi: Removed.
5074 * doc/plugins.texi: Removed.
5075 * doc/poly-int.texi: Removed.
5076 * doc/portability.texi: Removed.
5077 * doc/rtl.texi: Removed.
5078 * doc/service.texi: Removed.
5079 * doc/sourcebuild.texi: Removed.
5080 * doc/standards.texi: Removed.
5081 * doc/tm.texi: Removed.
5082 * doc/tree-ssa.texi: Removed.
5083 * doc/trouble.texi: Removed.
5084 * doc/ux.texi: Removed.
5085 * doc/tm.texi.in: Removed.
5086
5087 2022-11-09 Martin Liska <mliska@suse.cz>
5088
5089 * doc/gccint/target-macros/tm.rst.in: New file.
5090
5091 2022-11-09 Martin Liska <mliska@suse.cz>
5092
5093 * Makefile.in: Support Sphinx based documentation.
5094 * configure: Regenerate.
5095 * configure.ac: Support Sphinx based documentation.
5096 * genhooks.cc (struct s_hook): Emit tm.rst.in file.
5097
5098 2022-11-09 Martin Liska <mliska@suse.cz>
5099
5100 * doc/gccint/target-macros/adding-support-for-named-address-spaces.rst: Use tm.rst.in file.
5101 * doc/gccint/target-macros/addressing-modes.rst: Likewise.
5102 * doc/gccint/target-macros/adjusting-the-instruction-scheduler.rst: Likewise.
5103 * doc/gccint/target-macros/anchored-addresses.rst: Likewise.
5104 * doc/gccint/target-macros/c++-abi-parameters.rst: Likewise.
5105 * doc/gccint/target-macros/condition-code-status.rst: Likewise.
5106 * doc/gccint/target-macros/controlling-debugging-information-format.rst: Likewise.
5107 * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: Likewise.
5108 * doc/gccint/target-macros/d-abi-parameters.rst: Likewise.
5109 * doc/gccint/target-macros/defining-target-specific-uses-of-attribute.rst: Likewise.
5110 * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
5111 Likewise.
5112 * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
5113 Likewise.
5114 * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
5115 Likewise.
5116 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
5117 Likewise.
5118 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
5119 Likewise.
5120 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-dispatch-tables.rst:
5121 Likewise.
5122 * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
5123 Likewise.
5124 * doc/gccint/target-macros/describing-relative-costs-of-operations.rst: Likewise.
5125 * doc/gccint/target-macros/dividing-the-output-into-sections-texts-data.rst: Likewise.
5126 * doc/gccint/target-macros/emulating-tls.rst: Likewise.
5127 * doc/gccint/target-macros/implementing-the-varargs-macros.rst: Likewise.
5128 * doc/gccint/target-macros/implicit-calls-to-library-routines.rst: Likewise.
5129 * doc/gccint/target-macros/layout-of-source-language-data-types.rst: Likewise.
5130 * doc/gccint/target-macros/miscellaneous-parameters.rst: Likewise.
5131 * doc/gccint/target-macros/mode-switching-instructions.rst: Likewise.
5132 * doc/gccint/target-macros/parameters-for-precompiled-header-validity-checking.rst:
5133 Likewise.
5134 * doc/gccint/target-macros/register-classes.rst: Likewise.
5135 * doc/gccint/target-macros/register-usage.rst: Likewise.
5136 * doc/gccint/target-macros/run-time-target-specification.rst: Likewise.
5137 * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
5138 Likewise.
5139 * doc/gccint/target-macros/stack-layout-and-calling-conventions/eliminating-frame-pointer-and-arg-pointer.rst:
5140 Likewise.
5141 * doc/gccint/target-macros/stack-layout-and-calling-conventions/function-entry-and-exit.rst:
5142 Likewise.
5143 * doc/gccint/target-macros/stack-layout-and-calling-conventions/generating-code-for-profiling.rst:
5144 Likewise.
5145 * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-large-values-are-returned.rst:
5146 Likewise.
5147 * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-scalar-function-values-are-returned.rst:
5148 Likewise.
5149 * doc/gccint/target-macros/stack-layout-and-calling-conventions/miscellaneous-register-hooks.rst:
5150 Likewise.
5151 * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
5152 Likewise.
5153 * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
5154 Likewise.
5155 * doc/gccint/target-macros/stack-layout-and-calling-conventions/permitting-tail-calls.rst:
5156 Likewise.
5157 * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
5158 Likewise.
5159 * doc/gccint/target-macros/stack-layout-and-calling-conventions/shrink-wrapping-separate-components.rst:
5160 Likewise.
5161 * doc/gccint/target-macros/stack-layout-and-calling-conventions/specifying-how-stack-checking-is-done.rst:
5162 Likewise.
5163 * doc/gccint/target-macros/stack-layout-and-calling-conventions/stack-smashing-protection.rst:
5164 Likewise.
5165 * doc/gccint/target-macros/storage-layout.rst: Likewise.
5166 * doc/gccint/target-macros/support-for-nested-functions.rst: Likewise.
5167
5168 2022-11-09 Martin Liska <mliska@suse.cz>
5169
5170 * common/common-target.def: Port to RST.
5171 * target.def: Port to RST.
5172
5173 2022-11-09 Martin Liska <mliska@suse.cz>
5174
5175 * doc/cpp/character-sets.rst: New file.
5176 * doc/cpp/conditional-syntax.rst: New file.
5177 * doc/cpp/conditional-uses.rst: New file.
5178 * doc/cpp/conditionals.rst: New file.
5179 * doc/cpp/conf.py: New file.
5180 * doc/cpp/copyright.rst: New file.
5181 * doc/cpp/deleted-code.rst: New file.
5182 * doc/cpp/diagnostics.rst: New file.
5183 * doc/cpp/environment-variables.rst: New file.
5184 * doc/cpp/gnu-free-documentation-license.rst: New file.
5185 * doc/cpp/header-files.rst: New file.
5186 * doc/cpp/header-files/alternatives-to-wrapper-ifndef.rst: New file.
5187 * doc/cpp/header-files/computed-includes.rst: New file.
5188 * doc/cpp/header-files/include-operation.rst: New file.
5189 * doc/cpp/header-files/include-syntax.rst: New file.
5190 * doc/cpp/header-files/once-only-headers.rst: New file.
5191 * doc/cpp/header-files/search-path.rst: New file.
5192 * doc/cpp/header-files/system-headers.rst: New file.
5193 * doc/cpp/header-files/wrapper-headers.rst: New file.
5194 * doc/cpp/implementation-defined-behavior.rst: New file.
5195 * doc/cpp/implementation-details.rst: New file.
5196 * doc/cpp/implementation-limits.rst: New file.
5197 * doc/cpp/index.rst: New file.
5198 * doc/cpp/indices-and-tables.rst: New file.
5199 * doc/cpp/initial-processing.rst: New file.
5200 * doc/cpp/invocation.rst: New file.
5201 * doc/cpp/line-control.rst: New file.
5202 * doc/cpp/macros.rst: New file.
5203 * doc/cpp/macros/concatenation.rst: New file.
5204 * doc/cpp/macros/directives-within-macro-arguments.rst: New file.
5205 * doc/cpp/macros/function-like-macros.rst: New file.
5206 * doc/cpp/macros/macro-arguments.rst: New file.
5207 * doc/cpp/macros/macro-pitfalls.rst: New file.
5208 * doc/cpp/macros/object-like-macros.rst: New file.
5209 * doc/cpp/macros/predefined-macros.rst: New file.
5210 * doc/cpp/macros/stringizing.rst: New file.
5211 * doc/cpp/macros/undefining-and-redefining-macros.rst: New file.
5212 * doc/cpp/macros/variadic-macros.rst: New file.
5213 * doc/cpp/obsolete-features.rst: New file.
5214 * doc/cpp/other-directives.rst: New file.
5215 * doc/cpp/overview.rst: New file.
5216 * doc/cpp/pragmas.rst: New file.
5217 * doc/cpp/preprocessor-output.rst: New file.
5218 * doc/cpp/the-preprocessing-language.rst: New file.
5219 * doc/cpp/tokenization.rst: New file.
5220 * doc/cpp/traditional-lexical-analysis.rst: New file.
5221 * doc/cpp/traditional-macros.rst: New file.
5222 * doc/cpp/traditional-miscellany.rst: New file.
5223 * doc/cpp/traditional-mode.rst: New file.
5224 * doc/cpp/traditional-warnings.rst: New file.
5225 * doc/cppinternals/conf.py: New file.
5226 * doc/cppinternals/copyright.rst: New file.
5227 * doc/cppinternals/cppinternals.rst: New file.
5228 * doc/cppinternals/cpplib.rst: New file.
5229 * doc/cppinternals/files.rst: New file.
5230 * doc/cppinternals/index.rst: New file.
5231 * doc/cppinternals/indices-and-tables.rst: New file.
5232 * doc/cppinternals/internal-representation-of-macros.rst: New file.
5233 * doc/cppinternals/just-which-line-number-anyway.rst: New file.
5234 * doc/cppinternals/lexing-a-line.rst: New file.
5235 * doc/cppinternals/lexing-a-token.rst: New file.
5236 * doc/cppinternals/looking-for-a-function-like-macros-opening-parenthesis.rst: New file.
5237 * doc/cppinternals/macro-expansion-overview.rst: New file.
5238 * doc/cppinternals/marking-tokens-ineligible-for-future-expansion.rst: New file.
5239 * doc/cppinternals/multiple-include-optimization.rst: New file.
5240 * doc/cppinternals/overview.rst: New file.
5241 * doc/cppinternals/representation-of-line-numbers.rst: New file.
5242 * doc/cppinternals/scanning-the-replacement-list-for-macros-to-expand.rst: New file.
5243 * doc/gcc/binary-compatibility.rst: New file.
5244 * doc/gcc/c++-implementation-defined-behavior.rst: New file.
5245 * doc/gcc/c-implementation-defined-behavior.rst: New file.
5246 * doc/gcc/c-implementation-defined-behavior/architecture.rst: New file.
5247 * doc/gcc/c-implementation-defined-behavior/arrays-and-pointers.rst: New file.
5248 * doc/gcc/c-implementation-defined-behavior/characters.rst: New file.
5249 * doc/gcc/c-implementation-defined-behavior/declarators.rst: New file.
5250 * doc/gcc/c-implementation-defined-behavior/environment.rst: New file.
5251 * doc/gcc/c-implementation-defined-behavior/floating-point.rst: New file.
5252 * doc/gcc/c-implementation-defined-behavior/hints.rst: New file.
5253 * doc/gcc/c-implementation-defined-behavior/identifiers.rst: New file.
5254 * doc/gcc/c-implementation-defined-behavior/integers.rst: New file.
5255 * doc/gcc/c-implementation-defined-behavior/library-functions.rst: New file.
5256 * doc/gcc/c-implementation-defined-behavior/locale-specific-behavior.rst: New file.
5257 * doc/gcc/c-implementation-defined-behavior/preprocessing-directives.rst: New file.
5258 * doc/gcc/c-implementation-defined-behavior/qualifiers.rst: New file.
5259 * doc/gcc/c-implementation-defined-behavior/statements.rst: New file.
5260 * doc/gcc/c-implementation-defined-behavior/structures-unions-enumerations-and-bit-fields.rst:
5261 New file.
5262 * doc/gcc/c-implementation-defined-behavior/translation.rst: New file.
5263 * doc/gcc/conditionally-supported-behavior.rst: New file.
5264 * doc/gcc/conf.py: New file.
5265 * doc/gcc/contributing-to-gcc-development.rst: New file.
5266 * doc/gcc/contributors-to-gcc.rst: New file.
5267 * doc/gcc/copyright.rst: New file.
5268 * doc/gcc/exception-handling.rst: New file.
5269 * doc/gcc/extensions-to-the-c++-language.rst: New file.
5270 * doc/gcc/extensions-to-the-c++-language/backwards-compatibility.rst: New file.
5271 * doc/gcc/extensions-to-the-c++-language/c++-concepts.rst: New file.
5272 * doc/gcc/extensions-to-the-c++-language/c++-interface-and-implementation-pragmas.rst:
5273 New file.
5274 * doc/gcc/extensions-to-the-c++-language/c++-specific-variable-function-and-type-attributes.rst:
5275 New file.
5276 * doc/gcc/extensions-to-the-c++-language/deprecated-features.rst: New file.
5277 * doc/gcc/extensions-to-the-c++-language/extracting-the-function-pointer-from-a-bound-pointer-to-member-function.rst:
5278 New file.
5279 * doc/gcc/extensions-to-the-c++-language/function-multiversioning.rst: New file.
5280 * doc/gcc/extensions-to-the-c++-language/restricting-pointer-aliasing.rst: New file.
5281 * doc/gcc/extensions-to-the-c++-language/type-traits.rst: New file.
5282 * doc/gcc/extensions-to-the-c++-language/vague-linkage.rst: New file.
5283 * doc/gcc/extensions-to-the-c++-language/when-is-a-volatile-c++-object-accessed.rst:
5284 New file.
5285 * doc/gcc/extensions-to-the-c++-language/wheres-the-template.rst: New file.
5286 * doc/gcc/extensions-to-the-c-language-family.rst: New file.
5287 * doc/gcc/extensions-to-the-c-language-family/128-bit-integers.rst: New file.
5288 * doc/gcc/extensions-to-the-c-language-family/additional-floating-types.rst: New file.
5289 * doc/gcc/extensions-to-the-c-language-family/alternate-keywords.rst: New file.
5290 * doc/gcc/extensions-to-the-c-language-family/an-inline-function-is-as-fast-as-a-macro.rst:
5291 New file.
5292 * doc/gcc/extensions-to-the-c-language-family/arithmetic-on-void-and-function-pointers.rst:
5293 New file.
5294 * doc/gcc/extensions-to-the-c-language-family/arrays-of-length-zero.rst: New file.
5295 * doc/gcc/extensions-to-the-c-language-family/arrays-of-variable-length.rst: New file.
5296 * doc/gcc/extensions-to-the-c-language-family/attribute-syntax.rst: New file.
5297 * doc/gcc/extensions-to-the-c-language-family/binary-constants-using-the-0b-prefix.rst:
5298 New file.
5299 * doc/gcc/extensions-to-the-c-language-family/built-in-functions-for-memory-model-aware-atomic-operations.rst:
5300 New file.
5301 * doc/gcc/extensions-to-the-c-language-family/built-in-functions-to-perform-arithmetic-with-overflow-checking.rst:
5302 New file.
5303 * doc/gcc/extensions-to-the-c-language-family/c++-style-comments.rst: New file.
5304 * doc/gcc/extensions-to-the-c-language-family/case-ranges.rst: New file.
5305 * doc/gcc/extensions-to-the-c-language-family/cast-to-a-union-type.rst: New file.
5306 * doc/gcc/extensions-to-the-c-language-family/complex-numbers.rst: New file.
5307 * doc/gcc/extensions-to-the-c-language-family/compound-literals.rst: New file.
5308 * doc/gcc/extensions-to-the-c-language-family/conditionals-with-omitted-operands.rst:
5309 New file.
5310 * doc/gcc/extensions-to-the-c-language-family/constructing-function-calls.rst: New file.
5311 * doc/gcc/extensions-to-the-c-language-family/decimal-floating-types.rst: New file.
5312 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions.rst:
5313 New file.
5314 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/aarch64-function-attributes.rst:
5315 New file.
5316 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/amd-gcn-function-attributes.rst:
5317 New file.
5318 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arc-function-attributes.rst:
5319 New file.
5320 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arm-function-attributes.rst:
5321 New file.
5322 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/avr-function-attributes.rst:
5323 New file.
5324 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/blackfin-function-attributes.rst:
5325 New file.
5326 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/bpf-function-attributes.rst:
5327 New file.
5328 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/c-sky-function-attributes.rst:
5329 New file.
5330 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/common-function-attributes.rst:
5331 New file.
5332 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/epiphany-function-attributes.rst:
5333 New file.
5334 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/h8-300-function-attributes.rst:
5335 New file.
5336 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/ia-64-function-attributes.rst:
5337 New file.
5338 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32c-function-attributes.rst:
5339 New file.
5340 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32r-d-function-attributes.rst:
5341 New file.
5342 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m68k-function-attributes.rst:
5343 New file.
5344 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mcore-function-attributes.rst:
5345 New file.
5346 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mep-function-attributes.rst:
5347 New file.
5348 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microblaze-function-attributes.rst:
5349 New file.
5350 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microsoft-windows-function-attributes.rst:
5351 New file.
5352 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mips-function-attributes.rst:
5353 New file.
5354 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/msp430-function-attributes.rst:
5355 New file.
5356 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nds32-function-attributes.rst:
5357 New file.
5358 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nios-ii-function-attributes.rst:
5359 New file.
5360 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nvidia-ptx-function-attributes.rst:
5361 New file.
5362 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/powerpc-function-attributes.rst:
5363 New file.
5364 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/risc-v-function-attributes.rst:
5365 New file.
5366 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rl78-function-attributes.rst:
5367 New file.
5368 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rx-function-attributes.rst:
5369 New file.
5370 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/s-390-function-attributes.rst:
5371 New file.
5372 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/sh-function-attributes.rst:
5373 New file.
5374 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/symbian-os-function-attributes.rst:
5375 New file.
5376 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/v850-function-attributes.rst:
5377 New file.
5378 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/visium-function-attributes.rst:
5379 New file.
5380 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/x86-function-attributes.rst:
5381 New file.
5382 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/xstormy16-function-attributes.rst:
5383 New file.
5384 * doc/gcc/extensions-to-the-c-language-family/designated-initializers.rst: New file.
5385 * doc/gcc/extensions-to-the-c-language-family/determining-the-alignment-of-functions-types-or-variables.rst:
5386 New file.
5387 * doc/gcc/extensions-to-the-c-language-family/dollar-signs-in-identifier-names.rst:
5388 New file.
5389 * doc/gcc/extensions-to-the-c-language-family/double-word-integers.rst: New file.
5390 * doc/gcc/extensions-to-the-c-language-family/enumerator-attributes.rst: New file.
5391 * doc/gcc/extensions-to-the-c-language-family/fixed-point-types.rst: New file.
5392 * doc/gcc/extensions-to-the-c-language-family/format-checks-specific-to-particular-target-machines.rst:
5393 New file.
5394 * doc/gcc/extensions-to-the-c-language-family/function-names-as-strings.rst: New file.
5395 * doc/gcc/extensions-to-the-c-language-family/getting-the-return-or-frame-address-of-a-function.rst:
5396 New file.
5397 * doc/gcc/extensions-to-the-c-language-family/half-precision-floating-point.rst: New file.
5398 * doc/gcc/extensions-to-the-c-language-family/hex-floats.rst: New file.
5399 * doc/gcc/extensions-to-the-c-language-family/how-to-use-inline-assembly-language-in-c-code.rst:
5400 New file.
5401 * doc/gcc/extensions-to-the-c-language-family/incomplete-enum-types.rst: New file.
5402 * doc/gcc/extensions-to-the-c-language-family/label-attributes.rst: New file.
5403 * doc/gcc/extensions-to-the-c-language-family/labels-as-values.rst: New file.
5404 * doc/gcc/extensions-to-the-c-language-family/legacy-sync-built-in-functions-for-atomic-memory-access.rst:
5405 New file.
5406 * doc/gcc/extensions-to-the-c-language-family/locally-declared-labels.rst: New file.
5407 * doc/gcc/extensions-to-the-c-language-family/macros-with-a-variable-number-of-arguments.rst:
5408 New file.
5409 * doc/gcc/extensions-to-the-c-language-family/mixed-declarations-labels-and-code.rst:
5410 New file.
5411 * doc/gcc/extensions-to-the-c-language-family/named-address-spaces.rst: New file.
5412 * doc/gcc/extensions-to-the-c-language-family/nested-functions.rst: New file.
5413 * doc/gcc/extensions-to-the-c-language-family/non-constant-initializers.rst: New file.
5414 * doc/gcc/extensions-to-the-c-language-family/non-lvalue-arrays-may-have-subscripts.rst:
5415 New file.
5416 * doc/gcc/extensions-to-the-c-language-family/nonlocal-gotos.rst: New file.
5417 * doc/gcc/extensions-to-the-c-language-family/object-size-checking-built-in-functions.rst:
5418 New file.
5419 * doc/gcc/extensions-to-the-c-language-family/other-built-in-functions-provided-by-gcc.rst:
5420 New file.
5421 * doc/gcc/extensions-to-the-c-language-family/pointer-arguments-in-variadic-functions.rst:
5422 New file.
5423 * doc/gcc/extensions-to-the-c-language-family/pointers-to-arrays-with-qualifiers-work-as-expected.rst:
5424 New file.
5425 * doc/gcc/extensions-to-the-c-language-family/pragmas-accepted-by-gcc.rst: New file.
5426 * doc/gcc/extensions-to-the-c-language-family/prototypes-and-old-style-function-definitions.rst:
5427 New file.
5428 * doc/gcc/extensions-to-the-c-language-family/referring-to-a-type-with-typeof.rst: New file.
5429 * doc/gcc/extensions-to-the-c-language-family/slightly-looser-rules-for-escaped-newlines.rst:
5430 New file.
5431 * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-types.rst: New file.
5432 * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-variables.rst:
5433 New file.
5434 * doc/gcc/extensions-to-the-c-language-family/statement-attributes.rst: New file.
5435 * doc/gcc/extensions-to-the-c-language-family/statements-and-declarations-in-expressions.rst:
5436 New file.
5437 * doc/gcc/extensions-to-the-c-language-family/structures-with-no-members.rst: New file.
5438 * doc/gcc/extensions-to-the-c-language-family/support-for-offsetof.rst: New file.
5439 * doc/gcc/extensions-to-the-c-language-family/target-builtins.rst: New file.
5440 * doc/gcc/extensions-to-the-c-language-family/target-builtins/aarch64-built-in-functions.rst:
5441 New file.
5442 * doc/gcc/extensions-to-the-c-language-family/target-builtins/alpha-built-in-functions.rst:
5443 New file.
5444 * doc/gcc/extensions-to-the-c-language-family/target-builtins/altera-nios-ii-built-in-functions.rst:
5445 New file.
5446 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-built-in-functions.rst:
5447 New file.
5448 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-simd-built-in-functions.rst:
5449 New file.
5450 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-armv8-m-security-extensions.rst:
5451 New file.
5452 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-c-language-extensions-acle.rst:
5453 New file.
5454 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-floating-point-status-and-control-intrinsics.rst:
5455 New file.
5456 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-iwmmxt-built-in-functions.rst:
5457 New file.
5458 * doc/gcc/extensions-to-the-c-language-family/target-builtins/avr-built-in-functions.rst:
5459 New file.
5460 * doc/gcc/extensions-to-the-c-language-family/target-builtins/basic-powerpc-built-in-functions.rst:
5461 New file.
5462 * doc/gcc/extensions-to-the-c-language-family/target-builtins/blackfin-built-in-functions.rst:
5463 New file.
5464 * doc/gcc/extensions-to-the-c-language-family/target-builtins/bpf-built-in-functions.rst:
5465 New file.
5466 * doc/gcc/extensions-to-the-c-language-family/target-builtins/fr-v-built-in-functions.rst:
5467 New file.
5468 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-dsp-built-in-functions.rst:
5469 New file.
5470 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-loongson-built-in-functions.rst:
5471 New file.
5472 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-paired-single-support.rst:
5473 New file.
5474 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-simd-architecture-msa-support.rst:
5475 New file.
5476 * doc/gcc/extensions-to-the-c-language-family/target-builtins/msp430-built-in-functions.rst:
5477 New file.
5478 * doc/gcc/extensions-to-the-c-language-family/target-builtins/nds32-built-in-functions.rst:
5479 New file.
5480 * doc/gcc/extensions-to-the-c-language-family/target-builtins/other-mips-built-in-functions.rst:
5481 New file.
5482 * doc/gcc/extensions-to-the-c-language-family/target-builtins/picochip-built-in-functions.rst:
5483 New file.
5484 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-altivec-vsx-built-in-functions.rst:
5485 New file.
5486 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-atomic-memory-operation-functions.rst:
5487 New file.
5488 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-hardware-transactional-memory-built-in-functions.rst:
5489 New file.
5490 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-matrix-multiply-assist-built-in-functions.rst:
5491 New file.
5492 * doc/gcc/extensions-to-the-c-language-family/target-builtins/pru-built-in-functions.rst:
5493 New file.
5494 * doc/gcc/extensions-to-the-c-language-family/target-builtins/risc-v-built-in-functions.rst:
5495 New file.
5496 * doc/gcc/extensions-to-the-c-language-family/target-builtins/rx-built-in-functions.rst:
5497 New file.
5498 * doc/gcc/extensions-to-the-c-language-family/target-builtins/s-390-system-z-built-in-functions.rst:
5499 New file.
5500 * doc/gcc/extensions-to-the-c-language-family/target-builtins/sh-built-in-functions.rst:
5501 New file.
5502 * doc/gcc/extensions-to-the-c-language-family/target-builtins/sparc-vis-built-in-functions.rst:
5503 New file.
5504 * doc/gcc/extensions-to-the-c-language-family/target-builtins/ti-c6x-built-in-functions.rst:
5505 New file.
5506 * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-built-in-functions.rst:
5507 New file.
5508 * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-control-flow-protection-intrinsics.rst:
5509 New file.
5510 * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-transactional-memory-intrinsics.rst:
5511 New file.
5512 * doc/gcc/extensions-to-the-c-language-family/the-character-esc-in-constants.rst: New file.
5513 * doc/gcc/extensions-to-the-c-language-family/thread-local-storage.rst: New file.
5514 * doc/gcc/extensions-to-the-c-language-family/unnamed-structure-and-union-fields.rst:
5515 New file.
5516 * doc/gcc/extensions-to-the-c-language-family/using-vector-instructions-through-built-in-functions.rst:
5517 New file.
5518 * doc/gcc/extensions-to-the-c-language-family/when-is-a-volatile-object-accessed.rst:
5519 New file.
5520 * doc/gcc/extensions-to-the-c-language-family/x86-specific-memory-model-extensions-for-transactional-memory.rst:
5521 New file.
5522 * doc/gcc/funding.rst: New file.
5523 * doc/gcc/gcc-command-options.rst: New file.
5524 * doc/gcc/gcc-command-options/c++-modules.rst: New file.
5525 * doc/gcc/gcc-command-options/compiling-c++-programs.rst: New file.
5526 * doc/gcc/gcc-command-options/description.rst: New file.
5527 * doc/gcc/gcc-command-options/environment-variables-affecting-gcc.rst: New file.
5528 * doc/gcc/gcc-command-options/gcc-developer-options.rst: New file.
5529 * doc/gcc/gcc-command-options/machine-dependent-options.rst: New file.
5530 * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: New file.
5531 * doc/gcc/gcc-command-options/machine-dependent-options/adapteva-epiphany-options.rst:
5532 New file.
5533 * doc/gcc/gcc-command-options/machine-dependent-options/amd-gcn-options.rst: New file.
5534 * doc/gcc/gcc-command-options/machine-dependent-options/arc-options.rst: New file.
5535 * doc/gcc/gcc-command-options/machine-dependent-options/arm-options.rst: New file.
5536 * doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst: New file.
5537 * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst: New file.
5538 * doc/gcc/gcc-command-options/machine-dependent-options/blackfin-options.rst: New file.
5539 * doc/gcc/gcc-command-options/machine-dependent-options/c-sky-options.rst: New file.
5540 * doc/gcc/gcc-command-options/machine-dependent-options/c6x-options.rst: New file.
5541 * doc/gcc/gcc-command-options/machine-dependent-options/cris-options.rst: New file.
5542 * doc/gcc/gcc-command-options/machine-dependent-options/darwin-options.rst: New file.
5543 * doc/gcc/gcc-command-options/machine-dependent-options/dec-alpha-options.rst: New file.
5544 * doc/gcc/gcc-command-options/machine-dependent-options/ebpf-options.rst: New file.
5545 * doc/gcc/gcc-command-options/machine-dependent-options/fr30-options.rst: New file.
5546 * doc/gcc/gcc-command-options/machine-dependent-options/frv-options.rst: New file.
5547 * doc/gcc/gcc-command-options/machine-dependent-options/ft32-options.rst: New file.
5548 * doc/gcc/gcc-command-options/machine-dependent-options/gnu-linux-options.rst: New file.
5549 * doc/gcc/gcc-command-options/machine-dependent-options/h8-300-options.rst: New file.
5550 * doc/gcc/gcc-command-options/machine-dependent-options/hppa-options.rst: New file.
5551 * doc/gcc/gcc-command-options/machine-dependent-options/ia-64-options.rst: New file.
5552 * doc/gcc/gcc-command-options/machine-dependent-options/ibm-rs-6000-and-powerpc-options.rst:
5553 New file.
5554 * doc/gcc/gcc-command-options/machine-dependent-options/lm32-options.rst: New file.
5555 * doc/gcc/gcc-command-options/machine-dependent-options/loongarch-options.rst: New file.
5556 * doc/gcc/gcc-command-options/machine-dependent-options/m32c-options.rst: New file.
5557 * doc/gcc/gcc-command-options/machine-dependent-options/m32r-d-options.rst: New file.
5558 * doc/gcc/gcc-command-options/machine-dependent-options/m680x0-options.rst: New file.
5559 * doc/gcc/gcc-command-options/machine-dependent-options/mcore-options.rst: New file.
5560 * doc/gcc/gcc-command-options/machine-dependent-options/mep-options.rst: New file.
5561 * doc/gcc/gcc-command-options/machine-dependent-options/microblaze-options.rst: New file.
5562 * doc/gcc/gcc-command-options/machine-dependent-options/mips-options.rst: New file.
5563 * doc/gcc/gcc-command-options/machine-dependent-options/mmix-options.rst: New file.
5564 * doc/gcc/gcc-command-options/machine-dependent-options/mn10300-options.rst: New file.
5565 * doc/gcc/gcc-command-options/machine-dependent-options/moxie-options.rst: New file.
5566 * doc/gcc/gcc-command-options/machine-dependent-options/msp430-options.rst: New file.
5567 * doc/gcc/gcc-command-options/machine-dependent-options/nds32-options.rst: New file.
5568 * doc/gcc/gcc-command-options/machine-dependent-options/nios-ii-options.rst: New file.
5569 * doc/gcc/gcc-command-options/machine-dependent-options/nvidia-ptx-options.rst: New file.
5570 * doc/gcc/gcc-command-options/machine-dependent-options/openrisc-options.rst: New file.
5571 * doc/gcc/gcc-command-options/machine-dependent-options/options-for-system-v.rst: New file.
5572 * doc/gcc/gcc-command-options/machine-dependent-options/pdp-11-options.rst: New file.
5573 * doc/gcc/gcc-command-options/machine-dependent-options/picochip-options.rst: New file.
5574 * doc/gcc/gcc-command-options/machine-dependent-options/powerpc-options.rst: New file.
5575 * doc/gcc/gcc-command-options/machine-dependent-options/pru-options.rst: New file.
5576 * doc/gcc/gcc-command-options/machine-dependent-options/risc-v-options.rst: New file.
5577 * doc/gcc/gcc-command-options/machine-dependent-options/rl78-options.rst: New file.
5578 * doc/gcc/gcc-command-options/machine-dependent-options/rx-options.rst: New file.
5579 * doc/gcc/gcc-command-options/machine-dependent-options/s-390-and-zseries-options.rst:
5580 New file.
5581 * doc/gcc/gcc-command-options/machine-dependent-options/score-options.rst: New file.
5582 * doc/gcc/gcc-command-options/machine-dependent-options/sh-options.rst: New file.
5583 * doc/gcc/gcc-command-options/machine-dependent-options/solaris-2-options.rst: New file.
5584 * doc/gcc/gcc-command-options/machine-dependent-options/sparc-options.rst: New file.
5585 * doc/gcc/gcc-command-options/machine-dependent-options/v850-options.rst: New file.
5586 * doc/gcc/gcc-command-options/machine-dependent-options/vax-options.rst: New file.
5587 * doc/gcc/gcc-command-options/machine-dependent-options/visium-options.rst: New file.
5588 * doc/gcc/gcc-command-options/machine-dependent-options/vms-options.rst: New file.
5589 * doc/gcc/gcc-command-options/machine-dependent-options/vxworks-options.rst: New file.
5590 * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: New file.
5591 * doc/gcc/gcc-command-options/machine-dependent-options/x86-windows-options.rst: New file.
5592 * doc/gcc/gcc-command-options/machine-dependent-options/xstormy16-options.rst: New file.
5593 * doc/gcc/gcc-command-options/machine-dependent-options/xtensa-options.rst: New file.
5594 * doc/gcc/gcc-command-options/machine-dependent-options/zseries-options.rst: New file.
5595 * doc/gcc/gcc-command-options/option-summary.rst: New file.
5596 * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst: New file.
5597 * doc/gcc/gcc-command-options/options-controlling-c-dialect.rst: New file.
5598 * doc/gcc/gcc-command-options/options-controlling-objective-c-and-objective-c++-dialects.rst:
5599 New file.
5600 * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst: New file.
5601 * doc/gcc/gcc-command-options/options-controlling-the-preprocessor.rst: New file.
5602 * doc/gcc/gcc-command-options/options-for-code-generation-conventions.rst: New file.
5603 * doc/gcc/gcc-command-options/options-for-debugging-your-program.rst: New file.
5604 * doc/gcc/gcc-command-options/options-for-directory-search.rst: New file.
5605 * doc/gcc/gcc-command-options/options-for-linking.rst: New file.
5606 * doc/gcc/gcc-command-options/options-that-control-optimization.rst: New file.
5607 * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: New file.
5608 * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
5609 New file.
5610 * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst: New file.
5611 * doc/gcc/gcc-command-options/passing-options-to-the-assembler.rst: New file.
5612 * doc/gcc/gcc-command-options/program-instrumentation-options.rst: New file.
5613 * doc/gcc/gcc-command-options/specifying-subprocesses-and-the-switches-to-pass-to-them.rst:
5614 New file.
5615 * doc/gcc/gcc-command-options/using-precompiled-headers.rst: New file.
5616 * doc/gcc/gcc.rst: New file.
5617 * doc/gcc/gcov-dump.rst: New file.
5618 * doc/gcc/gcov-tool.rst: New file.
5619 * doc/gcc/gcov.rst: New file.
5620 * doc/gcc/gcov/brief-description-of-gcov-data-files.rst: New file.
5621 * doc/gcc/gcov/data-file-relocation-to-support-cross-profiling.rst: New file.
5622 * doc/gcc/gcov/introduction-to-gcov.rst: New file.
5623 * doc/gcc/gcov/invoking-gcov.rst: New file.
5624 * doc/gcc/gcov/profiling-and-test-coverage-in-freestanding-environments.rst: New file.
5625 * doc/gcc/gcov/using-gcov-with-gcc-optimization.rst: New file.
5626 * doc/gcc/general-public-license-3.rst: New file.
5627 * doc/gcc/gnu-free-documentation-license.rst: New file.
5628 * doc/gcc/gnu-objective-c-features.rst: New file.
5629 * doc/gcc/gnu-objective-c-features/compatibilityalias.rst: New file.
5630 * doc/gcc/gnu-objective-c-features/constant-string-objects.rst: New file.
5631 * doc/gcc/gnu-objective-c-features/exceptions.rst: New file.
5632 * doc/gcc/gnu-objective-c-features/fast-enumeration.rst: New file.
5633 * doc/gcc/gnu-objective-c-features/garbage-collection.rst: New file.
5634 * doc/gcc/gnu-objective-c-features/gnu-objective-c-runtime-api.rst: New file.
5635 * doc/gcc/gnu-objective-c-features/load-executing-code-before-main.rst: New file.
5636 * doc/gcc/gnu-objective-c-features/messaging-with-the-gnu-objective-c-runtime.rst: New file.
5637 * doc/gcc/gnu-objective-c-features/synchronization.rst: New file.
5638 * doc/gcc/gnu-objective-c-features/type-encoding.rst: New file.
5639 * doc/gcc/gnu.rst: New file.
5640 * doc/gcc/have-you-found-a-bug.rst: New file.
5641 * doc/gcc/how-and-where-to-report-bugs.rst: New file.
5642 * doc/gcc/how-to-get-help-with-gcc.rst: New file.
5643 * doc/gcc/index.rst: New file.
5644 * doc/gcc/indices-and-tables.rst: New file.
5645 * doc/gcc/known-causes-of-trouble-with-gcc.rst: New file.
5646 * doc/gcc/known-causes-of-trouble-with-gcc/actual-bugs-we-havent-fixed-yet.rst: New file.
5647 * doc/gcc/known-causes-of-trouble-with-gcc/certain-changes-we-dont-want-to-make.rst:
5648 New file.
5649 * doc/gcc/known-causes-of-trouble-with-gcc/common-misunderstandings-with-gnu-c.rst:
5650 New file.
5651 * doc/gcc/known-causes-of-trouble-with-gcc/disappointments-and-misunderstandings.rst:
5652 New file.
5653 * doc/gcc/known-causes-of-trouble-with-gcc/fixed-header-files.rst: New file.
5654 * doc/gcc/known-causes-of-trouble-with-gcc/incompatibilities-of-gcc.rst: New file.
5655 * doc/gcc/known-causes-of-trouble-with-gcc/interoperation.rst: New file.
5656 * doc/gcc/known-causes-of-trouble-with-gcc/standard-libraries.rst: New file.
5657 * doc/gcc/known-causes-of-trouble-with-gcc/warning-messages-and-error-messages.rst:
5658 New file.
5659 * doc/gcc/language-standards-supported-by-gcc.rst: New file.
5660 * doc/gcc/language-standards-supported-by-gcc/c++-language.rst: New file.
5661 * doc/gcc/language-standards-supported-by-gcc/c-language.rst: New file.
5662 * doc/gcc/language-standards-supported-by-gcc/d-language.rst: New file.
5663 * doc/gcc/language-standards-supported-by-gcc/go-language.rst: New file.
5664 * doc/gcc/language-standards-supported-by-gcc/objective-c-and-objective-c++-languages.rst:
5665 New file.
5666 * doc/gcc/language-standards-supported-by-gcc/references-for-other-languages.rst: New file.
5667 * doc/gcc/lto-dump.rst: New file.
5668 * doc/gcc/programming-languages-supported-by-gcc.rst: New file.
5669 * doc/gcc/reporting-bugs.rst: New file.
5670 * doc/gccint/analysis-and-optimization-of-gimple-tuples.rst: New file.
5671 * doc/gccint/analysis-and-optimization-of-gimple-tuples/alias-analysis.rst: New file.
5672 * doc/gccint/analysis-and-optimization-of-gimple-tuples/annotations.rst: New file.
5673 * doc/gccint/analysis-and-optimization-of-gimple-tuples/memory-model.rst: New file.
5674 * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst: New file.
5675 * doc/gccint/analysis-and-optimization-of-gimple-tuples/static-single-assignment.rst:
5676 New file.
5677 * doc/gccint/analysis-and-representation-of-loops.rst: New file.
5678 * doc/gccint/analysis-and-representation-of-loops/data-dependency-analysis.rst: New file.
5679 * doc/gccint/analysis-and-representation-of-loops/iv-analysis-on-rtl.rst: New file.
5680 * doc/gccint/analysis-and-representation-of-loops/loop-closed-ssa-form.rst: New file.
5681 * doc/gccint/analysis-and-representation-of-loops/loop-manipulation.rst: New file.
5682 * doc/gccint/analysis-and-representation-of-loops/loop-querying.rst: New file.
5683 * doc/gccint/analysis-and-representation-of-loops/loop-representation.rst: New file.
5684 * doc/gccint/analysis-and-representation-of-loops/number-of-iterations-analysis.rst:
5685 New file.
5686 * doc/gccint/analysis-and-representation-of-loops/scalar-evolutions.rst: New file.
5687 * doc/gccint/analyzer-internals.rst: New file.
5688 * doc/gccint/collect2.rst: New file.
5689 * doc/gccint/conf.py: New file.
5690 * doc/gccint/contributing-to-gcc-development.rst: New file.
5691 * doc/gccint/contributors-to-gcc.rst: New file.
5692 * doc/gccint/control-flow-graph.rst: New file.
5693 * doc/gccint/control-flow-graph/basic-blocks.rst: New file.
5694 * doc/gccint/control-flow-graph/edges.rst: New file.
5695 * doc/gccint/control-flow-graph/liveness-information.rst: New file.
5696 * doc/gccint/control-flow-graph/maintaining-the-cfg.rst: New file.
5697 * doc/gccint/control-flow-graph/profile-information.rst: New file.
5698 * doc/gccint/copyright.rst: New file.
5699 * doc/gccint/debugging-the-analyzer.rst: New file.
5700 * doc/gccint/funding.rst: New file.
5701 * doc/gccint/gcc-and-portability.rst: New file.
5702 * doc/gccint/general-public-license-3.rst: New file.
5703 * doc/gccint/generic.rst: New file.
5704 * doc/gccint/generic/attributes-in-trees.rst: New file.
5705 * doc/gccint/generic/c-and-c++-trees.rst: New file.
5706 * doc/gccint/generic/declarations.rst: New file.
5707 * doc/gccint/generic/deficiencies.rst: New file.
5708 * doc/gccint/generic/expressions.rst: New file.
5709 * doc/gccint/generic/functions.rst: New file.
5710 * doc/gccint/generic/language-dependent-trees.rst: New file.
5711 * doc/gccint/generic/overview.rst: New file.
5712 * doc/gccint/generic/statements.rst: New file.
5713 * doc/gccint/generic/types.rst: New file.
5714 * doc/gccint/gimple-api.rst: New file.
5715 * doc/gccint/gimple.rst: New file.
5716 * doc/gccint/gimple/adding-a-new-gimple-statement-code.rst: New file.
5717 * doc/gccint/gimple/class-hierarchy-of-gimple-statements.rst: New file.
5718 * doc/gccint/gimple/exception-handling.rst: New file.
5719 * doc/gccint/gimple/gimple-instruction-set.rst: New file.
5720 * doc/gccint/gimple/gimple-sequences.rst: New file.
5721 * doc/gccint/gimple/manipulating-gimple-statements.rst: New file.
5722 * doc/gccint/gimple/operands.rst: New file.
5723 * doc/gccint/gimple/sequence-iterators.rst: New file.
5724 * doc/gccint/gimple/statement-and-operand-traversals.rst: New file.
5725 * doc/gccint/gimple/temporaries.rst: New file.
5726 * doc/gccint/gimple/tuple-representation.rst: New file.
5727 * doc/gccint/gimple/tuple-specific-accessors.rst: New file.
5728 * doc/gccint/gimple/tuple-specific-accessors/gimpleasm.rst: New file.
5729 * doc/gccint/gimple/tuple-specific-accessors/gimpleassign.rst: New file.
5730 * doc/gccint/gimple/tuple-specific-accessors/gimplebind.rst: New file.
5731 * doc/gccint/gimple/tuple-specific-accessors/gimplecall.rst: New file.
5732 * doc/gccint/gimple/tuple-specific-accessors/gimplecatch.rst: New file.
5733 * doc/gccint/gimple/tuple-specific-accessors/gimplecond.rst: New file.
5734 * doc/gccint/gimple/tuple-specific-accessors/gimpledebug.rst: New file.
5735 * doc/gccint/gimple/tuple-specific-accessors/gimpleehfilter.rst: New file.
5736 * doc/gccint/gimple/tuple-specific-accessors/gimplegoto.rst: New file.
5737 * doc/gccint/gimple/tuple-specific-accessors/gimplelabel.rst: New file.
5738 * doc/gccint/gimple/tuple-specific-accessors/gimplenop.rst: New file.
5739 * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicload.rst: New file.
5740 * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicstore.rst: New file.
5741 * doc/gccint/gimple/tuple-specific-accessors/gimpleompcontinue.rst: New file.
5742 * doc/gccint/gimple/tuple-specific-accessors/gimpleompcritical.rst: New file.
5743 * doc/gccint/gimple/tuple-specific-accessors/gimpleompfor.rst: New file.
5744 * doc/gccint/gimple/tuple-specific-accessors/gimpleompmaster.rst: New file.
5745 * doc/gccint/gimple/tuple-specific-accessors/gimpleompordered.rst: New file.
5746 * doc/gccint/gimple/tuple-specific-accessors/gimpleompparallel.rst: New file.
5747 * doc/gccint/gimple/tuple-specific-accessors/gimpleompreturn.rst: New file.
5748 * doc/gccint/gimple/tuple-specific-accessors/gimpleompsection.rst: New file.
5749 * doc/gccint/gimple/tuple-specific-accessors/gimpleompsections.rst: New file.
5750 * doc/gccint/gimple/tuple-specific-accessors/gimpleompsingle.rst: New file.
5751 * doc/gccint/gimple/tuple-specific-accessors/gimplephi.rst: New file.
5752 * doc/gccint/gimple/tuple-specific-accessors/gimpleresx.rst: New file.
5753 * doc/gccint/gimple/tuple-specific-accessors/gimplereturn.rst: New file.
5754 * doc/gccint/gimple/tuple-specific-accessors/gimpleswitch.rst: New file.
5755 * doc/gccint/gimple/tuple-specific-accessors/gimpletry.rst: New file.
5756 * doc/gccint/gimple/tuple-specific-accessors/gimplewithcleanupexpr.rst: New file.
5757 * doc/gccint/gnu-free-documentation-license.rst: New file.
5758 * doc/gccint/guidelines-for-diagnostics.rst: New file.
5759 * doc/gccint/guidelines-for-options.rst: New file.
5760 * doc/gccint/host-common.rst: New file.
5761 * doc/gccint/host-configuration.rst: New file.
5762 * doc/gccint/host-filesystem.rst: New file.
5763 * doc/gccint/host-makefile-fragments.rst: New file.
5764 * doc/gccint/host-misc.rst: New file.
5765 * doc/gccint/index.rst: New file.
5766 * doc/gccint/indices-and-tables.rst: New file.
5767 * doc/gccint/interfacing-to-gcc-output.rst: New file.
5768 * doc/gccint/introduction.rst: New file.
5769 * doc/gccint/language-front-ends-in-gcc.rst: New file.
5770 * doc/gccint/link-time-optimization.rst: New file.
5771 * doc/gccint/link-time-optimization/design-overview.rst: New file.
5772 * doc/gccint/link-time-optimization/internal-flags-controlling-lto1.rst: New file.
5773 * doc/gccint/link-time-optimization/lto-file-sections.rst: New file.
5774 * doc/gccint/link-time-optimization/using-summary-information-in-ipa-passes.rst: New file.
5775 * doc/gccint/link-time-optimization/whole-program-assumptions-linker-plugin-and-symbol-visibilities.rst:
5776 New file.
5777 * doc/gccint/machine-descriptions.rst: New file.
5778 * doc/gccint/machine-descriptions/c-statements-for-assembler-output.rst: New file.
5779 * doc/gccint/machine-descriptions/canonicalization-of-instructions.rst: New file.
5780 * doc/gccint/machine-descriptions/conditional-execution.rst: New file.
5781 * doc/gccint/machine-descriptions/constant-definitions.rst: New file.
5782 * doc/gccint/machine-descriptions/defining-how-to-split-instructions.rst: New file.
5783 * doc/gccint/machine-descriptions/defining-jump-instruction-patterns.rst: New file.
5784 * doc/gccint/machine-descriptions/defining-looping-instruction-patterns.rst: New file.
5785 * doc/gccint/machine-descriptions/defining-rtl-sequences-for-code-generation.rst: New file.
5786 * doc/gccint/machine-descriptions/everything-about-instruction-patterns.rst: New file.
5787 * doc/gccint/machine-descriptions/example-of-defineinsn.rst: New file.
5788 * doc/gccint/machine-descriptions/including-patterns-in-machine-descriptions.rst: New file.
5789 * doc/gccint/machine-descriptions/instruction-attributes.rst: New file.
5790 * doc/gccint/machine-descriptions/interdependence-of-patterns.rst: New file.
5791 * doc/gccint/machine-descriptions/iterators.rst: New file.
5792 * doc/gccint/machine-descriptions/machine-specific-peephole-optimizers.rst: New file.
5793 * doc/gccint/machine-descriptions/operand-constraints.rst: New file.
5794 * doc/gccint/machine-descriptions/output-templates-and-operand-substitution.rst: New file.
5795 * doc/gccint/machine-descriptions/overview-of-how-the-machine-description-is-used.rst:
5796 New file.
5797 * doc/gccint/machine-descriptions/predicates.rst: New file.
5798 * doc/gccint/machine-descriptions/rtl-template.rst: New file.
5799 * doc/gccint/machine-descriptions/rtl-templates-transformations.rst: New file.
5800 * doc/gccint/machine-descriptions/standard-pattern-names-for-generation.rst: New file.
5801 * doc/gccint/machine-descriptions/when-the-order-of-patterns-matters.rst: New file.
5802 * doc/gccint/makefile-fragments.rst: New file.
5803 * doc/gccint/match-and-simplify.rst: New file.
5804 * doc/gccint/memory-management-and-type-information.rst: New file.
5805 * doc/gccint/memory-management-and-type-information/how-to-invoke-the-garbage-collector.rst:
5806 New file.
5807 * doc/gccint/memory-management-and-type-information/marking-roots-for-the-garbage-collector.rst:
5808 New file.
5809 * doc/gccint/memory-management-and-type-information/source-files-containing-type-information.rst:
5810 New file.
5811 * doc/gccint/memory-management-and-type-information/support-for-inheritance.rst: New file.
5812 * doc/gccint/memory-management-and-type-information/support-for-user-provided-gc-marking-routines.rst:
5813 New file.
5814 * doc/gccint/memory-management-and-type-information/the-inside-of-a-gty.rst: New file.
5815 * doc/gccint/memory-management-and-type-information/troubleshooting-the-garbage-collector.rst:
5816 New file.
5817 * doc/gccint/option-file-format.rst: New file.
5818 * doc/gccint/option-properties.rst: New file.
5819 * doc/gccint/option-specification-files.rst: New file.
5820 * doc/gccint/passes-and-files-of-the-compiler.rst: New file.
5821 * doc/gccint/passes-and-files-of-the-compiler/gimplification-pass.rst: New file.
5822 * doc/gccint/passes-and-files-of-the-compiler/inter-procedural-optimization-passes.rst:
5823 New file.
5824 * doc/gccint/passes-and-files-of-the-compiler/optimization-info.rst: New file.
5825 * doc/gccint/passes-and-files-of-the-compiler/parsing-pass.rst: New file.
5826 * doc/gccint/passes-and-files-of-the-compiler/pass-manager.rst: New file.
5827 * doc/gccint/passes-and-files-of-the-compiler/rtl-passes.rst: New file.
5828 * doc/gccint/passes-and-files-of-the-compiler/tree-ssa-passes.rst: New file.
5829 * doc/gccint/plugins.rst: New file.
5830 * doc/gccint/plugins/building-gcc-plugins.rst: New file.
5831 * doc/gccint/plugins/controlling-which-passes-are-being-run.rst: New file.
5832 * doc/gccint/plugins/giving-information-about-a-plugin.rst: New file.
5833 * doc/gccint/plugins/interacting-with-the-gcc-garbage-collector.rst: New file.
5834 * doc/gccint/plugins/interacting-with-the-pass-manager.rst: New file.
5835 * doc/gccint/plugins/keeping-track-of-available-passes.rst: New file.
5836 * doc/gccint/plugins/loading-plugins.rst: New file.
5837 * doc/gccint/plugins/plugin-api.rst: New file.
5838 * doc/gccint/plugins/recording-information-about-pass-execution.rst: New file.
5839 * doc/gccint/plugins/registering-custom-attributes-or-pragmas.rst: New file.
5840 * doc/gccint/rtl-representation.rst: New file.
5841 * doc/gccint/rtl-representation/access-to-operands.rst: New file.
5842 * doc/gccint/rtl-representation/access-to-special-operands.rst: New file.
5843 * doc/gccint/rtl-representation/assembler-instructions-as-expressions.rst: New file.
5844 * doc/gccint/rtl-representation/bit-fields.rst: New file.
5845 * doc/gccint/rtl-representation/comparison-operations.rst: New file.
5846 * doc/gccint/rtl-representation/constant-expression-types.rst: New file.
5847 * doc/gccint/rtl-representation/conversions.rst: New file.
5848 * doc/gccint/rtl-representation/declarations.rst: New file.
5849 * doc/gccint/rtl-representation/embedded-side-effects-on-addresses.rst: New file.
5850 * doc/gccint/rtl-representation/flags-in-an-rtl-expression.rst: New file.
5851 * doc/gccint/rtl-representation/insns.rst: New file.
5852 * doc/gccint/rtl-representation/machine-modes.rst: New file.
5853 * doc/gccint/rtl-representation/on-the-side-ssa-form-for-rtl.rst: New file.
5854 * doc/gccint/rtl-representation/reading-rtl.rst: New file.
5855 * doc/gccint/rtl-representation/registers-and-memory.rst: New file.
5856 * doc/gccint/rtl-representation/rtl-classes-and-formats.rst: New file.
5857 * doc/gccint/rtl-representation/rtl-expressions-for-arithmetic.rst: New file.
5858 * doc/gccint/rtl-representation/rtl-object-types.rst: New file.
5859 * doc/gccint/rtl-representation/rtl-representation-of-function-call-insns.rst: New file.
5860 * doc/gccint/rtl-representation/side-effect-expressions.rst: New file.
5861 * doc/gccint/rtl-representation/structure-sharing-assumptions.rst: New file.
5862 * doc/gccint/rtl-representation/variable-location-debug-information-in-rtl.rst: New file.
5863 * doc/gccint/rtl-representation/vector-operations.rst: New file.
5864 * doc/gccint/sizes-and-offsets-as-runtime-invariants.rst: New file.
5865 * doc/gccint/sizes-and-offsets-as-runtime-invariants/alignment-of-polyints.rst: New file.
5866 * doc/gccint/sizes-and-offsets-as-runtime-invariants/arithmetic-on-polyints.rst: New file.
5867 * doc/gccint/sizes-and-offsets-as-runtime-invariants/comparisons-involving-polyint.rst:
5868 New file.
5869 * doc/gccint/sizes-and-offsets-as-runtime-invariants/computing-bounds-on-polyints.rst:
5870 New file.
5871 * doc/gccint/sizes-and-offsets-as-runtime-invariants/consequences-of-using-polyint.rst:
5872 New file.
5873 * doc/gccint/sizes-and-offsets-as-runtime-invariants/converting-polyints.rst: New file.
5874 * doc/gccint/sizes-and-offsets-as-runtime-invariants/guidelines-for-using-polyint.rst:
5875 New file.
5876 * doc/gccint/sizes-and-offsets-as-runtime-invariants/miscellaneous-polyint-routines.rst:
5877 New file.
5878 * doc/gccint/sizes-and-offsets-as-runtime-invariants/overview-of-polyint.rst: New file.
5879 * doc/gccint/source-tree-structure-and-build-system.rst: New file.
5880 * doc/gccint/source-tree-structure-and-build-system/configure-terms-and-history.rst:
5881 New file.
5882 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory.rst: New file.
5883 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-language-front-end.rst:
5884 New file.
5885 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-target-back-end.rst:
5886 New file.
5887 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/build-system-in-the-gcc-directory.rst:
5888 New file.
5889 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/building-documentation.rst:
5890 New file.
5891 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/configuration-in-the-gcc-directory.rst:
5892 New file.
5893 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/headers-installed-by-gcc.rst:
5894 New file.
5895 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/library-source-files-and-headers-under-the-gcc-directory.rst:
5896 New file.
5897 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/makefile-targets.rst:
5898 New file.
5899 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/subdirectories-of-gcc.rst:
5900 New file.
5901 * doc/gccint/source-tree-structure-and-build-system/top-level-source-directory.rst:
5902 New file.
5903 * doc/gccint/standard-header-file-directories.rst: New file.
5904 * doc/gccint/static-analyzer.rst: New file.
5905 * doc/gccint/target-macros.rst: New file.
5906 * doc/gccint/target-macros/adding-support-for-named-address-spaces.rst: New file.
5907 * doc/gccint/target-macros/addressing-modes.rst: New file.
5908 * doc/gccint/target-macros/adjusting-the-instruction-scheduler.rst: New file.
5909 * doc/gccint/target-macros/anchored-addresses.rst: New file.
5910 * doc/gccint/target-macros/c++-abi-parameters.rst: New file.
5911 * doc/gccint/target-macros/condition-code-status.rst: New file.
5912 * doc/gccint/target-macros/controlling-debugging-information-format.rst: New file.
5913 * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: New file.
5914 * doc/gccint/target-macros/cross-compilation-and-floating-point.rst: New file.
5915 * doc/gccint/target-macros/d-abi-parameters.rst: New file.
5916 * doc/gccint/target-macros/defining-coprocessor-specifics-for-mips-targets.rst: New file.
5917 * doc/gccint/target-macros/defining-data-structures-for-per-function-information.rst:
5918 New file.
5919 * doc/gccint/target-macros/defining-target-specific-uses-of-attribute.rst: New file.
5920 * doc/gccint/target-macros/defining-the-output-assembler-language.rst: New file.
5921 * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-alignment.rst:
5922 New file.
5923 * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
5924 New file.
5925 * doc/gccint/target-macros/defining-the-output-assembler-language/how-initialization-functions-are-handled.rst:
5926 New file.
5927 * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
5928 New file.
5929 * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
5930 New file.
5931 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
5932 New file.
5933 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
5934 New file.
5935 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-dispatch-tables.rst:
5936 New file.
5937 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-uninitialized-variables.rst:
5938 New file.
5939 * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
5940 New file.
5941 * doc/gccint/target-macros/describing-relative-costs-of-operations.rst: New file.
5942 * doc/gccint/target-macros/dividing-the-output-into-sections-texts-data.rst: New file.
5943 * doc/gccint/target-macros/emulating-tls.rst: New file.
5944 * doc/gccint/target-macros/implementing-the-varargs-macros.rst: New file.
5945 * doc/gccint/target-macros/implicit-calls-to-library-routines.rst: New file.
5946 * doc/gccint/target-macros/layout-of-source-language-data-types.rst: New file.
5947 * doc/gccint/target-macros/miscellaneous-parameters.rst: New file.
5948 * doc/gccint/target-macros/mode-switching-instructions.rst: New file.
5949 * doc/gccint/target-macros/parameters-for-precompiled-header-validity-checking.rst:
5950 New file.
5951 * doc/gccint/target-macros/position-independent-code.rst: New file.
5952 * doc/gccint/target-macros/register-classes.rst: New file.
5953 * doc/gccint/target-macros/register-usage.rst: New file.
5954 * doc/gccint/target-macros/run-time-target-specification.rst: New file.
5955 * doc/gccint/target-macros/stack-layout-and-calling-conventions.rst: New file.
5956 * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
5957 New file.
5958 * doc/gccint/target-macros/stack-layout-and-calling-conventions/caller-saves-register-allocation.rst:
5959 New file.
5960 * doc/gccint/target-macros/stack-layout-and-calling-conventions/eliminating-frame-pointer-and-arg-pointer.rst:
5961 New file.
5962 * doc/gccint/target-macros/stack-layout-and-calling-conventions/exception-handling-support.rst:
5963 New file.
5964 * doc/gccint/target-macros/stack-layout-and-calling-conventions/function-entry-and-exit.rst:
5965 New file.
5966 * doc/gccint/target-macros/stack-layout-and-calling-conventions/generating-code-for-profiling.rst:
5967 New file.
5968 * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-large-values-are-returned.rst:
5969 New file.
5970 * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-scalar-function-values-are-returned.rst:
5971 New file.
5972 * doc/gccint/target-macros/stack-layout-and-calling-conventions/miscellaneous-register-hooks.rst:
5973 New file.
5974 * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
5975 New file.
5976 * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
5977 New file.
5978 * doc/gccint/target-macros/stack-layout-and-calling-conventions/permitting-tail-calls.rst:
5979 New file.
5980 * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
5981 New file.
5982 * doc/gccint/target-macros/stack-layout-and-calling-conventions/shrink-wrapping-separate-components.rst:
5983 New file.
5984 * doc/gccint/target-macros/stack-layout-and-calling-conventions/specifying-how-stack-checking-is-done.rst:
5985 New file.
5986 * doc/gccint/target-macros/stack-layout-and-calling-conventions/stack-smashing-protection.rst:
5987 New file.
5988 * doc/gccint/target-macros/storage-layout.rst: New file.
5989 * doc/gccint/target-macros/support-for-nested-functions.rst: New file.
5990 * doc/gccint/target-macros/the-global-targetm-variable.rst: New file.
5991 * doc/gccint/target-makefile-fragments.rst: New file.
5992 * doc/gccint/testsuites.rst: New test.
5993 * doc/gccint/testsuites/ada-language-testsuites.rst: New test.
5994 * doc/gccint/testsuites/c-language-testsuites.rst: New test.
5995 * doc/gccint/testsuites/directives-used-within-dejagnu-tests.rst: New test.
5996 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/commands-for-use-in-dg-final.rst:
5997 New test.
5998 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/features-for-dg-add-options.rst:
5999 New test.
6000 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/keywords-describing-target-attributes.rst:
6001 New test.
6002 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/selecting-targets-to-which-a-test-applies.rst:
6003 New test.
6004 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/syntax-and-descriptions-of-test-directives.rst:
6005 New test.
6006 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/variants-of-dg-require-support.rst:
6007 New test.
6008 * doc/gccint/testsuites/idioms-used-in-testsuite-code.rst: New test.
6009 * doc/gccint/testsuites/support-for-testing-binary-compatibility.rst: New test.
6010 * doc/gccint/testsuites/support-for-testing-gcov.rst: New test.
6011 * doc/gccint/testsuites/support-for-testing-gimple-passes.rst: New test.
6012 * doc/gccint/testsuites/support-for-testing-link-time-optimizations.rst: New test.
6013 * doc/gccint/testsuites/support-for-testing-profile-directed-optimizations.rst: New test.
6014 * doc/gccint/testsuites/support-for-testing-rtl-passes.rst: New test.
6015 * doc/gccint/testsuites/support-for-torture-testing-using-multiple-options.rst: New test.
6016 * doc/gccint/the-gcc-low-level-runtime-library.rst: New file.
6017 * doc/gccint/the-gcc-low-level-runtime-library/language-independent-routines-for-exception-handling.rst:
6018 New file.
6019 * doc/gccint/the-gcc-low-level-runtime-library/miscellaneous-runtime-library-routines.rst:
6020 New file.
6021 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-decimal-floating-point-emulation.rst:
6022 New file.
6023 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-fixed-point-fractional-emulation.rst:
6024 New file.
6025 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-floating-point-emulation.rst:
6026 New file.
6027 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-integer-arithmetic.rst:
6028 New file.
6029 * doc/gccint/the-language.rst: New file.
6030 * doc/gccint/user-experience-guidelines.rst: New file.
6031 * doc/install/binaries.rst: New file.
6032 * doc/install/building.rst: New file.
6033 * doc/install/building/building-a-cross-compiler.rst: New file.
6034 * doc/install/building/building-a-native-compiler.rst: New file.
6035 * doc/install/building/building-in-parallel.rst: New file.
6036 * doc/install/building/building-the-ada-compiler.rst: New file.
6037 * doc/install/building/building-the-d-compiler.rst: New file.
6038 * doc/install/building/building-with-profile-feedback.rst: New file.
6039 * doc/install/conf.py: New file.
6040 * doc/install/configuration.rst: New file.
6041 * doc/install/copyright.rst: New file.
6042 * doc/install/downloading-gcc.rst: New file.
6043 * doc/install/final-installation.rst: New file.
6044 * doc/install/gnu-free-documentation-license.rst: New file.
6045 * doc/install/host-target-specific-installation-notes-for-gcc.rst: New file.
6046 * doc/install/how-can-you-run-the-testsuite-on-selected-tests.rst: New test.
6047 * doc/install/how-to-interpret-test-results.rst: New file.
6048 * doc/install/index.rst: New file.
6049 * doc/install/indices-and-tables.rst: New file.
6050 * doc/install/installing-gcc.rst: New file.
6051 * doc/install/passing-options-and-running-multiple-testsuites.rst: New test.
6052 * doc/install/prerequisites.rst: New file.
6053 * doc/install/submitting-test-results.rst: New file.
6054 * doc/install/testing.rst: New file.
6055
6056 2022-11-09 Aldy Hernandez <aldyh@redhat.com>
6057
6058 * range-op-float.cc (class foperator_minus): New.
6059 (floating_op_table::floating_op_table): Add MINUS_EXPR entry.
6060
6061 2022-11-09 Aldy Hernandez <aldyh@redhat.com>
6062
6063 * range-op-float.cc (range_operator_float::fold_range): Abstract
6064 out from foperator_plus.
6065 (range_operator_float::rv_fold): New.
6066 (foperator_plus::fold_range): Remove.
6067 (foperator_plus::rv_fold): New.
6068 (propagate_nans): Remove.
6069 * range-op.h (class range_operator_float): Add rv_fold.
6070
6071 2022-11-09 Aldy Hernandez <aldyh@redhat.com>
6072
6073 * range-op-float.cc (foperator_plus::fold_range): Set NAN for
6074 addition of different signed infinities.
6075 (range_op_float_tests): New test.
6076
6077 2022-11-09 liuhongt <hongtao.liu@intel.com>
6078
6079 PR target/107540
6080 * config/i386/sse.md (avx512f_movddup512<mask_name>): Change
6081 type from sselog to sselog1.
6082 (avx_movddup256<mask_name>): Ditto.
6083
6084 2022-11-08 David Faust <david.faust@oracle.com>
6085
6086 * config/bpf/bpf.cc (struct core_walk_data): Add field `which'...
6087 (bpf_resolve_overloaded_builtin): ... set it here. Use values of enum
6088 bpf_builtins for error checks.
6089 (bpf_core_walk): Use values of enum bpf_builtins.
6090 (bpf_core_newdecl): Likewise.
6091 (bpf_expand_builtin): Likewise.
6092
6093 2022-11-08 Aldy Hernandez <aldyh@redhat.com>
6094
6095 PR tree-optimization/24021
6096 * range-op-float.cc (propagate_nans): New.
6097 (frange_nextafter): New.
6098 (frange_arithmetic): New.
6099 (class foperator_plus): New.
6100 (floating_op_table::floating_op_table): Add PLUS_EXPR entry.
6101
6102 2022-11-08 Aldy Hernandez <aldyh@redhat.com>
6103
6104 * real.cc (real_isdenormal): New.
6105 (encode_ieee_single): Call real_isdenormal.
6106 (encode_ieee_double): Same.
6107 (encode_ieee_extended): Same.
6108 (encode_ieee_quad): Same.
6109 (encode_ieee_half): Same.
6110 (encode_arm_bfloat_half): Same.
6111 * real.h (real_isdenormal): Add mode argument. Rewrite for
6112 normalized values.
6113 * value-range.cc (frange::flush_denormals_to_zero): Pass mode to
6114 real_isdenormal.
6115
6116 2022-11-08 Richard Biener <rguenther@suse.de>
6117
6118 PR tree-optimization/107389
6119 * gimple-low.cc (lower_builtin_assume_aligned): New.
6120 (lower_stmt): Call it.
6121
6122 2022-11-08 Aldy Hernandez <aldyh@redhat.com>
6123
6124 * range-op.cc (operator_div::fold_range): Call
6125 update_known_bitmask.
6126 * tree-ssa-ccp.cc (bit_value_binop): Handle divisions by powers of
6127 2 as a right shift.
6128
6129 2022-11-08 Kwok Cheung Yeung <kcy@codesourcery.com>
6130
6131 * config/gcn/gcn.cc (gcn_expand_builtin_1): Expand first argument
6132 of GCN_BUILTIN_LDEXPV to V64DFmode.
6133
6134 2022-11-08 Kwok Cheung Yeung <kcy@codesourcery.com>
6135
6136 * config/gcn/gcn-builtins.def (FABSV, FLOORVF, FLOORV): New builtins.
6137 * config/gcn/gcn.cc (gcn_expand_builtin_1): Expand GCN_BUILTIN_FABSV,
6138 GCN_BUILTIN_FLOORVF and GCN_BUILTIN_FLOORV.
6139
6140 2022-11-08 Aldy Hernandez <aldyh@redhat.com>
6141
6142 * range-op.cc (irange_to_masked_value): New.
6143 (update_known_bitmask): New.
6144 (operator_mult::fold_range): Call update_known_bitmask.
6145
6146 2022-11-08 Jakub Jelinek <jakub@redhat.com>
6147
6148 PR tree-optimization/107547
6149 * tree-call-cdce.cc (get_no_error_domain): Handle CASE_FLT_FN_FLOATN_NX
6150 of BUILT_IN_{ACOS,ASIN,ACOSH,ATANH,LOG,LOG2,LOG10,LOG1P}. Handle
6151 BUILT_IN_{COSH,SINH,EXP,EXPM1,EXP2}F{16,32,64,128}.
6152
6153 2022-11-08 Jakub Jelinek <jakub@redhat.com>
6154
6155 PR target/107546
6156 * config/i386/predicates.md (vector_or_const_vector_operand): New
6157 predicate.
6158 * config/i386/sse.md (vec_cmp<mode><sseintvecmodelower>,
6159 vec_cmpv2div2di, vec_cmpu<mode><sseintvecmodelower>,
6160 vec_cmpuv2div2di): Use nonimmediate_or_const_vector_operand
6161 predicate instead of nonimmediate_operand and
6162 vector_or_const_vector_operand instead of vector_operand.
6163 * config/i386/i386-expand.cc (ix86_expand_int_sse_cmp): For
6164 LE/LEU or GE/GEU with CONST_VECTOR cop1 try to transform those
6165 into LE/LEU or GT/GTU with larger or smaller by one cop1 if
6166 there is no wrap-around. Force CONST_VECTOR cop0 or cop1 into
6167 REG. Formatting fix.
6168
6169 2022-11-08 Max Filippov <jcmvbkbc@gmail.com>
6170
6171 PR rtl-optimization/107482
6172 * ira-color.cc (assign_hard_reg): Only call
6173 update_costs_from_copies when retry_p is false.
6174
6175 2022-11-08 konglin1 <lingling.kong@intel.com>
6176
6177 Revert:
6178 2022-11-07 konglin1 <lingling.kong@intel.com>
6179
6180 * config/i386/i386.opt:Add -mprefer-remote-atomic.
6181 * config/i386/sync.md (atomic_<plus_logic><mode>):
6182 New define_expand.
6183 (atomic_add<mode>): Rename to below one.
6184 (atomic_add<mode>_1): To this.
6185 (atomic_<logic><mode>): Ditto.
6186 (atomic_<logic><mode>_1): Ditto.
6187 * doc/invoke.texi: Add -mprefer-remote-atomic.
6188
6189 2022-11-08 Haochen Jiang <haochen.jiang@intel.com>
6190
6191 * config/i386/i386-options.cc (m_CORE_ATOM): New.
6192 * config/i386/x86-tune.def
6193 (X86_TUNE_SCHEDULE): Initial tune for CORE_ATOM.
6194 (X86_TUNE_PARTIAL_REG_DEPENDENCY): Ditto.
6195 (X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY): Ditto.
6196 (X86_TUNE_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY): Ditto.
6197 (X86_TUNE_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY): Ditto.
6198 (X86_TUNE_DEST_FALSE_DEP_FOR_GLC): Ditto.
6199 (X86_TUNE_MEMORY_MISMATCH_STALL): Ditto.
6200 (X86_TUNE_USE_LEAVE): Ditto.
6201 (X86_TUNE_PUSH_MEMORY): Ditto.
6202 (X86_TUNE_USE_INCDEC): Ditto.
6203 (X86_TUNE_INTEGER_DFMODE_MOVES): Ditto.
6204 (X86_TUNE_PREFER_KNOWN_REP_MOVSB_STOSB): Ditto.
6205 (X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Ditto.
6206 (X86_TUNE_USE_SAHF): Ditto.
6207 (X86_TUNE_USE_BT): Ditto.
6208 (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI): Ditto.
6209 (X86_TUNE_ONE_IF_CONV_INSN): Ditto.
6210 (X86_TUNE_AVOID_MFENCE): Ditto.
6211 (X86_TUNE_USE_SIMODE_FIOP): Ditto.
6212 (X86_TUNE_EXT_80387_CONSTANTS): Ditto.
6213 (X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL): Ditto.
6214 (X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL): Ditto.
6215 (X86_TUNE_SSE_TYPELESS_STORES): Ditto.
6216 (X86_TUNE_SSE_LOAD0_BY_PXOR): Ditto.
6217 (X86_TUNE_AVOID_4BYTE_PREFIXES): Ditto.
6218 (X86_TUNE_USE_GATHER_2PARTS): Ditto.
6219 (X86_TUNE_USE_GATHER_4PARTS): Ditto.
6220 (X86_TUNE_USE_GATHER): Ditto.
6221
6222 2022-11-08 Andrew MacLeod <amacleod@redhat.com>
6223
6224 PR tree-optimization/104530
6225 * gimple-range-cache.cc (ranger_cache::register_inferred_value):
6226 New. Split from:
6227 (ranger_cache::apply_inferred_ranges): Move setting cache to
6228 separate function.
6229 * gimple-range-cache.h (register_inferred_value): New prototype.
6230 * gimple-range-infer.cc (infer_range_manager::has_range_p): New.
6231 * gimple-range-infer.h (has_range_p): New prototype.
6232 * gimple-range.cc (register_transitive_inferred_ranges): New.
6233 * gimple-range.h (register_transitive_inferred_ranges): New proto.
6234 * tree-vrp.cc (rvrp_folder::fold_stmt): Check for transitive inferred
6235 ranges at the end of the block before folding final stmt.
6236
6237 2022-11-07 David Faust <david.faust@oracle.com>
6238
6239 * config/bpf/bpf.cc (handle_attr_preserve): Use maybe_make_core_relo().
6240
6241 2022-11-07 Aldy Hernandez <aldyh@redhat.com>
6242
6243 PR tree-optimization/55157
6244 * range-op.cc (operator_mult::wi_fold): Optimize multiplications
6245 by powers of 2.
6246
6247 2022-11-07 H.J. Lu <hjl.tools@gmail.com>
6248
6249 PR middle-end/102566
6250 * tree-ssa-ccp.cc (optimize_atomic_bit_test_and): Also handle
6251 if (_5 < 0) and if (_5 >= 0).
6252
6253 2022-11-07 Richard Purdie <richard.purdie@linuxfoundation.org>
6254
6255 * file-prefix-map.cc (remap_filename): Handle NULL filenames.
6256
6257 2022-11-07 Alexander Monakov <amonakov@ispras.ru>
6258
6259 PR tree-optimization/107505
6260 * tree-ssa-sink.cc (statement_sink_location): Additionally
6261 reject ECF_RETURNS_TWICE calls.
6262
6263 2022-11-07 Aldy Hernandez <aldyh@redhat.com>
6264
6265 PR tree-optimization/107541
6266 * range-op.cc (operator_div::fold_range): Restrict power of 2
6267 optimization to positive numbers.
6268
6269 2022-11-07 Richard Biener <rguenther@suse.de>
6270
6271 * tree-ssa-loop-unswitch.cc (unswitch_predicate::count): New.
6272 (unswitch_predicate::unswitch_predicate): Initialize count.
6273 (init_loop_unswitch_info): First collect candidates and
6274 determine the outermost loop to unswitch.
6275 (tree_ssa_unswitch_loops): First perform all guard hoisting,
6276 then perform unswitching on innermost loop predicates.
6277 (find_unswitching_predicates_for_bb): Keep track of the
6278 most profitable predicate to unswitch on.
6279 (tree_unswitch_single_loop): Unswitch given predicate if
6280 not NULL.
6281
6282 2022-11-07 Martin Liska <mliska@suse.cz>
6283 Gerald Pfeifer <gerald@pfeifer.com>
6284
6285 * doc/invoke.texi: Improve wording.
6286
6287 2022-11-07 Martin Liska <mliska@suse.cz>
6288
6289 * range-op.cc: Add final override keywords.
6290
6291 2022-11-07 Kewen Lin <linkw@linux.ibm.com>
6292
6293 PR tree-optimization/107412
6294 * gimple-fold.cc (gimple_fold_mask_load_store_mem_ref): Rename to ...
6295 (gimple_fold_partial_load_store_mem_ref): ... this, add one parameter
6296 mask_p indicating it's for mask or length, and add some handlings for
6297 IFN LEN_{LOAD,STORE}.
6298 (gimple_fold_mask_load): Rename to ...
6299 (gimple_fold_partial_load): ... this, add one parameter mask_p.
6300 (gimple_fold_mask_store): Rename to ...
6301 (gimple_fold_partial_store): ... this, add one parameter mask_p.
6302 (gimple_fold_call): Add the handlings for IFN LEN_{LOAD,STORE},
6303 and adjust calls on gimple_fold_mask_load_store_mem_ref to
6304 gimple_fold_partial_load_store_mem_ref.
6305
6306 2022-11-07 Hu, Lin1 <lin1.hu@intel.com>
6307
6308 * common/config/i386/cpuinfo.h
6309 (get_intel_cpu): Handle Grand Ridge.
6310 * common/config/i386/i386-common.cc
6311 (processor_names): Add grandridge.
6312 (processor_alias_table): Ditto.
6313 * common/config/i386/i386-cpuinfo.h:
6314 (enum processor_types): Add INTEL_GRANDRIDGE.
6315 * config.gcc: Add -march=grandridge.
6316 * config/i386/driver-i386.cc (host_detect_local_cpu):
6317 Handle grandridge.
6318 * config/i386/i386-c.cc (ix86_target_macros_internal):
6319 Ditto.
6320 * config/i386/i386-options.cc (m_GRANDRIDGE): New define.
6321 (processor_cost_table): Add grandridge.
6322 * config/i386/i386.h (enum processor_type):
6323 Add PROCESSOR_GRANDRIDGE.
6324 (PTA_GRANDRIDGE): Ditto.
6325 * doc/extend.texi: Add grandridge.
6326 * doc/invoke.texi: Ditto.
6327
6328 2022-11-07 konglin1 <lingling.kong@intel.com>
6329
6330 * config/i386/i386.opt:Add -mprefer-remote-atomic.
6331 * config/i386/sync.md (atomic_<plus_logic><mode>):
6332 New define_expand.
6333 (atomic_add<mode>): Rename to below one.
6334 (atomic_add<mode>_1): To this.
6335 (atomic_<logic><mode>): Ditto.
6336 (atomic_<logic><mode>_1): Ditto.
6337 * doc/invoke.texi: Add -mprefer-remote-atomic.
6338
6339 2022-11-07 konglin1 <lingling.kong@intel.com>
6340
6341 * common/config/i386/cpuinfo.h (get_available_features):
6342 Detect raoint.
6343 * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_RAOINT_SET,
6344 OPTION_MASK_ISA2_RAOINT_UNSET): New.
6345 (ix86_handle_option): Handle -mraoint.
6346 * common/config/i386/i386-cpuinfo.h (enum processor_features):
6347 Add FEATURE_RAOINT.
6348 * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
6349 raoint.
6350 * config.gcc: Add raointintrin.h
6351 * config/i386/cpuid.h (bit_RAOINT): New.
6352 * config/i386/i386-builtin.def (BDESC): Add new builtins.
6353 * config/i386/i386-c.cc (ix86_target_macros_internal): Define
6354 __RAOINT__.
6355 * config/i386/i386-isa.def (RAOINT): Add DEF_PTA(RAOINT).
6356 * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p):
6357 Add -mraoint.
6358 * config/i386/sync.md (rao_a<raointop><mode>): New define insn.
6359 * config/i386/i386.opt: Add option -mraoint.
6360 * config/i386/x86gprintrin.h: Include raointintrin.h.
6361 * doc/extend.texi: Document raoint.
6362 * doc/invoke.texi: Document -mraoint.
6363 * doc/sourcebuild.texi: Document target raoint.
6364 * config/i386/raointintrin.h: New file.
6365
6366 2022-11-07 Haochen Jiang <haochen.jiang@intel.com>
6367
6368 * common/config/i386/cpuinfo.h
6369 (get_intel_cpu): Handle Granite Rapids.
6370 * common/config/i386/i386-common.cc:
6371 (processor_names): Add graniterapids.
6372 (processor_alias_table): Ditto.
6373 * common/config/i386/i386-cpuinfo.h
6374 (enum processor_subtypes): Add INTEL_GRANTIERAPIDS.
6375 * config.gcc: Add -march=graniterapids.
6376 * config/i386/driver-i386.cc (host_detect_local_cpu):
6377 Handle graniterapids.
6378 * config/i386/i386-c.cc (ix86_target_macros_internal):
6379 Ditto.
6380 * config/i386/i386-options.cc (m_GRANITERAPIDS): New.
6381 (processor_cost_table): Add graniterapids.
6382 * config/i386/i386.h (enum processor_type):
6383 Add PROCESSOR_GRANITERAPIDS.
6384 (PTA_GRANITERAPIDS): Ditto.
6385 * doc/extend.texi: Add graniterapids.
6386 * doc/invoke.texi: Ditto.
6387
6388 2022-11-07 Haochen Jiang <haochen.jiang@intel.com>
6389 Hongtao Liu <hongtao.liu@intel.com>
6390
6391 * common/config/i386/cpuinfo.h (get_available_features):
6392 Detect PREFETCHI.
6393 * common/config/i386/i386-common.cc
6394 (OPTION_MASK_ISA2_PREFETCHI_SET,
6395 OPTION_MASK_ISA2_PREFETCHI_UNSET): New.
6396 (ix86_handle_option): Handle -mprefetchi.
6397 * common/config/i386/i386-cpuinfo.h
6398 (enum processor_features): Add FEATURE_PREFETCHI.
6399 * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY
6400 for prefetchi.
6401 * config.gcc: Add prfchiintrin.h.
6402 * config/i386/cpuid.h (bit_PREFETCHI): New.
6403 * config/i386/i386-builtin-types.def:
6404 Add DEF_FUNCTION_TYPE (VOID, PCVOID, INT)
6405 and DEF_FUNCTION_TYPE (VOID, PCVOID, INT, INT, INT).
6406 * config/i386/i386-builtin.def (BDESC): Add new builtins.
6407 * config/i386/i386-c.cc (ix86_target_macros_internal):
6408 Define __PREFETCHI__.
6409 * config/i386/i386-expand.cc: Handle new builtins.
6410 * config/i386/i386-isa.def (PREFETCHI):
6411 Add DEF_PTA(PREFETCHI).
6412 * config/i386/i386-options.cc
6413 (ix86_valid_target_attribute_inner_p): Handle prefetchi.
6414 * config/i386/i386.md (prefetchi): New define_insn.
6415 * config/i386/i386.opt: Add option -mprefetchi.
6416 * config/i386/predicates.md (local_func_symbolic_operand):
6417 New predicates.
6418 * config/i386/x86gprintrin.h: Include prfchiintrin.h.
6419 * config/i386/xmmintrin.h (enum _mm_hint): New enum for
6420 prefetchi.
6421 (_mm_prefetch): Handle the highest bit of enum.
6422 * doc/extend.texi: Document prefetchi.
6423 * doc/invoke.texi: Document -mprefetchi.
6424 * doc/sourcebuild.texi: Document target prefetchi.
6425 * config/i386/prfchiintrin.h: New file.
6426
6427 2022-11-06 Uroš Bizjak <ubizjak@gmail.com>
6428
6429 * optabs.cc (can_vec_set_var_idx_p): Use operand[2]
6430 mode when checking vec_set_optab.
6431
6432 2022-11-06 Xi Ruoyao <xry111@xry111.site>
6433
6434 * config/loongarch/loongarch.md (UNSPEC_FCOPYSIGN): New unspec.
6435 (type): Add fcopysign.
6436 (copysign<mode>3): New instruction template.
6437
6438 2022-11-06 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
6439
6440 * multiple_target.cc (expand_target_clones): Free memory.
6441
6442 2022-11-06 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
6443
6444 * cgraph.cc (cgraph_node::make_local): Remove redundant set_section.
6445 * multiple_target.cc (create_dispatcher_calls): Likewise.
6446
6447 2022-11-05 Jonathan Wakely <jwakely@redhat.com>
6448
6449 PR c/41041
6450 * doc/cppopts.texi: Document -fwide-exec-charset defaults
6451 correctly.
6452
6453 2022-11-05 Alexandre Oliva <oliva@adacore.com>
6454
6455 * common.opt (fmultiflags): New.
6456 * doc/invoke.texi: Document it.
6457 * gcc.cc (driver_self_specs): Discard it.
6458 * opts.cc (common_handle_option): Ignore it in the driver.
6459
6460 2022-11-04 Jeff Chapman II <jchapman@lock3software.com>
6461 Jason Merrill <jason@redhat.com>
6462
6463 * input.cc (get_source_text_between): New fn.
6464 * input.h (get_source_text_between): Declare.
6465
6466 2022-11-04 Aldy Hernandez <aldyh@redhat.com>
6467
6468 PR tree-optimization/107342
6469 * range-op.cc (operator_mult::fold_range): New.
6470 (operator_div::fold_range): New.
6471
6472 2022-11-04 Eric Botcazou <ebotcazou@adacore.com>
6473
6474 * fold-const.cc (operand_compare::operand_equal_p) <COMPONENT_REF>:
6475 Do not take into account operand 2.
6476 (operand_compare::hash_operand) <COMPONENT_REF>: Likewise.
6477
6478 2022-11-04 Eric Botcazou <ebotcazou@adacore.com>
6479
6480 * expr.cc (emit_group_store): Do not use subword paradoxical subregs
6481
6482 2022-11-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6483
6484 * config/aarch64/aarch64-sve2.md: Fix typo in Cryptographic
6485 extensions comment.
6486
6487 2022-11-04 Thomas Schwinge <thomas@codesourcery.com>
6488
6489 * config.gcc [target *-intelmic-* | *-intelmicemul-*]: Remove.
6490 * config/i386/i386-options.cc (ix86_omp_device_kind_arch_isa)
6491 [ACCEL_COMPILER]: Remove.
6492 * config/i386/intelmic-mkoffload.cc: Remove.
6493 * config/i386/intelmic-offload.h: Likewise.
6494 * config/i386/t-intelmic: Likewise.
6495 * config/i386/t-omp-device: Likewise.
6496 * configure.ac [target *-intelmic-* | *-intelmicemul-*]: Remove.
6497 * configure: Regenerate.
6498 * doc/install.texi (--enable-offload-targets=[...]): Update.
6499 * doc/sourcebuild.texi: Remove 'liboffloadmic' documentation.
6500
6501 2022-11-04 Thomas Schwinge <thomas@codesourcery.com>
6502
6503 * Makefile.in (OBJS): Remove 'dbxout.o'.
6504 * config/nvptx/nvptx.cc: Don't '#include "dbxout.h"'.
6505 * dbxout.cc: Remove.
6506 * dbxout.h: Likewise.
6507 * target-def.h (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR):
6508 Default to 'default_asm_out_constructor',
6509 'default_asm_out_destructor'.
6510 * targhooks.cc (default_asm_out_constructor)
6511 (default_asm_out_destructor): New.
6512 * targhooks.h (default_asm_out_constructor)
6513 (default_asm_out_destructor): Declare.
6514
6515 2022-11-04 Thomas Schwinge <thomas@codesourcery.com>
6516
6517 * Makefile.in (OBJS): Add 'dbxout.o'.
6518 * config/nvptx/nvptx.cc: '#include "dbxout.h"'.
6519 * dbxout.cc: New.
6520 * dbxout.h: Likewise.
6521 * target-def.h (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR):
6522 Default to 'default_stabs_asm_out_constructor',
6523 'default_stabs_asm_out_destructor'.
6524
6525 2022-11-04 Hongyu Wang <hongyu.wang@intel.com>
6526 Haochen Jiang <haochen.jiang@intel.com>
6527
6528 * common/config/i386/cpuinfo.h (get_available_features): Detect
6529 amx-fp16.
6530 * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_AMX_FP16_SET,
6531 OPTION_MASK_ISA2_AMX_FP16_UNSET): New macros.
6532 (ix86_handle_option): Handle -mamx-fp16.
6533 * common/config/i386/i386-cpuinfo.h (enum processor_features):
6534 Add FEATURE_AMX_FP16.
6535 * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
6536 amx-fp16.
6537 * config.gcc: Add amxfp16intrin.h.
6538 * config/i386/cpuid.h (bit_AMX_FP16): New.
6539 * config/i386/i386-c.cc (ix86_target_macros_internal): Define
6540 __AMX_FP16__.
6541 * config/i386/i386-isa.def: Add DEF_PTA for AMX_FP16.
6542 * config/i386/i386-options.cc (isa2_opts): Add -mamx-fp16.
6543 (ix86_valid_target_attribute_inner_p): Add new ATTR.
6544 (ix86_option_override_internal): Handle AMX-FP16.
6545 * config/i386/i386.opt: Add -mamx-fp16.
6546 * config/i386/immintrin.h: Include amxfp16intrin.h.
6547 * doc/extend.texi: Document -mamx-fp16.
6548 * doc/invoke.texi: Document amx-fp16.
6549 * doc/sourcebuild.texi: Document amx_fp16.
6550 * config/i386/amxfp16intrin.h: New file.
6551
6552 2022-11-04 Haochen Jiang <haochen.jiang@intel.com>
6553
6554 * common/config/i386/cpuinfo.h (get_intel_cpu):
6555 Add Sierra Forest.
6556 * common/config/i386/i386-common.cc
6557 (processor_names): Add Sierra Forest.
6558 (processor_alias_table): Ditto.
6559 * common/config/i386/i386-cpuinfo.h
6560 (enum processor_types): Add INTEL_SIERRAFOREST.
6561 * config.gcc: Add -march=sierraforest.
6562 * config/i386/driver-i386.cc (host_detect_local_cpu):
6563 Handle Sierra Forest.
6564 * config/i386/i386-c.cc (ix86_target_macros_internal):
6565 Ditto.
6566 * config/i386/i386-options.cc (m_SIERRAFOREST): New define.
6567 (processor_cost_table): Add sierra forest.
6568 * config/i386/i386.h (enum processor_type):
6569 Add PROCESSOR_SIERRA_FOREST.
6570 (PTA_SIERRAFOREST): Ditto.
6571 * doc/extend.texi: Add sierra forest.
6572 * doc/invoke.texi: Ditto.
6573
6574 2022-11-04 Haochen Jiang <haochen.jiang@intel.com>
6575
6576 * common/config/i386/cpuinfo.h (get_available_features):
6577 Detect cmpccxadd.
6578 * common/config/i386/i386-common.cc
6579 (OPTION_MASK_ISA2_CMPCCXADD_SET,
6580 OPTION_MASK_ISA2_CMPCCXADD_UNSET): New.
6581 (ix86_handle_option): Handle -mcmpccxadd.
6582 * common/config/i386/i386-cpuinfo.h (enum processor_features):
6583 Add FEATURE_CMPCCXADD.
6584 * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
6585 cmpccxadd.
6586 * config.gcc: Add cmpccxaddintrin.h.
6587 * config/i386/cpuid.h (bit_CMPCCXADD): New.
6588 * config/i386/i386-builtin-types.def:
6589 Add DEF_FUNCTION_TYPE(INT, PINT, INT, INT, INT)
6590 and DEF_FUNCTION_TYPE(LONGLONG, PLONGLONG, LONGLONG, LONGLONG, INT).
6591 * config/i386/i386-builtin.def (BDESC): Add new builtins.
6592 * config/i386/i386-c.cc (ix86_target_macros_internal): Define
6593 __CMPCCXADD__.
6594 * config/i386/i386-expand.cc (ix86_expand_special_args_builtin):
6595 Add new parameter to indicate constant position.
6596 Handle INT_FTYPE_PINT_INT_INT_INT
6597 and LONGLONG_FTYPE_PLONGLONG_LONGLONG_LONGLONG_INT.
6598 * config/i386/i386-isa.def (CMPCCXADD): Add DEF_PTA(CMPCCXADD).
6599 * config/i386/i386-options.cc (isa2_opts): Add -mcmpccxadd.
6600 (ix86_valid_target_attribute_inner_p): Handle cmpccxadd.
6601 * config/i386/i386.opt: Add option -mcmpccxadd.
6602 * config/i386/sync.md (cmpccxadd_<mode>): New define insn.
6603 * config/i386/x86gprintrin.h: Include cmpccxaddintrin.h.
6604 * doc/extend.texi: Document cmpccxadd.
6605 * doc/invoke.texi: Document -mcmpccxadd.
6606 * doc/sourcebuild.texi: Document target cmpccxadd.
6607 * config/i386/cmpccxaddintrin.h: New file.
6608
6609 2022-11-03 Jason Merrill <jason@redhat.com>
6610
6611 * doc/invoke.texi: -fconcepts no longer implies
6612 -fconcepts-ts before C++20.
6613
6614 2022-11-03 Kwok Cheung Yeung <kcy@codesourcery.com>
6615
6616 * config/gcn/gcn-valu.md (math_unop_insn): New attribute.
6617 (<math_unop><mode>2, <math_unop><mode>2<exec>, <math_unop><mode>2,
6618 <math_unop><mode>2<exec>, *<math_unop><mode>2_insn,
6619 *<math_unop><mode>2<exec>_insn): Use math_unop_insn to generate
6620 assembler output.
6621
6622 2022-11-03 Andrew MacLeod <amacleod@redhat.com>
6623
6624 * gimple-range.cc (gimple_ranger::update_stmt): New.
6625 * gimple-range.h (gimple_ranger::update_stmt): New prototype.
6626 * tree-ssa-operands.cc (update_stmt_operands): Notify range
6627 query that stmt has changed.
6628 * value-query.h (range_query::update_stmt): New.
6629
6630 2022-11-03 David Malcolm <dmalcolm@redhat.com>
6631
6632 * make-unique.h: New file.
6633
6634 2022-11-03 Uroš Bizjak <ubizjak@gmail.com>
6635
6636 PR target/107404
6637 * config/i386/i386.md (eliminate reg-reg move by inverting the
6638 condition of a cmove #2 peephole2): Check if eliminated move
6639 initialized a register, used in the moved instruction.
6640
6641 2022-11-03 Andrew Stubbs <ams@codesourcery.com>
6642
6643 PR target/107510
6644 * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Remove duplicate
6645 UNSPEC_SMIN_DPP_SHR conditionals.
6646
6647 2022-11-02 Christoph Müllner <christoph.muellner@vrull.eu>
6648
6649 * common/config/riscv/riscv-common.cc: Add zawrs extension.
6650 * config/riscv/riscv-opts.h (MASK_ZAWRS): New.
6651 (TARGET_ZAWRS): New.
6652 * config/riscv/riscv.opt: New.
6653
6654 2022-11-02 Rasmus Villemoes <rv@rasmusvillemoes.dk>
6655
6656 PR driver/93371
6657 * gcc.cc (ASM_MAP): Honour -ffile-prefix-map.
6658
6659 2022-11-02 Aldy Hernandez <aldyh@redhat.com>
6660
6661 * value-range.cc (frange::contains_p): Fix signed zero handling.
6662 (range_tests_signed_zeros): New test.
6663
6664 2022-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6665
6666 * builtins.cc (mathfn_built_in_2): #undef HUGE_VAL, NAN.
6667
6668 2022-11-02 Xionghu Luo <xionghuluo@tencent.com>
6669
6670 PR target/100866
6671 * config/rs6000/altivec.md: (*altivec_vrl<VI_char>): Named to...
6672 (altivec_vrl<VI_char>): ...this.
6673 * config/rs6000/vsx.md (revb_<mode>): Call vspltish and vrlh when
6674 target is Power8 and mode is V8HI.
6675
6676 2022-11-01 David Seifert <soap@gentoo.org>
6677
6678 * configure.ac: Add AC_CACHE_CHECK(..., gcc_cv_sys_sdt_h).
6679 * configure: Regenerate.
6680
6681 2022-11-01 Richard Purdie <richard.purdie@linuxfoundation.org>
6682
6683 * file-prefix-map.cc (remap_filename): Allow remapping of relative paths.
6684
6685 2022-11-01 Aldy Hernandez <aldyh@redhat.com>
6686
6687 PR tree-optimization/107490
6688 * range-op-float.cc (foperator_unordered_lt::op1_range): Handle
6689 NANs.
6690 (foperator_unordered_lt::op2_range): Same.
6691 (foperator_unordered_le::op1_range): Same.
6692 (foperator_unordered_le::op2_range): Same.
6693 (foperator_unordered_gt::op1_range): Same.
6694 (foperator_unordered_gt::op2_range): Same.
6695 (foperator_unordered_ge::op1_range): Same.
6696 (foperator_unordered_ge::op2_range): Same.
6697
6698 2022-11-01 Andrew MacLeod <amacleod@redhat.com>
6699
6700 PR tree-optimization/107497
6701 * tree-vrp.cc (remove_unreachable::remove_and_update_globals):
6702 Check that ssa-name still exists before accessing it.
6703
6704 2022-11-01 Andrew MacLeod <amacleod@redhat.com>
6705
6706 * params.opt (param_vrp1_mode): Make ranger default.
6707
6708 2022-11-01 Andrew MacLeod <amacleod@redhat.com>
6709
6710 * tree-vrp.cc (class remove_unreachable): New.
6711 (remove_unreachable::maybe_register_block): New.
6712 (remove_unreachable::remove_and_update_globals): New.
6713 (rvrp_folder::rvrp_folder): Initialize m_unreachable.
6714 (rvrp_folder::post_fold_bb): Maybe register unreachable block.
6715 (rvrp_folder::m_unreachable): New member.
6716 (execute_ranger_vrp): Add final_pass flag, remove unreachables.
6717
6718 2022-11-01 Andrew MacLeod <amacleod@redhat.com>
6719
6720 * gimple-range-cache.cc (ranger_cache::fill_block_cache): Allow
6721 exit block to be specified.
6722 (ranger_cache::range_from_dom): If exit block is specified, use
6723 the immediate predecessor instead of the dominator to start.
6724 * gimple-range.cc (gimple_ranger::range_on_exit): Allow query
6725 for exit block.
6726
6727 2022-11-01 Andrew MacLeod <amacleod@redhat.com>
6728
6729 * value-range.cc (irange::intersect_nonzero_bits): If new
6730 non-zero mask is the same as original, flag no change.
6731
6732 2022-11-01 Alexander Monakov <amonakov@ispras.ru>
6733
6734 PR target/87832
6735 * config/i386/znver.md (znver1_idiv): New automaton.
6736 (znver1-idiv): New unit.
6737 (znver1_idiv_DI): Correct unit and cycles in the reservation.
6738 (znver1_idiv_SI): Ditto.
6739 (znver1_idiv_HI): Ditto.
6740 (znver1_idiv_QI): Ditto.
6741 (znver1_idiv_mem_DI): Ditto.
6742 (znver1_idiv_mem_SI): Ditto.
6743 (znver1_idiv_mem_HI): Ditto.
6744 (znver1_idiv_mem_QI): Ditto.
6745 (znver3_idiv_DI): Ditto.
6746 (znver3_idiv_SI): Ditto.
6747 (znver3_idiv_HI): Ditto.
6748 (znver3_idiv_QI): Ditto.
6749 (znver3_idiv_mem_DI): Ditto.
6750 (znver3_idiv_mem_SI): Ditto.
6751 (znver3_idiv_mem_HI): Ditto.
6752 (znver3_idiv_mem_QI): Ditto.
6753
6754 2022-11-01 liuhongt <hongtao.liu@intel.com>
6755
6756 PR target/107057
6757 * config/i386/sse.md (*vec_interleave_highv2df): Remove
6758 constraint 1.
6759 (*vec_interleave_lowv2df): Ditto.
6760 (vec_concatv2df): Ditto.
6761 (*avx512f_unpcklpd512<mask_name>): Ditto and renamed to ..
6762 (avx512f_unpcklpd512<mask_name>): .. this.
6763 (avx512f_movddup512<mask_name>): Change to define_insn.
6764 (avx_movddup256<mask_name>): Ditto.
6765 (*avx_unpcklpd256<mask_name>): Remove constraint 1 and renamed
6766 to ..
6767 (avx_unpcklpd256<mask_name>): .. this.
6768 * config/i386/i386.cc (ix86_vec_interleave_v2df_operator_ok):
6769 Disallow MEM_P (op1) && MEM_P (op2).
6770
6771 2022-11-01 liuhongt <hongtao.liu@intel.com>
6772
6773 PR target/55583
6774 * config/i386/i386.md (*x86_64_shld_1): Rename to ..
6775 (x86_64_shld_1): .. this.
6776 (*x86_shld_1): Rename to ..
6777 (x86_shld_1): .. this.
6778 (*x86_64_shrd_1): Rename to ..
6779 (x86_64_shrd_1): .. this.
6780 (*x86_shrd_1): Rename to ..
6781 (x86_shrd_1): .. this.
6782 (*x86_64_shld_shrd_1_nozext): New pre_reload splitter.
6783 (*x86_shld_shrd_1_nozext): Ditto.
6784 (*x86_64_shrd_shld_1_nozext): Ditto.
6785 (*x86_shrd_shld_1_nozext): Ditto.
6786
6787 2022-11-01 Cui,Lili <lili.cui@intel.com>
6788
6789 * ipa-inline-analysis.cc (do_estimate_edge_time): Add function attribute
6790 judgement for INLINE_HINT_known_hot hint.
6791
6792 2022-10-31 Guillermo E. Martinez <guillermo.e.martinez@oracle.com>
6793
6794 * btfout.cc (btf_calc_num_vbytes): Compute enumeration size depending of
6795 enumerator type btf_enum{,64}.
6796 (btf_asm_type): Update btf_kflag according to enumeration type sign
6797 using dtd_enum_unsigned field for both: BTF_KIND_ENUM{,64}.
6798 (btf_asm_enum_const): New argument to represent the size of
6799 the BTF enum type, writing the enumerator constant value for
6800 32 bits, if it's 64 bits then explicitly writes lower 32-bits
6801 value and higher 32-bits value.
6802 (output_asm_btf_enum_list): Add enumeration size argument.
6803 * ctfc.cc (ctf_add_enum): New argument to represent CTF enum
6804 basic information.
6805 (ctf_add_generic): Use of ei_{name. size, unsigned} to build the
6806 dtd structure containing enumeration information.
6807 (ctf_add_enumerator): Update comment mention support for BTF
6808 enumeration in 64-bits.
6809 * dwarf2ctf.cc (gen_ctf_enumeration_type): Extract signedness
6810 for enumeration type and use it in ctf_add_enum.
6811 * ctfc.h (ctf_dmdef): Update dmd_value to HOST_WIDE_INT to allow
6812 use 32/64 bits enumerators.
6813 information.
6814 (ctf_dtdef): New field to describe enum signedness.
6815
6816 2022-10-31 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
6817
6818 * config/riscv/riscv-vector-builtins-bases.cc: Change constexpr back to CONSTEXPR.
6819 * config/riscv/riscv-vector-builtins-shapes.cc (SHAPE): Ditto.
6820 * config/riscv/riscv-vector-builtins.cc (struct registered_function_hasher): Ditto.
6821 * config/riscv/riscv-vector-builtins.h (struct rvv_arg_type_info): Ditto.
6822
6823 2022-10-31 Andrew Stubbs <ams@codesourcery.com>
6824
6825 * config/gcn/gcn-valu.md (fminmaxop): New iterator.
6826 (<fexpander><mode>3): New define_expand.
6827 (<fexpander><mode>3<exec>): Likewise.
6828 (reduc_<fexpander>_scal_<mode>): Likewise.
6829 * config/gcn/gcn.md (fexpander): New attribute.
6830
6831 2022-10-31 Andrew Stubbs <ams@codesourcery.com>
6832
6833 * config/gcn/gcn-valu.md (V64_SI): Delete iterator.
6834 (V64_DI): Likewise.
6835 (V64_1REG): Likewise.
6836 (V64_INT_1REG): Likewise.
6837 (V64_2REG): Likewise.
6838 (V64_ALL): Likewise.
6839 (V64_FP): Likewise.
6840 (reduc_<reduc_op>_scal_<mode>): Use V_ALL. Use gen_vec_extract.
6841 (fold_left_plus_<mode>): Use V_FP.
6842 (*<reduc_op>_dpp_shr_<mode>): Use V_1REG.
6843 (*<reduc_op>_dpp_shr_<mode>): Use V_DI.
6844 (*plus_carry_dpp_shr_<mode>): Use V_INT_1REG.
6845 (*plus_carry_in_dpp_shr_<mode>): Use V_SI.
6846 (*plus_carry_dpp_shr_<mode>): Use V_DI.
6847 (mov_from_lane63_<mode>): Delete.
6848 (mov_from_lane63_<mode>): Delete.
6849 * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Support partial vectors.
6850 * config/gcn/gcn.md (unspec): Remove UNSPEC_MOV_FROM_LANE63.
6851
6852 2022-10-31 Andrew Stubbs <ams@codesourcery.com>
6853
6854 * config/gcn/gcn.cc (gcn_simd_clone_compute_vecsize_and_simdlen):
6855 Set base_type as ARG_UNUSED.
6856
6857 2022-10-31 Jakub Jelinek <jakub@redhat.com>
6858
6859 * builtin-types.def (BT_COMPLEX_FLOAT16, BT_COMPLEX_FLOAT32,
6860 BT_COMPLEX_FLOAT64, BT_COMPLEX_FLOAT128, BT_COMPLEX_FLOAT32X,
6861 BT_COMPLEX_FLOAT64X, BT_COMPLEX_FLOAT128X,
6862 BT_FN_COMPLEX_FLOAT16_COMPLEX_FLOAT16,
6863 BT_FN_COMPLEX_FLOAT32_COMPLEX_FLOAT32,
6864 BT_FN_COMPLEX_FLOAT64_COMPLEX_FLOAT64,
6865 BT_FN_COMPLEX_FLOAT128_COMPLEX_FLOAT128,
6866 BT_FN_COMPLEX_FLOAT32X_COMPLEX_FLOAT32X,
6867 BT_FN_COMPLEX_FLOAT64X_COMPLEX_FLOAT64X,
6868 BT_FN_COMPLEX_FLOAT128X_COMPLEX_FLOAT128X,
6869 BT_FN_FLOAT16_COMPLEX_FLOAT16, BT_FN_FLOAT32_COMPLEX_FLOAT32,
6870 BT_FN_FLOAT64_COMPLEX_FLOAT64, BT_FN_FLOAT128_COMPLEX_FLOAT128,
6871 BT_FN_FLOAT32X_COMPLEX_FLOAT32X, BT_FN_FLOAT64X_COMPLEX_FLOAT64X,
6872 BT_FN_FLOAT128X_COMPLEX_FLOAT128X,
6873 BT_FN_COMPLEX_FLOAT16_COMPLEX_FLOAT16_COMPLEX_FLOAT16,
6874 BT_FN_COMPLEX_FLOAT32_COMPLEX_FLOAT32_COMPLEX_FLOAT32,
6875 BT_FN_COMPLEX_FLOAT64_COMPLEX_FLOAT64_COMPLEX_FLOAT64,
6876 BT_FN_COMPLEX_FLOAT128_COMPLEX_FLOAT128_COMPLEX_FLOAT128,
6877 BT_FN_COMPLEX_FLOAT32X_COMPLEX_FLOAT32X_COMPLEX_FLOAT32X,
6878 BT_FN_COMPLEX_FLOAT64X_COMPLEX_FLOAT64X_COMPLEX_FLOAT64X,
6879 BT_FN_COMPLEX_FLOAT128X_COMPLEX_FLOAT128X_COMPLEX_FLOAT128X): New.
6880 * builtins.def (CABS_TYPE, CACOSH_TYPE, CARG_TYPE, CASINH_TYPE,
6881 CPOW_TYPE, CPROJ_TYPE): Define and undefine later.
6882 (BUILT_IN_CABS, BUILT_IN_CACOSH, BUILT_IN_CACOS, BUILT_IN_CARG,
6883 BUILT_IN_CASINH, BUILT_IN_CASIN, BUILT_IN_CATANH, BUILT_IN_CATAN,
6884 BUILT_IN_CCOSH, BUILT_IN_CCOS, BUILT_IN_CEXP, BUILT_IN_CLOG,
6885 BUILT_IN_CPOW, BUILT_IN_CPROJ, BUILT_IN_CSINH, BUILT_IN_CSIN,
6886 BUILT_IN_CSQRT, BUILT_IN_CTANH, BUILT_IN_CTAN): Add
6887 DEF_EXT_LIB_FLOATN_NX_BUILTINS.
6888 * fold-const-call.cc (fold_const_call_sc, fold_const_call_cc,
6889 fold_const_call_ccc): Add various CASE_CFN_*_FN: cases when
6890 CASE_CFN_* is present.
6891 * gimple-ssa-backprop.cc (backprop::process_builtin_call_use):
6892 Likewise.
6893 * builtins.cc (expand_builtin, fold_builtin_1): Likewise.
6894 * fold-const.cc (negate_mathfn_p, tree_expr_finite_p,
6895 tree_expr_maybe_signaling_nan_p, tree_expr_maybe_nan_p,
6896 tree_expr_maybe_real_minus_zero_p, tree_call_nonnegative_warnv_p):
6897 Likewise.
6898
6899 2022-10-31 Jakub Jelinek <jakub@redhat.com>
6900
6901 * builtin-types.def (BT_FN_BFLOAT16_BFLOAT16_BFLOAT16): New.
6902 * builtins.def (BUILT_IN_NEXTAFTERF16B): New builtin.
6903 * fold-const-call.cc (fold_const_call_sss): Handle
6904 CFN_BUILT_IN_NEXTAFTERF16B.
6905
6906 2022-10-31 Jakub Jelinek <jakub@redhat.com>
6907
6908 * builtin-types.def (BT_FLOAT16_PTR, BT_FLOAT32_PTR, BT_FLOAT64_PTR,
6909 BT_FLOAT128_PTR, BT_FLOAT32X_PTR, BT_FLOAT64X_PTR, BT_FLOAT128X_PTR):
6910 New DEF_PRIMITIVE_TYPE.
6911 (BT_FN_INT_FLOAT16, BT_FN_INT_FLOAT32, BT_FN_INT_FLOAT64,
6912 BT_FN_INT_FLOAT128, BT_FN_INT_FLOAT32X, BT_FN_INT_FLOAT64X,
6913 BT_FN_INT_FLOAT128X, BT_FN_LONG_FLOAT16, BT_FN_LONG_FLOAT32,
6914 BT_FN_LONG_FLOAT64, BT_FN_LONG_FLOAT128, BT_FN_LONG_FLOAT32X,
6915 BT_FN_LONG_FLOAT64X, BT_FN_LONG_FLOAT128X, BT_FN_LONGLONG_FLOAT16,
6916 BT_FN_LONGLONG_FLOAT32, BT_FN_LONGLONG_FLOAT64,
6917 BT_FN_LONGLONG_FLOAT128, BT_FN_LONGLONG_FLOAT32X,
6918 BT_FN_LONGLONG_FLOAT64X, BT_FN_LONGLONG_FLOAT128X): New
6919 DEF_FUNCTION_TYPE_1.
6920 (BT_FN_FLOAT16_FLOAT16_FLOAT16PTR, BT_FN_FLOAT32_FLOAT32_FLOAT32PTR,
6921 BT_FN_FLOAT64_FLOAT64_FLOAT64PTR, BT_FN_FLOAT128_FLOAT128_FLOAT128PTR,
6922 BT_FN_FLOAT32X_FLOAT32X_FLOAT32XPTR,
6923 BT_FN_FLOAT64X_FLOAT64X_FLOAT64XPTR,
6924 BT_FN_FLOAT128X_FLOAT128X_FLOAT128XPTR, BT_FN_FLOAT16_FLOAT16_INT,
6925 BT_FN_FLOAT32_FLOAT32_INT, BT_FN_FLOAT64_FLOAT64_INT,
6926 BT_FN_FLOAT128_FLOAT128_INT, BT_FN_FLOAT32X_FLOAT32X_INT,
6927 BT_FN_FLOAT64X_FLOAT64X_INT, BT_FN_FLOAT128X_FLOAT128X_INT,
6928 BT_FN_FLOAT16_FLOAT16_INTPTR, BT_FN_FLOAT32_FLOAT32_INTPTR,
6929 BT_FN_FLOAT64_FLOAT64_INTPTR, BT_FN_FLOAT128_FLOAT128_INTPTR,
6930 BT_FN_FLOAT32X_FLOAT32X_INTPTR, BT_FN_FLOAT64X_FLOAT64X_INTPTR,
6931 BT_FN_FLOAT128X_FLOAT128X_INTPTR, BT_FN_FLOAT16_FLOAT16_LONG,
6932 BT_FN_FLOAT32_FLOAT32_LONG, BT_FN_FLOAT64_FLOAT64_LONG,
6933 BT_FN_FLOAT128_FLOAT128_LONG, BT_FN_FLOAT32X_FLOAT32X_LONG,
6934 BT_FN_FLOAT64X_FLOAT64X_LONG, BT_FN_FLOAT128X_FLOAT128X_LONG): New
6935 DEF_FUNCTION_TYPE_2.
6936 (BT_FN_FLOAT16_FLOAT16_FLOAT16_INTPTR,
6937 BT_FN_FLOAT32_FLOAT32_FLOAT32_INTPTR,
6938 BT_FN_FLOAT64_FLOAT64_FLOAT64_INTPTR,
6939 BT_FN_FLOAT128_FLOAT128_FLOAT128_INTPTR,
6940 BT_FN_FLOAT32X_FLOAT32X_FLOAT32X_INTPTR,
6941 BT_FN_FLOAT64X_FLOAT64X_FLOAT64X_INTPTR,
6942 BT_FN_FLOAT128X_FLOAT128X_FLOAT128X_INTPTR): New DEF_FUNCTION_TYPE_3.
6943 * builtins.def (ACOSH_TYPE, ATAN2_TYPE, ATANH_TYPE, COSH_TYPE,
6944 FDIM_TYPE, HUGE_VAL_TYPE, HYPOT_TYPE, ILOGB_TYPE, LDEXP_TYPE,
6945 LGAMMA_TYPE, LLRINT_TYPE, LOG10_TYPE, LRINT_TYPE, MODF_TYPE,
6946 NEXTAFTER_TYPE, REMQUO_TYPE, SCALBLN_TYPE, SCALBN_TYPE, SINH_TYPE):
6947 Define and undefine later.
6948 (FMIN_TYPE, SQRT_TYPE): Undefine at a later line.
6949 (INF_TYPE): Define at a later line.
6950 (BUILT_IN_ACOSH, BUILT_IN_ACOS, BUILT_IN_ASINH, BUILT_IN_ASIN,
6951 BUILT_IN_ATAN2, BUILT_IN_ATANH, BUILT_IN_ATAN, BUILT_IN_CBRT,
6952 BUILT_IN_COSH, BUILT_IN_COS, BUILT_IN_ERFC, BUILT_IN_ERF,
6953 BUILT_IN_EXP2, BUILT_IN_EXP, BUILT_IN_EXPM1, BUILT_IN_FDIM,
6954 BUILT_IN_FMOD, BUILT_IN_FREXP, BUILT_IN_HYPOT, BUILT_IN_ILOGB,
6955 BUILT_IN_LDEXP, BUILT_IN_LGAMMA, BUILT_IN_LLRINT, BUILT_IN_LLROUND,
6956 BUILT_IN_LOG10, BUILT_IN_LOG1P, BUILT_IN_LOG2, BUILT_IN_LOGB,
6957 BUILT_IN_LOG, BUILT_IN_LRINT, BUILT_IN_LROUND, BUILT_IN_MODF,
6958 BUILT_IN_NEXTAFTER, BUILT_IN_POW, BUILT_IN_REMAINDER, BUILT_IN_REMQUO,
6959 BUILT_IN_SCALBLN, BUILT_IN_SCALBN, BUILT_IN_SINH, BUILT_IN_SIN,
6960 BUILT_IN_TANH, BUILT_IN_TAN, BUILT_IN_TGAMMA): Add
6961 DEF_EXT_LIB_FLOATN_NX_BUILTINS.
6962 (BUILT_IN_HUGE_VAL): Use HUGE_VAL_TYPE instead of INF_TYPE in
6963 DEF_GCC_FLOATN_NX_BUILTINS.
6964 * fold-const-call.cc (fold_const_call_ss): Add various CASE_CFN_*_FN:
6965 cases when CASE_CFN_* is present.
6966 (fold_const_call_sss): Likewise.
6967 * builtins.cc (mathfn_built_in_2): Use CASE_MATHFN_FLOATN instead of
6968 CASE_MATHFN for various builtins in SEQ_OF_CASE_MATHFN macro.
6969 (builtin_with_linkage_p): Add CASE_FLT_FN_FLOATN_NX for various
6970 builtins next to CASE_FLT_FN.
6971 * fold-const.cc (tree_call_nonnegative_warnv_p): Add CASE_CFN_*_FN:
6972 next to CASE_CFN_*: for various builtins.
6973 * tree-call-cdce.cc (can_test_argument_range): Add
6974 CASE_FLT_FN_FLOATN_NX next to CASE_FLT_FN for various builtins.
6975 (edom_only_function): Likewise.
6976
6977 2022-10-31 konglin1 <lingling.kong@intel.com>
6978
6979 * common/config/i386/i386-common.cc
6980 (OPTION_MASK_ISA2_AVXNECONVERT_SET,
6981 OPTION_MASK_ISA2_AVXNECONVERT_UNSET): New.
6982 (ix86_handle_option): Handle -mavxneconvert, unset
6983 avxneconvert when avx2 is disabled.
6984 * common/config/i386/i386-cpuinfo.h (processor_types): Add
6985 FEATURE_AVXNECONVERT.
6986 * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
6987 avxneconvert.
6988 * common/config/i386/cpuinfo.h (get_available_features):
6989 Detect avxneconvert.
6990 * config.gcc: Add avxneconvertintrin.h
6991 * config/i386/avxneconvertintrin.h: New.
6992 * config/i386/avx512bf16vlintrin.h (_mm256_cvtneps_pbh):
6993 Unified builtin with avxneconvert.
6994 (_mm_cvtneps_pbh): Ditto.
6995 * config/i386/cpuid.h (bit_AVXNECONVERT): New.
6996 * config/i386/i386-builtin-types.def: Add
6997 DEF_POINTER_TYPE (PCV8HF, V8HF, CONST),
6998 DEF_POINTER_TYPE (PCV8BF, V8BF, CONST),
6999 DEF_POINTER_TYPE (PCV16HF, V16HF, CONST),
7000 DEF_POINTER_TYPE (PCV16BF, V16BF, CONST),
7001 DEF_FUNCTION_TYPE (V4SF, PCBFLOAT16),
7002 DEF_FUNCTION_TYPE (V4SF, PCFLOAT16),
7003 DEF_FUNCTION_TYPE (V8SF, PCBFLOAT16),
7004 DEF_FUNCTION_TYPE (V8SF, PCFLOAT16),
7005 DEF_FUNCTION_TYPE (V4SF, PCV8BF),
7006 DEF_FUNCTION_TYPE (V4SF, PCV8HF),
7007 DEF_FUNCTION_TYPE (V8SF, PCV16HF),
7008 DEF_FUNCTION_TYPE (V8SF, PCV16BF),
7009 * config/i386/i386-builtin.def: Add new builtins.
7010 * config/i386/i386-c.cc (ix86_target_macros_internal): Define
7011 __AVXNECONVERT__.
7012 * config/i386/i386-expand.cc (ix86_expand_special_args_builtin):
7013 Handle V4SF_FTYPE_PCBFLOAT16,V8SF_FTYPE_PCBFLOAT16, V4SF_FTYPE_PCFLOAT16,
7014 V8SF_FTYPE_PCFLOAT16,V4SF_FTYPE_PCV8BF,
7015 V4SF_FTYPE_PCV8HF,V8SF_FTYPE_PCV16BF,V8SF_FTYPE_PCV16HF.
7016 * config/i386/i386-isa.def : Add DEF_PTA(AVXNECONVERT) New.
7017 * config/i386/i386-options.cc (isa2_opts): Add -mavxneconvert.
7018 (ix86_valid_target_attribute_inner_p): Handle avxneconvert.
7019 * config/i386/i386.md: Add attr avx512bf16vl and avxneconvert.
7020 * config/i386/i386.opt: Add option -mavxneconvert.
7021 * config/i386/immintrin.h: Inculde avxneconvertintrin.h.
7022 * config/i386/sse.md (vbcstnebf162ps_<mode>): New define_insn.
7023 (vbcstnesh2ps_<mode>): Ditto.
7024 (vcvtnee<bf16_ph>2ps_<mode>):Ditto.
7025 (vcvtneo<bf16_ph>2ps_<mode>):Ditto.
7026 (vcvtneps2bf16_v4sf): Ditto.
7027 (*vcvtneps2bf16_v4sf): Ditto.
7028 (vcvtneps2bf16_v8sf): Ditto.
7029 * doc/invoke.texi: Document -mavxneconvert.
7030 * doc/extend.texi: Document avxneconvert.
7031 * doc/sourcebuild.texi: Document target avxneconvert.
7032
7033 2022-10-31 konglin1 <lingling.kong@intel.com>
7034
7035 * config/i386/avx512bf16intrin.h (__attribute__): Change short to bf16.
7036 (_mm_cvtsbh_ss): Ditto.
7037 (_mm512_cvtne2ps_pbh): Ditto.
7038 (_mm512_mask_cvtne2ps_pbh): Ditto.
7039 (_mm512_maskz_cvtne2ps_pbh): Ditto.
7040 * config/i386/avx512bf16vlintrin.h (__attribute__): Ditto.
7041 (_mm256_cvtne2ps_pbh): Ditto.
7042 (_mm256_mask_cvtne2ps_pbh): Ditto.
7043 (_mm256_maskz_cvtne2ps_pbh): Ditto.
7044 (_mm_cvtne2ps_pbh): Ditto.
7045 (_mm_mask_cvtne2ps_pbh): Ditto.
7046 (_mm_maskz_cvtne2ps_pbh): Ditto.
7047 (_mm_cvtness_sbh): Ditto.
7048 * config/i386/i386-builtin-types.def (V8BF): Add new
7049 DEF_VECTOR_TYPE for BFmode.
7050 (V16BF): Ditto.
7051 (V32BF): Ditto.
7052 * config/i386/i386-builtin.def (BDESC): Fixed builtins.
7053 * config/i386/i386-expand.cc (ix86_expand_args_builtin): Changed
7054 avx512bf16 ix86_builtin_func_type included HI to BF.
7055 * config/i386/immintrin.h: Add SSE2 depend for avx512bf16.
7056 * config/i386/sse.md (TARGET_AVX512VL): Changed HI vector to BF
7057 vector.
7058 (avx512f_cvtneps2bf16_v4sf): New define_expand.
7059 (*avx512f_cvtneps2bf16_v4sf): New define_insn.
7060 (avx512f_cvtneps2bf16_v4sf_maskz):Ditto.
7061 (avx512f_cvtneps2bf16_v4sf_mask): Ditto.
7062 (avx512f_cvtneps2bf16_v4sf_mask_1): Ditto.
7063
7064 2022-10-31 liuhongt <hongtao.liu@intel.com>
7065
7066 PR target/107261
7067 * config/i386/i386-modes.def (VECTOR_MODE): Support V2BFmode.
7068 * config/i386/i386.cc (classify_argument): Handle V4BFmode and
7069 V2BFmode.
7070 (ix86_convert_const_vector_to_integer): Ditto.
7071 * config/i386/i386.h (VALID_AVX512FP16_REG_MODE): Remove
7072 V2BFmode.
7073 (VALID_SSE2_REG_MODE): Add V4BFmode and V2BFmode.
7074 (VALID_MMX_REG_MODE): Add V4BFmode.
7075 * config/i386/i386.md (mode): Add V4BF and V2BF.
7076 (MODE_SIZE): Ditto.
7077 * config/i386/mmx.md (MMXMODE) Add V4BF.
7078 (V_32): Add V2BF.
7079 (V_16_32_64): Add V4BF and V2BF.
7080 (mmxinsnmode): Add V4BF and V2BF.
7081 (*mov<mode>_internal): Hanlde V4BFmode and V2BFmode.
7082
7083 2022-10-29 Eric Botcazou <ebotcazou@adacore.com>
7084
7085 * configure.ac (sjlj-exceptions): Restore dropped line.
7086 * configure: Regenerate.
7087
7088 2022-10-29 Eric Botcazou <ebotcazou@adacore.com>
7089
7090 * alias.cc (init_alias_analysis): Do not record sets to the hard
7091 frame pointer if the frame pointer has not been eliminated.
7092
7093 2022-10-29 Iain Buclaw <ibuclaw@gdcproject.org>
7094
7095 * config/darwin-d.cc (TARGET_D_MINFO_START_NAME): Rename to ...
7096 (TARGET_D_MINFO_SECTION_START): ...this.
7097 (TARGET_D_MINFO_END_NAME): Rename to ...
7098 (TARGET_D_MINFO_SECTION_END): ... this.
7099 * config/elfos.h (TARGET_D_MINFO_SECTION): Remove.
7100 (TARGET_D_MINFO_START_NAME): Remove.
7101 (TARGET_D_MINFO_END_NAME): Remove.
7102 * config/i386/cygwin-d.cc (TARGET_D_MINFO_SECTION): Remove.
7103 (TARGET_D_MINFO_START_NAME): Remove.
7104 (TARGET_D_MINFO_END_NAME): Remove.
7105 * config/i386/winnt-d.cc (TARGET_D_MINFO_SECTION): Remove.
7106 (TARGET_D_MINFO_START_NAME): Remove.
7107 (TARGET_D_MINFO_END_NAME): Remove.
7108 * doc/tm.texi: Regenerate.
7109 * doc/tm.texi.in (TARGET_D_MINFO_START_NAME): Rename to ...
7110 (TARGET_D_MINFO_SECTION_START): ...this.
7111 (TARGET_D_MINFO_END_NAME): Rename to ...
7112 (TARGET_D_MINFO_SECTION_END): ...this.
7113
7114 2022-10-29 Iain Buclaw <ibuclaw@gdcproject.org>
7115
7116 * config.gcc: Split out glibc-d.o into linux-d.o, kfreebsd-d.o,
7117 kopensolaris-d.o, and gnu-d.o. Split out cygwin-d.o from winnt-d.o.
7118 * config/arm/linux-eabi.h (EXTRA_TARGET_D_OS_VERSIONS): Remove.
7119 * config/gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove.
7120 * config/i386/cygwin.h (EXTRA_TARGET_D_OS_VERSIONS): Remove.
7121 * config/i386/linux-common.h (EXTRA_TARGET_D_OS_VERSIONS): Remove.
7122 * config/i386/mingw32.h (EXTRA_TARGET_D_OS_VERSIONS): Remove.
7123 * config/i386/t-cygming: Add cygwin-d.o.
7124 * config/i386/winnt-d.cc (winnt_d_os_builtins): Only add
7125 MinGW-specific version condition.
7126 * config/kfreebsd-gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove.
7127 * config/kopensolaris-gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove.
7128 * config/linux-android.h (ANDROID_TARGET_D_OS_VERSIONS): Remove.
7129 * config/linux.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove.
7130 * config/mips/linux-common.h (EXTRA_TARGET_D_OS_VERSIONS): Remove.
7131 * config/t-glibc: Remove glibc-d.o, add gnu-d.o, kfreebsd-d.o,
7132 kopensolaris-d.o.
7133 * config/t-linux: Add linux-d.o.
7134 * config/glibc-d.cc: Remove file.
7135 * config/gnu-d.cc: New file.
7136 * config/i386/cygwin-d.cc: New file.
7137 * config/kfreebsd-d.cc: New file.
7138 * config/kopensolaris-d.cc: New file.
7139 * config/linux-d.cc: New file.
7140
7141 2022-10-29 Jeff Law <jeffreyalaw@gmail.com>
7142
7143 * config/h8300/h8300.cc (pre_incdec_with_reg): Make reg argument
7144 an unsigned int
7145 * config/h8300/h8300-protos.h (pre_incdec_with_reg): Adjust prototype.
7146
7147 2022-10-28 Joseph Myers <joseph@codesourcery.com>
7148
7149 * config/aarch64/aarch64.cc (aarch64_setup_incoming_varargs):
7150 Check TYPE_NO_NAMED_ARGS_STDARG_P.
7151 * config/alpha/alpha.cc (alpha_setup_incoming_varargs): Likewise.
7152 * config/arc/arc.cc (arc_setup_incoming_varargs): Likewise.
7153 * config/arm/arm.cc (arm_setup_incoming_varargs): Likewise.
7154 * config/csky/csky.cc (csky_setup_incoming_varargs): Likewise.
7155 * config/epiphany/epiphany.cc (epiphany_setup_incoming_varargs):
7156 Likewise.
7157 * config/fr30/fr30.cc (fr30_setup_incoming_varargs): Likewise.
7158 * config/frv/frv.cc (frv_setup_incoming_varargs): Likewise.
7159 * config/ft32/ft32.cc (ft32_setup_incoming_varargs): Likewise.
7160 * config/i386/i386.cc (ix86_setup_incoming_varargs): Likewise.
7161 * config/ia64/ia64.cc (ia64_setup_incoming_varargs): Likewise.
7162 * config/loongarch/loongarch.cc
7163 (loongarch_setup_incoming_varargs): Likewise.
7164 * config/m32r/m32r.cc (m32r_setup_incoming_varargs): Likewise.
7165 * config/mcore/mcore.cc (mcore_setup_incoming_varargs): Likewise.
7166 * config/mips/mips.cc (mips_setup_incoming_varargs): Likewise.
7167 * config/mmix/mmix.cc (mmix_setup_incoming_varargs): Likewise.
7168 * config/nds32/nds32.cc (nds32_setup_incoming_varargs): Likewise.
7169 * config/nios2/nios2.cc (nios2_setup_incoming_varargs): Likewise.
7170 * config/riscv/riscv.cc (riscv_setup_incoming_varargs): Likewise.
7171 * config/rs6000/rs6000-call.cc (setup_incoming_varargs): Likewise.
7172 * config/sh/sh.cc (sh_setup_incoming_varargs): Likewise.
7173 * config/visium/visium.cc (visium_setup_incoming_varargs):
7174 Likewise.
7175 * config/vms/vms-c.cc (vms_c_common_override_options): Do not set
7176 flag_allow_parameterless_variadic_functions.
7177 * doc/invoke.texi (-fallow-parameterless-variadic-functions): Do
7178 not document option.
7179 * function.cc (assign_parms): Call assign_parms_setup_varargs for
7180 TYPE_NO_NAMED_ARGS_STDARG_P case.
7181 * ginclude/stdarg.h [__STDC_VERSION__ > 201710L] (va_start): Make
7182 variadic macro. Pass second argument of 0 to __builtin_va_start.
7183 * target.def (setup_incoming_varargs): Update documentation.
7184 * doc/tm.texi: Regenerate.
7185 * tree-core.h (struct tree_type_common): Add
7186 no_named_args_stdarg_p.
7187 * tree-streamer-in.cc (unpack_ts_type_common_value_fields): Unpack
7188 TYPE_NO_NAMED_ARGS_STDARG_P.
7189 * tree-streamer-out.cc (pack_ts_type_common_value_fields): Pack
7190 TYPE_NO_NAMED_ARGS_STDARG_P.
7191 * tree.cc (type_cache_hasher::equal): Compare
7192 TYPE_NO_NAMED_ARGS_STDARG_P.
7193 (build_function_type): Add argument no_named_args_stdarg_p.
7194 (build_function_type_list_1, build_function_type_array_1)
7195 (reconstruct_complex_type): Update calls to build_function_type.
7196 (stdarg_p, prototype_p): Return true for (...) functions.
7197 (gimple_canonical_types_compatible_p): Compare
7198 TYPE_NO_NAMED_ARGS_STDARG_P.
7199 * tree.h (TYPE_NO_NAMED_ARGS_STDARG_P): New.
7200 (build_function_type): Update prototype.
7201
7202 2022-10-28 Andre Vieira <andre.simoesdiasvieira@arm.com>
7203
7204 PR tree-optimization/107346
7205 * tree-vect-data-refs.cc (vect_check_gather_scatter): Reject offsets
7206 that aren't multiples of BITS_PER_UNIT.
7207
7208 2022-10-28 Richard Biener <rguenther@suse.de>
7209
7210 PR tree-optimization/107407
7211 * tree-ssa-dse.cc (dse_classify_store): Perform backedge
7212 varying index check when collecting PHI uses rather than
7213 after optimizing processing of the candidate defs.
7214
7215 2022-10-28 Richard Biener <rguenther@suse.de>
7216
7217 PR tree-optimization/107447
7218 * tree-ssa-loop-im.cc (determine_max_movement): Do not
7219 hoist returns-twice calls.
7220
7221 2022-10-28 Richard Biener <rguenther@suse.de>
7222
7223 PR tree-optimization/107435
7224 * tree-vect-loop.cc (vectorizable_recurr): Convert initial
7225 value to vector component type.
7226
7227 2022-10-28 Julian Brown <julian@codesourcery.com>
7228 Thomas Schwinge <thomas@codesourcery.com>
7229
7230 PR middle-end/90115
7231 * omp-low.cc (oacc_privatization_candidate_p): Artificial vars are not
7232 privatization candidates.
7233
7234 2022-10-28 Martin Liska <mliska@suse.cz>
7235
7236 PR sanitizer/107298
7237 * doc/invoke.texi: Document sanitizers can trigger warnings.
7238
7239 2022-10-28 Thomas Schwinge <thomas@codesourcery.com>
7240
7241 * doc/makefile.texi (Makefile Targets): Document
7242 'distclean-stage[N]'.
7243
7244 2022-10-28 Aldy Hernandez <aldyh@redhat.com>
7245
7246 * value-range.cc (range_tests_floats): Use HONOR_INFINITIES.
7247
7248 2022-10-27 Eric Botcazou <ebotcazou@adacore.com>
7249
7250 * config/aarch64/aarch64.h (DONT_USE_BUILTIN_SETJMP): Delete.
7251
7252 2022-10-27 H.J. Lu <hjl.tools@gmail.com>
7253
7254 PR target/107172
7255 * config/i386/i386.md (UNSPEC_CC_NE): New.
7256 Replace ne:CCC/ne:CCO with UNSPEC_CC_NE in neg patterns.
7257
7258 2022-10-27 Andrew Pinski <apinski@marvell.com>
7259
7260 * tree-ssa-phiopt.cc: Include tree-ssa-dce.h
7261 (replace_phi_edge_with_variable):
7262 New argument, dce_ssa_names. Call simple_dce_from_worklist.
7263 (match_simplify_replacement): If we inserted a sequence,
7264 mark the lhs of the new sequence to be possible dce.
7265 Always move the statement and mark the lhs (if it is a name)
7266 as possible to remove.
7267
7268 2022-10-27 Richard Sandiford <richard.sandiford@arm.com>
7269
7270 * config/aarch64/aarch64-protos.h: Replace constexpr with
7271 CONSTEXPR.
7272 * config/aarch64/aarch64-sve-builtins-base.cc: Likewise.
7273 * config/aarch64/aarch64-sve-builtins-functions.h: Likewise.
7274 * config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise.
7275 * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise.
7276 * config/aarch64/aarch64-sve-builtins.cc: Likewise.
7277 * config/aarch64/aarch64.cc: Likewise.
7278 * config/aarch64/driver-aarch64.cc: Likewise
7279
7280 2022-10-27 Aldy Hernandez <aldyh@redhat.com>
7281
7282 PR tree-optimization/107394
7283 * value-range-storage.cc (frange_storage_slot::get_frange): Use
7284 frange constructor.
7285
7286 2022-10-27 Thomas Schwinge <thomas@codesourcery.com>
7287
7288 * optc-save-gen.awk: Clarify 'Init' option property usage for
7289 streaming optimization.
7290
7291 2022-10-27 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
7292 Yvan ROUX <yvan.roux@foss.st.com>
7293
7294 * ira.cc: Resize array after reg number increased.
7295
7296 2022-10-27 Jiawei <jiawei@iscas.ac.cn>
7297 Sinan Lin <sinan@isrc.iscas.ac.cn>
7298
7299 * config/riscv/constraints.md (TARGET_ZFINX ? GR_REGS): Set GPRS
7300 use while Zfinx is enable.
7301 * config/riscv/riscv.cc (riscv_hard_regno_mode_ok): Limit odd
7302 registers use when Zdinx enable in RV32 cases.
7303 (riscv_option_override): New target enable MASK_FDIV.
7304 (riscv_libgcc_floating_mode_supported_p): New error info when
7305 use incompatible arch&abi.
7306 (riscv_excess_precision): New target enable FLOAT16.
7307
7308 2022-10-27 Jiawei <jiawei@iscas.ac.cn>
7309
7310 * config/riscv/iterators.md (TARGET_ZFINX):New target.
7311 (TARGET_ZDINX): Ditto.
7312 (TARGET_ZHINX): Ditto.
7313 * config/riscv/riscv-builtins.cc (AVAIL): Ditto.
7314 (riscv_atomic_assign_expand_fenv): Ditto.
7315 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Ditto.
7316 * config/riscv/riscv.md: Ditto.
7317
7318 2022-10-27 Jiawei <jiawei@iscas.ac.cn>
7319 Sinan Lin <sinan@isrc.iscas.ac.cn>
7320
7321 * common/config/riscv/riscv-common.cc: New extensions.
7322 * config/riscv/arch-canonicalize: New imply relations.
7323 * config/riscv/riscv-opts.h (MASK_ZFINX): New mask.
7324 (MASK_ZDINX): Ditto.
7325 (MASK_ZHINX): Ditto.
7326 (MASK_ZHINXMIN): Ditto.
7327 (TARGET_ZFINX): New target.
7328 (TARGET_ZDINX): Ditto.
7329 (TARGET_ZHINX): Ditto.
7330 (TARGET_ZHINXMIN): Ditto.
7331 * config/riscv/riscv.opt: New target variable.
7332
7333 2022-10-26 David Faust <david.faust@oracle.com>
7334
7335 * config/bpf/bpf.cc: Support __builtin_preserve_field_info.
7336 (enum bpf_builtins): Add new builtin.
7337 (bpf_init_builtins): Likewise.
7338 (bpf_core_field_info): New function.
7339 (bpf_expand_builtin): Accomodate new builtin. Refactor adding new
7340 relocation to...
7341 (maybe_make_core_relo): ... here. New function.
7342 (bpf_resolve_overloaded_builtin): Accomodate new builtin.
7343 (bpf_core_newdecl): Likewise.
7344 (bpf_core_walk): Likewise.
7345 (bpf_core_is_maybe_aggregate_access): Improve logic.
7346 (struct core_walk_data): New.
7347 * config/bpf/coreout.cc (bpf_core_reloc_add): Allow adding different
7348 relocation kinds.
7349 * config/bpf/coreout.h: Analogous change.
7350 * doc/extend.texi: Document BPF __builtin_preserve_field_info.
7351
7352 2022-10-26 Marek Polacek <polacek@redhat.com>
7353
7354 PR c++/106393
7355 * doc/invoke.texi: Document -Wdangling-reference.
7356
7357 2022-10-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
7358
7359 * config/xtensa/xtensa.md (movdi):
7360 Copy operands[0...1] to ops[0...3] and then use the latter before
7361 calling xtensa_split_DI_reg_imm() and emitting insns.
7362
7363 2022-10-26 Alexander Monakov <amonakov@ispras.ru>
7364
7365 PR other/107353
7366 * ipa-visibility.cc (function_and_variable_visibility):
7367 Conditionally upgrade TLS model instead of asserting.
7368
7369 2022-10-26 Andrew MacLeod <amacleod@redhat.com>
7370
7371 * gimple-range-fold.cc (fold_using_range::fold_stmt): Check if
7372 stmt is non-negative and adjust the range.
7373
7374 2022-10-26 Martin Liska <mliska@suse.cz>
7375
7376 * common/config/i386/cpuinfo.h (has_cpu_feature): Add comment.
7377 (reset_cpu_feature): New.
7378 (get_zhaoxin_cpu): Use reset_cpu_feature.
7379
7380 2022-10-26 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
7381
7382 * config/riscv/riscv.cc (riscv_expand_epilogue): Fix statement.
7383
7384 2022-10-26 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
7385
7386 PR target/107357
7387 * config/riscv/riscv-modes.def (VECTOR_BOOL_MODE): Set to minimum size.
7388 (ADJUST_NUNITS): Adjust according to -march.
7389 (ADJUST_BYTESIZE): Ditto.
7390 * config/riscv/riscv-protos.h (riscv_v_ext_enabled_vector_mode_p):
7391 Remove.
7392 (riscv_v_ext_vector_mode_p): Change function implementation.
7393 * config/riscv/riscv-vector-builtins.cc (rvv_switcher::rvv_switcher):
7394 Change to riscv_v_ext_vector_mode_p.
7395 (register_builtin_type): Ditto.
7396 * config/riscv/riscv.cc (riscv_v_ext_vector_mode_p): Change to enabled
7397 modes.
7398 (ENTRY): Ditto.
7399 (riscv_v_ext_enabled_vector_mode_p): Remove.
7400 (riscv_v_adjust_nunits): New function.
7401 (riscv_vector_mode_supported_p): Use riscv_v_ext_vector_mode_p instead.
7402 * config/riscv/riscv.h (riscv_v_adjust_nunits): New function.
7403
7404 2022-10-26 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
7405
7406 * config.gcc (riscv*): Add riscv-v.o to extra_objs.
7407 * config/riscv/constraints.md (vu): New constraint.
7408 (vi): Ditto.
7409 (Wc0): Ditto.
7410 (Wc1): Ditto.
7411 * config/riscv/predicates.md (vector_length_operand): New.
7412 (reg_or_mem_operand): Ditto.
7413 (vector_move_operand): Ditto.
7414 (vector_mask_operand): Ditto.
7415 (vector_merge_operand): Ditto.
7416 * config/riscv/riscv-protos.h (riscv_regmode_natural_size) New.
7417 (riscv_vector::const_vec_all_same_in_range_p): Ditto.
7418 (riscv_vector::legitimize_move): Ditto.
7419 (tail_policy): Ditto.
7420 (mask_policy): Ditto.
7421 * config/riscv/riscv-v.cc: New.
7422 * config/riscv/riscv-vector-builtins-bases.cc
7423 (vsetvl::expand): Refactor how LMUL encoding.
7424 * config/riscv/riscv.cc (riscv_print_operand): Update how LMUL
7425 print and mask operand print.
7426 (riscv_regmode_natural_size): New.
7427 * config/riscv/riscv.h (REGMODE_NATURAL_SIZE): New.
7428 * config/riscv/riscv.md (mode): Add vector modes.
7429 * config/riscv/t-riscv (riscv-v.o) New.
7430 * config/riscv/vector-iterators.md: New.
7431 * config/riscv/vector.md (vundefined<mode>): New.
7432 (mov<mode>): New.
7433 (*mov<mode>): New.
7434 (@vsetvl<mode>_no_side_effects): New.
7435 (@pred_mov<mode>): New.
7436
7437 2022-10-26 Monk Chiang <monk.chiang@sifive.com>
7438
7439 * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
7440 Add svinval and svnapot extension.
7441 (riscv_ext_flag_table): Ditto.
7442 * config/riscv/riscv-opts.h (MASK_SVINVAL): New.
7443 (MASK_SVNAPOT): Ditto.
7444 (TARGET_SVINVAL): Ditto.
7445 (TARGET_SVNAPOT): Ditto.
7446 * config/riscv/riscv.opt (riscv_sv_subext): New.
7447
7448 2022-10-26 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
7449
7450 * config/riscv/riscv-modes.def: Adjust table indentation in commnet.
7451
7452 2022-10-26 Martin Liska <mliska@suse.cz>
7453
7454 * configure: Regenerate.
7455
7456 2022-10-26 Aldy Hernandez <aldyh@redhat.com>
7457
7458 * value-range.cc (frange::set): Use HONOR_*.
7459 (frange::verify_range): Same.
7460 * value-range.h (frange_val_min): Same.
7461 (frange_val_max): Same.
7462
7463 2022-10-26 Jiufu Guo <guojiufu@linux.ibm.com>
7464
7465 PR target/106460
7466 * config/rs6000/rs6000.cc (rs6000_cannot_force_const_mem): Return true
7467 for HIGH code rtx.
7468
7469 2022-10-26 Kito Cheng <kito.cheng@sifive.com>
7470
7471 * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
7472 Add `h`.
7473 (riscv_supported_std_ext): Ditto.
7474 (multi_letter_subset_rank): Remove `h`.
7475 (riscv_subset_list::parse_std_ext): Handle `h` as single letter
7476 extension.
7477 (riscv_subset_list::parse): Ditto.
7478
7479 2022-10-25 Eugene Rozenfeld <erozen@microsoft.com>
7480
7481 * auto-profile.cc (get_combined_location): Include discriminator in the
7482 returned combined location.
7483 (read_function_instance): Read discriminators from profiles.
7484
7485 2022-10-25 H.J. Lu <hjl.tools@gmail.com>
7486
7487 PR target/107304
7488 * expr.cc (get_inner_reference): Always use TYPE_MODE for vector
7489 field with vector raw mode.
7490
7491 2022-10-25 Segher Boessenkool <segher@kernel.crashing.org>
7492
7493 * config/rs6000/rs6000.md (CCEITHER): Delete.
7494 (CCANY): New.
7495 (un): Delete.
7496 (isel_<un>signed_<GPR:mode>): Rename to...
7497 (isel_<CCANY:mode>_<GPR:mode>): ... this. Adjust.
7498 (*isel_reversed_<un>signed_<GPR:mode>): Rename to...
7499 (*isel_reversed_<CCANY:mode>_<GPR:mode>): ... this. Adjust.
7500 (setbc_<un>signed_<GPR:mode>): Rename to...
7501 (setbc_<CCANY:mode>_<GPR:mode>C): ... this. Adjust."
7502 (*setbcr_<un>signed_<GPR:mode>): Rename to ...
7503 (*setbcr_<CCANY:mode>_<GPR:mode>): ... this. Adjust.
7504 (*setnbc_<un>signed_<GPR:mode>): Rename to ...
7505 (*setnbc_<CCANY:mode>_<GPR:mode>): ... this. Adjust.
7506 (*setnbcr_<un>signed_<GPR:mode>): Rename to ...
7507 (*setnbcr_<CCANY:mode>_<GPR:mode>): ... this. Adjust.
7508 (eq<mode>3 for GPR): Adjust.
7509 (ne<mode>3 for GPR): Adjust.
7510 * config/rs6000/rs6000-string.cc (do_isel): Adjust.
7511 * config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Adjust.
7512
7513 2022-10-25 Richard Biener <rguenther@suse.de>
7514
7515 PR tree-optimization/107176
7516 PR tree-optimization/66375
7517 PR tree-optimization/42512
7518 * tree-scalar-evolution.cc (follow_ssa_edge_expr): Revert
7519 the PR66375 fix, do not not associate PLUS_EXPR to be able
7520 to use tail-recursion.
7521 (follow_ssa_edge_binary): Likewise.
7522 (interpret_loop_phi): Revert PR42512 fix, do not throw
7523 away analyze_evolution_in_loop result after the fact.
7524 (follow_ssa_edge_expr): When reaching halting_phi initalize
7525 the evolution to the symbolic value of the PHI result.
7526 (add_to_evolution_1): When adding the first evolution verify
7527 we can handle the expression wrapping the symbolic evolution
7528 and replace that in full using the initial condition.
7529 (class scev_dfs): New, contains ...
7530 (follow_ssa_edge_expr, follow_ssa_edge_binary,
7531 follow_ssa_edge_in_condition_phi_branch,
7532 follow_ssa_edge_in_condition_phi,
7533 follow_ssa_edge_inner_loop_phi,
7534 add_to_evolution, add_to_evolution_1): ... these with
7535 loop and halting_phi arguments in class data.
7536 (scev_dfs::get_ev): New toplevel DFS entry, start with
7537 a chrec_dont_know evolution.
7538 (analyze_evolution_in_loop): Use scev_dfs.
7539
7540 2022-10-25 Eric Botcazou <ebotcazou@adacore.com>
7541
7542 * profile.cc (branch_prob): Be prepared for ignored functions with
7543 DECL_SOURCE_LOCATION set to UNKNOWN_LOCATION.
7544
7545 2022-10-25 Richard Biener <rguenther@suse.de>
7546
7547 * tree-scalar-evolution.cc (follow_ssa_edge_expr): Move
7548 STRIP_USELESS_TYPE_CONVERSIONS to where it matters.
7549
7550 2022-10-25 Tejas Joshi <TejasSanjay.Joshi@amd.com>
7551
7552 * common/config/i386/i386-common.cc (processor_alias_table): Use
7553 CPU_ZNVER3 for znver4.
7554 * config/i386/znver.md: Remove znver4 reservations.
7555
7556 2022-10-25 Jakub Jelinek <jakub@redhat.com>
7557
7558 * gimplify.cc (gimple_boolify): Fix comment typos, prduce -> produce
7559 and There -> These.
7560
7561 2022-10-25 Jakub Jelinek <jakub@redhat.com>
7562
7563 PR tree-optimization/107368
7564 * gimplify.cc (gimplify_call_expr): For complex IFN_ASSUME
7565 conditions call gimple_boolify on the condition.
7566
7567 2022-10-25 YunQiang Su <yunqiang.su@cipunited.com>
7568
7569 * config.gcc: add -with-compact-branches=policy build option.
7570 * doc/install.texi: Likewise.
7571 * config/mips/mips.h: Likewise.
7572
7573 2022-10-25 YunQiang Su <yunqiang.su@cipunited.com>
7574
7575 * config/mips/mips.cc (mips_option_override): not trigger error
7576 for compact-branches=always for pre-R6.
7577 * config/mips/mips.h (TARGET_RTP_PIC): not trigger error for
7578 compact-branches=always for pre-R6.
7579 (TARGET_CB_NEVER): Likewise.
7580 (TARGET_CB_ALWAYS): Likewise.
7581 (struct mips_cpu_info): define macros for compact branch policy.
7582 * doc/invoke.texi: Document "always" with pre-R6.
7583
7584 2022-10-25 Jakub Jelinek <jakub@redhat.com>
7585
7586 PR tree-optimization/107369
7587 * gimplify.cc (gimplify_call_expr): If seen_error, handle complex
7588 IFN_ASSUME the same as for -O0.
7589
7590 2022-10-25 YunQiang Su <yunqiang.su@cipunited.com>
7591
7592 * configure.ac: AC_DEFINE(ENABLE_MULTIARCH, 1)
7593 * configure: Regenerated.
7594 * config.in: Regenerated.
7595 * config/mips/mips.h: don't define STANDARD_STARTFILE_PREFIX_1
7596 if ENABLE_MULTIARCH is defined.
7597 * config/mips/t-linux64: define correct multiarch path when
7598 multiarch is enabled.
7599
7600 2022-10-25 Richard Biener <rguenther@suse.de>
7601
7602 PR tree-optimization/100756
7603 * tree-ssa-loop-niter.cc (expand_simple_operations): Also
7604 expand multiplications by invariants.
7605
7606 2022-10-25 Kewen Lin <linkw@linux.ibm.com>
7607
7608 PR tree-optimization/107338
7609 * tree-vect-patterns.cc (vect_recog_bitfield_ref_pattern): Move
7610 shfit_n calculation before the adjustments for widening loads.
7611
7612 2022-10-25 Martin Liska <mliska@suse.cz>
7613
7614 * common/config/riscv/riscv-common.cc
7615 (riscv_get_valid_option_values): Get out of ifdef.
7616
7617 2022-10-25 Martin Liska <mliska@suse.cz>
7618
7619 PR target/107364
7620 * common/config/i386/i386-cpuinfo.h (enum processor_vendor):
7621 Fix pedantic warning.
7622
7623 2022-10-24 Martin Liska <mliska@suse.cz>
7624
7625 PR analyzer/107366
7626 * diagnostic-format-sarif.cc
7627 (sarif_builder::maybe_make_physical_location_object): Gracefully
7628 reject locations with NULL filename.
7629
7630 2022-10-24 David Malcolm <dmalcolm@redhat.com>
7631
7632 PR analyzer/106300
7633 * doc/invoke.texi (Static Analyzer Options): Add "pipe" and
7634 "pipe2" to the list of functions the analyzer has hardcoded
7635 knowledge of.
7636
7637 2022-10-24 Jason Merrill <jason@redhat.com>
7638
7639 * tree.h (build_string_literal): New one-argument overloads that
7640 take tree (identifier) and const char *.
7641 * builtins.cc (fold_builtin_FILE)
7642 (fold_builtin_FUNCTION)
7643 * gimplify.cc (gimple_add_init_for_auto_var)
7644 * vtable-verify.cc (verify_bb_vtables): Simplify calls.
7645
7646 2022-10-24 Martin Liska <mliska@suse.cz>
7647
7648 PR target/107364
7649 * common/config/i386/i386-cpuinfo.h (enum processor_vendor):
7650 Reorder enum values as BUILTIN_VENDOR_MAX should not point
7651 in the middle of the valid enum values.
7652
7653 2022-10-24 Marek Polacek <polacek@redhat.com>
7654
7655 PR c++/107276
7656 * tree.cc (maybe_wrap_with_location): Don't create a location wrapper
7657 when the type is erroneous.
7658
7659 2022-10-24 Wilco Dijkstra <wdijkstr@arm.com>
7660
7661 PR target/106583
7662 * config/aarch64/aarch64.cc (aarch64_internal_mov_immediate)
7663 Add support for a bitmask immediate with 2 MOVKs.
7664 (aarch64_check_bitmask): New function after refactorization.
7665 (aarch64_bitmask_imm): Simplify replication of small modes.
7666 Split function into 64-bit only version for efficiency.
7667 (aarch64_move_imm): Move near other immediate functions.
7668 (aarch64_uimm12_shift): Likewise.
7669 (aarch64_clamp_to_uimm12_shift): Likewise.
7670 (aarch64_movk_shift): Likewise.
7671 (aarch64_replicate_bitmask_imm): Likewise.
7672 (aarch64_and_split_imm1): Likewise.
7673 (aarch64_and_split_imm2): Likewise.
7674 (aarch64_and_bitmask_imm): Likewise.
7675 (aarch64_movw_imm): Likewise.
7676
7677 2022-10-24 Aldy Hernandez <aldyh@redhat.com>
7678
7679 PR tree-optimization/107355
7680 * range-op-float.cc (foperator_abs::op1_range): Handle NAN.
7681
7682 2022-10-24 Tobias Burnus <tobias@codesourcery.com>
7683
7684 PR middle-end/107236
7685 * omp-expand.cc (expand_omp_target): Set calls_declare_variant_alt
7686 in DECL_CONTEXT and not to cfun->decl.
7687 * cgraphclones.cc (cgraph_node::create_clone): Copy also the
7688 node's calls_declare_variant_alt value.
7689
7690 2022-10-24 Kito Cheng <kito.cheng@sifive.com>
7691
7692 * common/config/riscv/riscv-common.cc (riscv_tunes): New.
7693 (riscv_get_valid_option_values): New.
7694 (TARGET_GET_VALID_OPTION_VALUES): New.
7695 * config/riscv/riscv-cores.def (RISCV_TUNE): New, define options
7696 for tune here.
7697 (RISCV_CORE): Fix comment.
7698 * config/riscv/riscv.cc (riscv_tune_info_table): Move definition to
7699 riscv-cores.def.
7700
7701 2022-10-24 Aldy Hernandez <aldyh@redhat.com>
7702
7703 PR tree-optimization/107365
7704 * value-range.cc (frange::verify_range): Predicate NAN check in
7705 VARYING range on HONOR_NANS instead of flag_finite_math_only.
7706 (range_tests_floats): Same.
7707 (range_tests_floats_various): New.
7708 (range_tests): Call range_tests_floats_various.
7709
7710 2022-10-24 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
7711 Yvan ROUX <yvan.roux@foss.st.com>
7712
7713 * lto-wrapper.cc: Quote paths in makefile.
7714
7715 2022-10-24 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
7716
7717 * config/riscv/riscv.cc (riscv_legitimize_move): Support (set (mem) (const_poly_int)).
7718
7719 2022-10-24 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
7720
7721 * config/riscv/riscv-vector-builtins-bases.cc: Replace CONSTEXPR
7722 with constexpr throughout.
7723 * config/riscv/riscv-vector-builtins-shapes.cc (SHAPE): Likewise.
7724 * config/riscv/riscv-vector-builtins.cc
7725 (struct registered_function_hasher): Likewise.
7726 * config/riscv/riscv-vector-builtins.h (struct rvv_arg_type_info):
7727 Likewise.
7728
7729 2022-10-24 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
7730
7731 * config/riscv/riscv-vector-switch.def (ENTRY): Remove unused TI/TF vector modes.
7732
7733 2022-10-24 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
7734
7735 * config/riscv/riscv.h (REG_CLASS_CONTENTS): Fix ALL_REGS.
7736
7737 2022-10-22 Michael Eager <eager@eagercon.com>
7738
7739 * config/microblaze/microblaze.cc
7740 (microblaze_legitimize_address): Initialize 'reg' to NULL, check for NULL.
7741 (microblaze_address_insns): Replace abort() with gcc_unreachable().
7742 (print_operand_address): Same.
7743 (microblaze_expand_move): Initialize 'p1' to NULL, check for NULL.
7744 (get_branch_target): Replace abort() with gcc_unreachable().
7745
7746 2022-10-22 Aldy Hernandez <aldyh@redhat.com>
7747
7748 * value-range.cc (range_tests_floats): Predicate [-Inf, +Inf] test
7749 with !flag_finite_math_only.
7750
7751 2022-10-22 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
7752
7753 * config/xtensa/xtensa.cc (xtensa_conditional_register_usage):
7754 Remove register A0 from FIXED_REGS if the CALL0 ABI.
7755 (xtensa_expand_epilogue): Change to emit '(use (reg:SI A0_REG))'
7756 unconditionally after restoring callee-saved registers for
7757 sibling-call functions, in order to prevent misleading that
7758 register A0 is free to use.
7759
7760 2022-10-21 Jakub Jelinek <jakub@redhat.com>
7761
7762 PR target/107322
7763 * config/i386/i386-expand.cc (ix86_prepare_fp_compare_args): For
7764 BFmode comparisons promote arguments to SFmode and recurse.
7765 (ix86_expand_int_movcc, ix86_expand_fp_movcc): Return false early
7766 if comparison operands are BFmode and operands[1] is not
7767 ix86_fp_comparison_operator.
7768
7769 2022-10-21 Tejas Joshi <TejasSanjay.Joshi@amd.com>
7770
7771 * common/config/i386/cpuinfo.h (get_amd_cpu): Recognize znver4.
7772 * common/config/i386/i386-common.cc (processor_names): Add znver4.
7773 (processor_alias_table): Add znver4 and modularize old znvers.
7774 * common/config/i386/i386-cpuinfo.h (processor_subtypes):
7775 AMDFAM19H_ZNVER4.
7776 * config.gcc (x86_64-*-* |...): Likewise.
7777 * config/i386/driver-i386.cc (host_detect_local_cpu): Let
7778 -march=native recognize znver4 cpus.
7779 * config/i386/i386-c.cc (ix86_target_macros_internal): Add znver4.
7780 * config/i386/i386-options.cc (m_ZNVER4): New definition.
7781 (m_ZNVER): Include m_ZNVER4.
7782 (processor_cost_table): Add znver4.
7783 * config/i386/i386.cc (ix86_reassociation_width): Likewise.
7784 * config/i386/i386.h (processor_type): Add PROCESSOR_ZNVER4.
7785 (PTA_ZNVER1): New definition.
7786 (PTA_ZNVER2): Likewise.
7787 (PTA_ZNVER3): Likewise.
7788 (PTA_ZNVER4): Likewise.
7789 * config/i386/i386.md (define_attr "cpu"): Add znver4 and rename
7790 md file.
7791 * config/i386/x86-tune-costs.h (znver4_cost): New definition.
7792 * config/i386/x86-tune-sched.cc (ix86_issue_rate): Add znver4.
7793 (ix86_adjust_cost): Likewise.
7794 * config/i386/znver1.md: Rename to znver.md.
7795 * config/i386/znver.md: Add new reservations for znver4.
7796 * doc/extend.texi: Add details about znver4.
7797 * doc/invoke.texi: Likewise.
7798
7799 2022-10-21 Richard Biener <rguenther@suse.de>
7800
7801 PR tree-optimization/107323
7802 * tree-loop-distribution.cc (pg_unmark_merged_alias_ddrs):
7803 New function.
7804 (loop_distribution::break_alias_scc_partitions): Revert
7805 postorder save/restore from the PR94125 fix. Instead
7806 make sure to not ignore edges from SCCs we are going to
7807 merge.
7808
7809 2022-10-21 Monk Chiang <monk.chiang@sifive.com>
7810
7811 * config/riscv/riscv.md: Add atomic type attribute.
7812 * config/riscv/sync.md: Add atomic type for atomic instructions.
7813
7814 2022-10-21 Jakub Jelinek <jakub@redhat.com>
7815
7816 PR tree-optimization/54346
7817 * match.pd ((vec_perm (vec_perm@0 @1 @2 VECTOR_CST) @0 VECTOR_CST)):
7818 Optimize nested VEC_PERM_EXPRs even if target can't handle the
7819 new one provided we don't increase number of VEC_PERM_EXPRs the
7820 target can't handle.
7821
7822 2022-10-21 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
7823
7824 * config.gcc: Add riscv-vector-builtins-bases.o and riscv-vector-builtins-shapes.o
7825 * config/riscv/riscv-vector-builtins.cc (DEF_RVV_I_OPS): New macro.
7826 (DEF_RVV_FUNCTION): Ditto.
7827 (handle_pragma_vector): Add intrinsic framework.
7828 * config/riscv/riscv.cc (riscv_print_operand): Add operand print for vsetvl/vsetvlmax.
7829 * config/riscv/riscv.md: include vector.md.
7830 * config/riscv/t-riscv: Add riscv-vector-builtins-bases.o and riscv-vector-builtins-shapes.o
7831 * config/riscv/riscv-vector-builtins-bases.cc: New file.
7832 * config/riscv/riscv-vector-builtins-bases.h: New file.
7833 * config/riscv/riscv-vector-builtins-functions.def: New file.
7834 * config/riscv/riscv-vector-builtins-shapes.cc: New file.
7835 * config/riscv/riscv-vector-builtins-shapes.h: New file.
7836 * config/riscv/riscv-vector-builtins-types.def: New file.
7837 * config/riscv/vector.md: New file.
7838
7839 2022-10-21 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
7840
7841 * config.gcc: Add gt files since function_instance is GTY ((user)).
7842 * config/riscv/riscv-builtins.cc (riscv_init_builtins): Add RVV intrinsic framework.
7843 (riscv_builtin_decl): Ditto.
7844 (riscv_expand_builtin): Ditto.
7845 * config/riscv/riscv-protos.h (builtin_decl): New function.
7846 (expand_builtin): Ditto.
7847 (enum riscv_builtin_class): New enum to classify RVV intrinsic and RISC-V general built-in.
7848 * config/riscv/riscv-vector-builtins.cc (class GTY): New declaration.
7849 (struct registered_function_hasher): New struct.
7850 (DEF_RVV_OP_TYPE): New macro.
7851 (DEF_RVV_TYPE): Ditto.
7852 (DEF_RVV_PRED_TYPE): Ditto.
7853 (GTY): New declaration.
7854 (add_attribute): New function.
7855 (check_required_extensions): Ditto.
7856 (rvv_arg_type_info::get_tree_type): Ditto.
7857 (function_instance::function_instance): Ditto.
7858 (function_instance::operator==): Ditto.
7859 (function_instance::any_type_float_p): Ditto.
7860 (function_instance::get_return_type): Ditto.
7861 (function_instance::get_arg_type): Ditto.
7862 (function_instance::hash): Ditto.
7863 (function_instance::call_properties): Ditto.
7864 (function_instance::reads_global_state_p): Ditto.
7865 (function_instance::modifies_global_state_p): Ditto.
7866 (function_instance::could_trap_p): Ditto.
7867 (function_builder::function_builder): Ditto.
7868 (function_builder::~function_builder): Ditto.
7869 (function_builder::allocate_argument_types): Ditto.
7870 (function_builder::register_function_group): Ditto.
7871 (function_builder::append_name): Ditto.
7872 (function_builder::finish_name): Ditto.
7873 (function_builder::get_attributes): Ditto.
7874 (function_builder::add_function): Ditto.
7875 (function_builder::add_unique_function): Ditto.
7876 (function_call_info::function_call_info): Ditto.
7877 (function_expander::function_expander): Ditto.
7878 (function_expander::add_input_operand): Ditto.
7879 (function_expander::generate_insn): Ditto.
7880 (registered_function_hasher::hash): Ditto.
7881 (registered_function_hasher::equal): Ditto.
7882 (builtin_decl): Ditto.
7883 (expand_builtin): Ditto.
7884 (gt_ggc_mx): Define for using GCC garbage collect.
7885 (gt_pch_nx): Define for using GCC garbage collect.
7886 * config/riscv/riscv-vector-builtins.def (DEF_RVV_OP_TYPE): New macro.
7887 (DEF_RVV_PRED_TYPE): Ditto.
7888 (vbool64_t): Add suffix.
7889 (vbool32_t): Ditto.
7890 (vbool16_t): Ditto.
7891 (vbool8_t): Ditto.
7892 (vbool4_t): Ditto.
7893 (vbool2_t): Ditto.
7894 (vbool1_t): Ditto.
7895 (vint8mf8_t): Ditto.
7896 (vuint8mf8_t): Ditto.
7897 (vint8mf4_t): Ditto.
7898 (vuint8mf4_t): Ditto.
7899 (vint8mf2_t): Ditto.
7900 (vuint8mf2_t): Ditto.
7901 (vint8m1_t): Ditto.
7902 (vuint8m1_t): Ditto.
7903 (vint8m2_t): Ditto.
7904 (vuint8m2_t): Ditto.
7905 (vint8m4_t): Ditto.
7906 (vuint8m4_t): Ditto.
7907 (vint8m8_t): Ditto.
7908 (vuint8m8_t): Ditto.
7909 (vint16mf4_t): Ditto.
7910 (vuint16mf4_t): Ditto.
7911 (vint16mf2_t): Ditto.
7912 (vuint16mf2_t): Ditto.
7913 (vint16m1_t): Ditto.
7914 (vuint16m1_t): Ditto.
7915 (vint16m2_t): Ditto.
7916 (vuint16m2_t): Ditto.
7917 (vint16m4_t): Ditto.
7918 (vuint16m4_t): Ditto.
7919 (vint16m8_t): Ditto.
7920 (vuint16m8_t): Ditto.
7921 (vint32mf2_t): Ditto.
7922 (vuint32mf2_t): Ditto.
7923 (vint32m1_t): Ditto.
7924 (vuint32m1_t): Ditto.
7925 (vint32m2_t): Ditto.
7926 (vuint32m2_t): Ditto.
7927 (vint32m4_t): Ditto.
7928 (vuint32m4_t): Ditto.
7929 (vint32m8_t): Ditto.
7930 (vuint32m8_t): Ditto.
7931 (vint64m1_t): Ditto.
7932 (vuint64m1_t): Ditto.
7933 (vint64m2_t): Ditto.
7934 (vuint64m2_t): Ditto.
7935 (vint64m4_t): Ditto.
7936 (vuint64m4_t): Ditto.
7937 (vint64m8_t): Ditto.
7938 (vuint64m8_t): Ditto.
7939 (vfloat32mf2_t): Ditto.
7940 (vfloat32m1_t): Ditto.
7941 (vfloat32m2_t): Ditto.
7942 (vfloat32m4_t): Ditto.
7943 (vfloat32m8_t): Ditto.
7944 (vfloat64m1_t): Ditto.
7945 (vfloat64m2_t): Ditto.
7946 (vfloat64m4_t): Ditto.
7947 (vfloat64m8_t): Ditto.
7948 (vv): Ditto.
7949 (vx): Ditto.
7950 (v): Ditto.
7951 (wv): Ditto.
7952 (wx): Ditto.
7953 (x_x_v): Ditto.
7954 (vf2): Ditto.
7955 (vf4): Ditto.
7956 (vf8): Ditto.
7957 (vvm): Ditto.
7958 (vxm): Ditto.
7959 (x_x_w): Ditto.
7960 (v_v): Ditto.
7961 (v_x): Ditto.
7962 (vs): Ditto.
7963 (mm): Ditto.
7964 (m): Ditto.
7965 (vf): Ditto.
7966 (vm): Ditto.
7967 (wf): Ditto.
7968 (vfm): Ditto.
7969 (v_f): Ditto.
7970 (ta): Ditto.
7971 (tu): Ditto.
7972 (ma): Ditto.
7973 (mu): Ditto.
7974 (tama): Ditto.
7975 (tamu): Ditto.
7976 (tuma): Ditto.
7977 (tumu): Ditto.
7978 (tam): Ditto.
7979 (tum): Ditto.
7980 * config/riscv/riscv-vector-builtins.h (GCC_RISCV_VECTOR_BUILTINS_H): New macro.
7981 (RVV_REQUIRE_RV64BIT): Ditto.
7982 (RVV_REQUIRE_ZVE64): Ditto.
7983 (RVV_REQUIRE_ELEN_FP_32): Ditto.
7984 (RVV_REQUIRE_ELEN_FP_64): Ditto.
7985 (enum operand_type_index): New enum.
7986 (DEF_RVV_OP_TYPE): New macro.
7987 (enum predication_type_index): New enum.
7988 (DEF_RVV_PRED_TYPE): New macro.
7989 (enum rvv_base_type): New enum.
7990 (struct rvv_builtin_suffixes): New struct.
7991 (struct rvv_arg_type_info): Ditto.
7992 (struct rvv_type_info): Ditto.
7993 (struct rvv_op_info): Ditto.
7994 (class registered_function): New class.
7995 (class function_base): Ditto.
7996 (class function_shape): Ditto.
7997 (struct function_group_info): New struct.
7998 (class GTY): New class.
7999 (class function_builder): Ditto.
8000 (class function_call_info): Ditto.
8001 (function_call_info::function_returns_void_p): New function.
8002 (class function_expander): New class.
8003 (function_instance::operator!=): New function.
8004 (function_expander::expand): Ditto.
8005 (function_expander::add_input_operand): Ditto.
8006 (function_base::call_properties): Ditto.
8007
8008 2022-10-21 Haochen Jiang <haochen.jiang@intel.com>
8009
8010 * config/i386/sse.md (ssedvecmode): Rename from VI1SI.
8011 (ssedvecmodelower): Rename from vi1si.
8012 (sdot_prod<mode>): New define_expand.
8013 (udot_prod<mode>): Ditto.
8014
8015 2022-10-21 Kong Lingling <lingling.kong@intel.com>
8016 Hongyu Wang <hongyu.wang@intel.com>
8017 Haochen Jiang <haochen.jiang@intel.com>
8018
8019 * common/config/i386/cpuinfo.h (get_available_features): Detect
8020 avxvnniint8.
8021 * common/config/i386/i386-common.cc
8022 (OPTION_MASK_ISA2_AVXVNNIINT8_SET): New.
8023 (OPTION_MASK_ISA2_AVXVNNIINT8_UNSET): Ditto.
8024 (ix86_handle_option): Handle -mavxvnniint8.
8025 * common/config/i386/i386-cpuinfo.h (enum processor_features):
8026 Add FEATURE_AVXVNNIINT8.
8027 * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
8028 avxvnniint8.
8029 * config.gcc: Add avxvnniint8intrin.h.
8030 * config/i386/avxvnniint8intrin.h: New file.
8031 * config/i386/cpuid.h (bit_AVXVNNIINT8): New.
8032 * config/i386/i386-builtin.def: Add new builtins.
8033 * config/i386/i386-c.cc (ix86_target_macros_internal): Define
8034 __AVXVNNIINT8__.
8035 * config/i386/i386-options.cc (isa2_opts): Add -mavxvnniint8.
8036 (ix86_valid_target_attribute_inner_p): Handle avxvnniint8.
8037 * config/i386/i386-isa.def: Add DEF_PTA(AVXVNNIINT8) New..
8038 * config/i386/i386.opt: Add option -mavxvnniint8.
8039 * config/i386/immintrin.h: Include avxvnniint8intrin.h.
8040 * config/i386/sse.md (UNSPEC_VPMADDUBSWACCD
8041 UNSPEC_VPMADDUBSWACCSSD,UNSPEC_VPMADDWDACCD,
8042 UNSPEC_VPMADDWDACCSSD): Rename according to new style.
8043 (vpdp<vpdotprodtype>_<mode>): New define_insn.
8044 * doc/extend.texi: Document avxvnniint8.
8045 * doc/invoke.texi: Document -mavxvnniint8.
8046 * doc/sourcebuild.texi: Document target avxvnniint8.
8047
8048 2022-10-21 Hongyu Wang <hongyu.wang@intel.com>
8049
8050 * common/config/i386/i386-common.cc
8051 (OPTION_MASK_ISA_AVXIFMA_SET, OPTION_MASK_ISA2_AVXIFMA_UNSET,
8052 OPTION_MASK_ISA2_AVX2_UNSET): New macro.
8053 (ix86_handle_option): Handle -mavxifma.
8054 * common/config/i386/i386-cpuinfo.h (processor_types): Add
8055 FEATURE_AVXIFMA.
8056 * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
8057 avxifma.
8058 * common/config/i386/cpuinfo.h (get_available_features):
8059 Detect avxifma.
8060 * config.gcc: Add avxifmaintrin.h
8061 * config/i386/avx512ifmavlintrin.h: (_mm_madd52lo_epu64): Change
8062 to macro.
8063 (_mm_madd52hi_epu64): Likewise.
8064 (_mm256_madd52lo_epu64): Likewise.
8065 (_mm256_madd52hi_epu64): Likewise.
8066 * config/i386/avxifmaintrin.h: New header.
8067 * config/i386/cpuid.h (bit_AVXIFMA): New.
8068 * config/i386/i386-builtin.def: Add new builtins, and correct
8069 pattern names for AVX512IFMA.
8070 * config/i386/i386-builtins.cc (def_builtin): Handle AVX-IFMA
8071 builtins like AVX-VNNI.
8072 * config/i386/i386-c.cc (ix86_target_macros_internal): Define
8073 __AVXIFMA__.
8074 * config/i386/i386-expand.cc (ix86_check_builtin_isa_match):
8075 Relax ISA masks for AVXIFMA.
8076 * config/i386/i386-isa.def: Add AVXIFMA.
8077 * config/i386/i386-options.cc (isa2_opts): Add -mavxifma.
8078 (ix86_valid_target_attribute_inner_p): Handle avxifma.
8079 * config/i386/i386.md (isa): Add attr avxifma and avxifmavl.
8080 * config/i386/i386.opt: Add option -mavxifma.
8081 * config/i386/immintrin.h: Inculde avxifmaintrin.h.
8082 * config/i386/sse.md (avx_vpmadd52<vpmadd52type>_<mode>):
8083 Remove.
8084 (vpamdd52<vpmadd52type><mode><sd_maskz_name>): Remove.
8085 (vpamdd52huq<mode>_maskz): Rename to ...
8086 (vpmadd52huq<mode>_maskz): ... this.
8087 (vpamdd52luq<mode>_maskz): Rename to ...
8088 (vpmadd52luq<mode>_maskz): ... this.
8089 (vpmadd52<vpmadd52type><mode>): New define_insn.
8090 (vpmadd52<vpmadd52type>v8di): Likewise.
8091 (vpmadd52<vpmadd52type><mode>_maskz_1): Likewise.
8092 (vpamdd52<vpmadd52type><mode>_mask): Rename to ...
8093 (vpmadd52<vpmadd52type><mode>_mask): ... this.
8094 * doc/invoke.texi: Document -mavxifma.
8095 * doc/extend.texi: Document avxifma.
8096 * doc/sourcebuild.texi: Document target avxifma.
8097
8098 2022-10-20 Aldy Hernandez <aldyh@redhat.com>
8099
8100 PR c++/106654
8101 * value-query.cc (get_range_global): Handle non integer ranges for
8102 default def SSA names.
8103
8104 2022-10-20 Aldy Hernandez <aldyh@redhat.com>
8105
8106 * range-op-float.cc (foperator_unordered_lt::op1_range): New.
8107 (foperator_unordered_lt::op2_range): New.
8108
8109 2022-10-20 Artem Klimov <jakmobius@gmail.com>
8110 Alexander Monakov <amonakov@gcc.gnu.org>
8111
8112 PR middle-end/99619
8113 * ipa-visibility.cc (function_and_variable_visibility): Promote
8114 TLS access model afer visibility optimizations.
8115 * varasm.cc (have_optimized_refs): New helper.
8116 (optimize_dyn_tls_for_decl_p): New helper. Use it ...
8117 (decl_default_tls_model): ... here in place of 'optimize' check.
8118
8119 2022-10-20 Aldy Hernandez <aldyh@redhat.com>
8120
8121 * range-op-float.cc (foperator_unordered_le::op1_range): Adjust
8122 false side with a NAN operand.
8123 (foperator_unordered_le::op2_range): Same.
8124 (foperator_unordered_gt::op1_range): Same.
8125 (foperator_unordered_gt::op2_range): Same.
8126 (foperator_unordered_ge::op1_range): Same.
8127 (foperator_unordered_ge::op2_range): Same.
8128 (foperator_unordered_equal::op1_range): Same.
8129
8130 2022-10-20 Andre Vieira <andre.simoesdiasvieira@arm.com>
8131
8132 PR tree-optimization/107326
8133 * tree-vect-patterns.cc (vect_recog_bitfield_ref_pattern): Change
8134 vectype when widening container.
8135
8136 2022-10-20 Aldy Hernandez <aldyh@redhat.com>
8137
8138 * value-range.h (frange::set_varying): Do not set NAN flags for
8139 !HONOR_NANS.
8140 * value-range.cc (frange::normalize_kind): Adjust for no NAN when
8141 !HONOR_NANS.
8142 (frange::verify_range): Same.
8143 * range-op-float.cc (maybe_isnan): Remove flag_finite_math_only check.
8144
8145 2022-10-20 Aldy Hernandez <aldyh@redhat.com>
8146
8147 * range-op-float.cc (finite_operand_p): Remove.
8148 (finite_operands_p): Rename to...
8149 (maybe_isnan): ...this.
8150 (frelop_early_resolve): Use maybe_isnan instead of finite_operands_p.
8151 (foperator_equal::fold_range): Same.
8152 (foperator_equal::op1_range): Same.
8153 (foperator_not_equal::fold_range): Same.
8154 (foperator_lt::fold_range): Same.
8155 (foperator_le::fold_range): Same.
8156 (foperator_gt::fold_range): Same.
8157 (foperator_ge::fold_range): Same.
8158
8159 2022-10-20 Jakub Jelinek <jakub@redhat.com>
8160
8161 * passes.cc (pass_manager::register_pass): Fix a comment
8162 typo - copmilation -> compilation.
8163
8164 2022-10-20 Richard Biener <rguenther@suse.de>
8165
8166 * tree-vect-loop.cc (vect_phi_first_order_recurrence_p):
8167 Disallow latch PHI defs.
8168 (vectorizable_recurr): Revert previous change.
8169
8170 2022-10-20 Julian Brown <julian@codesourcery.com>
8171
8172 PR target/105421
8173 * config/gcn/gcn.cc (gcn_detect_incoming_pointer_arg): Any pointer
8174 argument forces FLAT addressing mode, not just
8175 pointer-to-non-aggregate.
8176
8177 2022-10-20 Thomas Schwinge <thomas@codesourcery.com>
8178
8179 * configure.ac (AC_CONFIG_MACRO_DIRS): Instantiate.
8180 * configure: Regenerate.
8181
8182 2022-10-20 Richard Sandiford <richard.sandiford@arm.com>
8183
8184 * config/aarch64/aarch64-sve-builtins.h
8185 (gimple_folder::fold_to_cstu): New member function.
8186 * config/aarch64/aarch64-sve-builtins.cc
8187 (gimple_folder::fold_to_cstu): Define.
8188 * config/aarch64/aarch64-sve-builtins-base.cc
8189 (svcnt_bhwd_impl::fold): Use it.
8190
8191 2022-10-20 Richard Sandiford <richard.sandiford@arm.com>
8192
8193 * config/aarch64/aarch64-sve-builtins-functions.h (quiet)
8194 (rtx_code_function, rtx_code_function_rotated, unspec_based_function)
8195 (unspec_based_function_rotated, unspec_based_function_exact_insn)
8196 (unspec_based_fused_function, unspec_based_fused_lane_function):
8197 Replace constructors with using directives.
8198 * config/aarch64/aarch64-sve-builtins-base.cc (svcnt_bhwd_pat_impl)
8199 (svcreate_impl, svdotprod_lane_impl, svget_impl, svld1_extend_impl)
8200 (svld1_gather_extend_impl, svld234_impl, svldff1_gather_extend)
8201 (svset_impl, svst1_scatter_truncate_impl, svst1_truncate_impl)
8202 (svst234_impl, svundef_impl): Likewise.
8203 * config/aarch64/aarch64-sve-builtins-sve2.cc
8204 (svldnt1_gather_extend_impl, svmovl_lb_impl): Likewise.
8205 (svstnt1_scatter_truncate_impl): Likewise.
8206
8207 2022-10-20 Richard Sandiford <richard.sandiford@arm.com>
8208
8209 * config/aarch64/aarch64-sve-builtins-base.cc: Replace CONSTEXPR
8210 with constexpr throughout.
8211 * config/aarch64/aarch64-sve-builtins-functions.h: Likewise.
8212 * config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise.
8213 * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise.
8214 * config/aarch64/aarch64-sve-builtins.cc: Likewise.
8215
8216 2022-10-20 Richard Sandiford <richard.sandiford@arm.com>
8217
8218 * config/aarch64/aarch64-sve.md (*aarch64_brk<brk_op>_cc): Remove
8219 merging alternative.
8220 (*aarch64_brk<brk_op>_ptest): Likewise.
8221
8222 2022-10-20 Richard Sandiford <richard.sandiford@arm.com>
8223
8224 * config/aarch64/iterators.md (SVE_BRKP): New iterator.
8225 * config/aarch64/aarch64-sve.md (*aarch64_brkn_cc): New pattern.
8226 (*aarch64_brkn_ptest): Likewise.
8227 (*aarch64_brk<brk_op>_cc): Restrict to SVE_BRKP.
8228 (*aarch64_brk<brk_op>_ptest): Likewise.
8229
8230 2022-10-20 Richard Biener <rguenther@suse.de>
8231
8232 PR c/107305
8233 PR c/107306
8234 * tree-cfg.h (verify_gimple_in_seq): Add parameter to
8235 indicate whether to emit an ICE. Add return value.
8236 (verify_gimple_in_cfg): Likewise.
8237 * tree-cfg.cc (verify_gimple_in_seq): Likewise.
8238 (verify_gimple_in_cfg): Likewise.
8239
8240 2022-10-20 Richard Biener <rguenther@suse.de>
8241
8242 PR tree-optimization/107240
8243 * tree-vect-patterns.cc (vect_recog_bit_insert_pattern): Attempt to
8244 simplify shifted value first.
8245
8246 2022-10-20 Andrew MacLeod <amacleod@redhat.com>
8247
8248 * gimple-range-gori.h (compute_operand_range): Make public.
8249 * gimple-range-infer.cc (gimple_infer_range::check_assume_func): New.
8250 (gimple_infer_range::gimple_infer_range): Check for assume calls.
8251 * gimple-range-infer.h (check_assume_func): Add prototype.
8252 * gimple-range.cc (assume_query::assume_range_p): New.
8253 (assume_query::range_of_expr): New.
8254 (assume_query::assume_query): New.
8255 (assume_query::calculate_op): New.
8256 (assume_query::calculate_phi): New.
8257 (assume_query::check_taken_edge): New.
8258 (assume_query::calculate_stmt): New.
8259 (assume_query::dump): New.
8260 * gimple-range.h (class assume_query): New.
8261 * tree-vrp.cc (pass_assumptions::execute): Add processing.
8262
8263 2022-10-19 Aldy Hernandez <aldyh@redhat.com>
8264
8265 * range-op-float.cc (build_le): Document result.
8266 (build_lt): Same.
8267 (build_ge): Same.
8268 (foperator_ge::op2_range): Check result of build_*.
8269 (foperator_unordered_le::op1_range): Same.
8270 (foperator_unordered_le::op2_range): Same.
8271 (foperator_unordered_gt::op1_range): Same.
8272 (foperator_unordered_gt::op2_range): Same.
8273 (foperator_unordered_ge::op1_range): Same.
8274 (foperator_unordered_ge::op2_range): Same.
8275
8276 2022-10-19 Marek Polacek <polacek@redhat.com>
8277
8278 PR c++/85043
8279 * doc/invoke.texi: Update documentation of -Wuseless-cast.
8280
8281 2022-10-19 Andrew MacLeod <amacleod@redhat.com>
8282
8283 * gimple-range-cache.cc (ranger_cache::range_from_dom): Use
8284 Value_Range not int_range_max.
8285
8286 2022-10-19 Aldy Hernandez <aldyh@redhat.com>
8287
8288 PR tree-optimization/107312
8289 * range.h (range_true_and_false): Special case 1-bit signed types.
8290 * value-range.cc (range_tests_misc): New test.
8291
8292 2022-10-19 LIU Hao <lh_mouse@126.com>
8293
8294 * config/i386/mingw-mcfgthread.h: New file
8295 * config/i386/mingw32.h: Add builtin macro and default libraries
8296 for mcfgthread when thread model is `mcf`
8297 * config.gcc: Include 'i386/mingw-mcfgthread.h' when thread model
8298 is `mcf`
8299 * configure.ac: Recognize `mcf` as a valid thread model
8300 * config.in: Regenerate
8301 * configure: Regenerate
8302
8303 2022-10-19 Lewis Hyatt <lhyatt@gmail.com>
8304
8305 * gengtype.cc (output_escaped_param): Add missing const.
8306 (get_string_option): Add missing check for option type.
8307 (walk_type): Support new "string_length" GTY option.
8308 (write_types_process_field): Likewise.
8309 * ggc-common.cc (gt_pch_note_object): Add optional length argument.
8310 * ggc.h (gt_pch_note_object): Adjust prototype for new argument.
8311 (gt_pch_n_S2): Declare...
8312 * stringpool.cc (gt_pch_n_S2): ...new function.
8313 * doc/gty.texi: Document new GTY((string_length)) option.
8314
8315 2022-10-19 Martin Liska <mliska@suse.cz>
8316
8317 * doc/extend.texi: Remove useless @tie{} directives.
8318
8319 2022-10-19 Martin Jambor <mjambor@suse.cz>
8320
8321 PR tree-optimization/107206
8322 * tree-sra.cc (struct access): New field grp_result_of_prop_from_lhs.
8323 (analyze_access_subtree): Do not create replacements for accesses with
8324 this flag when not toally scalarizing.
8325 (propagate_subaccesses_from_lhs): Set the new flag.
8326
8327 2022-10-19 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
8328
8329 PR target/106355
8330 * config/s390/s390.cc (s390_call_saved_register_used): For a
8331 parameter with BLKmode fix determining number of consecutive
8332 registers.
8333
8334 2022-10-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
8335
8336 * config/xtensa/xtensa-protos.h
8337 (xtensa_split1_finished_p, xtensa_split_DI_reg_imm): New prototypes.
8338 * config/xtensa/xtensa.cc
8339 (xtensa_split1_finished_p, xtensa_split_DI_reg_imm, xtensa_lra_p):
8340 New functions.
8341 (TARGET_LRA_P): Replace the dummy hook with xtensa_lra_p.
8342 (xt_true_regnum): Rework.
8343 * config/xtensa/xtensa.h (CALL_REALLY_USED_REGISTERS):
8344 Switch from CALL_USED_REGISTERS, and revise the comment.
8345 * config/xtensa/constraints.md (Y):
8346 Use !xtensa_split1_finished_p() instead of can_create_pseudo_p().
8347 * config/xtensa/predicates.md (move_operand): Ditto.
8348 * config/xtensa/xtensa.md: Add two new split patterns:
8349 - splits DImode immediate load into two SImode ones
8350 - puts out-of-constraint SImode constants into the constant pool
8351 * config/xtensa/xtensa.opt (-mlra): New target-specific option
8352 for testing purpose.
8353
8354 2022-10-19 Robin Dapp <rdapp@linux.ibm.com>
8355
8356 * config/s390/s390.md: Move reload_completed and check operands for REG_P.
8357
8358 2022-10-19 Jakub Jelinek <jakub@redhat.com>
8359
8360 PR middle-end/107262
8361 * expr.cc (convert_mode_scalar): For BFmode -> SFmode conversions
8362 of constants, use simplify_unary_operation if fromi has VOIDmode
8363 instead of recursive convert_mode_scalar.
8364
8365 2022-10-19 Jakub Jelinek <jakub@redhat.com>
8366
8367 PR tree-optimization/106990
8368 * match.pd ((~X - ~Y) -> Y - X, -x & 1 -> x & 1): Guard with
8369 !TYPE_OVERFLOW_SANITIZED (type).
8370
8371 2022-10-19 Jakub Jelinek <jakub@redhat.com>
8372
8373 * config/i386/i386-builtins.cc (ix86_bf16_ptr_type_node): Remove.
8374 (ix86_bf16_type_node): New variable.
8375 (ix86_register_bf16_builtin_type): If bfloat16_type_node is NULL
8376 from generic code, set only ix86_bf16_type_node to a new REAL_TYPE
8377 rather than bfloat16_type_node, otherwise set ix86_bf16_type_node
8378 to bfloat16_type_node. Register __bf16 on ix86_bf16_type_node
8379 rather than bfloat16_type_node. Don't initialize unused
8380 ix86_bf16_ptr_type_node.
8381 * config/i386/i386-builtin-types.def (BFLOAT16): Use
8382 ix86_bf16_type_node rather than bfloat16_type_node.
8383
8384 2022-10-19 Richard Biener <rguenther@suse.de>
8385
8386 PR tree-optimization/106781
8387 * cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee): Copy
8388 LHS removal from fixup_noreturn_call.
8389
8390 2022-10-19 liuhongt <hongtao.liu@intel.com>
8391
8392 PR target/107271
8393 * config/i386/i386-expand.cc (ix86_vec_perm_index_canon): New.
8394 (expand_vec_perm_shufps_shufps): Call
8395 ix86_vec_perm_index_canon
8396
8397 2022-10-18 Martin Jambor <mjambor@suse.cz>
8398
8399 * ipa-prop.h (ipa_agg_value): Remove type.
8400 (ipa_agg_value_set): Likewise.
8401 (ipa_copy_agg_values): Remove function.
8402 (ipa_release_agg_values): Likewise.
8403 (ipa_auto_call_arg_values) Add a forward declaration.
8404 (ipa_call_arg_values): Likewise.
8405 (class ipa_argagg_value_list): New constructors, added member function
8406 value_for_index_p.
8407 (class ipa_auto_call_arg_values): Removed the destructor and member
8408 function safe_aggval_at. Use ipa_argagg_values for m_known_aggs.
8409 (class ipa_call_arg_values): Removed member function safe_aggval_at.
8410 Use ipa_argagg_values for m_known_aggs.
8411 (ipa_get_indirect_edge_target): Removed declaration.
8412 (ipa_find_agg_cst_for_param): Likewise.
8413 (ipa_find_agg_cst_from_init): New declaration.
8414 (ipa_agg_value_from_jfunc): Likewise.
8415 (ipa_agg_value_set_from_jfunc): Removed declaration.
8416 (ipa_push_agg_values_from_jfunc): New declaration.
8417 * ipa-cp.cc (ipa_agg_value_from_node): Renamed to
8418 ipa_agg_value_from_jfunc, made public.
8419 (ipa_agg_value_set_from_jfunc): Removed.
8420 (ipa_push_agg_values_from_jfunc): New function.
8421 (ipa_get_indirect_edge_target_1): Removed known_aggs parameter, use
8422 avs for this purpose too.
8423 (ipa_get_indirect_edge_target): Removed the overload working on
8424 ipa_auto_call_arg_values, use ipa_argagg_value_list in the remaining
8425 one.
8426 (devirtualization_time_bonus): Use ipa_argagg_value_list and
8427 ipa_get_indirect_edge_target_1 instead of
8428 ipa_get_indirect_edge_target.
8429 (context_independent_aggregate_values): Removed function.
8430 (gather_context_independent_values): Work on ipa_argagg_value_list.
8431 (estimate_local_effects): Likewise, define some iterator variables
8432 only in the construct where necessary.
8433 (ipcp_discover_new_direct_edges): Adjust the call to
8434 ipa_get_indirect_edge_target_1.
8435 (push_agg_values_for_index_from_edge): Adjust the call
8436 ipa_agg_value_from_node which has been renamed to
8437 ipa_agg_value_from_jfunc.
8438 * ipa-fnsummary.cc (evaluate_conditions_for_known_args): Work on
8439 ipa_argagg_value_list.
8440 (evaluate_properties_for_edge): Replace manual filling in aggregate
8441 values with call to ipa_push_agg_values_from_jfunc.
8442 (estimate_calls_size_and_time): Work on ipa_argagg_value_list.
8443 (ipa_cached_call_context::duplicate_from): Likewise.
8444 (ipa_cached_call_context::release): Likewise.
8445 (ipa_call_context::equal_to): Likewise.
8446 * ipa-prop.cc (ipa_find_agg_cst_from_init): Make public.
8447 (ipa_find_agg_cst_for_param): Removed function.
8448 (ipa_find_agg_cst_from_jfunc_items): New function.
8449 (try_make_edge_direct_simple_call): Replace calls to
8450 ipa_agg_value_set_from_jfunc and ipa_find_agg_cst_for_param with
8451 ipa_find_agg_cst_from_init and ipa_find_agg_cst_from_jfunc_items.
8452 (try_make_edge_direct_virtual_call): Replace calls to
8453 ipa_agg_value_set_from_jfunc and ipa_find_agg_cst_for_param with
8454 simple query of constant jump function and a call to
8455 ipa_find_agg_cst_from_jfunc_items.
8456 (ipa_auto_call_arg_values::~ipa_auto_call_arg_values): Removed.
8457
8458 2022-10-18 Martin Jambor <mjambor@suse.cz>
8459
8460 * ipa-prop.h (IPA_PROP_ARG_INDEX_LIMIT_BITS): New.
8461 (ipcp_transformation): Added forward declaration.
8462 (ipa_argagg_value): New type.
8463 (ipa_argagg_value_list): New type.
8464 (ipa_agg_replacement_value): Removed type.
8465 (ipcp_transformation): Switch from using ipa_agg_replacement_value
8466 to ipa_argagg_value_list.
8467 (ipa_get_agg_replacements_for_node): Removed.
8468 (ipa_dump_agg_replacement_values): Removed declaration.
8469 * ipa-cp.cc: Define INCLUDE_ALGORITHM.
8470 (values_equal_for_ipcp_p): Moved up in the file.
8471 (ipa_argagg_value_list::dump): New function.
8472 (ipa_argagg_value_list::debug): Likewise.
8473 (ipa_argagg_value_list::get_elt): Likewise.
8474 (ipa_argagg_value_list::get_elt_for_index): Likewise.
8475 (ipa_argagg_value_list::get_value): New overloaded functions.
8476 (ipa_argagg_value_list::superset_of_p): New function.
8477 (new ipa_argagg_value_list::push_adjusted_values): Likewise.
8478 (push_agg_values_from_plats): Likewise.
8479 (intersect_argaggs_with): Likewise.
8480 (get_clone_agg_value): Removed.
8481 (ipa_agg_value_from_node): Make last parameter const, use
8482 ipa_argagg_value_list to search values coming from clones.
8483 (ipa_get_indirect_edge_target_1): Use ipa_argagg_value_list to search
8484 values coming from clones.
8485 (ipcp_discover_new_direct_edges): Pass around a vector of
8486 ipa_argagg_values rather than a link list of replacement values.
8487 (cgraph_edge_brings_value_p): Use ipa_argagg_value_list to search
8488 values coming from clones.
8489 (create_specialized_node): Work with a vector of ipa_argagg_values
8490 rather than a link list of replacement values.
8491 (self_recursive_agg_pass_through_p): Make the pointer parameters
8492 const.
8493 (copy_plats_to_inter): Removed.
8494 (intersect_with_plats): Likewise.
8495 (agg_replacements_to_vector): Likewise.
8496 (intersect_with_agg_replacements): Likewise.
8497 (intersect_aggregates_with_edge): Likewise.
8498 (push_agg_values_for_index_from_edge): Likewise.
8499 (push_agg_values_from_edge): Likewise.
8500 (find_aggregate_values_for_callers_subset): Rewrite.
8501 (cgraph_edge_brings_all_agg_vals_for_node): Likewise.
8502 (ipcp_val_agg_replacement_ok_p): Use ipa_argagg_value_list to search
8503 aggregate values.
8504 (decide_about_value): Work with a vector of ipa_argagg_values rather
8505 than a link list of replacement values.
8506 (decide_whether_version_node): Likewise.
8507 (ipa_analyze_node): Check number of parameters, assert that there
8508 are no descriptors when bailing out.
8509 * ipa-prop.cc (ipa_set_node_agg_value_chain): Switch to a vector of
8510 ipa_argagg_value.
8511 (ipa_node_params_t::duplicate): Removed superfluous handling of
8512 ipa_agg_replacement_values. Name of src parameter removed because
8513 it is no longer used.
8514 (ipcp_transformation_t::duplicate): Replaced duplication of
8515 ipa_agg_replacement_values with copying vector m_agg_values.
8516 (ipa_dump_agg_replacement_values): Removed.
8517 (write_ipcp_transformation_info): Stream the new data-structure
8518 instead of the old.
8519 (read_ipcp_transformation_info): Likewise.
8520 (adjust_agg_replacement_values): Work with ipa_argagg_values instead
8521 of linked lists of ipa_agg_replacement_values, copy the items and
8522 truncate the vector as necessary to keep it sorted instead of marking
8523 items as invalid. Return one bool if CFG should be updated.
8524 (ipcp_modif_dom_walker): Store ipcp_transformation instead of
8525 linked list of ipa_agg_replacement_values.
8526 (ipcp_modif_dom_walker::before_dom_children): Use
8527 ipa_argagg_value_list instead of walking a list of
8528 ipa_agg_replacement_values.
8529 (ipcp_transform_function): Switch to the new data structure, adjust
8530 dumping.
8531
8532 2022-10-18 Richard Biener <rguenther@suse.de>
8533
8534 PR tree-optimization/107302
8535 * tree-vect-loop.cc (vectorizable_recurrence): Fix vec_perm
8536 placement for a PHI latch def.
8537
8538 2022-10-18 Andre Vieira <andre.simoesdiasvieira@arm.com>
8539
8540 PR tree-optimization/107275
8541 * tree-if-conv.cc (if_convertible_loop_p_1): Move
8542 find_data_references_in_loop call from here...
8543 (if_convertible_loop_p): And move data-reference vector initialization
8544 from here...
8545 (tree_if_conversion):... to here.
8546
8547 2022-10-18 Jakub Jelinek <jakub@redhat.com>
8548
8549 PR c++/106654
8550 * gimple.def (GIMPLE_ASSUME): New statement kind.
8551 * gimple.h (struct gimple_statement_assume): New type.
8552 (is_a_helper <gimple_statement_assume *>::test,
8553 is_a_helper <const gimple_statement_assume *>::test): New.
8554 (gimple_build_assume): Declare.
8555 (gimple_has_substatements): Return true for GIMPLE_ASSUME.
8556 (gimple_assume_guard, gimple_assume_set_guard,
8557 gimple_assume_guard_ptr, gimple_assume_body_ptr, gimple_assume_body):
8558 New inline functions.
8559 * gsstruct.def (GSS_ASSUME): New.
8560 * gimple.cc (gimple_build_assume): New function.
8561 (gimple_copy): Handle GIMPLE_ASSUME.
8562 * gimple-pretty-print.cc (dump_gimple_assume): New function.
8563 (pp_gimple_stmt_1): Handle GIMPLE_ASSUME.
8564 * gimple-walk.cc (walk_gimple_op): Handle GIMPLE_ASSUME.
8565 * omp-low.cc (WALK_SUBSTMTS): Likewise.
8566 (lower_omp_1): Likewise.
8567 * omp-oacc-kernels-decompose.cc (adjust_region_code_walk_stmt_fn):
8568 Likewise.
8569 * tree-cfg.cc (verify_gimple_stmt, verify_gimple_in_seq_2): Likewise.
8570 * function.h (struct function): Add assume_function bitfield.
8571 * gimplify.cc (gimplify_call_expr): If the assumption isn't
8572 simple enough, expand it into GIMPLE_ASSUME wrapped block or
8573 for -O0 drop it.
8574 * gimple-low.cc: Include attribs.h.
8575 (create_assumption_fn): New function.
8576 (struct lower_assumption_data): New type.
8577 (find_assumption_locals_r, assumption_copy_decl,
8578 adjust_assumption_stmt_r, adjust_assumption_stmt_op,
8579 lower_assumption): New functions.
8580 (lower_stmt): Handle GIMPLE_ASSUME.
8581 * tree-ssa-ccp.cc (pass_fold_builtins::execute): Remove
8582 IFN_ASSUME calls.
8583 * lto-streamer-out.cc (output_struct_function_base): Pack
8584 assume_function bit.
8585 * lto-streamer-in.cc (input_struct_function_base): And unpack it.
8586 * cgraphunit.cc (cgraph_node::expand): Don't verify assume_function
8587 has TREE_ASM_WRITTEN set and don't release its body.
8588 (symbol_table::compile): Allow assume functions not to have released
8589 body.
8590 * internal-fn.cc (expand_ASSUME): Remove gcc_unreachable.
8591 * passes.cc (execute_one_pass): For TODO_discard_function don't
8592 release body of assume functions.
8593 * cgraph.cc (cgraph_node::verify_node): Don't verify cgraph nodes
8594 of PROP_assumptions_done functions.
8595 * tree-pass.h (PROP_assumptions_done): Define.
8596 (TODO_discard_function): Adjust comment.
8597 (make_pass_assumptions): Declare.
8598 * passes.def (pass_assumptions): Add.
8599 * timevar.def (TV_TREE_ASSUMPTIONS): New.
8600 * tree-inline.cc (remap_gimple_stmt): Handle GIMPLE_ASSUME.
8601 * tree-vrp.cc (pass_data_assumptions): New variable.
8602 (pass_assumptions): New class.
8603 (make_pass_assumptions): New function.
8604
8605 2022-10-18 Richard Biener <rguenther@suse.de>
8606
8607 PR tree-optimization/107301
8608 * gimple-ssa-isolate-paths.cc (handle_return_addr_local_phi_arg):
8609 Check whether we can duplicate the block.
8610 (find_implicit_erroneous_behavior): Likewise.
8611
8612 2022-10-18 Andrew MacLeod <amacleod@redhat.com>
8613
8614 PR tree-optimization/107273
8615 * value-relation.cc (equiv_oracle::add_partial_equiv): Merge
8616 instead of copying precison of each member.
8617
8618 2022-10-17 Jeff Law <jeffreyalaw@gmail.com>
8619
8620 PR target/101697
8621 * config/h8300/combiner.md: Replace '<' preincment constraint with
8622 ZA/Z1..ZH/Z7 combinations.
8623 * config/h8300/movepush.md: Similarly
8624
8625 2022-10-17 Jeff Law <jeffreyalaw@gmail.com>
8626
8627 * config/h8300/constraints.md (Za..Zh): New constraints for
8628 autoinc addresses using a specific register.
8629 * config/h8300/h8300.cc (pre_incdec_with_reg): New function.
8630 * config/h8300/h8300-protos.h (pre_incdec_with_reg): Add prototype.
8631
8632 2022-10-17 Jeff Law <jlaw@ventanamicro.com>
8633
8634 * config/i386/cet.c: Remove accidental commit.
8635 * config/i386/driver-mingw32.c: Likewise.
8636 * config/i386/i386-builtins.c: Likewise.
8637 * config/i386/i386-d.c: Likewise.
8638 * config/i386/i386-expand.c: Likewise.
8639 * config/i386/i386-features.c: Likewise.
8640 * config/i386/i386-options.c: Likewise.
8641 * config/i386/t-cet: Likewise.
8642 * config/i386/x86-tune-sched-atom.c: Likewise.
8643 * config/i386/x86-tune-sched-bd.c: Likewise.
8644 * config/i386/x86-tune-sched-core.c: Likewise.
8645 * config/i386/x86-tune-sched.c: Likewise.
8646
8647 2022-10-17 Jeff Law <jeffreyalaw@gmail.com>
8648
8649 * common/config/h8300/h8300-common.cc (h8300_option_optimization_table):
8650 Enable redundant extension elimination at -O2 and above.
8651 * config/i386/cet.c: New file.
8652 * config/i386/driver-mingw32.c: New file.
8653 * config/i386/i386-builtins.c: New file.
8654 * config/i386/i386-d.c: New file.
8655 * config/i386/i386-expand.c: New file.
8656 * config/i386/i386-features.c: New file.
8657 * config/i386/i386-options.c: New file.
8658 * config/i386/t-cet: New file.
8659 * config/i386/x86-tune-sched-atom.c: New file.
8660 * config/i386/x86-tune-sched-bd.c: New file.
8661 * config/i386/x86-tune-sched-core.c: New file.
8662 * config/i386/x86-tune-sched.c: New file.
8663
8664 2022-10-17 Jeff Law <jeffreyalaw@gmail.com>
8665
8666 * config/h8300/extensions.md (CCZN setting zero extended load): Add
8667 missing splitter.
8668
8669 2022-10-17 Aldy Hernandez <aldyh@redhat.com>
8670
8671 PR tree-optimization/107293
8672 * tree-ssa-dom.cc
8673 (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges):
8674 Check that condition post-dominates the definition point.
8675
8676 2022-10-17 Aldy Hernandez <aldyh@redhat.com>
8677
8678 PR tree-optimization/107286
8679 * value-range.cc (range_tests_floats): Do not test for -Inf when
8680 flag_finite_math_only.
8681
8682 2022-10-17 Andrew MacLeod <amacleod@redhat.com>
8683
8684 * gimple-range-fold.cc (fold_using_range::range_of_range_op):
8685 Provide relation_trio class.
8686 * gimple-range-gori.cc (gori_compute::refine_using_relation):
8687 Provide relation_trio class.
8688 (gori_compute::refine_using_relation): Ditto.
8689 (gori_compute::compute_operand1_range): Provide lhs_op2 and
8690 op1_op2 relations via relation_trio class.
8691 (gori_compute::compute_operand2_range): Ditto.
8692 * gimple-range-op.cc (gimple_range_op_handler::calc_op1): Use
8693 relation_trio instead of relation_kind.
8694 (gimple_range_op_handler::calc_op2): Ditto.
8695 (*::fold_range): Ditto.
8696 * gimple-range-op.h (gimple_range_op::calc_op1): Adjust prototypes.
8697 (gimple_range_op::calc_op2): Adjust prototypes.
8698 * range-op-float.cc (*::fold_range): Use relation_trio instead of
8699 relation_kind.
8700 (*::op1_range): Ditto.
8701 (*::op2_range): Ditto.
8702 * range-op.cc (*::fold_range): Use relation_trio instead of
8703 relation_kind.
8704 (*::op1_range): Ditto.
8705 (*::op2_range): Ditto.
8706 * range-op.h (class range_operator): Adjust prototypes.
8707 (class range_operator_float): Ditto.
8708 (class range_op_handler): Adjust prototypes.
8709 (relop_early_resolve): Pickup op1_op2 relation from relation_trio.
8710 * value-relation.cc (VREL_LAST): Adjust use to be one past the end of
8711 the enum.
8712 (relation_oracle::validate_relation): Use relation_trio in call
8713 to fold_range.
8714 * value-relation.h (enum relation_kind_t): Add VREL_LAST as
8715 final element.
8716 (class relation_trio): New.
8717 (TRIO_VARYING, TRIO_SHIFT, TRIO_MASK): New.
8718
8719 2022-10-17 Andrew MacLeod <amacleod@redhat.com>
8720
8721 * range-op-float.cc (foperator_not_equal::op1_range): Check for
8722 VREL_EQ after singleton.
8723 (foperator_unordered::op1_range): Set VARYING before calling
8724 clear_nan().
8725 (foperator_ordered::op1_range): Set rather than clear NAN if both
8726 operands are the same.
8727
8728 2022-10-17 Andrew MacLeod <amacleod@redhat.com>
8729
8730 * value-relation.cc (value_relation::dump): Change message.
8731 * value-relation.h (value_relation::set_relation): If op1 is the
8732 same as op2 do not create a relation.
8733
8734 2022-10-17 Thomas Schwinge <thomas@codesourcery.com>
8735
8736 * config/gcn/gcn.cc (VnMODE): Use 'case E_QImode:' instead of
8737 'case QImode:', etc.
8738
8739 2022-10-17 Thomas Schwinge <thomas@codesourcery.com>
8740
8741 * gimple-expr.cc (mark_addressable_2): Tag as 'static'.
8742
8743 2022-10-17 Richard Biener <rguenther@suse.de>
8744 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
8745
8746 PR tree-optimization/99409
8747 PR tree-optimization/99394
8748 * tree-vectorizer.h (vect_def_type::vect_first_order_recurrence): Add.
8749 (stmt_vec_info_type::recurr_info_type): Likewise.
8750 (vectorizable_recurr): New function.
8751 * tree-vect-loop.cc (vect_phi_first_order_recurrence_p): New
8752 function.
8753 (vect_analyze_scalar_cycles_1): Look for first order
8754 recurrences.
8755 (vect_analyze_loop_operations): Handle them.
8756 (vect_transform_loop): Likewise.
8757 (vectorizable_recurr): New function.
8758 (maybe_set_vectorized_backedge_value): Handle the backedge value
8759 setting in the first order recurrence PHI and the permutes.
8760 * tree-vect-stmts.cc (vect_analyze_stmt): Handle first order
8761 recurrences.
8762 (vect_transform_stmt): Likewise.
8763 (vect_is_simple_use): Likewise.
8764 (vect_is_simple_use): Likewise.
8765 * tree-vect-slp.cc (vect_get_and_check_slp_defs): Likewise.
8766 (vect_build_slp_tree_2): Likewise.
8767 (vect_schedule_scc): Handle the backedge value setting in the
8768 first order recurrence PHI and the permutes.
8769
8770 2022-10-17 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
8771
8772 * config/riscv/t-riscv: Change Tab into 2 space.
8773
8774 2022-10-17 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
8775
8776 * config/riscv/riscv-vector-builtins.cc (mangle_builtin_type): Move down the function.
8777
8778 2022-10-17 Arsen Arsenovic <arsen@aarsen.me>
8779
8780 * config.gcc: --target=*-elf --without-{newlib,headers} should
8781 provide stdint.h.
8782
8783 2022-10-17 Hu, Lin1 <lin1.hu@intel.com>
8784
8785 * common/config/i386/cpuinfo.h:
8786 (get_intel_cpu): Handle Meteorlake.
8787 * common/config/i386/i386-common.cc:
8788 (processor_alias_table): Add Meteorlake.
8789
8790 2022-10-17 Haochen Jiang <haochen.jiang@intel.com>
8791
8792 * common/config/i386/cpuinfo.h:
8793 (get_intel_cpu): Handle Raptorlake.
8794 * common/config/i386/i386-common.cc:
8795 (processor_alias_table): Add Raptorlake.
8796
8797 2022-10-16 Jeff Law <jeffreyalaw@gmail.com>
8798
8799 * config/h8300/constraints.md (Z0..Z7): New register
8800 constraints.
8801 * config/h8300/h8300.h (reg_class): Add new classes.
8802 (REG_CLASS_NAMES): Similarly.
8803 (REG_CLASS_CONTENTS): Similarly.
8804
8805 2022-10-16 Jeff Law <jeffreyalaw@gmail.com>
8806
8807 * config/h8300/constraints.md (Zz constraint): Renamed
8808 from "z".
8809 * config/h8300/movepush.md (movqi_h8sx, movhi_h8sx): Adjust
8810 constraint to use Zz instead of Z.
8811
8812 2022-10-16 Jeff Law <jeffreyalaw@gmail.com>
8813
8814 * config/h8300/h8300.cc (h8300_register_move_cost): Fix typo.
8815
8816 2022-10-14 Aldy Hernandez <aldyh@redhat.com>
8817
8818 * value-range.cc (frange::set): Implement distinction between
8819 HONOR_SIGNED_ZEROS and MODE_HAS_SIGNED_ZEROS.
8820
8821 2022-10-14 Aldy Hernandez <aldyh@redhat.com>
8822
8823 * gimple-range-op.cc (class cfn_copysign): New.
8824 (gimple_range_op_handler::maybe_builtin_call): Add
8825 CFN_BUILT_IN_COPYSIGN*.
8826
8827 2022-10-14 Aldy Hernandez <aldyh@redhat.com>
8828
8829 * real.h (real_isdenormal): Check rvc_normal.
8830 * value-range.cc (range_tests_floats): New test.
8831
8832 2022-10-14 Aldy Hernandez <aldyh@redhat.com>
8833
8834 * gimple-range-op.cc
8835 (gimple_range_op_handler::maybe_builtin_call): Replace
8836 CFN_BUILTIN_SIGNBIT* cases with CASE_FLT_FN.
8837
8838 2022-10-14 Aldy Hernandez <aldyh@redhat.com>
8839
8840 * value-range.cc (frange::set): Normalize ranges for both bounds.
8841
8842 2022-10-14 Aldy Hernandez <aldyh@redhat.com>
8843
8844 * value-range.cc (frange::set): Drop -0.0 for !HONOR_SIGNED_ZEROS.
8845
8846 2022-10-14 Aldy Hernandez <aldyh@redhat.com>
8847
8848 * gimple-range-op.cc
8849 (gimple_range_op_handler::maybe_builtin_call): Add
8850 CFN_BUILT_IN_SIGNBIT[FL]* entries.
8851
8852 2022-10-14 Richard Biener <rguenther@suse.de>
8853
8854 PR tree-optimization/107254
8855 * tree-vect-slp.cc (vect_slp_analyze_node_operations_1):
8856 For permutes also analyze live lanes.
8857 (vect_schedule_slp_node): For permutes also code generate
8858 live lane extracts.
8859
8860 2022-10-14 Eric Botcazou <ebotcazou@adacore.com>
8861
8862 PR target/107248
8863 * config/sparc/sparc.cc (sparc_expand_prologue): Emit a frame
8864 blockage for leaf functions.
8865 (sparc_flat_expand_prologue): Emit frame instead of full blockage.
8866 (sparc_expand_epilogue): Emit a frame blockage for leaf functions.
8867 (sparc_flat_expand_epilogue): Emit frame instead of full blockage.
8868
8869 2022-10-14 Jakub Jelinek <jakub@redhat.com>
8870
8871 * tree-core.h (enum tree_index): Add TI_BFLOAT16_TYPE.
8872 * tree.h (bfloat16_type_node): Define.
8873 * tree.cc (excess_precision_type): Promote bfloat16_type_mode
8874 like float16_type_mode.
8875 (build_common_tree_nodes): Initialize bfloat16_type_node if
8876 BFmode is supported.
8877 * expmed.h (maybe_expand_shift): Declare.
8878 * expmed.cc (maybe_expand_shift): No longer static.
8879 * expr.cc (convert_mode_scalar): Don't ICE on BF -> HF or HF -> BF
8880 conversions. If there is no optab, handle BF -> {DF,XF,TF,HF}
8881 conversions as separate BF -> SF -> {DF,XF,TF,HF} conversions, add
8882 -ffast-math generic implementation for BF -> SF and SF -> BF
8883 conversions.
8884 * builtin-types.def (BT_BFLOAT16, BT_FN_BFLOAT16_CONST_STRING): New.
8885 * builtins.def (BUILT_IN_NANSF16B): New builtin.
8886 * fold-const-call.cc (fold_const_call): Handle CFN_BUILT_IN_NANSF16B.
8887 * config/i386/i386.cc (classify_argument): Handle E_BCmode.
8888 (ix86_libgcc_floating_mode_supported_p): Also return true for BFmode
8889 for -msse2.
8890 (ix86_mangle_type): Mangle BFmode as DF16b.
8891 (ix86_invalid_conversion, ix86_invalid_unary_op,
8892 ix86_invalid_binary_op): Remove.
8893 (TARGET_INVALID_CONVERSION, TARGET_INVALID_UNARY_OP,
8894 TARGET_INVALID_BINARY_OP): Don't redefine.
8895 * config/i386/i386-builtins.cc (ix86_bf16_type_node): Remove.
8896 (ix86_register_bf16_builtin_type): Use bfloat16_type_node rather than
8897 ix86_bf16_type_node, only create it if still NULL.
8898 * config/i386/i386-builtin-types.def (BFLOAT16): Likewise.
8899 * config/i386/i386.md (cbranchbf4, cstorebf4): New expanders.
8900
8901 2022-10-14 Jakub Jelinek <jakub@redhat.com>
8902
8903 PR middle-end/323
8904 PR c++/107097
8905 * doc/invoke.texi (-fexcess-precision=standard): Mention that the
8906 option now also works in C++.
8907
8908 2022-10-13 Eric Botcazou <ebotcazou@adacore.com>
8909
8910 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Return
8911 early for calls made from thunks.
8912
8913 2022-10-13 Eric Botcazou <ebotcazou@adacore.com>
8914
8915 * expr.cc (emit_group_stote): Fix handling of modes of different
8916 sizes for big-endian targets in latest change and add commentary.
8917
8918 2022-10-13 Martin Liska <mliska@suse.cz>
8919
8920 * output.h (assemble_vtv_preinit_initializer): Remove.
8921 * varasm.cc (assemble_vtv_preinit_initializer): Remove.
8922
8923 2022-10-13 Andrew MacLeod <amacleod@redhat.com>
8924
8925 PR tree-optimization/102540
8926 PR tree-optimization/102872
8927 * gimple-range-cache.cc (ranger_cache::fill_block_cache):
8928 Handle partial equivs.
8929 (ranger_cache::range_from_dom): Cleanup dump output.
8930
8931 2022-10-13 Andrew MacLeod <amacleod@redhat.com>
8932
8933 * range-op.cc (operator_cast::lhs_op1_relation): New.
8934 (operator_bitwise_and::lhs_op1_relation): New.
8935
8936 2022-10-13 Andrew MacLeod <amacleod@redhat.com>
8937
8938 * gimple-range-cache.cc (ranger_cache::fill_block_cache): Use
8939 iterator.
8940 * value-relation.cc
8941 (equiv_relation_iterator::equiv_relation_iterator): New.
8942 (equiv_relation_iterator::next): New.
8943 (equiv_relation_iterator::get_name): New.
8944 * value-relation.h (class relation_oracle): Privatize some methods.
8945 (class equiv_relation_iterator): New.
8946 (FOR_EACH_EQUIVALENCE): New.
8947 (FOR_EACH_PARTIAL_EQUIV): New.
8948 (FOR_EACH_PARTIAL_AND_FULL_EQUIV): New.
8949
8950 2022-10-13 Andrew MacLeod <amacleod@redhat.com>
8951
8952 * value-relation.cc (equiv_chain::dump): Don't print empty
8953 equivalences.
8954 (equiv_oracle::equiv_oracle): Allocate a partial equiv table.
8955 (equiv_oracle::~equiv_oracle): Release the partial equiv table.
8956 (equiv_oracle::add_partial_equiv): New.
8957 (equiv_oracle::partial_equiv_set): New.
8958 (equiv_oracle::partial_equiv): New.
8959 (equiv_oracle::query_relation): Check for partial equivs too.
8960 (equiv_oracle::dump): Also dump partial equivs.
8961 (dom_oracle::register_relation): Handle partial equivs.
8962 (dom_oracle::query_relation): Check for partial equivs.
8963 * value-relation.h (enum relation_kind_t): Add partial equivs.
8964 (relation_partial_equiv_p): New.
8965 (relation_equiv_p): New.
8966 (class pe_slice): New.
8967 (class equiv_oracle): Add prototypes.
8968 (pe_to_bits): New.
8969 (bits_to_pe): New.
8970 (pe_min): New.
8971
8972 2022-10-13 Richard Biener <rguenther@suse.de>
8973
8974 PR tree-optimization/107247
8975 * tree-vect-loop.cc (vect_create_epilog_for_reduction):
8976 Reduce multi vector SLP reduction accumulators. Check
8977 the adjusted number of accumulator vectors against
8978 one for the re-use in the epilogue.
8979
8980 2022-10-13 Jakub Jelinek <jakub@redhat.com>
8981
8982 * genmodes.cc (emit_mode_wider): Emit previous content of
8983 mode_wider array into mode_next array and for mode_wider
8984 emit always VOIDmode for !CLASS_HAS_WIDER_MODES_P classes,
8985 otherwise skip through modes with the same precision.
8986 * machmode.h (mode_next): Declare.
8987 (GET_MODE_NEXT_MODE): New inline function.
8988 (mode_iterator::get_next, mode_iterator::get_known_next): New
8989 function templates.
8990 (FOR_EACH_MODE_IN_CLASS): Use get_next instead of get_wider.
8991 (FOR_EACH_MODE): Use get_known_next instead of get_known_wider.
8992 (FOR_EACH_MODE_FROM): Use get_next instead of get_wider.
8993 (FOR_EACH_WIDER_MODE_FROM): Define.
8994 (FOR_EACH_NEXT_MODE): Define.
8995 * expmed.cc (emit_store_flag_1): Use FOR_EACH_WIDER_MODE_FROM
8996 instead of FOR_EACH_MODE_FROM.
8997 * optabs.cc (prepare_cmp_insn): Likewise. Remove redundant
8998 !CLASS_HAS_WIDER_MODES_P check.
8999 (prepare_float_lib_cmp): Use FOR_EACH_WIDER_MODE_FROM instead of
9000 FOR_EACH_MODE_FROM.
9001 * config/i386/i386-expand.cc (get_mode_wider_vector): Use
9002 GET_MODE_NEXT_MODE instead of GET_MODE_WIDER_MODE.
9003
9004 2022-10-13 Wilco Dijkstra <wdijkstr@arm.com>
9005
9006 PR target/105773
9007 * config/aarch64/aarch64.cc (aarch64_select_cc_mode): Allow
9008 GT/LE for merging compare with zero into AND.
9009 (aarch64_get_condition_code_1): Add CC_NZVmode support.
9010 * config/aarch64/aarch64-modes.def: Add CC_NZV.
9011 * config/aarch64/aarch64.md: Use CC_NZV in cmp+and patterns.
9012
9013 2022-10-13 Richard Biener <rguenther@suse.de>
9014
9015 PR tree-optimization/107160
9016 * tree-vect-loop.cc (vect_create_epilog_for_reduction):
9017 Do not register accumulator if we failed to reduce it
9018 to a single vector.
9019
9020 2022-10-13 Aldy Hernandez <aldyh@redhat.com>
9021
9022 * range-op-float.cc (range_operator_float::op1_op2_relation): New.
9023 (class foperator_equal): Add using.
9024 (class foperator_not_equal): Same.
9025 (class foperator_lt): Same.
9026 (class foperator_le): Same.
9027 (class foperator_gt): Same.
9028 (class foperator_ge): Same.
9029 * range-op.cc (range_op_handler::op1_op2_relation): New.
9030 * range-op.h (range_operator_float::op1_op2_relation): New.
9031
9032 2022-10-13 Richard Biener <rguenther@suse.de>
9033
9034 * genmatch.cc (parser::parse_c_expr): Diagnose 'return'.
9035 * match.pd: Replace 'return' statements in with expressions
9036 with appropriate variants.
9037
9038 2022-10-13 Andre Vieira <andre.simoesdiasvieira@arm.com>
9039
9040 PR tree-optimization/107229
9041 * tree-if-conv.cc (get_bitfield_rep): Fix bitposition calculation.
9042
9043 2022-10-13 Andre Vieira <andre.simoesdiasvieira@arm.com>
9044
9045 PR tree-optimization/107226
9046 * tree-vect-patterns.cc (vect_recog_bitfield_ref_pattern): Reject
9047 BITFIELD_REF's with non integral typed first operands.
9048
9049 2022-10-13 Joseph Myers <joseph@codesourcery.com>
9050
9051 * ginclude/float.h (FLT_IS_IEC_60559, DBL_IS_IEC_60559)
9052 (LDBL_IS_IEC_60559): Update comment.
9053
9054 2022-10-12 Aldy Hernandez <aldyh@redhat.com>
9055
9056 * range-op-float.cc (class foperator_negate): New.
9057 (floating_op_table::floating_op_table): Add NEGATE_EXPR
9058 (range_op_float_tests): Add negate tests.
9059
9060 2022-10-12 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
9061
9062 * config/riscv/riscv-vector-builtins.h: Remove unused macro.
9063
9064 2022-10-12 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
9065
9066 * config/riscv/riscv-vector-builtins.cc (DEF_RVV_TYPE): Apply
9067 clang-format.
9068 (add_vector_type_attribute): Ditto.
9069 * config/riscv/riscv-vector-builtins.def (DEF_RVV_TYPE): Apply
9070 clang-format.
9071 * config/riscv/riscv-vector-builtins.h (DEF_RVV_TYPE): Apply
9072 clang-format.
9073
9074 2022-10-12 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
9075
9076 * config/riscv/riscv-vector-builtins.cc (builtin_types): Redefine
9077 vector types.
9078 (build_const_pointer): New function.
9079 (register_builtin_type): Ditto.
9080 (DEF_RVV_TYPE): Simplify macro.
9081 (register_vector_type): Refine implementation.
9082 * config/riscv/riscv-vector-builtins.h (rvv_builtin_types_t): New.
9083
9084 2022-10-12 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
9085
9086 * config/riscv/riscv-vector-builtins.h (class rvv_switcher): Move to
9087 this to ....
9088 * config/riscv/riscv-vector-builtins.cc (class rvv_switcher):
9089 here.
9090
9091 2022-10-12 Cui,Lili <lili.cui@intel.com>
9092
9093 * config/i386/driver-i386.cc (host_detect_local_cpu):
9094 Move sapphirerapids out of AVX512_VP2INTERSECT.
9095 * config/i386/i386.h: Remove AVX512_VP2INTERSECT from PTA_SAPPHIRERAPIDS
9096 * doc/invoke.texi: Remove AVX512_VP2INTERSECT from SAPPHIRERAPIDS
9097
9098 2022-10-12 Martin Liska <mliska@suse.cz>
9099
9100 * gcov-io.cc (gcov_write_summary): Rename to ...
9101 (gcov_write_object_summary): ... this.
9102 * gcov-io.h (GCOV_TAG_OBJECT_SUMMARY_LENGTH): Rename from ...
9103 (GCOV_TAG_SUMMARY_LENGTH): ... this.
9104
9105 2022-10-12 Martin Liska <mliska@suse.cz>
9106
9107 * configure: Regenerate.
9108
9109 2022-10-12 Aldy Hernandez <aldyh@redhat.com>
9110
9111 * range-op-float.cc (frange_float): New.
9112 (range_op_float_tests): New.
9113 * range-op.cc (range_op_tests): Call range_op_float_tests.
9114
9115 2022-10-12 Aldy Hernandez <aldyh@redhat.com>
9116
9117 * value-range.h (frange::nan_signbit_p): New.
9118
9119 2022-10-12 Aldy Hernandez <aldyh@redhat.com>
9120
9121 * value-range.cc (frange::set_nonnegative): Pass bool to
9122 update_nan.
9123 * value-range.h: Disallow conversion to bool in update_nan().
9124
9125 2022-10-12 Aldy Hernandez <aldyh@redhat.com>
9126
9127 * value-range.h (frange::frange): Add constructor taking type.
9128
9129 2022-10-12 Aldy Hernandez <aldyh@redhat.com>
9130
9131 * range-op-float.cc: Add relation_kind = VREL_VARYING to all
9132 methods.
9133
9134 2022-10-11 Aldy Hernandez <aldyh@redhat.com>
9135
9136 * gimple-range-gori.cc (gori_compute::logical_combine): Avoid
9137 calling tracer.trailer().
9138
9139 2022-10-11 Jakub Jelinek <jakub@redhat.com>
9140
9141 PR target/107185
9142 * config/i386/i386.md (*notxor<mode>_1): Use MASK_REG_P (x) instead of
9143 MASK_REGNO_P (REGNO (x)).
9144
9145 2022-10-11 Aldy Hernandez <aldyh@redhat.com>
9146
9147 * range-op-float.cc (class foperator_abs): New.
9148 (floating_op_table::floating_op_table): Add ABS_EXPR entry.
9149
9150 2022-10-11 Aldy Hernandez <aldyh@redhat.com>
9151
9152 * range-op-float.cc (foperator_unordered_le::op1_range): New.
9153 (foperator_unordered_le::op2_range): New.
9154 (foperator_unordered_gt::op1_range): New.
9155 (foperator_unordered_gt::op2_range): New.
9156 (foperator_unordered_ge::op1_range): New.
9157 (foperator_unordered_ge::op2_range): New.
9158 (foperator_unordered_equal::op1_range): New.
9159
9160 2022-10-11 Aldy Hernandez <aldyh@redhat.com>
9161
9162 * range-op-float.cc (class foperator_unordered_lt): New.
9163 (class foperator_relop_unknown): Remove
9164 (class foperator_unordered_le): New.
9165 (class foperator_unordered_gt): New.
9166 (class foperator_unordered_ge): New.
9167 (class foperator_unordered_equal): New.
9168 (floating_op_table::floating_op_table): Replace all UN_EXPR
9169 entries with their appropriate fop_unordered_* counterpart.
9170
9171 2022-10-11 Aldy Hernandez <aldyh@redhat.com>
9172
9173 * range-op.cc (operator_equal::op1_range): Move BRS_TRUE case up.
9174 (operator_lt::op2_range): Same.
9175 (operator_le::op2_range): Same.
9176 (operator_gt::op2_range): Same.
9177 (operator_ge::op2_range): Same.
9178
9179 2022-10-11 Richard Biener <rguenther@suse.de>
9180
9181 PR tree-optimization/107212
9182 * tree-vect-loop.cc (vectorizable_reduction): Make sure to
9183 set STMT_VINFO_REDUC_DEF for all live lanes in a SLP
9184 reduction.
9185 (vectorizable_live_operation): Do not pun to the SLP
9186 node representative for reduction epilogue generation.
9187
9188 2022-10-11 Andrew Stubbs <ams@codesourcery.com>
9189
9190 * config/gcn/gcn-valu.md (neg<mode>2): New define_expand.
9191
9192 2022-10-11 Andrew Stubbs <ams@codesourcery.com>
9193
9194 * config/gcn/gcn-valu.md (vec_init<V_ALL:mode><V_ALL_ALT:mode>): New.
9195 * config/gcn/gcn.cc (GEN_VN): Add andvNsi3, subvNsi3.
9196 (GEN_VNM): Add gathervNm_expr.
9197 (GEN_VN_NOEXEC): Add vec_seriesvNsi.
9198 (gcn_expand_vector_init): Add initialization of vectors from smaller
9199 vectors.
9200
9201 2022-10-11 Andrew Stubbs <ams@codesourcery.com>
9202
9203 * config/gcn/gcn-protos.h (get_exec): Add prototypes for two variants.
9204 * config/gcn/gcn-valu.md
9205 (vec_extract<V_ALL:mode><V_ALL_ALT:mode>): New define_expand.
9206 * config/gcn/gcn.cc (get_exec): Export the existing function. Add a
9207 new overload variant.
9208
9209 2022-10-11 Andrew Stubbs <ams@codesourcery.com>
9210
9211 * config/gcn/gcn-valu.md
9212 (<cvt_name><VCVT_MODE:mode><VCVT_FMODE:mode>2<exec>): Use MODE_VF.
9213 (<cvt_name><VCVT_FMODE:mode><VCVT_IMODE:mode>2<exec>): Likewise.
9214 * config/gcn/gcn.h (MODE_VF): New macro.
9215
9216 2022-10-11 Andrew Stubbs <ams@codesourcery.com>
9217
9218 * config/gcn/gcn-modes.def (VECTOR_MODE): Add new modes
9219 V32QI, V32HI, V32SI, V32DI, V32TI, V32HF, V32SF, V32DF,
9220 V16QI, V16HI, V16SI, V16DI, V16TI, V16HF, V16SF, V16DF,
9221 V8QI, V8HI, V8SI, V8DI, V8TI, V8HF, V8SF, V8DF,
9222 V4QI, V4HI, V4SI, V4DI, V4TI, V4HF, V4SF, V4DF,
9223 V2QI, V2HI, V2SI, V2DI, V2TI, V2HF, V2SF, V2DF.
9224 (ADJUST_ALIGNMENT): Likewise.
9225 * config/gcn/gcn-protos.h (gcn_full_exec): Delete.
9226 (gcn_full_exec_reg): Delete.
9227 (gcn_scalar_exec): Delete.
9228 (gcn_scalar_exec_reg): Delete.
9229 (vgpr_1reg_mode_p): Use inner mode to identify vector registers.
9230 (vgpr_2reg_mode_p): Likewise.
9231 (vgpr_vector_mode_p): Use VECTOR_MODE_P.
9232 * config/gcn/gcn-valu.md (V_QI, V_HI, V_HF, V_SI, V_SF, V_DI, V_DF,
9233 V_QIHI, V_1REG, V_INT_1REG, V_INT_1REG_ALT, V_FP_1REG, V_2REG, V_noQI,
9234 V_noHI, V_INT_noQI, V_INT_noHI, V_ALL, V_ALL_ALT, V_INT, V_FP):
9235 Add additional vector modes.
9236 (V64_SI, V64_DI, V64_ALL, V64_FP): New iterators.
9237 (scalar_mode, SCALAR_MODE, vnsi, VnSI, vndi, VnDI, sdwa):
9238 Add additional vector mode mappings.
9239 (mov<mode>): Implement vector length conversions.
9240 (ldexp<mode>3<exec>): Use VnSI.
9241 (frexp<mode>_exp2<exec>): Likewise.
9242 (VCVT_MODE, VCVT_FMODE, VCVT_IMODE): Add additional vector modes.
9243 (reduc_<reduc_op>_scal_<mode>): Use V64_ALL.
9244 (fold_left_plus_<mode>): Use V64_FP.
9245 (*<reduc_op>_dpp_shr_<mode>): Use V64_1REG.
9246 (*<reduc_op>_dpp_shr_<mode>): Use V64_DI.
9247 (*plus_carry_dpp_shr_<mode>): Use V64_INT_1REG.
9248 (*plus_carry_in_dpp_shr_<mode>): Use V64_SI.
9249 (*plus_carry_dpp_shr_<mode>): Use V64_DI.
9250 (mov_from_lane63_<mode>): Use V64_2REG.
9251 * config/gcn/gcn.cc (VnMODE): New function.
9252 (gcn_can_change_mode_class): Support multiple vector sizes.
9253 (gcn_modes_tieable_p): Likewise.
9254 (gcn_operand_part): Likewise.
9255 (gcn_scalar_exec): Delete function.
9256 (gcn_scalar_exec_reg): Delete function.
9257 (gcn_full_exec): Delete function.
9258 (gcn_full_exec_reg): Delete function.
9259 (gcn_inline_fp_constant_p): Support multiple vector sizes.
9260 (gcn_fp_constant_p): Likewise.
9261 (A): New macro.
9262 (GEN_VN_NOEXEC): New macro.
9263 (GEN_VNM_NOEXEC): New macro.
9264 (GEN_VN): New macro.
9265 (GEN_VNM): New macro.
9266 (GET_VN_FN): New macro.
9267 (CODE_FOR): New macro.
9268 (CODE_FOR_OP): New macro.
9269 (gen_mov_with_exec): Delete function.
9270 (gen_duplicate_load): Delete function.
9271 (gcn_expand_vector_init): Support multiple vector sizes.
9272 (strided_constant): Likewise.
9273 (gcn_addr_space_legitimize_address): Likewise.
9274 (gcn_expand_scalar_to_vector_address): Likewise.
9275 (gcn_expand_scaled_offsets): Likewise.
9276 (gcn_secondary_reload): Likewise.
9277 (gcn_valid_cvt_p): Likewise.
9278 (gcn_expand_builtin_1): Likewise.
9279 (gcn_make_vec_perm_address): Likewise.
9280 (gcn_vectorize_vec_perm_const): Likewise.
9281 (gcn_vector_mode_supported_p): Likewise.
9282 (gcn_autovectorize_vector_modes): New hook.
9283 (gcn_related_vector_mode): Support multiple vector sizes.
9284 (gcn_expand_dpp_shr_insn): Add FIXME comment.
9285 (gcn_md_reorg): Support multiple vector sizes.
9286 (print_reg): Likewise.
9287 (print_operand): Likewise.
9288 (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_MODES): New hook.
9289
9290 2022-10-11 Andre Vieira <andre.simoesdiasvieira@arm.com>
9291
9292 * tree-if-conv.cc (if_convertible_loop_p_1): Move ordering of loop bb's from
9293 here...
9294 (tree_if_conversion): ... to here. Also call bitfield lowering when
9295 appropriate.
9296 (version_loop_for_if_conversion): Adapt to enable loop versioning when we only
9297 need to lower bitfields.
9298 (ifcvt_split_critical_edges): Relax condition of expected loop form as this is
9299 checked earlier.
9300 (get_bitfield_rep): New function.
9301 (lower_bitfield): Likewise.
9302 (bitfields_to_lower_p): Likewise.
9303 (need_to_lower_bitfields): New global boolean.
9304 (need_to_ifcvt): Likewise.
9305 * tree-vect-data-refs.cc (vect_find_stmt_data_reference): Improve diagnostic
9306 message.
9307 * tree-vect-patterns.cc (vect_recog_temp_ssa_var): Add default value for last
9308 parameter.
9309 (vect_recog_bitfield_ref_pattern): New.
9310 (vect_recog_bit_insert_pattern): New.
9311
9312 2022-10-11 liuhongt <hongtao.liu@intel.com>
9313
9314 PR target/107093
9315 * config/i386/i386.md (*notxor<mode>_1): New post_reload
9316 define_insn_and_split.
9317 (*notxorqi_1): Ditto.
9318
9319 2022-10-11 Aldy Hernandez <aldyh@redhat.com>
9320
9321 PR tree-optimization/107195
9322 * value-range.cc (irange::set_range_from_nonzero_bits): Set range
9323 to [0,0] when nonzero mask is 0.
9324
9325 2022-10-11 Olivier Hainque <hainque@adacore.com>
9326
9327 * configure: Regenerate.
9328
9329 2022-10-11 Olivier Hainque <hainque@adacore.com>
9330
9331 * config.gcc (*vxworks*): Add t-slibgcc fragment
9332 if enable_shared.
9333
9334 2022-10-11 Olivier Hainque <hainque@adacore.com>
9335
9336 * config/vxworks.h (VX_LGCC_EH_SO0, VX_LGCC_EH_SO1): New
9337 internal macros.
9338 (VXWORKS_LIBGCC_SPEC): Use them and document.
9339
9340 2022-10-11 Martin Liska <mliska@suse.cz>
9341
9342 * gimple-range-op.cc: Add override keyword.
9343
9344 2022-10-11 Eugene Rozenfeld <erozen@microsoft.com>
9345
9346 PR debug/107193
9347 * tree-cfg.cc (assign_discriminators): Move declaration of cur_locus_e
9348 out of the loop.
9349
9350 2022-10-11 Liwei Xu <liwei.xu@intel.com>
9351 liuhongt <hongtao.liu@intel.com>
9352
9353 PR tree-optimization/54346
9354 * match.pd: Merge the index of VCST then generates the new vec_perm.
9355
9356 2022-10-11 Jeff Law <jeffreyalaw@gmail.com>
9357
9358 PR rtl-optimization/107182
9359 * cfgrtl.cc (fixup_reorder_chain): When optimizing a jump to a
9360 return, clear EDGE_CROSSING on the appropriate edge.
9361
9362 2022-10-11 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
9363
9364 * config/riscv/riscv-vector-builtins.cc (struct vector_type_info): Move
9365 from config/riscv/riscv-vector-builtins.h.
9366 (DEF_RVV_TYPE): Change USER_NAME to NAME.
9367 (register_vector_type): Change user_name to name.
9368 * config/riscv/riscv-vector-builtins.def (DEF_RVV_TYPE): Change
9369 USER_NAME to NAME.
9370 * config/riscv/riscv-vector-builtins.h (struct vector_type_info): Move
9371 to riscv-vector-builtins.cc.
9372 (DEF_RVV_TYPE): Change USER_NAME to NAME.
9373
9374 2022-10-11 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
9375
9376 * config/riscv/riscv.md: Add vsetvl instruction type.
9377
9378 2022-10-10 Nathan Sidwell <nathan@acm.org>
9379
9380 * common.opt (-fabi-version=): Document 18.
9381 * doc/invoke.texi (-fabi-version): Document 18.
9382
9383 2022-10-10 Andrea Corallo <andrea.corallo@arm.com>
9384
9385 PR other/99723
9386 * toplev.cc (toplev::main): Don't run self tests in case of
9387 previous error.
9388
9389 2022-10-10 Kito Cheng <kito.cheng@sifive.com>
9390
9391 * config/riscv/riscv-c.cc: Add newline to the end of file.
9392
9393 2022-10-10 Aldy Hernandez <aldyh@redhat.com>
9394
9395 * range-op-float.cc (class foperator_identity): Make members public.
9396 (class foperator_equal): Same.
9397 (class foperator_not_equal): Same.
9398 (class foperator_lt): Same.
9399 (class foperator_le): Same.
9400 (class foperator_gt): Same.
9401 (class foperator_ge): Same.
9402 (class foperator_unordered): Same.
9403 (class foperator_ordered): Same.
9404
9405 2022-10-10 Aldy Hernandez <aldyh@redhat.com>
9406
9407 * value-range.h (frange::maybe_isnan): New.
9408
9409 2022-10-10 Aldy Hernandez <aldyh@redhat.com>
9410
9411 * range-op-float.cc (foperator_not_equal::op1_range): Set NAN on
9412 TRUE side for x != x.
9413
9414 2022-10-10 Aldy Hernandez <aldyh@redhat.com>
9415
9416 * range-op-float.cc (foperator_unordered::op1_range): Set NAN when
9417 operands are equal and result is TRUE.
9418
9419 2022-10-10 Aldy Hernandez <aldyh@redhat.com>
9420
9421 * range.h (range_true): Return int_range<2>.
9422 (range_false): Same.
9423 (range_true_and_false): Same.
9424
9425 2022-10-10 Aldy Hernandez <aldyh@redhat.com>
9426
9427 * gimple-range-op.cc: Add op1_range entry for __builtin_signbit.
9428
9429 2022-10-10 liuhongt <hongtao.liu@intel.com>
9430
9431 PR target/107185
9432 * config/i386/i386.md (lrint<MODEF:mode><SWI48:mode>2): Swap
9433 predicate of operands[0] and operands[1].
9434
9435 2022-10-10 Claudiu Zissulescu <claziss@gmail.com>
9436
9437 * common/config/arc/arc-common.cc (arc_option_optimization_table):
9438 Remove Rcq and Rcw options.
9439 * config/arc/arc.opt (mRcq): Ignore option, preserve it for
9440 backwards compatibility.
9441 (mRcw): Likewise.
9442 * doc/invoke.texi (mRcw, mRcq): Update document.
9443
9444 2022-10-10 Claudiu Zissulescu <claziss@gmail.com>
9445
9446 * config/arc/arc.cc (arc_check_short_reg_p): New function.
9447 (arc_address_cost): Replace satisfies_constraint_Rcq with the
9448 above new function.
9449 (arc_output_addsi): Likewise.
9450 (split_addsi): Likewise.
9451 (split_subsi): Likewise.
9452 * config/arc/arc.md (movqi_insn): Remove Rcq constraint.
9453 (movhi_insn): Likewise.
9454 (movsi_insn): Likewise.
9455 (tst_movb): Likewise.
9456 (tst): Likewise.
9457 (tst_bitfield): Likewise.
9458 (abssi2): Likewise.
9459 (addsi3_mixed): Likewise.
9460 (mulhisi3_reg): Likewise.
9461 (umulhisi3_reg): Likewise.
9462 (mulsi_600): Likewise.
9463 (mul64): Likewise.
9464 (subsi3_insn): Likewise.
9465 (bicsi3_insn): Likewise.
9466 (xorsi3): Likewise.
9467 (negsi2): Likewise.
9468 (one_cmplsi2): Likewise.
9469 (lshrsi3_insn): Likewise.
9470 (cmpsi_cc_insn_mixed): Likewise.
9471 (cmpsi_cc_zn_insn): Likewise.
9472 (btst): Likewise.
9473 (cmpsi_cc_z_insn): Likewise.
9474 (cmpsi_cc_c_insn): Likewise.
9475 (indirect_jump): Likewise.
9476 (casesi_jump): Likewise.
9477 (call_i): Likewise.
9478 (call_value_i): Likewise.
9479 (bbit): Likewise.
9480 (abssf2): Likewise.
9481 (ashlsi2_cnt1): Likewise.
9482 (lshrsi3_cnt1): Likewise.
9483 (ashrsi3_cnt1): Likewise.
9484 * config/arc/constraints.md (Rcq): Remove.
9485
9486 2022-10-10 Claudiu Zissulescu <claziss@gmail.com>
9487
9488 * config/arc/arc.md (smaxsi3): Remove Rcw.
9489 (sminsi3): Likewise.
9490 (addsi3_mixed): Likewise.
9491 (add_f_2): Likewise.
9492 (subsi3_insn): Likewise.
9493 (sub_f): Likewise.
9494 (sub_n): Likewise.
9495 (bset): Likewise.
9496 (bxor): Likewise.
9497 (bclr): Likewise.
9498 (bset_insn): Likewise.
9499 (bxor_insn): Likewise.
9500 (bclr_insn): Likewise.
9501 (bmsk_insn): Likewise.
9502 (bicsi3_insn): Likewise.
9503 (xorsi3): Likewise.
9504 (negsi2): Likewise.
9505 (lshrsi3_insn): Likewise.
9506 (abssf2): Likewise.
9507 (negsf2): Likewise.
9508 * config/arc/constraints.md(Rcw): Remove it.
9509
9510 2022-10-10 Claudiu Zissulescu <claziss@gmail.com>
9511
9512 * config/arc/arc.md(mulsi3_700): Remove Rcr.
9513 (mulsi3_highpart): Likewise.
9514 (umulsi3_highpart_i): Likewise.
9515 (umulsi3_highpart_int): Likewise.
9516 (macd): Likewise.
9517 (macdu): Likewise.
9518 * config/arc/constraints.md (Rcr): Remove it.
9519
9520 2022-10-10 Claudiu Zissulescu <claziss@gmail.com>
9521
9522 * config/arc/arc.cc (arc_save_callee_enter): Use negative offsets.
9523
9524 2022-10-09 Dimitar Dimitrov <dimitar@dinux.eu>
9525
9526 PR target/106562
9527 * config/pru/pru-protos.h (pru_noteq_condition): New
9528 function declaration.
9529 * config/pru/pru.cc (pru_noteq_condition): New function.
9530 * config/pru/pru.md (cbranchdi4): Define new pattern.
9531
9532 2022-10-09 Dimitar Dimitrov <dimitar@dinux.eu>
9533
9534 * config/pru/pru.md (lshrdi3): New expand pattern.
9535 (ashldi3): Ditto.
9536
9537 2022-10-09 YunQiang Su <yunqiang.su@cipunited.com>
9538
9539 * config.gcc: set with_arch to default_mips_arch if no defined.
9540 * config/mips/driver-native.cc (host_detect_local_cpu):
9541 try getauxval(AT_BASE_PLATFORM) and _MIPS_ARCH, too.
9542 pass -mnan=2008 if __mips_nan2008__ is defined.
9543 * config.in: define HAVE_SYS_AUXV_H and HAVE_GETAUXVAL.
9544 * configure.ac: detect sys/auxv.h and getauxval.
9545 * configure: regenerated.
9546
9547 2022-10-07 Eugene Rozenfeld <erozen@microsoft.com>
9548
9549 * tree-cfg.cc (assign_discriminators): Set discriminators for call stmts
9550 on the same line within the same basic block.
9551
9552 2022-10-07 Qing Zhao <qing.zhao@oracle.com>
9553
9554 PR tree-optimization/101836
9555 * tree-object-size.cc (addr_object_size): Use array_at_struct_end_p
9556 to determine a flexible array member reference.
9557
9558 2022-10-07 Qing Zhao <qing.zhao@oracle.com>
9559
9560 * doc/extend.texi: Document strict_flex_array attribute.
9561 * doc/invoke.texi: Document -fstrict-flex-arrays[=n] option.
9562 * print-tree.cc (print_node): Print new bit decl_not_flexarray.
9563 * tree-core.h (struct tree_decl_common): New bit field
9564 decl_not_flexarray.
9565 * tree-streamer-in.cc (unpack_ts_decl_common_value_fields): Stream
9566 in new bit decl_not_flexarray.
9567 * tree-streamer-out.cc (pack_ts_decl_common_value_fields): Stream
9568 out new bit decl_not_flexarray.
9569 * tree.cc (array_at_struct_end_p): Update it with the new bit field
9570 decl_not_flexarray.
9571 * tree.h (DECL_NOT_FLEXARRAY): New flag.
9572
9573 2022-10-07 Olivier Hainque <hainque@adacore.com>
9574
9575 * config/vxworks/_vxworks-versions.h: Use OS specific
9576 paths in #include of version.h.
9577
9578 2022-10-07 Martin Liska <mliska@suse.cz>
9579
9580 * opts.cc (finish_options): Print sorry message only
9581 for -flive-patching=inline-only-static.
9582
9583 2022-10-07 Jason Merrill <jason@redhat.com>
9584
9585 * gimplify.cc (gimplify_modify_expr_rhs): Don't optimize
9586 x = *(A*)&<expr> to x = <expr> for a TREE_ADDRESSABLE type.
9587
9588 2022-10-07 Richard Biener <rguenther@suse.de>
9589
9590 PR tree-optimization/107153
9591 * tree-cfg.cc (gimple_duplicate_sese_tail): Do not update
9592 SSA form here.
9593 * tree-parloops.cc (gen_parallel_loop): Update SSA form
9594 after to-exit-first transform, no PHI insertion is necessary.
9595 (pass_parallelize_loops::execute): Force re-write of the
9596 virtual operand SSA web.
9597
9598 2022-10-07 Jonathan Wakely <jwakely@redhat.com>
9599
9600 * value-range.cc (irange::irange_contains_p): Fix comment typo.
9601
9602 2022-10-07 Eric Botcazou <ebotcazou@adacore.com>
9603
9604 * function.cc (thread_prologue_and_epilogue_insns): Update only
9605 entry and exit blocks when not optimizing. Remove dead statement.
9606
9607 2022-10-07 Aldy Hernandez <aldyh@redhat.com>
9608
9609 * value-range.cc (irange::irange_set): Convert nonzero mask to
9610 tree.
9611 (irange::irange_set_anti_range): Same.
9612 (irange::set): Same.
9613 (irange::verify_range): Same.
9614 (irange::contains_p): Same.
9615 (irange::invert): Same.
9616 (irange::set_range_from_nonzero_bits): Same.
9617 (irange::set_nonzero_bits): Same.
9618 (mask_to_wi): Same.
9619 (irange::intersect_nonzero_bits): Same.
9620 (irange::union_nonzero_bits): Same.
9621 * value-range.h (irange::varying_compatible_p): Same.
9622 (gt_ggc_mx): Same.
9623 (gt_pch_nx): Same.
9624 (irange::set_undefined): Same.
9625 (irange::set_varying): Same.
9626
9627 2022-10-07 Martin Liska <mliska@suse.cz>
9628
9629 * config/i386/i386-protos.h (ix86_binary_operator_ok): Add array
9630 size to function parameter.
9631 (ix86_unary_operator_ok): Likewise.
9632
9633 2022-10-07 Martin Liska <mliska@suse.cz>
9634
9635 * auto-profile.cc (get_inline_stack): Remove unused variable.
9636
9637 2022-10-07 Jakub Jelinek <jakub@redhat.com>
9638
9639 * ipa-prop.h (ipa_constant_data): Fix comment typo.
9640 * value-range.cc (irange::irange_contains_p): Likewise.
9641 * value-relation.cc (dom_oracle::set_one_relation): Likewise.
9642 * gimple-predicate-analysis.cc (predicate::simplify_4): Likewise.
9643 * tree-inline.cc (remap_ssa_name): Likewise.
9644
9645 2022-10-07 Jakub Jelinek <jakub@redhat.com>
9646
9647 * attribs.h (is_attribute_namespace_p): New inline function.
9648 (lookup_attribute): Document meaning of ATTR_NS equal to "".
9649 * attribs.cc (remove_attribute): Use is_attribute_namespace_p.
9650 (private_lookup_attribute): For ATTR_NS "" match either standard
9651 attribute or "gnu" namespace one.
9652
9653 2022-10-07 Olivier Hainque <hainque@adacore.com>
9654
9655 * config/vxworks.h (DWARF_VERSION_DEFAULT): Adjust from
9656 4 to 3 for VxWorks >= 7.
9657
9658 2022-10-07 Olivier Hainque <hainque@adacore.com>
9659
9660 * defaults.h (DWARF_DEFAULT_VERSION): Define if not
9661 defined already.
9662 * common.opt (gdwarf-): Use it.
9663 * doc/tm.texi.in (DWARF_DEFAULT_VERSION): Document.
9664 * doc/tm.texi: Update accordingly.
9665 * config/vxworks.h (DWARF_DEFAULT_VERSION): Redefine.
9666 * config/vxworks.cc: Remove code setting dwarf_version, now
9667 handled by the DWARF_DEFAULT_VERSION redefinition.
9668
9669 2022-10-07 Olivier Hainque <hainque@adacore.com>
9670
9671 * ginclude/stddef.h: #undef offsetof before #define.
9672
9673 2022-10-06 Aldy Hernandez <aldyh@redhat.com>
9674
9675 PR tree-optimization/107170
9676 * vr-values.cc (vr_values::range_of_expr): Do not die on
9677 unsupported types.
9678
9679 2022-10-06 Joseph Myers <joseph@codesourcery.com>
9680
9681 * doc/invoke.texi (-fno-asm): Update description of effects on
9682 typeof keyword.
9683
9684 2022-10-06 Eric Botcazou <ebotcazou@adacore.com>
9685
9686 * gimple-loop-jam.cc (tree_loop_unroll_and_jam): Bail out for a self
9687 dependency that is a write-after-write if the access function is not
9688 affine or constant.
9689
9690 2022-10-06 Eric Botcazou <ebotcazou@adacore.com>
9691
9692 * df-scan.cc (df_ref_create_structure): Minor cleanup.
9693
9694 2022-10-06 Richard Biener <rguenther@suse.de>
9695
9696 PR middle-end/107115
9697 * expr.cc (store_expr): Check mems_same_for_tbaa_p before
9698 eliding a seemingly redundant store.
9699
9700 2022-10-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9701
9702 * config/aarch64/atomics.md (*atomic_load<ALLX:mode>_zext<SD_HSDI:mode>):
9703 New pattern.
9704
9705 2022-10-06 Philipp Tomsich <philipp.tomsich@vrull.eu>
9706
9707 * config/aarch64/aarch64-cores.def (AARCH64_CORE): Update
9708 Ampere-1 core entry.
9709
9710 2022-10-06 Philipp Tomsich <philipp.tomsich@vrull.eu>
9711
9712 * config/aarch64/driver-aarch64.cc (readline): Fix off-by-one.
9713
9714 2022-10-06 Richard Biener <rguenther@suse.de>
9715
9716 PR tree-optimization/107107
9717 * tree-ssa-sccvn.cc (visit_reference_op_store): Do not
9718 affect value-numbering when doing the tail merging
9719 MODIFY_EXPR lookup.
9720
9721 2022-10-06 Claudiu Zissulescu <claziss@synopsys.com>
9722
9723 * config/arc/linux.h (LINK_SPEC): Remove max-page-size and
9724 common-pave-size.
9725
9726 2022-10-06 Jakub Jelinek <jakub@redhat.com>
9727
9728 PR c++/106654
9729 * internal-fn.def (ASSUME): New internal function.
9730 * internal-fn.h (expand_ASSUME): Declare.
9731 * internal-fn.cc (expand_ASSUME): Define.
9732 * gimplify.cc (gimplify_call_expr): Gimplify IFN_ASSUME.
9733 * fold-const.h (simple_condition_p): Declare.
9734 * fold-const.cc (simple_operand_p_2): Rename to ...
9735 (simple_condition_p): ... this. Remove forward declaration.
9736 No longer static. Adjust function comment and fix a typo in it.
9737 Adjust recursive call.
9738 (simple_operand_p): Adjust function comment.
9739 (fold_truth_andor): Adjust simple_operand_p_2 callers to call
9740 simple_condition_p.
9741 * doc/extend.texi: Document assume attribute. Move fallthrough
9742 attribute example to its section.
9743
9744 2022-10-06 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
9745
9746 PR rtl-optimization/107088
9747 * cselib.cc (new_cselib_val): Skip BImode while keeping track of
9748 subvalue relations.
9749
9750 2022-10-06 Aldy Hernandez <aldyh@redhat.com>
9751
9752 * value-range.cc (frange::set): Call set_nan unconditionally.
9753 (range_tests_nan): Adjust tests.
9754 (range_tests_signed_zeros): Same.
9755 (range_tests_floats): Same.
9756 * value-range.h (frange::update_nan): Guard with HONOR_NANS.
9757 (frange::set_nan): Set undefined if !HONOR_NANS.
9758
9759 2022-10-06 Aldy Hernandez <aldyh@redhat.com>
9760
9761 * range-op-float.cc (foperator_lt::fold_range): Remove extra check
9762 to finite_operands_p.
9763 (foperator_le::fold_range): Same.
9764 (foperator_gt::fold_range): Same.
9765 (foperator_ge::fold_range): Same.
9766
9767 2022-10-06 Aldy Hernandez <aldyh@redhat.com>
9768
9769 * value-range-pretty-print.cc (vrange_printer::print_real_value):
9770 Avoid printing INF and NAN twice.
9771
9772 2022-10-05 Segher Boessenkool <segher@kernel.crashing.org>
9773
9774 * config/rs6000/constraints.md (wD): Delete.
9775 * doc/md.texi (Machine Constraints): Adjust.
9776
9777 2022-10-05 Segher Boessenkool <segher@kernel.crashing.org>
9778
9779 * config/rs6000/vsx.md (vsx_extract_<mode>): Replace define_insn by a
9780 define_expand. Split the contents to...
9781 (*vsx_extract_<mode>_0): ... this. Rewrite.
9782 (*vsx_extract_<mode>_1): ... and this. Rewrite.
9783
9784 2022-10-05 Segher Boessenkool <segher@kernel.crashing.org>
9785
9786 * config/rs6000/vsx.md (*vsx_extract_<mode>_store): Use "n" instead of
9787 "wD" constraint.
9788
9789 2022-10-05 David Malcolm <dmalcolm@redhat.com>
9790
9791 PR analyzer/107060
9792 * doc/analyzer.texi (__analyzer_get_unknown_ptr): Document.
9793
9794 2022-10-05 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
9795
9796 * config.gcc: Add riscv_vector.h.
9797 * config/riscv/riscv-builtins.cc: Add RVV builtin types support.
9798 * config/riscv/riscv-c.cc (riscv_pragma_intrinsic): New function.
9799 (riscv_register_pragmas): Ditto.
9800 * config/riscv/riscv-protos.h (riscv_register_pragmas): Ditto.
9801 (init_builtins): Move declaration from riscv-vector-builtins.h to riscv-protos.h.
9802 (mangle_builtin_type): Ditto.
9803 (verify_type_context): Ditto.
9804 (handle_pragma_vector): New function.
9805 * config/riscv/riscv-vector-builtins.cc (GTY): New variable.
9806 (register_vector_type): New function.
9807 (init_builtins): Add RVV builtin types support.
9808 (handle_pragma_vector): New function.
9809 * config/riscv/riscv-vector-builtins.h (GCC_RISCV_V_BUILTINS_H): Change
9810 name according to file name.
9811 (GCC_RISCV_VECTOR_BUILTINS_H): Ditto.
9812 (init_builtins): Remove declaration in riscv-vector-builtins.h.
9813 (mangle_builtin_type): Ditto.
9814 (verify_type_context): Ditto.
9815 * config/riscv/riscv.cc: Adjust for RVV builtin types support.
9816 * config/riscv/riscv.h (REGISTER_TARGET_PRAGMAS): New macro.
9817 * config/riscv/t-riscv: Remove redundant file including.
9818 * config/riscv/riscv_vector.h: New file.
9819
9820 2022-10-05 Aldy Hernandez <aldyh@redhat.com>
9821
9822 * range-op.cc (operator_cast::fold_range): Handle truncating casts
9823 for nonzero masks.
9824
9825 2022-10-05 Martin Liska <mliska@suse.cz>
9826
9827 PR c/107156
9828 * attribs.h (lookup_attribute_by_prefix): Support the attribute
9829 starting with underscore (_Noreturn).
9830
9831 2022-10-05 Aldy Hernandez <aldyh@redhat.com>
9832
9833 PR tree-optimization/107052
9834 * gimple-range-op.cc (cfn_popcount::fold_range): Take into account
9835 nonzero bit mask.
9836
9837 2022-10-05 Aldy Hernandez <aldyh@redhat.com>
9838
9839 PR tree-optimization/107052
9840 * range-op.cc (operator_cast::fold_range): Set nonzero mask.
9841
9842 2022-10-05 Eric Botcazou <ebotcazou@adacore.com>
9843
9844 PR tree-optimization/106698
9845 * pointer-query.cc (handle_array_ref): Fix handling of low bound.
9846
9847 2022-10-05 Vineet Gupta <vineetg@rivosinc.com>
9848
9849 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins):
9850 Remove __riscv_cmodel_pic, that deprecated in last version.
9851
9852 2022-10-05 David Malcolm <dmalcolm@redhat.com>
9853
9854 PR analyzer/107072
9855 * Makefile.in (ANALYZER_OBJS): Add analyzer/call-summary.o.
9856
9857 2022-10-04 Jakub Jelinek <jakub@redhat.com>
9858
9859 * attribs.h (remove_attribute): Declare overload with additional
9860 attr_ns argument.
9861 (private_lookup_attribute): Declare overload with additional
9862 attr_ns and attr_ns_len arguments.
9863 (lookup_attribute): New overload with additional attr_ns argument.
9864 * attribs.cc (remove_attribute): New overload with additional
9865 attr_ns argument.
9866 (private_lookup_attribute): New overload with additional
9867 attr_ns and attr_ns_len arguments.
9868
9869 2022-10-04 Jakub Jelinek <jakub@redhat.com>
9870
9871 * attribs.cc (handle_ignored_attributes_option, decl_attributes,
9872 common_function_versions): Use auto_diagnostic_group.
9873
9874 2022-10-04 Aldy Hernandez <aldyh@redhat.com>
9875
9876 * value-range.cc (irange::set_nonzero_bits): Remove assert.
9877
9878 2022-10-04 Richard Sandiford <richard.sandiford@arm.com>
9879
9880 * config/aarch64/aarch64.h (AARCH64_ISA_RCPC): New macro.
9881 * config/aarch64/aarch64-arches.def (armv8.3-a): Include RCPC.
9882 * config/aarch64/aarch64-cores.def (thunderx3t110, zeus, neoverse-v1)
9883 (neoverse-512tvb, saphira): Remove RCPC from these Armv8.3-A+ cores.
9884 * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Define
9885 __ARM_FEATURE_RCPC when appropriate.
9886
9887 2022-10-04 Tobias Burnus <tobias@codesourcery.com>
9888
9889 * doc/invoke.texi (-fopenmp): Mention C++ attribut syntax.
9890 (-fopenmp-simd): Likewise; update permitted directives.
9891
9892 2022-10-04 Tobias Burnus <tobias@codesourcery.com>
9893
9894 * doc/install.texi (Specific): Add missing items to bullet list.
9895 (amdgcn): Update LLVM requirements, use version not date for newlib.
9896 (nvptx): Use version not git hash for newlib.
9897
9898 2022-10-04 Aldy Hernandez <aldyh@redhat.com>
9899
9900 * value-range-storage.cc (irange_storage_slot::set_irange): Remove
9901 special case.
9902 * value-range.cc (irange::irange_set): Adjust for nonzero mask
9903 being a wide int.
9904 (irange::irange_set_anti_range): Same.
9905 (irange::set): Same.
9906 (irange::verify_range): Same.
9907 (irange::legacy_equal_p): Same.
9908 (irange::operator==): Same.
9909 (irange::contains_p): Same.
9910 (irange::legacy_intersect): Same.
9911 (irange::legacy_union): Same.
9912 (irange::irange_single_pair_union): Call union_nonzero_bits.
9913 (irange::irange_union): Same.
9914 (irange::irange_intersect): Call intersect_nonzero_bits.
9915 (irange::intersect): Adjust for nonzero mask being a wide int.
9916 (irange::invert): Same.
9917 (irange::set_nonzero_bits): Same.
9918 (irange::get_nonzero_bits_from_range): New.
9919 (irange::set_range_from_nonzero_bits): New.
9920 (irange::get_nonzero_bits): Adjust for nonzero mask being a wide
9921 int.
9922 (irange::intersect_nonzero_bits): Same.
9923 (irange::union_nonzero_bits): Same.
9924 (range_tests_nonzero_bits): Remove test.
9925 * value-range.h (irange::varying_compatible_p): Adjust for nonzero
9926 mask being a wide int.
9927 (gt_ggc_mx): Same.
9928 (gt_pch_nx): Same.
9929 (irange::set_undefined): Same.
9930 (irange::set_varying): Same.
9931 (irange::normalize_kind): Same.
9932
9933 2022-10-04 Aldy Hernandez <aldyh@redhat.com>
9934
9935 PR tree-optimization/107130
9936 * gimple-range-op.cc (class cfn_popcount): Call op_cfn_ffs.
9937 (class cfn_ffs): New.
9938 (gimple_range_op_handler::maybe_builtin_call): Separate out
9939 CASE_CFN_FFS into its own case.
9940
9941 2022-10-03 Sergei Trofimovich <siarheit@google.com>
9942
9943 * config/i386/t-i386: Add build-time dependencies against
9944 i386-builtin-types.inc to i386-builtins.o, i386-expand.o,
9945 i386-features.o.
9946
9947 2022-10-03 Andrew Stubbs <ams@codesourcery.com>
9948
9949 * config/gcn/gcn-valu.md (while_ultsidi): Limit mask length using
9950 operand 3.
9951 * doc/md.texi (while_ult): Document new operand 3 usage.
9952 * internal-fn.cc (expand_while_optab_fn): Set operand 3 when lhs_type
9953 maps to a non-vector mode.
9954
9955 2022-10-03 Andrew MacLeod <amacleod@redhat.com>
9956
9957 PR tree-optimization/107109
9958 * range-op.cc (adjust_op1_for_overflow): Don't process undefined.
9959
9960 2022-10-03 Christophe Lyon <christophe.lyon@arm.com>
9961
9962 * config/arm/mve.md (mve_vrev64q_m_<supf><mode>): Add early
9963 clobber.
9964 (mve_vrev64q_m_f<mode>): Likewise.
9965
9966 2022-10-03 Aldy Hernandez <aldyh@redhat.com>
9967
9968 * value-range.cc (irange::set_nonzero_bits): Do not pessimize range.
9969 (range_tests_nonzero_bits): New test.
9970
9971 2022-10-03 Aldy Hernandez <aldyh@redhat.com>
9972
9973 * value-range.cc (irange::operator==): Early bail on m_num_ranges
9974 equal to 0.
9975
9976 2022-10-03 Aldy Hernandez <aldyh@redhat.com>
9977
9978 * value-range.cc (irange::legacy_equal_p): Remove nonozero mask
9979 check when comparing VR_VARYING ranges.
9980
9981 2022-10-03 Aldy Hernandez <aldyh@redhat.com>
9982
9983 * ipa-prop.cc (struct ipa_vr_ggc_hash_traits): Do not compare
9984 incompatible ranges in ipa-prop.
9985
9986 2022-10-02 Jakub Jelinek <jakub@redhat.com>
9987
9988 PR tree-optimization/107121
9989 * tree-cfg.cc (verify_gimple_call): Fix a typo in diagnostics,
9990 DEFFERED_INIT -> DEFERRED_INIT.
9991
9992 2022-10-02 Marc Poulhiès <poulhies@adacore.com>
9993
9994 * config/vxworks-driver.cc: New.
9995 * config.gcc (*vxworks*): Add vxworks-driver.o in extra_gcc_objs.
9996 * config/t-vxworks: Add vxworks-driver.o.
9997 * config/vxworks.h (GCC_DRIVER_HOST_INITIALIZATION): New.
9998
9999 2022-10-02 Olivier Hainque <hainque@adacore.com>
10000
10001 * config/vxworks.h (VX_CRTBEGIN_SPEC, VX_CRTEND_SPEC): If
10002 HAVE_INITFINI_ARRAY_SUPPORT, pick crtstuff objects regardless
10003 of ENABLE_SHARED_LIBGCC.
10004
10005 2022-10-01 Stafford Horne <shorne@gmail.com>
10006
10007 * config/or1k/or1k.cc (TARGET_HAVE_TLS): Only define if
10008 HAVE_AS_TLS is defined.
10009
10010 2022-10-01 Julian Brown <julian@codesourcery.com>
10011
10012 * gimplify.cc (omp_group_base): Fix IF_PRESENT (no_create)
10013 handling.
10014
10015 2022-10-01 Jeff Law <jeffreyalaw@gmail.com>
10016
10017 * config/h8300/h8300.md (HSI2): New iterator.
10018 (eqne_invert): Similarly.
10019 * config/h8300/testcompare.md (testhi_upper_z): New pattern.
10020 (cmpqi_z, cmphi_z, cmpsi_z): Likewise.
10021 (store_z_qi, store_z_i_qi, store_z_hi, store_z_hi_sb): New
10022 define_insn_and_splits and/or define_insns.
10023 (store_z_hi_neg, store_z_hi_and, store_z_<mode>): Likewise.
10024 (store_z_<mode>_neg, store_z_<mode>_and, store_z): Likewise.
10025
10026 2022-10-01 Jeff Law <jeffreyalaw@gmail.com>
10027
10028 * tree-ssa-dom.cc (record_edge_info): Install correct version of
10029 patch.
10030
10031 2022-10-01 Eugene Rozenfeld <erozen@microsoft.com>
10032
10033 * dwarf2out.cc (add_call_src_coords_attributes): Emit discriminators for inlined call sites.
10034
10035 2022-09-30 Jeff Law <jeffreyalaw@gmail.com>
10036
10037 * tree-ssa-dom.cc (single_block_loop_p): New function.
10038 (record_edge_info): Also record equivalences for the outgoing
10039 edge of a single block loop where the condition is an invariant.
10040
10041 2022-09-30 Jeff Law <jeffreyalaw@gmail.com>
10042
10043 * tree-ssa-dom.cc (free_dom_edge_info): Clear e->aux too.
10044 (free_all_edge_infos): Do not clear e->aux here.
10045
10046 2022-09-30 H.J. Lu <hjl.tools@gmail.com>
10047
10048 * target.def (TARGET_C_EXCESS_PRECISION): Document
10049 -fexcess-precision=16.
10050
10051 2022-09-30 Palmer Dabbelt <palmer@rivosinc.com>
10052
10053 * doc/tm.texi (TARGET_C_EXCESS_PRECISION): Add 16.
10054
10055 2022-09-30 Palmer Dabbelt <palmer@rivosinc.com>
10056
10057 PR target/106815
10058 * config/riscv/riscv.cc (riscv_excess_precision): Add support
10059 for EXCESS_PRECISION_TYPE_FLOAT16.
10060
10061 2022-09-30 Jakub Jelinek <jakub@redhat.com>
10062
10063 PR c++/107080
10064 * config/arm/arm.cc (arm_mangle_type): Mangle just __fp16 as Dh
10065 and _Float16 as DF16_.
10066 * config/csky/csky.cc (csky_init_builtins): Fix a comment typo.
10067 (csky_mangle_type): Mangle __fp16 as Dh and _Float16 as DF16_
10068 rather than mangling __fp16 as __fp16.
10069
10070 2022-09-30 Lewis Hyatt <lhyatt@gmail.com>
10071
10072 PR preprocessor/69543
10073 * tree-ssa-uninit.cc (warn_uninit): Stop stripping macro tracking
10074 information away from the diagnostic location.
10075 (maybe_warn_read_write_only): Likewise.
10076 (maybe_warn_operand): Likewise.
10077
10078 2022-09-30 Jakub Jelinek <jakub@redhat.com>
10079
10080 PR c++/107080
10081 * config/aarch64/aarch64.cc (aarch64_mangle_type): Mangle just __fp16
10082 as Dh and _Float16 as DF16_.
10083
10084 2022-09-30 Jakub Jelinek <jakub@redhat.com>
10085
10086 PR c++/107080
10087 * config/i386/i386.cc (ix86_mangle_type): Always return NULL
10088 for float128_type_node or float64x_type_node, don't check
10089 float128t_type_node later on.
10090 * config/ia64/ia64.cc (ia64_mangle_type): Always return NULL
10091 for float128_type_node or float64x_type_node.
10092 * config/rs6000/rs6000.cc (rs6000_mangle_type): Likewise.
10093 Don't check float128_type_node later on.
10094 * config/s390/s390.cc (s390_mangle_type): Don't use
10095 TYPE_MAIN_VARIANT on type which was set to TYPE_MAIN_VARIANT
10096 a few lines earlier.
10097
10098 2022-09-30 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
10099 Yvan ROUX <yvan.roux@foss.st.com>
10100
10101 * doc/sourcebuild.texi: Document new vma_equals_lma effective
10102 target check.
10103
10104 2022-09-30 Jiawei <jiawei@iscas.ac.cn>
10105
10106 * config/riscv/riscv.cc (riscv_file_start): New .option.
10107 * config/riscv/riscv.opt: New options.
10108 * doc/invoke.texi: New definations.
10109
10110 2022-09-30 Kewen Lin <linkw@linux.ibm.com>
10111
10112 PR target/99888
10113 PR target/105649
10114 * doc/invoke.texi (option -fpatchable-function-entry): Adjust the
10115 documentation for PowerPC ELFv2 ABI dual entry points.
10116 * config/rs6000/rs6000-internal.h
10117 (rs6000_print_patchable_function_entry): New function declaration.
10118 * config/rs6000/rs6000-logue.cc (rs6000_output_function_prologue):
10119 Support patchable-function-entry by emitting nops before and after
10120 local entry for the function that needs global entry.
10121 * config/rs6000/rs6000.cc (rs6000_print_patchable_function_entry): Skip
10122 the function that needs global entry till global entry has been
10123 emitted.
10124 * config/rs6000/rs6000.h (struct machine_function): New bool member
10125 global_entry_emitted.
10126
10127 2022-09-30 Richard Biener <rguenther@suse.de>
10128
10129 PR tree-optimization/107095
10130 * tree-ssa-dse.cc (initialize_ao_ref_for_dse): Use data arg
10131 for .MASK_STORE size.
10132
10133 2022-09-29 Andrew MacLeod <amacleod@redhat.com>
10134
10135 * range-op.cc (plus_minus_ranges): New.
10136 (adjust_op1_for_overflow): New.
10137 (operator_plus::op1_range): Use new adjustment.
10138 (operator_plus::op2_range): Ditto.
10139 (operator_minus::op1_range): Ditto.
10140 * value-relation.h (relation_lt_le_gt_ge_p): New.
10141
10142 2022-09-29 Andrew MacLeod <amacleod@redhat.com>
10143
10144 * gimple-range-gori.cc (gori_compute::refine_using_relation): New.
10145 (gori_compute::compute_operand1_range): Invoke
10146 refine_using_relation when applicable.
10147 (gori_compute::compute_operand2_range): Ditto.
10148 * gimple-range-gori.h (class gori_compute): Adjust prototypes.
10149
10150 2022-09-29 Andrew MacLeod <amacleod@redhat.com>
10151
10152 * gimple-range-gori.cc (ori_compute::compute_operand_range):
10153 Create a relation record and pass it along when possible.
10154 (gori_compute::compute_operand1_range): Pass relation along.
10155 (gori_compute::compute_operand2_range): Ditto.
10156 (gori_compute::compute_operand1_and_operand2_range): Ditto.
10157 * gimple-range-gori.h (class gori_compute): Adjust prototypes.
10158 * gimple-range-op.cc (gimple_range_op_handler::calc_op1): Pass
10159 relation to op1_range call.
10160 (gimple_range_op_handler::calc_op2): Pass relation to op2_range call.
10161 * gimple-range-op.h (class gimple_range_op_handler): Adjust
10162 prototypes.
10163
10164 2022-09-29 Andrew MacLeod <amacleod@redhat.com>
10165
10166 * value-relation.cc (class value_relation): Move to .h file.
10167 (value_relation::set_relation): Ditto.
10168 (value_relation::value_relation): ditto.
10169 * value-relation.h (class value_relation): Move from .cc file.
10170 (value_relation::set_relation): Ditto
10171 (value_relation::value_relation): Ditto.
10172
10173 2022-09-29 Andrew MacLeod <amacleod@redhat.com>
10174
10175 * range-op.cc (operator_minus::op2_range): Check for undefined.
10176 (operator_mult::op1_range): Ditto.
10177 (operator_exact_divide::op1_range): Ditto.
10178 (operator_lshift::op1_range): Ditto.
10179 (operator_rshift::op1_range): Ditto.
10180 (operator_cast::op1_range): Ditto.
10181 (operator_bitwise_and::op1_range): Ditto.
10182 (operator_bitwise_or::op1_range): Ditto.
10183 (operator_trunc_mod::op1_range): Ditto.
10184 (operator_trunc_mod::op2_range): Ditto.
10185 (operator_bitwise_not::op1_range): Ditto.
10186 (pointer_or_operator::op1_range): Ditto.
10187 (range_op_handler::op1_range): Ditto.
10188 (range_op_handler::op2_range): Ditto.
10189
10190 2022-09-29 Andrew Stubbs <ams@codesourcery.com>
10191
10192 * config/gcn/gcn.cc (gcn_simd_clone_compute_vecsize_and_simdlen):
10193 Remove unused elt_bits variable.
10194
10195 2022-09-29 Olivier Hainque <hainque@adacore.com>
10196
10197 * config/vxworks.h: Add comment on our use of
10198 HAVE_INITFINI_ARRAY_SUPPORT.
10199
10200 2022-09-29 Olivier Hainque <hainque@adacore.com>
10201
10202 * config/aarch64/t-aarch64-vxworks: Request multilib
10203 variants for mcmodel=large.
10204
10205 2022-09-29 Olivier Hainque <hainque@adacore.com>
10206
10207 * config/rs6000/vxworks.h (TARGET_FLOAT128_ENABLE_TYPE): Remove
10208 resetting to 0.
10209
10210 2022-09-29 Olivier Hainque <hainque@adacore.com>
10211
10212 * config/vx-common.h (DWARF2_UNWIND_INFO): #define to 0
10213 when ARM_UNWIND_INFO is set.
10214
10215 2022-09-29 Julian Brown <julian@codesourcery.com>
10216
10217 PR middle-end/107028
10218 * gimplify.cc (omp_check_mapping_compatibility,
10219 oacc_resolve_clause_dependencies): New functions.
10220 (omp_accumulate_sibling_list): Remove redundant duplicate clause
10221 detection for OpenACC.
10222 (build_struct_sibling_lists): Skip deleted groups. Don't build sibling
10223 list for struct variables that are fully mapped on the same directive
10224 for OpenACC.
10225 (gimplify_scan_omp_clauses): Call oacc_resolve_clause_dependencies.
10226
10227 2022-09-29 Jose E. Marchesi <jose.marchesi@oracle.com>
10228
10229 PR middle-end/25521
10230 * varasm.cc (categorize_decl_for_section): Place `const volatile'
10231 objects in read-only sections.
10232 (default_select_section): Likewise.
10233
10234 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
10235
10236 * tree-data-ref.cc (dr_may_alias_p): Use to_poly_widest instead
10237 of to_widest.
10238
10239 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
10240
10241 * config/aarch64/aarch64.h (TARGET_CRYPTO, TARGET_SHA3, TARGET_SM4)
10242 (TARGET_DOTPROD): Don't depend on TARGET_SIMD.
10243 (TARGET_AES, TARGET_SHA2): Likewise. Remove TARGET_CRYPTO test.
10244 (TARGET_FP_F16INST): Don't depend on TARGET_FLOAT.
10245 (TARGET_SVE2, TARGET_SVE_F32MM, TARGET_SVE_F64MM): Don't depend
10246 on TARGET_SVE.
10247 (TARGET_SVE2_AES, TARGET_SVE2_BITPERM, TARGET_SVE2_SHA3)
10248 (TARGET_SVE2_SM4): Don't depend on TARGET_SVE2.
10249 (TARGET_F32MM, TARGET_F64MM): Delete.
10250 * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Guard
10251 float macros with just TARGET_FLOAT rather than TARGET_FLOAT
10252 || TARGET_SIMD.
10253 * config/aarch64/aarch64-simd.md (copysign<mode>3): Depend
10254 only on TARGET_SIMD, rather than TARGET_FLOAT && TARGET_SIMD.
10255 (aarch64_crypto_aes<aes_op>v16qi): Depend only on TARGET_AES,
10256 rather than TARGET_SIMD && TARGET_AES.
10257 (aarch64_crypto_aes<aesmc_op>v16qi): Likewise.
10258 (*aarch64_crypto_aese_fused): Likewise.
10259 (*aarch64_crypto_aesd_fused): Likewise.
10260 (aarch64_crypto_pmulldi): Likewise.
10261 (aarch64_crypto_pmullv2di): Likewise.
10262 (aarch64_crypto_sha1hsi): Likewise TARGET_SHA2.
10263 (aarch64_crypto_sha1hv4si): Likewise.
10264 (aarch64_be_crypto_sha1hv4si): Likewise.
10265 (aarch64_crypto_sha1su1v4si): Likewise.
10266 (aarch64_crypto_sha1<sha1_op>v4si): Likewise.
10267 (aarch64_crypto_sha1su0v4si): Likewise.
10268 (aarch64_crypto_sha256h<sha256_op>v4si): Likewise.
10269 (aarch64_crypto_sha256su0v4si): Likewise.
10270 (aarch64_crypto_sha256su1v4si): Likewise.
10271 (aarch64_crypto_sha512h<sha512_op>qv2di): Likewise TARGET_SHA3.
10272 (aarch64_crypto_sha512su0qv2di): Likewise.
10273 (aarch64_crypto_sha512su1qv2di, eor3q<mode>4): Likewise.
10274 (aarch64_rax1qv2di, aarch64_xarqv2di, bcaxq<mode>4): Likewise.
10275 (aarch64_sm3ss1qv4si): Likewise TARGET_SM4.
10276 (aarch64_sm3tt<sm3tt_op>qv4si): Likewise.
10277 (aarch64_sm3partw<sm3part_op>qv4si): Likewise.
10278 (aarch64_sm4eqv4si, aarch64_sm4ekeyqv4si): Likewise.
10279 * config/aarch64/aarch64.md (<FLOATUORS:optab>dihf2)
10280 (copysign<GPF:mode>3, copysign<GPF:mode>3_insn)
10281 (xorsign<mode>3): Remove redundant TARGET_FLOAT condition.
10282
10283 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
10284
10285 * config/aarch64/aarch64.opt (aarch64_asm_isa_flags): New variable.
10286 * config/aarch64/aarch64.h (aarch64_asm_isa_flags)
10287 (aarch64_isa_flags): Redefine as read-only macros.
10288 (TARGET_SIMD, TARGET_FLOAT, TARGET_SVE): Don't depend on
10289 !TARGET_GENERAL_REGS_ONLY.
10290 * common/config/aarch64/aarch64-common.cc
10291 (aarch64_set_asm_isa_flags): New function.
10292 (aarch64_handle_option): Call it when updating -mgeneral-regs.
10293 * config/aarch64/aarch64-protos.h (aarch64_simd_switcher): Replace
10294 m_old_isa_flags with m_old_asm_isa_flags.
10295 (aarch64_set_asm_isa_flags): Declare.
10296 * config/aarch64/aarch64-builtins.cc
10297 (aarch64_simd_switcher::aarch64_simd_switcher)
10298 (aarch64_simd_switcher::~aarch64_simd_switcher): Save and restore
10299 aarch64_asm_isa_flags instead of aarch64_isa_flags.
10300 * config/aarch64/aarch64-sve-builtins.cc
10301 (check_required_extensions): Use aarch64_asm_isa_flags instead
10302 of aarch64_isa_flags.
10303 * config/aarch64/aarch64.cc (aarch64_set_asm_isa_flags): New function.
10304 (aarch64_override_options, aarch64_handle_attr_arch)
10305 (aarch64_handle_attr_cpu, aarch64_handle_attr_isa_flags): Use
10306 aarch64_set_asm_isa_flags to set the ISA flags.
10307 (aarch64_option_print, aarch64_declare_function_name)
10308 (aarch64_start_file): Use aarch64_asm_isa_flags instead
10309 of aarch64_isa_flags.
10310 (aarch64_can_inline_p): Check aarch64_asm_isa_flags as well as
10311 aarch64_isa_flags.
10312
10313 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
10314
10315 * common/config/aarch64/aarch64-common.cc (all_extensions):
10316 Include the feature flag in flags_on and flags_off.
10317 (aarch64_parse_extension): Update accordingly.
10318 (aarch64_get_extension_string_for_isa_flags): Likewise.
10319
10320 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
10321
10322 * common/config/aarch64/aarch64-common.cc: Use aarch64_feature_flags
10323 for feature flags throughout.
10324 * config/aarch64/aarch64-protos.h: Likewise.
10325 * config/aarch64/aarch64-sve-builtins.h: Likewise.
10326 * config/aarch64/aarch64-sve-builtins.cc: Likewise.
10327 * config/aarch64/aarch64.cc: Likewise.
10328 * config/aarch64/aarch64.opt: Likewise.
10329 * config/aarch64/driver-aarch64.cc: Likewise.
10330
10331 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
10332
10333 * common/config/aarch64/aarch64-common.cc (aarch64_option_extension)
10334 (processor_name_to_arch, arch_to_arch_name): Remove const from
10335 member variables.
10336 (all_extensions, all_cores, all_architectures): Make a constexpr.
10337 * config/aarch64/aarch64.cc (processor): Remove const from
10338 member variables.
10339 (all_architectures): Make a constexpr.
10340 * config/aarch64/driver-aarch64.cc (aarch64_core_data)
10341 (aarch64_arch_driver_info): Remove const from member variables.
10342 (aarch64_cpu_data, aarch64_arches): Make a constexpr.
10343 (get_arch_from_id): Return a pointer to const.
10344 (host_detect_local_cpu): Update accordingly.
10345
10346 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
10347
10348 * common/config/aarch64/aarch64-common.cc (processor_name_to_arch)
10349 (arch_to_arch_name): Use const char * instead of std::string.
10350
10351 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
10352
10353 * common/config/aarch64/aarch64-common.cc
10354 (TARGET_OPTION_INIT_STRUCT): Delete.
10355 (aarch64_option_extension): Remove is_synthetic_flag.
10356 (all_extensions): Update accordingly.
10357 (all_extensions_by_on, opt_ext, opt_ext_cmp): Delete.
10358 (aarch64_option_init_struct, aarch64_contains_opt): Delete.
10359 (aarch64_get_extension_string_for_isa_flags): Rewrite to use
10360 all_extensions instead of all_extensions_on.
10361
10362 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
10363
10364 * config/aarch64/aarch64-option-extensions.def: Switch to a new format.
10365 * config/aarch64/aarch64-cores.def: Use the same format to specify
10366 lists of features.
10367 * config/aarch64/aarch64-arches.def: Likewise, moving that information
10368 from aarch64.h.
10369 * config/aarch64/aarch64-opts.h (aarch64_feature_flags): New typedef.
10370 * config/aarch64/aarch64.h (aarch64_feature): New class enum.
10371 Turn AARCH64_FL_* macros into constexprs, getting the definitions
10372 from aarch64-option-extensions.def. Remove AARCH64_FL_FOR_* macros.
10373 * common/config/aarch64/aarch64-common.cc: Include
10374 aarch64-feature-deps.h.
10375 (all_extensions): Update for new .def format.
10376 (all_extensions_by_on, all_cores, all_architectures): Likewise.
10377 * config/aarch64/driver-aarch64.cc: Include aarch64-feature-deps.h.
10378 (aarch64_extensions): Update for new .def format.
10379 (aarch64_cpu_data, aarch64_arches): Likewise.
10380 * config/aarch64/aarch64.cc: Include aarch64-feature-deps.h.
10381 (all_architectures, all_cores): Update for new .def format.
10382 * config/aarch64/aarch64-sve-builtins.cc
10383 (check_required_extensions): Likewise.
10384 * config/aarch64/aarch64-feature-deps.h: New file.
10385
10386 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
10387
10388 * config/aarch64/aarch64-option-extensions.def: Move crypto
10389 after sha2.
10390
10391 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
10392
10393 * config/aarch64/aarch64-option-extensions.def (dotprod): Depend
10394 on fp as well as simd.
10395 (sha3): Likewise.
10396 (aes): Likewise. Make +noaes disable crypto.
10397 (sha2): Likewise +nosha2. Also make +nosha2 disable sha3 and
10398 sve2-sha3.
10399 (sve2-sha3): Depend on sha2 as well as sha3.
10400
10401 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
10402
10403 PR target/107025
10404 * config/aarch64/aarch64.h (oAARCH64_FL_RCPC8_4): Delete.
10405 (AARCH64_FL_FOR_V8_4A): Update accordingly.
10406 (AARCH64_ISA_RCPC8_4): Use AARCH64_FL_V8_4A directly.
10407 * config/aarch64/aarch64-cores.def (thunderx3t110): Remove
10408 AARCH64_FL_RCPC8_4.
10409
10410 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
10411
10412 * config/aarch64/aarch64-cores.def: Remove AARCH64_FL_FOR_<ARCH>
10413 from the flags field.
10414 * common/config/aarch64/aarch64-common.cc (all_cores): Add it
10415 here instead.
10416 * config/aarch64/aarch64.cc (all_cores): Likewise.
10417 * config/aarch64/driver-aarch64.cc (all_cores): Likewise.
10418
10419 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
10420
10421 * config.gcc: Remove dead aarch64-option-extensions.def code.
10422 * config/aarch64/aarch64-arches.def: Update comment.
10423
10424 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
10425
10426 * config/aarch64/aarch64-arches.def: Add a leading "V" to the
10427 ARCH_IDENT fields.
10428 * config/aarch64/aarch64-cores.def: Update accordingly.
10429 * common/config/aarch64/aarch64-common.cc (all_cores): Likewise.
10430 * config/aarch64/aarch64.cc (all_cores): Likewise.
10431 * config/aarch64/driver-aarch64.cc (aarch64_arches): Skip the
10432 leading "V".
10433
10434 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
10435
10436 * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH8): Rename to...
10437 (AARCH64_FL_FOR_V8A): ...this.
10438 (AARCH64_FL_FOR_ARCH8_1): Rename to...
10439 (AARCH64_FL_FOR_V8_1A): ...this.
10440 (AARCH64_FL_FOR_ARCH8_2): Rename to...
10441 (AARCH64_FL_FOR_V8_2A): ...this.
10442 (AARCH64_FL_FOR_ARCH8_3): Rename to...
10443 (AARCH64_FL_FOR_V8_3A): ...this.
10444 (AARCH64_FL_FOR_ARCH8_4): Rename to...
10445 (AARCH64_FL_FOR_V8_4A): ...this.
10446 (AARCH64_FL_FOR_ARCH8_5): Rename to...
10447 (AARCH64_FL_FOR_V8_5A): ...this.
10448 (AARCH64_FL_FOR_ARCH8_6): Rename to...
10449 (AARCH64_FL_FOR_V8_6A): ...this.
10450 (AARCH64_FL_FOR_ARCH8_7): Rename to...
10451 (AARCH64_FL_FOR_V8_7A): ...this.
10452 (AARCH64_FL_FOR_ARCH8_8): Rename to...
10453 (AARCH64_FL_FOR_V8_8A): ...this.
10454 (AARCH64_FL_FOR_ARCH8_R): Rename to...
10455 (AARCH64_FL_FOR_V8R): ...this.
10456 (AARCH64_FL_FOR_ARCH9): Rename to...
10457 (AARCH64_FL_FOR_V9A): ...this.
10458 (AARCH64_FL_FOR_ARCH9_1): Rename to...
10459 (AARCH64_FL_FOR_V9_1A): ...this.
10460 (AARCH64_FL_FOR_ARCH9_2): Rename to...
10461 (AARCH64_FL_FOR_V9_2A): ...this.
10462 (AARCH64_FL_FOR_ARCH9_3): Rename to...
10463 (AARCH64_FL_FOR_V9_3A): ...this.
10464 * common/config/aarch64/aarch64-common.cc (all_cores): Update
10465 accordingly.
10466 * config/aarch64/aarch64-arches.def: Likewise.
10467 * config/aarch64/aarch64-cores.def: Likewise.
10468 * config/aarch64/aarch64.cc (all_cores): Likewise.
10469
10470 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
10471
10472 * config/aarch64/aarch64.h (AARCH64_FL_V8_1, AARCH64_FL_V8_2)
10473 (AARCH64_FL_V8_3, AARCH64_FL_V8_4, AARCH64_FL_V8_5, AARCH64_FL_V8_6)
10474 (AARCH64_FL_V9, AARCH64_FL_V8_7, AARCH64_FL_V8_8, AARCH64_FL_V9_1)
10475 (AARCH64_FL_V9_2, AARCH64_FL_V9_3): Add "A" to the end of the name.
10476 (AARCH64_FL_V8_R): Rename to AARCH64_FL_V8R.
10477 (AARCH64_FL_FOR_ARCH8_1, AARCH64_FL_FOR_ARCH8_2): Update accordingly.
10478 (AARCH64_FL_FOR_ARCH8_3, AARCH64_FL_FOR_ARCH8_4): Likewise.
10479 (AARCH64_FL_FOR_ARCH8_5, AARCH64_FL_FOR_ARCH8_6): Likewise.
10480 (AARCH64_FL_FOR_ARCH8_7, AARCH64_FL_FOR_ARCH8_8): Likewise.
10481 (AARCH64_FL_FOR_ARCH8_R, AARCH64_FL_FOR_ARCH9): Likewise.
10482 (AARCH64_FL_FOR_ARCH9_1, AARCH64_FL_FOR_ARCH9_2): Likewise.
10483 (AARCH64_FL_FOR_ARCH9_3, AARCH64_ISA_V8_2A, AARCH64_ISA_V8_3A)
10484 (AARCH64_ISA_V8_4A, AARCH64_ISA_V8_5A, AARCH64_ISA_V8_6A): Likewise.
10485 (AARCH64_ISA_V8R, AARCH64_ISA_V9A, AARCH64_ISA_V9_1A): Likewise.
10486 (AARCH64_ISA_V9_2A, AARCH64_ISA_V9_3A): Likewise.
10487
10488 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
10489
10490 * config/aarch64/aarch64.h (AARCH64_ISA_V8_2, AARCH64_ISA_V8_3)
10491 (AARCH64_ISA_V8_4, AARCH64_ISA_V8_5, AARCH64_ISA_V8_6)
10492 (AARCH64_ISA_V9, AARCH64_ISA_V9_1, AARCH64_ISA_V9_2)
10493 (AARCH64_ISA_V9_3): Add "A" to the end of the name.
10494 (AARCH64_ISA_V8_R): Rename to AARCH64_ISA_V8R.
10495 (TARGET_ARMV8_3, TARGET_JSCVT, TARGET_FRINT, TARGET_MEMTAG): Update
10496 accordingly.
10497 * common/config/aarch64/aarch64-common.cc
10498 (aarch64_get_extension_string_for_isa_flags): Likewise.
10499 * config/aarch64/aarch64-c.cc
10500 (aarch64_define_unconditional_macros): Likewise.
10501
10502 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
10503
10504 * Makefile.in (GTFILES): Add OPTIONS_H_EXTRA.
10505
10506 2022-09-29 Jakub Jelinek <jakub@redhat.com>
10507
10508 PR bootstrap/107059
10509 * cppdefault.cc (cpp_include_defaults): If SYSROOT_HEADERS_SUFFIX_SPEC
10510 isn't defined, add FIXED_INCLUDE_DIR entry with multilib flag 2
10511 before FIXED_INCLUDE_DIR entry with multilib flag 0.
10512 * gcc.cc (do_spec_1): If multiarch_dir, add
10513 include-fixed/multiarch_dir paths before include-fixed paths.
10514
10515 2022-09-29 Martin Liska <mliska@suse.cz>
10516
10517 PR driver/106897
10518 * common.opt: Add -gz=zstd value.
10519 * configure.ac: Detect --compress-debug-sections=zstd
10520 for both linker and assembler.
10521 * configure: Regenerate.
10522 * gcc.cc (LINK_COMPRESS_DEBUG_SPEC): Handle -gz=zstd.
10523 (ASM_COMPRESS_DEBUG_SPEC): Likewise.
10524
10525 2022-09-29 Richard Biener <rguenther@suse.de>
10526
10527 PR tree-optimization/105646
10528 * tree-ssa-uninit.cc (warn_uninitialized_vars): Pre-compute
10529 the set of fallthru reachable blocks from function entry
10530 and use that to determine wlims.always_executed.
10531
10532 2022-09-29 liuhongt <hongtao.liu@intel.com>
10533
10534 PR tree-optimization/107055
10535 * tree-vect-loop-manip.cc (vect_can_advance_ivs_p): Check for
10536 nonlinear induction variables.
10537 * tree-vect-loop.cc (vect_can_peel_nonlinear_iv_p): New
10538 functions.
10539 (vectorizable_nonlinear_induction): Put part codes into
10540 vect_can_peel_nonlinear_iv_p.
10541 * tree-vectorizer.h (vect_can_peel_nonlinear_iv_p): Declare.
10542
10543 2022-09-28 Eugene Rozenfeld <erozen@microsoft.com>
10544
10545 * basic-block.h: Remove discriminator from basic blocks.
10546 * cfghooks.cc (split_block_1): Remove discriminator from basic blocks.
10547 * final.cc (final_start_function_1): Switch from per-bb to per statement
10548 discriminator.
10549 (final_scan_insn_1): Don't keep track of basic block discriminators.
10550 (compute_discriminator): Switch from basic block discriminators to
10551 instruction discriminators.
10552 (insn_discriminator): New function to return instruction discriminator.
10553 (notice_source_line): Use insn_discriminator.
10554 * gimple-pretty-print.cc (dump_gimple_bb_header): Remove dumping of
10555 basic block discriminators.
10556 * gimple-streamer-in.cc (input_bb): Remove reading of basic block
10557 discriminators.
10558 * gimple-streamer-out.cc (output_bb): Remove writing of basic block
10559 discriminators.
10560 * input.cc (make_location): Pass 0 discriminator to COMBINE_LOCATION_DATA.
10561 (location_with_discriminator): New function to combine locus with
10562 a discriminator.
10563 (has_discriminator): New function to check if a location has a discriminator.
10564 (get_discriminator_from_loc): New function to get the discriminator
10565 from a location.
10566 * input.h: Declarations of new functions.
10567 * lto-streamer-in.cc (cmp_loc): Use discriminators in location comparison.
10568 (apply_location_cache): Keep track of current discriminator.
10569 (input_location_and_block): Read discriminator from stream.
10570 * lto-streamer-out.cc (clear_line_info): Set current discriminator to
10571 UINT_MAX.
10572 (lto_output_location_1): Write discriminator to stream.
10573 * lto-streamer.h: Add discriminator to cached_location.
10574 Add current_discr to lto_location_cache.
10575 Add current_discr to output_block.
10576 * print-rtl.cc (print_rtx_operand_code_i): Print discriminator.
10577 * rtl.h: Add extern declaration of insn_discriminator.
10578 * tree-cfg.cc (assign_discriminator): New function to assign a unique
10579 discriminator value to all statements in a basic block that have the given
10580 line number.
10581 (assign_discriminators): Assign discriminators to statement locations.
10582 * tree-pretty-print.cc (dump_location): Dump discriminators.
10583 * tree.cc (set_block): Preserve discriminator when setting block.
10584 (set_source_range): Preserve discriminator when setting source range.
10585
10586 2022-09-28 H.J. Lu <hjl.tools@gmail.com>
10587
10588 PR target/107061
10589 * config/i386/predicates.md (encodekey128_operation): Check
10590 XMM4-XMM6 as clobbered.
10591 (encodekey256_operation): Likewise.
10592 * config/i386/sse.md (encodekey128u32): Clobber XMM4-XMM6.
10593 (encodekey256u32): Likewise.
10594
10595 2022-09-28 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
10596
10597 * config.gcc: Add riscv-vector-builtins.o.
10598 * config/riscv/riscv-builtins.cc (riscv_init_builtins): Add RVV builtin function.
10599 * config/riscv/riscv-protos.h (riscv_v_ext_enabled_vector_mode_p): New function.
10600 * config/riscv/riscv.cc (ENTRY): New macro.
10601 (riscv_v_ext_enabled_vector_mode_p): New function.
10602 (riscv_mangle_type): Add RVV mangle.
10603 (riscv_vector_mode_supported_p): Adjust RVV machine mode.
10604 (riscv_verify_type_context): Add context check for RVV.
10605 (riscv_vector_alignment): Add RVV alignment target hook support.
10606 (TARGET_VECTOR_MODE_SUPPORTED_P): New target hook support.
10607 (TARGET_VERIFY_TYPE_CONTEXT): Ditto.
10608 (TARGET_VECTOR_ALIGNMENT): Ditto.
10609 * config/riscv/t-riscv: Add riscv-vector-builtins.o
10610 * config/riscv/riscv-vector-builtins.cc: New file.
10611 * config/riscv/riscv-vector-builtins.def: New file.
10612 * config/riscv/riscv-vector-builtins.h: New file.
10613 * config/riscv/riscv-vector-switch.def: New file.
10614
10615 2022-09-28 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
10616
10617 * var-tracking.cc (vt_add_function_parameter): Add entry values
10618 up to maximal register mode.
10619
10620 2022-09-28 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
10621
10622 * cselib.cc (new_cselib_val): Keep track of further subvalue
10623 relations.
10624
10625 2022-09-28 Andrea Corallo <andrea.corallo@arm.com>
10626
10627 * config/arm/arm-c.cc (arm_cpu_builtins): Define
10628 __ARM_FEATURE_AES and __ARM_FEATURE_SHA2.
10629
10630 2022-09-28 Xi Ruoyao <xry111@xry111.site>
10631
10632 PR tree-optimization/105414
10633 * config/loongarch/loongarch.md (UNSPEC_FMAX): New unspec.
10634 (UNSPEC_FMIN): Likewise.
10635 (fmax<mode>3): Use UNSPEC_FMAX instead of smax.
10636 (fmin<mode>3): Use UNSPEC_FMIN instead of smin.
10637
10638 2022-09-28 Lulu Cheng <chenglulu@loongson.cn>
10639
10640 * config/loongarch/loongarch.cc (loongarch_asan_shadow_offset):
10641 Fixed typo in "asan_mapping.h".
10642
10643 2022-09-28 H.J. Lu <hjl.tools@gmail.com>
10644
10645 PR middle-end/58245
10646 * calls.cc: Include "tree-eh.h".
10647 (expand_call): Check stack canary before throwing exception.
10648
10649 2022-09-27 Eugene Rozenfeld <erozen@microsoft.com>
10650
10651 * ipa-cp.cc (good_cloning_opportunity_p): Fix profile count comparison.
10652
10653 2022-09-27 Kim Kuparinen <kim.kuparinen@rightware.com>
10654
10655 * doc/invoke.texi: Update ABI version info.
10656
10657 2022-09-27 Aldy Hernandez <aldyh@redhat.com>
10658
10659 * gimple-range-op.cc (cfn_popcount): Calculate the popcount of a
10660 singleton.
10661
10662 2022-09-27 Aldy Hernandez <aldyh@redhat.com>
10663
10664 * value-range.cc (irange::set_nonzero_bits): Set range when known.
10665
10666 2022-09-27 Aldy Hernandez <aldyh@redhat.com>
10667
10668 * value-range.h (irange::set): New version taking wide_int_ref.
10669
10670 2022-09-27 Jakub Jelinek <jakub@redhat.com>
10671
10672 PR tree-optimization/107029
10673 * tree-ssa-reassoc.cc (optimize_range_tests_cmp_bitwise): Treat
10674 OFFSET_TYPE like POINTER_TYPE, except that OFFSET_TYPE may be
10675 signed and so can trigger even the (b % 4) == 3 case.
10676
10677 2022-09-27 Jeff Law <jeffreyalaw@gmail.com>
10678
10679 * cfgrtl.cc (fixup_reorder_chain): Verify that simple_return
10680 and return are available before trying to use them.
10681
10682 2022-09-27 Jakub Jelinek <jakub@redhat.com>
10683
10684 PR c++/106652
10685 PR c++/85518
10686 * tree-core.h (enum tree_index): Add TI_FLOAT128T_TYPE
10687 enumerator.
10688 * tree.h (float128t_type_node): Define.
10689 * tree.cc (build_common_tree_nodes): Initialize float128t_type_node.
10690 * builtins.def (DEF_FLOATN_BUILTIN): Adjust comment now that
10691 _Float<N> is supported in C++ too.
10692 * config/i386/i386.cc (ix86_mangle_type): Only mangle as "g"
10693 float128t_type_node.
10694 * config/i386/i386-builtins.cc (ix86_init_builtin_types): Use
10695 float128t_type_node for __float128 instead of float128_type_node
10696 and create it if NULL.
10697 * config/i386/avx512fp16intrin.h (_mm_setzero_ph, _mm256_setzero_ph,
10698 _mm512_setzero_ph, _mm_set_sh, _mm_load_sh): Use 0.0f16 instead of
10699 0.0f.
10700 * config/ia64/ia64.cc (ia64_init_builtins): Use
10701 float128t_type_node for __float128 instead of float128_type_node
10702 and create it if NULL.
10703 * config/rs6000/rs6000-c.cc (is_float128_p): Also return true
10704 for float128t_type_node if non-NULL.
10705 * config/rs6000/rs6000.cc (rs6000_mangle_type): Don't mangle
10706 float128_type_node as "u9__ieee128".
10707 * config/rs6000/rs6000-builtin.cc (rs6000_init_builtins): Use
10708 float128t_type_node for __float128 instead of float128_type_node
10709 and create it if NULL.
10710
10711 2022-09-26 Martin Liska <mliska@suse.cz>
10712
10713 * doc/invoke.texi: Add missing dash for
10714 Wanalyzer-exposure-through-uninit-copy.
10715
10716 2022-09-26 Aldy Hernandez <aldyh@redhat.com>
10717
10718 PR tree-optimization/107009
10719 * range-op.cc (operator_bitwise_and::op1_range): Optimize 0 = x & MASK.
10720 (range_op_bitwise_and_tests): New test.
10721
10722 2022-09-26 Aldy Hernandez <aldyh@redhat.com>
10723
10724 PR tree-optimization/107009
10725 * tree-ssa-dom.cc
10726 (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges):
10727 Iterate over exports.
10728
10729 2022-09-26 Thomas Schwinge <thomas@codesourcery.com>
10730
10731 * config.gcc (with_arch) [nvptx]: Allow '--with-arch' to override
10732 the default.
10733 * config/nvptx/gen-multilib-matches.sh: New.
10734 * config/nvptx/t-nvptx (MULTILIB_OPTIONS, MULTILIB_MATCHES)
10735 (MULTILIB_EXCEPTIONS): Handle this.
10736 * doc/install.texi (Specific) <nvptx-*-none>: Document this.
10737 * doc/invoke.texi (Nvidia PTX Options): Likewise.
10738
10739 2022-09-26 Thomas Schwinge <thomas@codesourcery.com>
10740
10741 * config.gcc (TM_MULTILIB_CONFIG) [nvptx]: Set to '$with_arch'.
10742 * config/nvptx/t-nvptx (MULTILIB_OPTIONS, MULTILIB_MATCHES)
10743 (MULTILIB_EXCEPTIONS): Handle it.
10744
10745 2022-09-26 Thomas Schwinge <thomas@codesourcery.com>
10746
10747 * config.gcc (with_arch) [nvptx]: Set to 'sm_30'.
10748 * config/nvptx/nvptx.cc (nvptx_option_override): Assert that
10749 '-misa' appeared.
10750 * config/nvptx/nvptx.h (OPTION_DEFAULT_SPECS): Define.
10751 * config/nvptx/nvptx.opt (misa=): Remove 'Init'.
10752
10753 2022-09-26 Thomas Schwinge <thomas@codesourcery.com>
10754
10755 * config/nvptx/nvptx.h (ASM_SPEC): Define.
10756
10757 2022-09-26 Jeff Law <jeffreyalaw@gmail.com>
10758
10759 * cfgcleanup.cc (bb_is_just_return): No longer static.
10760 * cfgcleanup.h (bb_is_just_return): Add prototype.
10761 * cfgrtl.cc (fixup_reorder_chain): Do not create an
10762 unconditional jump to a return block. Conditionally
10763 remove unreachable blocks.
10764
10765 2022-09-26 Tobias Burnus <tobias@codesourcery.com>
10766
10767 PR middle-end/106982
10768 * omp-low.cc (lower_oacc_reductions): Add some unshare_expr.
10769
10770 2022-09-26 Martin Liska <mliska@suse.cz>
10771
10772 * config/s390/s390.cc (s390_rtx_costs): Remove dest variable
10773 and use only dst.
10774
10775 2022-09-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10776
10777 * config/aarch64/aarch64-arches.def (armv9.1-a): Define.
10778 (armv9.2-a): Likewise.
10779 (armv9.3-a): Likewise.
10780 * config/aarch64/aarch64.h (AARCH64_FL_V9_1): Likewise.
10781 (AARCH64_FL_V9_2): Likewise.
10782 (AARCH64_FL_V9_3): Likewise.
10783 (AARCH64_FL_FOR_ARCH9_1): Likewise.
10784 (AARCH64_FL_FOR_ARCH9_2): Likewise.
10785 (AARCH64_FL_FOR_ARCH9_3): Likewise.
10786 (AARCH64_ISA_V9_1): Likewise.
10787 (AARCH64_ISA_V9_2): Likewise.
10788 (AARCH64_ISA_V9_3): Likewise.
10789 * doc/invoke.texi (AArch64 Options): Document armv9.1-a, armv9.2-a,
10790 armv9.3-a values to -march.
10791
10792 2022-09-26 Martin Liska <mliska@suse.cz>
10793
10794 * value-range.cc (tree_compare): Remove unused function.
10795
10796 2022-09-26 Kewen Lin <linkw@linux.ibm.com>
10797
10798 PR target/96072
10799 * config/rs6000/rs6000-logue.cc (rs6000_emit_epilogue): Update the
10800 condition for adding REG_CFA_DEF_CFA reg note with
10801 frame_pointer_needed_indeed.
10802
10803 2022-09-26 Kewen Lin <linkw@linux.ibm.com>
10804
10805 PR target/100645
10806 * config/rs6000/vector.md (vec_shr_<mode>): Replace condition
10807 TARGET_ALTIVEC with VECTOR_UNIT_ALTIVEC_OR_VSX_P.
10808
10809 2022-09-26 Hongtao Liu <hongtao.liu@intel.com>
10810 Liwei Xu <liwei.xu@intel.com>
10811
10812 PR target/53346
10813 * config/i386/i386-expand.cc (expand_vec_perm_shufps_shufps):
10814 New function.
10815 (ix86_expand_vec_perm_const_1): Insert
10816 expand_vec_perm_shufps_shufps at the end of 2-instruction
10817 expand sequence.
10818
10819 2022-09-25 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
10820
10821 * doc/sourcebuild.texi: Fix chapter level.
10822
10823 2022-09-24 Jakub Jelinek <jakub@redhat.com>
10824
10825 PR c/107001
10826 * omp-low.cc (lower_omp_taskgroup): Don't add GOMP_RETURN statement
10827 at the end.
10828 * omp-expand.cc (build_omp_regions_1): Clarify GF_OMP_TARGET_KIND_DATA
10829 is not stand-alone directive. For GIMPLE_OMP_TASKGROUP, also don't
10830 update parent.
10831 (omp_make_gimple_edges) <case GIMPLE_OMP_TASKGROUP>: Reset
10832 cur_region back after new_omp_region.
10833
10834 2022-09-23 Vineet Gupta <vineetg@rivosinc.com>
10835
10836 * config/riscv/riscv.h (LOCAL_SYM_P): New.
10837 (USE_LOAD_ADDRESS_MACRO): Simplify by calling LOCAL_SYM_P.
10838
10839 2022-09-23 zhongjuzhe <juzhe.zhong@rivai.ai>
10840
10841 * config/riscv/riscv-modes.def (VECTOR_BOOL_MODE): Add RVV mask modes.
10842 (ADJUST_NUNITS): Adjust nunits using riscv_vector_chunks.
10843 (ADJUST_ALIGNMENT): Adjust alignment.
10844 (ADJUST_BYTESIZE): Adjust bytesize using riscv_vector_chunks.
10845 (RVV_MODES): New macro.
10846 (VECTOR_MODE_WITH_PREFIX): Add RVV vector modes.
10847 (VECTOR_MODES_WITH_PREFIX): Add RVV vector modes.
10848
10849 2022-09-23 zhongjuzhe <juzhe.zhong@rivai.ai>
10850
10851 * common/config/riscv/riscv-common.cc: Change "static void" to "void".
10852 * config.gcc: Add riscv-selftests.o
10853 * config/riscv/predicates.md: Allow const_poly_int.
10854 * config/riscv/riscv-protos.h (riscv_reinit): New function.
10855 (riscv_parse_arch_string): change as exten function.
10856 (riscv_run_selftests): New function.
10857 * config/riscv/riscv.cc (riscv_cannot_force_const_mem): Don't allow poly
10858 into const pool.
10859 (riscv_report_v_required): New function.
10860 (riscv_expand_op): New function.
10861 (riscv_expand_mult_with_const_int): New function.
10862 (riscv_legitimize_poly_move): Ditto.
10863 (riscv_legitimize_move): New function.
10864 (riscv_hard_regno_mode_ok): Add VL/VTYPE register allocation and fix
10865 vector RA.
10866 (riscv_convert_vector_bits): Fix riscv_vector_chunks configuration for
10867 -marh no 'v'.
10868 (riscv_reinit): New function.
10869 (TARGET_RUN_TARGET_SELFTESTS): New target hook support.
10870 * config/riscv/t-riscv: Add riscv-selftests.o.
10871 * config/riscv/riscv-selftests.cc: New file.
10872
10873 2022-09-23 Richard Biener <rguenther@suse.de>
10874
10875 PR tree-optimization/106922
10876 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Allow
10877 an arbitrary number of same valued skipped stores.
10878
10879 2022-09-23 Aldy Hernandez <aldyh@redhat.com>
10880
10881 * value-range.cc (frange::set): Swap setters such that the one
10882 accepting REAL_VALUE_TYPE does all the work.
10883
10884 2022-09-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10885
10886 * config/aarch64/aarch64-cores.def (neoverse-v2): New entry.
10887 (demeter): Update tunings to neoversev2.
10888 * config/aarch64/aarch64-tune.md: Regenerate.
10889 * config/aarch64/aarch64.cc (demeter_addrcost_table): Rename to
10890 neoversev2_addrcost_table.
10891 (demeter_regmove_cost): Rename to neoversev2_addrcost_table.
10892 (demeter_advsimd_vector_cost): Rename to neoversev2_advsimd_vector_cost.
10893 (demeter_sve_vector_cost): Rename to neoversev2_sve_vector_cost.
10894 (demeter_scalar_issue_info): Rename to neoversev2_scalar_issue_info.
10895 (demeter_advsimd_issue_info): Rename to neoversev2_advsimd_issue_info.
10896 (demeter_sve_issue_info): Rename to neoversev2_sve_issue_info.
10897 (demeter_vec_issue_info): Rename to neoversev2_vec_issue_info.
10898 Update references to above.
10899 (demeter_vector_cost): Rename to neoversev2_vector_cost.
10900 (demeter_tunings): Rename to neoversev2_tunings.
10901 (aarch64_vec_op_count::rename_cycles_per_iter): Use
10902 neoversev2_sve_issue_info instead of demeter_sve_issue_info.
10903 * doc/invoke.texi (AArch64 Options): Document neoverse-v2.
10904
10905 2022-09-23 Aldy Hernandez <aldyh@redhat.com>
10906
10907 * range-op-float.cc (build_le): Use vrp_val_*.
10908 (build_lt): Same.
10909 (build_ge): Same.
10910 (build_gt): Same.
10911 * value-range.cc (frange::set): Chop ranges outside of the
10912 representable numbers for -ffinite-math-only.
10913 (frange::normalize_kind): Use vrp_val*.
10914 (frange::verify_range): Same.
10915 (frange::set_nonnegative): Same.
10916 (range_tests_floats): Remove tests that depend on -INF and +INF.
10917 * value-range.h (real_max_representable): Add prototype.
10918 (real_min_representable): Same.
10919 (vrp_val_max): Set max representable number for
10920 -ffinite-math-only.
10921 (vrp_val_min): Same but for min.
10922 (frange::set_varying): Use vrp_val*.
10923
10924 2022-09-23 Aldy Hernandez <aldyh@redhat.com>
10925
10926 * real.cc (debug): New.
10927
10928 2022-09-23 Aldy Hernandez <aldyh@redhat.com>
10929
10930 * value-range-pretty-print.cc (vrange_printer::print_real_value): New.
10931 (vrange_printer::visit): Call print_real_value.
10932 * value-range-pretty-print.h: New print_real_value.
10933
10934 2022-09-23 Martin Liska <mliska@suse.cz>
10935
10936 * common.opt: Update -flto-compression-level documentation.
10937 * opts.cc (print_filtered_help): Do not append range to an
10938 option that uses \t syntax.
10939
10940 2022-09-23 Jakub Jelinek <jakub@redhat.com>
10941
10942 * attribs.cc (decl_attributes): Improve diagnostics, instead of
10943 saying expected between 1 and 1, found 2 just say expected 1, found 2.
10944
10945 2022-09-23 Hu, Lin1 <lin1.hu@intel.com>
10946
10947 PR target/94962
10948 * config/i386/constraints.md (BH): New define_constraint.
10949 * config/i386/i386.cc (standard_sse_constant_p): Add return
10950 3/4 when operand matches new predicate.
10951 (standard_sse_constant_opcode): Add new alternative branch to
10952 return "vpcmpeqd".
10953 * config/i386/predicates.md
10954 (vector_all_ones_zero_extend_half_operand): New define_predicate.
10955 (vector_all_ones_zero_extend_quarter_operand): Ditto.
10956 * config/i386/sse.md: Add constraint to insn "mov<mode>_internal".
10957
10958 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
10959
10960 * gimple-range-fold.cc (range_of_range_op): Handle no operands.
10961 (range_of_call): Do not check for builtins.
10962 (fold_using_range::range_of_builtin_call): Delete.
10963 (fold_using_range::range_of_builtin_int_call): Delete.
10964 * gimple-range-fold.h: Adjust prototypes.
10965 * gimple-range-op.cc (class cfn_parity): New.
10966 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
10967
10968 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
10969
10970 * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
10971 for CFN_GOACC_DIM_*.
10972 * gimple-range-op.cc (class cfn_goacc_dim): New.
10973 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
10974
10975 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
10976
10977 * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
10978 for CFN_BUILT_IN_STRLEN.
10979 * gimple-range-op.cc (class cfn_strlen): New.
10980 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
10981
10982 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
10983
10984 * gimple-range-fold.cc (range_of_builtin_ubsan_call): Delete.
10985 (range_of_builtin_int_call): Remove cases for
10986 CFN_BUILT_IN_UBSAN_CHECK.
10987 * gimple-range-op.cc (class cfn_ubsan): New.
10988 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
10989
10990 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
10991
10992 * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
10993 for CFN_BUILT_IN_CLRSB.
10994 * gimple-range-op.cc (class cfn_clrsb): New.
10995 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
10996
10997 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
10998
10999 * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
11000 for CFN_CTZ.
11001 * gimple-range-op.cc (class cfn_ctz): New.
11002 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
11003
11004 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
11005
11006 * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
11007 for CFN_CLZ.
11008 * gimple-range-op.cc (class cfn_clz): New.
11009 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
11010
11011 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
11012
11013 * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
11014 for CFN_FFS and CFN_POPCOUNT.
11015 * gimple-range-op.cc (class cfn_pocount): New.
11016 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
11017
11018 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
11019
11020 * gimple-range-fold.cc (get_letter_range): Move to new class.
11021 (range_of_builtin_int_call): Remove case for CFN_BUILT_IN_TOUPPER
11022 and CFN_BUILT_IN_TOLOWER.
11023 * gimple-range-op.cc (class cfn_toupper_tolower): New.
11024 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
11025
11026 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
11027
11028 * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
11029 for CFN_BUILT_IN_SIGNBIT.
11030 * gimple-range-op.cc (class cfn_signbit): New.
11031 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
11032
11033 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
11034
11035 * gimple-range-fold.cc
11036 (fold_using_range::range_of_builtin_int_call): Remove case for
11037 CFN_BUILT_IN_CONSTANT_P.
11038 * gimple-range-op.cc (gimple_range_op_handler::supported_p):
11039 Check if a call also creates a range-op object.
11040 (gimple_range_op_handler): Also check builtin calls.
11041 (class cfn_constant_float_p): New. Float CFN_BUILT_IN_CONSTANT_P.
11042 (class cfn_constant_p): New. Integral CFN_BUILT_IN_CONSTANT_P.
11043 (gimple_range_op_handler::maybe_builtin_call): Set arguments and
11044 handler for supported built-in calls.
11045 * gimple-range-op.h (maybe_builtin_call): New prototype.
11046
11047 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
11048
11049 * gimple-range-fold.cc (range_of_range_op): Set result to
11050 VARYING if the call to fold_range fails.
11051 * tree-data-ref.cc (compute_distributive_range): Ditto.
11052 * tree-vrp.cc (range_fold_binary_expr): Ditto.
11053 (range_fold_unary_expr): Ditto.
11054 * value-query.cc (range_query::get_tree_range): Ditto.
11055
11056 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
11057
11058 * range-op-float.cc (range_operator_float::fold_range): New base
11059 method for "int = float op int".
11060 * range-op.cc (range_op_handler::fold_range): New case.
11061 * range-op.h: Update prototypes.
11062
11063 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
11064
11065 * gimple-range-op.cc (gimple_range_op_handler::calc_op1): Use
11066 operand 1 for second range if there is no operand 2.
11067
11068 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
11069
11070 * Makefile.in (OBJS): Add gimple-range-op.o.
11071 * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Use
11072 gimple_range_op_handler.
11073 * gimple-range-fold.cc (gimple_range_base_of_assignment): Move
11074 to a method in gimple_range_op_handler.
11075 (gimple_range_operand1): Ditto.
11076 (gimple_range_operand2): Ditto.
11077 (fold_using_range::fold_stmt): Use gimple_range_op_handler.
11078 (fold_using_range::range_of_range_op): Ditto.
11079 (fold_using_range::relation_fold_and_or): Ditto.
11080 (fur_source::register_outgoing_edges): Ditto.
11081 (gimple_range_ssa_names): Relocate to gimple-range-op.cc.
11082 * gimple-range-fold.h: Adjust prototypes.
11083 * gimple-range-gori.cc (gimple_range_calc_op1): Move
11084 to a method in gimple_range_op_handler.
11085 (gimple_range_calc_op2): Ditto.
11086 (gori_compute::compute_operand_range): Use
11087 gimple_range_op_handler.
11088 (gori_compute::compute_logical_operands): Ditto.
11089 (compute_operand1_range): Ditto.
11090 (gori_compute::compute_operand2_range): Ditto.
11091 (gori_compute::compute_operand1_and_operand2_range): Ditto.
11092 * gimple-range-gori.h: Adjust protoypes.
11093 * gimple-range-op.cc: New. Supply gimple_range_op_handler methods.
11094 * gimple-range-op.h: New. Supply gimple_range_op_handler class.
11095 * gimple-range.cc (gimple_ranger::prefill_name): Use
11096 gimple_range_op_handler.
11097 (gimple_ranger::prefill_stmt_dependencies): Ditto.
11098 * gimple-range.h: Include gimple-range-op.h.
11099 * range-op.cc (range_op_handler::range_op_handler): Adjust and
11100 remove gimple * parameter option.
11101 * range-op.h: Adjust prototypes.
11102
11103 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
11104
11105 * range-op.cc (range_op_handler::set_op_handler): Set new fields.
11106 (ange_op_handler::range_op_handler): Likewise.
11107 (range_op_handler::operator bool): Remove.
11108 (range_op_handler::fold_range): Use appropriate handler.
11109 (range_op_handler::op1_range): Likewise.
11110 (range_op_handler::op2_range): Likewise.
11111 (range_op_handler::lhs_op1_relation): Likewise.
11112 (range_op_handler::lhs_op2_relation): Likewise.
11113 (range_op_handler::op1_op2_relation): Likewise.
11114 * range-op.h (class range_op_handler): Store handler pointers.
11115 (range_op_handler:: operator bool): Inline.
11116
11117 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
11118
11119 * tree-ssa-threadbackward.cc
11120 (back_threader::find_paths_to_names): Replace sequence with
11121 a call to gimple_range_ssa_names.
11122
11123 2022-09-22 Martin Liska <mliska@suse.cz>
11124 Fangrui Song <i@maskray.me>
11125
11126 * configure: Regenerate.
11127 * configure.ac: Simplify to gcc_cv_ld_compress_debug={0,1}
11128 and gcc_cv_as_compress_debug={0,1}.
11129 * doc/invoke.texi: Document the removal.
11130 * gcc.cc (LINK_COMPRESS_DEBUG_SPEC): Simplify and ignore
11131 zlib-gnu.
11132 (ASM_COMPRESS_DEBUG_SPEC): Likewise.
11133
11134 2022-09-22 Richard Biener <rguenther@suse.de>
11135
11136 PR tree-optimization/106922
11137 * tree-ssa-sccvn.cc (vn_walk_cb_data::same_val): New member.
11138 (vn_walk_cb_data::finish): Perform delayed verification of
11139 a skipped may-alias.
11140 (vn_reference_lookup_pieces): Likewise.
11141 (vn_reference_lookup): Likewise.
11142 (vn_reference_lookup_3): When skipping stores of the same
11143 value also handle constant stores that are more than a
11144 single VDEF away by delaying the verification.
11145
11146 2022-09-22 Max Filippov <jcmvbkbc@gmail.com>
11147
11148 * config/xtensa/xtensa.cc (TARGET_MAX_ANCHOR_OFFSET): New
11149 definition.
11150
11151 2022-09-22 Max Filippov <jcmvbkbc@gmail.com>
11152
11153 * config/xtensa/xtensa.cc (xtensa_can_output_mi_thunk)
11154 (xtensa_output_mi_thunk): New functions.
11155 (TARGET_ASM_CAN_OUTPUT_MI_THUNK)
11156 (TARGET_ASM_OUTPUT_MI_THUNK): New macro definitions.
11157 (xtensa_prepare_expand_call): Use fixed register a8 as temporary
11158 when called with reload_completed set to 1.
11159
11160 2022-09-22 Richard Biener <rguenther@suse.de>
11161
11162 PR tree-optimization/99407
11163 * tree-ssa-dse.cc (dse_stmt_to_dr_map): New global.
11164 (dse_classify_store): Use data-ref analysis to disambiguate more uses.
11165 (pass_dse::use_dr_analysis_p): New pass parameter.
11166 (pass_dse::set_pass_param): Implement.
11167 (pass_dse::execute): Allocate and deallocate dse_stmt_to_dr_map.
11168 * passes.def: Allow DR analysis for the DSE pass before loop.
11169
11170 2022-09-22 Richard Biener <rguenther@suse.de>
11171
11172 * tree-ssa-sccvn.cc (can_track_predicate_on_edge): New
11173 function split out from ...
11174 (vn_nary_op_insert_pieces_predicated): ... here.
11175
11176 2022-09-22 liuhongt <hongtao.liu@intel.com>
11177
11178 PR target/106994
11179 * config/i386/mmx.md (floorv2sf2): Fix typo, use
11180 register_operand instead of vector_operand for operands[1].
11181
11182 2022-09-21 Aldy Hernandez <aldyh@redhat.com>
11183
11184 PR tree-optimization/106967
11185 * value-range.cc (frange::set): Set known NANs to undefined for
11186 flag_finite_math_only.
11187
11188 2022-09-21 Aldy Hernandez <aldyh@redhat.com>
11189
11190 * value-range.cc (frange::combine_zeros): Call set_undefined.
11191 (frange::intersect_nans): Same.
11192 (frange::intersect): Same.
11193 (frange::verify_range): Undefined ranges do not have a type.
11194 * value-range.h (frange::set_undefined): Clear NAN flags and type.
11195
11196 2022-09-21 Richard Biener <rguenther@suse.de>
11197
11198 PR tree-optimization/106984
11199 * tsan.cc (instrument_builtin_call): Build the COND_EXPR condition in
11200 a separate statement.
11201
11202 2022-09-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11203
11204 * config/aarch64/aarch64.h (HAVE_LOCAL_CPU_DETECT,
11205 EXTRA_SPEC_FUNCTIONS, MCPU_MTUNE_NATIVE_SPECS): Move definitions up before
11206 OPTION_DEFAULT_SPECS.
11207 (MCPU_MTUNE_NATIVE_SPECS): Pass "cpu" to
11208 local_cpu_detect when rewriting -march=native and no -mcpu or -mtune
11209 is given.
11210 (CONFIG_TUNE_SPEC): Define.
11211 (OPTION_DEFAULT_SPECS): Use CONFIG_TUNE_SPEC for "tune".
11212
11213 2022-09-21 Aldy Hernandez <aldyh@redhat.com>
11214
11215 PR tree-optimization/106967
11216 * range-op-float.cc (foperator_equal::fold_range): Adjust for NAN.
11217 (foperator_equal::op1_range): Same.
11218 (foperator_not_equal::fold_range): Same.
11219 (foperator_not_equal::op1_range): Same.
11220 (foperator_lt::fold_range): Same.
11221 (foperator_lt::op1_range): Same.
11222 (foperator_lt::op2_range): Same.
11223 (foperator_le::fold_range): Same.
11224 (foperator_le::op1_range): Same.
11225 (foperator_le::op2_range): Same.
11226 (foperator_gt::fold_range): Same.
11227 (foperator_gt::op1_range): Same.
11228 (foperator_gt::op2_range): Same.
11229 (foperator_ge::fold_range): Same.
11230 (foperator_ge::op1_range): Same.
11231 (foperator_ge::op2_range): Same.
11232 (foperator_unordered::op1_range): Same.
11233 (foperator_ordered::fold_range): Same.
11234 (foperator_ordered::op1_range): Same.
11235 (build_le): Assert that we don't have a NAN.
11236 (build_lt): Same.
11237 (build_gt): Same.
11238 (build_ge): Same.
11239
11240 2022-09-21 liuhongt <hongtao.liu@intel.com>
11241
11242 PR tree-optimization/106963
11243 * tree-vect-loop.cc (vect_create_nonlinear_iv_init): Use
11244 vec_gen_perm_mask_any instead of vec_gen_perm_mask_check.
11245
11246 2022-09-20 Aldy Hernandez <aldyh@redhat.com>
11247
11248 * value-range.h (frange::maybe_isnan): Return false for
11249 undefined ranges.
11250
11251 2022-09-20 Aldy Hernandez <aldyh@redhat.com>
11252
11253 * value-range.cc (frange::set_nonnegative): Set +NAN.
11254 (range_tests_signed_zeros): New test.
11255 * value-range.h (frange::update_nan): New overload to set NAN sign.
11256
11257 2022-09-20 Richard Sandiford <richard.sandiford@arm.com>
11258
11259 PR target/106491
11260 * config/aarch64/aarch64-sve-builtins.cc (scalar_types)
11261 (acle_vector_types, acle_svpattern, acle_svprfop): Add GTY
11262 markup to (new) extern declarations instead of to the main
11263 definition.
11264
11265 2022-09-20 Richard Sandiford <richard.sandiford@arm.com>
11266
11267 PR tree-optimization/106794
11268 PR tree-optimization/106914
11269 * tree-vect-slp.cc (vect_optimize_slp_pass::internal_node_cost):
11270 Only consider loads that already have a permutation.
11271 (vect_optimize_slp_pass::start_choosing_layouts): Assert that
11272 loads with permutations are leaf nodes. Prevent any kind of grouped
11273 access from changing layout if it doesn't have a load permutation.
11274
11275 2022-09-20 Richard Sandiford <richard.sandiford@arm.com>
11276
11277 * tree-vect-data-refs.cc (vect_check_gather_scatter): Restrict
11278 early-out optimisation to SSA_NAMEs.
11279
11280 2022-09-20 Martin Liska <mliska@suse.cz>
11281
11282 * ctfc.cc (ctf_add_string): Replace "the the" with "the".
11283 * doc/md.texi: Likewise.
11284 * gimple-range-infer.cc (non_null_loadstore): Likewise.
11285
11286 2022-09-20 liuhongt <hongtao.liu@intel.com>
11287
11288 PR target/106910
11289 * config/i386/mmx.md (nearbyintv2sf2): New expander.
11290 (rintv2sf2): Ditto.
11291 (ceilv2sf2): Ditto.
11292 (lceilv2sfv2si2): Ditto.
11293 (floorv2sf2): Ditto.
11294 (lfloorv2sfv2si2): Ditto.
11295 (btruncv2sf2): Ditto.
11296 (lrintv2sfv2si2): Ditto.
11297 (roundv2sf2): Ditto.
11298 (lroundv2sfv2si2): Ditto.
11299 (*mmx_roundv2sf2): New define_insn.
11300
11301 2022-09-20 konglin1 <lingling.kong@intel.com>
11302
11303 PR middle-end/105735
11304 * tree-scalar-evolution.cc
11305 (analyze_and_compute_bitop_with_inv_effect): New function.
11306 (final_value_replacement_loop): Enhanced to handle bitop
11307 with inv induction.
11308
11309 2022-09-20 Xi Ruoyao <xry111@xry111.site>
11310
11311 * config/loongarch/gnu-user.h (GNU_USER_TARGET_LINK_SPEC): For
11312 -static-pie, pass -static -pie --no-dynamic-linker -z text to
11313 the linker, and do not pass --dynamic-linker.
11314
11315 2022-09-20 Aldy Hernandez <aldyh@redhat.com>
11316
11317 * value-range.cc (frange::flush_denormals_to_zero): New.
11318 (frange::set): Call flush_denormals_to_zero.
11319 * value-range.h (class frange): Add flush_denormals_to_zero.
11320
11321 2022-09-20 liuhongt <hongtao.liu@intel.com>
11322
11323 * config/i386/x86-tune-sched.cc (ix86_issue_rate): Adjust for
11324 latest Intel processors.
11325
11326 2022-09-20 konglin1 <lingling.kong@intel.com>
11327
11328 PR target/106887
11329 * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
11330 Fixed V16BF mode case.
11331
11332 2022-09-19 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
11333
11334 * targhooks.cc (default_zero_call_used_regs): Improve sorry
11335 message.
11336
11337 2022-09-18 Julian Brown <julian@codesourcery.com>
11338
11339 * gimplify.cc (omp_segregate_mapping_groups): Update comment.
11340 (gimplify_adjust_omp_clauses): Move ATTACH and
11341 ATTACH_ZERO_LENGTH_ARRAY_SECTION nodes to the end of the clause list
11342 for offloaded OpenMP regions.
11343
11344 2022-09-18 Jakub Jelinek <jakub@redhat.com>
11345
11346 PR middle-end/106831
11347 * value-range.cc (frange::singleton_p): Avoid propagating long
11348 doubles that may have multiple representations.
11349
11350 2022-09-18 Aldy Hernandez <aldyh@redhat.com>
11351
11352 * range-op-float.cc (frange_add_zeros): Replace set_signbit with
11353 union of zero.
11354 * value-query.cc (range_query::get_tree_range): Remove set_signbit
11355 use.
11356 * value-range-pretty-print.cc (vrange_printer::print_frange_prop):
11357 Remove.
11358 (vrange_printer::print_frange_nan): New.
11359 * value-range-pretty-print.h (print_frange_prop): Remove.
11360 (print_frange_nan): New.
11361 * value-range-storage.cc (frange_storage_slot::set_frange): Set
11362 kind and NAN fields.
11363 (frange_storage_slot::get_frange): Restore kind and NAN fields.
11364 * value-range-storage.h (class frange_storage_slot): Add kind and
11365 NAN fields.
11366 * value-range.cc (frange::update_nan): Remove.
11367 (frange::set_signbit): Remove.
11368 (frange::set): Adjust for NAN fields.
11369 (frange::normalize_kind): Remove m_props.
11370 (frange::combine_zeros): New.
11371 (frange::union_nans): New.
11372 (frange::union_): Handle new NAN fields.
11373 (frange::intersect_nans): New.
11374 (frange::intersect): Handle new NAN fields.
11375 (frange::operator=): Same.
11376 (frange::operator==): Same.
11377 (frange::contains_p): Same.
11378 (frange::singleton_p): Remove special case for signed zeros.
11379 (frange::verify_range): Adjust for new NAN fields.
11380 (frange::set_zero): Handle signed zeros.
11381 (frange::set_nonnegative): Same.
11382 (range_tests_nan): Adjust tests.
11383 (range_tests_signed_zeros): Same.
11384 (range_tests_signbit): Same.
11385 (range_tests_floats): Same.
11386 * value-range.h (class fp_prop): Remove.
11387 (FP_PROP_ACCESSOR): Remove.
11388 (class frange_props): Remove
11389 (frange::lower_bound): NANs don't have endpoints.
11390 (frange::upper_bound): Same.
11391 (frange_props::operator==): Remove.
11392 (frange_props::union_): Remove.
11393 (frange_props::intersect): Remove.
11394 (frange::update_nan): New.
11395 (frange::clear_nan): New.
11396 (frange::undefined_p): New.
11397 (frange::set_nan): New.
11398 (frange::known_finite): Adjust for new NAN representation.
11399 (frange::maybe_isnan): Same.
11400 (frange::known_isnan): Same.
11401 (frange::signbit_p): Same.
11402 * gimple-range-fold.cc (range_of_builtin_int_call): Rename
11403 known_signbit_p into signbit_p.
11404
11405 2022-09-17 Jan-Benedict Glaw <jbglaw@lug-owl.de>
11406
11407 * config/csky/csky.h (FUNCTION_ARG_REGNO_P): Cast REGNO to (int)
11408 to prevent warning.
11409
11410 2022-09-17 Jakub Jelinek <jakub@redhat.com>
11411
11412 PR tree-optimization/106958
11413 * tree-ssa-reassoc.cc (optimize_range_tests_cmp_bitwise): If
11414 id >= l, cast op to type1, otherwise to pointer_sized_int_node.
11415 If type has pointer type, cast exp to pointer_sized_int_node
11416 even when id < l.
11417
11418 2022-09-16 liuhongt <hongtao.liu@intel.com>
11419
11420 PR target/106910
11421 * config/i386/i386-builtins.cc
11422 (ix86_builtin_vectorized_function): Modernized with
11423 corresponding expanders.
11424 * config/i386/sse.md (lrint<mode><sseintvecmodelower>2): New
11425 expander.
11426 (floor<mode>2): Ditto.
11427 (lfloor<mode><sseintvecmodelower>2): Ditto.
11428 (ceil<mode>2): Ditto.
11429 (lceil<mode><sseintvecmodelower>2): Ditto.
11430 (btrunc<mode>2): Ditto.
11431 (lround<mode><sseintvecmodelower>2): Ditto.
11432 (exp2<mode>2): Ditto.
11433
11434 2022-09-15 Joseph Myers <joseph@codesourcery.com>
11435
11436 * ginclude/float.h (INFINITY): Define only if
11437 [__FLT_HAS_INFINITY__].
11438
11439 2022-09-15 Richard Biener <rguenther@suse.de>
11440
11441 PR tree-optimization/106922
11442 * tree-ssa-pre.cc (translate_vuse_through_block): Only
11443 keep the VUSE if its def dominates PHIBLOCK.
11444 (prune_clobbered_mems): Rewrite logic so we check whether
11445 a value dies in a block when the VUSE def doesn't dominate it.
11446
11447 2022-09-15 Richard Biener <rguenther@suse.de>
11448
11449 * tree.cc (build_common_tree_nodes): Initialize void_list_node
11450 here.
11451
11452 2022-09-15 Jiufu Guo <guojiufu@linux.ibm.com>
11453
11454 PR target/106550
11455 * config/rs6000/rs6000.cc (rs6000_emit_set_long_const): Use pli.
11456
11457 2022-09-14 Aldy Hernandez <aldyh@redhat.com>
11458
11459 * range-op-float.cc (frange_add_zeros): New.
11460 (build_le): Call frange_add_zeros.
11461 (build_ge): Same.
11462 (foperator_equal::op1_range): Same.
11463 (foperator_not_equal::op1_range): Same.
11464
11465 2022-09-14 Aldy Hernandez <aldyh@redhat.com>
11466
11467 * range-op-float.cc (build_le): Accept frange instead of number.
11468 (build_lt): Same.
11469 (build_ge): Same.
11470 (build_gt): Same.
11471 (foperator_lt::op1_range): Pass full range to build_*.
11472 (foperator_lt::op2_range): Same.
11473 (foperator_le::op1_range): Same.
11474 (foperator_le::op2_range): Same.
11475 (foperator_gt::op1_range): Same.
11476 (foperator_gt::op2_range): Same.
11477 (foperator_ge::op1_range): Same.
11478 (foperator_ge::op2_range): Same.
11479
11480 2022-09-14 Aldy Hernandez <aldyh@redhat.com>
11481
11482 * value-range.cc (frange::set): Use set_nan.
11483 * value-range.h (frange::set_nan): Inline code originally in
11484 set().
11485
11486 2022-09-14 Aldy Hernandez <aldyh@redhat.com>
11487
11488 * range-op-float.cc (frange_set_nan): Remove.
11489 (build_lt): Use set_nan, update_nan, clear_nan.
11490 (build_gt): Same.
11491 (foperator_equal::op1_range): Same.
11492 (foperator_not_equal::op1_range): Same.
11493 (foperator_lt::op1_range): Same.
11494 (foperator_lt::op2_range): Same.
11495 (foperator_le::op1_range): Same.
11496 (foperator_le::op2_range): Same.
11497 (foperator_gt::op1_range): Same.
11498 (foperator_gt::op2_range): Same.
11499 (foperator_ge::op1_range): Same.
11500 (foperator_ge::op2_range): Same.
11501 (foperator_unordered::op1_range): Same.
11502 (foperator_ordered::op1_range): Same.
11503 * value-query.cc (range_query::get_tree_range): Same.
11504 * value-range.cc (frange::set_nan): Same.
11505 (frange::update_nan): Same.
11506 (frange::union_): Same.
11507 (frange::intersect): Same.
11508 (range_tests_nan): Same.
11509 (range_tests_signed_zeros): Same.
11510 (range_tests_signbit): Same.
11511 (range_tests_floats): Same.
11512 * value-range.h (class frange): Add update_nan and clear_nan.
11513 (frange::set_nan): New.
11514
11515 2022-09-14 Aldy Hernandez <aldyh@redhat.com>
11516
11517 * value-query.cc (range_query::get_tree_range): Remove check for overflow.
11518 * value-range-pretty-print.cc (vrange_printer::visit): Move read
11519 of type until after undefined_p is checked.
11520 * value-range.cc (frange::set): Remove asserts for REAL_CST.
11521 (frange::contains_p): Tidy up.
11522 (range_tests_nan): Add comment.
11523 * value-range.h (frange::type): Check for undefined_p.
11524 (frange::set_undefined): Remove set of endpoints.
11525
11526 2022-09-14 Julian Brown <julian@codesourcery.com>
11527
11528 * gimplify.cc (omp_group_last): Allow GOMP_MAP_ATTACH_DETACH after
11529 GOMP_MAP_STRUCT (for reindexing).
11530 (omp_gather_mapping_groups): Reimplement using...
11531 (omp_gather_mapping_groups_1): This new function. Stop processing at
11532 GATHER_SENTINEL.
11533 (omp_group_base): Allow GOMP_MAP_TO_PSET without any following node.
11534 (omp_index_mapping_groups): Reimplement using...
11535 (omp_index_mapping_groups_1): This new function. Handle
11536 REINDEX_SENTINEL.
11537 (omp_reindex_mapping_groups, omp_mapped_by_containing_struct): New
11538 functions.
11539 (omp_tsort_mapping_groups_1): Adjust handling of base group being the
11540 same as current group. Use omp_mapped_by_containing_struct.
11541 (omp_build_struct_sibling_lists): Use omp_mapped_by_containing_struct
11542 and omp_reindex_mapping_groups. Robustify group deletion for reordered
11543 lists.
11544 (gimplify_scan_omp_clauses): Update calls to
11545 omp_build_struct_sibling_lists.
11546
11547 2022-09-14 Julian Brown <julian@codesourcery.com>
11548
11549 * gimplify.cc (gimplify_omp_var_data): Remove GOVD_MAP_HAS_ATTACHMENTS.
11550 (GOMP_FIRSTPRIVATE_IMPLICIT): Renumber.
11551 (insert_struct_comp_map): Refactor function into...
11552 (build_omp_struct_comp_nodes): This new function. Remove list handling
11553 and improve self-documentation.
11554 (extract_base_bit_offset): Remove BASE_REF, OFFSETP parameters. Move
11555 code to strip outer parts of address out of function, but strip no-op
11556 conversions.
11557 (omp_mapping_group): Add DELETED field for use during reindexing.
11558 (omp_strip_components_and_deref, omp_strip_indirections): New functions.
11559 (omp_group_last, omp_group_base): Add GOMP_MAP_STRUCT handling.
11560 (omp_gather_mapping_groups): Initialise DELETED field for new groups.
11561 (omp_index_mapping_groups): Notice DELETED groups when (re)indexing.
11562 (omp_siblist_insert_node_after, omp_siblist_move_node_after,
11563 omp_siblist_move_nodes_after, omp_siblist_move_concat_nodes_after): New
11564 helper functions.
11565 (omp_accumulate_sibling_list): New function to build up GOMP_MAP_STRUCT
11566 node groups for sibling lists. Outlined from gimplify_scan_omp_clauses.
11567 (omp_build_struct_sibling_lists): New function.
11568 (gimplify_scan_omp_clauses): Remove struct_map_to_clause,
11569 struct_seen_clause, struct_deref_set. Call
11570 omp_build_struct_sibling_lists as pre-pass instead of handling sibling
11571 lists in the function's main processing loop.
11572 (gimplify_adjust_omp_clauses_1): Remove GOVD_MAP_HAS_ATTACHMENTS
11573 handling, unused now.
11574 * omp-low.cc (scan_sharing_clauses): Handle pointer-type indirect
11575 struct references, and references to pointers to structs also.
11576
11577 2022-09-14 Richard Biener <rguenther@suse.de>
11578
11579 PR tree-optimization/106938
11580 * tree-cfg.cc (execute_fixup_cfg): Purge dead abnormal
11581 edges for all last stmts in a block. Do EH cleanup
11582 only on the last stmt in a block.
11583
11584 2022-09-14 Aldy Hernandez <aldyh@redhat.com>
11585
11586 PR tree-optimization/106936
11587 * value-query.cc (range_query::get_value_range): Remove assert.
11588
11589 2022-09-14 Jan-Benedict Glaw <jbglaw@lug-owl.de>
11590
11591 * config/mips/mips.cc (mips_option_override): Drop unused variable.
11592
11593 2022-09-14 Julian Brown <julian@codesourcery.com>
11594
11595 * gimplify.cc (is_or_contains_p, omp_target_reorder_clauses): Delete
11596 functions.
11597 (omp_tsort_mark): Add enum.
11598 (omp_mapping_group): Add struct.
11599 (debug_mapping_group, omp_get_base_pointer, omp_get_attachment,
11600 omp_group_last, omp_gather_mapping_groups, omp_group_base,
11601 omp_index_mapping_groups, omp_containing_struct,
11602 omp_tsort_mapping_groups_1, omp_tsort_mapping_groups,
11603 omp_segregate_mapping_groups, omp_reorder_mapping_groups): New
11604 functions.
11605 (gimplify_scan_omp_clauses): Call above functions instead of
11606 omp_target_reorder_clauses, unless we've seen an error.
11607 * omp-low.cc (scan_sharing_clauses): Avoid strict test if we haven't
11608 sorted mapping groups.
11609
11610 2022-09-14 Jakub Jelinek <jakub@redhat.com>
11611
11612 PR tree-optimization/106878
11613 * tree-cfg.cc (verify_gimple_assign_binary): Disallow pointer,
11614 reference or OFFSET_TYPE BIT_IOR_EXPR, BIT_XOR_EXPR or, unless
11615 the second argument is INTEGER_CST, BIT_AND_EXPR.
11616 * match.pd ((type) X op CST -> (type) (X op ((type-x) CST)),
11617 (type) (((type2) X) op Y) -> (X op (type) Y)): Punt for
11618 POINTER_TYPE_P or OFFSET_TYPE.
11619 * tree-ssa-reassoc.cc (optimize_range_tests_cmp_bitwise): For
11620 pointers cast them to pointer sized integers first.
11621
11622 2022-09-14 Richard Biener <rguenther@suse.de>
11623
11624 PR tree-optimization/106934
11625 * tree-ssa.cc (non_rewritable_mem_ref_base): Avoid BIT_FIELD_REFs
11626 of bitfields.
11627 (maybe_rewrite_mem_ref_base): Likewise.
11628
11629 2022-09-14 liuhongt <hongtao.liu@intel.com>
11630
11631 PR tree-optimization/106905
11632 * tree-vect-loop.cc (vectorizable_nonlinear_induction): Return
11633 false when !vect_use_loop_mask_for_alignment_p (loop_vinfo) &&
11634 LOOP_VINFO_PEELING_FOR_ALIGNMENT (loop_vinfo) < 0.
11635
11636 2022-09-13 Roger Sayle <roger@nextmovesoftware.com>
11637
11638 PR target/106877
11639 * reg-stack.cc (move_for_stack_reg): Check for any_malformed_asm
11640 in gcc_assert.
11641
11642 2022-09-13 Max Filippov <jcmvbkbc@gmail.com>
11643
11644 Revert:
11645 2022-09-12 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
11646
11647 * config/xtensa/xtensa.cc (TARGET_CONSTANT_OK_FOR_CPROP_P):
11648 New macro definition.
11649 (xtensa_constant_ok_for_cprop_p):
11650 Implement the hook as mentioned above.
11651
11652 2022-09-13 Kewen Lin <linkw@linux.ibm.com>
11653
11654 PR target/104482
11655 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin): Fix
11656 the equality check for argument number, and move this hunk ahead.
11657
11658 2022-09-13 Kewen.Lin <linkw@gcc.gnu.org>
11659
11660 PR target/105485
11661 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Add
11662 the handling for unresolved overloaded builtin function.
11663 (rs6000_expand_builtin): Likewise.
11664
11665 2022-09-13 Kewen Lin <linkw@linux.ibm.com>
11666
11667 * config/rs6000/rs6000.cc (class rs6000_cost_data): Add new members
11668 m_nstores, m_reduc_factor, m_gather_load and member function
11669 determine_suggested_unroll_factor.
11670 (rs6000_cost_data::update_target_cost_per_stmt): Update for m_nstores,
11671 m_reduc_factor and m_gather_load.
11672 (rs6000_cost_data::determine_suggested_unroll_factor): New function.
11673 (rs6000_cost_data::finish_cost): Use determine_suggested_unroll_factor.
11674 * config/rs6000/rs6000.opt (rs6000-vect-unroll-limit): New parameter.
11675 (rs6000-vect-unroll-issue): Likewise.
11676 (rs6000-vect-unroll-reduc-threshold): Likewise.
11677 * doc/invoke.texi (rs6000-vect-unroll-limit): Document new parameter.
11678
11679 2022-09-13 Richard Biener <rguenther@suse.de>
11680
11681 PR middle-end/106909
11682 * gimple-fold.cc (gimple_fold_call): Clear the ctrl-altering
11683 flag of a unreachable call.
11684
11685 2022-09-13 Richard Biener <rguenther@suse.de>
11686
11687 PR tree-optimization/106913
11688 * tree-ssa-uninit.cc (warn_uninitialized_vars): Do not set
11689 ft_reachable on EXIT_BLOCK.
11690
11691 2022-09-13 Richard Sandiford <richard.sandiford@arm.com>
11692
11693 * config/aarch64/aarch64.cc (aarch64_classify_vector_mode): Use
11694 TARGET_FLOAT instead of TARGET_SIMD.
11695 (aarch64_vectorize_related_mode): Restrict ADVSIMD handling to
11696 TARGET_SIMD.
11697 (aarch64_hard_regno_mode_ok): Don't allow tuples of 2 64-bit vectors
11698 in GPRs.
11699 (aarch64_classify_address): Treat little-endian structure moves
11700 like big-endian for TARGET_FLOAT && !TARGET_SIMD.
11701 (aarch64_secondary_memory_needed): New function.
11702 (aarch64_secondary_reload): Handle 128-bit Advanced SIMD vectors
11703 in the same way as TF, TI and TD.
11704 (aarch64_rtx_mult_cost): Restrict ADVSIMD handling to TARGET_SIMD.
11705 (aarch64_rtx_costs): Likewise.
11706 (aarch64_register_move_cost): Treat a pair of 64-bit vectors
11707 separately from a single 128-bit vector. Handle the cost implied
11708 by aarch64_secondary_memory_needed.
11709 (aarch64_simd_valid_immediate): Restrict ADVSIMD handling to
11710 TARGET_SIMD.
11711 (aarch64_expand_vec_perm_const_1): Likewise.
11712 (TARGET_SECONDARY_MEMORY_NEEDED): New macro.
11713 * config/aarch64/iterators.md (VTX): New iterator.
11714 * config/aarch64/aarch64.md (arches): Add fp_q as a synonym of simd.
11715 (arch_enabled): Adjust accordingly.
11716 (@aarch64_reload_mov<TX:mode>): Extend to...
11717 (@aarch64_reload_mov<VTX:mode>): ...this.
11718 * config/aarch64/aarch64-simd.md (mov<mode>): Require TARGET_FLOAT
11719 rather than TARGET_SIMD.
11720 (movmisalign<mode>): Likewise.
11721 (load_pair<DREG:mode><DREG2:mode>): Likewise.
11722 (vec_store_pair<DREG:mode><DREG2:mode>): Likewise.
11723 (load_pair<VQ:mode><VQ2:mode>): Likewise.
11724 (vec_store_pair<VQ:mode><VQ2:mode>): Likewise.
11725 (@aarch64_split_simd_mov<mode>): Likewise.
11726 (aarch64_get_low<mode>): Likewise.
11727 (aarch64_get_high<mode>): Likewise.
11728 (aarch64_get_half<mode>): Likewise. Canonicalize to a move for
11729 lowpart extracts.
11730 (*aarch64_simd_mov<VDMOV:mode>): Require TARGET_FLOAT rather than
11731 TARGET_SIMD. Use different w<-w and r<-w instructions for
11732 !TARGET_SIMD. Disable immediate moves for !TARGET_SIMD but
11733 add an alternative specifically for w<-Z.
11734 (*aarch64_simd_mov<VQMOV:mode>): Require TARGET_FLOAT rather than
11735 TARGET_SIMD. Likewise for the associated define_splits. Disable
11736 FPR moves and immediate moves for !TARGET_SIMD but add an alternative
11737 specifically for w<-Z.
11738 (aarch64_simd_mov_from_<mode>high): Require TARGET_FLOAT rather than
11739 TARGET_SIMD. Restrict the existing alternatives to TARGET_SIMD
11740 but add a new r<-w one for !TARGET_SIMD.
11741 (*aarch64_get_high<mode>): New pattern.
11742 (load_pair_lanes<mode>): Require TARGET_FLOAT rather than TARGET_SIMD.
11743 (store_pair_lanes<mode>): Likewise.
11744 (*aarch64_combine_internal<mode>): Likewise. Restrict existing
11745 w<-w, w<-r and w<-m alternatives to TARGET_SIMD but add a new w<-r
11746 alternative for !TARGET_SIMD.
11747 (*aarch64_combine_internal_be<mode>): Likewise.
11748 (aarch64_combinez<mode>): Require TARGET_FLOAT rather than TARGET_SIMD.
11749 Remove bogus arch attribute.
11750 (*aarch64_combinez_be<mode>): Likewise.
11751 (@aarch64_vec_concat<mode>): Require TARGET_FLOAT rather than
11752 TARGET_SIMD.
11753 (aarch64_combine<mode>): Likewise.
11754 (aarch64_rev_reglist<mode>): Likewise.
11755 (mov<mode>): Likewise.
11756 (*aarch64_be_mov<VSTRUCT_2D:mode>): Extend to TARGET_FLOAT &&
11757 !TARGET_SIMD, regardless of endianness. Extend associated
11758 define_splits in the same way, both for this pattern and the
11759 ones below.
11760 (*aarch64_be_mov<VSTRUCT_2Qmode>): Likewise. Restrict w<-w
11761 alternative to TARGET_SIMD.
11762 (*aarch64_be_movoi): Likewise.
11763 (*aarch64_be_movci): Likewise.
11764 (*aarch64_be_movxi): Likewise.
11765 (*aarch64_be_mov<VSTRUCT_4QD:mode>): Extend to TARGET_FLOAT
11766 && !TARGET_SIMD, regardless of endianness. Restrict w<-w alternative
11767 to TARGET_SIMD for tuples of 128-bit vectors.
11768 (*aarch64_be_mov<VSTRUCT_4QD:mode>): Likewise.
11769 * config/aarch64/aarch64-ldpstp.md: Remove TARGET_SIMD condition
11770 from DREG STP peephole. Change TARGET_SIMD to TARGET_FLOAT in
11771 the VQ and VP_2E LDP and STP peepholes.
11772
11773 2022-09-13 Richard Sandiford <richard.sandiford@arm.com>
11774
11775 * config/aarch64/aarch64-simd.md (movv8di): Remove TARGET_SIMD
11776 condition. Likewise for the related define_split. Tweak formatting.
11777
11778 2022-09-12 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
11779
11780 * config/xtensa/xtensa.cc (TARGET_CONSTANT_OK_FOR_CPROP_P):
11781 New macro definition.
11782 (xtensa_constant_ok_for_cprop_p):
11783 Implement the hook as mentioned above.
11784
11785 2022-09-12 Joseph Myers <joseph@codesourcery.com>
11786
11787 * ginclude/stdatomic.h [defined __STDC_VERSION__ &&
11788 __STDC_VERSION__ > 201710L] (ATOMIC_VAR_INIT): Do not define.
11789
11790 2022-09-12 Tobias Burnus <tobias@codesourcery.com>
11791
11792 * config/nvptx/mkoffload.cc (process): Replace a fatal_error by
11793 a warning + not enabling offloading if -misa=sm_30 prevents
11794 reverse offload.
11795 (main): Use tool_name as progname for diagnostic.
11796 * config/gcn/mkoffload.cc (main): Likewise.
11797
11798 2022-09-12 Aldy Hernandez <aldyh@redhat.com>
11799
11800 * value-range.cc (frange::set_signbit): Avoid changing sign when
11801 already in the correct sign.
11802
11803 2022-09-12 Max Filippov <jcmvbkbc@gmail.com>
11804
11805 * config/xtensa/xtensa.cc (xtensa_function_value_regno_p):
11806 Recognize all 4 return registers.
11807 * config/xtensa/xtensa.h (GP_RETURN_REG_COUNT): New definition.
11808 * config/xtensa/xtensa.md (untyped_call): New pattern.
11809
11810 2022-09-12 Jonathan Wakely <jwakely@redhat.com>
11811
11812 * doc/extend.texi (Floating Types): Fix "_float128" typo.
11813
11814 2022-09-10 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
11815
11816 * config/xtensa/xtensa.cc (xtensa_constantsynth):
11817 Add new pattern for the abovementioned case.
11818
11819 2022-09-10 Akari Takahashi <akaritakahashioss@gmail.com>
11820 Segher Boessenkool <segher@kernel.crashing.org>
11821
11822 * config/rs6000/rs6000.cc (get_memref_parts): Regularize some code.
11823
11824 2022-09-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
11825
11826 * config/xtensa/xtensa.md: Rewrite the split pattern that performs
11827 the abovementioned process so that insns that overwrite clobbered
11828 register no longer need to be contiguous.
11829 (DSC): Remove as no longer needed.
11830
11831 2022-09-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
11832
11833 * config/xtensa/xtensa.cc (machine_function): New boolean member as
11834 a flag that controls whether to emit the insns for stack pointer
11835 adjustment inside of the pro/epilogue.
11836 (xtensa_emit_adjust_stack_ptr): New function to share the common
11837 codes and to emit insns if not inhibited.
11838 (xtensa_expand_epilogue): Change to use the function mentioned
11839 above when using the CALL0 ABI.
11840 (xtensa_expand_prologue): Ditto.
11841 And also change to set the inhibit flag used by
11842 xtensa_emit_adjust_stack_ptr() to true if the stack pointer is only
11843 used for its own adjustment.
11844
11845 2022-09-09 David Malcolm <dmalcolm@redhat.com>
11846
11847 * doc/invoke.texi (Static Analyzer Options): Add
11848 -Wanalyzer-exposure-through-uninit-copy.
11849
11850 2022-09-09 David Malcolm <dmalcolm@redhat.com>
11851
11852 * Makefile.in (ANALYZER_OBJS): Add
11853 analyzer/known-function-manager.o.
11854
11855 2022-09-09 Tobias Burnus <tobias@codesourcery.com>
11856
11857 * config/nvptx/mkoffload.cc (struct id_map): Add 'dim' member.
11858 (record_id): Store func name without quotes, store dim separately.
11859 (process): For GOMP_REQUIRES_REVERSE_OFFLOAD, check that -march is
11860 at least sm_35, create '$offload_func_table' global array and init
11861 with reverse-offload function addresses.
11862 * config/nvptx/nvptx.cc (write_fn_proto_1, write_fn_proto): New
11863 force_public attribute to force .visible.
11864 (nvptx_declare_function_name): For "omp target
11865 device_ancestor_nohost" attribut, force .visible/TREE_PUBLIC.
11866
11867 2022-09-09 Tobias Burnus <tobias@codesourcery.com>
11868
11869 * config/gcn/mkoffload.cc (process_asm): Create .offload_func_table,
11870 similar to pre-existing .offload_var_table.
11871
11872 2022-09-09 Joseph Myers <joseph@codesourcery.com>
11873
11874 * ginclude/stddef.h [__STDC_VERSION__ > 201710L] (unreachable):
11875 New macro.
11876
11877 2022-09-09 Kewen Lin <linkw@linux.ibm.com>
11878
11879 PR middle-end/106833
11880 * tree.cc (verify_opaque_type): New function.
11881 (verify_type): Call verify_opaque_type for OPAQUE_TYPE.
11882
11883 2022-09-09 Kwok Cheung Yeung <kcy@codesourcery.com>
11884
11885 * config/gcn/gcn-builtins.def (FABSVF, LDEXPVF, LDEXPV, FREXPVF_EXP,
11886 FREXPVF_MANT, FREXPV_EXP, FREXPV_MANT): Add new builtins.
11887 * config/gcn/gcn-protos.h (gcn_dconst1over2pi): New prototype.
11888 * config/gcn/gcn-valu.md (MATH_UNOP_1OR2REG, MATH_UNOP_1REG,
11889 MATH_UNOP_TRIG): New iterators.
11890 (math_unop): New attributes.
11891 (<math_unop><mode>2, <math_unop><mode>2<exec>,
11892 <math_unop><mode>2, <math_unop><mode>2<exec>,
11893 *<math_unop><mode>2_insn, *<math_unop><mode>2<exec>_insn,
11894 ldexp<mode>3, ldexp<mode>3<exec>,
11895 frexp<mode>_exp2, frexp<mode>_mant2,
11896 frexp<mode>_exp2<exec>, frexp<mode>_mant2<exec>): New instructions.
11897 (<math_unop><mode>2, <math_unop><mode>2<exec>): New expanders.
11898 * config/gcn/gcn.cc (init_ext_gcn_constants): Update definition of
11899 dconst1over2pi.
11900 (gcn_dconst1over2pi): New.
11901 (gcn_builtin_type_index): Add entry for v64df type.
11902 (v64df_type_node): New.
11903 (gcn_init_builtin_types): Initialize v64df_type_node.
11904 (gcn_expand_builtin_1): Expand new builtins to instructions.
11905 (print_operand): Fix assembler output for 1/(2*PI) constant.
11906 * config/gcn/gcn.md (unspec): Add new entries.
11907
11908 2022-09-09 Richard Biener <rguenther@suse.de>
11909
11910 PR tree-optimization/106722
11911 * tree-predcom.cc (ref_at_iteration): Do not associate the
11912 constant part of the offset into the MEM_REF offset
11913 operand, across a non-zero offset.
11914
11915 2022-09-09 Kito Cheng <kito.cheng@sifive.com>
11916
11917 * common/config/riscv/riscv-common.cc (RISCV_USE_CUSTOMISED_MULTI_LIB):
11918 Move forward for cover all all necessary functions for suppress
11919 unused function warnings.
11920 (riscv_multi_lib_check): Move forward, and tweak message to suppress
11921 -Werror=format-diag warning.
11922
11923 2022-09-09 Richard Biener <rguenther@suse.de>
11924
11925 PR tree-optimization/106881
11926 * gimple-predicate-analysis.cc (simple_control_dep_chain):
11927 Add only non-fallthru edges and avoid the same set of edges
11928 as compute_control_dep_chain_pdom does.
11929
11930 2022-09-09 Jan-Benedict Glaw <jbglaw@lug-owl.de>
11931
11932 * doc/tm.texi.in (TARGET_OVERRIDES_FORMAT_ATTRIBUTES): Document requirement
11933 of TARGET_OVERRIDES_FORMAT_ATTRIBUTES_COUNT being defined as well.
11934 * doc/tm.texi: Regenerate.
11935
11936 2022-09-09 Martin Liska <mliska@suse.cz>
11937
11938 * optc-save-gen.awk: Always compare array option values with memcmp.
11939
11940 2022-09-08 Jonathan Wakely <jwakely@redhat.com>
11941
11942 PR c++/106838
11943 * doc/extend.texi (Type Traits): Fix requirements. Document
11944 __is_aggregate and __is_final.
11945
11946 2022-09-08 Tim Lange <mail@tim-lange.me>
11947
11948 PR analyzer/106625
11949 * doc/invoke.texi:
11950 State that the checker also reasons about symbolic values.
11951
11952 2022-09-08 Richard Sandiford <richard.sandiford@arm.com>
11953
11954 PR tree-optimization/106886
11955 * tree-vect-slp.cc (vect_optimize_slp_pass::get_result_with_layout):
11956 Fix copying of scalar stmts.
11957
11958 2022-09-08 Chung-Lin Tang <cltang@codesourcery.com>
11959
11960 * config/nios2/linux.h (MUSL_DYNAMIC_LINKER): Add #undef before #define.
11961
11962 2022-09-08 Richard Biener <rguenther@suse.de>
11963
11964 PR middle-end/106870
11965 * gimple-harden-conditionals.cc (insert_check_and_trap):
11966 Set the control-altering flag on the built IFN_TRAP.
11967 * gimple.cc (gimple_build_builtin_unreachable): Likewise.
11968 * tree-cfg.cc (handle_abnormal_edges): Set the control-altering
11969 flag on the .ABNORMAL_DISPATCHER call.
11970 * tree-cfgcleanup.cc (cleanup_call_ctrl_altering_flag): Avoid
11971 resetting the control altering flag for ECF_NORETURN calls.
11972 (cleanup_control_flow_bb): Set the control altering flag on
11973 discovered noreturn calls.
11974 * symtab-thunks.cc (expand_thunk): Set the control altering
11975 flag for the noreturn tailcall case.
11976 * tree-eh.cc (lower_resx): Likewisw for trap and unwind_resume
11977 calls.
11978
11979 2022-09-08 Jakub Jelinek <jakub@redhat.com>
11980
11981 * omp-expand.cc (expand_omp_ordered_sink): Add CONT_BB argument.
11982 Add doacross(sink:omp_cur_iteration-1) support.
11983 (expand_omp_ordered_source_sink): Clear counts[fd->ordered + 1].
11984 Adjust expand_omp_ordered_sink caller.
11985 (expand_omp_for_ordered_loops): If counts[fd->ordered + 1] is
11986 non-NULL, set that variable to true at the start of outermost
11987 non-collapsed loop and set it to false at the end of innermost
11988 ordered loop.
11989 (expand_omp_for_generic): If fd->ordered, allocate
11990 1 + (fd->ordered - fd->collapse) further elements in counts array.
11991 Copy to counts + 2 + fd->ordered the counts of fd->collapse ..
11992 fd->ordered - 1 loop if any.
11993
11994 2022-09-08 Richard Biener <rguenther@suse.de>
11995
11996 PR tree-optimization/106881
11997 * gimple-predicate-analysis.cc (compute_control_dep_chain_pdom):
11998 Add only non-fallthru edges and avoid the same set of edges
11999 as the caller does.
12000
12001 2022-09-08 Aldy Hernandez <aldyh@redhat.com>
12002
12003 * gimple-range-fold.cc
12004 (fold_using_range::range_of_builtin_int_call): Use fpclassify like API.
12005 * range-op-float.cc (finite_operand_p): Same.
12006 (finite_operands_p): Same.
12007 (foperator_lt::fold_range): Same.
12008 (foperator_le::fold_range): Same.
12009 (foperator_gt::fold_range): Same.
12010 (foperator_ge::fold_range): Same.
12011 (foperator_unordered::fold_range): Same.
12012 (foperator_unordered::op1_range): Same.
12013 (foperator_ordered::fold_range): Same.
12014 * value-range.cc (frange::set_nan): Same.
12015 (frange::set_signbit): Same.
12016 (frange::union_): Same.
12017 (frange::intersect): Same.
12018 (frange::operator==): Same.
12019 (frange::singleton_p): Same.
12020 (frange::verify_range): Same.
12021 (range_tests_nan): Same.
12022 (range_tests_floats): Same.
12023 * value-range.h(frange::known_finite): New.
12024 (frange::maybe_inf): New.
12025 (frange::known_inf): New.
12026 (frange::maybe_nan): New.
12027 (frange::known_nan): New.
12028 (frange::known_signbit): New.
12029
12030 2022-09-08 Iain Buclaw <ibuclaw@gdcproject.org>
12031
12032 * config/darwin-d.cc: Include tm.h.
12033 * config/dragonfly-d.cc: Likewise.
12034 * config/freebsd-d.cc: Remove memmodel.h.
12035 * config/glibc-d.cc: Likewise.
12036 * config/netbsd-d.cc: Include tm.h.
12037 * config/openbsd-d.cc: Likewise.
12038 * config/sol2-d.cc: Likewise.
12039
12040 2022-09-08 Christophe Lyon <christophe.lyon@arm.com>
12041
12042 * config/arm/mve.md (mve_vqshluq_n_s<mode>): Use
12043 MVE_pred/MVE_constraint instead of mve_imm_7/Ra.
12044 (mve_vqshluq_m_n_s<mode>): Likewise.
12045 (mve_vqrshrnbq_n_<supf><mode>): Use MVE_pred3/MVE_constraint3
12046 instead of mve_imm_8/Rb.
12047 (mve_vqrshrunbq_n_s<mode>): Likewise.
12048 (mve_vqrshrntq_n_<supf><mode>): Likewise.
12049 (mve_vqrshruntq_n_s<mode>): Likewise.
12050 (mve_vrshrnbq_n_<supf><mode>): Likewise.
12051 (mve_vrshrntq_n_<supf><mode>): Likewise.
12052 (mve_vqrshrnbq_m_n_<supf><mode>): Likewise.
12053 (mve_vqrshrntq_m_n_<supf><mode>): Likewise.
12054 (mve_vrshrnbq_m_n_<supf><mode>): Likewise.
12055 (mve_vrshrntq_m_n_<supf><mode>): Likewise.
12056 (mve_vqrshrunbq_m_n_s<mode>): Likewise.
12057 (mve_vsriq_n_<supf><mode): Use MVE_pred2/MVE_constraint2 instead
12058 of mve_imm_selective_upto_8/Rg.
12059 (mve_vsriq_m_n_<supf><mode>): Likewise.
12060
12061 2022-09-08 Jiufu Guo <guojiufu@linux.ibm.com>
12062
12063 * config/rs6000/rs6000.md (splitter for set to and_mask constants):
12064 Use int_reg_operand (instead of int_reg_operand_not_pseudo).
12065 (splitter for multi-insn constant loads): Ditto.
12066
12067 2022-09-08 Sebastian Huber <sebastian.huber@embedded-brains.de>
12068
12069 * config/rs6000/rtems.h (CPP_OS_DEFAULT_SPEC): Define __PPC_VRSAVE__ if
12070 -mvrsave is present.
12071 * config/rs6000/t-rtems: Add -mvrsave multilib variants for
12072 -mcpu=e6500.
12073
12074 2022-09-07 Martin Liska <mliska@suse.cz>
12075
12076 * configure.ac: Restore detection of HAVE_XCOFF_DWARF_EXTRAS.
12077 * config/rs6000/rs6000.cc (HAVE_XCOFF_DWARF_EXTRAS): Reset it.
12078 * configure: Regenerate.
12079 * config.in: Regenerate.
12080
12081 2022-09-07 Surya Kumari Jangala <jskumari@linux.ibm.com>
12082
12083 PR rtl-optimization/105586
12084 * sched-rgn.cc (save_state_for_fallthru_edge): New function.
12085 (schedule_region): Use it for all blocks.
12086
12087 2022-09-07 Joseph Myers <joseph@codesourcery.com>
12088
12089 * ginclude/stdalign.h [defined __STDC_VERSION__ &&
12090 __STDC_VERSION__ > 201710L]: Disable all content.
12091 * ginclude/stdbool.h [defined __STDC_VERSION__ && __STDC_VERSION__
12092 > 201710L] (bool, true, false): Do not define.
12093
12094 2022-09-07 Martin Liska <mliska@suse.cz>
12095
12096 PR bootstrap/106855
12097 * collect2.cc (scan_prog_file): Restore if XCOFF_DEBUGGING_INFO.
12098 * config/rs6000/rs6000.cc (rs6000_option_override_internal):
12099 Restore usage of XCOFF_DEBUGGING_INFO.
12100 * config/rs6000/xcoff.h (XCOFF_DEBUGGING_INFO): Restore.
12101 * dwarf2asm.cc (XCOFF_DEBUGGING_INFO): Restore support for
12102 XCOFF_DEBUGGING_INFO.
12103 (dw2_asm_output_nstring): Likewise.
12104 (USE_LINKONCE_INDIRECT): Likewise.
12105 * dwarf2out.cc (XCOFF_DEBUGGING_INFO): Likewise.
12106 (HAVE_XCOFF_DWARF_EXTRAS): Likewise.
12107 (output_fde): Likewise.
12108 (output_call_frame_info): Likewise.
12109 (have_macinfo): Likewise.
12110 (add_AT_loc_list): Likewise.
12111 (add_AT_view_list): Likewise.
12112 (output_compilation_unit_header): Likewise.
12113 (output_pubnames): Likewise.
12114 (output_aranges): Likewise.
12115 (output_line_info): Likewise.
12116 (output_macinfo): Likewise.
12117 (dwarf2out_finish): Likewise.
12118 (dwarf2out_early_finish): Likewise.
12119
12120 2022-09-07 Richard Biener <rguenther@suse.de>
12121
12122 PR tree-optimization/106866
12123 * tree-ssa-dce.cc (eliminate_unnecessary_stmts): When
12124 we changed cfun->calls_setjmp make sure to purge all
12125 abnormal call edges.
12126
12127 2022-09-07 Xianmiao Qu <cooper.qu@linux.alibaba.com>
12128
12129 * config/csky/csky.cc (csky_emit_compare_float): Fix the expanding of
12130 float LE comparing with zero for fpuv3.
12131 * config/csky/csky.h (TARGET_SUPPORT_FPV2): New, true if any fpuv2
12132 features are enabled.
12133
12134 2022-09-07 Richard Biener <rguenther@suse.de>
12135
12136 PR tree-optimization/106860
12137 * tree-ssa-loop-split.cc (split_loop): Find the exit to
12138 latch edge from the loop exit edge instead of from the
12139 latch. Verify we're going to find it.
12140
12141 2022-09-07 Richard Biener <rguenther@suse.de>
12142
12143 * gimple-predicate-analysis.cc (dfs_mark_dominating_region):
12144 Adjust to take the region exit source as argument.
12145 (uninit_analysis::init_from_phi_def): Adjust.
12146 (uninit_analysis::init_use_preds): Mark the dominating region
12147 before computing control dependences.
12148
12149 2022-09-07 Richard Sandiford <richard.sandiford@arm.com>
12150
12151 * config/aarch64/aarch64.md (*mov<SHORT:mode>_aarch64): Extend
12152 w<-w, r<-w and w<-r alternatives to !simd, using 32-bit moves
12153 in that case. Extend w<-r to w<-Z.
12154 (*mov<HFBF:mode>_aarch64): Likewise, but with Y instead of Z.
12155 (*movti_aarch64): Use an FMOV from XZR for w<-Z if MOVI is not
12156 available.
12157 (define_split): Do not apply the floating-point immediate-to-register
12158 split to zeros, even if MOVI is not available.
12159
12160 2022-09-07 Richard Sandiford <richard.sandiford@arm.com>
12161
12162 * config/aarch64/aarch64.cc (aarch64_conditional_register_usage):
12163 Disallow use of FPRs in register asms for !TARGET_FLOAT.
12164
12165 2022-09-07 Lulu Cheng <chenglulu@loongson.cn>
12166
12167 PR target/106828
12168 * config/loongarch/loongarch.cc (loongarch_asan_shadow_offset): New.
12169 (TARGET_ASAN_SHADOW_OFFSET): New.
12170
12171 2022-09-07 Jakub Jelinek <jakub@redhat.com>
12172
12173 * doc/invoke.texi (-Wno-unicode): Document.
12174
12175 2022-09-07 Jiufu Guo <guojiufu@linux.ibm.com>
12176
12177 * config/rs6000/rs6000.md (const_scalar_int splitter): Remove.
12178
12179 2022-09-07 Jiufu Guo <guojiufu@linux.ibm.com>
12180
12181 * config/rs6000/rs6000.md: (constant splitters): Use "(pc)" as the
12182 replacements.
12183
12184 2022-09-07 liuhongt <hongtao.liu@intel.com>
12185
12186 PR tree-optimization/103144
12187 * tree-vect-loop.cc (vect_is_nonlinear_iv_evolution): New function.
12188 (vect_analyze_scalar_cycles_1): Detect nonlinear iv by upper function.
12189 (vect_create_nonlinear_iv_init): New function.
12190 (vect_peel_nonlinear_iv_init): Ditto.
12191 (vect_create_nonlinear_iv_step): Ditto
12192 (vect_create_nonlinear_iv_vec_step): Ditto
12193 (vect_update_nonlinear_iv): Ditto
12194 (vectorizable_nonlinear_induction): Ditto.
12195 (vectorizable_induction): Call
12196 vectorizable_nonlinear_induction when induction_type is not
12197 vect_step_op_add.
12198 * tree-vect-loop-manip.cc (vect_update_ivs_after_vectorizer):
12199 Update nonlinear iv for epilogue loop.
12200 * tree-vectorizer.h (enum vect_induction_op_type): New enum.
12201 (STMT_VINFO_LOOP_PHI_EVOLUTION_TYPE): New Macro.
12202
12203 2022-09-06 Richard Biener <rguenther@suse.de>
12204
12205 PR tree-optimization/106754
12206 * gimple-predicate-analysis.cc (compute_control_dep_chain_pdom):
12207 New function, split out from compute_control_dep_chain. Handle
12208 loop-exit like conditions here by pushing to the control vector.
12209 (compute_control_dep_chain): Adjust and streamline dumping.
12210 In the wrapper perform a post-dominator walk as well.
12211 (uninit_analysis::init_use_preds): Remove premature early exit.
12212
12213 2022-09-06 Max Filippov <jcmvbkbc@gmail.com>
12214
12215 * config/xtensa/linux.h (LINK_SPEC): Add static-pie.
12216
12217 2022-09-06 Aldy Hernandez <aldyh@redhat.com>
12218
12219 * range-op-float.cc (build_le): Handle NANs and going past infinity.
12220 (build_lt): Same.
12221 (build_ge): Same.
12222 (build_gt): Same.
12223 (foperator_lt::op1_range): Avoid adjustments to range if build_*
12224 returned false.
12225 (foperator_lt::op2_range): Same.
12226 (foperator_le::op1_range): Same.
12227 (foperator_le::op2_range): Same.
12228 (foperator_gt::op1_range): Same.
12229 (foperator_gt::op2_range): Same.
12230
12231 2022-09-06 Richard Biener <rguenther@suse.de>
12232
12233 * gimple-predicate-analysis.cc (compute_control_dep_chain):
12234 Add output flag to indicate whether we possibly have dropped
12235 any chains. Return whether the info is complete from the
12236 wrapping overload.
12237 (uninit_analysis::init_use_preds): Adjust accordingly, with
12238 a workaround for PR106754.
12239 (uninit_analysis::init_from_phi_def): Properly guard the
12240 case where we complete an empty chain.
12241
12242 2022-09-06 Jan-Benedict Glaw <jbglaw@lug-owl.de>
12243
12244 * config/msp430/msp430.cc (msp430_single_op_cost): Document unused argument.
12245
12246 2022-09-06 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
12247
12248 * tree-ssa-forwprop.cc (simplify_permutation): Set res_type to a vector
12249 type with same element type as arg0, and length as op2.
12250
12251 2022-09-06 Richard Biener <rguenther@suse.de>
12252
12253 PR tree-optimization/106844
12254 * gimple-predicate-analysis.cc (compute_control_dep_chain):
12255 Return whether we found a chain.
12256
12257 2022-09-06 Richard Biener <rguenther@suse.de>
12258
12259 PR tree-optimization/106841
12260 * tree-vect-slp.cc (vect_detect_hybrid_slp): Also process
12261 scatter/gather offset.
12262
12263 2022-09-06 Jan-Benedict Glaw <jbglaw@lug-owl.de>
12264
12265 * config/bpf/bpf.h (REGNO_REG_CLASS): Reference arguments as (void).
12266
12267 2022-09-06 Jakub Jelinek <jakub@redhat.com>
12268
12269 * gimple.h (enum gf_mask): Add GF_OMP_ORDERED_STANDALONE enumerator.
12270 (gimple_omp_subcode): Use GIMPLE_OMP_ORDERED instead of
12271 GIMPLE_OMP_TEAMS as upper bound.
12272 (gimple_omp_ordered_standalone_p, gimple_omp_ordered_standalone): New
12273 inline functions.
12274 * gimplify.cc (find_standalone_omp_ordered): Look for OMP_ORDERED with
12275 NULL OMP_ORDERED_BODY rather than with OMP_DOACROSS clause.
12276 (gimplify_expr): Call gimple_omp_ordered_standalone for OMP_ORDERED
12277 with NULL OMP_ORDERED_BODY.
12278 * omp-low.cc (check_omp_nesting_restrictions): Use
12279 gimple_omp_ordered_standalone_p test instead of
12280 omp_find_clause (..., OMP_CLAUSE_DOACROSS).
12281 (lower_omp_ordered): Likewise.
12282 * omp-expand.cc (expand_omp, build_omp_regions_1,
12283 omp_make_gimple_edges): Likewise.
12284
12285 2022-09-06 Xianmiao Qu <cooper.qu@linux.alibaba.com>
12286
12287 * config/csky/csky.md (cskyv2_addcc): Fix missing operand.
12288 (cskyv2_addcc_invert): Likewise.
12289
12290 2022-09-06 Jose E. Marchesi <jose.marchesi@oracle.com>
12291
12292 * config/bpf/bpf.cc (bpf_expand_prologue): Remove unused automatic
12293 `insn'.
12294 (bpf_expand_epilogue): Likewise.
12295
12296 2022-09-06 liuhongt <hongtao.liu@intel.com>
12297
12298 * config/i386/i386-builtin.def (IX86_BUILTIN_CVTPS2PH512):
12299 Map to CODE_FOR_avx512f_vcvtps2ph512_mask_sae.
12300 * config/i386/sse.md (<mask_codefor>avx512f_vcvtps2ph512<mask_name>): Extend to ..
12301 (<mask_codefor>avx512f_vcvtps2ph512<mask_name><round_saeonly_name>): .. this.
12302 (avx512f_vcvtps2ph512_mask_sae): New expander
12303
12304 2022-09-05 Aldy Hernandez <aldyh@redhat.com>
12305
12306 * gimple-range-fold.cc
12307 (fold_using_range::range_of_builtin_int_call): Ignore sign bit
12308 when there's the possibility of a NAN.
12309
12310 2022-09-05 Aldy Hernandez <aldyh@redhat.com>
12311
12312 * gimple-range-fold.cc
12313 (fold_using_range::range_of_builtin_int_call): Fold a set signbit
12314 in __builtin_signbit to nonzero.
12315
12316 2022-09-05 Alexander Monakov <amonakov@ispras.ru>
12317
12318 PR target/106453
12319 * config/i386/i386.md (sse4_2_crc32di): Model that only low 32
12320 bits of operand 0 are consumed, and the result is zero-extended
12321 to 64 bits.
12322
12323 2022-09-05 Aldy Hernandez <aldyh@redhat.com>
12324
12325 PR middle-end/106831
12326 * value-range.h (frange::supports_p): Disable decimal floats.
12327 * range-op-float.cc (frange_drop_inf): Remove DECIMAL_FLOAT_MODE_P
12328 check.
12329 (frange_drop_ninf): Same.
12330
12331 2022-09-05 Aldy Hernandez <aldyh@redhat.com>
12332
12333 PR middle-end/106824
12334 * value-range.cc (frange::set_nan): Set undefined when updating a
12335 NAN to a non-NAN.
12336
12337 2022-09-05 Kito Cheng <kito.cheng@sifive.com>
12338
12339 * config/riscv/riscv.cc (riscv_option_override): Fix wrong
12340 condition for MASK_DIV and simplify incompatible checking.
12341 * config/riscv/riscv.md (muldi3): Adding parentheses.
12342
12343 2022-09-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12344
12345 * config/aarch64/aarch64.cc (aarch64_validate_march): Check if invalid arch
12346 string is a valid -mcpu string and emit hint.
12347
12348 2022-09-05 LiaoShihua <shihua@iscas.ac.cn>
12349
12350 * common/config/riscv/riscv-common.cc: Add Zmmul.
12351 * config/riscv/riscv-opts.h (MASK_ZMMUL): New.
12352 (TARGET_ZMMUL): Ditto.
12353 * config/riscv/riscv.cc (riscv_option_override):Ditto.
12354 * config/riscv/riscv.md: Add Zmmul
12355 * config/riscv/riscv.opt: Ditto.
12356
12357 2022-09-05 Richard Biener <rguenther@suse.de>
12358
12359 * tree-cfg.h (get_cases_for_edge): Declare.
12360 * tree-cfg.cc (get_cases_for_edge): Export.
12361 * tree-ssa-uninit.cc (execute_late_warn_uninitialized):
12362 Start and end recording case labels.
12363 * gimple-predicate-analysis.cc (MAX_SWITCH_CASES): Remove.
12364 (predicate::init_from_control_deps): Use get_cases_for_edge.
12365
12366 2022-09-05 Richard Biener <rguenther@suse.de>
12367
12368 * gimple-predicate-analysis.cc (MAX_POSTDOM_CHECK): Remove.
12369 (compute_control_dep_chain): Move uninit-control-dep-attempts
12370 checking where it also counts the post-dominator check
12371 invocations.
12372
12373 2022-09-05 Richard Biener <rguenther@suse.de>
12374
12375 * gimple-predicate-analysis.h (predicate::debug): New.
12376 (predicate::dump): Add FILE * argument, add base overload.
12377 * gimple-predicate-analysis.cc (debug): New.
12378 (dump_pred_info): Add FILE * argument.
12379 (dump_pred_chain): Likewise.
12380 (predicate::dump): Split out preamble into overload. Add
12381 FILE * argument.
12382 (predicate::debug): New.
12383 (predicate::simplify): Adjust.
12384 (predicate::normalize): Likewise.
12385 (predicate::init_from_control_deps): Likewise.
12386
12387 2022-09-05 Richard Sandiford <richard.sandiford@arm.com>
12388
12389 * config/aarch64/aarch64-protos.h
12390 (aarch64_init_simd_builtins): Remove prototype.
12391 * config/aarch64/aarch64-builtins.cc
12392 (aarch64_simd_builtins_initialized_p): Delete.
12393 (aarch64_init_simd_builtins): Make static. Remove protection
12394 against multiple calls.
12395 * config/aarch64/aarch64-c.cc (aarch64_pragma_target_parse): Remove
12396 lazy SIMD builtin initialization.
12397 * config/aarch64/aarch64.cc
12398 (aarch64_option_valid_attribute_p): Likewise.
12399
12400 2022-09-05 Xi Ruoyao <xry111@xry111.site>
12401
12402 * config/loongarch/genopts/loongarch.opt.in: Add
12403 -mdirect-extern-access option.
12404 * config/loongarch/loongarch.opt: Regenerate.
12405 * config/loongarch/loongarch.cc
12406 (loongarch_symbol_binds_local_p): Return true if
12407 TARGET_DIRECT_EXTERN_ACCESS.
12408 (loongarch_option_override_internal): Complain if
12409 -mdirect-extern-access is used with -fPIC or -fpic.
12410 * doc/invoke.texi: Document -mdirect-extern-access for
12411 LoongArch.
12412
12413 2022-09-05 Martin Liska <mliska@suse.cz>
12414
12415 * doc/tm.texi.in: Rename DEBUGGER_REGISTER_NUMBER to
12416 DEBUGGER_REGNO.
12417 * doc/tm.texi: Regenerate.
12418
12419 2022-09-05 Martin Liska <mliska@suse.cz>
12420
12421 * config/aarch64/aarch64-protos.h (aarch64_dbx_regno):
12422 Rename DBX_REGISTER_NUMBER to DEBUGGER_REGNO.
12423 (aarch64_debugger_regno): Likewise.
12424 * config/aarch64/aarch64.cc (aarch64_dbx_regno): Likewise.
12425 (aarch64_debugger_regno): Likewise.
12426 * config/aarch64/aarch64.h (DBX_REGISTER_NUMBER): Likewise.
12427 (DEBUGGER_REGNO): Likewise.
12428 (DWARF_FRAME_REGNUM): Likewise.
12429 * config/alpha/alpha.h (DWARF_FRAME_REGNUM): Likewise.
12430 * config/arc/arc.cc (arc_init_reg_tables): Likewise.
12431 * config/arc/arc.h (DBX_REGISTER_NUMBER): Likewise.
12432 (DEBUGGER_REGNO): Likewise.
12433 * config/arm/arm-protos.h (arm_dbx_regno): Likewise.
12434 (arm_debugger_regno): Likewise.
12435 * config/arm/arm.cc (arm_dbx_regno): Likewise.
12436 (arm_debugger_regno): Likewise.
12437 * config/arm/arm.h (DBX_REGISTER_NUMBER): Likewise.
12438 (DEBUGGER_REGNO): Likewise.
12439 * config/bfin/bfin.h (DBX_REGISTER_NUMBER): Likewise.
12440 (DEBUGGER_REGNO): Likewise.
12441 * config/c6x/c6x.cc: Likewise.
12442 * config/c6x/c6x.h (DBX_REGISTER_NUMBER): Likewise.
12443 (DEBUGGER_REGNO): Likewise.
12444 * config/cris/cris.h (enum reg_class): Likewise.
12445 (DBX_REGISTER_NUMBER): Likewise.
12446 (DEBUGGER_REGNO): Likewise.
12447 * config/csky/csky.cc (enum reg_class): Likewise.
12448 * config/csky/csky.h (DWARF_FRAME_REGNUM): Likewise.
12449 (DBX_REGISTER_NUMBER): Likewise.
12450 (DEBUGGER_REGNO): Likewise.
12451 * config/frv/frv.h (DBX_REGISTER_NUMBER): Likewise.
12452 (DEBUGGER_REGNO): Likewise.
12453 * config/gcn/gcn-hsa.h (DBX_REGISTER_NUMBER): Likewise.
12454 (DEBUGGER_REGNO): Likewise.
12455 * config/gcn/gcn.cc (print_operand): Likewise.
12456 * config/i386/bsd.h (ASM_QUAD): Likewise.
12457 * config/i386/cygming.h (DBX_REGISTER_NUMBER): Likewise.
12458 (DEBUGGER_REGNO): Likewise.
12459 (DWARF_FRAME_REGNUM): Likewise.
12460 * config/i386/darwin.h (DBX_REGISTER_NUMBER): Likewise.
12461 (DEBUGGER_REGNO): Likewise.
12462 * config/i386/djgpp.h (DBX_REGISTER_NUMBER): Likewise.
12463 (DEBUGGER_REGNO): Likewise.
12464 * config/i386/dragonfly.h (DBX_REGISTER_NUMBER): Likewise.
12465 (DEBUGGER_REGNO): Likewise.
12466 * config/i386/freebsd.h (DBX_REGISTER_NUMBER): Likewise.
12467 (DEBUGGER_REGNO): Likewise.
12468 * config/i386/gas.h: Likewise.
12469 * config/i386/gnu-user.h (DBX_REGISTER_NUMBER): Likewise.
12470 (DEBUGGER_REGNO): Likewise.
12471 * config/i386/i386.cc (enum reg_class): Likewise.
12472 * config/i386/i386.h (DBX_REGISTER_NUMBER): Likewise.
12473 (DEBUGGER_REGNO): Likewise.
12474 * config/i386/i386elf.h (DBX_REGISTER_NUMBER): Likewise.
12475 (DEBUGGER_REGNO): Likewise.
12476 * config/i386/iamcu.h (DBX_REGISTER_NUMBER): Likewise.
12477 (DEBUGGER_REGNO): Likewise.
12478 * config/i386/lynx.h (DBX_REGISTER_NUMBER): Likewise.
12479 (DEBUGGER_REGNO): Likewise.
12480 * config/i386/netbsd-elf.h (DBX_REGISTER_NUMBER): Likewise.
12481 (DEBUGGER_REGNO): Likewise.
12482 * config/i386/nto.h (DBX_REGISTER_NUMBER): Likewise.
12483 (DEBUGGER_REGNO): Likewise.
12484 * config/i386/openbsdelf.h (DBX_REGISTER_NUMBER): Likewise.
12485 (DEBUGGER_REGNO): Likewise.
12486 * config/i386/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
12487 (DEBUGGER_REGNO): Likewise.
12488 * config/i386/vxworks.h (DBX_REGISTER_NUMBER): Likewise.
12489 (DEBUGGER_REGNO): Likewise.
12490 * config/i386/x86-64.h (DBX_REGISTER_NUMBER): Likewise.
12491 (DEBUGGER_REGNO): Likewise.
12492 * config/ia64/ia64-protos.h (ia64_dbx_regno): Likewise.
12493 (ia64_debugger_regno): Likewise.
12494 * config/ia64/ia64.cc (ia64_output_function_prologue): Likewise.
12495 (ia64_dbx_regno): Likewise.
12496 (ia64_debugger_regno): Likewise.
12497 (process_cfa_adjust_cfa): Likewise.
12498 (process_cfa_register): Likewise.
12499 (ia64_asm_unwind_emit): Likewise.
12500 * config/ia64/ia64.h: Likewise.
12501 * config/ia64/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
12502 (DEBUGGER_REGNO): Likewise.
12503 * config/lm32/lm32.h (DBX_REGISTER_NUMBER): Likewise.
12504 (DEBUGGER_REGNO): Likewise.
12505 * config/m32c/m32c.cc (m32c_eh_return_stackadj_rtx): Likewise.
12506 * config/m32c/m32c.h (DBX_REGISTER_NUMBER): Likewise.
12507 (DEBUGGER_REGNO): Likewise.
12508 * config/m68k/linux.h (DBX_REGISTER_NUMBER): Likewise.
12509 (DEBUGGER_REGNO): Likewise.
12510 * config/m68k/m68k.h (DBX_REGISTER_NUMBER): Likewise.
12511 (DEBUGGER_REGNO): Likewise.
12512 (__transfer_from_trampoline): Likewise.
12513 * config/m68k/m68kelf.h (DBX_REGISTER_NUMBER): Likewise.
12514 (DEBUGGER_REGNO): Likewise.
12515 * config/m68k/netbsd-elf.h (M68K_STATIC_CHAIN_REG_NAME): Likewise.
12516 (DBX_REGISTER_NUMBER): Likewise.
12517 (DEBUGGER_REGNO): Likewise.
12518 * config/microblaze/microblaze.cc (microblaze_option_override): Likewise.
12519 * config/microblaze/microblaze.h (DBX_REGISTER_NUMBER): Likewise.
12520 (DEBUGGER_REGNO): Likewise.
12521 (GP_DBX_FIRST): Likewise.
12522 (GP_DEBUGGER_FIRST): Likewise.
12523 * config/mips/vxworks.h (DBX_REGISTER_NUMBER): Likewise.
12524 (DEBUGGER_REGNO): Likewise.
12525 * config/mmix/mmix-protos.h (mmix_dbx_regno): Likewise.
12526 (mmix_debugger_regno): Likewise.
12527 * config/mmix/mmix.cc (mmix_dbx_regno): Likewise.
12528 (mmix_debugger_regno): Likewise.
12529 * config/mmix/mmix.h (DBX_REGISTER_NUMBER): Likewise.
12530 (DEBUGGER_REGNO): Likewise.
12531 * config/nds32/nds32-protos.h (nds32_dbx_regno): Likewise.
12532 (nds32_debugger_regno): Likewise.
12533 * config/nds32/nds32.cc (nds32_dbx_regno): Likewise.
12534 (nds32_debugger_regno): Likewise.
12535 (nds32_use_blocks_for_constant_p): Likewise.
12536 * config/nds32/nds32.h (DBX_REGISTER_NUMBER): Likewise.
12537 (DEBUGGER_REGNO): Likewise.
12538 * config/nvptx/nvptx.h (DBX_REGISTER_NUMBER): Likewise.
12539 (DEBUGGER_REGNO): Likewise.
12540 * config/or1k/or1k.h (DBX_REGISTER_NUMBER): Likewise.
12541 (DEBUGGER_REGNO): Likewise.
12542 * config/pa/pa32-regs.h (DBX_REGISTER_NUMBER): Likewise.
12543 (DEBUGGER_REGNO): Likewise.
12544 * config/pa/pa64-regs.h (DBX_REGISTER_NUMBER): Likewise.
12545 (DEBUGGER_REGNO): Likewise.
12546 * config/rs6000/rs6000-protos.h (rs6000_dbx_regno): Likewise.
12547 (rs6000_debugger_regno): Likewise.
12548 * config/rs6000/rs6000.cc (rs6000_dbx_regno): Likewise.
12549 (rs6000_debugger_regno): Likewise.
12550 * config/rs6000/rs6000.h (DBX_REGISTER_NUMBER): Likewise.
12551 (DEBUGGER_REGNO): Likewise.
12552 (DWARF2_FRAME_REG_OUT): Likewise.
12553 * config/s390/s390.h (DBX_REGISTER_NUMBER): Likewise.
12554 (DEBUGGER_REGNO): Likewise.
12555 * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
12556 (DEBUGGER_REGNO): Likewise.
12557 * config/sh/linux.h (DBX_REGISTER_NUMBER): Likewise.
12558 (DEBUGGER_REGNO): Likewise.
12559 * config/sh/sh.h (DBX_REGISTER_NUMBER): Likewise.
12560 (DEBUGGER_REGNO): Likewise.
12561 (SH_DBX_REGISTER_NUMBER): Likewise.
12562 (SH_DEBUGGER_REGNO): Likewise.
12563 * config/visium/visium.h (DBX_REGISTER_NUMBER): Likewise.
12564 (DEBUGGER_REGNO): Likewise.
12565 * config/xtensa/elf.h (DBX_REGISTER_NUMBER): Likewise.
12566 (DEBUGGER_REGNO): Likewise.
12567 * config/xtensa/linux.h (DBX_REGISTER_NUMBER): Likewise.
12568 (DEBUGGER_REGNO): Likewise.
12569 * config/xtensa/uclinux.h (DBX_REGISTER_NUMBER): Likewise.
12570 (DEBUGGER_REGNO): Likewise.
12571 * config/xtensa/xtensa-protos.h (xtensa_dbx_regno): Likewise.
12572 (xtensa_debugger_regno): Likewise.
12573 * config/xtensa/xtensa.cc (xtensa_dbx_regno): Likewise.
12574 (xtensa_debugger_regno): Likewise.
12575 * config/xtensa/xtensa.h (DBX_REGISTER_NUMBER): Likewise.
12576 (DEBUGGER_REGNO): Likewise.
12577 * defaults.h (DBX_REGISTER_NUMBER): Likewise.
12578 (DEBUGGER_REGNO): Likewise.
12579 (DWARF_FRAME_REGNUM): Likewise.
12580 * doc/tm.texi: Likewise.
12581 * doc/tm.texi.in: Likewise.
12582 * dwarf2out.cc (dbx_reg_number): Likewise.
12583 (debugger_reg_number): Likewise.
12584 (reg_loc_descriptor): Likewise.
12585 (multiple_reg_loc_descriptor): Likewise.
12586 (mem_loc_descriptor): Likewise.
12587 * except.cc: Likewise.
12588
12589 2022-09-05 konglin1 <lingling.kong@intel.com>
12590
12591 PR target/106742
12592 * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
12593 Handle V8BF mode.
12594 (expand_vec_perm_broadcast_1): Ditto.
12595 * config/i386/sse.md (avx512fmaskhalfmode): Add BF vector mode.
12596 (vec_set<mode>_0): Add @ to it.
12597 (@vec_set<mode>_0): Ditto.
12598 (vec_interleave_high<mode><mask_name>): Ditto.
12599 (@vec_interleave_high<mode><mask_name>): Ditto.
12600 (vec_interleave_low<mode><mask_name>): Ditto.
12601 (@vec_interleave_low<mode><mask_name>): Ditto.
12602 * config/i386/subst.md (SUBST_V): Add BF vector mode.
12603
12604 2022-09-05 Aldy Hernandez <aldyh@redhat.com>
12605
12606 * value-range.cc (early_nan_resolve): Remove.
12607 (frange::intersect): Handle NANs.
12608
12609 2022-09-04 Aldy Hernandez <aldyh@redhat.com>
12610
12611 * value-range.cc (frange::union_): Do not drop properties when
12612 unioning a NAN with something else.
12613 (range_tests_signed_zeros): Add tests.
12614
12615 2022-09-04 Aldy Hernandez <aldyh@redhat.com>
12616
12617 * real.cc (encode_ieee_single): Use real_isdenormal.
12618 (encode_ieee_double): Same.
12619 (encode_ieee_extended): Same.
12620 (encode_ieee_quad): Same.
12621 (encode_ieee_half): Same.
12622 (encode_arm_bfloat_half): Same.
12623 * real.h (real_isdenormal): New.
12624
12625 2022-09-03 Aldy Hernandez <aldyh@redhat.com>
12626
12627 * value-range.cc (frange::singleton_p): Move NAN check to the top.
12628
12629 2022-09-03 Jan-Benedict Glaw <jbglaw@lug-owl.de>
12630
12631 * config/nvptx/nvptx.h (ASM_OUTPUT_DEF): Reference macro arguments.
12632
12633 2022-09-03 Jakub Jelinek <jakub@redhat.com>
12634
12635 * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_DOACROSS.
12636 (enum omp_clause_depend_kind): Remove OMP_CLAUSE_DEPEND_SOURCE
12637 and OMP_CLAUSE_DEPEND_SINK, add OMP_CLAUSE_DEPEND_INVALID.
12638 (enum omp_clause_doacross_kind): New type.
12639 (struct tree_omp_clause): Add subcode.doacross_kind member.
12640 * tree.h (OMP_CLAUSE_DEPEND_SINK_NEGATIVE): Remove.
12641 (OMP_CLAUSE_DOACROSS_KIND): Define.
12642 (OMP_CLAUSE_DOACROSS_SINK_NEGATIVE): Define.
12643 (OMP_CLAUSE_DOACROSS_DEPEND): Define.
12644 (OMP_CLAUSE_ORDERED_DOACROSS): Define.
12645 * tree.cc (omp_clause_num_ops, omp_clause_code_name): Add
12646 OMP_CLAUSE_DOACROSS entries.
12647 * tree-nested.cc (convert_nonlocal_omp_clauses,
12648 convert_local_omp_clauses): Handle OMP_CLAUSE_DOACROSS.
12649 * tree-pretty-print.cc (dump_omp_clause): Don't handle
12650 OMP_CLAUSE_DEPEND_SOURCE and OMP_CLAUSE_DEPEND_SINK. Handle
12651 OMP_CLAUSE_DOACROSS.
12652 * gimplify.cc (gimplify_omp_depend): Don't handle
12653 OMP_CLAUSE_DEPEND_SOURCE and OMP_CLAUSE_DEPEND_SINK.
12654 (gimplify_scan_omp_clauses): Likewise. Handle OMP_CLAUSE_DOACROSS.
12655 (gimplify_adjust_omp_clauses): Handle OMP_CLAUSE_DOACROSS.
12656 (find_standalone_omp_ordered): New function.
12657 (gimplify_omp_for): When OMP_CLAUSE_ORDERED is present, search
12658 body for OMP_ORDERED with OMP_CLAUSE_DOACROSS and if found,
12659 set OMP_CLAUSE_ORDERED_DOACROSS.
12660 (gimplify_omp_ordered): Don't handle OMP_CLAUSE_DEPEND_SINK or
12661 OMP_CLAUSE_DEPEND_SOURCE, instead check OMP_CLAUSE_DOACROSS, adjust
12662 diagnostics that presence or absence of ordered clause parameter
12663 is irrelevant. Handle doacross(sink:omp_cur_iteration-1). Use
12664 actual user name of the clause - doacross or depend - in diagnostics.
12665 * omp-general.cc (omp_extract_for_data): Don't set fd->ordered
12666 if !OMP_CLAUSE_ORDERED_DOACROSS (t). If
12667 OMP_CLAUSE_ORDERED_DOACROSS (t) but !OMP_CLAUSE_ORDERED_EXPR (t),
12668 set fd->ordered to -1 and set it after the loop in that case to
12669 fd->collapse.
12670 * omp-low.cc (check_omp_nesting_restrictions): Don't handle
12671 OMP_CLAUSE_DEPEND_SOURCE nor OMP_CLAUSE_DEPEND_SINK, instead check
12672 OMP_CLAUSE_DOACROSS. Use actual user name of the clause - doacross
12673 or depend - in diagnostics. Diagnose mixing of stand-alone and
12674 block associated ordered constructs binding to the same loop.
12675 (lower_omp_ordered_clauses): Don't handle OMP_CLAUSE_DEPEND_SINK,
12676 instead handle OMP_CLAUSE_DOACROSS.
12677 (lower_omp_ordered): Look for OMP_CLAUSE_DOACROSS instead of
12678 OMP_CLAUSE_DEPEND.
12679 (lower_depend_clauses): Don't handle OMP_CLAUSE_DEPEND_SOURCE and
12680 OMP_CLAUSE_DEPEND_SINK.
12681 * omp-expand.cc (expand_omp_ordered_sink): Emit a sorry for
12682 doacross(sink:omp_cur_iteration-1).
12683 (expand_omp_ordered_source_sink): Use
12684 OMP_CLAUSE_DOACROSS_SINK_NEGATIVE instead of
12685 OMP_CLAUSE_DEPEND_SINK_NEGATIVE. Use actual user name of the clause
12686 - doacross or depend - in diagnostics.
12687 (expand_omp): Look for OMP_CLAUSE_DOACROSS clause instead of
12688 OMP_CLAUSE_DEPEND.
12689 (build_omp_regions_1): Likewise.
12690 (omp_make_gimple_edges): Likewise.
12691 * lto-streamer-out.cc (hash_tree): Handle OMP_CLAUSE_DOACROSS.
12692 * tree-streamer-in.cc (unpack_ts_omp_clause_value_fields): Likewise.
12693 * tree-streamer-out.cc (pack_ts_omp_clause_value_fields): Likewise.
12694
12695 2022-09-02 David Malcolm <dmalcolm@redhat.com>
12696
12697 PR c/90885
12698 * doc/invoke.texi (Warning Options): Add -Wxor-used-as-pow.
12699
12700 2022-09-02 Iain Buclaw <ibuclaw@gdcproject.org>
12701
12702 PR d/105659
12703 * config.gcc: Set tm_d_file to ${cpu_type}/${cpu_type}-d.h.
12704 * config/aarch64/aarch64-d.cc: Include tm_d.h.
12705 * config/aarch64/aarch64-protos.h (aarch64_d_target_versions): Move to
12706 config/aarch64/aarch64-d.h.
12707 (aarch64_d_register_target_info): Likewise.
12708 * config/aarch64/aarch64.h (TARGET_D_CPU_VERSIONS): Likewise.
12709 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
12710 * config/arm/arm-d.cc: Include tm_d.h and arm-protos.h instead of
12711 tm_p.h.
12712 * config/arm/arm-protos.h (arm_d_target_versions): Move to
12713 config/arm/arm-d.h.
12714 (arm_d_register_target_info): Likewise.
12715 * config/arm/arm.h (TARGET_D_CPU_VERSIONS): Likewise.
12716 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
12717 * config/default-d.cc: Remove memmodel.h include.
12718 * config/freebsd-d.cc: Include tm_d.h instead of tm_p.h.
12719 * config/glibc-d.cc: Likewise.
12720 * config/i386/i386-d.cc: Include tm_d.h.
12721 * config/i386/i386-protos.h (ix86_d_target_versions): Move to
12722 config/i386/i386-d.h.
12723 (ix86_d_register_target_info): Likewise.
12724 (ix86_d_has_stdcall_convention): Likewise.
12725 * config/i386/i386.h (TARGET_D_CPU_VERSIONS): Likewise.
12726 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
12727 (TARGET_D_HAS_STDCALL_CONVENTION): Likewise.
12728 * config/i386/winnt-d.cc: Include tm_d.h instead of tm_p.h.
12729 * config/mips/mips-d.cc: Include tm_d.h.
12730 * config/mips/mips-protos.h (mips_d_target_versions): Move to
12731 config/mips/mips-d.h.
12732 (mips_d_register_target_info): Likewise.
12733 * config/mips/mips.h (TARGET_D_CPU_VERSIONS): Likewise.
12734 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
12735 * config/netbsd-d.cc: Include tm_d.h instead of tm.h and memmodel.h.
12736 * config/openbsd-d.cc: Likewise.
12737 * config/pa/pa-d.cc: Include tm_d.h.
12738 * config/pa/pa-protos.h (pa_d_target_versions): Move to
12739 config/pa/pa-d.h.
12740 (pa_d_register_target_info): Likewise.
12741 * config/pa/pa.h (TARGET_D_CPU_VERSIONS): Likewise.
12742 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
12743 * config/riscv/riscv-d.cc: Include tm_d.h.
12744 * config/riscv/riscv-protos.h (riscv_d_target_versions): Move to
12745 config/riscv/riscv-d.h.
12746 (riscv_d_register_target_info): Likewise.
12747 * config/riscv/riscv.h (TARGET_D_CPU_VERSIONS): Likewise.
12748 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
12749 * config/rs6000/rs6000-d.cc: Include tm_d.h.
12750 * config/rs6000/rs6000-protos.h (rs6000_d_target_versions): Move to
12751 config/rs6000/rs6000-d.h.
12752 (rs6000_d_register_target_info): Likewise.
12753 * config/rs6000/rs6000.h (TARGET_D_CPU_VERSIONS) Likewise.:
12754 (TARGET_D_REGISTER_CPU_TARGET_INFO) Likewise.:
12755 * config/s390/s390-d.cc: Include tm_d.h.
12756 * config/s390/s390-protos.h (s390_d_target_versions): Move to
12757 config/s390/s390-d.h.
12758 (s390_d_register_target_info): Likewise.
12759 * config/s390/s390.h (TARGET_D_CPU_VERSIONS): Likewise.
12760 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
12761 * config/sol2-d.cc: Include tm_d.h instead of tm.h and memmodel.h.
12762 * config/sparc/sparc-d.cc: Include tm_d.h.
12763 * config/sparc/sparc-protos.h (sparc_d_target_versions): Move to
12764 config/sparc/sparc-d.h.
12765 (sparc_d_register_target_info): Likewise.
12766 * config/sparc/sparc.h (TARGET_D_CPU_VERSIONS): Likewise.
12767 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
12768 * configure: Regenerate.
12769 * configure.ac (tm_d_file): Remove defaults.h.
12770 (tm_d_include_list): Remove options.h and insn-constants.h.
12771 * config/aarch64/aarch64-d.h: New file.
12772 * config/arm/arm-d.h: New file.
12773 * config/i386/i386-d.h: New file.
12774 * config/mips/mips-d.h: New file.
12775 * config/pa/pa-d.h: New file.
12776 * config/riscv/riscv-d.h: New file.
12777 * config/rs6000/rs6000-d.h: New file.
12778 * config/s390/s390-d.h: New file.
12779 * config/sparc/sparc-d.h: New file.
12780
12781 2022-09-02 Aldy Hernandez <aldyh@redhat.com>
12782
12783 * builtins.cc (fold_builtin_inf): Convert use of real_info to dconstinf.
12784 (fold_builtin_fpclassify): Same.
12785 * fold-const-call.cc (fold_const_call_cc): Same.
12786 * match.pd: Same.
12787 * omp-low.cc (omp_reduction_init_op): Same.
12788 * realmpfr.cc (real_from_mpfr): Same.
12789 * tree.cc (build_complex_inf): Same.
12790
12791 2022-09-02 Peter Bergner <bergner@linux.ibm.com>
12792
12793 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_mma_builtin): Use
12794 NOP_EXPR for MMA pointer casting.
12795
12796 2022-09-02 Richard Sandiford <richard.sandiford@arm.com>
12797
12798 * tree-vect-slp.cc (vect_optimize_slp_pass::internal_node_cost):
12799 Reduce the fallback cost to 1. Only use it if the number of
12800 input lanes is equal to the number of output lanes.
12801
12802 2022-09-02 Richard Sandiford <richard.sandiford@arm.com>
12803
12804 PR tree-optimization/106787
12805 * tree-vect-slp.cc (vect_map_to_instance): New function, split out
12806 from...
12807 (vect_bb_partition_graph_r): ...here. Replace the visited set
12808 with a map from nodes to instances. Ensure that a node only
12809 appears in one partition.
12810 (vect_bb_partition_graph): Update accordingly.
12811
12812 2022-09-02 Richard Biener <rguenther@suse.de>
12813
12814 * timevar.def (TV_TREE_RPO_VN): New.
12815 * tree-ssa-sccvn.h (do_rpo_vn): Remove one overload.
12816 * tree-ssa-sccvn.cc (do_rpo_vn_1): Rename the worker.
12817 (do_rpo_vn): Unify the public API, track with TV_TREE_RPO_VN.
12818 (pass_fre::execute): Adjust.
12819 * tree-ssa-uninit.cc (execute_early_warn_uninitialized): Adjust.
12820
12821 2022-09-02 Richard Biener <rguenther@suse.de>
12822
12823 PR tree-optimization/106809
12824 * tree-ssa-sccvn.cc (dominaged_by_p_w_unex): Check we have
12825 more than one successor before doing extra work.
12826
12827 2022-09-02 Kito Cheng <kito.cheng@sifive.com>
12828
12829 * common/config/riscv/riscv-common.cc: Include <vector>.
12830 (struct riscv_multi_lib_info_t): New.
12831 (riscv_subset_list::match_score): Ditto.
12832 (find_last_appear_switch): Ditto.
12833 (prefixed_with): Ditto.
12834 (struct multi_lib_info_t): Ditto.
12835 (riscv_current_arch_str): Ditto.
12836 (riscv_current_abi_str): Ditto.
12837 (riscv_multi_lib_info_t::parse): Ditto.
12838 (riscv_check_cond): Ditto.
12839 (riscv_check_conds): Ditto.
12840 (riscv_compute_multilib): Ditto.
12841 (TARGET_COMPUTE_MULTILIB): Defined.
12842 * config/riscv/elf.h (LIB_SPEC): Call riscv_multi_lib_check if
12843 doing link.
12844 (RISCV_USE_CUSTOMISED_MULTI_LIB): New.
12845 * config/riscv/riscv.h (riscv_multi_lib_check): New.
12846 (EXTRA_SPEC_FUNCTIONS): Add riscv_multi_lib_check.
12847 * config/riscv/riscv-subset.h (riscv_subset_list::match_score): New.
12848
12849 2022-09-02 Kito Cheng <kito.cheng@sifive.com>
12850
12851 * common/common-target.def (compute_multilib): New.
12852 * common/common-targhooks.h (default_compute_multilib): New.
12853 * common/common-targhooks.cc (default_compute_multilib): New.
12854 * doc/tm.texi.in (TARGET_COMPUTE_MULTILIB): New.
12855 * doc/tm.texi: Regen.
12856 * gcc.cc: Include common/common-target.h.
12857 (set_multilib_dir) Call targetm_common.compute_multilib.
12858 (SWITCH_LIVE): Move to opts.h.
12859 (SWITCH_FALSE): Ditto.
12860 (SWITCH_IGNORE): Ditto.
12861 (SWITCH_IGNORE_PERMANENTLY): Ditto.
12862 (SWITCH_KEEP_FOR_GCC): Ditto.
12863 (struct switchstr): Ditto.
12864 * opts.h (SWITCH_LIVE): Move from gcc.c.
12865 (SWITCH_FALSE): Ditto.
12866 (SWITCH_IGNORE): Ditto.
12867 (SWITCH_IGNORE_PERMANENTLY): Ditto.
12868 (SWITCH_KEEP_FOR_GCC): Ditto.
12869 (struct switchstr): Ditto.
12870
12871 2022-09-02 Martin Liska <mliska@suse.cz>
12872
12873 * config/pdp11/pdp11.h (PREFERRED_DEBUGGING_TYPE): Disable
12874 debugging format.
12875
12876 2022-09-02 Martin Liska <mliska@suse.cz>
12877
12878 * Makefile.in: Remove -gstabs option support, DBX-related
12879 macros and DBX debugging info support.
12880 * collect2.cc (scan_prog_file): Likewise.
12881 * common.opt: Likewise.
12882 * config.gcc: Likewise.
12883 * config.in: Likewise.
12884 * config/aarch64/aarch64-elf.h (DBX_DEBUGGING_INFO): Likewise.
12885 * config/alpha/alpha.cc: Likewise.
12886 * config/alpha/elf.h (ASM_SPEC): Likewise.
12887 * config/arc/arc.h (DBX_DEBUGGING_INFO): Likewise.
12888 (DBX_CONTIN_LENGTH): Likewise.
12889 * config/arm/aout.h (DBX_DEBUGGING_INFO): Likewise.
12890 (DBX_CONTIN_LENGTH): Likewise.
12891 * config/arm/netbsd-elf.h (DBX_CONTIN_LENGTH): Likewise.
12892 * config/darwin.h (DSYMUTIL_SPEC): Likewise.
12893 (ASM_DEBUG_SPEC): Likewise.
12894 (DBX_DEBUGGING_INFO): Likewise.
12895 (DBX_USE_BINCL): Likewise.
12896 (DBX_CONTIN_LENGTH): Likewise.
12897 (DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END): Likewise.
12898 * config/epiphany/epiphany.h (DBX_DEBUGGING_INFO): Likewise.
12899 (DBX_CONTIN_LENGTH): Likewise.
12900 * config/i386/bsd.h (DBX_NO_XREFS): Likewise.
12901 (DBX_CONTIN_LENGTH): Likewise.
12902 * config/i386/gas.h (DBX_NO_XREFS): Likewise.
12903 (DBX_CONTIN_LENGTH): Likewise.
12904 * config/ia64/ia64.h: Likewise.
12905 * config/ia64/sysv4.h (DBX_DEBUGGING_INFO): Likewise.
12906 * config/m68k/linux.h (DBX_CONTIN_LENGTH): Likewise.
12907 * config/m68k/openbsd.h (DBX_DEBUGGING_INFO): Likewise.
12908 (DBX_CONTIN_LENGTH): Likewise.
12909 (DBX_CONTIN_CHAR): Likewise.
12910 * config/mips/mips.cc (mips_output_filename): Likewise.
12911 (mips_option_override): Likewise.
12912 * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Likewise.
12913 (DBX_DEBUGGING_INFO): Likewise.
12914 (DBX_CONTIN_LENGTH): Likewise.
12915 (DBX_REGISTER_NUMBER): Likewise.
12916 (GP_DBX_FIRST): Likewise.
12917 (FP_DBX_FIRST): Likewise.
12918 (MD_DBX_FIRST): Likewise.
12919 * config/nvptx/nvptx.cc: Likewise.
12920 * config/openbsd.h (DBX_NO_XREFS): Likewise.
12921 * config/pa/pa-64.h (DBX_DEBUGGING_INFO): Likewise.
12922 * config/pa/pa.h (ASSEMBLER_DIALECT): Likewise.
12923 (DBX_CONTIN_LENGTH): Likewise.
12924 * config/pa/som.h (PREFERRED_DEBUGGING_TYPE): Likewise.
12925 (DBX_USE_BINCL): Likewise.
12926 (DBX_LINES_FUNCTION_RELATIVE): Likewise.
12927 (DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END): Likewise.
12928 * config/pdp11/pdp11.cc: Likewise.
12929 * config/pdp11/pdp11.h (DBX_DEBUGGING_INFO): Likewise.
12930 (PREFERRED_DEBUGGING_TYPE): Likewise.
12931 (DBX_CONTIN_LENGTH): Likewise.
12932 * config/rs6000/rs6000-builtin.cc: Likewise.
12933 * config/rs6000/rs6000-call.cc: Likewise.
12934 * config/rs6000/rs6000-logue.cc (defined): Likewise.
12935 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise.
12936 (HAVE_XCOFF_DWARF_EXTRAS): Likewise.
12937 (rs6000_xcoff_declare_function_name): Likewise.
12938 * config/rs6000/sysv4.h (DBX_DEBUGGING_INFO): Likewise.
12939 (DBX_FUNCTION_FIRST): Likewise.
12940 * config/rs6000/xcoff.h (XCOFF_DEBUGGING_INFO): Likewise.
12941 * config/rx/rx.h (DBX_DEBUGGING_INFO): Likewise.
12942 * config/sh/elf.h (DBX_LINES_FUNCTION_RELATIVE): Likewise.
12943 (DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END): Likewise.
12944 * config/sol2.h (NO_DBX_BNSYM_ENSYM): Likewise.
12945 * config/sparc/freebsd.h (DBX_CONTIN_CHAR): Likewise.
12946 * config/sparc/netbsd-elf.h (DBX_CONTIN_CHAR): Likewise.
12947 * config/sparc/sparc.h (DBX_CONTIN_LENGTH): Likewise.
12948 * config/vax/vax.cc (vax_file_start): Likewise.
12949 * config/vax/vax.h (DBX_DEBUGGING_INFO): Likewise.
12950 (DBX_CONTIN_LENGTH): Likewise.
12951 (DBX_CONTIN_CHAR): Likewise.
12952 (DBX_NO_XREFS): Likewise.
12953 (DBX_STATIC_STAB_DATA_SECTION): Likewise.
12954 * config/vx-common.h (DBX_DEBUGGING_INFO): Likewise.
12955 (XCOFF_DEBUGGING_INFO): Likewise.
12956 * configure: Regenerate. Likewise.
12957 * configure.ac: Likewise.
12958 * debug.h: Likewise.
12959 * doc/install.texi: Likewise.
12960 * doc/invoke.texi: Likewise.
12961 * doc/passes.texi: Likewise.
12962 * doc/tm.texi: Likewise.
12963 * doc/tm.texi.in: Likewise.
12964 * dwarf2asm.cc (XCOFF_DEBUGGING_INFO): Likewise.
12965 (dw2_asm_output_nstring): Likewise.
12966 (USE_LINKONCE_INDIRECT): Likewise.
12967 * dwarf2out.cc (XCOFF_DEBUGGING_INFO): Likewise.
12968 (HAVE_XCOFF_DWARF_EXTRAS): Likewise.
12969 (output_fde): Likewise.
12970 (output_call_frame_info): Likewise.
12971 (have_macinfo): Likewise.
12972 (add_AT_loc_list): Likewise.
12973 (add_AT_view_list): Likewise.
12974 (output_compilation_unit_header): Likewise.
12975 (output_pubnames): Likewise.
12976 (output_aranges): Likewise.
12977 (output_line_info): Likewise.
12978 (output_macinfo): Likewise.
12979 (dwarf2out_finish): Likewise.
12980 (dwarf2out_early_finish): Likewise.
12981 * final.cc (final_scan_insn_1): Likewise.
12982 (rest_of_handle_final): Likewise.
12983 * flag-types.h (enum debug_info_type): Likewise.
12984 (DBX_DEBUG): Likewise.
12985 (XCOFF_DEBUG): Likewise.
12986 * function.cc (defined): Likewise.
12987 * gcc.cc (defined): Likewise.
12988 (ASM_DEBUG_SPEC): Likewise.
12989 (ASM_DEBUG_OPTION_SPEC): Likewise.
12990 * opts.cc (common_handle_option): Likewise.
12991 (set_debug_level): Likewise.
12992 * system.h (fancy_abort): Likewise.
12993 * target-def.h (TARGET_ASM_CONSTRUCTOR): Likewise.
12994 (TARGET_ASM_DESTRUCTOR): Likewise.
12995 * toplev.cc (defined): Likewise.
12996 * varasm.cc: Likewise.
12997 * config/dbxcoff.h: Removed.
12998 * config/dbxelf.h: Removed.
12999 * dbxout.cc: Removed.
13000 * dbxout.h: Removed.
13001 * gstab.h: Removed.
13002 * stab.def: Removed.
13003 * xcoffout.cc: Removed.
13004 * xcoffout.h: Removed.
13005
13006 2022-09-02 Simon Rainer <gcc.gnu@vvalter.com>
13007
13008 PR ipa/106627
13009 * config/i386/i386-features.cc (ix86_get_function_versions_dispatcher):
13010 Set TREE_NOTHROW correctly for dispatcher declaration.
13011 * config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher):
13012 Likewise.
13013
13014 2022-09-01 Tamar Christina <tamar.christina@arm.com>
13015
13016 PR other/106782
13017 * config/aarch64/aarch64.cc
13018 (aarch64_vector_costs::prefer_unrolled_loop): Replace %u with
13019 HOST_WIDE_INT_PRINT_UNSIGNED.
13020
13021 2022-09-01 Richard Sandiford <richard.sandiford@arm.com>
13022
13023 * tree-vect-slp.cc (vect_build_slp_tree_2): When building a
13024 VEC_PERM_EXPR of an existing vector, set the SLP_TREE_LANES
13025 to the number of vector elements, if that's a known constant.
13026 (vect_optimize_slp_pass::is_compatible_layout): Remove associated
13027 comment about zero SLP_TREE_LANES.
13028 (vect_optimize_slp_pass::start_choosing_layouts): Iterate over
13029 all partition members when looking for potential layouts.
13030 Handle existing permutes of fixed-length vectors.
13031
13032 2022-09-01 Uroš Bizjak <ubizjak@gmail.com>
13033
13034 PR target/106707
13035 * config/i386/i386.md (moves to/from AX_REG into xchg peephole2):
13036 Do not convert a move pattern where both operands are AX_REG.
13037
13038 2022-09-01 Aldy Hernandez <aldyh@redhat.com>
13039
13040 * range-op-float.cc (build_le): Convert to dconst*inf.
13041 (build_ge): Same.
13042 * value-range.cc (frange::set_signbit): Same.
13043 (frange::normalize_kind): Same.
13044 (range_tests_floats): Same.
13045 * value-range.h (vrp_val_max): Same.
13046 (vrp_val_min): Same.
13047 (frange::set_varying): Same.
13048
13049 2022-09-01 Aldy Hernandez <aldyh@redhat.com>
13050
13051 * emit-rtl.cc (init_emit_once): Initialize dconstinf and
13052 dconstninf.
13053 * real.h: Add dconstinf and dconstninf.
13054
13055 2022-09-01 Richard Biener <rguenther@suse.de>
13056
13057 * gimple-predicate-analysis.cc (compute_control_dep_chain):
13058 Remove cycle detection, instead avoid walking backedges.
13059
13060 2022-09-01 Richard Biener <rguenther@suse.de>
13061
13062 * gimple-predicate-analysis.cc (compute_control_dep_chain):
13063 New wrapping overload.
13064 (uninit_analysis::init_use_preds): Simplify.
13065 (uninit_analysis::init_from_phi_def): Likewise.
13066
13067 2022-09-01 Aldy Hernandez <aldyh@redhat.com>
13068
13069 * gimple-range-fold.cc
13070 (fold_using_range::range_of_builtin_int_call): Add case for
13071 CFN_BUILT_IN_SIGNBIT.
13072
13073 2022-09-01 Aldy Hernandez <aldyh@redhat.com>
13074
13075 * range-op-float.cc (foperator_equal::op1_range): Do not copy sign
13076 bit.
13077 (foperator_not_equal::op1_range): Same.
13078 * value-query.cc (range_query::get_tree_range): Set sign bit.
13079 * value-range-pretty-print.cc (vrange_printer::visit): Dump sign bit.
13080 * value-range.cc (frange::set_signbit): New.
13081 (frange::set): Adjust for sign bit.
13082 (frange::normalize_kind): Same.
13083 (frange::union_): Remove useless comment.
13084 (frange::intersect): Same.
13085 (frange::contains_p): Adjust for sign bit.
13086 (frange::singleton_p): Same.
13087 (frange::verify_range): Same.
13088 (range_tests_signbit): New tests.
13089 (range_tests_floats): Call range_tests_signbit.
13090 * value-range.h (class frange_props): Add signbit
13091 (class frange): Same.
13092
13093 2022-09-01 Jakub Jelinek <jakub@redhat.com>
13094
13095 PR other/106782
13096 * dumpfile.h (dump_printf_loc): Use ATTRIBUTE_GCC_DUMP_PRINTF (3, 4)
13097 instead of ATTRIBUTE_GCC_DUMP_PRINTF (3, 0).
13098 * tree-parloops.cc (parloops_is_slp_reduction): Cast pointers to
13099 derived types of gimple to gimple * to avoid -Wformat warnings.
13100 * tree-vect-loop-manip.cc (vect_set_loop_condition,
13101 vect_update_ivs_after_vectorizer): Likewise.
13102 * tree-vect-stmts.cc (vectorizable_load): Likewise.
13103 * tree-vect-patterns.cc (vect_split_statement,
13104 vect_recog_mulhs_pattern, vect_recog_average_pattern,
13105 vect_determine_precisions_from_range,
13106 vect_determine_precisions_from_users): Likewise.
13107 * gimple-loop-versioning.cc
13108 (loop_versioning::analyze_term_using_scevs): Likewise.
13109 * tree-vect-slp.cc (vect_build_slp_tree_1): Likewise.
13110 (vect_build_slp_tree): Cast slp_tree to void * to avoid
13111 -Wformat warnings.
13112 (optimize_load_redistribution_1, vect_match_slp_patterns,
13113 vect_build_slp_instance, vect_optimize_slp_pass::materialize,
13114 vect_optimize_slp_pass::dump, vect_slp_convert_to_external,
13115 vect_slp_analyze_node_operations, vect_bb_partition_graph): Likewise.
13116 (vect_print_slp_tree): Likewise. Also use
13117 HOST_WIDE_INT_PRINT_UNSIGNED instead of %u.
13118 * tree-vect-loop.cc (vect_determine_vectorization_factor,
13119 vect_analyze_scalar_cycles_1, vect_analyze_loop_operations,
13120 vectorizable_induction, vect_transform_loop): Cast pointers to derived
13121 types of gimple to gimple * to avoid -Wformat warnings.
13122 (vect_analyze_loop_2): Cast slp_tree to void * to avoid
13123 -Wformat warnings.
13124 (vect_estimate_min_profitable_iters): Use HOST_WIDE_INT_PRINT_UNSIGNED
13125 instead of %d.
13126 * tree-vect-slp-patterns.cc (vect_pattern_validate_optab): Use %G
13127 instead of %T and STMT_VINFO_STMT (SLP_TREE_REPRESENTATIVE (node))
13128 instead of SLP_TREE_DEF_TYPE (node).
13129
13130 2022-09-01 Jakub Jelinek <jakub@redhat.com>
13131
13132 PR c++/106655
13133 * doc/invoke.texi (-Winvalid-utf8): Document it.
13134
13135 2022-09-01 Aldy Hernandez <aldyh@redhat.com>
13136
13137 PR tree-optimization/106785
13138 * value-range.cc (range_tests_nan): Adjust tests for !HONOR_NANS.
13139 (range_tests_floats): Same.
13140
13141 2022-09-01 konglin1 <lingling.kong@intel.com>
13142
13143 * tree-if-conv.cc (is_cond_scalar_reduction): Add MULT_EXPR
13144 recognition.
13145
13146 2022-09-01 Peter Bergner <bergner@linux.ibm.com>
13147
13148 PR target/101322
13149 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_mma_builtin):
13150 Enforce the use of a valid MMA pointer type.
13151
13152 2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai>
13153
13154 * config/riscv/riscv.cc (riscv_conditional_register_usage): Add vector
13155 registers.
13156
13157 2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai>
13158
13159 * config/riscv/riscv.cc (riscv_const_insns): Add cost of poly_int.
13160 (riscv_output_move): Add csrr vlenb assembly.
13161 * config/riscv/riscv.md (move_type): Add csrr vlenb type.
13162 (ext): New attribute.
13163 (ext_enabled): Ditto.
13164 (enabled): Ditto.
13165
13166 2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai>
13167
13168 * config/riscv/constraints.md (TARGET_VECTOR ? V_REGS : NO_REGS): Add
13169 "vr" constraint.
13170 (TARGET_VECTOR ? VD_REGS : NO_REGS): Add "vd" constraint.
13171 (TARGET_VECTOR ? VM_REGS : NO_REGS): Add "vm" constraint.
13172 (vp): Add poly constraint.
13173
13174 2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai>
13175
13176 * config/riscv/riscv.h (enum reg_class): Change vype to vtype.
13177
13178 2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai>
13179
13180 * config/riscv/riscv.cc (riscv_convert_vector_bits): Change
13181 configuration according to TARGET_MIN_VLEN.
13182 * config/riscv/riscv.h (UNITS_PER_FP_REG): Fix comment.
13183
13184 2022-08-31 Martin Liska <mliska@suse.cz>
13185
13186 * config.build: Remove deprecated ports.
13187 * config.gcc: Likewise.
13188 * config.host: Likewise.
13189 * configure.ac: Likewise.
13190 * configure: Regenerate.
13191 * config/pa/pa-hpux10.h: Removed.
13192 * config/pa/pa-hpux10.opt: Removed.
13193 * config/pa/t-dce-thr: Removed.
13194
13195 2022-08-31 Martin Liska <mliska@suse.cz>
13196
13197 * Makefile.in: Always install limits.h and syslimits.h to
13198 include folder.
13199 * configure.ac: Assign STMP_FIXINC blank if
13200 --disable-fixincludes is used.
13201 * configure: Regenerate.
13202
13203 2022-08-31 Richard Biener <rguenther@suse.de>
13204
13205 * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
13206 Assert the guard_bb isn't empty and has more than one successor.
13207 Drop appropriate parts of the predicate when an edge fails to
13208 register a predicate.
13209 (predicate::dump): Dump empty predicate as TRUE.
13210
13211 2022-08-31 Richard Biener <rguenther@suse.de>
13212
13213 PR tree-optimization/90994
13214 * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
13215 Ignore exceptional control flow and skip the edge for the purpose of
13216 predicate generation also for non-calls.
13217
13218 2022-08-31 Aldy Hernandez <aldyh@redhat.com>
13219
13220 * value-range-storage.cc (frange_storage_slot::set_frange): Save
13221 endpoints.
13222 (frange_storage_slot::get_frange): Restore endpoints.
13223 * value-range-storage.h (class frange_storage_slot): Add endpoint
13224 fields.
13225
13226 2022-08-31 Martin Liska <mliska@suse.cz>
13227
13228 PR tree-optimization/106789
13229 * range-op-float.cc (default_frelop_fold_range): Remove the
13230 function.
13231
13232 2022-08-31 Martin Liska <mliska@suse.cz>
13233
13234 * value-range.h: Add more override keywords.
13235
13236 2022-08-31 Martin Liska <mliska@suse.cz>
13237
13238 * value-range.h: Add override.
13239
13240 2022-08-31 Richard Biener <rguenther@suse.de>
13241
13242 PR tree-optimization/65244
13243 * gimple-predicate-analysis.h (predicate::init_from_control_deps):
13244 Add argument to specify whether the predicate is for the USE.
13245 * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
13246 Also include predicates effective fallthru control edges when
13247 the predicate is for the USE.
13248
13249 2022-08-31 Richard Biener <rguenther@suse.de>
13250
13251 PR tree-optimization/73550
13252 * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
13253 Sanitize debug dumping. Handle case labels with a CASE_HIGH.
13254 (predicate::dump): Adjust for better readability.
13255
13256 2022-08-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13257 Jakub Jelinek <jakub@redhat.com>
13258
13259 * omp-simd-clone.cc (simd_clone_adjust_return_type,
13260 simd_clone_adjust_argument_types): Use known_eq (veclen, 0U)
13261 instead of known_eq (veclen, 0) to avoid -Wsign-compare warnings.
13262
13263 2022-08-31 Richard Sandiford <richard.sandiford@arm.com>
13264
13265 * tree-vect-slp.cc (vect_optimize_slp_pass::dump): Remove bogus
13266 argument.
13267
13268 2022-08-31 zhongjuzhe <juzhe.zhong@rivai.ai>
13269
13270 * tree-vect-loop-manip.cc (vect_gen_vector_loop_niters): Simply
13271 initialize const_vf to 0.
13272
13273 2022-08-31 Martin Liska <mliska@suse.cz>
13274
13275 * config.gcc: Remove cr16.
13276
13277 2022-08-30 Martin Jambor <mjambor@suse.cz>
13278
13279 * vec.h (array_slice): Add constructors for non-const reference to
13280 heap vector and pointers to heap vectors.
13281
13282 2022-08-30 Aldy Hernandez <aldyh@redhat.com>
13283
13284 * value-range.cc (early_nan_resolve): Change comment.
13285 (frange::union_): Handle union when one side is a NAN.
13286 (range_tests_nan): Add tests for NAN union.
13287
13288 2022-08-30 Andrew Stubbs <ams@codesourcery.com>
13289
13290 * config/gcn/gcn.cc (gcn_simd_clone_compute_vecsize_and_simdlen): New.
13291 (gcn_simd_clone_adjust): New.
13292 (gcn_simd_clone_usable): New.
13293 (TARGET_SIMD_CLONE_ADJUST): New.
13294 (TARGET_SIMD_CLONE_COMPUTE_VECSIZE_AND_SIMDLEN): New.
13295 (TARGET_SIMD_CLONE_USABLE): New.
13296
13297 2022-08-30 Andrew Stubbs <ams@codesourcery.com>
13298
13299 * doc/tm.texi: Regenerate.
13300 * omp-simd-clone.cc (simd_clone_adjust_return_type): Allow zero
13301 vecsize.
13302 (simd_clone_adjust_argument_types): Likewise.
13303 * target.def (compute_vecsize_and_simdlen): Document the new
13304 vecsize_int and vecsize_float semantics.
13305
13306 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
13307
13308 * expmed.cc (store_bit_field_1): Fix byte offset calculation
13309 for undefined structures.
13310
13311 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
13312
13313 * params.opt (-param=vect-max-layout-candidates=): New parameter.
13314 * doc/invoke.texi (vect-max-layout-candidates): Document it.
13315 * tree-vectorizer.h (auto_lane_permutation_t): New typedef.
13316 (auto_load_permutation_t): Likewise.
13317 * tree-vect-slp.cc (vect_slp_node_weight): New function.
13318 (slpg_layout_cost): New class.
13319 (slpg_vertex): Replace perm_in and perm_out with partition,
13320 out_degree, weight and out_weight.
13321 (slpg_partition_info, slpg_partition_layout_costs): New classes.
13322 (vect_optimize_slp_pass): Likewise, cannibalizing some part of
13323 the previous vect_optimize_slp.
13324 (vect_optimize_slp): Use it.
13325
13326 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
13327
13328 * hash-traits.h (vec_hash_base): New class.
13329 (vec_free_hash_base): Likewise.
13330
13331 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
13332
13333 * hash-traits.h (int_hash_base): New struct, split out from...
13334 (int_hash): ...this class, which now inherits from int_hash_base.
13335 * hash-map-traits.h (unbounded_hashmap_traits): Take a template
13336 parameter for the key that provides hash and equality functions.
13337 (unbounded_int_hashmap_traits): Turn into a type alias of
13338 unbounded_hashmap_traits.
13339
13340 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
13341
13342 * graphds.cc (graphds_scc): Add a pass-back parameter for the
13343 final node order.
13344 * graphds.h (graphds_scc): Update prototype accordingly.
13345
13346 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
13347
13348 * tree-vect-slp.cc (vect_transform_slp_perm_load_1): Split out from...
13349 (vect_transform_slp_perm_load): ...here. Use SLP_TREE_VECTYPE instead
13350 of STMT_VINFO_VECTYPE.
13351
13352 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
13353
13354 * tree-vect-slp.cc (vectorizable_slp_permutation_1): Split out from...
13355 (vectorizable_slp_permutation): ...here.
13356
13357 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
13358
13359 * tree-vect-stmts.cc (get_related_vectype_for_scalar_type): Check
13360 that the requested number of units is interoperable with the requested
13361 prevailing mode.
13362
13363 2022-08-30 Martin Liska <mliska@suse.cz>
13364
13365 * config.gcc: Remove the port.
13366 * config/m32c/rtems.h: Removed.
13367
13368 2022-08-30 Richard Biener <rguenther@suse.de>
13369
13370 PR tree-optimization/73550
13371 * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
13372 Do not apply MAX_NUM_CHAINS again.
13373
13374 2022-08-30 Richard Biener <rguenther@suse.de>
13375
13376 * gimple-predicate-analysis.cc (format_edge_vec): Dump
13377 both source and destination.
13378 (dump_dep_chains): Remove.
13379 (uninit_analysis::init_use_preds): Remove redundant
13380 dumping of chains.
13381
13382 2022-08-30 Aldy Hernandez <aldyh@redhat.com>
13383
13384 * value-range-storage.cc (frange_storage_slot::get_frange): Use
13385 frange_nan.
13386 * value-range.cc (frange::set_nan): New.
13387 (frange_nan): Move to header file.
13388 (range_tests_nan): Adjust frange_nan callers to pass type.
13389 New test.
13390 * value-range.h (FRANGE_PROP_ACCESSOR): Remove.
13391 (frange_nan): New.
13392
13393 2022-08-30 Richard Biener <rguenther@suse.de>
13394
13395 PR tree-optimization/67196
13396 * gimple-predicate-analysis.cc (uninit_analysis::is_use_guarded):
13397 Simplify and normalize use prediates before first use.
13398
13399 2022-08-30 Richard Biener <rguenther@suse.de>
13400
13401 * gimple-predicate-analysis.cc (dump_pred_chain): Fix
13402 parentizing and AND prepending.
13403 (predicate::dump): Do not dump the GENERIC expanded
13404 predicate, properly parentize and prepend ORs to the
13405 piecewise predicate dump.
13406 (build_pred_expr): Remove.
13407
13408 2022-08-30 Aldy Hernandez <aldyh@redhat.com>
13409
13410 * range-op-float.cc (finite_operand_p): New.
13411 (build_le): New.
13412 (build_lt): New.
13413 (build_ge): New.
13414 (build_gt): New.
13415 (foperator_equal::fold_range): New implementation with endpoints.
13416 (foperator_equal::op1_range): Same.
13417 (foperator_not_equal::fold_range): Same.
13418 (foperator_not_equal::op1_range): Same.
13419 (foperator_lt::fold_range): Same.
13420 (foperator_lt::op1_range): Same.
13421 (foperator_lt::op2_range): Same.
13422 (foperator_le::fold_range): Same.
13423 (foperator_le::op1_range): Same.
13424 (foperator_le::op2_range): Same.
13425 (foperator_gt::fold_range): Same.
13426 (foperator_gt::op1_range): Same.
13427 (foperator_gt::op2_range): Same.
13428 (foperator_ge::fold_range): Same.
13429 (foperator_ge::op1_range): Same.
13430 (foperator_ge::op2_range): Same.
13431
13432 2022-08-30 Aldy Hernandez <aldyh@redhat.com>
13433
13434 * range-op-float.cc (frange_set_nan): New.
13435 (frange_drop_inf): New.
13436 (frange_drop_ninf): New.
13437 (foperator_equal::op1_range): Adjust for endpoints.
13438 (foperator_lt::op1_range): Same.
13439 (foperator_lt::op2_range): Same.
13440 (foperator_gt::op1_range): Same.
13441 (foperator_gt::op2_range): Same.
13442 (foperator_unordered::op1_range): Same.
13443 * value-query.cc (range_query::get_tree_range): Same.
13444 * value-range-pretty-print.cc (vrange_printer::visit): Same.
13445 * value-range-storage.cc (frange_storage_slot::get_frange): Same.
13446 * value-range.cc (frange::set): Same.
13447 (frange::normalize_kind): Same.
13448 (frange::union_): Same.
13449 (frange::intersect): Same.
13450 (frange::operator=): Same.
13451 (early_nan_resolve): New.
13452 (frange::contains_p): New.
13453 (frange::singleton_p): New.
13454 (frange::set_nonzero): New.
13455 (frange::nonzero_p): New.
13456 (frange::set_zero): New.
13457 (frange::zero_p): New.
13458 (frange::set_nonnegative): New.
13459 (frange_float): New.
13460 (frange_nan): New.
13461 (range_tests_nan): New.
13462 (range_tests_signed_zeros): New.
13463 (range_tests_floats): New.
13464 (range_tests): New.
13465 * value-range.h (frange::lower_bound): New.
13466 (frange::upper_bound): New.
13467 (vrp_val_min): Use real_inf with a sign instead of negating inf.
13468 (frange::frange): New.
13469 (frange::set_varying): Adjust for endpoints.
13470 (real_max_representable): New.
13471 (real_min_representable): New.
13472
13473 2022-08-30 Aldy Hernandez <aldyh@redhat.com>
13474
13475 * match.pd ((cmp @0 zerop) real_zerop (negate@1 @0)): Add variant
13476 for real zero.
13477
13478 2022-08-30 Martin Liska <mliska@suse.cz>
13479
13480 * config/s390/s390.cc (s390_rtx_costs): Use proper type as
13481 argument.
13482
13483 2022-08-30 Richard Biener <rguenther@suse.de>
13484
13485 * tree-ssa-uninit.cc (warn_uninitialized_vars): Pre-compute
13486 the set of fallthru reachable blocks from function entry
13487 and use that to determine wlims.always_executed.
13488
13489 2022-08-30 Richard Biener <rguenther@suse.de>
13490
13491 PR tree-optimization/56654
13492 * tree-ssa-uninit.cc (cand_cmp): New.
13493 (find_uninit_use): First process all PHIs and collect candidate
13494 stmts, then sort those after RPO.
13495 (warn_uninitialized_phi): Pass on bb_to_rpo.
13496 (execute_late_warn_uninitialized): Compute and pass on
13497 reverse lookup of RPO number from basic block index.
13498
13499 2022-08-30 Richard Biener <rguenther@suse.de>
13500
13501 * gimple-predicate-analysis.h (uninit_analysis::operator()):
13502 Remove.
13503 * gimple-predicate-analysis.cc
13504 (uninit_analysis::collect_phi_def_edges): Use phi_arg_set,
13505 simplify a bit.
13506 * tree-ssa-uninit.cc (defined_args): New global.
13507 (compute_uninit_opnds_pos): Mask with the recorded set
13508 of guarded maybe-uninitialized uses.
13509 (uninit_undef_val_t::operator()): Remove.
13510 (find_uninit_use): Process all PHI uses, recording the
13511 guarded ones and marking the PHI result as uninitialized
13512 consistently.
13513 (warn_uninitialized_phi): Adjust.
13514 (execute_late_warn_uninitialized): Get rid of the PHI worklist
13515 and instead walk the function in RPO order.
13516 * spellcheck.h (best_match::m_best_candidate_len): Initialize.
13517
13518 2022-08-30 Tamar Christina <tamar.christina@arm.com>
13519
13520 PR tree-optimization/106744
13521 * tree-ssa-phiopt.cc (minmax_replacement): Correct arguments.
13522
13523 2022-08-30 Tamar Christina <tamar.christina@arm.com>
13524
13525 * expmed.cc (store_bit_field_1): Initialize regnum to 0.
13526
13527 2022-08-29 David Faust <david.faust@oracle.com>
13528
13529 PR target/106745
13530 * config/bpf/coreout.cc (bpf_core_get_sou_member_index): Fix
13531 computation of index for anonymous members.
13532
13533 2022-08-29 Jose E. Marchesi <jose.marchesi@oracle.com>
13534
13535 * config/bpf/bpf.cc (bpf_target_macros): Define __bpf__ as a
13536 target macro.
13537
13538 2022-08-29 H.J. Lu <hjl.tools@gmail.com>
13539
13540 PR target/106748
13541 * config/i386/i386-expand.cc
13542 (ix86_avx256_split_vector_move_misalign): Handle E_V16BFmode.
13543 * config/i386/sse.md (V_256H): Add V16BF.
13544
13545 2022-08-29 Robin Dapp <rdapp@linux.ibm.com>
13546
13547 * config/s390/s390.cc (s390_address_cost): Declare.
13548 (s390_hard_regno_nregs): Declare.
13549 (s390_rtx_costs): Add handling for REG and MEM in SET.
13550
13551 2022-08-29 Robin Dapp <rdapp@linux.ibm.com>
13552
13553 * config/s390/s390.cc (expand_perm_with_vpdi): Recognize swap pattern.
13554 (is_reverse_perm_mask): New function.
13555 (expand_perm_with_rot): Recognize reverse pattern.
13556 (expand_perm_with_vstbrq): New function.
13557 (expand_perm_with_vster): Use vler/vster for element reversal on z15.
13558 (vectorize_vec_perm_const_1): Use.
13559 (s390_vectorize_vec_perm_const): Add expand functions.
13560 * config/s390/vx-builtins.md: Prefer vster over vler.
13561
13562 2022-08-29 Robin Dapp <rdapp@linux.ibm.com>
13563
13564 * config/s390/s390.md: Remove UNSPEC_VEC_EXTRACT.
13565 * config/s390/vector.md: Rewrite patterns to use vec_select.
13566 * config/s390/vx-builtins.md (vec_scatter_element<V_HW_2:mode>_SI):
13567 Likewise.
13568
13569 2022-08-29 Robin Dapp <rdapp@linux.ibm.com>
13570
13571 PR target/100869
13572 * config/s390/vector.md (@vpdi4_2<mode>): New pattern.
13573 (rotl<mode>3_di): New pattern.
13574 * config/s390/vx-builtins.md: Use vpdi and verll for reversing
13575 elements.
13576
13577 2022-08-29 Robin Dapp <rdapp@linux.ibm.com>
13578
13579 * config/s390/s390.cc (s390_issue_rate): Add z15.
13580
13581 2022-08-29 Robin Dapp <rdapp@linux.ibm.com>
13582
13583 * common/config/s390/s390-common.cc: Enable -funroll-loops and
13584 -munroll-only-small-loops for OPT_LEVELS_2_PLUS_SPEED_ONLY.
13585 * config/s390/s390.cc (s390_loop_unroll_adjust): Do not unroll
13586 loops larger than 12 instructions.
13587 (s390_override_options_after_change): Set unroll options.
13588 (s390_option_override_internal): Likewise.
13589 * config/s390/s390.opt: Document munroll-only-small-loops.
13590
13591 2022-08-29 Richard Biener <rguenther@suse.de>
13592
13593 * gimple-predicate-analysis.cc (is_loop_exit,
13594 find_control_equiv_block): Inline into single caller ...
13595 (uninit_analysis::init_use_preds): ... here and refactor.
13596
13597 2022-08-29 Richard Biener <rguenther@suse.de>
13598
13599 * gimple-predicate-analysis.cc (compute_control_dep_chain):
13600 Inline is_loop_exit and refactor, add comment about
13601 loop exits.
13602
13603 2022-08-29 Kito Cheng <kito.cheng@sifive.com>
13604
13605 * config/riscv/riscv.cc (riscv_frame_info): Introduce `reset(void)`;
13606 (riscv_frame_info::reset(void)): New.
13607 (riscv_compute_frame_info): Use riscv_frame_info::reset instead
13608 of memset when clean frame.
13609
13610 2022-08-29 zhongjuzhe <juzhe.zhong@rivai.ai>
13611
13612 * config/riscv/riscv.cc (riscv_v_ext_vector_mode_p): New function.
13613 (riscv_classify_address): Disallow PLUS/LO_SUM/CONST_INT address types for RVV.
13614 (riscv_address_insns): Add RVV modes condition.
13615 (riscv_binary_cost): Ditto.
13616 (riscv_rtx_costs): Adjust cost for RVV.
13617 (riscv_secondary_memory_needed): Add RVV modes condition.
13618 (riscv_hard_regno_nregs): Add RVV register allocation.
13619 (riscv_hard_regno_mode_ok): Add RVV register allocation.
13620 (riscv_class_max_nregs): Add RVV register allocation.
13621 * config/riscv/riscv.h (DWARF_FRAME_REGNUM): Add VL/VTYPE and vector registers in Dwarf.
13622 (UNITS_PER_V_REG): New macro.
13623 (FIRST_PSEUDO_REGISTER): Adjust first pseudo num for RVV.
13624 (V_REG_FIRST): New macro.
13625 (V_REG_LAST): Ditto.
13626 (V_REG_NUM): Ditto.
13627 (V_REG_P): Ditto.
13628 (VL_REG_P): Ditto.
13629 (VTYPE_REG_P): Ditto.
13630 (RISCV_DWARF_VL): Ditto.
13631 (RISCV_DWARF_VTYPE): Ditto.
13632 (enum reg_class): Add RVV register types.
13633 (REG_CLASS_CONTENTS): Add RVV register types.
13634 * config/riscv/riscv.md: Add VL/VTYPE register number constants.
13635
13636 2022-08-29 zhongjuzhe <juzhe.zhong@rivai.ai>
13637
13638 * config/riscv/riscv.md: Add new type for vector instructions.
13639
13640 2022-08-28 Peter Bergner <bergner@linux.ibm.com>
13641
13642 PR target/106017
13643 * config/rs6000/rs6000.cc (rs6000_invalid_conversion): Remove handling
13644 of MMA pointer conversions.
13645
13646 2022-08-27 Xi Ruoyao <xry111@xry111.site>
13647
13648 * config/i386/gcc-auto-profile: Regenerate.
13649
13650 2022-08-26 Aldy Hernandez <aldyh@redhat.com>
13651
13652 * real.cc (real_iszero): New.
13653 * real.h (real_iszero): New.
13654
13655 2022-08-26 Aldy Hernandez <aldyh@redhat.com>
13656
13657 * real.cc (real_isinf): New overload.
13658 (real_inf): Add sign argument.
13659 * real.h (real_isinf): New overload.
13660 (real_inf): Add sign argument.
13661
13662 2022-08-26 Marek Polacek <polacek@redhat.com>
13663
13664 PR c++/81159
13665 * doc/invoke.texi: Document -Wself-move.
13666
13667 2022-08-26 Aldy Hernandez <aldyh@redhat.com>
13668
13669 * value-range.cc (vrange::set): Set varying.
13670 (vrange::set_nonzero): Same.
13671 (vrange::set_zero): Same.
13672 (vrange::set_nonnegative): Same.
13673
13674 2022-08-26 Aldy Hernandez <aldyh@redhat.com>
13675
13676 * range-op-float.cc (foperator_equal::op1_range): Do not blindly
13677 copy op2 range when honoring signed zeros.
13678
13679 2022-08-26 Aldy Hernandez <aldyh@redhat.com>
13680
13681 * tree-ssa-threadbackward.cc (possibly_profitable_path_p): Always
13682 add newline.
13683 (profitable_path_p): Same.
13684
13685 2022-08-26 Richard Biener <rguenther@suse.de>
13686
13687 * gimple-predicate-analysis.h
13688 (uninit_analysis::use_cannot_happen): Remove.
13689 * gimple-predicate-analysis.cc (can_be_invalidated_p): Remove.
13690 (uninit_analysis::use_cannot_happen): Likewise.
13691 (uninit_analysis::is_use_guarded): Do not call
13692 use_cannot_happen.
13693 (dump_predicates): Remove.
13694 (simple_control_dep_chain): Remove edge overload.
13695
13696 2022-08-26 Tobias Burnus <tobias@codesourcery.com>
13697
13698 * internal-fn.cc (expand_GOMP_TARGET_REV): New.
13699 * internal-fn.def (GOMP_TARGET_REV): New.
13700 * lto-cgraph.cc (lto_output_node, verify_node_partition): Mark
13701 'omp target device_ancestor_host' as in_other_partition and don't
13702 error if absent.
13703 * omp-low.cc (create_omp_child_function): Mark as 'noclone'.
13704 * omp-expand.cc (expand_omp_target): For reverse offload, remove
13705 sorry, use device = GOMP_DEVICE_HOST_FALLBACK and create
13706 empty-body nohost function.
13707 * omp-offload.cc (execute_omp_device_lower): Handle
13708 IFN_GOMP_TARGET_REV.
13709 (pass_omp_target_link::execute): For ACCEL_COMPILER, don't
13710 nullify fn argument for reverse offload
13711
13712 2022-08-26 Jakub Jelinek <jakub@redhat.com>
13713
13714 * builtins.def (BUILT_IN_ISSIGNALING): New built-in.
13715 * builtins.cc (expand_builtin_issignaling): New function.
13716 (expand_builtin_signbit): Don't overwrite target.
13717 (expand_builtin): Handle BUILT_IN_ISSIGNALING.
13718 (fold_builtin_classify): Likewise.
13719 (fold_builtin_1): Likewise.
13720 * optabs.def (issignaling_optab): New.
13721 * fold-const-call.cc (fold_const_call_ss): Handle
13722 BUILT_IN_ISSIGNALING.
13723 * config/i386/i386.md (issignalingxf2): New expander.
13724 * doc/extend.texi (__builtin_issignaling): Document.
13725 (__builtin_isinf, __builtin_isnan): Clarify behavior with
13726 -ffinite-math-only.
13727 * doc/md.texi (issignaling<mode>2): Likewise.
13728
13729 2022-08-26 Jakub Jelinek <jakub@redhat.com>
13730
13731 PR tree-optimization/106099
13732 * internal-fn.def (TRAP): Add ECF_LOOPING_CONST_OR_PURE flag.
13733 * tree-cfg.cc (execute_fixup_cfg): Add IFN_TRAP instead of
13734 __builtin_trap to avoid the need of vops.
13735
13736 2022-08-26 Richard Biener <rguenther@suse.de>
13737
13738 * gimple-predicate-analysis.cc (dfs_mark_dominating_region):
13739 New helper.
13740 (compute_control_dep_chain): Adjust to honor marked region
13741 if provided.
13742 (uninit_analysis::init_from_phi_def): Pre-mark the dominating
13743 region to improve compute_control_dep_chain walking.
13744 * vec.h (vec<T, va_heap, vl_ptr>::allocated): Add forwarder.
13745
13746 2022-08-26 Richard Biener <rguenther@suse.de>
13747
13748 * gimple-predicate-analysis.cc
13749 (uninit_analysis::collect_phi_def_edges): Only expand a
13750 PHI def edge when it is possibly undefined.
13751
13752 2022-08-26 Martin Liska <mliska@suse.cz>
13753
13754 * doc/extend.texi: Remove cr16 related stuff.
13755 * doc/install.texi: Likewise.
13756 * doc/invoke.texi: Likewise.
13757 * doc/md.texi: Likewise.
13758 * function-tests.cc (test_expansion_to_rtl): Likewise.
13759 * common/config/cr16/cr16-common.cc: Removed.
13760 * config/cr16/constraints.md: Removed.
13761 * config/cr16/cr16-protos.h: Removed.
13762 * config/cr16/cr16.cc: Removed.
13763 * config/cr16/cr16.h: Removed.
13764 * config/cr16/cr16.md: Removed.
13765 * config/cr16/cr16.opt: Removed.
13766 * config/cr16/predicates.md: Removed.
13767 * config/cr16/t-cr16: Removed.
13768
13769 2022-08-26 liuhongt <hongtao.liu@intel.com>
13770
13771 PR target/106704
13772 * config/i386/i386-builtin.def (BDESC): Add
13773 CODE_FOR_avx_blendvpd256/CODE_FOR_avx_blendvps256 to
13774 corresponding builtins.
13775 * config/i386/i386.cc (ix86_gimple_fold_builtin):
13776 Don't fold IX86_BUILTIN_PBLENDVB256, IX86_BUILTIN_BLENDVPS256,
13777 IX86_BUILTIN_BLENDVPD256 w/o TARGET_AVX2.
13778
13779 2022-08-25 Marek Polacek <polacek@redhat.com>
13780
13781 * ginclude/stddef.h: Define nullptr_t.
13782
13783 2022-08-25 Joseph Myers <joseph@codesourcery.com>
13784
13785 * gimplify.cc (gimplify_modify_expr): Convert initialization from
13786 a variable-size CONSTRUCTOR to memset before call to
13787 gimplify_modify_expr_rhs.
13788
13789 2022-08-25 Jason Merrill <jason@redhat.com>
13790
13791 * dwarf2out.cc (base_type_die): Also use DW_ATE_UTF for char8_t.
13792
13793 2022-08-25 Andreas Krebbel <krebbel@linux.ibm.com>
13794
13795 PR target/106101
13796 * config/s390/predicates.md (subreg_register_operand): New
13797 predicate.
13798 * config/s390/s390-protos.h (s390_gen_lowpart_subreg): New
13799 function prototype.
13800 * config/s390/s390.cc (s390_gen_lowpart_subreg): New function.
13801 (s390_expand_insv): Use s390_gen_lowpart_subreg instead of
13802 gen_lowpart.
13803 * config/s390/s390.md ("*get_tp_64", "*zero_extendhisi2_31")
13804 ("*zero_extendqisi2_31", "*zero_extendqihi2_31"): Likewise.
13805 ("movstrictqi", "movstricthi", "movstrictsi"): Use the
13806 subreg_register_operand predicate instead of register_operand.
13807
13808 2022-08-25 Xi Ruoyao <xry111@xry111.site>
13809
13810 * config/loongarch/loongarch-protos.h (loongarch_symbol_type):
13811 Add SYMBOL_PCREL64 and change the description for SYMBOL_PCREL.
13812 * config/loongarch/loongarch.cc (loongarch_attribute_table):
13813 New attribute table.
13814 (TARGET_ATTRIBUTE_TABLE): Define the target hook.
13815 (loongarch_handle_model_attribute): New static function.
13816 (loongarch_classify_symbol): Take TARGET_CMODEL_EXTREME and the
13817 model attribute of SYMBOL_REF_DECL into account returning
13818 SYMBOL_PCREL or SYMBOL_PCREL64.
13819 (loongarch_use_anchors_for_symbol_p): New static function.
13820 (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Define the target hook.
13821 (loongarch_symbol_extreme_p): New static function.
13822 (loongarch_symbolic_constant_p): Handle SYMBOL_PCREL64.
13823 (loongarch_symbol_insns): Likewise.
13824 (loongarch_split_symbol_type): Likewise.
13825 (loongarch_split_symbol): Check SYMBOL_PCREL64 instead of
13826 TARGET_CMODEL_EXTREME for PC-relative addressing.
13827 (loongarch_print_operand_reloc): Likewise.
13828 * doc/extend.texi (Variable Attributes): Document new
13829 LoongArch specific attribute.
13830
13831 2022-08-25 Xi Ruoyao <xry111@xry111.site>
13832
13833 * config/loongarch/loongarch.cc (loongarch_classify_symbol):
13834 Return early if the rtx is not SYMBOL_REF.
13835
13836 2022-08-25 Richard Biener <rguenther@suse.de>
13837
13838 PR tree-optimization/106737
13839 * tree-parloops.cc (transform_to_exit_first_loop_alt): Do not
13840 verify SSA form.
13841
13842 2022-08-25 Chenghua Xu <xuchenghua@loongson.cn>
13843
13844 PR target/106459
13845 * config/loongarch/loongarch.cc (loongarch_build_integer):
13846 Use HOST_WIDE_INT.
13847 * config/loongarch/loongarch.h (IMM_REACH): Likewise.
13848 (HWIT_1U): New Defined.
13849 (LU12I_OPERAND): Use HOST_WIDE_INT.
13850 (LU32I_OPERAND): Likewise.
13851 (LU52I_OPERAND): Likewise.
13852 (HWIT_UC_0xFFF): Likwise.
13853
13854 2022-08-24 Andrew Pinski <apinski@marvell.com>
13855
13856 PR target/106632
13857 PR target/106588
13858 * config/riscv/bitmanip.md (*shNadduw): Use n constraint
13859 instead of i.
13860 (*slliuw): Likewise.
13861 (*bexti): Likewise. Also add a check for operands[2] to be less
13862 than the mode bitsize.
13863
13864 2022-08-24 Andrew Pinski <apinski@marvell.com>
13865
13866 * config/riscv/constraints.md (DbS): New constraint.
13867 (DnS): New constraint.
13868 * config/riscv/bitmanip.md (*bset<mode>_1_mask): Use new constraint.
13869 (*bclr<mode>): Likewise.
13870 (*binvi<mode>): Likewise.
13871
13872 2022-08-24 Andrew Pinski <apinski@marvell.com>
13873
13874 PR target/106586
13875 * config/riscv/predicates.md (single_bit_mask_operand):
13876 Use SINGLE_BIT_MASK_OPERAND instead of directly calling pow2p_hwi.
13877 (not_single_bit_mask_operand): Likewise.
13878 * config/riscv/riscv.cc (riscv_build_integer_1): Don't special case
13879 1<<31 for 32bits as it is already handled.
13880 Call trunc_int_for_mode on the upper part after the subtraction.
13881 (riscv_move_integer): Call trunc_int_for_mode before generating
13882 the integer just make sure the constant has been sign extended
13883 corectly.
13884 (riscv_emit_int_compare): Call trunc_int_for_mode after doing the
13885 addition for the new rhs.
13886 * config/riscv/riscv.h (SINGLE_BIT_MASK_OPERAND): If !TARGET64BIT,
13887 then mask off the upper 32bits of the HWI as it will be sign extended.
13888
13889 2022-08-24 Andrew Pinski <apinski@marvell.com>
13890
13891 * config/riscv/constraints.md (DsS): New constraint.
13892 (DsD): New constraint.
13893 * config/riscv/iterators.md (shiftm1c): New iterator.
13894 * config/riscv/bitmanip.md (*bset<mode>_mask):
13895 Use shiftm1c.
13896 (*bset<mode>_1_mask): Likewise.
13897
13898 2022-08-24 Andrew Pinski <apinski@marvell.com>
13899
13900 * config/riscv/constraints.md (Ds3): New constraint.
13901 * config/riscv/predicates.md (imm123_operand): New predicate.
13902 * config/riscv/bitmanip.md (*shNadd): Use Ds3 and imm123_operand.
13903 (*shNadduw): Likewise.
13904
13905 2022-08-24 Andrew Pinski <apinski@marvell.com>
13906
13907 * config/riscv/riscv.cc (riscv_print_operand):
13908 Handle '~'.
13909 (riscv_print_operand_punct_valid_p): New function
13910 (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
13911 * config/riscv/bitmanip.md (<bitmanip_optab>si2/clz_ctz_pcnt):
13912 Use %~ instead of conditional the pattern on TARGET_64BIT.
13913 (rotrsi3): Likewise.
13914 (rotlsi3): Likewise.
13915 * config/riscv/riscv.md: Add ~ to the list of modifiers.
13916 (addsi3): Use %~ instead of conditional the pattern on TARGET_64BIT.
13917 (subsi3): Likewise.
13918 (negsi2): Likewise.
13919 (mulsi3): Likewise.
13920 (optab>si3/any_div): Likewise.
13921 (*add<mode>hi3): Likewise.
13922 (<optab>si3/any_shift): Likewise.
13923
13924 2022-08-24 Andrew Pinski <apinski@marvell.com>
13925
13926 * config/riscv/riscv.cc (riscv_print_operand): Make a mention to
13927 keep the list in riscv.md in sync with this list.
13928 * config/riscv/riscv.md: Add list of modifiers as comments.
13929
13930 2022-08-24 Andrew Pinski <apinski@marvell.com>
13931
13932 * config/riscv/sync.md (any_atomic, atomic_optab): Move to ...
13933 * config/riscv/iterators.md: Here.
13934
13935 2022-08-24 Andrew Pinski <apinski@marvell.com>
13936
13937 * config/riscv/bitmanip.md
13938 (bitmanip_bitwise, bitmanip_minmax, clz_ctz_pcna,
13939 tbitmanip_optab, bitmanip_insn, shiftm1): Move to ...
13940 * config/riscv/iterators.md: Here.
13941
13942 2022-08-24 Andrew Pinski <apinski@marvell.com>
13943
13944 * config/riscv/riscv.md (GPR): Move to new file.
13945 (P, X, BR): Likewise.
13946 (MOVE32, MOVE64, SHORT): Likewise.
13947 (HISI, SUPERQI, SUBX): Likewise.
13948 (ANYI, ANYF, SOFTF): Likewise.
13949 (size, load, default_load): Likewise.
13950 (softload, store, softstore): Likewise.
13951 (reg, fmt, ifmt, amo): Likewise.
13952 (UNITMODE, HALFMODE): Likewise.
13953 (RINT, rint_pattern, rint_rm): Likewise.
13954 (QUIET_COMPARISON, quiet_pattern, QUIET_PATTERN): Likewise.
13955 (any_extend, any_shiftrt, any_shift): Likewise.
13956 (any_bitwise): Likewise.
13957 (any_div, any_mod): Likewise.
13958 (any_gt, any_ge, any_lt, any_le): Likewise.
13959 (u, su): Likewise.
13960 (optab, insn): Likewise.
13961 * config/riscv/iterators.md: New file.
13962
13963 2022-08-24 Andrew Pinski <apinski@marvell.com>
13964
13965 PR target/106601
13966 * config/riscv/bitmanip.md (bswaphi2): New pattern.
13967
13968 2022-08-24 Andrew Pinski <apinski@marvell.com>
13969
13970 PR target/106600
13971 * config/riscv/bitmanip.md (bswap<mode>2): Remove
13972 condition on TARGET_64BIT as X is already conditional there.
13973
13974 2022-08-24 Joseph Myers <joseph@codesourcery.com>
13975
13976 * tree.cc (build_real): Give DFP dconst0 the minimum quantum
13977 exponent for the type.
13978
13979 2022-08-24 Jose E. Marchesi <jose.marchesi@oracle.com>
13980
13981 PR target/106733
13982 * config/bpf/bpf.cc (bpf_legitimate_address_p): Recognize integer
13983 constants as legitimate addresses for functions.
13984 (bpf_small_register_classes_for_mode_p): Define target hook.
13985
13986 2022-08-24 Richard Biener <rguenther@suse.de>
13987
13988 * gimple-predicate-analysis.cc: Move predicate normalization
13989 after the comment documenting it.
13990
13991 2022-08-24 Richard Biener <rguenther@suse.de>
13992
13993 * gimple-predicate-analysis.h (predicate): Split out
13994 non-predicate related functionality into ..
13995 (uninit_analysis): .. this new class.
13996 * gimple-predicate-analysis.cc: Refactor into two classes.
13997 * tree-ssa-uninit.cc (find_uninit_use): Use uninit_analysis.
13998
13999 2022-08-24 Richard Biener <rguenther@suse.de>
14000
14001 * gimple-predicate-analysis.cc (predicate::use_cannot_happen):
14002 Do simple_control_dep_chain only up to cd_root, add the PHI
14003 operand edge to the chains like init_from_phi_def does.
14004 (predicate::is_use_guarded): Speedup early out, avoid half-way
14005 initializing the PHI def predicate.
14006
14007 2022-08-24 Jakub Jelinek <jakub@redhat.com>
14008
14009 PR target/106721
14010 * config/i386/sse.md (shuffletype): Add V32BF, V16BF and V8BF entries.
14011 Change V32HF, V16HF and V8HF entries from "f" to "i".
14012 (iptr): Add V32BF, V16BF, V8BF and BF entries.
14013 (i128vldq): Add V16HF and V16BF entries.
14014 (avx512er_vmrcp28<mode><mask_name><round_saeonly_name>): Fix typo,
14015 mask_opernad3 -> mask_operand3.
14016
14017 2022-08-24 Martin Liska <mliska@suse.cz>
14018 Jørgen Kvalsvik <j@lambda.is>
14019
14020 * gcov.cc (add_line_counts): Add group functions to coverage
14021 summary.
14022 (accumulate_line_counts): Similarly for files.
14023
14024 2022-08-24 Lulu Cheng <chenglulu@loongson.cn>
14025
14026 * config/loongarch/genopts/loongarch-strings: Support code model medium.
14027 * config/loongarch/genopts/loongarch.opt.in: Likewise.
14028 * config/loongarch/loongarch-def.c: Likewise.
14029 * config/loongarch/loongarch-def.h (CMODEL_LARGE): Likewise.
14030 (CMODEL_EXTREME): Likewise.
14031 (N_CMODEL_TYPES): Likewise.
14032 (CMODEL_MEDIUM): Likewise.
14033 * config/loongarch/loongarch-opts.cc: Likewise.
14034 * config/loongarch/loongarch-opts.h (TARGET_CMODEL_MEDIUM): Likewise.
14035 * config/loongarch/loongarch-str.h (STR_CMODEL_MEDIUM): Likewise.
14036 * config/loongarch/loongarch.cc (loongarch_call_tls_get_addr):
14037 Tls symbol Loading support medium mode.
14038 (loongarch_legitimize_call_address): When medium mode, make a symbolic
14039 jump with two instructions.
14040 (loongarch_option_override_internal): Support medium.
14041 * config/loongarch/loongarch.md (@pcalau12i<mode>): New template.
14042 (@sibcall_internal_1<mode>): New function call templates added to support
14043 medium mode.
14044 (@sibcall_value_internal_1<mode>): Likewise.
14045 (@sibcall_value_multiple_internal_1<mode>): Likewise.
14046 (@call_internal_1<mode>): Likewise.
14047 (@call_value_internal_1<mode>): Likewise.
14048 (@call_value_multiple_internal_1<mode>): Likewise.
14049 * config/loongarch/loongarch.opt: Support medium.
14050 * config/loongarch/predicates.md: Add processing about medium mode.
14051 * doc/invoke.texi: Document for '-mcmodel=medium'.
14052
14053 2022-08-24 Richard Biener <rguenther@suse.de>
14054
14055 * gimple-predicate-analysis.cc (predicate::use_cannot_happen):
14056 Start the compute_control_dep_chain walk from the immediate
14057 dominator of the PHI.
14058
14059 2022-08-23 H.J. Lu <hjl.tools@gmail.com>
14060
14061 PR target/106714
14062 * config/i386/amxtileintrin.h (_tile_loadd_internal): Cast to
14063 __PTRDIFF_TYPE__.
14064 (_tile_stream_loadd_internal): Likewise.
14065 (_tile_stored_internal): Likewise.
14066
14067 2022-08-23 Richard Biener <rguenther@suse.de>
14068
14069 PR tree-optimization/106722
14070 * gimple-predicate-analysis.h (MAX_NUM_CHAINS, MAX_CHAIN_LEN,
14071 MAX_POSTDOM_CHECK, MAX_SWITCH_CASES): Move ...
14072 * gimple-predicate-analysis.cc: ... here and document.
14073 (simple_control_dep_chain): New function, factored from
14074 predicate::use_cannot_happen.
14075 (predicate::use_cannot_happen): Adjust.
14076 (predicate::predicate): Use simple_control_dep_chain as fallback.
14077
14078 2022-08-23 Aldy Hernandez <aldyh@redhat.com>
14079
14080 * range-op-float.cc (foperator_equal::op1_range): Set range to
14081 range of op2.
14082
14083 2022-08-23 Richard Biener <rguenther@suse.de>
14084
14085 * gimple-predicate-analysis.cc (is_loop_exit): Split out
14086 from ...
14087 (is_non_loop_exit_postdominating): ... here. Remove after
14088 inlining ...
14089 (find_control_equiv_block): ... here.
14090 (compute_control_dep_chain): ... and here.
14091 (predicate::is_use_guarded): Do not excempt loop exits
14092 from short-cutting the case of the use post-dominating the
14093 PHI definition.
14094
14095 2022-08-23 Andrew MacLeod <amacleod@redhat.com>
14096
14097 PR tree-optimization/106687
14098 * range-op.cc (operator_minus::lhs_op1_relation): Return VREL_LE
14099 for the VREL_GT case as well.
14100
14101 2022-08-22 Dimitar Dimitrov <dimitar@dinux.eu>
14102
14103 * config/pru/pru.md (pru_<code>di3): New alternative for
14104 two operands but without earlyclobber.
14105
14106 2022-08-22 Dimitar Dimitrov <dimitar@dinux.eu>
14107
14108 * config/pru/pru.md (prumov<mode>, mov<mode>): Add
14109 variants for loading -1 consts.
14110
14111 2022-08-22 Dimitar Dimitrov <dimitar@dinux.eu>
14112
14113 PR target/106564
14114 * config/pru/constraints.md (Um): New constraint for -1.
14115 (Uf): New constraint for IOR fill-bytes constants.
14116 (Uz): New constraint for AND zero-bytes constants.
14117 * config/pru/predicates.md (const_fillbytes_operand): New
14118 predicate for IOR fill-bytes constants.
14119 (const_zerobytes_operand): New predicate for AND zero-bytes
14120 constants.
14121 * config/pru/pru-protos.h (pru_output_sign_extend): Remove.
14122 (struct pru_byterange): New struct to describe a byte range.
14123 (pru_calc_byterange): New declaration.
14124 * config/pru/pru.cc (pru_rtx_costs): Add penalty for
14125 64-bit zero-extend.
14126 (pru_output_sign_extend): Remove.
14127 (pru_calc_byterange): New helper function to extract byte
14128 range info from a constant.
14129 (pru_print_operand): Remove 'y' and 'z' print modifiers.
14130 * config/pru/pru.md (zero_extendqidi2): New pattern.
14131 (zero_extendhidi2): New pattern.
14132 (zero_extendsidi2): New pattern.
14133 (extend<EQS0:mode><EQD:mode>2): Rewrite as an expand.
14134 (@pru_ior_fillbytes<mode>): New pattern.
14135 (@pru_and_zerobytes<mode>): New pattern.
14136 (<code>di3): Rewrite as an expand and handle ZERO and FILL
14137 special cases.
14138 (pru_<code>di3): New name for <code>di3.
14139 (@cbranch_qbbx_const_<BIT_TEST:code><HIDI:mode>): New pattern to
14140 handle bit-test for 64-bit registers.
14141
14142 2022-08-22 Richard Biener <rguenther@suse.de>
14143
14144 * gimple-predicate-analysis.h (predicate::m_use_expr): Remove.
14145 (predicate::def_expr): Likewise.
14146 (predicate::use_expr): Likewise.
14147 (predicate::expr): Likewise.
14148 * gimple-predicate-analysis.cc (predicate::def_expr): Remove.
14149 (predicate::use_expr): Likewise.
14150 (predicate::expr): Likewise.
14151 (predicate::is_use_guarded): Do not build m_use_expr.
14152
14153 2022-08-22 Martin Liska <mliska@suse.cz>
14154
14155 PR lto/106700
14156 * configure.ac: Detect O_NONBLOCK flag for open.
14157 * config.in: Regenerate.
14158 * configure: Regenerate.
14159 * opts-common.cc (jobserver_info::connect): Set is_connected
14160 properly based on O_NONBLOCK.
14161 * opts-jobserver.h (struct jobserver_info): Add is_connected
14162 member variable.
14163
14164 2022-08-22 zhongjuzhe <juzhe.zhong@rivai.ai>
14165
14166 * simplify-rtx.cc (test_vector_subregs_fore_back): Make first value
14167 and repeat value different.
14168
14169 2022-08-22 Tobias Burnus <tobias@codesourcery.com>
14170
14171 PR lto/106686
14172 * lto-wrapper.cc (free_array_of_ptrs): Move before tool_cleanup.
14173 (tool_cleanup): Unlink offload_names.
14174 (compile_offload_image): Take filename argument to set it early.
14175 (compile_images_for_offload_targets): Update call; set
14176 offload_names to NULL after freeing the array.
14177
14178 2022-08-22 Richard Biener <rguenther@suse.de>
14179
14180 PR tree-optimization/105937
14181 * tree-ssa-uninit.cc (find_uninit_use): Do not queue PHIs
14182 on backedges.
14183 (execute_late_warn_uninitialized): Mark backedges.
14184
14185 2022-08-22 Richard Biener <rguenther@suse.de>
14186
14187 * gimple-predicate-analysis.cc (predicate::use_cannot_happen):
14188 If the use is guarded with multiple predicate paths compute
14189 the predicates intersection before going forward. When
14190 compute_control_dep_chain wasn't able to come up with at
14191 least one path from function entry to the PHI edge compute
14192 a conservative sparse path instead.
14193
14194 2022-08-20 Lulu Cheng <chenglulu@loongson.cn>
14195
14196 * config/loongarch/loongarch-opts.cc: Allow cmodel to be extreme.
14197 * config/loongarch/loongarch.cc (loongarch_call_tls_get_addr):
14198 Add extreme support for TLS GD and LD types.
14199 (loongarch_legitimize_tls_address): Add extreme support for TLS LE
14200 and IE.
14201 (loongarch_split_symbol): When compiling with -mcmodel=extreme,
14202 the symbol address will be obtained through five instructions.
14203 (loongarch_print_operand_reloc): Add support.
14204 (loongarch_print_operand): Add support.
14205 (loongarch_print_operand_address): Add support.
14206 (loongarch_option_override_internal): Set '-mcmodel=extreme' option
14207 incompatible with '-mno-explicit-relocs'.
14208 * config/loongarch/loongarch.md (@lui_l_hi20<mode>):
14209 Loads bits 12-31 of data into registers.
14210 (lui_h_lo20): Load bits 32-51 of the data and spell bits 0-31 of
14211 the source register.
14212 (lui_h_hi12): Load bits 52-63 of the data and spell bits 0-51 of
14213 the source register.
14214 * config/loongarch/predicates.md: Symbols need to be decomposed
14215 when defining the macro TARGET_CMODEL_EXTREME
14216 * doc/invoke.texi: Modify the description information of cmodel in the document.
14217 Document -W[no-]extreme-plt.
14218
14219 2022-08-19 Tobias Burnus <tobias@codesourcery.com>
14220
14221 * config/gcn/mkoffload.cc (main): Add omp_requires_file and dbgobj to
14222 files_to_cleanup.
14223 * config/i386/intelmic-mkoffload.cc (prepare_target_image): Add
14224 omp_requires_file to temp_files.
14225 * config/nvptx/mkoffload.cc (omp_requires_file): New global static var.
14226 (main): Remove local omp_requires_file var.
14227 (tool_cleanup): Handle omp_requires_file.
14228
14229 2022-08-19 Aldy Hernandez <aldyh@redhat.com>
14230
14231 * gimple-range-path.cc (path_range_query::path_range_query):
14232 Remove constructor that takes edge.
14233 * gimple-range-path.h (class path_range_query): Same.
14234 * tree-ssa-loop-ch.cc (edge_range_query): New.
14235 (entry_loop_condition_is_static): Call edge_range_query.
14236
14237 2022-08-18 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
14238
14239 * config/xtensa/xtensa.h
14240 (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
14241 Add new register class "ISC_REGS".
14242 * config/xtensa/constraints.md (c): Add new register constraint.
14243 * config/xtensa/xtensa.md (define_constants): Remove "A11_REG".
14244 (sibcall_internal, sibcall_value_internal):
14245 Change to use the new register constraint, and remove two split
14246 patterns for fixups that are no longer needed.
14247
14248 2022-08-18 Maciej W. Rozycki <macro@embecosm.com>
14249
14250 * config/riscv/riscv.md (*mov<GPR:mode><X:mode>cc): Fix output
14251 pattern formatting.
14252
14253 2022-08-18 Tim Lange <mail@tim-lange.me>
14254
14255 PR analyzer/106181
14256 * doc/invoke.texi: Add Wanalyzer-imprecise-fp-arithmetic.
14257
14258 2022-08-18 Aldy Hernandez <aldyh@redhat.com>
14259
14260 * gimple-range-path.cc (path_range_query::path_range_query): Add
14261 various constructors to take a path.
14262 (path_range_query::~path_range_query): Remove m_alloced_ranger.
14263 (path_range_query::range_on_path_entry): Adjust for m_ranger being
14264 a reference.
14265 (path_range_query::set_path): Rename to...
14266 (path_range_query::reset_path): ...this and call compute_ranges.
14267 (path_range_query::ssa_range_in_phi): Adjust for m_ranger
14268 reference.
14269 (path_range_query::range_defined_in_block): Same.
14270 (path_range_query::compute_ranges_in_block): Same.
14271 (path_range_query::adjust_for_non_null_uses): Same.
14272 (path_range_query::compute_exit_dependencies): Use m_path instead
14273 of argument.
14274 (path_range_query::compute_ranges): Remove path argument.
14275 (path_range_query::range_of_stmt): Adjust for m_ranger reference.
14276 (path_range_query::compute_outgoing_relations): Same.
14277 * gimple-range-path.h (class path_range_query): Add various
14278 constructors.
14279 Make compute_ranges and compute_exit_dependencies private.
14280 Rename set_path to reset_path.
14281 Make m_ranger a reference.
14282 Remove m_alloced_ranger.
14283 * tree-ssa-dom.cc (pass_dominator::execute): Adjust constructor to
14284 path_range_query.
14285 * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Take a
14286 ranger and instantiate a new path_range_query every time.
14287 (ch_base::copy_headers): Pass ranger instead of path_range_query.
14288 * tree-ssa-threadbackward.cc (class back_threader): Remove m_solver.
14289 (back_threader::~back_threader): Remove m_solver.
14290 (back_threader::find_taken_edge_switch): Adjust for m_ranger
14291 reference.
14292 (back_threader::find_taken_edge_cond): Same.
14293 (back_threader::dump): Remove m_solver.
14294 (back_threader::back_threader): Move verify_marked_backedges
14295 here from the path_range_query constructor.
14296 * tree-ssa-threadedge.cc (hybrid_jt_simplifier::simplify): Move
14297 some code from compute_ranges_from_state here.
14298 (hybrid_jt_simplifier::compute_ranges_from_state): Rename...
14299 (hybrid_jt_simplifier::compute_exit_dependencies): ...to this.
14300 * tree-ssa-threadedge.h (class hybrid_jt_simplifier): Rename
14301 compute_ranges_from_state to compute_exit_dependencies.
14302 Remove m_path.
14303
14304 2022-08-18 Richard Biener <rguenther@suse.de>
14305
14306 PR middle-end/106617
14307 * match.pd ((a ? b : c) > d -> a ? (b > d) : (c > d)): Fix
14308 guard, disable on GENERIC to not cause quadratic behavior
14309 with the fold-const.cc implementation and the use of !
14310
14311 2022-08-18 Andrew Pinski <apinski@marvell.com>
14312
14313 PR gcov-profile/106659
14314 * gcov-dump.cc (INCLUDE_VECTOR): Include vector.h with
14315 INCLUDE_VECTOR.
14316
14317 2022-08-18 konglin1 <lingling.kong@intel.com>
14318
14319 * config/i386/i386-expand.cc (ix86_expand_sse_movcc): Handle vector
14320 BFmode.
14321 (ix86_expand_vector_init_duplicate): Support vector BFmode.
14322 (ix86_expand_vector_init_one_nonzero): Ditto.
14323 (ix86_expand_vector_init_one_var): Ditto.
14324 (ix86_expand_vector_init_concat): Ditto.
14325 (ix86_expand_vector_init_interleave): Ditto.
14326 (ix86_expand_vector_init_general): Ditto.
14327 (ix86_expand_vector_init): Ditto.
14328 (ix86_expand_vector_set_var): Ditto.
14329 (ix86_expand_vector_set): Ditto.
14330 (ix86_expand_vector_extract): Ditto.
14331 * config/i386/i386.cc (classify_argument): Add BF vector modes.
14332 (function_arg_64): Ditto.
14333 (ix86_gimplify_va_arg): Ditto.
14334 (ix86_get_ssemov): Ditto.
14335 * config/i386/i386.h (VALID_AVX256_REG_MODE): Add BF vector modes.
14336 (VALID_AVX512F_REG_MODE): Ditto.
14337 (host_detect_local_cpu): Ditto.
14338 (VALID_SSE2_REG_MODE): Ditto.
14339 * config/i386/i386.md: Add BF vector modes.
14340 (MODE_SIZE): Ditto.
14341 (ssemodesuffix): Add bf suffix for BF vector modes.
14342 (ssevecmode): Ditto.
14343 * config/i386/sse.md (VMOVE): Adjust for BF vector modes.
14344 (VI12HFBF_AVX512VL): Ditto.
14345 (V_256_512): Ditto.
14346 (VF_AVX512HFBF16): Ditto.
14347 (VF_AVX512BWHFBF16): Ditto.
14348 (VIHFBF): Ditto.
14349 (avx512): Ditto.
14350 (VIHFBF_256): Ditto.
14351 (VIHFBF_AVX512BW): Ditto.
14352 (VI2F_256_512):Ditto.
14353 (V8_128):Ditto.
14354 (V16_256): Ditto.
14355 (V32_512): Ditto.
14356 (sseinsnmode): Ditto.
14357 (sseconstm1): Ditto.
14358 (sseintmodesuffix): New mode_attr.
14359 (avx512fmaskmode): Ditto.
14360 (avx512fmaskmodelower): Ditto.
14361 (ssedoublevecmode): Ditto.
14362 (ssehalfvecmode): Ditto.
14363 (ssehalfvecmodelower): Ditto.
14364 (ssescalarmode): Add vector BFmode mapping.
14365 (ssescalarmodelower): Ditto.
14366 (ssexmmmode): Ditto.
14367 (ternlogsuffix): Ditto.
14368 (ssescalarsize): Ditto.
14369 (sseintprefix): Ditto.
14370 (i128): Ditto.
14371 (xtg_mode): Ditto.
14372 (bcstscalarsuff): Ditto.
14373 (<avx512>_blendm<mode>): New define_insn for BFmode.
14374 (<avx512>_store<mode>_mask): Ditto.
14375 (vcond_mask_<mode><avx512fmaskmodelower>): Ditto.
14376 (vec_set<mode>_0): New define_insn for BF vector set.
14377 (V8BFH_128): New mode_iterator for BFmode.
14378 (avx512fp16_mov<mode>): Ditto.
14379 (vec_set<mode>): New define_insn for BF vector set.
14380 (@vec_extract_hi_<mode>): Ditto.
14381 (@vec_extract_lo_<mode>): Ditto.
14382 (vec_set_hi_<mode>): Ditto.
14383 (vec_set_lo_<mode>): Ditto.
14384 (*vec_extract<mode>_0): New define_insn_and_split for BF
14385 vector extract.
14386 (*vec_extract<mode>): New define_insn.
14387 (VEC_EXTRACT_MODE): Add BF vector modes.
14388 (PINSR_MODE): Add V8BF.
14389 (sse2p4_1): Ditto.
14390 (pinsr_evex_isa): Ditto.
14391 (<sse2p4_1>_pinsr<ssemodesuffix>): Adjust to support
14392 insert for V8BFmode.
14393 (pbroadcast_evex_isa): Add BF vector modes.
14394 (AVX2_VEC_DUP_MODE): Ditto.
14395 (VEC_INIT_MODE): Ditto.
14396 (VEC_INIT_HALF_MODE): Ditto.
14397 (avx2_pbroadcast<mode>): Adjust to support BF vector mode
14398 broadcast.
14399 (avx2_pbroadcast<mode>_1): Ditto.
14400 (<avx512>_vec_dup<mode>_1): Ditto.
14401 (<mask_codefor><avx512>_vec_dup_gpr<mode><mask_name>):
14402 Ditto.
14403
14404 2022-08-18 Martin Liska <mliska@suse.cz>
14405
14406 * configure: Regenerate.
14407
14408 2022-08-18 Haochen Gui <guihaoc@gcc.gnu.org>
14409
14410 PR target/103109
14411 * config/rs6000/rs6000.md (<u>maddditi4): New pattern for multiply-add.
14412 (<u>madddi4_highpart): New.
14413 (<u>madddi4_highpart_le): New.
14414
14415 2022-08-18 Aldy Hernandez <aldyh@redhat.com>
14416
14417 * gimple-range-path.cc
14418 (path_range_query::compute_exit_dependencies): Use
14419 gimple_range_ssa_names.
14420
14421 2022-08-18 zhongjuzhe <juzhe.zhong@rivai.ai>
14422
14423 * config/riscv/predicates.md: Adjust runtime invariant.
14424 * config/riscv/riscv-modes.def (MAX_BITSIZE_MODE_ANY_MODE): New.
14425 (NUM_POLY_INT_COEFFS): New.
14426 * config/riscv/riscv-protos.h (riscv_initial_elimination_offset):Adjust
14427 runtime invariant.
14428 * config/riscv/riscv-sr.cc (riscv_remove_unneeded_save_restore_calls):
14429 Adjust runtime invariant.
14430 * config/riscv/riscv.cc (struct riscv_frame_info): Adjust runtime
14431 invariant.
14432 (enum riscv_microarchitecture_type): Ditto.
14433 (riscv_valid_offset_p): Ditto.
14434 (riscv_valid_lo_sum_p): Ditto.
14435 (riscv_address_insns): Ditto.
14436 (riscv_load_store_insns): Ditto.
14437 (riscv_legitimize_move): Ditto.
14438 (riscv_binary_cost): Ditto.
14439 (riscv_rtx_costs): Ditto.
14440 (riscv_output_move): Ditto.
14441 (riscv_extend_comparands): Ditto.
14442 (riscv_flatten_aggregate_field): Ditto.
14443 (riscv_get_arg_info): Ditto.
14444 (riscv_pass_by_reference): Ditto.
14445 (riscv_elf_select_rtx_section): Ditto.
14446 (riscv_stack_align): Ditto.
14447 (riscv_compute_frame_info): Ditto.
14448 (riscv_initial_elimination_offset): Ditto.
14449 (riscv_set_return_address): Ditto.
14450 (riscv_for_each_saved_reg): Ditto.
14451 (riscv_first_stack_step): Ditto.
14452 (riscv_expand_prologue): Ditto.
14453 (riscv_expand_epilogue): Ditto.
14454 (riscv_can_use_return_insn): Ditto.
14455 (riscv_secondary_memory_needed): Ditto.
14456 (riscv_hard_regno_nregs): Ditto.
14457 (riscv_convert_vector_bits): New.
14458 (riscv_option_override): Adjust runtime invariant.
14459 (riscv_promote_function_mode): Ditto.
14460 * config/riscv/riscv.h (POLY_SMALL_OPERAND_P): New.
14461 (BITS_PER_RISCV_VECTOR): New.
14462 (BYTES_PER_RISCV_VECTOR): New.
14463 * config/riscv/riscv.md: Adjust runtime invariant.
14464
14465 2022-08-18 Lulu Cheng <chenglulu@loongson.cn>
14466
14467 * config/loongarch/loongarch.cc (loongarch_call_tls_get_addr):
14468 Get __tls_get_addr address through got table when disable plt.
14469
14470 2022-08-18 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
14471
14472 * config/xtensa/xtensa.cc (xtensa_expand_prologue):
14473 Use an "addmi" machine instruction for updating the stack pointer
14474 rather than addition/subtraction via hard register A9, if the amount
14475 of change satisfies the literal value conditions of that instruction
14476 when the CALL0 ABI is used.
14477 (xtensa_expand_epilogue): Ditto.
14478 And also inhibit the stack pointer addition of constant zero.
14479
14480 2022-08-17 Roger Sayle <roger@nextmovesoftware.com>
14481
14482 PR target/106640
14483 * config/i386/i386-features.cc
14484 (timde_scalar_chain::compute_convert_gain): Replace incorrect use
14485 of XINT with INTVAL (XEXP (src, 1)).
14486
14487 2022-08-17 Aldy Hernandez <aldyh@redhat.com>
14488
14489 * gimple-range-path.cc
14490 (path_range_query::compute_ranges_in_block): Remove
14491 set_root_oracle call.
14492 (path_range_query::compute_ranges): Pass ranger oracle to
14493 reset_path.
14494 * value-relation.cc (path_oracle::reset_path): Set root oracle.
14495 * value-relation.h (path_oracle::reset_path): Add root oracle
14496 argument.
14497
14498 2022-08-17 Marek Polacek <polacek@redhat.com>
14499
14500 PR c++/89780
14501 * diagnostic-spec.cc (nowarn_spec_t::nowarn_spec_t): Handle
14502 OPT_Wpessimizing_move and OPT_Wredundant_move.
14503 * diagnostic-spec.h (nowarn_spec_t): Add NW_REDUNDANT enumerator.
14504
14505 2022-08-17 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
14506 Jakub Jelinek <jakub@redhat.com>
14507
14508 PR fortran/46539
14509 * common.opt (static-libquadmath): New option.
14510 * gcc.cc (driver_handle_option): Always accept -static-libquadmath.
14511 * config/darwin.h (LINK_SPEC): Handle -static-libquadmath.
14512
14513 2022-08-17 Tobias Burnus <tobias@codesourcery.com>
14514
14515 * lto-cgraph.cc (input_offload_tables): Improve requires diagnostic
14516 when filenames come out identically.
14517
14518 2022-08-17 Tobias Burnus <tobias@codesourcery.com>
14519
14520 PR middle-end/106548
14521 * omp-low.cc (lower_rec_input_clauses): Use build_outer_var_ref
14522 for 'simd' linear-step values that are variable.
14523
14524 2022-08-17 Tobias Burnus <tobias@codesourcery.com>
14525 Chung-Lin Tang <cltang@codesourcery.com>
14526
14527 PR c++/104493
14528 * gimplify.cc (omp_notice_variable): Call omp_mappable_type
14529 instead of removed langhook.
14530 * omp-general.h (omp_mappable_type): New prototype.
14531 * omp-general.cc (omp_mappable_type): New; moved from ...
14532 * langhooks.cc (lhd_omp_mappable_type): ... here.
14533 * langhooks-def.h (lhd_omp_mappable_type,
14534 LANG_HOOKS_OMP_MAPPABLE_TYPE): Remove.
14535 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Remote the latter.
14536 * langhooks.h (struct lang_hooks_for_types): Remove
14537 omp_mappable_type.
14538
14539 2022-08-17 Christophe Lyon <christophe.lyon@arm.com>
14540
14541 * config.gcc (arm): Define with_float to hard if target name ends
14542 with 'hf'.
14543
14544 2022-08-17 Richard Biener <rguenther@suse.de>
14545
14546 * tree-ssa-threadbackward.cc
14547 (back_threader_profitability): Split profitable_path_p
14548 into possibly_profitable_path_p and itself, keep state
14549 as new members.
14550 (back_threader::m_profit): Remove.
14551 (back_threader::find_paths): Likewise.
14552 (back_threader::maybe_register_path): Take profitability
14553 instance as parameter.
14554 (back_threader::find_paths_to_names): Likewise. Use
14555 possibly_profitable_path_p and avoid the path range query
14556 when the path is currently too large.
14557 (back_threader::find_paths): Fold into ...
14558 (back_threader::maybe_thread_block): ... this.
14559 (get_gimple_control_stmt): Remove.
14560 (back_threader_profitability::possibly_profitable_path_p):
14561 Split out from profitable_path_p, do early profitability
14562 checks.
14563 (back_threader_profitability::profitable_path_p): Do final
14564 profitability path after the taken edge has been determined.
14565
14566 2022-08-17 Xi Ruoyao <xry111@xry111.site>
14567
14568 * config/loongarch/loongarch.md (fmax<mode>3): New RTL pattern.
14569 (fmin<mode>3): Likewise.
14570
14571 2022-08-17 Andrew MacLeod <amacleod@redhat.com>
14572
14573 * gimple-range-fold.cc (gimple_range_ssa_names): New.
14574 * gimple-range-fold.h (gimple_range_ssa_names): New prototype.
14575 * gimple-range-gori.cc (range_def_chain::get_def_chain): Move
14576 code to new routine.
14577
14578 2022-08-16 Martin Liska <mliska@suse.cz>
14579
14580 PR target/106637
14581 * doc/install.texi: Remove link to www.bullfreeware.com
14582
14583 2022-08-16 Kito Cheng <kito.cheng@sifive.com>
14584
14585 * common/config/riscv/riscv-common.cc (riscv_implied_info): Add
14586 zfh and zfhmin.
14587 (riscv_ext_version_table): Ditto.
14588 (riscv_ext_flag_table): Ditto.
14589 * config/riscv/riscv-opts.h (MASK_ZFHMIN): New.
14590 (MASK_ZFH): Ditto.
14591 (TARGET_ZFHMIN): Ditto.
14592 (TARGET_ZFH): Ditto.
14593 * config/riscv/riscv.cc (riscv_output_move): Handle HFmode move
14594 for zfh and zfhmin.
14595 (riscv_emit_float_compare): Handle HFmode.
14596 * config/riscv/riscv.md (ANYF): Add HF.
14597 (SOFTF): Add HF.
14598 (load): Ditto.
14599 (store): Ditto.
14600 (truncsfhf2): New.
14601 (truncdfhf2): Ditto.
14602 (extendhfsf2): Ditto.
14603 (extendhfdf2): Ditto.
14604 (*movhf_hardfloat): Ditto.
14605 (*movhf_softfloat): Make sure not ZFHMIN.
14606 * config/riscv/riscv.opt (riscv_zf_subext): New.
14607
14608 2022-08-16 Kito Cheng <kito.cheng@sifive.com>
14609
14610 * config/riscv/riscv-builtins.cc: include stringpool.h
14611 (riscv_float16_type_node): New.
14612 (riscv_init_builtin_types): Ditto.
14613 (riscv_init_builtins): Call riscv_init_builtin_types.
14614 * config/riscv/riscv-modes.def (HF): New.
14615 * config/riscv/riscv.cc (riscv_output_move): Handle HFmode.
14616 (riscv_mangle_type): New.
14617 (riscv_scalar_mode_supported_p): Ditto.
14618 (riscv_libgcc_floating_mode_supported_p): Ditto.
14619 (riscv_excess_precision): Ditto.
14620 (riscv_floatn_mode): Ditto.
14621 (riscv_init_libfuncs): Ditto.
14622 (TARGET_MANGLE_TYPE): Ditto.
14623 (TARGET_SCALAR_MODE_SUPPORTED_P): Ditto.
14624 (TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P): Ditto.
14625 (TARGET_INIT_LIBFUNCS): Ditto.
14626 (TARGET_C_EXCESS_PRECISION): Ditto.
14627 (TARGET_FLOATN_MODE): Ditto.
14628 * config/riscv/riscv.md (mode): Add HF.
14629 (softload): Add HF.
14630 (softstore): Ditto.
14631 (fmt): Ditto.
14632 (UNITMODE): Ditto.
14633 (movhf): New.
14634 (*movhf_softfloat): New.
14635
14636 2022-08-16 Richard Biener <rguenther@suse.de>
14637
14638 * tree-ssa-threadbackward.cc (back_threader::find_paths_to_names):
14639 Do not walk further if we are leaving the current loop.
14640
14641 2022-08-16 Sergei Trofimovich <siarheit@google.com>
14642
14643 PR driver/106624
14644 * gcc.cc (driver::detect_jobserver): Allocate storage xputenv()
14645 argument using xstrdup().
14646
14647 2022-08-16 Aldy Hernandez <aldyh@redhat.com>
14648
14649 * gimple-range-path.cc (path_range_query::import_p): Rename to...
14650 (path_range_query::exit_dependency_p): ...this.
14651 (path_range_query::dump): Rename imports to exit dependencies.
14652 (path_range_query::compute_ranges_in_phis): Same.
14653 (path_range_query::compute_ranges_in_block): Same.
14654 (path_range_query::adjust_for_non_null_uses): Same.
14655 (path_range_query::compute_ranges): Same.
14656 (path_range_query::compute_phi_relations): Same.
14657 (path_range_query::add_to_imports): Rename to...
14658 (path_range_query::add_to_exit_dependencies): ...this.
14659 (path_range_query::compute_imports): Rename to...
14660 (path_range_query::compute_exit_dependencies): ...this.
14661 * gimple-range-path.h (class path_range_query): Rename imports to
14662 exit dependencies.
14663
14664 2022-08-16 Martin Liska <mliska@suse.cz>
14665
14666 * value-range-storage.h (class obstack_vrange_allocator): Mark
14667 the class as final.
14668 (class ggc_vrange_allocator): Likewise.
14669
14670 2022-08-16 Martin Liska <mliska@suse.cz>
14671
14672 * value-range-equiv.h (class value_range_equiv): Add virtual
14673 destructor.
14674 * value-range.h: Likewise.
14675
14676 2022-08-16 Richard Biener <rguenther@suse.de>
14677
14678 PR middle-end/106630
14679 * match.pd ((T)(x * CST) -> (T)x * CST): Restrict to
14680 narrowing conversions.
14681
14682 2022-08-16 Martin Liska <mliska@suse.cz>
14683
14684 * value-range-equiv.h (class value_range_equiv):
14685
14686 2022-08-16 Martin Liska <mliska@suse.cz>
14687
14688 * config/i386/i386-features.h (class general_scalar_chain): Add
14689 final override for a method.
14690 (class timode_scalar_chain): Likewise.
14691
14692 2022-08-16 Richard Biener <rguenther@suse.de>
14693
14694 * doc/invoke.texi (max-jump-thread-paths): Adjust.
14695
14696 2022-08-16 Martin Liska <mliska@suse.cz>
14697
14698 * opts-common.cc (jobserver_info::connect): Open fifo
14699 in non-blocking mode.
14700
14701 2022-08-16 Kewen.Lin <linkw@gcc.gnu.org>
14702
14703 PR target/103353
14704 * config/rs6000/mma.md (define_expand movoo): Move TARGET_MMA condition
14705 check to preparation statements and add handlings for !TARGET_MMA.
14706 (define_expand movxo): Likewise.
14707
14708 2022-08-16 Kewen Lin <linkw@linux.ibm.com>
14709
14710 PR tree-optimization/106322
14711 * tree-vect-stmts.cc (vectorizable_call): Don't allow
14712 vect_emulated_vector_p type for both vectype_in and vectype_out.
14713
14714 2022-08-16 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
14715
14716 * common/config/xtensa/xtensa-common.cc
14717 (xtensa_option_optimization_table): Add OPT_fsplit_wide_types_early
14718 for OPT_LEVELS_ALL in order to restore pre-GCC10 behavior.
14719
14720 2022-08-15 Andrew MacLeod <amacleod@redhat.com>
14721
14722 PR tree-optimization/106621
14723 * value-range.cc (irange::set): Check for POLY_INT_CST early.
14724
14725 2022-08-15 Roger Sayle <roger@nextmovesoftware.com>
14726
14727 * config/i386/i386-features.cc
14728 (timode_scalar_chain::compute_convert_gain): Provide costs for
14729 shifts and rotates.
14730 (timode_scalar_chain::convert_insn): Handle ASHIFTRT, ROTATERT
14731 and ROTATE just like existing ASHIFT and LSHIFTRT cases.
14732 (timode_scalar_to_vector_candidate_p): Handle all shifts and
14733 rotates by integer constants between 0 and 127.
14734
14735 2022-08-15 Roger Sayle <roger@nextmovesoftware.com>
14736
14737 * config/i386/i386-features.cc
14738 (timode_scalar_chain::compute_convert_gain): Provide gains for
14739 comparisons against 0/-1, including "*testti" patterns.
14740
14741 2022-08-15 Roger Sayle <roger@nextmovesoftware.com>
14742
14743 PR tree-optimization/64992
14744 PR tree-optimization/98956
14745 * match.pd (ne (lshift @0 @1) 0): Simplify (X << C) != 0 to X
14746 when X is zero_one_valued_p and the shift constant C is valid.
14747 (eq (lshift @0 @1) 0): Likewise, simplify (X << C) == 0 to !X
14748 when X is zero_one_valued_p and the shift constant C is valid.
14749
14750 2022-08-15 Roger Sayle <roger@nextmovesoftware.com>
14751 Richard Biener <rguenther@suse.de>
14752
14753 PR tree-optimization/71343
14754 * match.pd (op (lshift @0 @1) (lshift @2 @1)): Optimize the
14755 expression (X<<C) + (Y<<C) to (X+Y)<<C for multiple operators.
14756 (op (rshift @0 @1) (rshift @2 @1)): Likewise, simplify (X>>C)^(Y>>C)
14757 to (X^Y)>>C for binary logical operators, AND, IOR and XOR.
14758
14759 2022-08-15 Richard Biener <rguenther@suse.de>
14760
14761 * gimple-range-path.cc (range_on_path_entry): Just
14762 call range_on_entry.
14763
14764 2022-08-15 Jakub Jelinek <jakub@redhat.com>
14765
14766 PR rtl-optimization/106590
14767 * ifcvt.cc (check_for_cc_cmp_clobbers): New function.
14768 (noce_convert_multiple_sets_1): If SEQ sets or clobbers any regs
14769 mentioned in cc_cmp or rev_cc_cmp, don't consider seq2 for any
14770 further conditional moves.
14771
14772 2022-08-15 konglin1 <lingling.kong@intel.com>
14773
14774 * config/i386/i386-builtin-types.def (BFLOAT16): New primitive type.
14775 * config/i386/i386-builtins.cc : Support __bf16 type for i386 backend.
14776 (ix86_register_bf16_builtin_type): New function.
14777 (ix86_bf16_type_node): New.
14778 (ix86_bf16_ptr_type_node): Ditto.
14779 (ix86_init_builtin_types): Add ix86_register_bf16_builtin_type function call.
14780 * config/i386/i386-modes.def (FLOAT_MODE): Add BFmode.
14781 (ADJUST_FLOAT_FORMAT): Ditto.
14782 * config/i386/i386.cc (classify_argument): Handle BFmode.
14783 (construct_container): Ditto.
14784 (function_value_32): Return __bf16 by %xmm0.
14785 (function_value_64): Return __bf16 by SSE register.
14786 (ix86_output_ssemov): Handle BFmode.
14787 (ix86_legitimate_constant_p): Disable BFmode constant double.
14788 (ix86_secondary_reload): Require gpr as intermediate register
14789 to store __bf16 from sse register when sse4 is not available.
14790 (ix86_scalar_mode_supported_p): Enable __bf16 under sse2.
14791 (ix86_mangle_type): Add manlging for __bf16 type.
14792 (ix86_invalid_conversion): New function for target hook.
14793 (ix86_invalid_unary_op): Ditto.
14794 (ix86_invalid_binary_op): Ditto.
14795 (TARGET_INVALID_CONVERSION): New define for target hook.
14796 (TARGET_INVALID_UNARY_OP): Ditto.
14797 (TARGET_INVALID_BINARY_OP): Ditto.
14798 * config/i386/i386.h (host_detect_local_cpu): Add BFmode.
14799 * config/i386/i386.md ("mode"): Add BFmode.
14800 (MODE_SIZE): Ditto.
14801 (X87MODEFH): Ditto.
14802 (HFBF): Add new define_mode_iterator.
14803 (*pushhf_rex64): Change for BFmode.
14804 (*push<mode>_rex64): Ditto.
14805 (*pushhf): Ditto.
14806 (*push<mode>): Ditto.
14807 (MODESH): Ditto.
14808 (hfbfconstf): Add new define_mode_attr.
14809 (*mov<mode>_internal): Add BFmode.
14810
14811 2022-08-13 Roger Sayle <roger@nextmovesoftware.com>
14812 Uroš Bizjak <ubizjak@gmail.com>
14813
14814 * config/i386/predicates.md (const_0_to_255_not_mul_8_operand):
14815 New predicate for values between 0/1 and 255, not multiples of 8.
14816 * config/i386/sse.md (ashlv1ti3): Delay lowering of logical left
14817 shifts by constant bit counts.
14818 (*ashlvti3_internal): New define_insn_and_split that lowers
14819 logical left shifts by constant bit counts, that aren't multiples
14820 of 8, before reload.
14821 (lshrv1ti3): Delay lowering of logical right shifts by constant.
14822 (*lshrv1ti3_internal): New define_insn_and_split that lowers
14823 logical right shifts by constant bit counts, that aren't multiples
14824 of 8, before reload.
14825 (ashrv1ti3):: Delay lowering of arithmetic right shifts by
14826 constant bit counts.
14827 (*ashrv1ti3_internal): New define_insn_and_split that lowers
14828 arithmetic right shifts by constant bit counts before reload.
14829 (rotlv1ti3): Delay lowering of rotate left by constant.
14830 (*rotlv1ti3_internal): New define_insn_and_split that lowers
14831 rotate left by constant bits counts before reload.
14832 (rotrv1ti3): Delay lowering of rotate right by constant.
14833 (*rotrv1ti3_internal): New define_insn_and_split that lowers
14834 rotate right by constant bits counts before reload.
14835
14836 2022-08-12 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
14837
14838 * doc/invoke.texi (Arm Options): Document -mcpu=cortex-m55 options.
14839
14840 2022-08-12 Jan Hubicka <hubicka@ucw.cz>
14841
14842 PR middle-end/106057
14843 * ipa-devirt.cc (type_or_derived_type_possibly_instantiated_p): New
14844 function.
14845 (possible_polymorphic_call_targets): Use it.
14846
14847 2022-08-12 Andrew Carlotti <andrew.carlotti@arm.com>
14848
14849 * tree-ssa-loop.h: Improve comment
14850
14851 2022-08-12 Jakub Jelinek <jakub@redhat.com>
14852
14853 PR tree-optimization/106506
14854 * tree-ssa-phiopt.cc (spaceship_replacement): Don't punt for
14855 is_cast or orig_use_lhs cases if phi_bb has 3 predecessors.
14856
14857 2022-08-12 Richard Biener <rguenther@suse.de>
14858
14859 PR tree-optimization/106593
14860 * tree-ssa-threadbackward.cc (back_threader::find_paths):
14861 If the imports from the conditional do not satisfy
14862 gimple_range_ssa_p don't try to thread anything.
14863
14864 2022-08-12 Tamar Christina <tamar.christina@arm.com>
14865
14866 PR target/106524
14867 * config/aarch64/aarch64-sve.md (*fcmuo<mode>_nor_combine,
14868 *fcmuo<mode>_bic_combine): Don't accept comparisons against zero.
14869
14870 2022-08-12 Tim Lange <mail@tim-lange.me>
14871
14872 PR analyzer/106000
14873 * doc/invoke.texi: Add Wanalyzer-out-of-bounds.
14874
14875 2022-08-12 Andrew Pinski <apinski@marvell.com>
14876
14877 * config/aarch64/aarch64.md: Remove comment
14878 about MD_INCLUDES as it is out of date and not needed.
14879
14880 2022-08-11 Richard Biener <rguenther@suse.de>
14881
14882 * gimple-range-path.cc (path_range_query::compute_imports):
14883 Restrict walking SSA defs to blocks inside the path. Track
14884 the same operands as range_def_chain::get_def_chain does.
14885
14886 2022-08-11 Richard Biener <rguenther@suse.de>
14887
14888 PR tree-optimization/106514
14889 * tree-ssa-threadbackward.cc (back_threader::find_paths_to_names):
14890 Compute and unwind both m_imports and interesting on the fly during
14891 path discovery.
14892 (back_threader::find_paths): Compute the original m_imports
14893 from just the SSA uses of the exit conditional. Drop
14894 handling single_succ_to_potentially_threadable_block.
14895 * gimple-range-path.cc (path_range_query::ssa_range_in_phi): Handle
14896 constant PHI arguments without crashing. Use PHI_ARG_DEF_FROM_EDGE.
14897
14898 2022-08-11 Richard Biener <rguenther@suse.de>
14899
14900 * gimple-range-path.h (path_range_query::compute_imports):
14901 Take path as argument, not the exit block.
14902 * gimple-range-path.cc (path_range_query::compute_imports):
14903 Likewise, and adjust, avoiding possibly stale m_path.
14904 (path_range_query::compute_outgoing_relations): Register
14905 relations for all conditionals.
14906 * tree-ssa-threadbackward.cc (back_threader::find_paths):
14907 Adjust.
14908
14909 2022-08-11 Kewen Lin <linkw@linux.ibm.com>
14910
14911 * config/rs6000/rs6000-builtin.cc (rs6000_init_builtins): Fix the
14912 oversight on ENB_CELL by simplifying with rs6000_builtin_is_supported.
14913 (rs6000_expand_builtin): Simplify with rs6000_builtin_is_supported.
14914
14915 2022-08-11 Kewen Lin <linkw@linux.ibm.com>
14916
14917 * config/rs6000/rs6000-internal.h (rs6000_global_entry_point_needed_p):
14918 Remove function declaration.
14919
14920 2022-08-10 Richard Biener <rguenther@suse.de>
14921
14922 PR tree-optimization/106513
14923 * gimple-ssa-store-merging.cc (do_shift_rotate): Use uint64_t
14924 for head_marker.
14925
14926 2022-08-10 Martin Liska <mliska@suse.cz>
14927
14928 PR lto/106328
14929 * opts-jobserver.h (struct jobserver_info): Add pipefd.
14930 (jobserver_info::connect): New.
14931 (jobserver_info::disconnect): Likewise.
14932 (jobserver_info::get_token): Likewise.
14933 (jobserver_info::return_token): Likewise.
14934 * opts-common.cc: Implement the new functions.
14935
14936 2022-08-10 Martin Liska <mliska@suse.cz>
14937
14938 * opts-jobserver.h: Add one member.
14939 * opts-common.cc (jobserver_info::jobserver_info): Parse FIFO
14940 format of --jobserver-auth.
14941
14942 2022-08-10 Martin Liska <mliska@suse.cz>
14943
14944 * gcc.cc (driver::detect_jobserver): Remove and move to
14945 jobserver.h.
14946 * lto-wrapper.cc (jobserver_active_p): Likewise.
14947 (run_gcc): Likewise.
14948 * opts-jobserver.h: New file.
14949 * opts-common.cc (jobserver_info::jobserver_info): New function.
14950
14951 2022-08-09 Roger Sayle <roger@nextmovesoftware.com>
14952
14953 * config/i386/i386-features.cc (scalar_chain::convert_compare):
14954 Create new pseudos only when/if needed. Add support for TEST,
14955 i.e. (COMPARE (AND x y) (const_int 0)), using UNSPEC_PTEST.
14956 When broadcasting V2DImode and V4SImode use new pseudo register.
14957 (timode_scalar_chain::convert_op): Do nothing if operand is
14958 already V1TImode. Avoid generating useless SUBREG conversions,
14959 i.e. (SUBREG:V1TImode (REG:V1TImode) 0). Handle CONST_WIDE_INT
14960 in addition to CONST_INT by using CONST_SCALAR_INT_P.
14961 (convertible_comparison_p): Use CONST_SCALAR_INT_P to match both
14962 CONST_WIDE_INT and CONST_INT. Recognize new *testti_doubleword
14963 pattern as an STV candidate.
14964 (timode_scalar_to_vector_candidate_p): Allow CONST_SCALAR_INT_P
14965 operands in binary logic operations.
14966 * config/i386/i386.cc (ix86_rtx_costs) <case UNSPEC>: Add costs
14967 for UNSPEC_PTEST; a PTEST that performs an AND has the same cost
14968 as regular PTEST, i.e. cost->sse_op.
14969 * config/i386/i386.md (*testti_doubleword): New pre-reload
14970 define_insn_and_split that recognizes comparison of TI mode AND
14971 against zero.
14972 * config/i386/sse.md (*ptest<mode>_and): New pre-reload
14973 define_insn_and_split that recognizes UNSPEC_PTEST of identical
14974 AND operands.
14975
14976 2022-08-09 Roger Sayle <roger@nextmovesoftware.com>
14977 Richard Biener <rguenther@suse.de>
14978
14979 PR middle-end/21137
14980 PR tree-optimization/98954
14981 * fold-const.cc (fold_binary_loc): Remove optimizations to
14982 optimize ((X >> C1) & C2) ==/!= 0.
14983 * match.pd (cmp (bit_and (lshift @0 @1) @2) @3): Remove wi::ctz
14984 check, and handle all values of INTEGER_CSTs @2 and @3.
14985 (cmp (bit_and (rshift @0 @1) @2) @3): Likewise, remove wi::clz
14986 checks, and handle all values of INTEGER_CSTs @2 and @3.
14987
14988 2022-08-09 David Malcolm <dmalcolm@redhat.com>
14989
14990 * doc/invoke.texi (Static Analyzer Options): Add notes on which
14991 functions the analyzer has hardcoded knowledge of.
14992
14993 2022-08-09 Andrew Stubbs <ams@codesourcery.com>
14994
14995 * config/gcn/gcn.cc (gcn_function_value): Allow vector return values.
14996 (num_arg_regs): Allow vector arguments.
14997 (gcn_function_arg): Likewise.
14998 (gcn_function_arg_advance): Likewise.
14999 (gcn_arg_partial_bytes): Likewise.
15000 (gcn_return_in_memory): Likewise.
15001 (gcn_expand_epilogue): Get return value from v8.
15002 * config/gcn/gcn.h (RETURN_VALUE_REG): Set to v8.
15003 (FIRST_PARM_REG): USE FIRST_SGPR_REG for clarity.
15004 (FIRST_VPARM_REG): New.
15005 (FUNCTION_ARG_REGNO_P): Allow vector parameters.
15006 (struct gcn_args): Add vnum field.
15007 (LIBCALL_VALUE): All vector return values.
15008 * config/gcn/gcn.md (gcn_call_value): Add vector constraints.
15009 (gcn_call_value_indirect): Likewise.
15010
15011 2022-08-09 Richard Biener <rguenther@suse.de>
15012
15013 * omp-expand.cc (expand_omp_atomic_load): Emit GIMPLE
15014 directly. Avoid update_ssa when in SSA form.
15015 (expand_omp_atomic_store): Likewise.
15016 (expand_omp_atomic_fetch_op): Avoid update_ssa when in SSA
15017 form.
15018 (expand_omp_atomic_pipeline): Likewise.
15019 (expand_omp_atomic_mutex): Likewise.
15020 * tree-parloops.cc (gen_parallel_loop): Use
15021 TODO_update_ssa_no_phi after loop_version.
15022
15023 2022-08-09 Richard Biener <rguenther@suse.de>
15024
15025 * doc/invoke.texi (max-fsm-thread-length): Remove.
15026 * params.opt (max-fsm-thread-length): Likewise.
15027 * tree-ssa-threadbackward.cc
15028 (back_threader_profitability::profitable_path_p): Do not
15029 check max-fsm-thread-length.
15030
15031 2022-08-09 Richard Biener <rguenther@suse.de>
15032
15033 PR tree-optimization/106514
15034 * params.opt (max-jump-thread-paths): New.
15035 * doc/invoke.texi (max-jump-thread-paths): Document.
15036 * tree-ssa-threadbackward.cc (back_threader::find_paths_to_names):
15037 Honor max-jump-thread-paths, take overall_path argument.
15038 (back_threader::find_paths): Pass 1 as initial overall_path.
15039
15040 2022-08-09 Tobias Burnus <tobias@codesourcery.com>
15041
15042 PR middle-end/106492
15043 * omp-low.cc (lower_rec_input_clauses): Add missing folding
15044 to data type of linear-clause list item.
15045
15046 2022-08-08 Andrew MacLeod <amacleod@redhat.com>
15047
15048 PR tree-optimization/106556
15049 * gimple-range-gori.cc (gori_compute::condexpr_adjust): Use the
15050 type of the cond_expr operands being evaluted.
15051
15052 2022-08-08 Tom Honermann <tom@honermann.net>
15053
15054 * ginclude/stdatomic.h (atomic_char8_t,
15055 ATOMIC_CHAR8_T_LOCK_FREE): New typedef and macro.
15056
15057 2022-08-08 Andrew Pinski <apinski@marvell.com>
15058
15059 PR middle-end/103645
15060 * gimplify.cc (gimplify_init_constructor): Don't build/add
15061 gimple assignment of an empty type.
15062
15063 2022-08-08 Richard Biener <rguenther@suse.de>
15064
15065 PR lto/106540
15066 PR lto/106334
15067 * dwarf2out.cc (dwarf2out_register_external_die): Restore
15068 original assert.
15069 * lto-streamer-in.cc (lto_read_tree_1): Use lto_input_tree_1
15070 to input DECL_INITIAL, avoiding to commit drefs.
15071
15072 2022-08-07 Roger Sayle <roger@nextmovesoftware.com>
15073
15074 * config/i386/i386.md (*cmp<dwi>_doubleword): Change predicate
15075 for x86_64_hilo_general_operand to general operand. Call
15076 force_reg on parts that are not x86_64_immediate_operand.
15077
15078 2022-08-05 David Malcolm <dmalcolm@redhat.com>
15079
15080 PR analyzer/105947
15081 * doc/invoke.texi: Add -Wanalyzer-jump-through-null.
15082
15083 2022-08-05 Roger Sayle <roger@nextmovesoftware.com>
15084
15085 * expmed.cc (emit_store_flag_1): Move code to expand double word
15086 equality and inequality against zero or -1, using word operations,
15087 to after trying to use the backend's cstore<mode>4 optab/expander.
15088
15089 2022-08-05 Tamar Christina <tamar.christina@arm.com>
15090
15091 PR middle-end/106534
15092 * tree-ssa-phiopt.cc (tree_ssa_phiopt_worker): Guard the
15093 value_replacement and store_elim from diamonds.
15094
15095 2022-08-05 Richard Biener <rguenther@suse.de>
15096
15097 * tree-ssa-threadbackward.cc (back_threader::maybe_register_path):
15098 Check whether the registry register_path rejected the path.
15099 (back_threader_registry::register_path): Return whether
15100 register_jump_thread succeeded.
15101
15102 2022-08-05 Aldy Hernandez <aldyh@redhat.com>
15103
15104 PR tree-optimization/106514
15105 * value-range.cc (unsupported_range::unsupported_range): Move...
15106 * value-range.h (unsupported_range::unsupported_range): ...here.
15107 (unsupported_range::set_undefined): New.
15108
15109 2022-08-05 Richard Biener <rguenther@suse.de>
15110
15111 PR tree-optimization/106533
15112 * tree-loop-distribution.cc (loop_distribution::execute): Continue
15113 analyzing the inner loops when find_seed_stmts_for_distribution
15114 fails.
15115
15116 2022-08-05 Andrew Pinski <apinski@marvell.com>
15117
15118 * config/riscv/predicates.md (splittable_const_int_operand):
15119 Remove the check for TARGET_64BIT for single bit const values.
15120
15121 2022-08-04 Andrew MacLeod <amacleod@redhat.com>
15122
15123 PR tree-optimization/106514
15124 * gimple-range-path.cc (path_range_query::compute_ranges_in_block):
15125 Use EXECUTE_IF_AND_IN_BITMAP to loop over 2 bitmaps.
15126
15127 2022-08-04 Tamar Christina <tamar.christina@arm.com>
15128
15129 * match.pd: New bit_not rule.
15130
15131 2022-08-04 Tamar Christina <tamar.christina@arm.com>
15132
15133 PR middle-end/106519
15134 * tree-ssa-phiopt.cc (tree_ssa_phiopt_worker): Check final phi edge for
15135 diamond shapes.
15136
15137 2022-08-04 Sam Feifer <sfeifer@redhat.com>
15138
15139 PR tree-optimization/106243
15140 * match.pd (-x & 1): New simplification.
15141
15142 2022-08-04 Richard Biener <rguenther@suse.de>
15143
15144 PR tree-optimization/106521
15145 * gimple-loop-jam.cc (tree_loop_unroll_and_jam): Perform
15146 CFG cleanup manually before rewriting into LC SSA.
15147
15148 2022-08-04 Richard Biener <rguenther@suse.de>
15149
15150 * tree-ssa-threadbackward.cc (populate_worklist): Remove.
15151 (back_threader::resolve_phi): Likewise.
15152 (back_threader::find_paths_to_names): Rewrite greedy search.
15153
15154 2022-08-04 Ilya Leoshkevich <iii@linux.ibm.com>
15155
15156 * config/s390/vector.md (V_HW_FT): New iterator.
15157 * config/s390/vx-builtins.md (vsel<mode>): Use V_HW_FT instead
15158 of V_HW.
15159
15160 2022-08-03 Michael Meissner <meissner@linux.ibm.com>
15161
15162 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Remove code
15163 setting -mblock-ops-vector-pair.
15164
15165 2022-08-03 Andrew MacLeod <amacleod@redhat.com>
15166
15167 PR tree-optimization/106514
15168 * value-relation.cc (path_oracle::killing_def) Do not walk the
15169 equivalence set clearing bits.
15170
15171 2022-08-03 Tamar Christina <tamar.christina@arm.com>
15172
15173 * tree-ssa-phiopt.cc (minmax_replacement): Optionally search for the phi
15174 sequence of a three-way conditional.
15175 (replace_phi_edge_with_variable): Support diamonds.
15176 (tree_ssa_phiopt_worker): Detect diamond phi structure for three-way
15177 min/max.
15178 (strip_bit_not, invert_minmax_code): New.
15179
15180 2022-08-03 Richard Earnshaw <rearnsha@arm.com>
15181
15182 PR rtl-optimization/106187
15183 * alias.h (mems_same_for_tbaa_p): Declare.
15184 * alias.cc (mems_same_for_tbaa_p): New function.
15185 * dse.cc (record_store): Use it instead of open-coding
15186 alias check.
15187 * cselib.h (cselib_redundant_set_p): Declare.
15188 * cselib.cc: Include alias.h
15189 (cselib_redundant_set_p): New function.
15190 * cfgcleanup.cc: (mark_effect): Use cselib_redundant_set_p instead
15191 of rtx_equal_for_cselib_p.
15192 * postreload.cc (reload_cse_simplify): Use cselib_redundant_set_p.
15193 (reload_cse_noop_set_p): Delete.
15194
15195 2022-08-03 Martin Liska <mliska@suse.cz>
15196
15197 * doc/gcov-dump.texi: Document the new option.
15198 * gcov-dump.cc (main): Parse the new option.
15199 (print_usage): Show the option.
15200 (tag_counters): Sort key:value pairs of TOP N counter.
15201
15202 2022-08-03 Martin Liska <mliska@suse.cz>
15203
15204 * profile.cc (compute_branch_probabilities): Do not collect
15205 stats unless TDF_DETAILS.
15206
15207 2022-08-03 Roger Sayle <roger@nextmovesoftware.com>
15208 Uroš Bizjak <ubizjak@gmail.com>
15209
15210 PR target/47949
15211 * config/i386/i386.md (peephole2): New peephole2 to convert
15212 SWI48 moves to/from %rax/%eax where the src is dead to xchg,
15213 when optimizing for minimal size with -Oz.
15214
15215 2022-08-03 Roger Sayle <roger@nextmovesoftware.com>
15216
15217 * config/i386/i386.md (*cmp<dwi>_doubleword): Add a special case
15218 to split comparisons against -1 using AND and CMP -1 instructions.
15219
15220 2022-08-03 Roger Sayle <roger@nextmovesoftware.com>
15221
15222 * config/i386/i386-features.cc (compute_convert_gain): Add gain
15223 for converting suitable TImode shift to a V1TImode shift.
15224 (timode_scalar_chain::convert_insn): Add support for converting
15225 suitable ASHIFT and LSHIFTRT.
15226 (timode_scalar_to_vector_candidate_p): Consider logical shifts
15227 by integer constants that are multiples of 8 to be candidates.
15228
15229 2022-08-03 Roger Sayle <roger@nextmovesoftware.com>
15230 Segher Boessenkool <segher@kernel.crashing.org>
15231 Richard Sandiford <richard.sandiford@arm.com>
15232
15233 * simplify-rtx.cc (simplify_unary_operation_1) <ABS>: Add
15234 optimizations for CLRSB, PARITY, POPCOUNT, SS_ABS and LSHIFTRT
15235 that are all positive to complement the existing FFS and
15236 idempotent ABS simplifications.
15237 <SIGN_EXTEND>: Canonicalize SIGN_EXTEND to ZERO_EXTEND when
15238 val_signbit_known_clear_p is true of the operand.
15239 Simplify sign extensions of SUBREG truncations of operands
15240 that are already suitably (zero) extended.
15241 <ZERO_EXTEND>: Simplify zero extensions of SUBREG truncations
15242 of operands that are already suitably zero extended.
15243
15244 2022-08-02 Andrew MacLeod <amacleod@redhat.com>
15245
15246 PR tree-optimization/106510
15247 * gimple-range-fold.cc (fur_source::register_outgoing_edges):
15248 Check for unsupported statements early.
15249
15250 2022-08-02 Andrew MacLeod <amacleod@redhat.com>
15251
15252 PR tree-optimization/106474
15253 * gimple-range-cache.cc (ranger_cache::fill_block_cache): Query
15254 range of equivalences that may contribute to the range.
15255
15256 2022-08-02 Jose E. Marchesi <jose.marchesi@oracle.com>
15257
15258 * btfout.cc (output_asm_btf_vlen_bytes): Do not use the CHAR
15259 encoding bit in BTF.
15260
15261 2022-08-02 Aldy Hernandez <aldyh@redhat.com>
15262
15263 * gimple-range-fold.cc (fold_using_range::range_of_phi): Remove
15264 irange check.
15265 (tree_lower_bound): New.
15266 (tree_upper_bound): New.
15267 (fold_using_range::range_of_ssa_name_with_loop_info): Convert to
15268 vrange.
15269 * gimple-range-fold.h (range_of_ssa_name_with_loop_info): Change
15270 argument to vrange.
15271
15272 2022-08-02 Richard Biener <rguenther@suse.de>
15273
15274 * tree-ssa-threadbackward.cc
15275 (back_threader_profitability::profitable_path_p): Apply
15276 size constraints to all paths again.
15277
15278 2022-08-02 Aldy Hernandez <aldyh@redhat.com>
15279
15280 * range-op-float.cc (finite_operands_p): New.
15281 (frelop_early_resolve): New.
15282 (default_frelop_fold_range): New.
15283 (class foperator_equal): New.
15284 (class foperator_not_equal): New.
15285 (class foperator_lt): New.
15286 (class foperator_le): New.
15287 (class foperator_gt): New.
15288 (class foperator_ge): New.
15289 (class foperator_unordered): New.
15290 (class foperator_ordered): New.
15291 (class foperator_relop_unknown): New.
15292 (floating_op_table::floating_op_table): Add above classes to
15293 floating op table.
15294 * value-range.h (frange::supports_p): Enable.
15295
15296 2022-08-02 Aldy Hernandez <aldyh@redhat.com>
15297
15298 * tree-core.h (struct tree_ssa_name): Add frange_info and
15299 reshuffle the rest.
15300 * value-range-storage.cc (vrange_storage::alloc_slot): Add case
15301 for frange.
15302 (vrange_storage::set_vrange): Same.
15303 (vrange_storage::get_vrange): Same.
15304 (vrange_storage::fits_p): Same.
15305 (frange_storage_slot::alloc_slot): New.
15306 (frange_storage_slot::set_frange): New.
15307 (frange_storage_slot::get_frange): New.
15308 (frange_storage_slot::fits_p): New.
15309 * value-range-storage.h (class frange_storage_slot): New.
15310
15311 2022-08-02 Aldy Hernandez <aldyh@redhat.com>
15312
15313 * ipa-prop.cc (ipa_compute_jump_functions_for_edge): Limit ranger
15314 query to integrals.
15315
15316 2022-08-02 Aldy Hernandez <aldyh@redhat.com>
15317
15318 * value-range.cc (frange::set): Initialize m_props and cleanup.
15319
15320 2022-08-02 Richard Biener <rguenther@suse.de>
15321
15322 PR tree-optimization/106497
15323 * tree-ssa-threadupdate.cc (fwd_jt_path_registry::update_cfg):
15324 Also verify we can copy EDGE_COPY_SRC_JOINER_BLOCK.
15325
15326 2022-08-02 Martin Liska <mliska@suse.cz>
15327
15328 * profile.cc (compute_branch_probabilities): Dump details only
15329 if TDF_DETAILS.
15330 * symtab.cc (symtab_node::dump_base): Do not dump pointer unless
15331 TDF_ADDRESS is used, it makes comparison harder.
15332
15333 2022-08-02 Richard Biener <rguenther@suse.de>
15334
15335 PR tree-optimization/106498
15336 * omp-expand.cc (expand_omp_taskreg): Do not perform virtual
15337 SSA update here.
15338 (expand_omp_for): Or here.
15339 (execute_expand_omp): Instead schedule it here together
15340 with CFG cleanup via TODO.
15341
15342 2022-08-02 Richard Biener <rguenther@suse.de>
15343
15344 PR lto/106334
15345 * dwarf2out.cc (dwarf2out_register_external_die): Adjust
15346 assert.
15347
15348 2022-08-02 Richard Biener <rguenther@suse.de>
15349
15350 PR tree-optimization/106495
15351 * tree-ssa-threadbackward.cc
15352 (back_threader_profitability::profitable_path_p): If known_edge
15353 is probably never executed avoid threading.
15354
15355 2022-08-01 David Malcolm <dmalcolm@redhat.com>
15356
15357 * doc/invoke.texi (-Wanalyzer-putenv-of-auto-var): Fix copy&paste
15358 error.
15359
15360 2022-08-01 Roger Sayle <roger@nextmovesoftware.com>
15361 Uroš Bizjak <ubizjak@gmail.com>
15362
15363 PR target/106481
15364 * config/i386/i386-features.cc (timode_scalar_chain::convert_insn):
15365 Convert a CONST_SCALAR_INT_P in a REG_EQUAL note into a V1TImode
15366 CONST_VECTOR.
15367
15368 2022-08-01 H.J. Lu <hjl.tools@gmail.com>
15369
15370 PR target/83782
15371 * config/i386/i386.cc (ix86_ifunc_ref_local_ok): New.
15372 (TARGET_IFUNC_REF_LOCAL_OK): Use it.
15373
15374 2022-08-01 Jose E. Marchesi <jose.marchesi@oracle.com>
15375
15376 PR debug/106263
15377 * ctfc.h (struct ctf_dtdef): Add field linkage.
15378 * ctfc.cc (ctf_add_function): Set ctti_linkage.
15379 * dwarf2ctf.cc (gen_ctf_function_type): Pass a linkage for
15380 function types and subprograms.
15381 * btfout.cc (btf_asm_func_type): Emit linkage information for the
15382 function.
15383 (btf_dtd_emit_preprocess_cb): Propagate the linkage information
15384 for functions.
15385
15386 2022-08-01 Andrew Stubbs <ams@codesourcery.com>
15387 Jakub Jelinek <jakub@redhat.com>
15388
15389 * omp-simd-clone.cc (simd_clone_adjust): Convert shift_cnt to match
15390 the mask type.
15391
15392 2022-08-01 Sam Feifer <sfeifer@redhat.com>
15393
15394 PR tree-optimization/104992
15395 * match.pd (x / y * y == x): New simplification.
15396
15397 2022-08-01 Aldy Hernandez <aldyh@redhat.com>
15398
15399 * value-range.cc (tree_compare): New.
15400 (frange::set): Make more general.
15401 (frange::normalize_kind): Cleanup and return bool.
15402 (frange::union_): Use normalize_kind return value.
15403 (frange::intersect): Same.
15404 (frange::verify_range): Remove unnecessary else.
15405 * value-range.h (vrp_val_max): Move before frange class.
15406 (vrp_val_min): Same.
15407 (frange::frange): Remove set to m_type.
15408
15409 2022-08-01 Aldy Hernandez <aldyh@redhat.com>
15410
15411 * value-range.cc (vrange::supports_type_p): Use const_tree.
15412 (irange::supports_type_p): Same.
15413 (frange::supports_type_p): Same.
15414 * value-range.h (Value_Range::supports_type_p): Same.
15415 (irange::supports_p): Same.
15416
15417 2022-08-01 Aldy Hernandez <aldyh@redhat.com>
15418
15419 * gimple-range-fold.cc (fold_using_range::range_of_phi): Only
15420 query SCEV for integers.
15421 (fold_using_range::range_of_ssa_name_with_loop_info): Remove
15422 irange check.
15423
15424 2022-07-31 Roger Sayle <roger@nextmovesoftware.com>
15425
15426 * config/i386/i386.md (define_expand <any_rotate>ti3): For
15427 rotations by 64 bits use new rot[lr]64ti2_doubleword pattern.
15428 (rot[lr]64ti2_doubleword): New post-reload splitter.
15429
15430 2022-07-31 Roger Sayle <roger@nextmovesoftware.com>
15431 H.J. Lu <hjl.tools@gmail.com>
15432
15433 PR target/106450
15434 * config/i386/i386-features.cc (timode_check_non_convertible_regs):
15435 Do nothing if REGNO is set in the REGS bitmap, or is a hard reg.
15436 (timode_remove_non_convertible_regs): Update comment.
15437 Call timode_check_non_convertible_reg on all TImode register
15438 DEFs and USEs in each instruction.
15439
15440 2022-07-30 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
15441
15442 * config/xtensa/xtensa.md: Change hard register number used in
15443 the split patterns for indirect sibling call fixups from 10 to 11,
15444 the last free one for the CALL0 ABI.
15445
15446 2022-07-30 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
15447
15448 * config/xtensa/xtensa.cc (xtensa_rtx_costs):
15449 Add new case for IF_THEN_ELSE.
15450
15451 2022-07-29 Andrew Stubbs <ams@codesourcery.com>
15452
15453 * config/gcn/gcn-valu.md (V_INT_noHI): New iterator.
15454 (<expander><mode>3<exec>): Use V_INT_noHI.
15455 (v<expander><mode>3<exec>): Likewise.
15456
15457 2022-07-29 Andrew Stubbs <ams@codesourcery.com>
15458
15459 * config/gcn/gcn.md (one_cmpldi2): New.
15460
15461 2022-07-29 Richard Biener <rguenther@suse.de>
15462
15463 PR tree-optimization/105679
15464 * tree-ssa-threadbackward.cc
15465 (back_threader_profitability::profitable_path_p): Avoid threading
15466 when the entry edge is probably never executed.
15467
15468 2022-07-29 Richard Biener <rguenther@suse.de>
15469
15470 PR tree-optimization/106422
15471 * tree-ssa-threadupdate.cc (fwd_jt_path_registry::update_cfg):
15472 Check whether we can copy thread blocks and cancel the thread if not.
15473
15474 2022-07-29 Jakub Jelinek <jakub@redhat.com>
15475
15476 PR middle-end/106449
15477 * omp-expand.cc (expand_omp_simd): Fix up handling of pointer
15478 iterators in non-rectangular simd loops. Unshare fd->loops[i].n2
15479 or n2 before regimplifying it inside of a condition.
15480
15481 2022-07-29 Jakub Jelinek <jakub@redhat.com>
15482
15483 * omp-expand.cc (expand_omp_for_init_counts, expand_omp_for_init_vars,
15484 extract_omp_for_update_vars, expand_omp_for_ordered_loops,
15485 expand_omp_simd): Don't fold_convert second argument to
15486 fold_build_pointer_plus to sizetype.
15487
15488 2022-07-29 Lulu Cheng <chenglulu@loongson.cn>
15489
15490 * config.in: Regenerate.
15491 * config/loongarch/loongarch.h (ASM_PREFERRED_EH_DATA_FORMAT):
15492 Select the value of the macro definition according to whether
15493 HAVE_AS_EH_FRAME_PCREL_ENCODING_SUPPORT is defined.
15494 * configure: Regenerate.
15495 * configure.ac: Reinstate HAVE_AS_EH_FRAME_PCREL_ENCODING_SUPPORT test.
15496
15497 2022-07-29 Richard Biener <rguenther@suse.de>
15498
15499 * gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset):
15500 Use CONVERT_EXPR_CODE_P.
15501
15502 2022-07-29 Richard Biener <rguenther@suse.de>
15503
15504 * tree-vect-patterns.cc (vect_recog_bool_pattern): Use
15505 get_vectype_for_scalar_type instead of
15506 vect_get_vector_types_for_stmt.
15507
15508 2022-07-28 David Malcolm <dmalcolm@redhat.com>
15509
15510 PR analyzer/105893
15511 * doc/invoke.texi: Add -Wanalyzer-putenv-of-auto-var.
15512
15513 2022-07-28 David Malcolm <dmalcolm@redhat.com>
15514
15515 * doc/invoke.texi (-fdiagnostics-show-cwe): Use uref rather than
15516 url.
15517 (Static Analyzer Options): Likewise. Add urefs for all of the
15518 warnings that have associated CWE identifiers.
15519
15520 2022-07-28 Maciej W. Rozycki <macro@embecosm.com>
15521
15522 * doc/implement-c.texi (Floating point implementation): Mention
15523 `-fno-trapping-math' in the context of FENV_ACCESS pragma.
15524 * doc/invoke.texi (Optimize Options): Clarify FENV_ACCESS pragma
15525 implication in the descriptions of `-fno-trapping-math' and
15526 `-frounding-math'.
15527
15528 2022-07-28 Maciej W. Rozycki <macro@embecosm.com>
15529
15530 * config/riscv/riscv.md (UNSPECV_FSNVSNAN): New constant.
15531 (QUIET_PATTERN): New int attribute.
15532 (f<quiet_pattern>_quiet<ANYF:mode><X:mode>4): Emit the intended
15533 RTL insns entirely within the preparation statements.
15534 (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_default)
15535 (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_snan): Remove
15536 insns.
15537 (*riscv_fsnvsnan<mode>2): New insn.
15538
15539 2022-07-28 Richard Biener <rguenther@suse.de>
15540
15541 PR middle-end/106457
15542 * tree.cc (array_at_struct_end_p): Handle array objects
15543 specially.
15544
15545 2022-07-28 Jakub Jelinek <jakub@redhat.com>
15546
15547 PR tree-optimization/106099
15548 * internal-fn.def (TRAP): New internal fn.
15549 * internal-fn.h (expand_TRAP): Declare.
15550 * internal-fn.cc (expand_TRAP): Define.
15551 * gimple.cc (gimple_build_builtin_unreachable): For BUILT_IN_TRAP,
15552 use internal fn rather than builtin.
15553
15554 2022-07-27 Andrew Carlotti <andrew.carlotti@arm.com>
15555
15556 * doc/loop.texi: Refer to LOOPS_HAVE_RECORDED_EXITS instead.
15557
15558 2022-07-27 WANG Xuerui <i@xen0n.name>
15559
15560 * doc/invoke.texi: Document -m[no-]explicit-relocs for
15561 LoongArch.
15562
15563 2022-07-27 Maciej W. Rozycki <macro@embecosm.com>
15564
15565 * config/riscv/riscv.md (stack_protect_set_<mode>): Remove
15566 duplicate backslashes.
15567
15568 2022-07-27 Maciej W. Rozycki <macro@embecosm.com>
15569
15570 * config/riscv/riscv.cc (riscv_rtx_costs) <IF_THEN_ELSE>: New
15571 case.
15572
15573 2022-07-27 Jakub Jelinek <jakub@redhat.com>
15574
15575 PR debug/106261
15576 * cgraphunit.cc (cgraph_node::assemble_thunks_and_aliases): Don't
15577 output asm thunks for -dx.
15578
15579 2022-07-27 Jakub Jelinek <jakub@redhat.com>
15580
15581 PR middle-end/106332
15582 * opts-common.cc (candidates_list_and_hint): Add gcc_assert
15583 that candidates is not an empty vector.
15584
15585 2022-07-27 Xi Ruoyao <xry111@xry111.site>
15586
15587 * configure.ac (HAVE_AS_EXPLICIT_RELOCS): Define to 1 if the
15588 assembler supports explicit relocation for LoongArch.
15589 * configure: Regenerate.
15590 * config/loongarch/loongarch-opts.h (HAVE_AS_EXPLICIT_RELOCS):
15591 Define to 0 if not defined.
15592 * config/loongarch/genopts/loongarch.opt.in
15593 (TARGET_EXPLICIT_RELOCS): Default to HAVE_AS_EXPLICIT_RELOCS.
15594 * config/loongarch/loongarch.opt: Regenerate.
15595
15596 2022-07-26 Peter Bergner <bergner@linux.ibm.com>
15597
15598 PR c/106016
15599 * expr.cc (count_type_elements): Handle OPAQUE_TYPE.
15600
15601 2022-07-26 Lulu Cheng <chenglulu@loongson.cn>
15602
15603 * config/loongarch/loongarch-opts.cc: Modify the output message string
15604 of the warning.
15605
15606 2022-07-26 Martin Liska <mliska@suse.cz>
15607
15608 * doc/tm.texi.in: Fix placement of defmac.
15609 * doc/tm.texi: Copy.
15610
15611 2022-07-26 Martin Liska <mliska@suse.cz>
15612
15613 * doc/tm.texi.in: Fix cross @defmac and @hook.
15614 * doc/tm.texi: Copy.
15615
15616 2022-07-26 Aldy Hernandez <aldyh@redhat.com>
15617
15618 PR tree-optimization/106444
15619 * value-range-pretty-print.cc (vrange_printer::visit): Handle
15620 legacy ranges.
15621 (vrange_printer::print_irange_bound): Work on wide_int's.
15622 * value-range-pretty-print.h (print_irange_bound): Same.
15623 * value-range.cc (irange::get_nonzero_bits): Handle legacy ranges.
15624
15625 2022-07-26 Richard Biener <rguenther@suse.de>
15626
15627 * tree-ssa-alias.cc (ptr_derefs_may_alias_p): If ptr1
15628 points to a constant continue checking ptr2.
15629
15630 2022-07-26 Andrew Carlotti <Andrew.Carlotti@arm.com>
15631
15632 * config/aarch64/aarch64-builtins.cc
15633 (MODE_d_bf16, MODE_d_f16, MODE_d_f32, MODE_d_f64, MODE_d_s8)
15634 (MODE_d_s16, MODE_d_s32, MODE_d_s64, MODE_d_u8, MODE_d_u16)
15635 (MODE_d_u32, MODE_d_u64, MODE_d_p8, MODE_d_p16, MODE_d_p64)
15636 (MODE_q_bf16, MODE_q_f16, MODE_q_f32, MODE_q_f64, MODE_q_s8)
15637 (MODE_q_s16, MODE_q_s32, MODE_q_s64, MODE_q_u8, MODE_q_u16)
15638 (MODE_q_u32, MODE_q_u64, MODE_q_p8, MODE_q_p16, MODE_q_p64)
15639 (MODE_q_p128): Define macro to map to corresponding mode name.
15640 (QUAL_bf16, QUAL_f16, QUAL_f32, QUAL_f64, QUAL_s8, QUAL_s16)
15641 (QUAL_s32, QUAL_s64, QUAL_u8, QUAL_u16, QUAL_u32, QUAL_u64)
15642 (QUAL_p8, QUAL_p16, QUAL_p64, QUAL_p128): Define macro to map to
15643 corresponding qualifier name.
15644 (LENGTH_d, LENGTH_q): Define macro to map to "" or "q" suffix.
15645 (SIMD_INTR_MODE, SIMD_INTR_QUAL, SIMD_INTR_LENGTH_CHAR): Macro
15646 functions for the above mappings
15647 (VREINTERPRET_BUILTIN2, VREINTERPRET_BUILTINS1, VREINTERPRET_BUILTINS)
15648 (VREINTERPRETQ_BUILTIN2, VREINTERPRETQ_BUILTINS1)
15649 (VREINTERPRETQ_BUILTINS, VREINTERPRET_BUILTIN)
15650 (AARCH64_SIMD_VREINTERPRET_BUILTINS): New macros to create definitions
15651 for all vreinterpret intrinsics
15652 (enum aarch64_builtins): Add vreinterpret function codes
15653 (aarch64_init_simd_intrinsics): New
15654 (handle_arm_neon_h): Improved comment.
15655 (aarch64_general_fold_builtin): Fold vreinterpret calls
15656 * config/aarch64/arm_neon.h
15657 (vreinterpret_p8_f16, vreinterpret_p8_f64, vreinterpret_p8_s8)
15658 (vreinterpret_p8_s16, vreinterpret_p8_s32, vreinterpret_p8_s64)
15659 (vreinterpret_p8_f32, vreinterpret_p8_u8, vreinterpret_p8_u16)
15660 (vreinterpret_p8_u32, vreinterpret_p8_u64, vreinterpret_p8_p16)
15661 (vreinterpret_p8_p64, vreinterpretq_p8_f64, vreinterpretq_p8_s8)
15662 (vreinterpretq_p8_s16, vreinterpretq_p8_s32, vreinterpretq_p8_s64)
15663 (vreinterpretq_p8_f16, vreinterpretq_p8_f32, vreinterpretq_p8_u8)
15664 (vreinterpretq_p8_u16, vreinterpretq_p8_u32, vreinterpretq_p8_u64)
15665 (vreinterpretq_p8_p16, vreinterpretq_p8_p64, vreinterpretq_p8_p128)
15666 (vreinterpret_p16_f16, vreinterpret_p16_f64, vreinterpret_p16_s8)
15667 (vreinterpret_p16_s16, vreinterpret_p16_s32, vreinterpret_p16_s64)
15668 (vreinterpret_p16_f32, vreinterpret_p16_u8, vreinterpret_p16_u16)
15669 (vreinterpret_p16_u32, vreinterpret_p16_u64, vreinterpret_p16_p8)
15670 (vreinterpret_p16_p64, vreinterpretq_p16_f64, vreinterpretq_p16_s8)
15671 (vreinterpretq_p16_s16, vreinterpretq_p16_s32, vreinterpretq_p16_s64)
15672 (vreinterpretq_p16_f16, vreinterpretq_p16_f32, vreinterpretq_p16_u8)
15673 (vreinterpretq_p16_u16, vreinterpretq_p16_u32, vreinterpretq_p16_u64)
15674 (vreinterpretq_p16_p8, vreinterpretq_p16_p64, vreinterpretq_p16_p128)
15675 (vreinterpret_p64_f16, vreinterpret_p64_f64, vreinterpret_p64_s8)
15676 (vreinterpret_p64_s16, vreinterpret_p64_s32, vreinterpret_p64_s64)
15677 (vreinterpret_p64_f32, vreinterpret_p64_u8, vreinterpret_p64_u16)
15678 (vreinterpret_p64_u32, vreinterpret_p64_u64, vreinterpret_p64_p8)
15679 (vreinterpret_p64_p16, vreinterpretq_p64_f64, vreinterpretq_p64_s8)
15680 (vreinterpretq_p64_s16, vreinterpretq_p64_s32, vreinterpretq_p64_s64)
15681 (vreinterpretq_p64_f16, vreinterpretq_p64_f32, vreinterpretq_p64_p128)
15682 (vreinterpretq_p64_u8, vreinterpretq_p64_u16, vreinterpretq_p64_p16)
15683 (vreinterpretq_p64_u32, vreinterpretq_p64_u64, vreinterpretq_p64_p8)
15684 (vreinterpretq_p128_p8, vreinterpretq_p128_p16, vreinterpretq_p128_f16)
15685 (vreinterpretq_p128_f32, vreinterpretq_p128_p64, vreinterpretq_p128_s64)
15686 (vreinterpretq_p128_u64, vreinterpretq_p128_s8, vreinterpretq_p128_s16)
15687 (vreinterpretq_p128_s32, vreinterpretq_p128_u8, vreinterpretq_p128_u16)
15688 (vreinterpretq_p128_u32, vreinterpret_f16_f64, vreinterpret_f16_s8)
15689 (vreinterpret_f16_s16, vreinterpret_f16_s32, vreinterpret_f16_s64)
15690 (vreinterpret_f16_f32, vreinterpret_f16_u8, vreinterpret_f16_u16)
15691 (vreinterpret_f16_u32, vreinterpret_f16_u64, vreinterpret_f16_p8)
15692 (vreinterpret_f16_p16, vreinterpret_f16_p64, vreinterpretq_f16_f64)
15693 (vreinterpretq_f16_s8, vreinterpretq_f16_s16, vreinterpretq_f16_s32)
15694 (vreinterpretq_f16_s64, vreinterpretq_f16_f32, vreinterpretq_f16_u8)
15695 (vreinterpretq_f16_u16, vreinterpretq_f16_u32, vreinterpretq_f16_u64)
15696 (vreinterpretq_f16_p8, vreinterpretq_f16_p128, vreinterpretq_f16_p16)
15697 (vreinterpretq_f16_p64, vreinterpret_f32_f16, vreinterpret_f32_f64)
15698 (vreinterpret_f32_s8, vreinterpret_f32_s16, vreinterpret_f32_s32)
15699 (vreinterpret_f32_s64, vreinterpret_f32_u8, vreinterpret_f32_u16)
15700 (vreinterpret_f32_u32, vreinterpret_f32_u64, vreinterpret_f32_p8)
15701 (vreinterpret_f32_p16, vreinterpret_f32_p64, vreinterpretq_f32_f16)
15702 (vreinterpretq_f32_f64, vreinterpretq_f32_s8, vreinterpretq_f32_s16)
15703 (vreinterpretq_f32_s32, vreinterpretq_f32_s64, vreinterpretq_f32_u8)
15704 (vreinterpretq_f32_u16, vreinterpretq_f32_u32, vreinterpretq_f32_u64)
15705 (vreinterpretq_f32_p8, vreinterpretq_f32_p16, vreinterpretq_f32_p64)
15706 (vreinterpretq_f32_p128, vreinterpret_f64_f16, vreinterpret_f64_f32)
15707 (vreinterpret_f64_p8, vreinterpret_f64_p16, vreinterpret_f64_p64)
15708 (vreinterpret_f64_s8, vreinterpret_f64_s16, vreinterpret_f64_s32)
15709 (vreinterpret_f64_s64, vreinterpret_f64_u8, vreinterpret_f64_u16)
15710 (vreinterpret_f64_u32, vreinterpret_f64_u64, vreinterpretq_f64_f16)
15711 (vreinterpretq_f64_f32, vreinterpretq_f64_p8, vreinterpretq_f64_p16)
15712 (vreinterpretq_f64_p64, vreinterpretq_f64_s8, vreinterpretq_f64_s16)
15713 (vreinterpretq_f64_s32, vreinterpretq_f64_s64, vreinterpretq_f64_u8)
15714 (vreinterpretq_f64_u16, vreinterpretq_f64_u32, vreinterpretq_f64_u64)
15715 (vreinterpret_s64_f16, vreinterpret_s64_f64, vreinterpret_s64_s8)
15716 (vreinterpret_s64_s16, vreinterpret_s64_s32, vreinterpret_s64_f32)
15717 (vreinterpret_s64_u8, vreinterpret_s64_u16, vreinterpret_s64_u32)
15718 (vreinterpret_s64_u64, vreinterpret_s64_p8, vreinterpret_s64_p16)
15719 (vreinterpret_s64_p64, vreinterpretq_s64_f64, vreinterpretq_s64_s8)
15720 (vreinterpretq_s64_s16, vreinterpretq_s64_s32, vreinterpretq_s64_f16)
15721 (vreinterpretq_s64_f32, vreinterpretq_s64_u8, vreinterpretq_s64_u16)
15722 (vreinterpretq_s64_u32, vreinterpretq_s64_u64, vreinterpretq_s64_p8)
15723 (vreinterpretq_s64_p16, vreinterpretq_s64_p64, vreinterpretq_s64_p128)
15724 (vreinterpret_u64_f16, vreinterpret_u64_f64, vreinterpret_u64_s8)
15725 (vreinterpret_u64_s16, vreinterpret_u64_s32, vreinterpret_u64_s64)
15726 (vreinterpret_u64_f32, vreinterpret_u64_u8, vreinterpret_u64_u16)
15727 (vreinterpret_u64_u32, vreinterpret_u64_p8, vreinterpret_u64_p16)
15728 (vreinterpret_u64_p64, vreinterpretq_u64_f64, vreinterpretq_u64_s8)
15729 (vreinterpretq_u64_s16, vreinterpretq_u64_s32, vreinterpretq_u64_s64)
15730 (vreinterpretq_u64_f16, vreinterpretq_u64_f32, vreinterpretq_u64_u8)
15731 (vreinterpretq_u64_u16, vreinterpretq_u64_u32, vreinterpretq_u64_p8)
15732 (vreinterpretq_u64_p16, vreinterpretq_u64_p64, vreinterpretq_u64_p128)
15733 (vreinterpret_s8_f16, vreinterpret_s8_f64, vreinterpret_s8_s16)
15734 (vreinterpret_s8_s32, vreinterpret_s8_s64, vreinterpret_s8_f32)
15735 (vreinterpret_s8_u8, vreinterpret_s8_u16, vreinterpret_s8_u32)
15736 (vreinterpret_s8_u64, vreinterpret_s8_p8, vreinterpret_s8_p16)
15737 (vreinterpret_s8_p64, vreinterpretq_s8_f64, vreinterpretq_s8_s16)
15738 (vreinterpretq_s8_s32, vreinterpretq_s8_s64, vreinterpretq_s8_f16)
15739 (vreinterpretq_s8_f32, vreinterpretq_s8_u8, vreinterpretq_s8_u16)
15740 (vreinterpretq_s8_u32, vreinterpretq_s8_u64, vreinterpretq_s8_p8)
15741 (vreinterpretq_s8_p16, vreinterpretq_s8_p64, vreinterpretq_s8_p128)
15742 (vreinterpret_s16_f16, vreinterpret_s16_f64, vreinterpret_s16_s8)
15743 (vreinterpret_s16_s32, vreinterpret_s16_s64, vreinterpret_s16_f32)
15744 (vreinterpret_s16_u8, vreinterpret_s16_u16, vreinterpret_s16_u32)
15745 (vreinterpret_s16_u64, vreinterpret_s16_p8, vreinterpret_s16_p16)
15746 (vreinterpret_s16_p64, vreinterpretq_s16_f64, vreinterpretq_s16_s8)
15747 (vreinterpretq_s16_s32, vreinterpretq_s16_s64, vreinterpretq_s16_f16)
15748 (vreinterpretq_s16_f32, vreinterpretq_s16_u8, vreinterpretq_s16_u16)
15749 (vreinterpretq_s16_u32, vreinterpretq_s16_u64, vreinterpretq_s16_p8)
15750 (vreinterpretq_s16_p16, vreinterpretq_s16_p64, vreinterpretq_s16_p128)
15751 (vreinterpret_s32_f16, vreinterpret_s32_f64, vreinterpret_s32_s8)
15752 (vreinterpret_s32_s16, vreinterpret_s32_s64, vreinterpret_s32_f32)
15753 (vreinterpret_s32_u8, vreinterpret_s32_u16, vreinterpret_s32_u32)
15754 (vreinterpret_s32_u64, vreinterpret_s32_p8, vreinterpret_s32_p16)
15755 (vreinterpret_s32_p64, vreinterpretq_s32_f64, vreinterpretq_s32_s8)
15756 (vreinterpretq_s32_s16, vreinterpretq_s32_s64, vreinterpretq_s32_f16)
15757 (vreinterpretq_s32_f32, vreinterpretq_s32_u8, vreinterpretq_s32_u16)
15758 (vreinterpretq_s32_u32, vreinterpretq_s32_u64, vreinterpretq_s32_p8)
15759 (vreinterpretq_s32_p16, vreinterpretq_s32_p64, vreinterpretq_s32_p128)
15760 (vreinterpret_u8_f16, vreinterpret_u8_f64, vreinterpret_u8_s8)
15761 (vreinterpret_u8_s16, vreinterpret_u8_s32, vreinterpret_u8_s64)
15762 (vreinterpret_u8_f32, vreinterpret_u8_u16, vreinterpret_u8_u32)
15763 (vreinterpret_u8_u64, vreinterpret_u8_p8, vreinterpret_u8_p16)
15764 (vreinterpret_u8_p64, vreinterpretq_u8_f64, vreinterpretq_u8_s8)
15765 (vreinterpretq_u8_s16, vreinterpretq_u8_s32, vreinterpretq_u8_s64)
15766 (vreinterpretq_u8_f16, vreinterpretq_u8_f32, vreinterpretq_u8_u16)
15767 (vreinterpretq_u8_u32, vreinterpretq_u8_u64, vreinterpretq_u8_p8)
15768 (vreinterpretq_u8_p16, vreinterpretq_u8_p64, vreinterpretq_u8_p128)
15769 (vreinterpret_u16_f16, vreinterpret_u16_f64, vreinterpret_u16_s8)
15770 (vreinterpret_u16_s16, vreinterpret_u16_s32, vreinterpret_u16_s64)
15771 (vreinterpret_u16_f32, vreinterpret_u16_u8, vreinterpret_u16_u32)
15772 (vreinterpret_u16_u64, vreinterpret_u16_p8, vreinterpret_u16_p16)
15773 (vreinterpret_u16_p64, vreinterpretq_u16_f64, vreinterpretq_u16_s8)
15774 (vreinterpretq_u16_s16, vreinterpretq_u16_s32, vreinterpretq_u16_s64)
15775 (vreinterpretq_u16_f16, vreinterpretq_u16_f32, vreinterpretq_u16_u8)
15776 (vreinterpretq_u16_u32, vreinterpretq_u16_u64, vreinterpretq_u16_p8)
15777 (vreinterpretq_u16_p16, vreinterpretq_u16_p64, vreinterpretq_u16_p128)
15778 (vreinterpret_u32_f16, vreinterpret_u32_f64, vreinterpret_u32_s8)
15779 (vreinterpret_u32_s16, vreinterpret_u32_s32, vreinterpret_u32_s64)
15780 (vreinterpret_u32_f32, vreinterpret_u32_u8, vreinterpret_u32_u16)
15781 (vreinterpret_u32_u64, vreinterpret_u32_p8, vreinterpret_u32_p16)
15782 (vreinterpret_u32_p64, vreinterpretq_u32_f64, vreinterpretq_u32_s8)
15783 (vreinterpretq_u32_s16, vreinterpretq_u32_s32, vreinterpretq_u32_s64)
15784 (vreinterpretq_u32_f16, vreinterpretq_u32_f32, vreinterpretq_u32_u8)
15785 (vreinterpretq_u32_u16, vreinterpretq_u32_u64, vreinterpretq_u32_p8)
15786 (vreinterpretq_u32_p16, vreinterpretq_u32_p64, vreinterpretq_u32_p128)
15787 (vreinterpretq_f64_p128, vreinterpretq_p128_f64, vreinterpret_bf16_u8)
15788 (vreinterpret_bf16_u16, vreinterpret_bf16_u32, vreinterpret_bf16_u64)
15789 (vreinterpret_bf16_s8, vreinterpret_bf16_s16, vreinterpret_bf16_s32)
15790 (vreinterpret_bf16_s64, vreinterpret_bf16_p8, vreinterpret_bf16_p16)
15791 (vreinterpret_bf16_p64, vreinterpret_bf16_f16, vreinterpret_bf16_f32)
15792 (vreinterpret_bf16_f64, vreinterpretq_bf16_u8, vreinterpretq_bf16_u16)
15793 (vreinterpretq_bf16_u32, vreinterpretq_bf16_u64, vreinterpretq_bf16_s8)
15794 (vreinterpretq_bf16_s16, vreinterpretq_bf16_s32, vreinterpretq_bf16_s64)
15795 (vreinterpretq_bf16_p8, vreinterpretq_bf16_p16, vreinterpretq_bf16_p64)
15796 (vreinterpretq_bf16_p128, vreinterpretq_bf16_f16)
15797 (vreinterpretq_bf16_f32, vreinterpretq_bf16_f64, vreinterpret_s8_bf16)
15798 (vreinterpret_s16_bf16, vreinterpret_s32_bf16, vreinterpret_s64_bf16)
15799 (vreinterpret_u8_bf16, vreinterpret_u16_bf16, vreinterpret_u32_bf16)
15800 (vreinterpret_u64_bf16, vreinterpret_f16_bf16, vreinterpret_f32_bf16)
15801 (vreinterpret_f64_bf16, vreinterpret_p8_bf16, vreinterpret_p16_bf16)
15802 (vreinterpret_p64_bf16, vreinterpretq_s8_bf16, vreinterpretq_s16_bf16)
15803 (vreinterpretq_s32_bf16, vreinterpretq_s64_bf16, vreinterpretq_u8_bf16)
15804 (vreinterpretq_u16_bf16, vreinterpretq_u32_bf16, vreinterpretq_u64_bf16)
15805 (vreinterpretq_f16_bf16, vreinterpretq_f32_bf16, vreinterpretq_f64_bf16)
15806 (vreinterpretq_p8_bf16, vreinterpretq_p16_bf16, vreinterpretq_p64_bf16)
15807 (vreinterpretq_p128_bf16): Delete
15808
15809 2022-07-26 Andrew Carlotti <andrew.carlotti@arm.com>
15810
15811 * config/aarch64/aarch64-builtins.cc
15812 (aarch64_simd_builtin_std_type): Rename to...
15813 (aarch64_int_or_fp_type): ...this, and allow irrelevant qualifiers.
15814 (aarch64_lookup_simd_builtin_type): Rename to...
15815 (aarch64_simd_builtin_type): ...this. Add const/pointer
15816 support, and extract table lookup to...
15817 (aarch64_lookup_simd_type_in_table): ...this function.
15818 (aarch64_init_crc32_builtins): Update to use aarch64_simd_builtin_type.
15819 (aarch64_init_fcmla_laneq_builtins): Ditto.
15820 (aarch64_init_simd_builtin_functions): Ditto.
15821
15822 2022-07-26 Andrew Carlotti <andrew.carlotti@arm.com>
15823
15824 * config/aarch64/aarch64-builtins.cc
15825 (aarch64_general_gimple_fold_builtin): Add combine.
15826
15827 2022-07-26 Richard Biener <rguenther@suse.de>
15828
15829 PR tree-optimization/106189
15830 * gimple-array-bounds.cc (array_bounds_checker::check_mem_ref):
15831 Divide using offset_ints.
15832
15833 2022-07-26 Lulu Cheng <chenglulu@loongson.cn>
15834
15835 * common/config/loongarch/loongarch-common.cc:
15836 Enable '-fsection-anchors' when O1 and more advanced optimization.
15837 * config/loongarch/genopts/loongarch.opt.in: Add new option
15838 '-mexplicit-relocs', and enable by default.
15839 * config/loongarch/loongarch-protos.h (loongarch_split_move_insn_p):
15840 Delete function declaration.
15841 (loongarch_split_move_insn): Delete function declaration.
15842 (loongarch_split_symbol_type): Add function declaration.
15843 * config/loongarch/loongarch.cc (enum loongarch_address_type):
15844 Add new address type 'ADDRESS_LO_SUM'.
15845 (loongarch_classify_symbolic_expression): New function definitions.
15846 Classify the base of symbolic expression X, given that X appears in
15847 context CONTEXT.
15848 (loongarch_symbol_insns): Add a judgment condition TARGET_EXPLICIT_RELOCS.
15849 (loongarch_split_symbol_type): New function definitions.
15850 Determines whether the symbol load should be split into two instructions.
15851 (loongarch_valid_lo_sum_p): New function definitions.
15852 Return true if a LO_SUM can address a value of mode MODE when the LO_SUM
15853 symbol has type SYMBOL_TYPE.
15854 (loongarch_classify_address): Add handling of 'LO_SUM'.
15855 (loongarch_address_insns): Add handling of 'ADDRESS_LO_SUM'.
15856 (loongarch_signed_immediate_p): Sort code.
15857 (loongarch_12bit_offset_address_p): Return true if address type is ADDRESS_LO_SUM.
15858 (loongarch_const_insns): Add handling of 'HIGH'.
15859 (loongarch_split_move_insn_p): Add the static attribute to the function.
15860 (loongarch_emit_set): New function definitions.
15861 (loongarch_call_tls_get_addr): Add symbol handling when defining TARGET_EXPLICIT_RELOCS.
15862 (loongarch_legitimize_tls_address): Add symbol handling when defining the
15863 TARGET_EXPLICIT_RELOCS macro.
15864 (loongarch_split_symbol): New function definitions. Split symbol.
15865 (loongarch_legitimize_address): Add codes see if the address can split into a high part
15866 and a LO_SUM.
15867 (loongarch_legitimize_const_move): Add codes split moves of symbolic constants into
15868 high and low.
15869 (loongarch_split_move_insn): Delete function definitions.
15870 (loongarch_output_move): Add support for HIGH and LO_SUM.
15871 (loongarch_print_operand_reloc): New function definitions.
15872 Print symbolic operand OP, which is part of a HIGH or LO_SUM in context CONTEXT.
15873 (loongarch_memmodel_needs_release_fence): Sort code.
15874 (loongarch_print_operand): Rearrange alphabetical order and add H and L to support HIGH
15875 and LOW output.
15876 (loongarch_print_operand_address): Add handling of 'ADDRESS_LO_SUM'.
15877 (TARGET_MIN_ANCHOR_OFFSET): Define macro to -IMM_REACH/2.
15878 (TARGET_MAX_ANCHOR_OFFSET): Define macro to IMM_REACH/2-1.
15879 * config/loongarch/loongarch.md (movti): Delete the template.
15880 (*movti): Delete the template.
15881 (movtf): Delete the template.
15882 (*movtf): Delete the template.
15883 (*low<mode>): New template of normal symbol low address.
15884 (@tls_low<mode>): New template of tls symbol low address.
15885 (@ld_from_got<mode>): New template load address from got table.
15886 (@ori_l_lo12<mode>): New template.
15887 * config/loongarch/loongarch.opt: Update from loongarch.opt.in.
15888 * config/loongarch/predicates.md: Add support for symbol_type HIGH.
15889
15890 2022-07-26 Lulu Cheng <chenglulu@loongson.cn>
15891
15892 * config/loongarch/constraints.md (a): Delete the constraint.
15893 (b): A constant call not local address.
15894 (h): Delete the constraint.
15895 (t): Delete the constraint.
15896 * config/loongarch/loongarch-opts.cc (loongarch_config_target):
15897 Remove cModel type support other than normal.
15898 * config/loongarch/loongarch-protos.h (enum loongarch_symbol_type):
15899 Add new symbol type 'SYMBOL_PCREL', 'SYMBOL_TLS_IE' and 'SYMBOL_TLS_LE'.
15900 (loongarch_split_symbol): Delete useless function declarations.
15901 (loongarch_split_symbol_type): Delete useless function declarations.
15902 * config/loongarch/loongarch.cc (enum loongarch_address_type):
15903 Delete unnecessary comment information.
15904 (loongarch_symbol_binds_local_p): Modified the judgment order of label
15905 and symbol.
15906 (loongarch_classify_symbol): Return symbol type. If symbol is a label,
15907 or symbol is a local symbol return SYMBOL_PCREL. If is a tls symbol,
15908 return SYMBOL_TLS. If is a not local symbol return SYMBOL_GOT_DISP.
15909 (loongarch_symbolic_constant_p): Add handling of 'SYMBOL_TLS_IE'
15910 'SYMBOL_TLS_LE' and 'SYMBOL_PCREL'.
15911 (loongarch_symbol_insns): Add handling of 'SYMBOL_TLS_IE' 'SYMBOL_TLS_LE'
15912 and 'SYMBOL_PCREL'.
15913 (loongarch_address_insns): Sort code.
15914 (loongarch_12bit_offset_address_p): Sort code.
15915 (loongarch_14bit_shifted_offset_address_p): Sort code.
15916 (loongarch_call_tls_get_addr): Sort code.
15917 (loongarch_legitimize_tls_address): Sort code.
15918 (loongarch_output_move): Remove schema support for cmodel other than normal.
15919 (loongarch_memmodel_needs_release_fence): Sort code.
15920 (loongarch_print_operand): Sort code.
15921 * config/loongarch/loongarch.h (LARCH_U12BIT_OFFSET_P):
15922 Rename to LARCH_12BIT_OFFSET_P.
15923 (LARCH_12BIT_OFFSET_P): New macro.
15924 * config/loongarch/loongarch.md: Reimplement the function call. Remove schema
15925 support for cmodel other than normal.
15926 * config/loongarch/predicates.md (is_const_call_weak_symbol): Delete this predicate.
15927 (is_const_call_plt_symbol): Delete this predicate.
15928 (is_const_call_global_noplt_symbol): Delete this predicate.
15929 (is_const_call_no_local_symbol): New predicate, determines whether it is a local
15930 symbol or label.
15931
15932 2022-07-26 Kewen Lin <linkw@linux.ibm.com>
15933
15934 PR target/106091
15935 * config/rs6000/rs6000-p8swap.cc (replace_swapped_aligned_store): Copy
15936 REG_EH_REGION when replacing one store insn having it.
15937 (replace_swapped_aligned_load): Likewise.
15938
15939 2022-07-25 Aldy Hernandez <aldyh@redhat.com>
15940
15941 * Makefile.in (OBJS): Add range-op-float.o.
15942 * range-op.cc (get_float_handler): New.
15943 (range_op_handler::range_op_handler): Save code and type for
15944 delayed querying.
15945 (range_op_handler::oeprator bool): Move from header file, and
15946 add support for floats.
15947 (range_op_handler::fold_range): Add support for floats.
15948 (range_op_handler::op1_range): Same.
15949 (range_op_handler::op2_range): Same.
15950 (range_op_handler::lhs_op1_relation): Same.
15951 (range_op_handler::lhs_op2_relation): Same.
15952 (range_op_handler::op1_op2_relation): Same.
15953 * range-op.h (class range_operator_float): New.
15954 (class floating_op_table): New.
15955 * value-query.cc (range_query::get_tree_range): Add case for
15956 REAL_CST.
15957 * range-op-float.cc: New file.
15958
15959 2022-07-25 Roger Sayle <roger@nextmovesoftware.com>
15960 Uroš Bizjak <ubizjak@gmail.com>
15961
15962 PR target/91681
15963 * config/i386/i386-expand.cc (split_double_concat): A new helper
15964 function for setting a double word value from two word values.
15965 * config/i386/i386-protos.h (split_double_concat): Prototype here.
15966 * config/i386/i386.md (zero_extendditi2): New define_insn_and_split.
15967 (*add<dwi>3_doubleword_zext): New define_insn_and_split.
15968 (*sub<dwi>3_doubleword_zext): New define_insn_and_split.
15969 (*concat<mode><dwi>3_1): New define_insn_and_split replacing
15970 previous define_split for implementing DST = (HI<<32)|LO as
15971 pair of move instructions, setting lopart and hipart.
15972 (*concat<mode><dwi>3_2): Likewise.
15973 (*concat<mode><dwi>3_3): Likewise, where HI is zero_extended.
15974 (*concat<mode><dwi>3_4): Likewise, where HI is zero_extended.
15975
15976 2022-07-25 Aldy Hernandez <aldyh@redhat.com>
15977
15978 PR middle-end/106432
15979 * gimple-range.cc (gimple_ranger::range_on_edge): Return false
15980 when the result range type is unsupported.
15981
15982 2022-07-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
15983
15984 * config/rs6000/rtems.h (CPLUSPLUS_CPP_SPEC): Undef.
15985
15986 2022-07-25 Richard Biener <rguenther@suse.de>
15987
15988 PR middle-end/106414
15989 * match.pd (~(x ^ y) -> x == y): Restrict to single bit
15990 precision types.
15991
15992 2022-07-25 Andre Vieira <andre.simoesdiasvieira@arm.com>
15993
15994 * config/aarch64/aarch64.md (rbit<mode>2): Rename this ...
15995 (@aarch64_rbit<mode>): ... to this and change it in...
15996 (ffs<mode>2,ctz<mode>2): ... here.
15997 (@aarch64_rev16<mode>): New.
15998 * config/aarch64/aarch64-builtins.cc: (aarch64_builtins):
15999 Define the following enum AARCH64_REV16, AARCH64_REV16L,
16000 AARCH64_REV16LL, AARCH64_RBIT, AARCH64_RBITL, AARCH64_RBITLL.
16001 (aarch64_init_data_intrinsics): New.
16002 (aarch64_general_init_builtins): Add call to
16003 aarch64_init_data_intrinsics.
16004 (aarch64_expand_builtin_data_intrinsic): New.
16005 (aarch64_general_expand_builtin): Add call to
16006 aarch64_expand_builtin_data_intrinsic.
16007 * config/aarch64/arm_acle.h (__clz, __clzl, __clzll, __cls, __clsl,
16008 __clsll, __rbit, __rbitl, __rbitll, __rev, __revl, __revll, __rev16,
16009 __rev16l, __rev16ll, __ror, __rorl, __rorll, __revsh): New.
16010
16011 2022-07-25 Martin Liska <mliska@suse.cz>
16012
16013 * doc/extend.texi: Remove trailing whitespaces.
16014 * doc/invoke.texi: Likewise.
16015
16016 2022-07-25 Aldy Hernandez <aldyh@redhat.com>
16017
16018 * value-range-pretty-print.cc (vrange_printer::visit): New.
16019 (vrange_printer::print_frange_prop): New.
16020 * value-range-pretty-print.h (class vrange_printer): Add visit and
16021 print_frange_prop.
16022 * value-range-storage.h (vrange_allocator::alloc_vrange): Handle frange.
16023 (vrange_allocator::alloc_frange): New.
16024 * value-range.cc (vrange::operator=): Handle frange.
16025 (vrange::operator==): Same.
16026 (frange::accept): New.
16027 (frange::set): New.
16028 (frange::normalize_kind): New.
16029 (frange::union_): New.
16030 (frange::intersect): New.
16031 (frange::operator=): New.
16032 (frange::operator==): New.
16033 (frange::supports_type_p): New.
16034 (frange::verify_range): New.
16035 * value-range.h (enum value_range_discriminator): Handle frange.
16036 (class fp_prop): New.
16037 (FP_PROP_ACCESSOR): New.
16038 (class frange_props): New.
16039 (FRANGE_PROP_ACCESSOR): New.
16040 (class frange): New.
16041 (Value_Range::init): Handle frange.
16042 (Value_Range::operator=): Same.
16043 (Value_Range::supports_type_p): Same.
16044 (frange_props::operator==): New.
16045 (frange_props::union_): New.
16046 (frange_props::intersect): New
16047 (frange::frange): New.
16048 (frange::type): New.
16049 (frange::set_varying): New.
16050 (frange::set_undefined): New.
16051
16052 2022-07-25 Peter Bergner <bergner@linux.ibm.com>
16053 Kewen Lin <linkw@linux.ibm.com>
16054
16055 PR testsuite/106345
16056 * config/rs6000/rs6000.h (DRIVER_SELF_SPECS): Adjust -mdejagnu-cpu
16057 to filter out all -mtune options.
16058
16059 2022-07-24 Aldy Hernandez <aldyh@redhat.com>
16060
16061 * value-query.cc (range_query::get_value_range): Add assert.
16062 * vr-values.cc (vr_values::range_of_expr): Make sure we don't ICE
16063 on unsupported types in vr_values.
16064 (simplify_using_ranges::simplify): Same.
16065
16066 2022-07-24 Aldy Hernandez <aldyh@redhat.com>
16067
16068 * tree-ssanames.cc (get_nonzero_bits): Return -1 for unsupported
16069 types.
16070 * value-query.cc (get_ssa_name_range_info): Remove precision check.
16071
16072 2022-07-24 Aldy Hernandez <aldyh@redhat.com>
16073
16074 * value-relation.cc (value_relation::set_relation): Remove assert.
16075 (path_oracle::register_relation): Exit when trying to register
16076 same SSA name relations.
16077
16078 2022-07-24 Aldy Hernandez <aldyh@redhat.com>
16079
16080 * gimple-range-cache.cc (ranger_cache::edge_range): Convert to vrange.
16081 (ranger_cache::range_from_dom): Same.
16082 * tree-ssa-dom.cc
16083 (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges): Same.
16084
16085 2022-07-24 Roger Sayle <roger@nextmovesoftware.com>
16086 H.J. Lu <hjl.tools@gmail.com>
16087
16088 PR target/106303
16089 PR target/106347
16090 * config/i386/i386-features.cc (make_vector_copies): Move from
16091 general_scalar_chain to scalar_chain.
16092 (convert_reg): Likewise.
16093 (convert_insn_common): New scalar_chain method split out from
16094 general_scalar_chain convert_insn.
16095 (convert_registers): Move from general_scalar_chain to
16096 scalar_chain.
16097 (scalar_chain::convert): Call convert_insn_common before calling
16098 convert_insn.
16099 (timode_remove_non_convertible_regs): Iterate until there are
16100 no further changes to the candidates.
16101 * config/i386/i386-features.h (scalar_chain::hash_map): Move
16102 from general_scalar_chain.
16103 (scalar_chain::convert_reg): Likewise.
16104 (scalar_chain::convert_insn_common): New shared method.
16105 (scalar_chain::make_vector_copies): Move from general_scalar_chain.
16106 (scalar_chain::convert_registers): Likewise. No longer virtual.
16107 (general_scalar_chain::hash_map): Delete. Moved to scalar_chain.
16108 (general_scalar_chain::convert_reg): Likewise.
16109 (general_scalar_chain::make_vector_copies): Likewise.
16110 (general_scalar_chain::convert_registers): Delete virtual method.
16111 (timode_scalar_chain::convert_registers): Likewise.
16112
16113 2022-07-23 Immad Mir <mirimmad@outlook.com>
16114
16115 * doc/extend.texi: Add fd_arg, fd_arg_read and fd_arg_write under
16116 "Common Function Attributes" section.
16117 * doc/invoke.texi: Add docs to -Wanalyzer-fd-access-mode-mismatch,
16118 -Wanalyzer-use-after-close, -Wanalyzer-fd-use-without-check that these
16119 warnings may be emitted through usage of three function attributes used
16120 for static analysis of file descriptors namely fd_arg, fd_arg_read and
16121 fd_arg_write.
16122
16123 2022-07-22 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
16124
16125 * config/xtensa/xtensa.md (*masktrue_const_bitcmpl):
16126 Add a new insn_and_split pattern, and a few split patterns for
16127 spacial cases.
16128
16129 2022-07-22 Richard Sandiford <richard.sandiford@arm.com>
16130
16131 * graphds.cc (graphds_scc): Fix algorithm attribution.
16132
16133 2022-07-22 Richard Biener <rguenther@suse.de>
16134
16135 PR tree-optimization/106403
16136 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Move stored
16137 value valueization after check for IFN_MASKED_STORE or
16138 IFN_LEN_STORE.
16139
16140 2022-07-22 Richard Biener <rguenther@suse.de>
16141
16142 PR tree-optimization/106397
16143 * tree-ssa-loop-prefetch.cc (emit_mfence_after_loop): Do
16144 not update SSA form here.
16145 (mark_nontemporal_stores): Return whether we marked any
16146 non-temporal stores and inserted mfence.
16147 (loop_prefetch_arrays): Note when we need to update SSA.
16148 (tree_ssa_prefetch_arrays): Perform required (LC) SSA update
16149 at the end of the pass.
16150
16151 2022-07-22 Richard Biener <rguenther@suse.de>
16152
16153 PR tree-optimization/106387
16154 * tree-vect-stmts.cc (vectorizable_load): Use make_ssa_name
16155 if ptr is not an SSA name.
16156
16157 2022-07-22 liuhongt <hongtao.liu@intel.com>
16158
16159 PR target/106038
16160 * config/i386/mmx.md (<code><mode>3): New define_expand, it's
16161 original "<code><mode>3".
16162 (*<code><mode>3): New define_insn, it's original
16163 "<code><mode>3" be extended to handle memory and immediate
16164 operand with ix86_binary_operator_ok. Also adjust define_split
16165 after it.
16166 (mmxinsnmode): New mode attribute.
16167 (*mov<mode>_imm): Refactor with mmxinsnmode.
16168 * config/i386/predicates.md
16169 (register_or_x86_64_const_vector_operand): New predicate.
16170
16171 2022-07-22 Will Schmidt <will_schmidt@vnet.ibm.com>
16172
16173 * config/rs6000/altivec.md:
16174 (vstrir_code_<mode>): Rename to...
16175 (vstrir_direct_<mode>): ... this.
16176 (vstrir_p_code_<mode>): Rename to...
16177 (vstrir_p_direct_<mode>): ... this.
16178 (vstril_code_<mode>): Rename to...
16179 (vstril_direct_<mode>): ... this.
16180 (vstril_p_code_<mode>): Rename to...
16181 (vstril_p_direct_<mode>): ... this.
16182
16183 2022-07-22 Will Schmidt <will_schmidt@vnet.ibm.com>
16184
16185 * config/rs6000/rs6000-c.cc: Update comments.
16186 (rs6000_target_modify_macros): Remove bu_mask references.
16187 (rs6000_define_or_undefine_macro): Replace bu_mask reference
16188 with a rs6000_cpu value check.
16189 (rs6000_cpu_cpp_builtins): Remove rs6000_builtin_mask_calculate()
16190 parameter from call to rs6000_target_modify_macros.
16191 * config/rs6000/rs6000-protos.h (rs6000_target_modify_macros,
16192 rs6000_target_modify_macros_ptr): Remove parameter from extern
16193 for the prototype.
16194 * config/rs6000/rs6000.cc (rs6000_target_modify_macros_ptr): Remove
16195 parameter from prototype, update calls to this function.
16196 (rs6000_print_builtin_options): Remove prototype, call and function.
16197 (rs6000_builtin_mask_calculate): Remove function.
16198 (rs6000_debug_reg_global): Remove call to rs6000_print_builtin_options.
16199 (rs6000_option_override_internal): Remove rs6000_builtin_mask var
16200 and builtin_mask debug output.
16201 (rs6000_builtin_mask_names): Remove.
16202 (rs6000_pragma_target_parse): Remove prev_bumask, cur_bumask,
16203 diff_bumask references; Update calls to rs6000_target_modify_ptr.
16204 * config/rs6000/rs6000.opt (rs6000_builtin_mask): Remove.
16205
16206 2022-07-21 Sam Feifer <sfeifer@redhat.com>
16207
16208 PR tree-optimization/94920
16209 * match.pd (x >= 0 ? x : 0) + (x <= 0 ? -x : 0): New simplification.
16210 (x <= 0 ? -x : 0): New simplification.
16211
16212 2022-07-21 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
16213
16214 Revert:
16215 2022-07-19 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
16216
16217 * tree-ssa-forwprop.cc (simplify_permutation): Use lhs type
16218 instead of TREE_TYPE (arg0) as result type in folding VEC_PERM_EXPR.
16219
16220 2022-07-21 Richard Biener <rguenther@suse.de>
16221
16222 PR tree-optimization/106379
16223 * match.pd (~(a ^ b) -> a == b): New pattern.
16224
16225 2022-07-21 Richard Biener <rguenther@suse.de>
16226
16227 PR tree-optimization/106378
16228 * tree-ssa-dse.cc (initialize_ao_ref_for_dse): Handle
16229 LEN_STORE, add mode to initialize a may-def and handle
16230 MASK_STORE that way.
16231 (dse_optimize_stmt): Query may-defs. Handle internal
16232 functions LEN_STORE and MASK_STORE similar to how
16233 we handle memory builtins but without byte tracking.
16234
16235 2022-07-21 Richard Biener <rguenther@suse.de>
16236
16237 PR tree-optimization/106365
16238 * tree-ssa-sccvn.cc (pd_data::rhs_off): New field determining
16239 the offset to start encoding of RHS from.
16240 (vn_walk_cb_data::vn_walk_cb_data): Initialize it.
16241 (vn_walk_cb_data::push_partial_def): Allow the first partial
16242 definition to be fully providing the def. Offset RHS
16243 before encoding if requested.
16244 (vn_reference_lookup_3): Initialize def_rhs everywhere.
16245 Add support for .MASK_STORE and .LEN_STORE (partial) definitions.
16246
16247 2022-07-21 Richard Biener <rguenther@suse.de>
16248
16249 * tree-ssa-alias.cc (ref_maybe_used_by_call_p_1): Special-case
16250 store internal functions and IFN_MASK_LOAD, IFN_LEN_LOAD
16251 and IFN_MASK_LOAD_LANES.
16252 (call_may_clobber_ref_p_1): Special-case IFN_MASK_STORE,
16253 IFN_LEN_STORE and IFN_MASK_STORE_LANES.
16254
16255 2022-07-20 Alexander Monakov <amonakov@ispras.ru>
16256
16257 PR rtl-optimization/101347
16258 * builtins.cc (expand_builtin) [BUILT_IN_SETJMP_SETUP]: Move
16259 population of nonlocal_goto_handler_labels from here ...
16260 (expand_builtin) [BUILT_IN_SETJMP_RECEIVER]: ... to here.
16261 * rtlanal.cc (remove_node_from_insn_list): Verify that a
16262 duplicate is not present in the remainder of the list.
16263
16264 2022-07-20 Alexander Monakov <amonakov@ispras.ru>
16265
16266 * rtl.h (remove_node_from_expr_list): Remove declaration.
16267 * rtlanal.cc (remove_node_from_expr_list): Remove (no uses).
16268
16269 2022-07-20 Richard Biener <rguenther@suse.de>
16270
16271 * tree-vect-data-refs.cc (bump_vector_ptr): Return an
16272 invariant updated address when the input was invariant.
16273
16274 2022-07-20 liuhongt <hongtao.liu@intel.com>
16275
16276 * passes.def: (Split pass_cse_sincos to pass_expand_powcabs
16277 and pass_cse_sincos, and move pass_cse_sincos after vectorizer).
16278 * timevar.def (TV_TREE_POWCABS): New timevar.
16279 * tree-pass.h (make_pass_expand_powcabs): Split from pass_cse_sincos.
16280 * tree-ssa-math-opts.cc (gimple_expand_builtin_cabs): Ditto.
16281 (class pass_expand_powcabs): Ditto.
16282 (pass_expand_powcabs::execute): Ditto.
16283 (make_pass_expand_powcabs): Ditto.
16284 (pass_cse_sincos::execute): Remove pow/cabs expand part.
16285 (make_pass_cse_sincos): Ditto.
16286
16287 2022-07-20 Richard Biener <richard.guenther@gmail.com>
16288 Hongtao Liu <hongtao.liu@intel.com>
16289
16290 PR tree-optimization/106010
16291 * tree-complex.cc (init_dont_simulate_again): Lower complex
16292 type move.
16293 (expand_complex_move): Also expand COMPLEX_CST for rhs.
16294
16295 2022-07-19 Andrew MacLeod <amacleod@redhat.com>
16296
16297 * gimple-range-cache.cc (ranger_cache::range_from_dom): Check
16298 for incoming ranges on join nodes and add to worklist.
16299
16300 2022-07-19 Andrew MacLeod <amacleod@redhat.com>
16301
16302 * gimple-range-cache.cc (ranger_cache::resolve_dom): New.
16303 (ranger_cache::range_from_dom): Put all nodes to be calculated
16304 in the worklist and resolve after the dom walk.
16305 * gimple-range-cache.h (resolve_dom): New prototype.
16306
16307 2022-07-19 Alexander Monakov <amonakov@ispras.ru>
16308
16309 * tree-cfg.cc (gimple_verify_flow_info): Check placement of
16310 returns_twice calls.
16311
16312 2022-07-19 Alexander Monakov <amonakov@ispras.ru>
16313
16314 * cfghooks.cc (duplicate_block): Expand comment.
16315 * tree-cfg.cc (gimple_can_duplicate_bb_p): Reject blocks with
16316 calls that may return twice.
16317
16318 2022-07-19 Alexander Monakov <amonakov@ispras.ru>
16319
16320 * tree-ssa-sink.cc (select_best_block): Punt if selected block
16321 has incoming abnormal edges.
16322
16323 2022-07-19 Martin Liska <mliska@suse.cz>
16324
16325 * doc/extend.texi: Remove trailing :.
16326
16327 2022-07-19 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
16328
16329 * tree-ssa-forwprop.cc (simplify_permutation): Use lhs type
16330 instead of TREE_TYPE (arg0) as result type in folding VEC_PERM_EXPR.
16331
16332 2022-07-19 Richard Biener <rguenther@suse.de>
16333
16334 PR middle-end/106331
16335 * builtins.cc (get_memory_rtx): Compute alignment from
16336 the original address and set MEM_OFFSET to unknown when
16337 we create a MEM_EXPR from the base object of the address.
16338
16339 2022-07-19 Richard Biener <rguenther@suse.de>
16340
16341 PR lto/106334
16342 * dwarf2out.cc (dwarf2out_register_external_die): Allow
16343 map entry re-use during WPA.
16344
16345 2022-07-19 Roger Sayle <roger@nextmovesoftware.com>
16346 Richard Biener <rguenther@suse.de>
16347
16348 PR c/106264
16349 * builtins.cc (fold_builtin_frexp): Call suppress_warning on
16350 COMPOUND_EXPR to silence spurious warning if result isn't used.
16351 (fold_builtin_modf): Likewise.
16352 (do_mpfr_remquo): Likewise.
16353
16354 2022-07-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
16355
16356 * config/xtensa/xtensa.cc (xtensa_rtx_costs):
16357 Change the relative cost of '(set (reg) (const_int N))' where
16358 N fits into signed 12-bit from 4 to 0 if optimizing for size.
16359 And use the appropriate macro instead of the bare number 4.
16360
16361 2022-07-18 Andrew MacLeod <amacleod@redhat.com>
16362
16363 PR tree-optimization/106280
16364 * value-relation.cc (dom_oracle::register_relation): Register
16365 transitives only when it is possible for there to be one.
16366 (dom_oracle::set_one_relation): Return NULL if this is an
16367 existing relation.
16368
16369 2022-07-18 Maciej W. Rozycki <macro@embecosm.com>
16370
16371 * doc/invoke.texi (RISC-V Options): Add index references for
16372 `mrelax' and `mriscv-attribute'.
16373
16374 2022-07-18 Maciej W. Rozycki <macro@embecosm.com>
16375
16376 * doc/invoke.texi (Option Summary): Add missing second space
16377 around `-mstack-protector-guard-reg='.
16378
16379 2022-07-18 Maciej W. Rozycki <macro@embecosm.com>
16380
16381 * doc/invoke.texi (Option Summary): Fix `-mno-riscv-attribute'.
16382 (RISC-V Options): Likewise, and `-mriscv-attribute'.
16383
16384 2022-07-18 Claudiu Zissulescu <claziss@gmail.com>
16385
16386 * config/arc/arc-arch.h (arc_tune_attr): Add
16387 ARC_TUNE_ARCHS4X_REL31A variant.
16388 * config/arc/arc.cc (arc_override_options): Tune options for
16389 release 310a.
16390 (arc_sched_issue_rate): Use correct enum.
16391 (arc600_corereg_hazard): Textual change.
16392 (arc_hazard): Add release 310a tunning.
16393 * config/arc/arc.md (tune): Update and take into consideration new
16394 tune option.
16395 (tune_dspmpy): Likewise.
16396 (tune_store): New attribute.
16397 * config/arc/arc.opt (mtune): New tune option.
16398 * config/arc/arcHS4x.md (hs4x_brcc0, hs4x_brcc1): New cpu units.
16399 (hs4x_brcc_op): New instruction rezervation.
16400 (hs4x_data_store_1_op): Likewise.
16401 * config/arc/arc-cpus.def (hs4x_rel31): New cpu variant.
16402 * config/arc/arc-tables.opt: Regenerate.
16403 * config/arc/t-multilib: Likewise.
16404 * doc/invoke.texi (ARC): Update mcpu and tune sections.
16405
16406 2022-07-18 Richard Biener <rguenther@suse.de>
16407
16408 * tree-loop-distribution.cc (loop_distribution::distribute_loop):
16409 When computing cost-based merging do not disregard builtin
16410 classified partitions in some cases.
16411
16412 2022-07-18 Richard Sandiford <richard.sandiford@arm.com>
16413
16414 PR target/106253
16415 * config/arm/arm-builtins.cc (arm_builtin_vectorized_function):
16416 Delete.
16417 * config/arm/arm-protos.h (arm_builtin_vectorized_function): Delete.
16418 * config/arm/arm.cc (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
16419 Delete.
16420 * config/arm/arm_neon_builtins.def (copysignf): Delete.
16421 * config/arm/iterators.md (nvrint_pattern): New attribute.
16422 * config/arm/neon.md (<NEON_VRINT:nvrint_pattern><VCVTF:mode>2):
16423 New pattern.
16424 (l<NEON_VCVT:nvrint_pattern><su_optab><VCVTF:mode><v_cmp_result>2):
16425 Likewise.
16426 (neon_copysignf<mode>): Rename to...
16427 (copysign<mode>3): ...this.
16428
16429 2022-07-18 Claudiu Zissulescu <claziss@gmail.com>
16430
16431 * config/arc/arc.cc (arc_expand_epilogue): Adjust the frame
16432 pointer first when in interrupts.
16433
16434 2022-07-18 Richard Biener <rguenther@suse.de>
16435
16436 * tree-loop-distribution.cc (copy_loop_before): Add
16437 the ability to replace the original LC PHI defs.
16438 (generate_loops_for_partition): Pass through a flag
16439 whether to redirect original LC PHI defs.
16440 (generate_code_for_partition): Likewise.
16441 (loop_distribution::distribute_loop): Compute the partition
16442 that should provide the LC PHI defs for common reductions
16443 and pass that down.
16444
16445 2022-07-18 Richard Ball <richard.ball@arm.com>
16446
16447 * config/aarch64/aarch64.cc (aarch64_evpc_trn): Use std:swap.
16448 (aarch64_evpc_uzp): Likewise.
16449 (aarch64_evpc_zip): Likewise.
16450
16451 2022-07-18 Roger Sayle <roger@nextmovesoftware.com>
16452
16453 PR target/106231
16454 * config/i386/i386.md (*ctzsidi2_<s>ext): New insn_and_split
16455 to recognize any_extend:DI of ctz:SI which is implicitly extended.
16456 (*ctzsidi2_<s>ext_falsedep): New define_insn to model a DImode
16457 extended ctz:SI that has preceding xor to break false dependency.
16458
16459 2022-07-18 Roger Sayle <roger@nextmovesoftware.com>
16460
16461 * config/i386/predicates.md (x86_64_const_vector_operand):
16462 Check the operand's mode matches the specified mode argument.
16463
16464 2022-07-18 Roger Sayle <roger@nextmovesoftware.com>
16465
16466 * config/i386/sse.md (kunpckhi): Add UNSPEC_MASKOP unspec.
16467 (kunpcksi): Likewise, add UNSPEC_MASKOP unspec.
16468 (kunpckdi): Likewise, add UNSPEC_MASKOP unspec.
16469 (vec_pack_trunc_qi): Update to specify the now required
16470 UNSPEC_MASKOP unspec.
16471 (vec_pack_trunc_<mode>): Likewise.
16472
16473 2022-07-16 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
16474
16475 * config/xtensa/xtensa.md
16476 (*masktrue_const_pow2_minus_one, *masktrue_const_negative_pow2,
16477 *masktrue_const_shifted_mask): If the immediate for bitwise AND is
16478 represented as '-(1 << N)', decrease the lower bound of N from 12
16479 to 1. And the other immediate for conditional branch is now no
16480 longer limited to zero, but also one of some positive integers.
16481 Finally, remove the checks of some conditions, because the comparison
16482 expressions that don't satisfy such checks are determined as
16483 compile-time constants and thus will be optimized away before
16484 RTL expansion.
16485
16486 2022-07-16 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
16487
16488 * config/xtensa/xtensa.cc (xtensa_emit_constantsynth): Remove.
16489 (xtensa_constantsynth_2insn): Change to try all three synthetic
16490 methods and to use the one that fits the immediate value of
16491 the seed into a Narrow Move Immediate instruction "MOVI.N"
16492 when the Code Density Option is configured.
16493
16494 2022-07-15 H.J. Lu <hjl.tools@gmail.com>
16495
16496 PR target/85620
16497 * config/i386/i386.cc (ix86_function_ok_for_sibcall): Return
16498 false if callee has indirect_return attribute and caller
16499 doesn't.
16500
16501 2022-07-15 Roger Sayle <roger@nextmovesoftware.com>
16502
16503 PR target/106273
16504 * config/i386/i386.md (*andn<dwi>3_doubleword_bmi): Update the
16505 constraints to reflect the output is earlyclobber, unless it is
16506 the same register (pair) as one of the operands.
16507
16508 2022-07-15 David Malcolm <dmalcolm@redhat.com>
16509
16510 * doc/invoke.texi (Static Analyzer Options): Add the new fd
16511 warnings to the initial gccoptlist, and to the list of those
16512 disabled by -fanalyzer-checker=taint.
16513
16514 2022-07-15 Andrew Carlotti <andrew.carlotti@arm.com>
16515
16516 * config/aarch64/aarch64-builtins.cc
16517 (enum aarch64_type_qualifiers): Remove qualifier_internal.
16518 (aarch64_init_simd_builtin_functions): Remove qualifier_internal check.
16519
16520 2022-07-15 Andrew Carlotti <andrew.carlotti@arm.com>
16521
16522 * config/aarch64/aarch64-builtins.cc
16523 (v1di_UP): Add V1DI mode to _UP macros.
16524 * config/aarch64/aarch64-modes.def (VECTOR_MODE): Add V1DI mode.
16525 * config/aarch64/aarch64-simd-builtin-types.def: Use V1DI mode.
16526 * config/aarch64/aarch64-simd.md
16527 (vec_extractv2dfv1df): Replace with...
16528 (vec_extract<mode><V1half>): ...this.
16529 * config/aarch64/aarch64.cc
16530 (aarch64_classify_vector_mode): Add V1DI mode.
16531 * config/aarch64/iterators.md
16532 (VQ_2E, V1HALF, V1half): New.
16533 (nunits): Add V1DI mode.
16534
16535 2022-07-15 Roger Sayle <roger@nextmovesoftware.com>
16536
16537 PR target/106278
16538 * config/i386/i386-features.cc (general_scalar_chain::convert_insn):
16539 Fix indentation whitespace.
16540 (timode_scalar_chain::fix_debug_reg_uses): Likewise.
16541 (timode_scalar_chain::convert_insn): Delete dead code.
16542 Update TImode REG_EQUAL_NOTE even if the SET_DEST is already V1TI.
16543 Fix indentation whitespace.
16544 (convertible_comparison_p): Likewise.
16545 (timode_scalar_to_vector_candidate_p): Likewise.
16546
16547 2022-07-15 Aldy Hernandez <aldyh@redhat.com>
16548
16549 * gimple-pretty-print.cc (dump_ssaname_info): Use pp_vrange.
16550
16551 2022-07-15 Aldy Hernandez <aldyh@redhat.com>
16552
16553 * Makefile.in (OBJS): Add value-range-pretty-print.o.
16554 * pretty-print.h (pp_vrange): New.
16555 * value-range.cc (vrange::dump): Call pp version.
16556 (unsupported_range::dump): Move to its own file.
16557 (dump_bound_with_infinite_markers): Same.
16558 (irange::dump): Same.
16559 (irange::dump_bitmasks): Same.
16560 (vrange::debug): Remove.
16561 * value-range.h: Remove virtual designation for dump methods.
16562 Remove dump_bitmasks method.
16563 * value-range-pretty-print.cc: New file.
16564 * value-range-pretty-print.h: New file.
16565
16566 2022-07-15 Aldy Hernandez <aldyh@redhat.com>
16567
16568 * value-range.cc (irange::accept): New.
16569 (unsupported_range::accept): New.
16570 * value-range.h (class vrange_visitor): New.
16571 (class vrange): Add accept method.
16572 (class unsupported_range): Same.
16573 (class Value_Range): Same.
16574
16575 2022-07-15 Jonathan Wakely <jwakely@redhat.com>
16576
16577 * diagnostic-format-json.cc (json_from_location_range): Adjust
16578 to new label_text API.
16579 * diagnostic-format-sarif.cc (sarif_builder::make_location_object):
16580 Likewise.
16581 * diagnostic-show-locus.cc (struct pod_label_text): Likewise.
16582 (layout::print_any_labels): Likewise.
16583 * tree-diagnostic-path.cc (class path_label): Likewise.
16584 (struct event_range): Likewise.
16585 (default_tree_diagnostic_path_printer): Likewise.
16586 (default_tree_make_json_for_path): Likewise.
16587
16588 2022-07-15 konglin1 <lingling.kong@intel.com>
16589
16590 PR target/106113
16591 * config/i386/i386-builtin.def (BDESC): Fix [u]comi{ss,sd}
16592 comparison due to intrinsics changed over time.
16593 * config/i386/i386-expand.cc (ix86_ssecom_setcc):
16594 Add unordered check and mode for sse comi codegen.
16595 (ix86_expand_sse_comi): Add unordered check and check a different
16596 CCmode.
16597 (ix86_expand_sse_comi_round):Extract unordered check and mode part
16598 in ix86_ssecom_setcc.
16599
16600 2022-07-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
16601
16602 * config/aarch64/aarch64.cc (aarch64_vectorize_vec_perm_const): Use
16603 op_mode instead of vmode in calls to force_reg for op0 and op1.
16604
16605 2022-07-14 H.J. Lu <hjl.tools@gmail.com>
16606
16607 PR tree-optimization/103798
16608 * tree-ssa-forwprop.cc: Include "tree-ssa-strlen.h".
16609 (simplify_builtin_call): Inline memchr with constant strings of
16610 no more than the bytes of a word.
16611 * tree-ssa-strlen.cc (use_in_zero_equality): Make it global.
16612 * tree-ssa-strlen.h (use_in_zero_equality): New.
16613
16614 2022-07-14 Eric Botcazou <ebotcazou@adacore.com>
16615
16616 * gimplify.cc (lookup_tmp_var): Add NOT_GIMPLE_REG boolean parameter
16617 and set DECL_NOT_GIMPLE_REG_P on the variable according to it.
16618 (internal_get_tmp_var): Add NOT_GIMPLE_REG boolean parameter and
16619 pass it in the call to lookup_tmp_var.
16620 (get_formal_tmp_var): Pass false in the call to lookup_tmp_var.
16621 (get_initialized_tmp_var): Likewise.
16622 (prepare_gimple_addressable): Call internal_get_tmp_var instead of
16623 get_initialized_tmp_var with NOT_GIMPLE_REG set to true.
16624
16625 2022-07-14 Martin Liska <mliska@suse.cz>
16626
16627 * doc/gimple.texi: Close properly a deftypefn.
16628
16629 2022-07-14 Martin Liska <mliska@suse.cz>
16630
16631 * doc/gimple.texi: Close properly a deftypefn.
16632
16633 2022-07-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
16634
16635 * config/xtensa/xtensa.md:
16636 In FP constant synthesis split pattern, subcontract to
16637 avoid_constant_pool_reference() as in the case of integer,
16638 because it can handle well too. And cast to int32_t before
16639 calling xtensa_constantsynth() in order to ignore upper 32-bit.
16640
16641 2022-07-13 Aldy Hernandez <aldyh@redhat.com>
16642
16643 * range-op.cc (operator_lt::fold_range): Use nonzero bits.
16644
16645 2022-07-13 Aldy Hernandez <aldyh@redhat.com>
16646
16647 * value-range.cc (irange::copy_to_legacy): Set nonzero mask.
16648 (irange::legacy_intersect): Clear nonzero mask.
16649 (irange::legacy_union): Same.
16650 (irange::invert): Same.
16651
16652 2022-07-13 Richard Biener <rguenther@suse.de>
16653
16654 * tree-ssa-dom.h (record_temporary_equivalences): Remove.
16655 * tree-ssa-dom.cc (dom_jt_state::m_blocks_on_stack): New.
16656 (dom_jt_state::get_blocks_on_stack): Likewise.
16657 (dom_opt_dom_walker::dom_opt_dom_walker): Take dom_jt_state.
16658 (back_propagate_equivalences): Remove dominator bitmap
16659 compute and instead use passed in m_blocks_on_stack.
16660 (record_temporary_equivalences): Likewise.
16661 (record_equivalences_from_incoming_edge): Likewise.
16662 (dom_opt_dom_walker::before_dom_children): Maintain and
16663 pass down blocks on stack.
16664 (dom_opt_dom_walker::after_dom_children): Likewise.
16665
16666 2022-07-13 Andrew Carlotti <andrew.carlotti@arm.com>
16667
16668 * config/aarch64/aarch64-builtins.cc
16669 (aarch64_general_gimple_fold_builtin): Add fixup for invalid GIMPLE.
16670
16671 2022-07-13 Richard Biener <rguenther@suse.de>
16672
16673 PR tree-optimization/106249
16674 * tree-ssa-loop-manip.cc (tree_transform_and_unroll_loop):
16675 Only verify LC SSA of the new_loop if we created it.
16676 Use TODO_update_ssa_nophi for the SSA update after versioning
16677 the loop.
16678
16679 2022-07-12 Aldy Hernandez <aldyh@redhat.com>
16680
16681 * range-op.cc (unsigned_singleton_p): Remove.
16682 (operator_bitwise_and::remove_impossible_ranges): Remove.
16683 (operator_bitwise_and::fold_range): Set nonzero bits. *
16684 * value-range.cc (irange::get_nonzero_bits): Remove
16685 legacy_mode_p assert.
16686 (irange::dump_bitmasks): Remove legacy_mode_p check.
16687
16688 2022-07-12 Richard Sandiford <richard.sandiford@arm.com>
16689
16690 PR target/106253
16691 * predict.h (insn_optimization_type): Declare.
16692 * predict.cc (insn_optimization_type): New function.
16693 * internal-fn.def (IFN_ICEIL, IFN_IFLOOR, IFN_IRINT, IFN_IROUND)
16694 (IFN_LCEIL, IFN_LFLOOR, IFN_LRINT, IFN_LROUND, IFN_LLCEIL)
16695 (IFN_LLFLOOR, IFN_LLRINT, IFN_LLROUND): New internal functions.
16696 * internal-fn.cc (unary_convert_direct): New macro.
16697 (expand_convert_optab_fn): New function.
16698 (expand_unary_convert_optab_fn): New macro.
16699 (direct_unary_convert_optab_supported_p): Likewise.
16700 * optabs.cc (expand_sfix_optab): Pass insn_optimization_type to
16701 convert_optab_handler.
16702 * config/aarch64/aarch64-protos.h
16703 (aarch64_builtin_vectorized_function): Delete.
16704 * config/aarch64/aarch64-builtins.cc
16705 (aarch64_builtin_vectorized_function): Delete.
16706 * config/aarch64/aarch64.cc
16707 (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): Delete.
16708 * config/i386/i386.cc (ix86_optab_supported_p): Handle lround_optab.
16709 * config/i386/i386.md (lround<X87MODEF:mode><SWI248x:mode>2): Remove
16710 optimize_insn_for_size_p test.
16711
16712 2022-07-12 Richard Biener <rguenther@suse.de>
16713
16714 * tree-vect-loop-manip.cc (create_lcssa_for_virtual_phi):
16715 Remove.
16716 (vect_do_peeling): Do not call it, adjust comment.
16717
16718 2022-07-12 Richard Sandiford <richard.sandiford@arm.com>
16719
16720 * config/aarch64/aarch64-builtins.cc
16721 (aarch64_builtin_vectorized_function): Remove handling of
16722 floor, ceil, trunc, round, nearbyint, sqrt, clz and ctz.
16723
16724 2022-07-11 Andrew MacLeod <amacleod@redhat.com>
16725
16726 PR tree-optimization/106234
16727 * gimple-range-cache.cc (ranger_cache::range_from_dom): Check dominator
16728 cache value before recursively resolving it.
16729
16730 2022-07-11 Roger Sayle <roger@nextmovesoftware.com>
16731
16732 * config/i386/i386-features.h (scalar_chain): Add fields
16733 insns_conv, n_sse_to_integer and n_integer_to_sse to this
16734 parent class, moved from general_scalar_chain.
16735 (scalar_chain::convert_compare): Protected method moved
16736 from general_scalar_chain.
16737 (mark_dual_mode_def): Make protected, not private virtual.
16738 (scalar_chain:convert_op): New private virtual method.
16739 (general_scalar_chain::general_scalar_chain): Simplify constructor.
16740 (general_scalar_chain::~general_scalar_chain): Delete destructor.
16741 (general_scalar_chain): Move insns_conv, n_sse_to_integer and
16742 n_integer_to_sse fields to parent class, scalar_chain.
16743 (general_scalar_chain::mark_dual_mode_def): Delete prototype.
16744 (general_scalar_chain::convert_compare): Delete prototype.
16745 (timode_scalar_chain::compute_convert_gain): Remove simplistic
16746 implementation, convert to a method prototype.
16747 (timode_scalar_chain::mark_dual_mode_def): Delete prototype.
16748 (timode_scalar_chain::convert_op): Prototype new virtual method.
16749 * config/i386/i386-features.cc (scalar_chain::scalar_chain):
16750 Allocate insns_conv and initialize n_sse_to_integer and
16751 n_integer_to_sse fields in constructor.
16752 (scalar_chain::scalar_chain): Free insns_conv in destructor.
16753 (general_scalar_chain::general_scalar_chain): Delete
16754 constructor, now defined in the class declaration.
16755 (general_scalar_chain::~general_scalar_chain): Delete destructor.
16756 (scalar_chain::mark_dual_mode_def): Renamed from
16757 general_scalar_chain::mark_dual_mode_def.
16758 (timode_scalar_chain::mark_dual_mode_def): Delete.
16759 (scalar_chain::convert_compare): Renamed from
16760 general_scalar_chain::convert_compare.
16761 (timode_scalar_chain::compute_convert_gain): New method to
16762 determine the gain from converting a TImode chain to V1TImode.
16763 (timode_scalar_chain::convert_op): New method to convert an
16764 operand from TImode to V1TImode.
16765 (timode_scalar_chain::convert_insn) <case REG>: Only PUT_MODE
16766 on REG_EQUAL notes that were originally TImode (not CONST_INT).
16767 Handle AND, ANDN, XOR, IOR, NOT and COMPARE.
16768 (timode_mem_p): Helper predicate to check where operand is
16769 memory reference with sufficient alignment for TImode STV.
16770 (timode_scalar_to_vector_candidate_p): Use convertible_comparison_p
16771 to check whether COMPARE is convertible. Handle SET_DESTs that
16772 that are REG_P or MEM_P and SET_SRCs that are REG, CONST_INT,
16773 CONST_WIDE_INT, MEM, AND, ANDN, IOR, XOR or NOT.
16774
16775 2022-07-11 Richard Sandiford <richard.sandiford@arm.com>
16776
16777 PR tree-optimization/106250
16778 * tree-vect-loop.cc (vectorizable_reduction): Reinstate final
16779 argument to directly_supported_p.
16780
16781 2022-07-11 Richard Biener <rguenther@suse.de>
16782
16783 * tree-into-ssa.cc (update_ssa): Do not forcefully
16784 re-compute dominance fast queries for TODO_update_ssa_no_phi.
16785
16786 2022-07-11 Richard Biener <rguenther@suse.de>
16787
16788 PR tree-optimization/106228
16789 * tree-vect-data-refs.cc (vect_setup_realignment): Adjust
16790 VUSE compute for the non-loop case.
16791
16792 2022-07-11 Richard Biener <rguenther@suse.de>
16793
16794 * tree-into-ssa.cc (rewrite_mode::REWRITE_UPDATE_REGION): New.
16795 (rewrite_update_dom_walker::rewrite_update_dom_walker): Update.
16796 (rewrite_update_dom_walker::m_in_region_flag): New.
16797 (rewrite_update_dom_walker::before_dom_children): If the region
16798 to update is marked, STOP at exits.
16799 (rewrite_blocks): For REWRITE_UPDATE_REGION mark the region
16800 to be updated.
16801 (dump_update_ssa): Use bitmap_empty_p.
16802 (update_ssa): Likewise. Use REWRITE_UPDATE_REGION when
16803 TODO_update_ssa_no_phi.
16804 * tree-cfgcleanup.cc (cleanup_tree_cfg_noloop): Account
16805 pending update_ssa to the caller.
16806
16807 2022-07-11 Richard Biener <rguenthert@suse.de>
16808
16809 PR target/105459
16810 * config/i386/i386-options.cc (ix86_set_current_function):
16811 Rebuild the target optimization node whenever necessary,
16812 not only when the optimization node didn't change.
16813
16814 2022-07-11 Richard Biener <rguenther@suse.de>
16815
16816 PR tree-optimization/106228
16817 * tree-vect-data-refs.cc (vect_setup_realignment): Properly
16818 set a VUSE operand on the emitted load.
16819
16820 2022-07-11 Aldy Hernandez <aldyh@redhat.com>
16821
16822 * gimple-range.cc (gimple_ranger::export_global_ranges): Remove
16823 verification against legacy value_range.
16824 (gimple_ranger::register_inferred_ranges): Same.
16825 (gimple_ranger::export_global_ranges): Rename update_global_range
16826 to set_range_info.
16827 * tree-core.h (struct range_info_def): Remove.
16828 (struct irange_storage_slot): New.
16829 (struct tree_base): Remove SSA_NAME_ANTI_RANGE_P documentation.
16830 (struct tree_ssa_name): Add vrange_storage support.
16831 * tree-ssanames.cc (range_info_p): New.
16832 (range_info_fits_p): New.
16833 (range_info_alloc): New.
16834 (range_info_free): New.
16835 (range_info_get_range): New.
16836 (range_info_set_range): New.
16837 (set_range_info_raw): Remove.
16838 (set_range_info): Adjust to use vrange_storage.
16839 (set_nonzero_bits): Same.
16840 (get_nonzero_bits): Same.
16841 (duplicate_ssa_name_range_info): Remove overload taking
16842 value_range_kind.
16843 Rewrite tree overload to use vrange_storage.
16844 (duplicate_ssa_name_fn): Adjust to use vrange_storage.
16845 * tree-ssanames.h (struct range_info_def): Remove.
16846 (set_range_info): Adjust prototype to take vrange.
16847 * tree-vrp.cc (vrp_asserts::remove_range_assertions): Call
16848 duplicate_ssa_name_range_info.
16849 * tree.h (SSA_NAME_ANTI_RANGE_P): Remove.
16850 (SSA_NAME_RANGE_TYPE): Remove.
16851 * value-query.cc (get_ssa_name_range_info): Adjust to use
16852 vrange_storage.
16853 (update_global_range): Remove.
16854 (get_range_global): Remove as_a<irange>.
16855 * value-query.h (update_global_range): Remove.
16856 * tree-ssa-dom.cc (set_global_ranges_from_unreachable_edges):
16857 Rename update_global_range to set_range_info.
16858 * value-range-storage.cc (vrange_storage::alloc_slot): Remove
16859 gcc_unreachable.
16860
16861 2022-07-10 Aldy Hernandez <aldyh@redhat.com>
16862
16863 * value-range.cc (irange::operator=): Call verify_range.
16864 (irange::irange_set): Normalize kind after everything else has
16865 been set.
16866 (irange::irange_set_anti_range): Same.
16867 (irange::set): Same.
16868 (irange::verify_range): Disallow nonzero masks for VARYING.
16869 (irange::irange_union): Call verify_range.
16870 Handle nonzero masks better.
16871 (irange::irange_intersect): Same.
16872 (irange::set_nonzero_bits): Calculate mask if either range has an
16873 explicit mask.
16874 (irange::intersect_nonzero_bits): Same.
16875 (irange::union_nonzero_bits): Same.
16876 (range_tests_nonzero_bits): New.
16877 (range_tests): Call range_tests_nonzero_bits.
16878 * value-range.h (class irange): Remove set_nonzero_bits method
16879 with trees.
16880 (irange::varying_compatible_p): Set nonzero mask.
16881
16882 2022-07-10 Xi Ruoyao <xry111@xry111.site>
16883
16884 * config/loongarch/loongarch.md (<any_div>di3_fake): Describe
16885 the sign-extend of result in the RTL template.
16886 (<any_div><mode>3): Adjust for <any_div>di3_fake change.
16887
16888 2022-07-10 Xi Ruoyao <xry111@xry111.site>
16889
16890 * config/loongarch/loongarch.cc (loongarch_check_zero_div_p):
16891 Remove static, for use in the machine description file.
16892 * config/loongarch/loongarch-protos.h:
16893 (loongarch_check_zero_div_p): Add prototype.
16894 * config/loongarch/loongarch.md (enabled): New attr.
16895 (*<optab><mode>3): Add (=r,r,r) and (=&r,0,r) alternatives for
16896 idiv. Conditionally enable the alternatives using
16897 loongarch_check_zero_div_p.
16898 (<optab>di3_fake): Likewise.
16899
16900 2022-07-10 Xi Ruoyao <xry111@xry111.site>
16901
16902 * config/loongarch/loongarch.md (mulsidi3_64bit): Use mulw.d.w
16903 instead of mul.d.
16904
16905 2022-07-09 Aldy Hernandez <aldyh@redhat.com>
16906
16907 * value-range.cc (irange::irange_single_pair_union): Set
16908 VR_VARYING when appropriate.
16909
16910 2022-07-09 Vit Kabele <vit.kabele@sysgo.com>
16911
16912 * stor-layout.cc (finalize_record_size): Extend warning message.
16913
16914 2022-07-09 Sam Feifer <sfeifer@redhat.com>
16915
16916 PR tree-optimization/98304
16917 * match.pd (n - (((n > C1) ? n : C1) & -C2)): New simplification.
16918
16919 2022-07-09 Jeff Law <jeffreyalaw@gmail.com>
16920
16921 * expr.cc (store_expr): Identify trailing NULs in a STRING_CST
16922 initializer and use clear_storage rather than copying the
16923 NULs to the destination array.
16924
16925 2022-07-09 Roger Sayle <roger@nextmovesoftware.com>
16926
16927 * config/i386/i386.md (define_peephole2): Use match_operand of
16928 flags_reg_operand to capture and preserve the mode of FLAGS_REG.
16929 (define_peephole2): Likewise.
16930 (define_peephole2): Likewise...
16931
16932 2022-07-09 Roger Sayle <roger@nextmovesoftware.com>
16933
16934 * config/i386/i386-features.cc (convert_compare): Add support
16935 for *testdi_not_doubleword pattern, "(compare (and (not ...)))"
16936 by generating a pandn followed by ptest.
16937 (convertible_comparison_p): Recognize both *cmpdi_doubleword and
16938 recent *testdi_not_doubleword comparison patterns.
16939
16940 2022-07-09 Tamar Christina <tamar.christina@arm.com>
16941
16942 * config/s390/s390.cc (s390_expand_atomic): Pass false to store_bit_field to
16943 indicate that the value is not undefined.
16944
16945 2022-07-09 Andrew Pinski <apinski@marvell.com>
16946
16947 PR tree-optimization/106087
16948 * tree-ssa-dce.cc (simple_dce_from_worklist): Check
16949 to make sure the statement is only defining one operand.
16950
16951 2022-07-08 Lewis Hyatt <lhyatt@gmail.com>
16952
16953 PR preprocessor/91733
16954 * input.cc (find_end_of_line): New helper function.
16955 (file_cache_slot::get_next_line): Recognize \r as a line ending.
16956 * diagnostic-show-locus.cc (test_escaping_bytes_1): Adapt selftest
16957 since \r will now be interpreted as a line-ending.
16958
16959 2022-07-08 Martin Liska <mliska@suse.cz>
16960
16961 PR sanitizer/106132
16962 * opts.cc (finish_options): Use 2 calls to
16963 report_conflicting_sanitizer_options.
16964
16965 2022-07-08 Richard Biener <rguenther@suse.de>
16966
16967 PR tree-optimization/106226
16968 * tree-vect-loop-manip.cc (vect_do_peeling): Assert that
16969 no SSA update is needed. Move virtual SSA update ...
16970 * tree-vectorizer.cc (pass_vectorize::execute): ... here,
16971 via forced virtual renaming when TODO_update_ssa_only_virtuals
16972 is queued.
16973 (vect_transform_loops): Return TODO_update_ssa_only_virtuals
16974 when virtual SSA update is required.
16975 (try_vectorize_loop_1): Adjust.
16976 * tree-vect-stmts.cc (vectorizable_simd_clone_call): Allow
16977 virtual renaming if the ABI forces an aggregate return
16978 but the original call did not have a virtual definition.
16979
16980 2022-07-08 Martin Liska <mliska@suse.cz>
16981
16982 * toplev.cc (init_asm_output): Do not init asm_out_file.
16983
16984 2022-07-08 Tamar Christina <tamar.christina@arm.com>
16985
16986 PR tree-optimization/106063
16987 * match.pd: Do not apply pattern after veclower is not supported.
16988
16989 2022-07-08 Thomas Schwinge <thomas@codesourcery.com>
16990
16991 * lto-cgraph.cc (input_offload_tables) <LTO_symtab_edge>: Correct
16992 'fn2' computation.
16993
16994 2022-07-08 Tamar Christina <tamar.christina@arm.com>
16995
16996 * expmed.cc (store_bit_field_1): Add parameter that indicates if value is
16997 still undefined and if so emit a subreg move instead.
16998 (store_integral_bit_field): Likewise.
16999 (store_bit_field): Likewise.
17000 * expr.h (write_complex_part): Likewise.
17001 * expmed.h (store_bit_field): Add new parameter.
17002 * builtins.cc (expand_ifn_atomic_compare_exchange_into_call): Use new
17003 parameter.
17004 (expand_ifn_atomic_compare_exchange): Likewise.
17005 * calls.cc (store_unaligned_arguments_into_pseudos): Likewise.
17006 * emit-rtl.cc (validate_subreg): Likewise.
17007 * expr.cc (emit_group_store): Likewise.
17008 (copy_blkmode_from_reg): Likewise.
17009 (copy_blkmode_to_reg): Likewise.
17010 (clear_storage_hints): Likewise.
17011 (write_complex_part): Likewise.
17012 (emit_move_complex_parts): Likewise.
17013 (expand_assignment): Likewise.
17014 (store_expr): Likewise.
17015 (store_field): Likewise.
17016 (expand_expr_real_2): Likewise.
17017 * ifcvt.cc (noce_emit_move_insn): Likewise.
17018 * internal-fn.cc (expand_arith_set_overflow): Likewise.
17019 (expand_arith_overflow_result_store): Likewise.
17020 (expand_addsub_overflow): Likewise.
17021 (expand_neg_overflow): Likewise.
17022 (expand_mul_overflow): Likewise.
17023 (expand_arith_overflow): Likewise.
17024
17025 2022-07-08 Haochen Jiang <haochen.jiang@intel.com>
17026
17027 PR target/106180
17028 * config/i386/sse.md (sse2_cvtps2pd<mask_name>_1):
17029 Rename from *sse2_cvtps2pd<mask_name>_1.
17030 (vec_unpacks_lo_v4sf): Add handler for memory operand.
17031
17032 2022-07-08 Lulu Cheng <chenglulu@loongson.cn>
17033
17034 * config/loongarch/loongarch.cc (loongarch_compute_frame_info):
17035 Modify fp_sp_offset and gp_sp_offset's calculation method,
17036 when frame->mask or frame->fmask is zero, don't minus UNITS_PER_WORD
17037 or UNITS_PER_FP_REG.
17038
17039 2022-07-07 David Malcolm <dmalcolm@redhat.com>
17040
17041 * diagnostic-format-json.cc (json_from_location_range): Update for
17042 removal of label_text::maybe_free in favor of automatic memory
17043 management.
17044 * diagnostic-format-sarif.cc
17045 (sarif_builder::make_location_object): Likewise.
17046 * diagnostic-show-locus.cc (struct pod_label_text): New.
17047 (class line_label): Convert m_text from label_text to pod_label_text.
17048 (layout::print_any_labels): Move "text" to the line_label.
17049 * tree-diagnostic-path.cc (path_label::get_text): Update for
17050 removal of label_text::maybe_free in favor of automatic memory
17051 management.
17052 (event_range::print): Likewise.
17053 (default_tree_diagnostic_path_printer): Likewise.
17054 (default_tree_make_json_for_path): Likewise.
17055
17056 2022-07-07 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
17057
17058 * statistics.cc (get_function_name): Add check to see if fn is not NULL.
17059
17060 2022-07-07 Richard Biener <rguenther@suse.de>
17061
17062 * tree-into-ssa.cc (iterating_old_ssa_names): New.
17063 (add_new_name_mapping): Grow {new,old}_ssa_names separately
17064 and only when actually needed. Assert we are not growing
17065 the old_ssa_names set when iterating over it.
17066 (update_ssa): Remove old_ssa_names copying and empty_p
17067 query, note we are iterating over it and expect no set changes.
17068
17069 2022-07-07 Thomas Schwinge <thomas@codesourcery.com>
17070
17071 * config/i386/intelmic-mkoffload.cc (generate_host_descr_file)
17072 (prepare_target_image, main): Handle OpenMP 'requires'.
17073 (generate_host_descr_file): Switch to 'GOMP_offload_register_ver',
17074 'GOMP_offload_unregister_ver'.
17075
17076 2022-07-07 Richard Biener <rguenther@suse.de>
17077
17078 PR target/106219
17079 * config/i386/i386-builtins.cc (ix86_add_new_builtins): Properly
17080 set DECL_PURE_P.
17081
17082 2022-07-07 Richard Biener <rguenther@suse.de>
17083
17084 * tree-ssa-loop-manip.cc (add_exit_phis_var): Return the
17085 number of LC PHIs inserted.
17086 (add_exit_phis): Return whether any variable required
17087 multiple LC PHI nodes.
17088 (rewrite_into_loop_closed_ssa_1): Use TODO_update_ssa_no_phi
17089 when possible.
17090
17091 2022-07-07 Richard Biener <rguenther@suse.de>
17092
17093 * tree-ssa-loop-manip.cc (compute_live_loop_exits): Take
17094 the def loop exit block bitmap as argument instead of
17095 re-computing it here.
17096 (add_exit_phis_var): Adjust.
17097 (loop_name_cmp): New function.
17098 (add_exit_phis): Sort variables to insert LC PHI nodes
17099 after definition loop, for each definition loop compute
17100 the exit block bitmap once.
17101 (get_loops_exit): Remove.
17102 (rewrite_into_loop_closed_ssa_1): Do not pre-record
17103 all loop exit blocks into bitmaps. Record loop exits
17104 if required.
17105
17106 2022-07-07 Dimitrije Milosevic <Dimitrije.Milosevic@Syrmia.com>
17107
17108 * config/mips/mips.cc (mips_asan_shadow_offset): Reformat
17109 to handle the N32 ABI.
17110 * config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Remove
17111 the macro, as it is not needed anymore.
17112
17113 2022-07-06 Thomas Schwinge <thomas@codesourcery.com>
17114
17115 * config/gcn/mkoffload.cc (process_obj): Clarify 'target_data' ->
17116 '[...]_data'.
17117 * config/nvptx/mkoffload.cc (process): Likewise.
17118
17119 2022-07-06 Thomas Schwinge <thomas@codesourcery.com>
17120
17121 * omp-general.h (enum omp_requires): Use 'GOMP_REQUIRES_[...]'.
17122
17123 2022-07-05 Andrew MacLeod <amacleod@redhat.com>
17124
17125 * value-relation.cc (relation_to_code): New vector.
17126 (relation_oracle::validate_relation): New.
17127 (set_relation): Allow ssa1 == ssa2 to be registered.
17128 * value-relation.h (validate_relation): New prototype.
17129 (query_relation): Make internal variant protected.
17130
17131 2022-07-05 Roger Sayle <roger@nextmovesoftware.com>
17132
17133 * config/i386/i386.cc (ix86_rtx_costs) <COMPARE>: Provide costs
17134 for double word comparisons and tests (comparisons against zero).
17135 * config/i386/i386.md (*test<mode>_not_doubleword): Split DWI
17136 and;cmp into andn;cmp $0 as a pre-reload splitter.
17137 (*andn<dwi>3_doubleword_bmi): Use <dwi> instead of <mode> in name.
17138 (*<any_or><dwi>3_doubleword): Likewise.
17139
17140 2022-07-05 Roger Sayle <roger@nextmovesoftware.com>
17141 Hongtao Liu <hongtao.liu@intel.com>
17142
17143 * config/i386/i386-builtin.def (__builtin_ia32_palignr128): Change
17144 CODE_FOR_ssse3_palignrti to CODE_FOR_ssse3_palignrv1ti.
17145 * config/i386/i386-expand.cc (expand_vec_perm_palignr): Use V1TImode
17146 and gen_ssse3_palignv1ti instead of TImode.
17147 * config/i386/sse.md (SSESCALARMODE): Delete.
17148 (define_mode_attr ssse3_avx2): Handle V1TImode instead of TImode.
17149 (<ssse3_avx2>_palignr<mode>): Use VIMAX_AVX2_AVX512BW as a mode
17150 iterator instead of SSESCALARMODE.
17151 (ssse3_palignrdi): Optimize cases where operands[3] is 0 or 64,
17152 using a single move instruction (if required).
17153
17154 2022-07-05 Roger Sayle <roger@nextmovesoftware.com>
17155 Uroš Bizjak <ubizjak@gmail.com>
17156
17157 PR rtl-optimization/96692
17158 * config/i386/i386.md (define_split): Split ((A | B) ^ C) ^ D
17159 as (X & ~Y) ^ Z on target BMI when either C or D is A or B.
17160
17161 2022-07-05 Richard Biener <rguenther@suse.de>
17162
17163 PR tree-optimization/106198
17164 * tree-cfgcleanup.cc (repair_loop_structures): Always do a
17165 full LC SSA rewrite but only if any blocks changed loop
17166 depth.
17167
17168 2022-07-05 Richard Biener <rguenther@suse.de>
17169
17170 * tree-ssa-loop-manip.cc (find_uses_to_rename_def): Remove.
17171 (find_uses_to_rename_in_loop): Likewise.
17172 (rewrite_into_loop_closed_ssa_1): Remove loop parameter and
17173 uses.
17174 (rewrite_into_loop_closed_ssa): Adjust.
17175
17176 2022-07-05 Richard Biener <rguenther@suse.de>
17177
17178 PR tree-optimization/106186
17179 * tree-ssa-propagate.cc (clean_up_loop_closed_phi):
17180 Properly handle virtual PHI nodes.
17181
17182 2022-07-05 Richard Biener <rguenther@suse.de>
17183
17184 PR tree-optimization/106196
17185 * tree-vect-stmts.cc (vect_finish_stmt_generation): Properly
17186 handle aggregate returns of calls for VDEF updates.
17187
17188 2022-07-05 Richard Biener <rguenther@suse.de>
17189
17190 * tree-vect-loop-manip.cc (vect_set_loop_condition_normal):
17191 Maintain LC SSA.
17192
17193 2022-07-05 Richard Sandiford <richard.sandiford@arm.com>
17194
17195 * tree-vect-patterns.cc (vect_convert_input): Expect the input
17196 type to be signed for optab_vector_mixed_sign. Update the vectype
17197 at the same time as type.
17198 (vect_recog_dot_prod_pattern): Update accordingly. If usdot isn't
17199 available, try sdot instead.
17200 * tree-vect-loop.cc (vect_is_emulated_mixed_dot_prod): New function.
17201 (vect_model_reduction_cost): Model the cost of implementing usdot
17202 using sdot.
17203 (vectorizable_reduction): Likewise. Skip target support test
17204 for lane reductions.
17205 (vect_emulate_mixed_dot_prod): New function.
17206 (vect_transform_reduction): Use it to emulate usdot via sdot.
17207
17208 2022-07-05 Richard Biener <rguenther@suse.de>
17209
17210 PR tree-optimization/106182
17211 * loop-init.cc (fix_loop_structure): Return the number
17212 of newly discovered plus the number of deleted loops.
17213 * tree-cfgcleanup.cc (repair_loop_structures): Adjust
17214 variable name.
17215
17216 2022-07-04 Aldy Hernandez <aldyh@redhat.com>
17217
17218 * gimple-range-fold.cc
17219 (fold_using_range::range_of_ssa_name_with_loop_info): Restrict the
17220 call to SCEV for irange supported types.
17221 (fold_using_range::range_of_builtin_int_call): Convert to vrange.
17222 * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Same.
17223 * tree-ssa-dom.cc (cprop_operand): Same.
17224
17225 2022-07-04 Roger Sayle <roger@nextmovesoftware.com>
17226
17227 PR target/104489
17228 * calls.cc (precompute_register_parameters): Allow promotion
17229 of floating point values to be passed in wider integer modes
17230 by calling new convert_float_to_wider_int.
17231 (expand_call): Allow floating point results to be returned in
17232 wider integer modes by calling new convert wider_int_to_float.
17233 * cfgexpand.cc (expand_value_return): Allow backends to promote
17234 a scalar floating point return value to a wider integer mode
17235 by calling new convert_float_to_wider_int.
17236 * expr.cc (convert_float_to_wider_int): New function.
17237 (convert_wider_int_to_float): Likewise.
17238 (expand_expr_real_1) <expand_decl_rtl>: Allow backends to promote
17239 scalar FP PARM_DECLs to wider integer modes, by calling new
17240 convert_wider_int_to_float.
17241 * expr.h (convert_modes): Name arguments for improved documentation.
17242 (convert_float_to_wider_int): Prototype new function here.
17243 (convert_wider_int_to_float): Likewise.
17244 * function.cc (assign_parm_setup_stack): Allow floating point
17245 values to be passed on the stack as wider integer modes by
17246 calling new convert_wider_int_to_float.
17247
17248 2022-07-04 Martin Jambor <mjambor@suse.cz>
17249
17250 PR tree-optimization/105860
17251 * tree-sra.cc (build_reconstructed_reference): Start expr
17252 traversal only just below the outermost union.
17253
17254 2022-07-04 Richard Biener <rguenther@suse.de>
17255
17256 * tree-vect-loop-manip.cc (vect_do_peeling): Revert assert
17257 and update virtual SSA form again. Assert we do so for
17258 a known set of transforms only.
17259 * tree-vectorizer.h (vec_info::any_known_not_updated_vssa): New.
17260 * tree-vect-stmts.cc (vectorizable_load): When vectorizing
17261 using load-lanes allow virtual SSA update.
17262
17263 2022-07-04 Tobias Burnus <tobias@codesourcery.com>
17264 Chung-Lin Tang <cltang@codesourcery.com>
17265 Thomas Schwinge <thomas@codesourcery.com>
17266
17267 * config/gcn/mkoffload.cc (process_asm): Write '#include <stdint.h>'.
17268 (process_obj): Pass omp_requires_mask to GOMP_offload_register_ver.
17269 (main): Ask lto1 to obtain omp_requires_mask and pass it on.
17270 * config/nvptx/mkoffload.cc (process, main): Likewise.
17271 * lto-cgraph.cc (omp_requires_to_name): New.
17272 (input_offload_tables): Save omp_requires_mask.
17273 (output_offload_tables): Read it, check for consistency,
17274 save value for mkoffload.
17275 * omp-low.cc (lower_omp_target): Force output_offloadtables
17276 call for OMP_REQUIRES_TARGET_USED.
17277
17278 2022-07-04 Richard Biener <rguenther@suse.de>
17279
17280 * tree-vect-loop-manip.cc (vect_do_peeling): Assert that
17281 no SSA update is needed instead of updating virtual SSA
17282 form.
17283 * tree-vect-stmts.cc (vectorizable_load): For hoisted
17284 invariant load use the loop entry virtual use.
17285 For emulated gather loads use the virtual use of the
17286 original stmt like vect_finish_stmt_generation would do.
17287
17288 2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
17289
17290 * tree-pretty-print.cc (dump_generic_node) <ARRAY_TYPE>: Add guard
17291 for direct circularity.
17292
17293 2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
17294
17295 * dwarf2out.cc (gen_array_type_die): Use the default lower bound of
17296 the language for vector types.
17297
17298 2022-07-04 Aldy Hernandez <aldyh@redhat.com>
17299
17300 * value-range-storage.cc (irange_storage_slot::set_irange): Set
17301 nonzero bits in irange.
17302 (irange_storage_slot::get_irange): Get nonzero bits from irange.
17303 * value-range.cc (irange::operator=): Set nonzero bits.
17304 (irange::irange_set): Same.
17305 (irange::irange_set_anti_range): Same.
17306 (irange::set): Same.
17307 (irange::verify_range): Same.
17308 (irange::legacy_equal_p): Check nonzero bits.
17309 (irange::equal_p): Same.
17310 (irange::contains_p): Handle nonzero bits.
17311 (irange::irange_union): Same.
17312 (irange::irange_intersect): Same.
17313 (irange::dump): Same.
17314 (irange::set_nonzero_bits): New.
17315 (irange::get_nonzero_bits): New.
17316 (irange::intersect_nonzero_bits): New.
17317 (irange::union_nonzero_bits): New.
17318 (irange::dump_bitmasks): New.
17319 * value-range.h (class irange): Add m_nonzero_mask.
17320 (gt_ggc_mx): Handle nonzero bits.
17321 (gt_pch_nx): Same.
17322 (irange::set_undefined): Set nonzero bits.
17323 (irange::set_varying): Same.
17324 (irange::normalize_kind): Call set_undefined.
17325
17326 2022-07-04 Richard Biener <rguenther@suse.de>
17327
17328 * tree-ssa-loop-manip.h
17329 (rewrite_virtuals_into_loop_closed_ssa): Remove.
17330 (rewrite_into_loop_closed_ssa_1): Likewise.
17331 * tree-ssa-loop-manip.cc (rewrite_into_loop_closed_ssa_1):
17332 Make static.
17333 (rewrite_into_loop_closed_ssa): Remove loop overload,
17334 always rewrite virtuals into LC SSA.
17335 (check_loop_closed_ssa_bb): Also check virtuals.
17336 * tree-ssa-dce.cc (remove_dead_phis): Preserve virtual
17337 LC PHIs when in LC SSA.
17338 * gimple-loop-jam.cc (fuse_loops): Do not rewrite into
17339 loop-closed SSA here, but ...
17340 (tree_loop_unroll_and_jam): ... here once.
17341 * tree-if-conv.cc (version_loop_for_if_conversion): Use
17342 the cheaper TODO_update_ssa_no_phi.
17343 * tree-loop-distribution.cc (version_loop_by_alias_check):
17344 Likewise.
17345 * tree-ssa-loop-unswitch.cc (tree_unswitch_single_loop):
17346 Likewise.
17347 * tree-vect-loop-manip.cc (vect_loop_versioning): Likewise.
17348 (tree_unswitch_outer_loop): Do not rewrite virtuals into
17349 LC ssa.
17350 * tree-parloops.cc (transform_to_exit_first_loop_alt):
17351 Likewise.
17352 (pass_parallelize_loops::execute): After finishing rewrite
17353 into LC SSA again because we do not maintain it properly.
17354
17355 2022-07-04 Richard Biener <rguenther@suse.de>
17356
17357 PR tree-optimization/106055
17358 * graphite.cc (canonicalize_loop_closed_ssa): Check whether
17359 we can propagate.
17360
17361 2022-07-04 Haochen Jiang <haochen.jiang@intel.com>
17362
17363 PR target/43618
17364 * config/i386/sse.md (extendv2sfv2df2): New define_expand.
17365 (sse2_cvtps2pd_<mask_name>): Change constraint of operands[1].
17366 (*sse2_cvtps2pd_<mask_name>_1): Rename from extendvsdfv2df2.
17367
17368 2022-07-04 Aldy Hernandez <aldyh@redhat.com>
17369
17370 * ipa-cp.cc (ipcp_vr_lattice::meet_with_1): Use operator!=.
17371 * ipa-prop.cc (struct ipa_vr_ggc_hash_traits): Same.
17372 * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): Use set
17373 with two arguments.
17374 (find_unswitching_predicates_for_bb): Same.
17375 * tree-vrp.cc (range_fold_unary_symbolics_p): Same.
17376 * value-range-equiv.cc (value_range_equiv::equal_p): Use operator==.
17377 * value-range.cc (irange::equal_p): Rename to...
17378 (irange::operator==): ...this.
17379 * value-range.h (irange::set): Remove.
17380 (irange::operator==): Remove.
17381 (irange::set_zero): Use set with two arguments.
17382 * vr-values.cc (vr_values::extract_range_from_binary_expr): Same.
17383 (vr_values::extract_range_from_unary_expr): Same.
17384 (check_for_binary_op_overflow): Same.
17385 (bounds_of_var_in_loop): Same.
17386
17387 2022-07-03 H.J. Lu <hjl.tools@gmail.com>
17388
17389 PR target/106022
17390 * config/i386/i386-protos.h (ix86_convert_const_vector_to_integer):
17391 New.
17392 * config/i386/i386.cc (ix86_convert_const_vector_to_integer):
17393 New.
17394 * config/i386/mmx.md (V_16_32_64): New.
17395 (*mov<mode>_imm): New patterns for stores with 16-bit, 32-bit
17396 and 64-bit constant vector.
17397 * config/i386/predicates.md (x86_64_const_vector_operand): New.
17398
17399 2022-07-03 Aldy Hernandez <aldyh@redhat.com>
17400
17401 * gimple-range-cache.cc: Include value-range-storage.h.
17402 * gimple-range-cache.h (class block_range_cache): Add "class" to
17403 m_range_allocator.
17404 * gimple-range-edge.cc
17405 (gimple_outgoing_range::gimple_outgoing_range): Allocate allocator.
17406 (gimple_outgoing_range::~gimple_outgoing_range): Free allocator.
17407 (gimple_outgoing_range::calc_switch_ranges): Dereference allocator.
17408 * gimple-range-edge.h: Add "class" to m_range_allocator.
17409 * gimple-range-infer.cc
17410 (infer_range_manager::infer_range_manager): Allocate allocator.
17411 (infer_range_manager::~infer_range_manager): Free allocator.
17412 (infer_range_manager::get_nonzero): Dereference allocator.
17413 (infer_range_manager::add_range): Same.
17414 * gimple-range-infer.h (class vrange_allocator): Add "class" to
17415 m_range_allocator.
17416 * value-range-storage.h (class vrange_allocator): Move from
17417 value-range.h.
17418 (class obstack_vrange_allocator): Same.
17419 (class ggc_vrange_allocator): Same.
17420 (vrange_allocator::alloc_vrange): Same.
17421 (vrange_allocator::alloc_irange): Same.
17422 * value-range.h (class vrange_allocator): Move to value-range-storage.h.
17423 (class obstack_vrange_allocator): Same.
17424 (class ggc_vrange_allocator): Same.
17425
17426 2022-07-03 Aldy Hernandez <aldyh@redhat.com>
17427
17428 * Makefile.in (OBJS): Add value-range-storage.o.
17429 (GTFILES): Add value-range-storage.h.
17430 * gengtype.cc (open_base_files): Add value-range-storage.h.
17431 * value-range-storage.cc: New file.
17432 * value-range-storage.h: New file.
17433
17434 2022-07-03 Xi Ruoyao <xry111@xry111.site>
17435 Lulu Cheng <chenglulu@loongson.cn>
17436
17437 * config/loongarch/loongarch.cc (loongarch_check_zero_div_p):
17438 New static function.
17439 (loongarch_idiv_insns): Use loongarch_check_zero_div_p instead
17440 of TARGET_CHECK_ZERO_DIV.
17441 (loongarch_output_division): Likewise.
17442 * common/config/loongarch/loongarch-common.cc
17443 (TARGET_DEFAULT_TARGET_FLAGS): Remove unneeded hook.
17444 * doc/invoke.texi: Update to match the new behavior.
17445
17446 2022-07-03 Ian Lance Taylor <iant@golang.org>
17447
17448 * tree-ssa-dse.cc (dse_optimize_stmt): Only delete a trapping
17449 statement if -fdelete-dead-exceptions.
17450
17451 2022-07-02 Tim Lange <mail@tim-lange.me>
17452
17453 PR analyzer/105900
17454 * doc/invoke.texi: Added Wanalyzer-allocation-size.
17455
17456 2022-07-02 Immad Mir <mirimmad17@gmail.com>
17457
17458 PR analyzer/106003
17459 * Makefile.in (ANALYZER_OBJS): Add sm-fd.o.
17460 * doc/invoke.texi: Add -Wanalyzer-fd-double-close, -Wanalyzer-fd-leak,
17461 -Wanalyzer-fd-access-mode-mismatch, -Wanalyzer-fd-use-without-check,
17462 -Wanalyzer-fd-use-after-close.
17463
17464 2022-07-01 Aldy Hernandez <aldyh@redhat.com>
17465
17466 * wide-int.h (struct trailing_wide_ints): Add m_num_elements.
17467 (trailing_wide_ints::set_precision): Add num_elements argument.
17468 (trailing_wide_ints::extra_size): Same.
17469
17470 2022-07-01 Uroš Bizjak <ubizjak@gmail.com>
17471
17472 * config/i386/i386.md (*andn<mode>3_doubleword_bmi):
17473 Use "r" constraint for operand 1.
17474
17475 2022-07-01 Richard Biener <rguenther@suse.de>
17476
17477 * tree-into-ssa.cc (rewrite_update_dom_walker::before_dom_children):
17478 Do not look at interesting_blocks which is a copy of
17479 blocks_to_update.
17480 (update_ssa): Do not initialize it.
17481 (pass_build_ssa::execute): Set interesting_blocks to NULL
17482 after releasing it.
17483
17484 2022-07-01 Richard Biener <rguenther@suse.de>
17485
17486 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Revert
17487 back to using maybe_ne (off, -1).
17488
17489 2022-07-01 Richard Biener <rguenther@suse.de>
17490
17491 * tree-ssa-sccvn.cc (vn_nary_op_insert_into): Make
17492 checking dominance check conditional on flag_checking.
17493
17494 2022-07-01 Tobias Burnus <tobias@codesourcery.com>
17495
17496 * config/gcn/gcn-protos.h (print_operand_address): Remove register
17497 keyword on 'rtx addr' argument.
17498
17499 2022-07-01 Roger Sayle <roger@nextmovesoftware.com>
17500 Uroš Bizjak <ubizjak@gmail.com>
17501
17502 * config/i386/i386.md (*andn<mode>3_doubleword_bmi): Add constraints
17503 to post-reload define_insn_and_split.
17504
17505 2022-07-01 Jakub Jelinek <jakub@redhat.com>
17506
17507 PR middle-end/106144
17508 * wide-int.cc (wi::shifted_mask): If end >= prec, return right after
17509 emitting element for shift or if shift is 0 first element after start.
17510 (wide_int_cc_tests): Add tests for equivalency of wi::mask and
17511 wi::shifted_mask with 0 start.
17512
17513 2022-07-01 Roger Sayle <roger@nextmovesoftware.com>
17514
17515 PR target/106122
17516 * config/i386/i386.md (peephole2): Avoid generating pop %esp
17517 when optimizing for size.
17518
17519 2022-07-01 Roger Sayle <roger@nextmovesoftware.com>
17520 Uroš Bizjak <ubizjak@gmail.com>
17521
17522 * config/i386/i386.md (general_szext_operand): Add TImode
17523 support using x86_64_hilo_general_operand predicate.
17524 (*cmp<dwi>_doubleword): Use x86_64_hilo_general_operand predicate.
17525 (*add<dwi>3_doubleword): Improved optimization of zero addition.
17526 (and<mode>3): Use SDWIM mode iterator to add support for double
17527 word bit-wise AND in TImode. Use force_reg when double word
17528 immediate operand isn't x86_64_hilo_general_operand.
17529 (and<dwi>3_doubleword): Generalized from anddi3_doubleword and
17530 converted into a post-reload splitter.
17531 (*andndi3_doubleword): Previous define_insn deleted.
17532 (*andn<mode>3_doubleword_bmi): New define_insn_and_split for
17533 TARGET_BMI that splits post-reload.
17534 (*andn<mode>3_doubleword): New define_insn_and_split for
17535 !TARGET_BMI, that lowers/splits before reload.
17536 (<any_or><mode>3): Use SDWIM mode iterator to add suppport for
17537 double word bit-wise XOR and bit-wise IOR in TImode. Use
17538 force_reg when double word immediate operand isn't
17539 x86_64_hilo_general_operand.
17540 (*<any_or>di3_doubleword): Generalized from <any_or>di3_doubleword.
17541 (one_cmpl<mode>2): Use SDWIM mode iterator to add support for
17542 double word bit-wise NOT in TImode.
17543 (one_cmpl<dwi>2_doubleword): Generalize from one_cmpldi2_doubleword
17544 and converted into a post-reload splitter.
17545
17546 2022-07-01 Eric Botcazou <ebotcazou@adacore.com>
17547
17548 PR middle-end/105874
17549 * expr.cc (expand_expr_real_1) <normal_inner_ref>: Force
17550 EXPAND_MEMORY for the expansion of the inner reference only
17551 in the usual cases where a memory reference is required.
17552
17553 2022-07-01 Richard Biener <rguenther@suse.de>
17554
17555 PR tree-optimization/106131
17556 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Force alias-set
17557 zero when offsetting the read looking through an aggregate
17558 copy.
17559
17560 2022-07-01 Martin Liska <mliska@suse.cz>
17561
17562 PR tree-optimization/106126
17563 * gimple-if-to-switch.cc (struct condition_info): Save
17564 has_side_effect.
17565 (find_conditions): Parse all BBs.
17566 (pass_if_to_switch::execute): Allow only side effects for first
17567 BB.
17568
17569 2022-07-01 Haochen Jiang <haochen.jiang@intel.com>
17570
17571 * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_AVX512F_UNSET):
17572 Add OPTION_MASK_ISA2_AVX512BW_UNSET, remove
17573 OPTION_MASK_ISA2_AVX512BF16_UNSET and
17574 OPTION_MASK_ISA2_AVX512FP16_UNSET.
17575
17576 2022-06-30 Joseph Myers <joseph@codesourcery.com>
17577
17578 PR lto/106129
17579 * lto-wrapper.cc (find_option): Add argument start.
17580 (merge_and_complain): Loop over existing_opt_index and
17581 existing_opt2_index for Xassembler check. Update calls to
17582 find_option.
17583 (find_and_merge_options): Add argument first to determine whether
17584 to merge options with those passed in *opts.
17585 (run_gcc): Update calls to find_and_merge_options.
17586
17587 2022-06-30 Aldy Hernandez <aldyh@redhat.com>
17588
17589 * gimple-range-cache.cc (block_range_cache::block_range_cache):
17590 Rename vrange_allocator to obstack_vrange_allocator.
17591 (ssa_global_cache::ssa_global_cache): Same.
17592 * gimple-range-edge.h (class gimple_outgoing_range): Same.
17593 * gimple-range-infer.h (class infer_range_manager): Same.
17594 * value-range.h (class vrange_allocator): Make abstract.
17595 (class obstack_vrange_allocator): Inherit from vrange_allocator.
17596 (class ggc_vrange_allocator): New.
17597
17598 2022-06-30 Roger Sayle <roger@nextmovesoftware.com>
17599 Uroš Bizjak <ubizjak@gmail.com>
17600
17601 * config/i386/i386.md (swap_mode): Rename from *swap<mode> to
17602 provide gen_swapsi.
17603 (<any_rotate>di3): Handle !TARGET_64BIT rotations by 32 bits
17604 via new gen_<insn>32di2_doubleword below.
17605 (<anyrotate>32di2_doubleword): New define_insn_and_split
17606 that splits after reload as either a pair of move instructions
17607 or an xchgl (using gen_swapsi).
17608
17609 2022-06-30 Richard Biener <rguenther@suse.de>
17610
17611 * domwalk.h (dom_walker::dom_walker): Update comment to
17612 reflect reality and new special argument value for
17613 bb_index_to_rpo.
17614 * domwalk.cc (dom_walker::dom_walker): Recognize -1
17615 bb_index_to_rpo.
17616 * tree-into-ssa.cc
17617 (rewrite_update_dom_walker::rewrite_update_dom_walker): Tell
17618 dom_walker to not use RPO.
17619
17620 2022-06-30 Martin Liska <mliska@suse.cz>
17621
17622 * tree-ssa-dom.cc (pass_dominator::execute): Remove m_ranger as
17623 it is unused.
17624
17625 2022-06-30 Andrew MacLeod <amacleod@redhat.com>
17626
17627 PR tree-optimization/106114
17628 * gimple-range-fold.cc (fold_using_range::relation_fold_and_or): Check
17629 statement operands instead of GORI cache.
17630
17631 2022-06-30 Antoni Boucher <bouanto@zoho.com>
17632
17633 PR target/106095
17634 * config/i386/sse.md: Fix asm generation.
17635
17636 2022-06-29 Sergei Trofimovich <siarheit@google.com>
17637
17638 PR c++/106102
17639 * system.h: Introduce INCLUDE_PTHREAD_H macros to include <pthread.h>.
17640
17641 2022-06-29 Joseph Myers <joseph@codesourcery.com>
17642
17643 * config/nios2/nios2.cc (nios2_load_pic_address): Use gen_rtx_MEM
17644 not gen_const_mem for UNSPEC_PIC_CALL_SYM.
17645
17646 2022-06-29 Richard Biener <rguenther@suse.de>
17647
17648 PR rtl-optimization/106082
17649 * combine.cc (distribute_notes): Preserve notes when
17650 they indicate a call doesn't perform a non-local goto.
17651
17652 2022-06-29 Richard Biener <rguenther@suse.de>
17653
17654 PR tree-optimization/106112
17655 * tree-ssa-sccvn.cc (valueized_wider_op): Properly extend
17656 a constant operand according to its type.
17657
17658 2022-06-29 Martin Liska <mliska@suse.cz>
17659
17660 * doc/invoke.texi: Remove removed evrp-mode.
17661
17662 2022-06-29 Lulu Cheng <chenglulu@loongson.cn>
17663
17664 PR target/106097
17665 * config/loongarch/loongarch.cc (loongarch_build_integer):
17666 Remove undefined behavior from code.
17667
17668 2022-06-28 Dimitar Dimitrov <dimitar@dinux.eu>
17669
17670 * doc/sourcebuild.texi: Document new no_alignment_constraints
17671 effective target check.
17672
17673 2022-06-28 Aldy Hernandez <aldyh@redhat.com>
17674
17675 * Makefile.in: Remove gimple-ssa-evrp.o and gimple-ssa-evrp-analyze.o.
17676 * flag-types.h (enum evrp_mode): Remove.
17677 * params.opt: Remove --param=evrp-mode.
17678 * tree-vrp.cc (make_pass_early_vrp): New.
17679 (pass_vrp::execute): Call early VRP instance.
17680 * gimple-ssa-evrp-analyze.cc: Removed.
17681 * gimple-ssa-evrp-analyze.h: Removed.
17682 * gimple-ssa-evrp.cc: Removed.
17683
17684 2022-06-28 Alexandre Oliva <oliva@adacore.com>
17685
17686 * Makefile.in (TFLAGS): New.
17687 (GCC_FOR_TARGET): Add TFLAGS.
17688 (FLAGS_TO_PASS): Pass TFLAGS down.
17689
17690 2022-06-28 Richard Biener <rguenther@suse.de>
17691
17692 * tree-ssa-loop-split.cc (fix_loop_bb_probability): Do not
17693 call update_ssa.
17694
17695 2022-06-28 Richard Biener <rguenther@suse.de>
17696
17697 * tree-into-ssa.cc (insert_updated_phi_nodes_for): Use
17698 mark_block_for_update.
17699 (update_ssa): Adjust.
17700
17701 2022-06-28 Xi Ruoyao <xry111@xry111.site>
17702
17703 PR target/106096
17704 * config/loongarch/loongarch.h (REG_CLASS_CONTENTS): Exclude
17705 $r13 from SIBCALL_REGS.
17706 * config/loongarch/loongarch.cc (loongarch_regno_to_class):
17707 Change $r13 to JIRL_REGS.
17708
17709 2022-06-28 Aldy Hernandez <aldyh@redhat.com>
17710
17711 * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Remove
17712 irange::supports_p.
17713
17714 2022-06-28 Richard Biener <rguenther@suse.de>
17715
17716 PR middle-end/106053
17717 * match.pd ((T)a == (T)b): Avoid folding away sign
17718 changes in a comparison if we'd truncate to a boolean.
17719
17720 2022-06-28 Kewen Lin <linkw@linux.ibm.com>
17721
17722 * config/rs6000/rs6000.md (*rotl<mode>3_insert_4): Replace mode
17723 iterator GPR with SImode, adjust the condition and output template,
17724 rename to ...
17725 (*rotlsi3_insert_4): ... this.
17726
17727 2022-06-27 David Malcolm <dmalcolm@redhat.com>
17728
17729 * genmatch.cc: Add "final" and "override" to various vfunc
17730 implementations, removing redundant "virtual" as appropriate.
17731 * gensupport.cc: Likewise.
17732 * gimple-range-cache.h: Likewise.
17733 * ipa-icf-gimple.h: Likewise.
17734 * ipa-icf.h: Likewise.
17735 * read-md.h: Likewise.
17736 * read-rtl-function.cc: Likewise.
17737 * tree-ssa-loop-ch.cc: Likewise.
17738 * tree-ssa-sccvn.cc: Likewise.
17739
17740 2022-06-27 David Malcolm <dmalcolm@redhat.com>
17741
17742 * config/i386/i386-features.h: Add "final" and "override" to
17743 scalar_chain vfunc implementations as appropriate.
17744
17745 2022-06-27 David Malcolm <dmalcolm@redhat.com>
17746
17747 * tree-switch-conversion.h: Add "final" and "override" to cluster
17748 vfunc implementations as appropriate.
17749
17750 2022-06-27 David Malcolm <dmalcolm@redhat.com>
17751
17752 * expr.cc: Add "final" and "override" to op_by_pieces_d vfunc
17753 implementations as appropriate.
17754
17755 2022-06-27 David Malcolm <dmalcolm@redhat.com>
17756
17757 * compare-elim.cc: Add "final" and "override" to dom_walker vfunc
17758 implementations, removing redundant "virtual" as appropriate.
17759 * gimple-ssa-strength-reduction.cc: Likewise.
17760 * ipa-prop.cc: Likewise.
17761 * rtl-ssa/blocks.cc: Likewise.
17762 * tree-into-ssa.cc: Likewise.
17763 * tree-ssa-dom.cc: Likewise.
17764 * tree-ssa-math-opts.cc: Likewise.
17765 * tree-ssa-phiopt.cc: Likewise.
17766 * tree-ssa-propagate.cc: Likewise.
17767 * tree-ssa-sccvn.cc: Likewise.
17768 * tree-ssa-strlen.cc: Likewise.
17769 * tree-ssa-uncprop.cc: Likewise.
17770
17771 2022-06-27 David Malcolm <dmalcolm@redhat.com>
17772
17773 * adjust-alignment.cc: Add "final" and "override" to opt_pass
17774 vfunc implementations, removing redundant "virtual" as
17775 appropriate.
17776 * asan.cc: Likewise.
17777 * auto-inc-dec.cc: Likewise.
17778 * auto-profile.cc: Likewise.
17779 * bb-reorder.cc: Likewise.
17780 * cfgcleanup.cc: Likewise.
17781 * cfgexpand.cc: Likewise.
17782 * cfgrtl.cc: Likewise.
17783 * cgraphbuild.cc: Likewise.
17784 * combine-stack-adj.cc: Likewise.
17785 * combine.cc: Likewise.
17786 * compare-elim.cc: Likewise.
17787 * config/i386/i386-features.cc: Likewise.
17788 * coroutine-passes.cc: Likewise.
17789 * cprop.cc: Likewise.
17790 * cse.cc: Likewise.
17791 * dce.cc: Likewise.
17792 * df-core.cc: Likewise.
17793 * dse.cc: Likewise.
17794 * dwarf2cfi.cc: Likewise.
17795 * early-remat.cc: Likewise.
17796 * except.cc: Likewise.
17797 * final.cc: Likewise.
17798 * function.cc: Likewise.
17799 * fwprop.cc: Likewise.
17800 * gcse.cc: Likewise.
17801 * gimple-harden-conditionals.cc: Likewise.
17802 * gimple-if-to-switch.cc: Likewise.
17803 * gimple-isel.cc: Likewise.
17804 * gimple-laddress.cc: Likewise.
17805 * gimple-loop-interchange.cc: Likewise.
17806 * gimple-loop-jam.cc: Likewise.
17807 * gimple-loop-versioning.cc: Likewise.
17808 * gimple-low.cc: Likewise.
17809 * gimple-ssa-backprop.cc: Likewise.
17810 * gimple-ssa-evrp.cc: Likewise.
17811 * gimple-ssa-isolate-paths.cc: Likewise.
17812 * gimple-ssa-nonnull-compare.cc: Likewise.
17813 * gimple-ssa-split-paths.cc: Likewise.
17814 * gimple-ssa-store-merging.cc: Likewise.
17815 * gimple-ssa-strength-reduction.cc: Likewise.
17816 * gimple-ssa-warn-access.cc: Likewise.
17817 * gimple-ssa-warn-alloca.cc: Likewise.
17818 * gimple-ssa-warn-restrict.cc: Likewise.
17819 * gimple-warn-recursion.cc: Likewise.
17820 * graphite.cc: Likewise.
17821 * ifcvt.cc: Likewise.
17822 * init-regs.cc: Likewise.
17823 * ipa-comdats.cc: Likewise.
17824 * ipa-cp.cc: Likewise.
17825 * ipa-devirt.cc: Likewise.
17826 * ipa-fnsummary.cc: Likewise.
17827 * ipa-free-lang-data.cc: Likewise.
17828 * ipa-icf.cc: Likewise.
17829 * ipa-inline.cc: Likewise.
17830 * ipa-modref.cc: Likewise.
17831 * ipa-profile.cc: Likewise.
17832 * ipa-pure-const.cc: Likewise.
17833 * ipa-reference.cc: Likewise.
17834 * ipa-split.cc: Likewise.
17835 * ipa-sra.cc: Likewise.
17836 * ipa-visibility.cc: Likewise.
17837 * ipa.cc: Likewise.
17838 * ira.cc: Likewise.
17839 * jump.cc: Likewise.
17840 * loop-init.cc: Likewise.
17841 * lower-subreg.cc: Likewise.
17842 * mode-switching.cc: Likewise.
17843 * modulo-sched.cc: Likewise.
17844 * multiple_target.cc: Likewise.
17845 * omp-expand.cc: Likewise.
17846 * omp-low.cc: Likewise.
17847 * omp-oacc-kernels-decompose.cc: Likewise.
17848 * omp-oacc-neuter-broadcast.cc: Likewise.
17849 * omp-offload.cc: Likewise.
17850 * omp-simd-clone.cc: Likewise.
17851 * passes.cc: Likewise.
17852 * postreload-gcse.cc: Likewise.
17853 * postreload.cc: Likewise.
17854 * predict.cc: Likewise.
17855 * recog.cc: Likewise.
17856 * ree.cc: Likewise.
17857 * reg-stack.cc: Likewise.
17858 * regcprop.cc: Likewise.
17859 * reginfo.cc: Likewise.
17860 * regrename.cc: Likewise.
17861 * reorg.cc: Likewise.
17862 * sancov.cc: Likewise.
17863 * sanopt.cc: Likewise.
17864 * sched-rgn.cc: Likewise.
17865 * stack-ptr-mod.cc: Likewise.
17866 * store-motion.cc: Likewise.
17867 * tracer.cc: Likewise.
17868 * trans-mem.cc: Likewise.
17869 * tree-call-cdce.cc: Likewise.
17870 * tree-cfg.cc: Likewise.
17871 * tree-cfgcleanup.cc: Likewise.
17872 * tree-complex.cc: Likewise.
17873 * tree-eh.cc: Likewise.
17874 * tree-emutls.cc: Likewise.
17875 * tree-if-conv.cc: Likewise.
17876 * tree-into-ssa.cc: Likewise.
17877 * tree-loop-distribution.cc: Likewise.
17878 * tree-nrv.cc: Likewise.
17879 * tree-object-size.cc: Likewise.
17880 * tree-parloops.cc: Likewise.
17881 * tree-predcom.cc: Likewise.
17882 * tree-profile.cc: Likewise.
17883 * tree-sra.cc: Likewise.
17884 * tree-ssa-ccp.cc: Likewise.
17885 * tree-ssa-copy.cc: Likewise.
17886 * tree-ssa-dce.cc: Likewise.
17887 * tree-ssa-dom.cc: Likewise.
17888 * tree-ssa-dse.cc: Likewise.
17889 * tree-ssa-forwprop.cc: Likewise.
17890 * tree-ssa-ifcombine.cc: Likewise.
17891 * tree-ssa-loop-ch.cc: Likewise.
17892 * tree-ssa-loop-im.cc: Likewise.
17893 * tree-ssa-loop-ivcanon.cc: Likewise.
17894 * tree-ssa-loop-prefetch.cc: Likewise.
17895 * tree-ssa-loop-split.cc: Likewise.
17896 * tree-ssa-loop-unswitch.cc: Likewise.
17897 * tree-ssa-loop.cc: Likewise.
17898 * tree-ssa-math-opts.cc: Likewise.
17899 * tree-ssa-phiopt.cc: Likewise.
17900 * tree-ssa-phiprop.cc: Likewise.
17901 * tree-ssa-pre.cc: Likewise.
17902 * tree-ssa-reassoc.cc: Likewise.
17903 * tree-ssa-sccvn.cc: Likewise.
17904 * tree-ssa-sink.cc: Likewise.
17905 * tree-ssa-strlen.cc: Likewise.
17906 * tree-ssa-structalias.cc: Likewise.
17907 * tree-ssa-uncprop.cc: Likewise.
17908 * tree-ssa-uninit.cc: Likewise.
17909 * tree-ssanames.cc: Likewise.
17910 * tree-stdarg.cc: Likewise.
17911 * tree-switch-conversion.cc: Likewise.
17912 * tree-tailcall.cc: Likewise.
17913 * tree-vect-generic.cc: Likewise.
17914 * tree-vectorizer.cc: Likewise.
17915 * tree-vrp.cc: Likewise.
17916 * tsan.cc: Likewise.
17917 * ubsan.cc: Likewise.
17918 * var-tracking.cc: Likewise.
17919 * vtable-verify.cc: Likewise.
17920 * web.cc: Likewise.
17921
17922 2022-06-27 Andrew Stubbs <ams@codesourcery.com>
17923
17924 * config/gcn/gcn.md (*movbi): Remove assembler bug workarounds.
17925 (jump): Likewise.
17926 (movdi_symbol_save_scc): Likewise.
17927
17928 2022-06-27 Roger Sayle <roger@nextmovesoftware.com>
17929
17930 PR rtl-optimization/7061
17931 * config/i386/i386.md (*highpartdisi2): New define_insn_and_split.
17932
17933 2022-06-27 Roger Sayle <roger@nextmovesoftware.com>
17934
17935 PR tree-optimization/94026
17936 * match.pd (((X << C1) & C2) eq/ne C3): New simplification.
17937 (((X >> C1) & C2) eq/ne C3): Likewise.
17938
17939 2022-06-27 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
17940
17941 * statistics.cc: Include tree.h.
17942 (get_function_name): New function.
17943 (statistics_fini_pass_2): Call get_function_name instead of
17944 current_function_name.
17945 (statistics_counter_event): Call get_function_name instead of
17946 function_name.
17947 (statistics_histogram_event): Likewise.
17948
17949 2022-06-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
17950
17951 * config/xtensa/xtensa.md:
17952 Suppress unnecessary emitting nop insn in the split patterns for
17953 integer/FP constant synthesis, and add new peephole2 pattern that
17954 folds such synthesized additions.
17955
17956 2022-06-25 Aldy Hernandez <aldyh@redhat.com>
17957
17958 * tree-ssa-dom.cc (dom_jt_state): Pass ranger to constructor
17959 instead of evrp.
17960 (dom_jt_state::push): Remove m_evrp.
17961 (dom_jt_state::pop): Same.
17962 (dom_jt_state::record_ranges_from_stmt): Remove.
17963 (dom_jt_state::register_equiv): Remove updating of evrp ranges.
17964 (class dom_jt_simplifier): Pass ranger to constructor.
17965 Inherit from hybrid_jt_simplifier.
17966 (dom_jt_simplifier::simplify): Convert to ranger.
17967 (pass_dominator::execute): Same.
17968 (all_uses_feed_or_dominated_by_stmt): New.
17969 (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges): New.
17970 (dom_opt_dom_walker::before_dom_children): Call
17971 set_global_ranges_from_unreachable_edges.
17972 Do not call record_ranges_from_stmt.
17973 (dom_opt_dom_walker::after_dom_children): Remove evrp use.
17974 (cprop_operand): Use int_range<> instead of value_range.
17975 (dom_opt_dom_walker::fold_cond): New.
17976 (dom_opt_dom_walker::optimize_stmt): Pass ranger to
17977 cprop_into_stmt.
17978 Use fold_cond() instead of vrp_visit_cond_stmt().
17979 * tree-ssa-threadedge.cc (jt_state::register_equivs_stmt): Do not
17980 pass state to simplifier.
17981 * vr-values.h (class vr_values): Make fold_cond public.
17982
17983 2022-06-25 Jeff Law <jeffreyalaw@gmail.com>
17984
17985 * common/config/tilegx/tilegx-common.cc: Removed.
17986 * common/config/tilepro/tilepro-common.cc: Removed.
17987 * config.gcc: Remove tilegx and tilepro entries.
17988 * config/tilegx/constraints.md: Removed.
17989 * config/tilegx/feedback.h: Removed.
17990 * config/tilegx/linux.h: Removed.
17991 * config/tilegx/mul-tables.cc: Removed.
17992 * config/tilegx/predicates.md: Removed.
17993 * config/tilegx/sync.md: Removed.
17994 * config/tilegx/t-tilegx: Removed.
17995 * config/tilegx/tilegx-builtins.h: Removed.
17996 * config/tilegx/tilegx-c.cc: Removed.
17997 * config/tilegx/tilegx-generic.md: Removed.
17998 * config/tilegx/tilegx-modes.def: Removed.
17999 * config/tilegx/tilegx-multiply.h: Removed.
18000 * config/tilegx/tilegx-opts.h: Removed.
18001 * config/tilegx/tilegx-protos.h: Removed.
18002 * config/tilegx/tilegx.cc: Removed.
18003 * config/tilegx/tilegx.h: Removed.
18004 * config/tilegx/tilegx.md: Removed.
18005 * config/tilegx/tilegx.opt: Removed.
18006 * config/tilepro/constraints.md: Removed.
18007 * config/tilepro/feedback.h: Removed.
18008 * config/tilepro/gen-mul-tables.cc: Removed.
18009 * config/tilepro/linux.h: Removed.
18010 * config/tilepro/mul-tables.cc: Removed.
18011 * config/tilepro/predicates.md: Removed.
18012 * config/tilepro/t-tilepro: Removed.
18013 * config/tilepro/tilepro-builtins.h: Removed.
18014 * config/tilepro/tilepro-c.cc: Removed.
18015 * config/tilepro/tilepro-generic.md: Removed.
18016 * config/tilepro/tilepro-modes.def: Removed.
18017 * config/tilepro/tilepro-multiply.h: Removed.
18018 * config/tilepro/tilepro-protos.h: Removed.
18019 * config/tilepro/tilepro.cc: Removed.
18020 * config/tilepro/tilepro.h: Removed.
18021 * config/tilepro/tilepro.md: Removed.
18022 * config/tilepro/tilepro.opt: Removed.
18023 * configure.ac: Remove tilegx and tilepro entries.
18024 * configure: Rebuilt.
18025 * doc/extend.texi: Remove tilegx and tilepro entries.
18026 * doc/install.texi: Remove tilegx and tilepro entries.
18027 * doc/invoke.texi: Remove tilegx and tilepro entries.
18028 * doc/md.texi: Remove tilegx and tilepro entries.
18029
18030 2022-06-25 Roger Sayle <roger@nextmovesoftware.com>
18031 Richard Biener <rguenther@suse.de>
18032
18033 * regcprop.cc (pass_cprop_hardreg::execute): Perform a third
18034 iteration over each basic block that was updated by the second
18035 iteration.
18036
18037 2022-06-24 Jason Merrill <jason@redhat.com>
18038
18039 PR c++/87729
18040 PR c++/20423
18041 * doc/invoke.texi: Document changes.
18042
18043 2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org>
18044
18045 * config/tilepro/gen-mul-tables.cc (tilegx_emit): Adjust loop
18046 condition to avoid overflow.
18047
18048 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
18049
18050 * config/rs6000/aix71.h (MASK_PPC_GPOPT, MASK_PPC_GFXOPT): Replace with
18051 OPTION_MASK_PPC_GPOPT, OPTION_MASK_PPC_GFXOPT.
18052 * config/rs6000/darwin.h (MASK_PPC_GFXOPT): Replace with
18053 OPTION_MASK_PPC_GFXOPT.
18054 * config/rs6000/darwin64-biarch.h (MASK_PPC_GFXOPT): Same.
18055 * config/rs6000/default64.h (MASK_PPC_GPOPT, MASK_PPC_GFXOPT): Replace with
18056 OPTION_MASK_PPC_GPOPT, OPTION_MASK_PPC_GFXOPT.
18057 * config/rs6000/rs6000-c.cc: Update comment.
18058 * config/rs6000/rs6000-cpus.def: Update RS6000_CPU macro calls.
18059 * config/rs6000/rs6000.cc (rs6000_darwin_file_start): Replace
18060 MASK_PPC_GPOPT with OPTION_MASK_PPC_GPOPT.
18061 (rs6000_builtin_mask_names): Replace MASK_PPC_GFXOPT, MASK_POPCNTB
18062 with OPTION_MASK_PPC_GFXOPT, OPTION_MASK_POPCNTB.
18063 * config/rs6000/rs6000.h: (MASK_P8_VECTOR, MASK_P9_VECTOR,
18064 MASK_P9_MISC, MASK_POPCNTB, MASK_POPCNTD, MASK_PPC_GFXOPT,
18065 MASK_PPC_GPOPT, MASK_RECIP_PRECISION, MASK_SOFT_FLOAT,
18066 MASK_VSX, MASK_POWER10, MASK_P10_FUSION): Delete.
18067
18068 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
18069
18070 * config/rs6000/aix71.h (TARGET_DEFAULT): Replace MASK_MFCRF with
18071 OPTION_MASK_MFCRF.
18072 * config/rs6000/darwin.h (TARGET_DEFAULT): Replace MASK_MULTIPLE with
18073 OPTION_MASK_MULTIPLE.
18074 * config/rs6000/darwin64-biarch.h (TARGET_DEFAULT): Same.
18075 * config/rs6000/default64.h (TARGET_DEFAULT): Replace MASK_MFCRF with
18076 OPTION_MASK_MFCRF.
18077 * config/rs6000/eabi.h (TARGET_DEFAULT): Replace MASK_EABI with
18078 OPTION_MASK_EABI.
18079 * config/rs6000/eabialtivec.h (TARGET_DEFAULT): Same.
18080 * config/rs6000/linuxaltivec.h (TARGET_DEFAULT): Replace
18081 MASK_ALTIVEC with OPTION_MASK_ALTIVEC.
18082 * config/rs6000/rs6000-cpus.def (MASK_ALTIVEC, MASK_CMPB,
18083 MASK_CRYPTO, MASK_DFP, MASK_DIRECT_MOVE, MASK_DLMZB, MASK_EABI,
18084 MASK_FLOAT128_KEYWORD, MASK_FLOAT128_HW, MASK_FPRND,
18085 MASK_P8_FUSION, MASK_HARD_FLOAT, MASK_HTM, MASK_ISEL, MASK_MFCRF,
18086 MASK_MMA, MASK_MULHW, MASK_MULTIPLE, MASK_NO_UPDATE):
18087 Replace with
18088 OPTION_MASK_ALTIVEC, OPTION_MASK_CMPB, OPTION_MASK_CRYPTO,
18089 OPTION_MASK_DFP, OPTION_MASK_DIRECT_MOVE, OPTION_MASK_DLMZB,
18090 OPTION_MASK_EABI, OPTION_MASK_FLOAT128_KEYWORD,
18091 OPTION_MASK_FLOAT128_HW, OPTION_MASK_FPRND, OPTION_MASK_P8_FUSION,
18092 OPTION_MASK_HARD_FLOAT, OPTION_MASK_HTM, OPTION_MASK_ISEL,
18093 OPTION_MASK_MFCRF, OPTION_MASK_MMA, OPTION_MASK_MULHW,
18094 OPTION_MASK_MULTIPLE, OPTION_MASK_NO_UPDATE.
18095 * config/rs6000/rs6000.cc (rs6000_darwin_file_start): Replace
18096 MASK_MFCRF, MASK_ALTIVEC with OPTION_MASK_MFCRF, OPTION_MASK_ALTIVEC.
18097 * config/rs6000/rs6000.h (TARGET_DEFAULT): Replace MASK_MULTIPLE
18098 with OPTION_MASK_MULTIPLE.
18099 (MASK_ALTIVEC, MASK_CMPB, MASK_CRYPTO, MASK_DFP,
18100 MASK_DIRECT_MOVE, MASK_DLMZB, MASK_EABI, MASK_FLOAT128_KEYWORD,
18101 MASK_FLOAT128_HW, MASK_FPRND, MASK_P8_FUSION, MASK_HARD_FLOAT,
18102 MASK_HTM, MASK_ISEL, MASK_MFCRF, MASK_MMA, MASK_MULHW,
18103 MASK_MULTIPLE, MASK_NO_UPDATE): Delete.
18104 * config/rs6000/vxworks.h (TARGET_DEFAULT): Replace MASK_EABI
18105 with OPTION_MASK_EABI.
18106
18107 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
18108
18109 * config/rs6000/rs6000.cc (RS6000_BTM_ALTIVEC, RS6000_BTM_CMPB,
18110 RS6000_BTM_VSX, RS6000_BTM_FRE, RS6000_BTM_P8_VECTOR,
18111 RS6000_BTM_P9_VECTOR, RS6000_BTM_P9_MISC, RS6000_BTM_MODULO,
18112 RS6000_BTM_CRYPTO, RS6000_BTM_HTM): Replace with OPTION_MASK_ALTIVEC,
18113 OPTION_MASK_CMPB, OPTION_MASK_VSX, OPTION_MASK_POPCNTB,
18114 OPTION_MASK_P8_VECTOR, OPTION_MASK_P9_VECTOR, OPTION_MASK_P9_MISC,
18115 OPTION_MASK_MODULO, OPTION_MASK_CRYPTO, OPTION_MASK_HTM.
18116 * config/rs6000/rs6000.h (RS6000_BTM_MODULO, RS6000_BTM_ALTIVEC,
18117 RS6000_BTM_CMPB, RS6000_BTM_VSX, RS6000_BTM_P8_VECTOR,
18118 RS6000_BTM_P9_VECTOR, RS6000_BTM_P9_MISC, RS6000_BTM_CRYPTO,
18119 RS6000_BTM_HTM, RS6000_BTM_FRE): Remove.
18120
18121 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
18122
18123 * config/rs6000/rs6000-c.cc: Update comments.
18124 * config/rs6000/rs6000.cc (RS6000_BTM_FRES, RS6000_BTM_FRSQRTE,
18125 RS6000_BTM_FRSQRTES, RS6000_BTM_POPCNTD, RS6000_BTM_CELL,
18126 RS6000_BTM_64BIT, RS6000_BTM_POWERPC64, RS6000_BTM_DFP,
18127 RS6000_BTM_HARD_FLOAT,RS6000_BTM_LDBL128, RS6000_BTM_FLOAT128,
18128 RS6000_BTM_FLOAT128_HW, RS6000_BTM_MMA, RS6000_BTM_P10): Replace
18129 with OPTION_MASK_PPC_GFXOPT, OPTION_MASK_PPC_GFXOPT,
18130 OPTION_MASK_POPCNTB, OPTION_MASK_POPCNTD,
18131 OPTION_MASK_FPRND, MASK_64BIT, MASK_POWERPC64,
18132 OPTION_MASK_DFP, OPTION_MASK_SOFT_FLOAT, OPTION_MASK_MULTIPLE,
18133 OPTION_MASK_FLOAT128_KEYWORD, OPTION_MASK_FLOAT128_HW,
18134 OPTION_MASK_MMA, OPTION_MASK_POWER10.
18135 * config/rs6000/rs6000.h (RS6000_BTM_FRES, RS6000_BTM_FRSQRTE,
18136 RS6000_BTM_FRSQRTES, RS6000_BTM_POPCNTD, RS6000_BTM_CELL,
18137 RS6000_BTM_DFP, RS6000_BTM_HARD_FLOAT, RS6000_BTM_LDBL128,
18138 RS6000_BTM_64BIT, RS6000_BTM_POWERPC64, RS6000_BTM_FLOAT128,
18139 RS6000_BTM_FLOAT128_HW, RS6000_BTM_MMA, RS6000_BTM_P10): Delete.
18140
18141 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
18142
18143 * config/rs6000/rs6000.h (RS6000_BTM_COMMON, RS6000_BTM_ALWAYS,
18144 MASK_REGNAMES, OPTION_MASK_REGNAMES, MASK_PROTOTYPE,
18145 OPTION_MASK_PROTOTYPE, MASK_UPDATE, OPTION_MASK_UPDATE): Remove.
18146
18147 2022-06-24 Richard Biener <rguenther@suse.de>
18148
18149 PR middle-end/106070
18150 * match.pd (a != b ? a : b): Fix translation of
18151 operand_equal_for_comparison_p.
18152
18153 2022-06-24 Jan Hubicka <jh@suse.cz>
18154
18155 PR ipa/106057
18156 * tree-ssa-alias.cc (stmt_kills_ref_p): Check for external throw.
18157
18158 2022-06-24 Martin Liska <mliska@suse.cz>
18159
18160 PR middle-end/106059
18161 * profile-count.h: *= and /= operators need to modify this
18162 object.
18163
18164 2022-06-24 Roger Sayle <roger@nextmovesoftware.com>
18165 Uroš Bizjak <ubizjak@gmail.com>
18166
18167 PR target/105930
18168 * config/i386/i386.md (*<any_or>di3_doubleword): Split after
18169 reload. Use rtx_equal_p to avoid creating memory-to-memory moves,
18170 and emit NOTE_INSN_DELETED if operand[2] is zero (i.e. with -O0).
18171
18172 2022-06-24 Alexandre Oliva <oliva@adacore.com>
18173
18174 * common.opt (nostdlib++): New.
18175 * doc/invoke.texi (-nostdlib++): Document it.
18176
18177 2022-06-24 Alexandre Oliva <oliva@adacore.com>
18178
18179 * doc/sourcebuild.texi (Environment attributes): Document
18180 two_plus_gigs.
18181
18182 2022-06-23 David Malcolm <dmalcolm@redhat.com>
18183
18184 * common.opt (fdiagnostics-show-rules): New option.
18185 * diagnostic-format-json.cc (diagnostic_output_format_init_json):
18186 Fix up context->show_rules.
18187 * diagnostic-format-sarif.cc
18188 (diagnostic_output_format_init_sarif): Likewise.
18189 * diagnostic-metadata.h (diagnostic_metadata::rule): New class.
18190 (diagnostic_metadata::precanned_rule): New class.
18191 (diagnostic_metadata::add_rule): New.
18192 (diagnostic_metadata::get_num_rules): New.
18193 (diagnostic_metadata::get_rule): New.
18194 (diagnostic_metadata::m_rules): New field.
18195 * diagnostic.cc (diagnostic_initialize): Initialize show_rules.
18196 (print_any_rules): New.
18197 (diagnostic_report_diagnostic): Call it.
18198 * diagnostic.h (diagnostic_context::show_rules): New field.
18199 * doc/invoke.texi (-fno-diagnostics-show-rules): New option.
18200 * opts.cc (common_handle_option): Handle
18201 OPT_fdiagnostics_show_rules.
18202 * toplev.cc (general_init): Set up global_dc->show_rules.
18203
18204 2022-06-23 Martin Liska <mliska@suse.cz>
18205
18206 PR c++/106062
18207 * ubsan.cc (sanitize_unreachable_fn): Change order of calls
18208 in order to initialize UBSAN built-ins.
18209
18210 2022-06-23 Martin Liska <mliska@suse.cz>
18211
18212 PR ipa/105600
18213 * ipa-icf.cc (sem_item_optimizer::filter_removed_items):
18214 Skip variables with body_removed.
18215
18216 2022-06-23 liuhongt <hongtao.liu@intel.com>
18217
18218 * config/i386/sse.md:(sse4_2_pcmpestr): Replace REGNO with
18219 reg_or_subregno.
18220 (sse4_2_pcmpistr): Ditto.
18221
18222 2022-06-23 Xionghu Luo <xionghuluo@tencent.com>
18223
18224 * cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee): Fix
18225 typo.
18226 * tree-ssa-loop-ivopts.cc (struct iv_cand): Likewise.
18227 * tree-switch-conversion.h: Likewise.
18228
18229 2022-06-22 Jason Merrill <jason@redhat.com>
18230
18231 PR c++/104642
18232 * common.opt: Add -funreachable-traps.
18233 * doc/invoke.texi (-funreachable-traps): Document it.
18234 * opts.cc (finish_options): Enable at -O0 or -Og.
18235 * tree.cc (build_common_builtin_nodes): Add __builtin_trap.
18236 (builtin_decl_unreachable, build_builtin_unreachable): New.
18237 * tree.h: Declare them.
18238 * ubsan.cc (sanitize_unreachable_fn): Factor out.
18239 (ubsan_instrument_unreachable): Use
18240 gimple_build_builtin_unreachable.
18241 * ubsan.h (sanitize_unreachable_fn): Declare.
18242 * gimple.cc (gimple_build_builtin_unreachable): New.
18243 * gimple.h: Declare it.
18244 * builtins.cc (expand_builtin_unreachable): Add assert.
18245 (fold_builtin_0): Call build_builtin_unreachable.
18246 * sanopt.cc: Don't run for just SANITIZE_RETURN
18247 or SANITIZE_UNREACHABLE when trapping.
18248 * cgraphunit.cc (walk_polymorphic_call_targets): Use new
18249 unreachable functions.
18250 * gimple-fold.cc (gimple_fold_call)
18251 (gimple_get_virt_method_for_vtable)
18252 * ipa-fnsummary.cc (redirect_to_unreachable)
18253 * ipa-prop.cc (ipa_make_edge_direct_to_target)
18254 (ipa_impossible_devirt_target)
18255 * ipa.cc (walk_polymorphic_call_targets)
18256 * tree-cfg.cc (pass_warn_function_return::execute)
18257 (execute_fixup_cfg)
18258 * tree-ssa-loop-ivcanon.cc (remove_exits_and_undefined_stmts)
18259 (unloop_loops)
18260 * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt):
18261 Likewise.
18262
18263 2022-06-22 Richard Sandiford <richard.sandiford@arm.com>
18264
18265 PR tree-optimization/106019
18266 * tree-data-ref.cc (dr_may_alias_p): Try using the
18267 innermost_loop_behavior to disambiguate non-loop queries.
18268
18269 2022-06-22 Palmer Dabbelt <palmer@rivosinc.com>
18270
18271 * doc/invoke.texi (RISC-V): Document -mtune=thead-c906.
18272
18273 2022-06-22 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
18274
18275 * config/xtensa/xtensa.md (bswapsi2_internal):
18276 Enlarge the buffer that is obviously smaller than the template
18277 string given to sprintf().
18278
18279 2022-06-21 Roger Sayle <roger@nextmovesoftware.com>
18280 Marek Polacek <polacek@redhat.com>
18281 Segher Boessenkool <segher@kernel.crashing.org>
18282 Kewen Lin <linkw@linux.ibm.com>
18283
18284 PR target/105991
18285 * config/rs6000/rs6000.md (rotl<mode>3_insert_3): Check that
18286 exact_log2 doesn't return -1 (or zero).
18287 (plus_xor): New code iterator.
18288 (*rotl<mode>3_insert_3_<code>): New define_insn_and_split.
18289
18290 2022-06-21 Nathan Sidwell <nathan@acm.org>
18291
18292 * doc/invoke.texi (C++ Modules): Remove language-linkage
18293 as missing feature.
18294
18295 2022-06-21 Arjun Shankar <arjun@redhat.com>
18296
18297 PR tree-optimization/94899
18298 * match.pd (X + C < Y + C -> (signed) X < (signed) Y, if C is
18299 0x80000000): New simplification.
18300
18301 2022-06-21 Jakub Jelinek <jakub@redhat.com>
18302
18303 PR rtl-optimization/106032
18304 * ifcvt.cc (noce_try_sign_mask): Punt if !t_unconditional, and
18305 t may_trap_or_fault_p, even if it is cheap.
18306
18307 2022-06-21 Jakub Jelinek <jakub@redhat.com>
18308
18309 PR middle-end/106030
18310 * expr.cc (expand_cond_expr_using_cmove): Pass NULL_RTX instead of
18311 temp to expand_operands if mode has been promoted.
18312
18313 2022-06-21 Xionghu Luo <xionghuluo@tencent.com>
18314
18315 PR target/105740
18316 * gimple-if-to-switch.cc (find_conditions): Don't skip the first
18317 condition bb.
18318
18319 2022-06-21 Siddhesh Poyarekar <siddhesh@gotplt.org>
18320
18321 PR tree-optimization/105736
18322 * tree-object-size.cc (addr_object_size): Return size_unknown
18323 when object offset computation returns an error.
18324
18325 2022-06-20 H.J. Lu <hjl.tools@gmail.com>
18326
18327 PR target/105960
18328 * config/i386/i386.cc (ix86_function_ok_for_sibcall): Return
18329 false if PIC register is used when calling ifunc functions.
18330
18331 2022-06-20 Richard Biener <rguenther@suse.de>
18332
18333 PR middle-end/106027
18334 * fold-const.cc (fold_to_nonsharp_ineq_using_bound): Use the
18335 type of the prevailing comparison for the new comparison type.
18336 (fold_binary_loc): Use proper types for the A < X && A + 1 > Y
18337 to A < X && A >= Y folding.
18338
18339 2022-06-20 Kewen Lin <linkw@linux.ibm.com>
18340
18341 PR tree-optimization/105940
18342 * tree-vect-loop.cc (vect_analyze_loop_2): Add new parameter
18343 slp_done_for_suggested_uf and adjust with it accordingly.
18344 (vect_analyze_loop_1): Add new variable slp_done_for_suggested_uf,
18345 pass it down to vect_analyze_loop_2 for the initial analysis and
18346 applying suggested unroll factor.
18347 (vect_is_simple_reduction): Add parameter slp and adjust with it.
18348 (vect_analyze_scalar_cycles_1): Add parameter slp and pass down.
18349 (vect_analyze_scalar_cycles): Likewise.
18350
18351 2022-06-20 Martin Liska <mliska@suse.cz>
18352
18353 * bb-reorder.cc (find_traces_1_round): Add operators / and * and
18354 use them.
18355 (better_edge_p): Likewise.
18356 * cfgloop.cc (find_subloop_latch_edge_by_profile): Likewise.
18357 * cfgloopmanip.cc (scale_loop_profile): Likewise.
18358 * cfgrtl.cc (force_nonfallthru_and_redirect): Likewise.
18359 * cgraph.cc (cgraph_edge::maybe_hot_p): Likewise.
18360 * config/sh/sh.cc (expand_cbranchdi4): Likewise.
18361 * dojump.cc (do_compare_rtx_and_jump): Likewise.
18362 * final.cc (compute_alignments): Likewise.
18363 * ipa-cp.cc (update_counts_for_self_gen_clones): Likewise.
18364 (decide_about_value): Likewise.
18365 * ipa-inline-analysis.cc (do_estimate_edge_time): Likewise.
18366 * loop-unroll.cc (unroll_loop_runtime_iterations): Likewise.
18367 * modulo-sched.cc (sms_schedule): Likewise.
18368 * omp-expand.cc (extract_omp_for_update_vars): Likewise.
18369 (expand_omp_ordered_sink): Likewise.
18370 (expand_omp_for_ordered_loops): Likewise.
18371 (expand_omp_for_static_nochunk): Likewise.
18372 * predict.cc (maybe_hot_count_p): Likewise.
18373 (probably_never_executed): Likewise.
18374 (set_even_probabilities): Likewise.
18375 (handle_missing_profiles): Likewise.
18376 (expensive_function_p): Likewise.
18377 * profile-count.h: Likewise.
18378 * profile.cc (compute_branch_probabilities): Likewise.
18379 * stmt.cc (emit_case_dispatch_table): Likewise.
18380 * symtab-thunks.cc (expand_thunk): Likewise.
18381 * tree-ssa-loop-manip.cc (tree_transform_and_unroll_loop): Likewise.
18382 * tree-ssa-sink.cc (select_best_block): Likewise.
18383 * tree-switch-conversion.cc (switch_decision_tree::analyze_switch_statement): Likewise.
18384 (switch_decision_tree::balance_case_nodes): Likewise.
18385 (switch_decision_tree::emit_case_nodes): Likewise.
18386 * tree-vect-loop.cc (scale_profile_for_vect_loop): Likewise.
18387
18388 2022-06-20 yulong <shiyulong@iscas.ac.cn>
18389
18390 * config/riscv/riscv-builtins.cc (RISCV_ATYPE_VOID_PTR): New.
18391 * config/riscv/riscv-cmo.def (RISCV_BUILTIN): Changed the FUNCTION_TYPE
18392 of RISCV_BUILTIN.
18393 * config/riscv/riscv-ftypes.def (0): Remove unused.
18394 (1): New.
18395
18396 2022-06-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
18397
18398 * config/xtensa/xtensa.cc (xtensa_is_insn_L32R_p):
18399 Consider relaxed MOVI instructions as L32R.
18400
18401 2022-06-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
18402
18403 * config/xtensa/xtensa.cc (xtensa_emit_move_sequence):
18404 Use can_create_pseudo_p(), instead of using individual
18405 reload_in_progress and reload_completed.
18406 (xtensa_expand_block_set_small_loop): Use xtensa_simm8x256(),
18407 the existing predicate function.
18408 (xtensa_is_insn_L32R_p, gen_int_relational, xtensa_emit_sibcall):
18409 Use the standard RTX code predicate macros such as MEM_P,
18410 SYMBOL_REF_P and/or CONST_INT_P.
18411 * config/xtensa/xtensa.md: Avoid using numeric literals to determine
18412 if callee-saved register, at the split patterns for indirect sibcall
18413 fixups.
18414
18415 2022-06-18 Jakub Jelinek <jakub@redhat.com>
18416
18417 * common.opt (flag_sanitize_trap): New variable.
18418 (fsanitize-trap=, fsanitize-trap): New options.
18419 (fsanitize-undefined-trap-on-error): Change into deprecated alias
18420 for -fsanitize-trap=all.
18421 * opts.h (struct sanitizer_opts_s): Add can_trap member.
18422 * opts.cc (finish_options): Complain about unsupported
18423 -fsanitize-trap= options.
18424 (sanitizer_opts): Add can_trap values to all entries.
18425 (get_closest_sanitizer_option): Ignore -fsanitize-trap=
18426 options which have can_trap false.
18427 (parse_sanitizer_options): Add support for -fsanitize-trap=.
18428 For -fsanitize-trap=all, enable
18429 SANITIZE_UNDEFINED | SANITIZE_UNDEFINED_NONDEFAULT. Disallow
18430 -fsanitize-trap=vptr here.
18431 (common_handle_option): Handle OPT_fsanitize_trap_ and
18432 OPT_fsanitize_trap.
18433 * sanopt.cc (maybe_optimize_ubsan_null_ifn): Check
18434 flag_sanitize_trap & SANITIZE_{NULL,ALIGNMENT} instead of
18435 flag_sanitize_undefined_trap_on_error.
18436 * gcc.cc (sanitize_spec_function): Use
18437 flag_sanitize & ~flag_sanitize_trap instead of flag_sanitize
18438 and drop use of flag_sanitize_undefined_trap_on_error in
18439 "undefined" handling.
18440 * ubsan.cc (ubsan_instrument_unreachable): Use
18441 flag_sanitize_trap & SANITIZE_??? instead of
18442 flag_sanitize_undefined_trap_on_error.
18443 (ubsan_expand_bounds_ifn, ubsan_expand_null_ifn,
18444 ubsan_expand_objsize_ifn, ubsan_expand_ptr_ifn,
18445 ubsan_build_overflow_builtin, instrument_bool_enum_load,
18446 ubsan_instrument_float_cast, instrument_nonnull_arg,
18447 instrument_nonnull_return, instrument_builtin): Likewise.
18448 * doc/invoke.texi (-fsanitize-trap=, -fsanitize-trap): Document.
18449 (-fsanitize-undefined-trap-on-error): Document as deprecated
18450 alias of -fsanitize-trap.
18451
18452 2022-06-18 Jakub Jelinek <jakub@redhat.com>
18453
18454 PR middle-end/105998
18455 * varasm.cc (narrowing_initializer_constant_valid_p): Check
18456 SCALAR_INT_MODE_P instead of INTEGRAL_MODE_P, also break on
18457 ! INTEGRAL_TYPE_P and do the same check also on op{0,1}'s type.
18458
18459 2022-06-18 Roger Sayle <roger@nextmovesoftware.com>
18460
18461 PR tree-optimization/105835
18462 * match.pd (convert (mult zero_one_valued_p@1 INTEGER_CST@2)):
18463 Narrow integer multiplication by a zero_one_valued_p operand.
18464 (convert (cond @1 INTEGER_CST@2 INTEGER_CST@3)): Push integer
18465 conversions inside COND_EXPR where both data operands are
18466 integer constants.
18467
18468 2022-06-18 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
18469
18470 * config/xtensa/constraints.md (Y):
18471 Change to include integer constants until reload begins.
18472 * config/xtensa/predicates.md (move_operand): Ditto.
18473 * config/xtensa/xtensa.cc (xtensa_emit_move_sequence):
18474 Change to allow storing integer constants into litpool only after
18475 reload begins.
18476
18477 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
18478
18479 PR target/105209
18480 * config/alpha/alpha-protos.h (alpha_store_data_bypass_p): New.
18481 * config/alpha/alpha.cc (alpha_store_data_bypass_p): New function.
18482 (alpha_store_data_bypass_p_1): Ditto.
18483 * config/alpha/ev4.md: Use alpha_store_data_bypass_p instead
18484 of generic store_data_bypass_p.
18485 (ev4_ist_c): Remove insn reservation.
18486
18487 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
18488
18489 PR target/105970
18490 * config/i386/i386.cc (ix86_function_arg): Assert that
18491 the mode of pointer argumet is equal to ptr_mode, not Pmode.
18492
18493 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
18494
18495 PR target/105993
18496 * config/i386/sse.md (vpmov splitter): Use (match_dup ...)
18497 instead of REGNO comparisons in combine splitter.
18498
18499 2022-06-17 Segher Boessenkool <segher@kernel.crashing.org>
18500
18501 * config/rs6000/rs6000.cc (rs6000_invalid_conversion): Correct some
18502 types.
18503
18504 2022-06-17 Kito Cheng <kito.cheng@sifive.com>
18505
18506 * config/riscv/bitmanip.md: Supress warning.
18507
18508 2022-06-17 Richard Earnshaw <rearnsha@arm.com>
18509
18510 PR target/106004
18511 * config/arm/arm.cc (arm_print_operand, case 'V'): Use UINTVAL.
18512 Clear bits in the mask above bit 31.
18513
18514 2022-06-17 Richard Earnshaw <rearnsha@arm.com>
18515
18516 * config/arm/mve.md (*mve_mov<mode>): Re-order constraints
18517 to avoid spilling trivial literals to the constant pool.
18518
18519 2022-06-16 David Malcolm <dmalcolm@redhat.com>
18520
18521 * gimple-ssa-warn-access.cc (warn_string_no_nul): Add
18522 auto_diagnostic_group to group any warning with its note.
18523 (maybe_warn_for_bound): Likewise.
18524 (check_access): Likewise.
18525 (warn_dealloc_offset): Likewise.
18526 (pass_waccess::maybe_warn_memmodel): Likewise.
18527 (pass_waccess::maybe_check_dealloc_call): Likewise.
18528 (pass_waccess::warn_invalid_pointer): Likewise.
18529 (pass_waccess::check_dangling_stores): Likewise.
18530
18531 2022-06-16 Jason Merrill <jason@redhat.com>
18532
18533 * opts.cc (common_handle_option) [OPT_fsanitize_]: Set
18534 opts_set->x_flag_sanitize.
18535
18536 2022-06-16 Jason Merrill <jason@redhat.com>
18537
18538 * flags.h (issue_strict_overflow_warning): Comment #endif.
18539
18540 2022-06-16 Andrew MacLeod <amacleod@redhat.com>
18541
18542 * gimple-range-cache.cc (ranger_cache::apply_inferred_ranges): If name
18543 was invaraint before, clear the invariant bit.
18544 * gimple-range-gori.cc (gori_map::set_range_invariant): Add a flag.
18545 * gimple-range-gori.h (gori_map::set_range_invariant): Adjust prototype.
18546
18547 2022-06-16 Andrew MacLeod <amacleod@redhat.com>
18548
18549 * tree-ssa-propagate.cc (before_dom_children): Call value_of_stmt.
18550
18551 2022-06-16 Jakub Jelinek <jakub@redhat.com>
18552
18553 PR tree-optimization/105983
18554 * match.pd (y == XXX_MIN || x < y -> x <= y - 1,
18555 y != XXX_MIN && x >= y -> x > y - 1): Use :cs instead of :s
18556 on non-equality comparisons.
18557
18558 2022-06-16 Jakub Jelinek <jakub@redhat.com>
18559
18560 PR tree-optimization/105984
18561 * match.pd (__builtin_mul_overflow_p (x, cst, (stype) 0) ->
18562 x > stype_max / cst || x < stype_min / cst): fold_convert @1
18563 to TREE_TYPE (@0) just once and test for negative divisor
18564 also on that folded constant instead of on @1.
18565
18566 2022-06-16 Jakub Jelinek <jakub@redhat.com>
18567
18568 PR middle-end/105951
18569 * tree-ssa-ccp.cc (optimize_atomic_bit_test_and,
18570 optimize_atomic_op_fetch_cmp_0): Remember gimple_call_fn (call)
18571 as last argument to the internal functions.
18572 * builtins.cc (expand_ifn_atomic_bit_test_and): Adjust for the
18573 extra call argument to ifns. If expand_atomic_fetch_op fails for the
18574 lhs == NULL_TREE case, fall through into the optab code with
18575 gen_reg_rtx (mode) as target. If second expand_atomic_fetch_op
18576 fails, construct a CALL_EXPR and expand that.
18577 (expand_ifn_atomic_op_fetch_cmp_0): Adjust for the extra call argument
18578 to ifns. If expand_atomic_fetch_op fails, construct a CALL_EXPR and
18579 expand that.
18580
18581 2022-06-16 Haochen Gui <guihaoc@gcc.gnu.org>
18582
18583 PR target/103316
18584 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Enable
18585 gimple folding for RS6000_BIF_VCMPEQUT, RS6000_BIF_VCMPNET,
18586 RS6000_BIF_CMPGE_1TI, RS6000_BIF_CMPGE_U1TI, RS6000_BIF_VCMPGTUT,
18587 RS6000_BIF_VCMPGTST, RS6000_BIF_CMPLE_1TI, RS6000_BIF_CMPLE_U1TI.
18588 * config/rs6000/vector.md (VEC_IC): New mode iterator. Add support
18589 for new Power10 V1TI instructions.
18590 (vec_cmp<mode><mode>): Set mode iterator to VEC_IC.
18591 (vec_cmpu<mode><mode>): Likewise.
18592 (vector_nlt<mode>): Set mode iterator to VEC_IC.
18593 (vector_nltv1ti): Remove.
18594 (vector_gtu<mode>): Set mode iterator to VEC_IC.
18595 (vector_gtuv1ti): Remove.
18596 (vector_nltu<mode>): Set mode iterator to VEC_IC.
18597 (vector_nltuv1ti): Remove.
18598 (vector_geu<mode>): Set mode iterator to VEC_IC.
18599 (vector_ngt<mode>): Likewise.
18600 (vector_ngtv1ti): Remove.
18601 (vector_ngtu<mode>): Set mode iterator to VEC_IC.
18602 (vector_ngtuv1ti): Remove.
18603 (vector_gtu_<mode>_p): Set mode iterator to VEC_IC.
18604 (vector_gtu_v1ti_p): Remove.
18605 (vrotl<mode>3): Set mode iterator to VEC_IC. Emit insns for V1TI.
18606 (vrotlv1ti3): Remove.
18607 (vashr<mode>3): Set mode iterator to VEC_IC. Emit insns for V1TI.
18608 (vashrv1ti3): Remove.
18609
18610 2022-06-16 Martin Liska <mliska@suse.cz>
18611
18612 * gengtype-state.cc (read_a_state_token): Do not skip extra
18613 character after escaped sequence.
18614
18615 2022-06-16 Martin Liska <mliska@suse.cz>
18616
18617 PR driver/105564
18618 * spellcheck.cc (test_find_closest_string): Add new test.
18619 * spellcheck.h (class best_match): Prefer a difference in
18620 trailing sign symbol.
18621
18622 2022-06-16 liuhongt <hongtao.liu@intel.com>
18623
18624 PR tree-optimization/53533
18625 * match.pd: Simplify (B * v + C) * D -> BD * v + CD and
18626 (v + B) * C + D -> C * v + BCD when B,C,D are all INTEGER_CST,
18627 and there's no overflow or !TYPE_OVERFLOW_UNDEFINED.
18628
18629 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
18630
18631 * config/xtensa/xtensa.md (DSC): New split pattern and mode iterator.
18632
18633 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
18634
18635 * config/xtensa/predicates.md (reload_operand):
18636 New predicate.
18637 * config/xtensa/xtensa.md: New peephole2 pattern.
18638
18639 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
18640
18641 * config/xtensa/xtensa.md (*round_up_to_even):
18642 New insn-and-split pattern.
18643 (*signed_ge_zero): Ditto.
18644
18645 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
18646
18647 * config/xtensa/xtensa-protos.h (xtensa_prepare_expand_call,
18648 xtensa_emit_sibcall): New prototypes.
18649 (xtensa_expand_epilogue): Add new argument that specifies whether
18650 or not sibling call.
18651 * config/xtensa/xtensa.cc (TARGET_FUNCTION_OK_FOR_SIBCALL):
18652 New macro definition.
18653 (xtensa_prepare_expand_call): New function in order to share
18654 the common code.
18655 (xtensa_emit_sibcall, xtensa_function_ok_for_sibcall):
18656 New functions.
18657 (xtensa_expand_epilogue): Add new argument sibcall_p and use it
18658 for sibling call handling.
18659 * config/xtensa/xtensa.md (call, call_value):
18660 Use xtensa_prepare_expand_call.
18661 (call_internal, call_value_internal):
18662 Add the condition in order to be disabled if sibling call.
18663 (sibcall, sibcall_value, sibcall_epilogue): New expansions.
18664 (sibcall_internal, sibcall_value_internal): New insn patterns,
18665 and split ones in order to take care of the indirect sibcalls.
18666
18667 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
18668
18669 * doc/invoke.texi: Document -mextra-l32r-costs= option.
18670
18671 2022-06-15 David Malcolm <dmalcolm@redhat.com>
18672
18673 PR analyzer/105962
18674 * doc/invoke.texi: Add -fno-analyzer-undo-inlining.
18675 * tree-diagnostic-path.cc (default_tree_diagnostic_path_printer):
18676 Extend -fdiagnostics-path-format=separate-events so that with
18677 -fdiagnostics-show-path-depths it prints fndecls as well as stack
18678 depths.
18679
18680 2022-06-15 David Malcolm <dmalcolm@redhat.com>
18681
18682 * value-relation.h: Add "final" and "override" to relation_oracle
18683 vfunc implementations as appropriate.
18684
18685 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
18686
18687 PR middle-end/105975
18688 Revert everything apart from the expand_fn_using_insn and
18689 expand_direct_optab_fn changes from:
18690 * internal-fn.def (DEF_INTERNAL_INSN_FN): New macro.
18691 (GOMP_SIMT_ENTER_ALLOC, GOMP_SIMT_EXIT, GOMP_SIMT_LANE)
18692 (GOMP_SIMT_LAST_LANE, GOMP_SIMT_ORDERED_PRED, GOMP_SIMT_VOTE_ANY)
18693 (GOMP_SIMT_XCHG_BFLY, GOMP_SIMT_XCHG_IDX): Use it.
18694 * internal-fn.h (direct_internal_fn_info::directly_mapped): New
18695 member variable.
18696 (direct_internal_fn_info::vectorizable): Reduce to 1 bit.
18697 (direct_internal_fn_p): Also return true for internal functions
18698 that map directly to instructions defined target-insns.def.
18699 (direct_internal_fn): Adjust comment accordingly.
18700 * internal-fn.cc (direct_insn, optab1, optab2, vectorizable_optab1)
18701 (vectorizable_optab2): New local macros.
18702 (not_direct): Initialize directly_mapped.
18703 (mask_load_direct, load_lanes_direct, mask_load_lanes_direct)
18704 (gather_load_direct, len_load_direct, mask_store_direct)
18705 (store_lanes_direct, mask_store_lanes_direct, vec_cond_mask_direct)
18706 (vec_cond_direct, scatter_store_direct, len_store_direct)
18707 (vec_set_direct, unary_direct, binary_direct, ternary_direct)
18708 (cond_unary_direct, cond_binary_direct, cond_ternary_direct)
18709 (while_direct, fold_extract_direct, fold_left_direct)
18710 (mask_fold_left_direct, check_ptrs_direct): Use the macros above.
18711 (expand_GOMP_SIMT_ENTER_ALLOC, expand_GOMP_SIMT_EXIT): Delete
18712 (expand_GOMP_SIMT_LANE, expand_GOMP_SIMT_LAST_LANE): Likewise;
18713 (expand_GOMP_SIMT_ORDERED_PRED, expand_GOMP_SIMT_VOTE_ANY): Likewise.
18714 (expand_GOMP_SIMT_XCHG_BFLY, expand_GOMP_SIMT_XCHG_IDX): Likewise.
18715 (direct_internal_fn_types): Handle functions that map to instructions
18716 defined in target-insns.def.
18717 (direct_internal_fn_types): Likewise.
18718 (direct_internal_fn_supported_p): Likewise.
18719 (internal_fn_expanders): Likewise.
18720 (expand_fn_using_insn): New function,
18721 split out and adapted from...
18722 (expand_direct_optab_fn): ...here.
18723 (expand_GOMP_SIMT_ENTER_ALLOC): Use it.
18724 (expand_GOMP_SIMT_EXIT): Likewise.
18725 (expand_GOMP_SIMT_LANE): Likewise.
18726 (expand_GOMP_SIMT_LAST_LANE): Likewise.
18727 (expand_GOMP_SIMT_ORDERED_PRED): Likewise.
18728 (expand_GOMP_SIMT_VOTE_ANY): Likewise.
18729 (expand_GOMP_SIMT_XCHG_BFLY): Likewise.
18730 (expand_GOMP_SIMT_XCHG_IDX): Likewise.
18731
18732 2022-06-15 Richard Earnshaw <rearnsha@arm.com>
18733
18734 PR target/105981
18735 * config/arm/arm.cc (gen_cpymem_ldrd_strd): Rename low_reg and hi_reg
18736 to first_reg and second_reg respectively. Initialize them correctly
18737 when generating big-endian code.
18738
18739 2022-06-15 Richard Earnshaw <rearnsha@arm.com>
18740
18741 PR target/105974
18742 * config/arm/arm.cc (arm_bfi_1_p): Use UINTVAL instead of XUINT.
18743
18744 2022-06-15 Richard Biener <rguenther@suse.de>
18745
18746 PR tree-optimization/105971
18747 * tree-ssa-alias.cc (refs_may_alias_p_2): Put bail-out for
18748 FUNCTION_DECL and LABEL_DECL refs after decl-decl disambiguation
18749 to leak less surprising alias results.
18750
18751 2022-06-15 Richard Biener <rguenther@suse.de>
18752
18753 PR tree-optimization/105969
18754 * gimple-ssa-sprintf.cc (get_origin_and_offset_r): Avoid division
18755 by zero in overflow check.
18756
18757 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
18758
18759 PR tree-optimization/105254
18760 PR tree-optimization/105940
18761 Revert:
18762 * config/aarch64/aarch64.cc
18763 (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
18764 loop_vec_info as argument. Restrict the unroll factor to values
18765 that divide the VF.
18766 (aarch64_vector_costs::finish_cost): Update call accordingly.
18767
18768 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
18769
18770 * read-rtl.cc (find_int): Substitute symbolic constants
18771 before converting the string to an integer.
18772
18773 2022-06-15 Roger Sayle <roger@nextmovesoftware.com>
18774 Richard Biener <rguenther@suse.de>
18775
18776 * match.pd (convert (lshift @1 INTEGER_CST@2)): Narrow integer
18777 left shifts by a constant when the result is truncated, and the
18778 shift constant is well-defined.
18779 * tree-vect-patterns.cc (vect_recog_rotate_pattern): Add
18780 support for rotations of signed integer types, by lowering
18781 using unsigned vector shifts.
18782
18783 2022-06-15 liuhongt <hongtao.liu@intel.com>
18784
18785 PR target/105953
18786 * config/i386/sse.md (*avx_cmp<mode>3_ltint_not): Force_reg
18787 operands[3].
18788
18789 2022-06-14 Surya Kumari Jangala <jskumari@linux.ibm.com>
18790
18791 PR rtl-optimization/105041
18792 * regrename.cc (check_new_reg_p): Use nregs value from du chain.
18793
18794 2022-06-14 Segher Boessenkool <segher@kernel.crashing.org>
18795
18796 * config/rs6000/vsx.md (VS_scalar): Delete.
18797 (rest of file): Adjust.
18798
18799 2022-06-14 Jan Hubicka <hubicka@ucw.cz>
18800
18801 PR ipa/105739
18802 * ipa-prop.cc (ipa_load_from_parm_agg): Punt on volatile loads.
18803
18804 2022-06-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
18805
18806 * config/riscv/bitmanip.md: Add split to handle opportunities
18807 for slli + sh[123]add.uw
18808
18809 2022-06-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
18810
18811 * config/riscv/predicates.md (consecutive_bits_operand):
18812 Implement new predicate.
18813
18814 2022-06-14 Richard Biener <rguenther@suse.de>
18815
18816 PR tree-optimization/105946
18817 * tree-ssa-uninit.cc (maybe_warn_pass_by_reference):
18818 Do not look at arguments not specified in the function call.
18819
18820 2022-06-14 Richard Biener <rguenther@suse.de>
18821
18822 PR middle-end/105965
18823 * match.pd (view_convert CONSTRUCTOR): Handle single-element
18824 CTOR case.
18825
18826 2022-06-14 Eric Botcazou <ebotcazou@adacore.com>
18827
18828 * warning-control.cc (copy_warning) [generic version]: Do not erase
18829 the warning data of the destination location when the no-warning
18830 bit is not set on the source.
18831 (copy_warning) [tree version]: Return early if TO is equal to FROM.
18832 (copy_warning) [gimple version]: Likewise.
18833
18834 2022-06-14 Kewen Lin <linkw@linux.ibm.com>
18835
18836 PR tree-optimization/105940
18837 * tree-vect-loop.cc (vect_analyze_loop_2): Move the place of
18838 applying suggested_unroll_factor after start_over.
18839
18840 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
18841
18842 * config/xtensa/predicates.md (shifted_mask_operand):
18843 New predicate.
18844 * config/xtensa/xtensa.md (*andsi3_const_pow2_minus_one):
18845 New insn-and-split pattern.
18846 (*andsi3_const_negative_pow2, *andsi3_const_shifted_mask,
18847 *masktrue_const_pow2_minus_one, *masktrue_const_negative_pow2,
18848 *masktrue_const_shifted_mask): Ditto.
18849
18850 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
18851
18852 * config/xtensa/xtensa.md (*masktrue_bitcmpl): New insn pattern.
18853
18854 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
18855
18856 * config/xtensa/xtensa-protos.h (xtensa_emit_branch):
18857 Remove the first argument.
18858 (xtensa_emit_bit_branch): Remove it because now called only from the
18859 output statement of *bittrue insn pattern.
18860 * config/xtensa/xtensa.cc (gen_int_relational): Remove the last
18861 argument 'p_invert', and make so that the condition is reversed by
18862 itself as needed.
18863 (xtensa_expand_conditional_branch): Share the common path, and remove
18864 condition inversion code.
18865 (xtensa_emit_branch, xtensa_emit_movcc): Simplify by removing the
18866 "false side" pattern.
18867 (xtensa_emit_bit_branch): Remove it because of the abovementioned
18868 reason, and move the function body to *bittrue insn pattern.
18869 * config/xtensa/xtensa.md (*bittrue): Transplant the output
18870 statement from removed xtensa_emit_bit_branch().
18871 (*bfalse, *ubfalse, *bitfalse, *maskfalse): Remove the "false side"
18872 insn patterns.
18873
18874 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
18875
18876 * config/xtensa/predicates.md (logical_shift_operator,
18877 xtensa_shift_per_byte_operator): New predicates.
18878 * config/xtensa/xtensa-protos.h (xtensa_shlrd_which_direction):
18879 New prototype.
18880 * config/xtensa/xtensa.cc (xtensa_shlrd_which_direction):
18881 New helper function for funnel shift patterns.
18882 * config/xtensa/xtensa.md (ior_op): New code iterator.
18883 (*ashlsi3_1): Replace with new split pattern.
18884 (*shift_per_byte): Unify *ashlsi3_3x, *ashrsi3_3x and *lshrsi3_3x.
18885 (*shift_per_byte_omit_AND_0, *shift_per_byte_omit_AND_1):
18886 New insn-and-split patterns that redirect to *xtensa_shift_per_byte,
18887 in order to omit unnecessary bitwise AND operation.
18888 (*shlrd_reg_<code>, *shlrd_const_<code>, *shlrd_per_byte_<code>,
18889 *shlrd_per_byte_<code>_omit_AND):
18890 New insn patterns for funnel shifts.
18891
18892 2022-06-13 Jason Merrill <jason@redhat.com>
18893
18894 * tree-cfg.cc (pass_warn_function_return::execute): Also check
18895 BUILT_IN_TRAP.
18896
18897 2022-06-13 Maciej W. Rozycki <macro@embecosm.com>
18898
18899 * config/riscv/riscv.md (length): Remove the explicit setting
18900 for "fcmp".
18901
18902 2022-06-13 H.J. Lu <hjl.tools@gmail.com>
18903
18904 * common/config/i386/cpuinfo.h (get_available_features): Require
18905 AVX for F16C and VAES.
18906
18907 2022-06-13 Uroš Bizjak <ubizjak@gmail.com>
18908
18909 PR target/105927
18910 * config/i386/predicates.md (register_no_elim_operand):
18911 Return true for subreg of a memory operand.
18912
18913 2022-06-13 Richard Sandiford <richard.sandiford@arm.com>
18914
18915 * internal-fn.def (DEF_INTERNAL_INSN_FN): New macro.
18916 (GOMP_SIMT_ENTER_ALLOC, GOMP_SIMT_EXIT, GOMP_SIMT_LANE)
18917 (GOMP_SIMT_LAST_LANE, GOMP_SIMT_ORDERED_PRED, GOMP_SIMT_VOTE_ANY)
18918 (GOMP_SIMT_XCHG_BFLY, GOMP_SIMT_XCHG_IDX): Use it.
18919 * internal-fn.h (direct_internal_fn_info::directly_mapped): New
18920 member variable.
18921 (direct_internal_fn_info::vectorizable): Reduce to 1 bit.
18922 (direct_internal_fn_p): Also return true for internal functions
18923 that map directly to instructions defined target-insns.def.
18924 (direct_internal_fn): Adjust comment accordingly.
18925 * internal-fn.cc (direct_insn, optab1, optab2, vectorizable_optab1)
18926 (vectorizable_optab2): New local macros.
18927 (not_direct): Initialize directly_mapped.
18928 (mask_load_direct, load_lanes_direct, mask_load_lanes_direct)
18929 (gather_load_direct, len_load_direct, mask_store_direct)
18930 (store_lanes_direct, mask_store_lanes_direct, vec_cond_mask_direct)
18931 (vec_cond_direct, scatter_store_direct, len_store_direct)
18932 (vec_set_direct, unary_direct, binary_direct, ternary_direct)
18933 (cond_unary_direct, cond_binary_direct, cond_ternary_direct)
18934 (while_direct, fold_extract_direct, fold_left_direct)
18935 (mask_fold_left_direct, check_ptrs_direct): Use the macros above.
18936 (expand_GOMP_SIMT_ENTER_ALLOC, expand_GOMP_SIMT_EXIT): Delete
18937 (expand_GOMP_SIMT_LANE, expand_GOMP_SIMT_LAST_LANE): Likewise;
18938 (expand_GOMP_SIMT_ORDERED_PRED, expand_GOMP_SIMT_VOTE_ANY): Likewise.
18939 (expand_GOMP_SIMT_XCHG_BFLY, expand_GOMP_SIMT_XCHG_IDX): Likewise.
18940 (direct_internal_fn_types): Handle functions that map to instructions
18941 defined in target-insns.def.
18942 (direct_internal_fn_types): Likewise.
18943 (direct_internal_fn_supported_p): Likewise.
18944 (internal_fn_expanders): Likewise.
18945
18946 2022-06-13 Richard Sandiford <richard.sandiford@arm.com>
18947
18948 * internal-fn.cc (expand_fn_using_insn): New function,
18949 split out and adapted from...
18950 (expand_direct_optab_fn): ...here.
18951 (expand_GOMP_SIMT_ENTER_ALLOC): Use it.
18952 (expand_GOMP_SIMT_EXIT): Likewise.
18953 (expand_GOMP_SIMT_LANE): Likewise.
18954 (expand_GOMP_SIMT_LAST_LANE): Likewise.
18955 (expand_GOMP_SIMT_ORDERED_PRED): Likewise.
18956 (expand_GOMP_SIMT_VOTE_ANY): Likewise.
18957 (expand_GOMP_SIMT_XCHG_BFLY): Likewise.
18958 (expand_GOMP_SIMT_XCHG_IDX): Likewise.
18959
18960 2022-06-13 Jakub Jelinek <jakub@redhat.com>
18961
18962 * omp-expand.cc (expand_omp_target): Remap user provided
18963 device clause arguments, -1 to -2 and -2 to -3, either
18964 at compile time if constant, or at runtime.
18965
18966 2022-06-13 Eric Botcazou <ebotcazou@adacore.com>
18967
18968 * common.opt (finstrument-functions): Set explicit value.
18969 (-finstrument-functions-once): New option.
18970 * doc/invoke.texi (Program Instrumentation Options): Document it.
18971 * gimplify.cc (build_instrumentation_call): New static function.
18972 (gimplify_function_tree): Call it to emit the instrumentation calls
18973 if -finstrument-functions[-once] is specified.
18974
18975 2022-06-13 Eric Botcazou <ebotcazou@adacore.com>
18976
18977 * dwarf2out.cc (output_one_line_info_table): Initialize prev_addr.
18978 * gimple.h (gimple_set_location): Do not copy warning data from
18979 the previous location when it is UNKNOWN_LOCATION.
18980 * optabs.cc (expand_widen_pattern_expr): Always set oprnd{1,2}.
18981
18982 2022-06-13 Jakub Jelinek <jakub@redhat.com>
18983
18984 PR target/105911
18985 * config/i386/i386.md (*ashl<dwi>3_doubleword_mask,
18986 *<insn><dwi>3_doubleword_mask): Use operands[3] masked with
18987 (<MODE_SIZE> * BITS_PER_UNIT) - 1 as AND operand instead of
18988 operands[3] unmodified.
18989
18990 2022-06-12 Simon Wright <simon@pushface.org>
18991
18992 PR target/104871
18993 * config/darwin-driver.cc (darwin_find_version_from_kernel): If the OS
18994 version is darwin20 (macOS 11) or greater, truncate the version to the
18995 major number.
18996
18997 2022-06-12 Mark Mentovai <mark@mentovai.com>
18998
18999 * config/darwin-c.cc: Make -mmacosx-version-min more future-proof.
19000
19001 2022-06-12 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
19002
19003 PR target/96463
19004 * config/aarch64/aarch64-sve-builtins-base.cc: Include ssa.h.
19005 (svld1rq_impl::fold): Define.
19006 * config/aarch64/aarch64.cc (expand_vec_perm_d): Define new members
19007 op_mode and op_vec_flags.
19008 (aarch64_evpc_reencode): Initialize newd.op_mode and
19009 newd.op_vec_flags.
19010 (aarch64_evpc_sve_dup): New function.
19011 (aarch64_expand_vec_perm_const_1): Gate existing calls to
19012 aarch64_evpc_* functions under d->vmode == d->op_mode,
19013 and call aarch64_evpc_sve_dup.
19014 (aarch64_vectorize_vec_perm_const): Remove assert
19015 d->vmode != d->op_mode, and initialize d.op_mode and d.op_vec_flags.
19016 * tree-cfg.cc (verify_gimple_assign_ternary): Allow different
19017 vector types for lhs and rhs in VEC_PERM_EXPR if rhs3 is
19018 constant.
19019
19020 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
19021
19022 * config/xtensa/xtensa-protos.h (xtensa_constantsynth):
19023 New prototype.
19024 * config/xtensa/xtensa.cc (xtensa_emit_constantsynth,
19025 xtensa_constantsynth_2insn, xtensa_constantsynth_rtx_SLLI,
19026 xtensa_constantsynth_rtx_ADDSUBX, xtensa_constantsynth):
19027 New backend functions that process the abovementioned logic.
19028 (xtensa_emit_move_sequence): Revert the previous changes.
19029 * config/xtensa/xtensa.md: New split patterns for integer
19030 and floating-point, as the frontend part.
19031
19032 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
19033
19034 * config/xtensa/xtensa.cc (xtensa_rtx_costs): Correct wrong case
19035 for ABS and NEG, add missing case for BSWAP and CLRSB, and
19036 double the costs for integer divisions using libfuncs if
19037 optimizing for speed, in order to take advantage of fast constant
19038 division by multiplication.
19039 (TARGET_INSN_COST): New macro definition.
19040 (xtensa_is_insn_L32R_p, xtensa_insn_cost): New functions for
19041 calculating relative costs of a RTL insns, for both of speed and
19042 size.
19043 * config/xtensa/xtensa.md (return, nop, trap): Correct values of
19044 the attribute "length" that depends on TARGET_DENSITY.
19045 (define_asm_attributes, blockage, frame_blockage): Add missing
19046 attributes.
19047 * config/xtensa/xtensa.opt (-mextra-l32r-costs=): New machine-
19048 dependent option, however, preparatory work for now.
19049
19050 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
19051
19052 * config/xtensa/xtensa.cc (xtensa_expand_block_set_small_loop):
19053 Pass through the block length / loop count conditions if
19054 zero-overhead looping is configured and active,
19055
19056 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
19057
19058 * config/xtensa/xtensa.md (mulsidi3, umulsidi3):
19059 Split into individual signedness, in order to use libcall
19060 "__umulsidi3" but not the other.
19061 (<u>mulhisi3): Merge into one by using code iterator.
19062 (<u>mulsidi3, mulhisi3, umulhisi3): Remove.
19063
19064 2022-06-11 Michael Meissner <meissner@linux.ibm.com>
19065
19066 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Do
19067 not generate block copies with vector pair instructions if we are
19068 tuning for power10.
19069
19070 2022-06-10 Roger Sayle <roger@nextmovesoftware.com>
19071
19072 PR rtl-optimization/7061
19073 * expr.cc (emit_group_store): For groups that consist of a single
19074 scalar integer register that hold a complex mode value, use
19075 gen_lowpart to generate a SUBREG to "view_convert" to the complex
19076 mode. For modes of different sizes, first convert to an integer
19077 mode of the appropriate size.
19078
19079 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
19080
19081 * config/xtensa/xtensa.md (clrsbsi2): New insn pattern.
19082
19083 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
19084
19085 * config/xtensa/xtensa.md (*andsi3_bitcmpl):
19086 New insn_and_split pattern.
19087
19088 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
19089
19090 * config/xtensa/xtensa.md (one_cmplsi2):
19091 Rearrange as an insn_and_split pattern.
19092
19093 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
19094
19095 * config/xtensa/xtensa.md (bswaphi2): New insn pattern.
19096
19097 2022-06-09 Segher Boessenkool <segher@kernel.crashing.org>
19098
19099 * config/rs6000/rs6000.md (FP_ISA3): Delete.
19100 (float<QHI:mode><FP_ISA3:mode>2): Rename to...
19101 (float<QHI:mode><SFDF:mode>2): ... this. Adjust.
19102 (*float<QHI:mode><FP_ISA3:mode>2_internal): Rename to...
19103 (*float<QHI:mode><SFDF:mode>2_internal): ... this. Adjust.
19104 (floatuns<QHI:mode><FP_ISA3:mode>2): Rename to...
19105 (floatuns<QHI:mode><SFDF:mode>2): ... this. Adjust.
19106 (*floatuns<QHI:mode><FP_ISA3:mode>2_internal): Rename to...
19107 (*floatuns<QHI:mode><SFDF:mode>2_internal): ... this. Adjust.
19108
19109 2022-06-09 Maciej W. Rozycki <macro@embecosm.com>
19110
19111 * config/riscv/riscv.md
19112 (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_default)
19113 (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_snan): Emit a tab
19114 rather than space with FSFLAGS.
19115
19116 2022-06-09 Tobias Burnus <tobias@codesourcery.com>
19117
19118 * omp-offload.cc (omp_discover_declare_target_tgt_fn_r,
19119 omp_discover_declare_target_fn_r): Don't walk reverse-offload
19120 target regions.
19121
19122 2022-06-09 Jakub Jelinek <jakub@redhat.com>
19123
19124 * doc/invoke.texi (-Waddress): Fix a typo in small example.
19125 Fix typos inptr_t -> intptr_t and uinptr_t -> uintptr_t.
19126
19127 2022-06-09 Cui,Lili <lili.cui@intel.com>
19128
19129 PR target/105493
19130 * config/i386/x86-tune-costs.h (skylake_cost): Raise the gpr load cost
19131 from 4 to 6 and gpr store cost from 6 to 8. Change SSE loads and
19132 unaligned loads cost from {6, 6, 6, 10, 20} to {8, 8, 8, 8, 16}.
19133 (icelake_cost): Ditto.
19134 (alderlake_cost): Raise the gpr store cost from 6 to 8 and SSE loads,
19135 stores and unaligned stores cost from {6, 6, 6, 10, 15} to
19136 {8, 8, 8, 10, 15}.
19137
19138 2022-06-09 Haochen Gui <guihaoc@gcc.gnu.org>
19139
19140 * config/rs6000/rs6000.md (define_split for bswapdi load): Merge shift
19141 and ior insns to one rotate and mask insn.
19142 (define_split for bswapdi register): Likewise.
19143
19144 2022-06-08 Roger Sayle <roger@nextmovesoftware.com>
19145
19146 PR middle-end/105874
19147 * expr.cc (expand_expr_real_1) <normal_inner_ref>: New local
19148 variable tem_modifier for calculating the expand_modifier enum to
19149 use for expanding tem. If tem is a VAR_DECL, use EXPAND_MEMORY.
19150
19151 2022-06-08 Max Filippov <jcmvbkbc@gmail.com>
19152
19153 PR target/105879
19154 * config/xtensa/xtensa.md (movdi): Rename 'first' and 'second'
19155 to 'lowpart' and 'highpart' so that they match 'gen_lowpart' and
19156 'gen_highpart' bitwise semantics and fix order of highpart and
19157 lowpart depending on target endianness.
19158
19159 2022-06-08 Chung-Ju Wu <jasonwucj@gmail.com>
19160
19161 * config/arm/arm-cpus.in (star-mc1): New cpu.
19162 * config/arm/arm-tables.opt: Regenerate.
19163 * config/arm/arm-tune.md: Regenerate.
19164 * doc/invoke.texi: Update docs.
19165
19166 2022-06-08 liuhongt <hongtao.liu@intel.com>
19167
19168 PR target/105513
19169 PR target/105504
19170 * config/i386/i386.md (*movsi_internal): Change alternative
19171 from *v to ?v.
19172 (*movdi_internal): Ditto.
19173 * config/i386/sse.md (vec_set<mode>_0): Change alternative *r
19174 to ?r.
19175 (*vec_extractv4sf_mem): Ditto.
19176 (*vec_extracthf): Ditto.
19177
19178 2022-06-07 Richard Earnshaw <rearnsha@arm.com>
19179
19180 PR target/105090
19181 * config/arm/arm.cc (arm_bfi_1_p): New function.
19182 (arm_bfi_p): New function.
19183 (arm_rtx_costs_internal): Add costs for BFI idioms.
19184 (arm_print_operand [case 'V']): Format output for BFI/BFC masks.
19185 * config/arm/constraints.md (Dj): New constraint.
19186 * config/arm/arm.md (arm_andsi3_insn): Add alternative to use BFC.
19187 (insv_zero): Convert to an insn with a split.
19188 (*bfi, *bfi_alt1, *bfi_alt2, *bfi_alt3): New patterns.
19189
19190 2022-06-07 liuhongt <hongtao.liu@intel.com>
19191
19192 PR target/105854
19193 * config/i386/sse.md (ssse3_palignrdi): Change alternative 2
19194 from Yv to Yw.
19195
19196 2022-06-07 Roger Sayle <roger@nextmovesoftware.com>
19197
19198 PR middle-end/105853
19199 PR target/105856
19200 * calls.cc (load_register_parameters): Call store_constructor
19201 and int_expr_size directly instead of expanding via expand_expr.
19202 * expr.cc (static void store_constructor): Don't prototype here.
19203 (static HOST_WIDE_INT int_expr_size): Likewise.
19204 (store_constructor): No longer static.
19205 (int_expr_size): Likewise, no longer static.
19206 * expr.h (store_constructor): Prototype here.
19207 (int_expr_size): Prototype here.
19208
19209 2022-06-07 Jan Beulich <jbeulich@suse.com>
19210
19211 Revert:
19212 2022-06-03 Jan Beulich <jbeulich@suse.com>
19213
19214 * Makefile.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
19215 * configure.ac: Check for objcopy, producing
19216 ORIGINAL_OBJCOPY_FOR_TARGET.
19217 * configure: Update accordingly.
19218 * exec-tool.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
19219 Handle objcopy.
19220
19221 2022-06-07 Jakub Jelinek <jakub@redhat.com>
19222
19223 * tree.h (OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER): Define.
19224 * tree-pretty-print.cc (dump_omp_clause) <case OMP_CLAUSE_LINEAR>:
19225 Adjust clause printing style depending on
19226 OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER.
19227
19228 2022-06-07 Jan Beulich <jbeulich@suse.com>
19229
19230 * config/i386/i386-builtin.def (__builtin_ia32_psadbw256):
19231 Change type.
19232 * config/i386/i386-builtin-types.def: New function type
19233 (V4DI, V32QI, V32QI).
19234 * config/i386/i386-expand.cc (ix86_expand_args_builtin): Handle
19235 V4DI_FTYPE_V32QI_V32QI.
19236
19237 2022-06-07 Jan Beulich <jbeulich@suse.com>
19238
19239 * config/i386/i386.cc (ix86_attr_length_vex_default): Take REX.B
19240 into account for reg-only insns.
19241
19242 2022-06-07 Roger Sayle <roger@nextmovesoftware.com>
19243
19244 * config/i386/i386.cc (ix86_rtx_costs): Add a new case for
19245 IF_THEN_ELSE, and provide costs for TARGET_XOP's vpcmov and
19246 TARGET_CMOVE's (scalar integer) conditional moves.
19247 * config/i386/sse.md (define_split): Recognize XOP's vpcmov
19248 from its equivalent (canonical) pxor;pand;pxor sequence.
19249
19250 2022-06-07 Kewen Lin <linkw@linux.ibm.com>
19251
19252 * machmode.def (VECTOR_MODES_WITH_PREFIX): Update document for
19253 parameter ORDER.
19254
19255 2022-06-06 Andrew Stubbs <ams@codesourcery.com>
19256
19257 * config.in: Regenerate.
19258 * configure: Regenerate.
19259 * configure.ac: Reinstate HAVE_GAS_ARM_EXTENDED_ARCH test.
19260
19261 2022-06-04 Roger Sayle <roger@nextmovesoftware.com>
19262
19263 PR middle-end/95126
19264 * calls.cc (load_register_parameters): When loading a suitable
19265 immediate_const_ctor_p VAR_DECL into a single word_mode register,
19266 construct it directly in a pseudo rather than read it (by parts)
19267 from memory.
19268 * expr.cc (int_expr_size): Make tree argument a const_tree.
19269 (immediate_const_ctor_p): Helper predicate. Return true for
19270 simple constructors that may be materialized in a register.
19271 (expand_expr_real_1) [VAR_DECL]: When expanding a constant
19272 VAR_DECL with a suitable immediate_const_ctor_p constructor
19273 use store_constructor to materialize it directly in a pseudo.
19274 * expr.h (immediate_const_ctor_p): Prototype here.
19275 * varasm.cc (initializer_constant_valid_for_bitfield_p): Change
19276 VALUE argument from tree to const_tree.
19277 * varasm.h (initializer_constant_valid_for_bitfield_p): Update
19278 prototype.
19279
19280 2022-06-04 Jakub Jelinek <jakub@redhat.com>
19281
19282 PR target/105825
19283 * config/i386/i386.md (*ashl<dwi>3_doubleword_mask,
19284 *<insn><dwi>3_doubleword_mask): If top bit of mask is clear, but lower
19285 bits of mask aren't all set, use operands[2] mode for the AND
19286 operation instead of always SImode.
19287
19288 2022-06-03 Jakub Jelinek <jakub@redhat.com>
19289
19290 PR middle-end/30314
19291 PR middle-end/105777
19292 * match.pd (__builtin_mul_overflow_p (x, cst, (stype) 0) ->
19293 x > stype_max / cst || x < stype_min / cst): New simplification.
19294
19295 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
19296
19297 * gimple-range-cache.cc (ranger_cache::range_from_dom): Use
19298 Value_Range.
19299 * gimple-range.cc (gimple_ranger::register_inferred_ranges): Same.
19300 * value-range.h (Value_Range::Value_Range): Implement copy
19301 constructor for Value_Range.
19302
19303 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
19304
19305 * value-range.h (struct vrange_traits): Remove.
19306 (is_a): Rewrite without vrange_traits.
19307 (as_a): Same.
19308
19309 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
19310
19311 * value-range.cc (vrange::contains_p): Implement.
19312 (vrange::type): Return void.
19313 (vrange::supports_type_p): Implement.
19314 (irange::fits_p): Same.
19315 (vrange::set_undefined): Same.
19316 (irange::set_nonnegative): Same.
19317 (vrange::set_varying): Same.
19318 (vrange::union_): Same.
19319 (unsupported_range::set): Move to vrange.
19320 (unsupported_range::type): Move to vrange.
19321 (vrange::intersect): Implement for varying and undefined.
19322 (vrange::zero_p): Implement.
19323 (unsupported_range::supports_type_p): Move to vrange.
19324 (vrange::nonzero_p): Implement.
19325 (unsupported_range::set_undefined): Move to vrange.
19326 (unsupported_range::set_varying): Same.
19327 (unsupported_range::dump): Same.
19328 (unsupported_range::union_): Same. Implement for varying and
19329 undefined.
19330 (unsupported_range::intersect): Move to vrange.
19331 (unsupported_range::zero_p): Same.
19332 (unsupported_range::nonzero_p): Same.
19333 (unsupported_range::set_nonzero): Same.
19334 (unsupported_range::set_zero): Same.
19335 (unsupported_range::set_nonnegative): Same.
19336 (unsupported_range::fits_p): Same.
19337 * value-range.h (class vrange): Remove abstract markers for most
19338 methods.
19339 (class unsupported_range): Remove most methods as they will now be
19340 inherited from vrange.
19341
19342 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
19343
19344 * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Adjust for
19345 an object level supports_type_p for irange and a static
19346 Value_Range::supports_type_p.
19347 * gimple-range-fold.cc (fold_using_range::range_of_range_op): Same.
19348 (fold_using_range::range_of_address): Same.
19349 (fold_using_range::range_of_builtin_call): Same.
19350 * gimple-range-fold.h (gimple_range_type): Same.
19351 (gimple_range_ssa_p): Same.
19352 * gimple-range-path.cc (path_range_query::internal_range_of_expr):
19353 Same.
19354 (path_range_query::range_of_stmt): Same.
19355 (path_range_query::add_to_imports): Same.
19356 * gimple-range.cc (gimple_ranger::range_on_edge): Same.
19357 (gimple_ranger::export_global_ranges): Same.
19358 * gimple-ssa-evrp-analyze.cc
19359 (evrp_range_analyzer::record_ranges_from_phis): Same.
19360 * range-op.cc (range_operator::wi_fold): Same.
19361 (range_operator::fold_range): Same.
19362 * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Same.
19363 * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): Same.
19364 (evaluate_control_stmt_using_entry_checks): Same.
19365 * tree-ssa-threadedge.cc
19366 (hybrid_jt_simplifier::compute_ranges_from_state): Same.
19367 * tree-vrp.cc (supported_types_p): Same.
19368 * value-query.cc (range_query::value_of_expr): Same.
19369 (range_query::value_on_edge): Same.
19370 (range_query::value_of_stmt): Same.
19371 (range_query::get_tree_range): Same.
19372 (get_range_global): Same.
19373 (global_range_query::range_of_expr): Same.
19374 * value-range-equiv.h (class value_range_equiv): Same.
19375 * value-range.cc (irange::supports_type_p): Same.
19376 (unsupported_range::supports_type_p): Same.
19377 * value-range.h (enum value_range_discriminator): Same.
19378 (Value_Range::init): Same.
19379 (Value_Range::supports_type_p): Same.
19380 (irange::supports_type_p): Same.
19381 (irange::supports_p): Same.
19382 (vrange::supports_type_p): Same.
19383 (vrange_allocator::alloc_vrange): Same.
19384
19385 2022-06-03 Jan Beulich <jbeulich@suse.com>
19386
19387 * Makefile.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
19388 * configure.ac: Check for objcopy, producing
19389 ORIGINAL_OBJCOPY_FOR_TARGET.
19390 * configure: Update accordingly.
19391 * exec-tool.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
19392 Handle objcopy.
19393
19394 2022-06-03 Jan Beulich <jbeulich@suse.com>
19395
19396 * config/i386/mmx.md (mmx_psadbw): Convert to expander.
19397 (*mmx_psadbw): New. Mark as commutative.
19398 * config/i386/sse.md (<sse2_avx2>_psadbw): Convert to expander.
19399 (*<sse2_avx2>_psadbw): New. Mark as commutative.
19400
19401 2022-06-03 Alexandre Oliva <oliva@adacore.com>
19402
19403 PR tree-optimization/105665
19404 PR tree-optimization/100810
19405 * tree-ssa-loop-ivopts.cc
19406 (ssa_name_maybe_undef_p, ssa_name_set_maybe_undef): New.
19407 (ssa_name_any_use_dominates_bb_p, mark_ssa_maybe_undefs): New.
19408 (find_ssa_undef): Check precomputed flag and intervening uses.
19409 (tree_ssa_iv_optimize): Call mark_ssa_maybe_undefs.
19410
19411 2022-06-02 David Malcolm <dmalcolm@redhat.com>
19412
19413 * Makefile.in (OBJS): Add tree-diagnostic-client-data-hooks.o and
19414 tree-logical-location.o.
19415 (OBJS-libcommon): Add diagnostic-format-sarif.o; reorder.
19416 (CFLAGS-tree-diagnostic-client-data-hooks.o): Add TARGET_NAME.
19417 * common.opt (fdiagnostics-format=): Add sarif-stderr and sarif-file.
19418 (sarif-stderr, sarif-file): New enum values.
19419 * diagnostic-client-data-hooks.h: New file.
19420 * diagnostic-format-sarif.cc: New file.
19421 * diagnostic-path.h (enum diagnostic_event::verb): New enum.
19422 (enum diagnostic_event::noun): New enum.
19423 (enum diagnostic_event::property): New enum.
19424 (struct diagnostic_event::meaning): New struct.
19425 (diagnostic_event::get_logical_location): New vfunc.
19426 (diagnostic_event::get_meaning): New vfunc.
19427 (simple_diagnostic_event::get_logical_location): New vfunc impl.
19428 (simple_diagnostic_event::get_meaning): New vfunc impl.
19429 * diagnostic.cc: Include "diagnostic-client-data-hooks.h".
19430 (diagnostic_initialize): Initialize m_client_data_hooks.
19431 (diagnostic_finish): Clean up m_client_data_hooks.
19432 (diagnostic_event::meaning::dump_to_pp): New.
19433 (diagnostic_event::meaning::maybe_get_verb_str): New.
19434 (diagnostic_event::meaning::maybe_get_noun_str): New.
19435 (diagnostic_event::meaning::maybe_get_property_str): New.
19436 (get_cwe_url): Make non-static.
19437 (diagnostic_output_format_init): Handle
19438 DIAGNOSTICS_OUTPUT_FORMAT_SARIF_STDERR and
19439 DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE.
19440 * diagnostic.h (enum diagnostics_output_format): Add
19441 DIAGNOSTICS_OUTPUT_FORMAT_SARIF_STDERR and
19442 DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE.
19443 (class diagnostic_client_data_hooks): New forward decl.
19444 (class logical_location): New forward decl.
19445 (diagnostic_context::m_client_data_hooks): New field.
19446 (diagnostic_output_format_init_sarif_stderr): New decl.
19447 (diagnostic_output_format_init_sarif_file): New decl.
19448 (get_cwe_url): New decl.
19449 * doc/invoke.texi (-fdiagnostics-format=): Add sarif-stderr and
19450 sarif-file.
19451 * doc/sourcebuild.texi (Scan a particular file): Add
19452 scan-sarif-file and scan-sarif-file-not.
19453 * langhooks-def.h (lhd_get_sarif_source_language): New decl.
19454 (LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE): New macro.
19455 (LANG_HOOKS_INITIALIZER): Add
19456 LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE.
19457 * langhooks.cc (lhd_get_sarif_source_language): New.
19458 * langhooks.h (lang_hooks::get_sarif_source_language): New field.
19459 * logical-location.h: New file.
19460 * plugin.cc (struct for_each_plugin_closure): New.
19461 (for_each_plugin_cb): New.
19462 (for_each_plugin): New.
19463 * plugin.h (for_each_plugin): New decl.
19464 * tree-diagnostic-client-data-hooks.cc: New file.
19465 * tree-diagnostic.cc: Include "diagnostic-client-data-hooks.h".
19466 (tree_diagnostics_defaults): Populate m_client_data_hooks.
19467 * tree-logical-location.cc: New file.
19468 * tree-logical-location.h: New file.
19469
19470 2022-06-02 David Malcolm <dmalcolm@redhat.com>
19471
19472 * common.opt (fdiagnostics-format=): Add json-stderr and json-file
19473 to description.
19474 (DIAGNOSTICS_OUTPUT_FORMAT_JSON): Rename to...
19475 (DIAGNOSTICS_OUTPUT_FORMAT_JSON_STDERR): ...this.
19476 (diagnostics_output_format): Add json-stderr and json-file.
19477 * diagnostic-format-json.cc (json_flush_to_file): New.
19478 (json_final_cb): Convert to...
19479 (json_flush_to_file): ...this, ...
19480 (json_stderr_final_cb): ...this, and...
19481 (json_file_final_cb): ...this.
19482 (diagnostic_output_format_init): Move to diagnostic.cc.
19483 (json_output_base_file_name): New.
19484 (diagnostic_output_format_init_json): New.
19485 (diagnostic_output_format_init_json_stderr): New.
19486 (diagnostic_output_format_init_json_file): New.
19487 * diagnostic.cc (diagnostic_output_format_init): Move here from
19488 diagnostic-format-json.cc; update for changes to enum.
19489 * diagnostic.h (enum diagnostics_output_format): Rename
19490 DIAGNOSTICS_OUTPUT_FORMAT_JSON to
19491 DIAGNOSTICS_OUTPUT_FORMAT_JSON_STDERR, and add
19492 DIAGNOSTICS_OUTPUT_FORMAT_JSON_FILE.
19493 (diagnostic_output_format_init): Add base_file_name param.
19494 (diagnostic_output_format_init_json_stderr): New decl.
19495 (diagnostic_output_format_init_json_file): New dec.
19496 * doc/invoke.texi (-fdiagnostics-format=): Add "json-stderr" and
19497 "json-file". Rewrite so that the existing "json" is a synonym of
19498 "json-stderr".
19499 * gcc.cc (driver_handle_option): Pass dump_base_name to
19500 diagnostic_output_format_init.
19501 * opts.cc (common_handle_option): Likewise.
19502
19503 2022-06-02 David Malcolm <dmalcolm@redhat.com>
19504
19505 * json.cc (string::print): Fix escaping of '\'.
19506
19507 2022-06-02 Philipp Tomsich <philipp.tomsich@vrull.eu>
19508
19509 * config/riscv/riscv.cc (riscv_build_integer_1): Rewrite value as
19510 (-1 << 31) for the single-bit case, when operating on (1 << 31)
19511 in SImode.
19512 * config/riscv/riscv.h (SINGLE_BIT_MASK_OPERAND): Allow for
19513 any single-bit value, moving the special case for (1 << 31) to
19514 riscv_build_integer_1 (in riscv.c).
19515
19516 2022-06-02 Roger Sayle <roger@nextmovesoftware.com>
19517
19518 PR target/105791
19519 * config/i386/sse.md (V_128_256):Add V1TI and V2TI.
19520 (define_mode_attr avxsizesuffix): Add support for V1TI and V2TI.
19521
19522 2022-06-02 Jakub Jelinek <jakub@redhat.com>
19523
19524 PR target/105778
19525 * config/i386/i386.md (*ashl<dwi>3_doubleword_mask): Remove :SI
19526 from AND and its operands and just verify operands[2] has HImode,
19527 SImode or for TARGET_64BIT DImode. Allow operands[3] to be a mask
19528 with all low 6 (64-bit) or 5 (32-bit) bits set and in that case
19529 just throw away the masking. Use force_reg before calling
19530 gen_lowpart.
19531 (*ashl<dwi>3_doubleword_mask_1): Allow operands[3] to be a mask
19532 with all low 6 (64-bit) or 5 (32-bit) bits set and in that case
19533 just throw away the masking.
19534 (*ashl<mode>3_doubleword): Rename to ...
19535 (ashl<mode>3_doubleword): ... this.
19536 (*ashl<mode>3_mask): Remove :SI from AND and its operands and just
19537 verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
19538 Use force_reg before calling gen_lowpart.
19539 (*<insn><mode>3_mask): Likewise.
19540 (*<insn><dwi>3_doubleword_mask): Likewise. Allow operands[3] to be
19541 a mask with all low 6 (64-bit) or 5 (32-bit) bits set and in that
19542 case just throw away the masking. Use force_reg before calling
19543 gen_lowpart.
19544 (*<insn><dwi>3_doubleword_mask_1): Allow operands[3] to be a mask
19545 with all low 6 (64-bit) or 5 (32-bit) bits set and in that case just
19546 throw away the masking.
19547 (*<insn><mode>3_doubleword): Rename to ...
19548 (<insn><mode>3_doubleword): ... this.
19549 (*<insn><mode>3_mask): Remove :SI from AND and its operands and just
19550 verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
19551 Use force_reg before calling gen_lowpart.
19552 (splitter after it): Remove :SI from AND and its operands and just
19553 verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
19554 (*<btsc><mode>_mask, *<btsc><mode>_mask): Remove :SI from AND and its
19555 operands and just verify operands[1] has HImode, SImode or for
19556 TARGET_64BIT DImode. Use force_reg before calling gen_lowpart.
19557 (*jcc_bt<mode>_mask_1): New define_insn_and_split pattern.
19558 * config/i386/i386.cc (ix86_rtx_costs): For ZERO_EXTRACT with
19559 ZERO_EXTEND QI->SI in last operand ignore the cost of the ZERO_EXTEND.
19560
19561 2022-06-02 Richard Biener <rguenther@suse.de>
19562
19563 PR tree-optimization/101668
19564 * tree-vect-slp.cc (vect_build_slp_tree_1): Allow BIT_FIELD_REFs
19565 for vector types with compatible lane types.
19566 (vect_build_slp_tree_2): Deal with this.
19567 (vect_add_slp_permutation): Adjust. Emit lowpart/concat
19568 special cases without VEC_PERM.
19569 (vectorizable_slp_permutation): Select the operand vector
19570 type and relax requirements. Handle identity permutes
19571 with mismatching operand types.
19572 * optabs-query.cc (can_vec_perm_const_p): Only allow variable
19573 permutes for op_mode == mode.
19574
19575 2022-06-02 Richard Biener <rguenther@suse.de>
19576
19577 PR tree-optimization/105802
19578 * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb):
19579 Make sure to also compute the range in the type of the switch index.
19580
19581 2022-06-01 David Seifert <soap@gentoo.org>
19582
19583 PR plugins/95648
19584 * configure: Regenerate.
19585
19586 2022-06-01 H.J. Lu <hjl.tools@gmail.com>
19587
19588 PR rtl-optimization/105638
19589 * df-core.cc (df_find_single_def_src): Moved and renamed from
19590 find_single_def_src in loop-iv.cc. Change the argument to rtx
19591 and use rtx_equal_p. Return null for partial or conditional
19592 defs.
19593 * df.h (df_find_single_def_src): New prototype.
19594 * dse.cc (record_store): Use the constant source if the source
19595 register is set only once.
19596 * loop-iv.cc (find_single_def_src): Moved to df-core.cc.
19597 (replace_single_def_regs): Replace find_single_def_src with
19598 df_find_single_def_src.
19599
19600 2022-06-01 Wilco Dijkstra <wilco.dijkstra@arm.com>
19601
19602 * config/aarch64/aarch64.opt (explicit_tune_core): Rename to
19603 selected_tune.
19604 (explicit_arch): Rename to selected_arch.
19605 (x_aarch64_override_tune_string): Remove.
19606 (aarch64_ra_sign_key): Add as TargetVariable so it gets saved/restored.
19607 (aarch64_override_tune_string): Add Save so it gets saved/restored.
19608 * config/aarch64/aarch64.h (aarch64_architecture_version): Remove.
19609 * config/aarch64/aarch64.cc (aarch64_architecture_version): Remove.
19610 (processor): Remove archtecture_version field.
19611 (selected_arch): Remove global.
19612 (selected_cpu): Remove global.
19613 (selected_tune): Remove global.
19614 (aarch64_ra_sign_key): Move global to aarch64.opt so it is saved.
19615 (aarch64_override_options_internal): Use aarch64_get_tune_cpu.
19616 (aarch64_override_options): Further simplify code to only set
19617 selected_arch and selected_tune globals.
19618 (aarch64_option_save): Remove now that target options are saved.
19619 (aarch64_option_restore): Remove redundant target option restores.
19620 * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Use
19621 AARCH64_ISA_V9.
19622 * config/aarch64/aarch64-opts.h (aarch64_key_type): Add, moved from...
19623 * config/aarch64/aarch64-protos.h (aarch64_key_type): Remove.
19624 (aarch64_ra_sign_key): Remove.
19625
19626 2022-06-01 Jakub Jelinek <jakub@redhat.com>
19627
19628 PR middle-end/30314
19629 * match.pd (__builtin_mul_overflow_p (x, cst, (utype) 0) ->
19630 x > ~(utype)0 / cst): New simplification.
19631
19632 2022-06-01 Richard Biener <rguenther@suse.de>
19633
19634 PR tree-optimization/105786
19635 * tree-loop-distribution.cc
19636 (loop_distribution::transform_reduction_loop): Only do strlen
19637 replacement for integer type reductions.
19638
19639 2022-06-01 Jakub Jelinek <jakub@redhat.com>
19640
19641 PR tree-optimization/105770
19642 * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb): Cast
19643 CASE_LOW and CASE_HIGH to TREE_TYPE (idx) before comparisons with idx.
19644
19645 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
19646
19647 * gimple-range-cache.cc (ssa_block_ranges::dump): Convert to vrange.
19648 (sbr_vector::sbr_vector): Same.
19649 (sbr_vector::grow): Same.
19650 (sbr_vector::set_bb_range): Same.
19651 (sbr_vector::get_bb_range): Same.
19652 (sbr_sparse_bitmap::sbr_sparse_bitmap): Same.
19653 (sbr_sparse_bitmap::set_bb_range): Same.
19654 (sbr_sparse_bitmap::get_bb_range): Same.
19655 (block_range_cache::set_bb_range): Same.
19656 (block_range_cache::get_bb_range): Same.
19657 (block_range_cache::dump): Same.
19658 (ssa_global_cache::get_global_range): Same.
19659 (ssa_global_cache::set_global_range): Same.
19660 (ssa_global_cache::clear): Same.
19661 (ssa_global_cache::dump): Same.
19662 (ranger_cache::get_global_range): Same.
19663 (ranger_cache::set_global_range): Same.
19664 (ranger_cache::range_of_def): Same.
19665 (ranger_cache::entry_range): Same.
19666 (ranger_cache::exit_range): Same.
19667 (ranger_cache::edge_range): Same.
19668 (ranger_cache::range_of_expr): Same.
19669 (ranger_cache::range_on_edge): Same.
19670 (ranger_cache::block_range): Same.
19671 (ranger_cache::propagate_cache): Same.
19672 (ranger_cache::fill_block_cache): Same.
19673 (ranger_cache::range_from_dom): Same.
19674 * gimple-range-cache.h: Same.
19675 * gimple-range-edge.cc (gimple_outgoing_range::get_edge_range):
19676 Same.
19677 (gimple_outgoing_range::switch_edge_range): Same.
19678 (gimple_outgoing_range::edge_range_p): Same.
19679 * gimple-range-edge.h: Same.
19680 * gimple-range-fold.cc (fur_source::get_operand): Same.
19681 (fur_source::get_phi_operand): Same.
19682 (fur_edge::get_operand): Same.
19683 (fur_edge::get_phi_operand): Same.
19684 (fur_stmt::get_operand): Same.
19685 (fur_stmt::get_phi_operand): Same.
19686 (fur_list::fur_list): Same.
19687 (fur_list::get_operand): Same.
19688 (fur_list::get_phi_operand): Same.
19689 (fold_range): Same.
19690 (adjust_imagpart_expr): Same.
19691 (adjust_realpart_expr): Same.
19692 (gimple_range_adjustment): Same.
19693 (fold_using_range::fold_stmt): Same.
19694 (fold_using_range::range_of_range_op): Same.
19695 (fold_using_range::range_of_address): Same.
19696 (fold_using_range::range_of_phi): Same.
19697 (fold_using_range::range_of_call): Same.
19698 (fold_using_range::range_of_builtin_call): Same.
19699 (fold_using_range::range_of_builtin_int_call): Same.
19700 (fold_using_range::range_of_cond_expr): Same.
19701 (fur_source::register_outgoing_edges): Same.
19702 * gimple-range-fold.h (fold_range): Same.
19703 (gimple_range_type): Same.
19704 (gimple_range_ssa_p): Same.
19705 * gimple-range-gori.cc (gimple_range_calc_op1): Same.
19706 (gimple_range_calc_op2): Same.
19707 (gori_compute::compute_operand_range_switch): Same.
19708 (gori_compute::compute_operand_range): Same.
19709 (gori_compute::logical_combine): Same.
19710 (gori_compute::compute_logical_operands): Same.
19711 (gori_compute::compute_operand1_range): Same.
19712 (gori_compute::compute_operand2_range): Same.
19713 (gori_compute::compute_operand1_and_operand2_range): Same.
19714 (gori_compute::outgoing_edge_range_p): Same.
19715 (gori_compute::condexpr_adjust): Same.
19716 * gimple-range-gori.h (gimple_range_calc_op1): Same.
19717 (gimple_range_calc_op2): Same.
19718 * gimple-range-path.cc (path_range_query::get_cache): Same.
19719 (path_range_query::set_cache): Same.
19720 (path_range_query::range_on_path_entry): Same.
19721 (path_range_query::internal_range_of_expr): Same.
19722 (path_range_query::range_of_expr): Same.
19723 (path_range_query::ssa_range_in_phi): Same.
19724 (path_range_query::range_defined_in_block): Same.
19725 (path_range_query::compute_ranges_in_phis): Same.
19726 (path_range_query::compute_ranges_in_block): Same.
19727 (path_range_query::add_to_imports): Same.
19728 (path_range_query::range_of_stmt): Same.
19729 * gimple-range-path.h: Same.
19730 * gimple-range-infer.cc (gimple_infer_range::add_range): Same.
19731 (gimple_infer_range::~side_effect_manager): Same.
19732 (gimple_infer_range::get_nonzero): Same.
19733 (gimple_infer_range::maybe_adjust_range): Same.
19734 (gimple_infer_range::add_range): Same.
19735 * gimple-range-infer.h: Same.
19736 * gimple-range-tests.cc: Same.
19737 * gimple-range-trace.cc (range_tracer::trailer): Same.
19738 (debug_seed_ranger): Same.
19739 * gimple-range-trace.h: Same.
19740 * gimple-range.cc (gimple_ranger::range_of_expr): Same.
19741 (gimple_ranger::range_on_entry): Same.
19742 (gimple_ranger::range_on_exit): Same.
19743 (gimple_ranger::range_on_edge): Same.
19744 (gimple_ranger::fold_range_internal): Same.
19745 (gimple_ranger::range_of_stmt): Same.
19746 (gimple_ranger::prefill_name): Same.
19747 (gimple_ranger::prefill_stmt_dependencies): Same.
19748 (gimple_ranger::export_global_ranges): Same.
19749 (gimple_ranger::dump_bb): Same.
19750 * gimple-range.h: Same.
19751 * gimple-ssa-warn-access.cc (check_nul_terminated_array): Same.
19752 (memmodel_to_uhwi): Same.
19753 * tree-ssa-loop-niter.cc (refine_value_range_using_guard): Same.
19754 (determine_value_range): Same.
19755 (record_nonwrapping_iv): Same.
19756 (infer_loop_bounds_from_signedness): Same.
19757 (scev_var_range_cant_overflow): Same.
19758 * tree-ssa-threadedge.cc (hybrid_jt_simplifier::simplify): Same.
19759 * value-query.cc (range_query::range_on_edge): Same.
19760 (range_query::range_of_stmt): Same.
19761 (range_query::value_of_expr): Same.
19762 (range_query::value_on_edge): Same.
19763 (range_query::value_of_stmt): Same.
19764 (range_query::get_tree_range): Same.
19765 (update_global_range): Same.
19766 (get_range_global): Same.
19767 (gimple_range_global): Same.
19768 (global_range_query::range_of_expr): Same.
19769 (range_query::query_relation): Same.
19770 * value-query.h (gimple_range_global): Same.
19771 (update_global_range): Same.
19772 * vr-values.cc (vr_values::range_of_expr): Same.
19773 (bounds_of_var_in_loop): Same.
19774 (simplify_using_ranges::vrp_visit_cond_stmt): Same.
19775 * vr-values.h (class vr_values): Same.
19776 * tree-ssa-loop-unswitch.cc (unswitch_predicate): Same.
19777
19778 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
19779
19780 * gimple-range-cache.cc (sbr_vector::sbr_vector): Adjust for
19781 vrange allocator.
19782 (sbr_vector::grow): Same.
19783 (sbr_vector::set_bb_range): Same.
19784 (sbr_sparse_bitmap::sbr_sparse_bitmap): Same.
19785 (sbr_sparse_bitmap::set_bb_range): Same.
19786 (block_range_cache::~block_range_cache): Same.
19787 (block_range_cache::set_bb_range): Same.
19788 (ssa_global_cache::ssa_global_cache): Same.
19789 (ssa_global_cache::~ssa_global_cache): Same.
19790 (ssa_global_cache::set_global_range): Same.
19791 * gimple-range-cache.h (block_range_cache): Same.
19792 (ssa_global_cache): Same.
19793 * gimple-range-edge.cc
19794 (gimple_outgoing_range::calc_switch_ranges): Same.
19795 * gimple-range-edge.h (gimple_outgoing_range): Same.
19796 * gimple-range-infer.cc (infer_range_manager::get_nonzero):
19797 Same.
19798 (infer_range_manager::add_range): Same.
19799 * gimple-range-infer.h (class infer_range_manager): Same.
19800 * value-range.h (class irange_allocator): Rename to...
19801 (class vrange_allocator): ...this.
19802 (irange_allocator::irange_allocator): New.
19803 (vrange_allocator::vrange_allocator): New.
19804 (irange_allocator::~irange_allocator): New.
19805 (vrange_allocator::~vrange_allocator): New.
19806 (irange_allocator::get_memory): Rename to...
19807 (vrange_allocator::alloc): ...this.
19808 (vrange_allocator::alloc_vrange): Rename from...
19809 (irange_allocator::allocate): ...this.
19810 (vrange_allocator::alloc_irange): New.
19811
19812 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
19813
19814 * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Adjust for
19815 vrange and convert range_op_handler function calls to use the
19816 identically named object.
19817 * gimple-range-fold.cc (gimple_range_operand1): Same.
19818 (gimple_range_operand2): Same.
19819 (fold_using_range::fold_stmt): Same.
19820 (fold_using_range::range_of_range_op): Same.
19821 (fold_using_range::range_of_builtin_ubsan_call): Same.
19822 (fold_using_range::relation_fold_and_or): Same.
19823 (fur_source::register_outgoing_edges): Same.
19824 * gimple-range-fold.h (gimple_range_handler): Remove.
19825 * gimple-range-gori.cc (gimple_range_calc_op1): Adjust for vrange.
19826 (gimple_range_calc_op2): Same.
19827 (range_def_chain::get_def_chain): Same.
19828 (gori_compute::compute_operand_range): Same.
19829 (gori_compute::condexpr_adjust): Same.
19830 * gimple-range.cc (gimple_ranger::prefill_name): Same.
19831 (gimple_ranger::prefill_stmt_dependencies): Same.
19832 * range-op.cc (get_bool_state): Same.
19833 (class operator_equal): Add using clause.
19834 (class operator_not_equal): Same.
19835 (class operator_lt): Same.
19836 (class operator_le): Same.
19837 (class operator_gt): Same.
19838 (class operator_ge): Same.
19839 (class operator_plus): Same.
19840 (class operator_minus): Same.
19841 (class operator_mult): Same.
19842 (class operator_exact_divide): Same.
19843 (class operator_lshift): Same.
19844 (class operator_rshift): Same.
19845 (class operator_cast): Same.
19846 (class operator_logical_and): Same.
19847 (class operator_bitwise_and): Same.
19848 (class operator_logical_or): Same.
19849 (class operator_bitwise_or): Same.
19850 (class operator_bitwise_xor): Same.
19851 (class operator_trunc_mod): Same.
19852 (class operator_logical_not): Same.
19853 (class operator_bitwise_not): Same.
19854 (class operator_cst): Same.
19855 (class operator_identity): Same.
19856 (class operator_unknown): Same.
19857 (class operator_abs): Same.
19858 (class operator_negate): Same.
19859 (class operator_addr_expr): Same.
19860 (class pointer_or_operator): Same.
19861 (operator_plus::op1_range): Adjust for vrange.
19862 (operator_minus::op1_range): Same.
19863 (operator_mult::op1_range): Same.
19864 (operator_cast::op1_range): Same.
19865 (operator_bitwise_not::fold_range): Same.
19866 (operator_negate::fold_range): Same.
19867 (range_op_handler): Rename to...
19868 (get_handler): ...this.
19869 (range_op_handler::range_op_handler): New.
19870 (range_op_handler::fold_range): New.
19871 (range_op_handler::op1_range): New.
19872 (range_op_handler::op2_range): New.
19873 (range_op_handler::lhs_op1_relation): New.
19874 (range_op_handler::lhs_op2_relation): New.
19875 (range_op_handler::op1_op2_relation): New.
19876 (range_cast): Adjust for vrange.
19877 * range-op.h (range_op_handler): Remove function.
19878 (range_cast): Adjust for vrange.
19879 (class range_op_handler): New.
19880 (get_bool_state): Adjust for vrange.
19881 (empty_range_varying): Same.
19882 (relop_early_resolve): Same.
19883 * tree-data-ref.cc (compute_distributive_range): Same.
19884 * tree-vrp.cc (get_range_op_handler): Remove.
19885 (range_fold_binary_symbolics_p): Use range_op_handler class
19886 instead of get_range_op_handler.
19887 (range_fold_unary_symbolics_p): Same.
19888 (range_fold_binary_expr): Same.
19889 (range_fold_unary_expr): Same.
19890 * value-query.cc (range_query::get_tree_range): Adjust for vrange.
19891
19892 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
19893
19894 * gimple-range-fold.h (gimple_range_type): Check type before
19895 calling supports_type_p.
19896 * gimple-range-path.cc (path_range_query::range_of_stmt): Same.
19897 * value-query.cc (range_query::get_tree_range): Same.
19898 * value-range.cc (Value_Range::lower_bound): New.
19899 (Value_Range::upper_bound): New.
19900 (Value_Range::dump): New.
19901 * value-range.h (class Value_Range): New.
19902 (irange::supports_type_p): Do not check if type is non-zero.
19903
19904 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
19905
19906 * value-range-equiv.cc (value_range_equiv::set): New.
19907 * value-range-equiv.h (class value_range_equiv): Make set method
19908 virtual.
19909 Remove default bitmap argument from set method.
19910 * value-range.cc (vrange::contains_p): New.
19911 (vrange::singleton_p): New.
19912 (vrange::operator=): New.
19913 (vrange::operator==): New.
19914 (irange::fits_p): Move to .cc file.
19915 (irange::set_nonnegative): New.
19916 (unsupported_range::unsupported_range): New.
19917 (unsupported_range::set): New.
19918 (unsupported_range::type): New.
19919 (unsupported_range::set_undefined): New.
19920 (unsupported_range::set_varying): New.
19921 (unsupported_range::dump): New.
19922 (unsupported_range::union_): New.
19923 (unsupported_range::intersect): New.
19924 (unsupported_range::zero_p): New.
19925 (unsupported_range::nonzero_p): New.
19926 (unsupported_range::set_nonzero): New.
19927 (unsupported_range::set_zero): New.
19928 (unsupported_range::set_nonnegative): New.
19929 (unsupported_range::fits_p): New.
19930 (irange::set): Call irange::set_undefined.
19931 (irange::verify_range): Check discriminator field.
19932 (irange::dump): Dump [irange] marker.
19933 (irange::debug): Move to...
19934 (vrange::debug): ...here.
19935 (dump_value_range): Accept vrange.
19936 (debug): Same.
19937 * value-range.h (enum value_range_discriminator): New.
19938 (class vrange): New.
19939 (class unsupported_range): New.
19940 (struct vrange_traits): New.
19941 (is_a): New.
19942 (as_a): New.
19943 (class irange): Inherit from vrange.
19944 (dump_value_range): Adjust for vrange.
19945 (irange::kind): Rename to...
19946 (vrange::kind): ...this.
19947 (irange::varying_p): Rename to...
19948 (vrange::varying_p): ...this.
19949 (irange::undefined_p): Rename to...
19950 (vrange::undefined_p): ...this.
19951 (irange::irange): Set discriminator.
19952 (irange::union_): Convert to irange before passing to irange
19953 method.
19954 (irange::intersect): Same.
19955 (vrange::supports_type_p): New.
19956 * vr-values.cc (vr_values::extract_range_from_binary_expr): Pass
19957 NULL bitmap argument to value_range_equiv::set.
19958 (vr_values::extract_range_basic): Same.
19959
19960 2022-06-01 Richard Biener <rguenther@suse.de>
19961
19962 PR tree-optimization/105763
19963 * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb):
19964 Check gimple_range_ssa_p.
19965
19966 2022-05-31 Jason Merrill <jason@redhat.com>
19967
19968 * Makefile.in (TAGS): Look at libcpp/*.cc.
19969
19970 2022-05-31 Christophe Lyon <christophe.lyon@arm.com>
19971
19972 * config/aarch64/aarch64.cc (aarch64_gimplify_va_arg_expr):
19973 Prefix mode names with E_.
19974
19975 2022-05-31 Alan Modra <amodra@gmail.com>
19976
19977 * dwarf2out.cc (gen_namelist_decl): Adjust to suit correct
19978 spelling of DW_AT_namelist_item.
19979
19980 2022-05-31 Jakub Jelinek <jakub@redhat.com>
19981
19982 * omp-low.cc (build_outer_var_ref): For code == OMP_CLAUSE_ALLOCATE
19983 allow var to be private in the outer context.
19984 (lower_private_allocate): Pass OMP_CLAUSE_ALLOCATE as last argument
19985 to build_outer_var_ref.
19986
19987 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
19988
19989 * config/i386/i386.cc (ix86_modes_tieable_p): Allow SCmode to be
19990 tieable with DImode on TARGET_64BIT, and SCmode tieable with
19991 V2SFmode, and DCmode with V2DFmode.
19992
19993 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
19994
19995 PR rtl-optimization/101617
19996 * config/i386/i386-expand.cc (ix86_expand_int_movcc): Add a
19997 special case (indicated by negate_cc_compare_p) to generate a
19998 -1/0 mask using neg;sbb.
19999 * config/i386/i386.md (x86_neg<mode>_ccc): New define_expand
20000 to generate an *x86_neg<mode>_ccc instruction.
20001 (x86_mov<mode>cc_0_m1_neg): Likewise, a new define_expand to
20002 generate a *x86_mov<mode>cc_0_m1_neg instruction.
20003
20004 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
20005
20006 * rtlanal.cc (rtx_cost) <MULT>: Treat FMA, SS_MULT, US_MULT,
20007 SMUL_HIGHPART and UMUL_HIGHPART as having the same cost as MULT.
20008 <DIV>: Likewise, SS_DIV and US_DIV have the same default as DIV.
20009
20010 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
20011
20012 PR target/70321
20013 * config/i386/i386-expand.cc (ix86_expand_branch): Don't decompose
20014 DI mode equality/inequality using XOR here. Instead generate a
20015 COMPARE for doubleword modes (DImode on !TARGET_64BIT or TImode).
20016 * config/i386/i386-features.cc (gen_gpr_to_xmm_move_src): Use
20017 gen_rtx_SUBREG when NUNITS is 1, i.e. for TImode to V1TImode.
20018 (general_scalar_chain::convert_compare): New function to convert
20019 scalar equality/inequality comparison into vector operations.
20020 (general_scalar_chain::convert_insn) [COMPARE]: Refactor. Call
20021 new convert_compare helper method.
20022 (convertible_comparion_p): Update to match doubleword COMPARE
20023 of two register, memory or integer constant operands.
20024 * config/i386/i386-features.h (general_scalar_chain::convert_compare):
20025 Prototype/declare member function here.
20026 * config/i386/i386.md (cstore<mode>4): Change mode to SDWIM, but
20027 only allow new doubleword modes for EQ and NE operators.
20028 (*cmp<dwi>_doubleword): New define_insn_and_split, to split a
20029 doubleword comparison into a pair of XORs followed by an IOR to
20030 set the (zero) flags register, optimizing the XORs if possible.
20031 * config/i386/sse.md (V_AVX): Include V1TI and V2TI in mode
20032 iterator; V_AVX is (currently) only used by ptest.
20033 (sse4_1 mode attribute): Update to support V1TI and V2TI.
20034
20035 2022-05-30 Uroš Bizjak <ubizjak@gmail.com>
20036
20037 * config/i386/i386.md: Remove constraints when used with
20038 const_int_operand, const0_operand, const_1_operand, constm1_operand,
20039 const8_operand, const128_operand, const248_operand, const123_operand,
20040 const2367_operand, const1248_operand, const359_operand,
20041 const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
20042 const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
20043 const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
20044 const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
20045 const_0_to_255_mul_8_operand, const_1_to_31_operand,
20046 const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
20047 const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
20048 const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
20049 const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
20050 const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
20051 const_24_to_27_operand and const_28_to_31_operand.
20052 * config/i386/mmx.md: Ditto.
20053 * config/i386/sse.md: Ditto.
20054 * config/i386/subst.md: Ditto.
20055 * config/i386/sync.md: Ditto.
20056
20057 2022-05-30 Jan Beulich <jbeulich@suse.com>
20058
20059 * config/i386/i386.md (bmi2_umul<mode><dwi>3_1): Correct MEM_P()
20060 arguments.
20061
20062 2022-05-30 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
20063
20064 * config/arm/arm.cc (arm_vectorize_vec_perm_const): Adjust prototype.
20065
20066 2022-05-29 Iain Sandoe <iain@sandoe.co.uk>
20067
20068 PR target/105599
20069 * config/darwin.h: Move versions-specific handling of multiply_defined
20070 from SUBTARGET_DRIVER_SELF_SPECS to LINK_SPEC.
20071
20072 2022-05-29 Eric Gallager <egallager@gcc.gnu.org>
20073
20074 PR other/82383
20075 * doc/sourcebuild.texi: Add entries for the c++tools,
20076 gotools, libbacktrace, libcc1, libcody, liboffloadmic,
20077 and libsanitizer directories. Remove entry for boehm-gc.
20078 Fix alphabetization for libquadmath.
20079
20080 2022-05-28 Joel Holdsworth <jholdsworth@nvidia.com>
20081
20082 * config/avr/avr-mcus.def: Add device definitions.
20083 * doc/avr-mmcu.texi: Corresponding changes.
20084 * config/avr/gen-avr-mmcu-texi.cc: Added support for avr
20085 device prefix.
20086 * config/avr/gen-avr-mmcu-specs.cc: Prevent -mmcu=avr* flags
20087 from leaking into cc1.
20088
20089 2022-05-28 Vladimir Makarov <vmakarov@gcc.gnu.org>
20090
20091 PR target/103722
20092 * config/sh/sh.cc (sh_register_move_cost): Avoid cost "2" (which
20093 is special) for various scenarios.
20094
20095 2022-05-28 Iain Sandoe <iain@sandoe.co.uk>
20096
20097 * config/darwin.h (REAL_LIBGCC_SPEC): Update the comment block
20098 describing this macro.
20099
20100 2022-05-27 Richard Biener <rguenther@suse.de>
20101
20102 * tree-dfa.cc (get_ref_base_and_extent): Avoid shift.
20103
20104 2022-05-27 Martin Jambor <mjambor@suse.cz>
20105
20106 PR ipa/105639
20107 * ipa-prop.cc (propagate_controlled_uses): Check type of the
20108 constant before adding a LOAD reference.
20109
20110 2022-05-27 Jakub Jelinek <jakub@redhat.com>
20111
20112 * tree-core.h (enum omp_clause_code): Rename OMP_CLAUSE_TO_DECLARE
20113 to OMP_CLAUSE_ENTER.
20114 * tree.h (OMP_CLAUSE_ENTER_TO): Define.
20115 * tree.cc (omp_clause_num_ops, omp_clause_code_name): Rename
20116 OMP_CLAUSE_TO_DECLARE to OMP_CLAUSE_ENTER.
20117 * tree-pretty-print.cc (dump_omp_clause): Handle OMP_CLAUSE_ENTER
20118 instead of OMP_CLAUSE_TO_DECLARE, if OMP_CLAUSE_ENTER_TO, print
20119 "to" instead of "enter".
20120 * tree-nested.cc (convert_nonlocal_omp_clauses,
20121 convert_local_omp_clauses): Handle OMP_CLAUSE_ENTER instead of
20122 OMP_CLAUSE_TO_DECLARE.
20123
20124 2022-05-27 Richard Biener <rguenther@suse.de>
20125
20126 PR tree-optimization/105726
20127 * gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset):
20128 Constrain array-of-flexarray case more.
20129
20130 2022-05-27 Jakub Jelinek <jakub@redhat.com>
20131
20132 PR sanitizer/105729
20133 * fold-const.cc (fold_unary_loc): Don't optimize (X &) ((Y *) z + w)
20134 to (X &) z + w if -fsanitize=null during GENERIC folding.
20135
20136 2022-05-27 Roger Sayle <roger@nextmovesoftware.com>
20137
20138 * match.pd (match_zero_one_valued_p): New predicate.
20139 (mult @0 @1): Use zero_one_valued_p for optimization to the
20140 expression "bit_and @0 @1".
20141 (bit_and (negate zero_one_valued_p@0) @1): Optimize to MULT_EXPR.
20142 (plus @0 (mult (minus @1 @0) zero_one_valued_p@2)): New transform.
20143 (minus @0 (mult (minus @0 @1) zero_one_valued_p@2)): Likewise.
20144 (bit_xor @0 (mult (bit_xor @0 @1) zero_one_valued_p@2)): Likewise.
20145 Remove three redundant transforms obsoleted by the three above.
20146
20147 2022-05-27 Roger Sayle <roger@nextmovesoftware.com>
20148
20149 * config/i386/i386.md (*test<mode>_not): New define_insn_and_split
20150 to split a combined "and;cmp" sequence into "not;test".
20151
20152 2022-05-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
20153
20154 * config/xtensa/xtensa.md (bswapsi2): New expansion pattern.
20155 (bswapsi2_internal): Revise the template and condition, and add
20156 detection code for preceding the same insn in order to omit a
20157 "SSAI 8" instruction of the latter.
20158 (bswapdi2): Suppress built-in insn expansion with the corresponding
20159 library call when optimizing for size.
20160
20161 2022-05-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
20162
20163 * config/xtensa/xtensa-protos.h
20164 (xtensa_expand_block_set_unrolled_loop,
20165 xtensa_expand_block_set_small_loop): New prototypes.
20166 * config/xtensa/xtensa.cc (xtensa_sizeof_MOVI,
20167 xtensa_expand_block_set_unrolled_loop,
20168 xtensa_expand_block_set_small_loop): New functions.
20169 * config/xtensa/xtensa.md (setmemsi): New expansion pattern.
20170 * config/xtensa/xtensa.opt (mlongcalls): Add target mask.
20171
20172 2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
20173
20174 * config/xtensa/xtensa.cc (xtensa_expand_block_move):
20175 Make instruction counting more accurate, and simplify emitting insns.
20176
20177 2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
20178
20179 * config/xtensa/constraints.md (M, O): Use the macro.
20180 * config/xtensa/predicates.md (addsubx_operand, extui_fldsz_operand,
20181 sext_fldsz_operand): Ditto.
20182 * config/xtensa/xtensa.cc (xtensa_simm8, xtensa_simm8x256,
20183 xtensa_simm12b, xtensa_uimm8, xtensa_uimm8x2, xtensa_uimm8x4,
20184 xtensa_mask_immediate, smalloffset_mem_p, printx, xtensa_call_save_reg,
20185 xtensa_expand_prologue): Ditto.
20186 * config/xtensa/xtensa.h (FUNCTION_ARG_REGNO_P): Ditto.
20187
20188 2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
20189
20190 * config/xtensa/predicates.md (extui_fldsz_operand): Simplify.
20191 * config/xtensa/xtensa.cc (xtensa_mask_immediate, print_operand):
20192 Ditto.
20193
20194 2022-05-25 Andrew MacLeod <amacleod@redhat.com>
20195
20196 * gimple-range-cache.cc: Adjust comments.
20197 * gimple-range-infer.cc: Adjust comments.
20198 * gimple-range-infer.h: Adjust comments.
20199 * gimple-range.cc: Adjust comments.
20200
20201 2022-05-25 Andrew MacLeod <amacleod@redhat.com>
20202
20203 * Makefile.in (OBJS): Use gimple-range-infer.o.
20204 * gimple-range-cache.cc (ranger_cache::fill_block_cache): Change msg.
20205 (ranger_cache::range_from_dom): Rename var side_effect to infer.
20206 (ranger_cache::apply_inferred_ranges): Rename from apply_side_effects.
20207 * gimple-range-cache.h: Include gimple-range-infer.h.
20208 (class ranger_cache): Adjust prototypes, use infer_range_manager.
20209 * gimple-range-infer.cc: Rename from gimple-range-side-effects.cc.
20210 (gimple_infer_range::*): Rename from stmt_side_effects.
20211 (infer_range_manager::*): Rename from side_effect_manager.
20212 * gimple-range-side-effect.cc: Rename.
20213 * gimple-range-side-effect.h: Rename.
20214 * gimple-range-infer.h: Rename from gimple-range-side-effects.h.
20215 (class gimple_infer_range): Rename from stmt_side_effects.
20216 (class infer_range_manager): Rename from side_effect_manager.
20217 * gimple-range.cc (gimple_ranger::register_inferred_ranges): Rename
20218 from register_side_effects.
20219 * gimple-range.h (register_inferred_ranges): Adjust prototype.
20220 * range-op.h: Adjust comment.
20221 * tree-vrp.cc (rvrp_folder::pre_fold_bb): Use register_inferred_ranges.
20222 (rvrp_folder::post_fold_bb): Use register_inferred_ranges.
20223
20224 2022-05-25 Simon Cook <simon.cook@embecosm.com>
20225
20226 * config/riscv/arch-canonicalize: Only add mafd extension if
20227 base was rv32/rv64g.
20228
20229 2022-05-25 Tobias Burnus <tobias@codesourcery.com>
20230
20231 * doc/invoke.texi (AMD GCN Options): Add gfx908/gfx90a.
20232
20233 2022-05-25 Jakub Jelinek <jakub@redhat.com>
20234
20235 PR sanitizer/105714
20236 * asan.cc (has_stmt_been_instrumented_p): For assignments which
20237 are both stores and loads, return true only if both destination
20238 and source have been instrumented.
20239
20240 2022-05-25 Martin Liska <mliska@suse.cz>
20241 Richard Biener <rguenther@suse.de>
20242
20243 * dbgcnt.def (DEBUG_COUNTER): Add loop_unswitch counter.
20244 * params.opt (max-unswitch-level): Remove.
20245 * doc/invoke.texi (max-unswitch-level): Likewise.
20246 * tree-cfg.cc (gimple_lv_add_condition_to_bb): Support not
20247 gimplified expressions.
20248 * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): New.
20249 (tree_may_unswitch_on): Rename to ...
20250 (find_unswitching_predicates_for_bb): ... this and handle
20251 switch statements.
20252 (get_predicates_for_bb): Likewise.
20253 (set_predicates_for_bb): Likewise.
20254 (init_loop_unswitch_info): Likewise.
20255 (tree_ssa_unswitch_loops): Prepare stuff before calling
20256 tree_unswitch_single_loop.
20257 (tree_unswitch_single_loop): Rework the function using
20258 pre-computed predicates and with a per original loop cost model.
20259 (merge_last): New.
20260 (add_predicate_to_path): Likewise.
20261 (find_range_for_lhs): Likewise.
20262 (simplify_using_entry_checks): Rename to ...
20263 (evaluate_control_stmt_using_entry_checks): ... this, handle
20264 switch statements and improve simplifications using ranger.
20265 (simplify_loop_version): Rework using
20266 evaluate_control_stmt_using_entry_checks.
20267 (evaluate_bbs): New.
20268 (evaluate_loop_insns_for_predicate): Likewise.
20269 (tree_unswitch_loop): Adjust to allow switch statements and
20270 pass in the edge to unswitch.
20271 (clean_up_after_unswitching): New.
20272 (pass_tree_unswitch::execute): Pass down fun.
20273
20274 2022-05-24 Eugene Rozenfeld <erozen@microsoft.com>
20275
20276 * tree-vect-loop-manip.cc (vect_do_peeling): Save/restore profile
20277 counts for the epilog loop.
20278
20279 2022-05-24 Martin Sebor <msebor@redhat.com>
20280 Richard Biener <rguenther@suse.de>
20281
20282 PR middle-end/105604
20283 * gimple-ssa-sprintf.cc (set_aggregate_size_and_offset): Add comments.
20284 (get_origin_and_offset_r): Remove null handling. Handle variable array
20285 sizes.
20286 (get_origin_and_offset): Handle null argument here. Simplify.
20287 (alias_offset): Update comment.
20288 * pointer-query.cc (field_at_offset): Update comment. Handle members
20289 of variable-length types.
20290
20291 2022-05-24 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
20292
20293 * target.def (vec_perm_const): Define new parameter op_mode and
20294 update doc.
20295 * doc/tm.texi: Regenerate.
20296 * config/aarch64/aarch64.cc (aarch64_vectorize_vec_perm_const): Adjust
20297 vec_perm_const hook to add new parameter op_mode and return false
20298 if result and operand modes do not match.
20299 * config/arm/arm.cc (arm_vectorize_vec_perm_const): Likewise.
20300 * config/gcn/gcn.cc (gcn_vectorize_vec_perm_const): Likewise.
20301 * config/ia64/ia64.cc (ia64_vectorize_vec_perm_const): Likewise.
20302 * config/mips/mips.cc (mips_vectorize_vec_perm_const): Likewise.
20303 * config/rs6000/rs6000.cc (rs6000_vectorize_vec_perm_const): Likewise
20304 * config/s390/s390.cc (s390_vectorize_vec_perm_const): Likewise.
20305 * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Likewise.
20306 * config/i386/i386-expand.cc (ix86_vectorize_vec_perm_const): Likewise.
20307 * config/i386/i386-expand.h (ix86_vectorize_vec_perm_const): Adjust
20308 prototype.
20309 * config/i386/sse.md (ashrv4di3): Adjust call to vec_perm_const hook.
20310 (ashrv2di3): Likewise.
20311 * optabs.cc (expand_vec_perm_const): Likewise.
20312 * optabs-query.h (can_vec_perm_const_p): Adjust prototype.
20313 * optabs-query.cc (can_vec_perm_const_p): Define new parameter
20314 op_mode and pass it to vec_perm_const hook.
20315 (can_mult_highpart_p): Adjust call to can_vec_perm_const_p.
20316 * match.pd (vec_perm X Y CST): Likewise.
20317 * tree-ssa-forwprop.cc (simplify_vector_constructor): Likewise.
20318 * tree-vect-data-refs.cc (vect_grouped_store_supported): Likewise.
20319 (vect_grouped_load_supported): Likewise.
20320 (vect_shift_permute_load_chain): Likewise.
20321 * tree-vect-generic.cc (lower_vec_perm): Likewise.
20322 * tree-vect-loop-manip.cc (interleave_supported_p): Likewise.
20323 * tree-vect-loop.cc (have_whole_vector_shift): Likewise.
20324 * tree-vect-patterns.cc (vect_recog_rotate_pattern): Likewise.
20325 * tree-vect-slp.cc (can_duplicate_and_interleave_p): Likewise.
20326 (vect_transform_slp_perm_load): Likewise.
20327 (vectorizable_slp_permutation): Likewise.
20328 * tree-vect-stmts.cc (perm_mask_for_reverse): Likewise.
20329 (vectorizable_bswap): Likewise.
20330 (scan_store_can_perm_p): Likewise.
20331 (vect_gen_perm_mask_checked): Likewise.
20332
20333 2022-05-24 H.J. Lu <hjl.tools@gmail.com>
20334
20335 PR target/104816
20336 * config/i386/i386.opt: Remove Undocumented.
20337 * doc/invoke.texi: Document -mcet-switch.
20338
20339 2022-05-24 Andrew Stubbs <ams@codesourcery.com>
20340
20341 * config.gcc (amdgcn): Accept --with-arch=gfx908 and gfx90a.
20342 * config/gcn/gcn-opts.h (enum gcn_isa): New.
20343 (TARGET_GCN3): Use enum gcn_isa.
20344 (TARGET_GCN3_PLUS): Likewise.
20345 (TARGET_GCN5): Likewise.
20346 (TARGET_GCN5_PLUS): Likewise.
20347 (TARGET_CDNA1): New.
20348 (TARGET_CDNA1_PLUS): New.
20349 (TARGET_CDNA2): New.
20350 (TARGET_CDNA2_PLUS): New.
20351 (TARGET_M0_LDS_LIMIT): New.
20352 (TARGET_PACKED_WORK_ITEMS): New.
20353 * config/gcn/gcn.cc (gcn_isa): Change to enum gcn_isa.
20354 (gcn_option_override): Recognise CDNA ISA variants.
20355 (gcn_omp_device_kind_arch_isa): Support gfx90a.
20356 (gcn_expand_prologue): Make m0 init optional.
20357 Add support for packed work items.
20358 (output_file_start): Support gfx90a.
20359 (gcn_hsa_declare_function_name): Support gfx90a metadata.
20360 * config/gcn/gcn.h (TARGET_CPU_CPP_BUILTINS):Add __CDNA1__ and
20361 __CDNA2__.
20362 * config/gcn/gcn.md (<su>mulsi3_highpart): Use TARGET_GCN5_PLUS.
20363 (<su>mulsi3_highpart_imm): Likewise.
20364 (<su>mulsidi3): Likewise.
20365 (<su>mulsidi3_imm): Likewise.
20366 * config/gcn/gcn.opt (gpu_type): Add gfx90a.
20367 * config/gcn/mkoffload.cc (EF_AMDGPU_MACH_AMDGCN_GFX90a): New.
20368 (main): Support gfx90a.
20369 * config/gcn/t-gcn-hsa: Add gfx90a multilib.
20370 * config/gcn/t-omp-device: Add gfx90a isa.
20371
20372 2022-05-24 Andrew Stubbs <ams@codesourcery.com>
20373
20374 * config.in: Regenerate.
20375 * config/gcn/gcn-hsa.h (X_FIJI): Delete.
20376 (X_900): Delete.
20377 (X_906): Delete.
20378 (X_908): Delete.
20379 (S_FIJI): Delete.
20380 (S_900): Delete.
20381 (S_906): Delete.
20382 (S_908): Delete.
20383 (NO_XNACK): New macro.
20384 (NO_SRAM_ECC): New macro.
20385 (SRAMOPT): Keep only v4 variant.
20386 (HSACO3_SELECT_OPT): Delete.
20387 (DRIVER_SELF_SPECS): Delete.
20388 (ASM_SPEC): Remove LLVM 9 support.
20389 * config/gcn/gcn-valu.md
20390 (gather<mode>_insn_2offsets<exec>): Remove assembler bug workaround.
20391 (scatter<mode>_insn_2offsets<exec_scatter>): Likewise.
20392 * config/gcn/gcn.cc (output_file_start): Remove LLVM 9 support.
20393 (print_operand_address): Remove assembler bug workaround.
20394 * config/gcn/mkoffload.cc (EF_AMDGPU_XNACK_V3): Delete.
20395 (EF_AMDGPU_SRAM_ECC_V3): Delete.
20396 (SET_XNACK_ON): Delete v3 variants.
20397 (SET_XNACK_OFF): Delete v3 variants.
20398 (TEST_XNACK): Delete v3 variants.
20399 (SET_SRAM_ECC_ON): Delete v3 variants.
20400 (SET_SRAM_ECC_ANY): Delete v3 variants.
20401 (SET_SRAM_ECC_OFF): Delete v3 variants.
20402 (SET_SRAM_ECC_UNSUPPORTED): Delete v3 variants.
20403 (TEST_SRAM_ECC_ANY): Delete v3 variants.
20404 (TEST_SRAM_ECC_ON): Delete v3 variants.
20405 (copy_early_debug_info): Remove v3 support.
20406 (main): Remove v3 support.
20407 * configure: Regenerate.
20408 * configure.ac: Replace all GCN feature checks with a version check.
20409
20410 2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
20411
20412 * config/i386/i386.md (peephole2): Convert xor;neg;adc;neg,
20413 i.e. a double word negation of a zero extended operand, to
20414 neg;sbb.
20415
20416 2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
20417
20418 PR tree-optimization/105668
20419 * config/i386/i386-expand.cc (ix86_expand_sse_movcc): Support
20420 V1TImode, just like V2DImode.
20421 * config/i386/sse.md (vcond_mask_<mode><sseintvecmodelower>):
20422 Use VI_128 mode iterator instead of VI124_128 to include V2DI.
20423 (vcond_mask_v2div2di): Delete.
20424 (vcond_mask_v1tiv1ti): New define_expand.
20425
20426 2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
20427
20428 * genpreds.cc (write_lookup_constraint_1): Avoid generating a call
20429 to strncmp for strings of length one.
20430
20431 2022-05-24 ShiYulong <shiyulong@iscas.ac.cn>
20432
20433 * config/riscv/predicates.md (imm5_operand): Add a new operand type for
20434 prefetch instructions.
20435 * config/riscv/riscv-builtins.cc (AVAIL): Add new AVAILs for CMO ISA
20436 Extensions.
20437 (RISCV_ATYPE_SI): New.
20438 (RISCV_ATYPE_DI): New.
20439 * config/riscv/riscv-ftypes.def (0): New.
20440 (1): New.
20441 * config/riscv/riscv.md (riscv_clean_<mode>): New.
20442 (riscv_flush_<mode>): New.
20443 (riscv_inval_<mode>): New.
20444 (riscv_zero_<mode>): New.
20445 (prefetch): New.
20446 (riscv_prefetchi_<mode>): New.
20447 * config/riscv/riscv-cmo.def: New file.
20448
20449 2022-05-24 ShiYulong <shiyulong@iscas.ac.cn>
20450
20451 * common/config/riscv/riscv-common.cc: Add zicbom, zicboz, zicbop extensions.
20452 * config/riscv/riscv-opts.h (MASK_ZICBOZ): New.
20453 (MASK_ZICBOM): New.
20454 (MASK_ZICBOP): New.
20455 (TARGET_ZICBOZ): New.
20456 (TARGET_ZICBOM): New.
20457 (TARGET_ZICBOP): New.
20458 * config/riscv/riscv.opt (riscv_zicmo_subext): New.
20459
20460 2022-05-24 David Malcolm <dmalcolm@redhat.com>
20461
20462 * tree-vect-slp-patterns.cc: Add "final" and "override" to
20463 vect_pattern::build impls as appropriate.
20464
20465 2022-05-24 David Malcolm <dmalcolm@redhat.com>
20466
20467 * ipa-cp.cc: Add "final" and "override" to call_summary_base vfunc
20468 implementations, removing redundant "virtual" as appropriate.
20469 * ipa-fnsummary.h: Likewise.
20470 * ipa-modref.cc: Likewise.
20471 * ipa-param-manipulation.cc: Likewise.
20472 * ipa-profile.cc: Likewise.
20473 * ipa-prop.h: Likewise.
20474 * ipa-pure-const.cc: Likewise.
20475 * ipa-reference.cc: Likewise.
20476 * ipa-sra.cc: Likewise.
20477 * symbol-summary.h: Likewise.
20478 * symtab-thunks.cc: Likewise.
20479
20480 2022-05-24 Martin Liska <mliska@suse.cz>
20481
20482 Revert:
20483 2022-05-24 Martin Liska <mliska@suse.cz>
20484
20485 * expmed.cc (emit_store_flag_1): Mitigate -Wmaybe-uninitialized
20486 warning.
20487
20488 2022-05-24 Martin Liska <mliska@suse.cz>
20489
20490 * expmed.cc (emit_store_flag_1): Mitigate -Wmaybe-uninitialized
20491 warning.
20492
20493 2022-05-24 Bruno Haible <bruno@clisp.org>
20494
20495 PR other/105527
20496 * doc/install.texi (Configuration): Add more details about --with-zstd.
20497 Document --with-zstd-include and --with-zstd-lib
20498
20499 2022-05-24 Richard Biener <rguenther@suse.de>
20500
20501 PR middle-end/105711
20502 * expmed.cc (extract_bit_field_as_subreg): Add op0_mode parameter
20503 and use it.
20504 (extract_bit_field_1): Pass down the mode of op0 to
20505 extract_bit_field_as_subreg.
20506
20507 2022-05-24 Vineet Gupta <vineetg@rivosinc.com>
20508
20509 * config/riscv/riscv.cc: (struct riscv_tune_param): Add
20510 fmv_cost.
20511 (rocket_tune_info): Add default fmv_cost 8.
20512 (sifive_7_tune_info): Ditto.
20513 (thead_c906_tune_info): Ditto.
20514 (optimize_size_tune_info): Ditto.
20515 (riscv_register_move_cost): Use fmv_cost for int<->fp moves.
20516
20517 2022-05-24 Jakub Jelinek <jakub@redhat.com>
20518
20519 PR c/105378
20520 * omp-builtins.def (BUILT_IN_GOMP_TASKWAIT_DEPEND_NOWAIT): New
20521 builtin.
20522 * gimplify.cc (gimplify_omp_task): Diagnose taskwait with nowait
20523 clause but no depend clauses.
20524 * omp-expand.cc (expand_taskwait_call): Use
20525 BUILT_IN_GOMP_TASKWAIT_DEPEND_NOWAIT rather than
20526 BUILT_IN_GOMP_TASKWAIT_DEPEND if nowait clause is present.
20527
20528 2022-05-24 Richard Biener <rguenther@suse.de>
20529
20530 PR tree-optimization/100221
20531 * tree-ssa-dse.cc (contains_phi_arg): New function.
20532 (dse_classify_store): Postpone PHI defs that feed another PHI in defs.
20533
20534 2022-05-24 Richard Biener <rguenther@suse.de>
20535
20536 PR tree-optimization/105629
20537 * tree-ssa-phiopt.cc (spaceship_replacement): Allow
20538 a sign-extending conversion.
20539
20540 2022-05-24 Kewen Lin <linkw@linux.ibm.com>
20541
20542 PR target/105627
20543 * config/rs6000/rs6000-p8swap.cc (union_defs): Assert def_insn can't
20544 be a debug insn.
20545 (union_uses): Skip debug use_insn.
20546
20547 2022-05-23 Vineet Gupta <vineetg@rivosinc.com>
20548
20549 * config/riscv/predicates.md (const_0_operand): Remove
20550 const_double.
20551 * config/riscv/riscv.cc (riscv_rtx_costs): Add check for
20552 CONST_DOUBLE.
20553 * config/riscv/riscv.h (TARGET_SUPPORTS_WIDE_INT): New define.
20554
20555 2022-05-23 Mayshao <mayshao-oc@zhaoxin.com>
20556
20557 * common/config/i386/cpuinfo.h (get_zhaoxin_cpu): Detect
20558 the specific type of Zhaoxin CPU, and return Zhaoxin CPU name.
20559 (cpu_indicator_init): Handle Zhaoxin processors.
20560 * common/config/i386/i386-common.cc: Add lujiazui.
20561 * common/config/i386/i386-cpuinfo.h (enum processor_vendor): Add
20562 VENDOR_ZHAOXIN.
20563 (enum processor_types): Add ZHAOXIN_FAM7H.
20564 (enum processor_subtypes): Add ZHAOXIN_FAM7H_LUJIAZUI.
20565 * config.gcc: Add lujiazui.
20566 * config/i386/cpuid.h (signature_SHANGHAI_ebx): Add
20567 Signatures for zhaoxin
20568 (signature_SHANGHAI_ecx): Ditto.
20569 (signature_SHANGHAI_edx): Ditto.
20570 * config/i386/driver-i386.cc (host_detect_local_cpu): Let
20571 -march=native recognize lujiazui processors.
20572 * config/i386/i386-c.cc (ix86_target_macros_internal): Add lujiazui.
20573 * config/i386/i386-options.cc (m_LUJIAZUI): New_definition.
20574 * config/i386/i386.h (enum processor_type): Ditto.
20575 * config/i386/i386.md: Add lujiazui.
20576 * config/i386/x86-tune-costs.h (struct processor_costs): Add
20577 lujiazui costs.
20578 * config/i386/x86-tune-sched.cc (ix86_issue_rate): Add lujiazui.
20579 (ix86_adjust_cost): Ditto.
20580 * config/i386/x86-tune.def (X86_TUNE_SCHEDULE): Add lujiazui Tunnings.
20581 (X86_TUNE_PARTIAL_REG_DEPENDENCY): Ditto.
20582 (X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY): Ditto.
20583 (X86_TUNE_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY): Ditto.
20584 (X86_TUNE_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY): Ditto.
20585 (X86_TUNE_MOVX): Ditto.
20586 (X86_TUNE_MEMORY_MISMATCH_STALL): Ditto.
20587 (X86_TUNE_FUSE_CMP_AND_BRANCH_32): Ditto.
20588 (X86_TUNE_FUSE_CMP_AND_BRANCH_64): Ditto.
20589 (X86_TUNE_FUSE_CMP_AND_BRANCH_SOFLAGS): Ditto.
20590 (X86_TUNE_FUSE_ALU_AND_BRANCH): Ditto.
20591 (X86_TUNE_ACCUMULATE_OUTGOING_ARGS): Ditto.
20592 (X86_TUNE_USE_LEAVE): Ditto.
20593 (X86_TUNE_PUSH_MEMORY): Ditto.
20594 (X86_TUNE_LCP_STALL): Ditto.
20595 (X86_TUNE_USE_INCDEC): Ditto.
20596 (X86_TUNE_INTEGER_DFMODE_MOVES): Ditto.
20597 (X86_TUNE_OPT_AGU): Ditto.
20598 (X86_TUNE_PREFER_KNOWN_REP_MOVSB_STOSB): Ditto.
20599 (X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Ditto.
20600 (X86_TUNE_USE_SAHF): Ditto.
20601 (X86_TUNE_USE_BT): Ditto.
20602 (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI): Ditto.
20603 (X86_TUNE_ONE_IF_CONV_INSN): Ditto.
20604 (X86_TUNE_AVOID_MFENCE): Ditto.
20605 (X86_TUNE_EXPAND_ABS): Ditto.
20606 (X86_TUNE_USE_SIMODE_FIOP): Ditto.
20607 (X86_TUNE_USE_FFREEP): Ditto.
20608 (X86_TUNE_EXT_80387_CONSTANTS): Ditto.
20609 (X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL): Ditto.
20610 (X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL): Ditto.
20611 (X86_TUNE_SSE_TYPELESS_STORES): Ditto.
20612 (X86_TUNE_SSE_LOAD0_BY_PXOR): Ditto.
20613 * doc/extend.texi: Add details about lujiazui.
20614 * doc/invoke.texi: Add details about lujiazui.
20615 * config/i386/lujiazui.md: Introduce lujiazui cpu and include new md file.
20616
20617 2022-05-23 Martin Liska <mliska@suse.cz>
20618
20619 * config/tilepro/gen-mul-tables.cc (ARRAY_SIZE): Add new macro.
20620
20621 2022-05-23 Richard Biener <rguenther@suse.de>
20622
20623 * tree-ssa-forwprop.cc (forward_propagate_into_cond): Remove.
20624 (pass_forwprop::execute): Do not propagate into COND_EXPR conditions.
20625
20626 2022-05-23 Richard Biener <rguenther@suse.de>
20627
20628 * gimple-expr.cc (is_gimple_condexpr): Remove.
20629 * gimple-expr.h (is_gimple_condexpr): Likewise.
20630 * gimplify.cc (gimplify_expr): Remove is_gimple_condexpr usage.
20631 * tree-if-conv.cc (set_bb_predicate): Likewie.
20632 (add_to_predicate_list): Likewise.
20633 (gen_phi_arg_condition): Likewise.
20634 (predicate_scalar_phi): Likewise.
20635 (predicate_statements): Likewise.
20636
20637 2022-05-23 Richard Biener <rguenther@suse.de>
20638
20639 * gimple-expr.cc (is_gimple_condexpr): Equate to is_gimple_val.
20640 * gimplify.cc (gimplify_pure_cond_expr): Gimplify the condition
20641 as is_gimple_val.
20642 * gimple-fold.cc (valid_gimple_rhs_p): Simplify.
20643 * tree-cfg.cc (verify_gimple_assign_ternary): Likewise.
20644 * gimple-loop-interchange.cc (loop_cand::undo_simple_reduction):
20645 Build the condition of the COND_EXPR separately.
20646 * tree-ssa-loop-im.cc (move_computations_worker): Likewise.
20647 * tree-vect-generic.cc (expand_vector_condition): Likewise.
20648 * tree-vect-loop.cc (vect_create_epilog_for_reduction):
20649 Likewise.
20650 * vr-values.cc (simplify_using_ranges::simplify): Likewise.
20651 * tree-vect-patterns.cc: Add comment indicating we are
20652 building invalid COND_EXPRs and why.
20653 * omp-expand.cc (expand_omp_simd): Gimplify the condition
20654 to the COND_EXPR separately.
20655 (expand_omp_atomic_cas): Note part that should be unreachable
20656 now.
20657 * tree-ssa-forwprop.cc (forward_propagate_into_cond): Adjust
20658 condition for valid replacements.
20659 * tree-if-conv.cc (predicate_bbs): Simulate previous
20660 re-folding of the condition in folded COND_EXPRs which
20661 is necessary because of unfolded GIMPLE_CONDs in the IL
20662 as in for example gcc.dg/fold-bopcond-1.c.
20663 * gimple-range-gori.cc (gori_compute::condexpr_adjust):
20664 Handle that the comparison is now in the def stmt of
20665 the select operand. Required by gcc.dg/pr104526.c.
20666
20667 2022-05-23 Tobias Burnus <tobias@codesourcery.com>
20668
20669 PR fortran/104949
20670 * langhooks-def.h (lhd_omp_array_size): New.
20671 (LANG_HOOKS_OMP_ARRAY_SIZE): Define.
20672 (LANG_HOOKS_DECLS): Add it.
20673 * langhooks.cc (lhd_omp_array_size): New.
20674 * langhooks.h (struct lang_hooks_for_decls): Add hook.
20675 * omp-low.cc (scan_sharing_clauses, lower_omp_target):
20676 Handle GOMP_MAP_FIRSTPRIVATE for array descriptors.
20677
20678 2022-05-23 Roger Sayle <roger@nextmovesoftware.com>
20679
20680 * config/i386/i386.cc (ix86_rtx_costs) <case AND>: Split from
20681 XOR/IOR case. Account for two instructions for double-word
20682 operations. In case of vector pandn, account for single
20683 instruction. Likewise for integer andn with TARGET_BMI.
20684 <case NOT>: Vector NOT requires more than 1 instruction (pxor).
20685 <case NEG>: Double-word negation requires 3 instructions.
20686
20687 2022-05-23 Tsukasa OI <research_trasio@irq.a4lg.com>
20688
20689 * common/config/riscv/riscv-common.cc (riscv_supported_std_ext):
20690 Fix "K" extension prefix to be placed before "J".
20691 * config/riscv/arch-canonicalize: Likewise.
20692
20693 2022-05-23 liuhongt <hongtao.liu@intel.com>
20694
20695 * config/i386/x86-tune-costs.h (skylake_cost): Increase gpr
20696 <-> mask cost from 5 to 6.
20697 (icelake_cost): Ditto.
20698
20699 2022-05-20 Wilco Dijkstra <wilco.dijkstra@arm.com>
20700
20701 * config/aarch64/aarch64.md
20702 (and_<SHIFT:optab><mode>3_compare0): Support rotate left.
20703 (and_<SHIFT:optab>si3_compare0_uxtw): Likewise.
20704 (<LOGICAL:optab>_<SHIFT:optab><mode>3): Likewise.
20705 (<LOGICAL:optab>_<SHIFT:optab>si3_uxtw): Likewise.
20706 (one_cmpl_<optab><mode>2): Likewise.
20707 (<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3): Likewise.
20708 (<LOGICAL:optab>_one_cmpl_<SHIFT:optab>sidi_uxtw): New pattern.
20709 (eor_one_cmpl_<SHIFT:optab><mode>3_alt): Support rotate left.
20710 (eor_one_cmpl_<SHIFT:optab>sidi3_alt_ze): Likewise.
20711 (and_one_cmpl_<SHIFT:optab><mode>3_compare0): Likewise.
20712 (and_one_cmpl_<SHIFT:optab>si3_compare0_uxtw): Likewise.
20713 (and_one_cmpl_<SHIFT:optab><mode>3_compare0_no_reuse): Likewise.
20714 (and_<SHIFT:optab><mode>3nr_compare0): Likewise.
20715 (*<optab>si3_insn_uxtw): Use SHIFT_no_rotate.
20716 (rolsi3_insn_uxtw): New pattern.
20717 * config/aarch64/iterators.md (SHIFT): Add rotate left.
20718 (SHIFT_no_rotate): Add new iterator.
20719 (SHIFT:shift): Print rotate left as ror.
20720 (is_rotl): Add test for left rotate.
20721
20722 2022-05-20 Wilco Dijkstra <wilco.dijkstra@arm.com>
20723
20724 * config.gcc (aarch64*-*-*): Simplify --with-cpu and --with-arch
20725 processing. Add support for architectural extensions.
20726 * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Remove
20727 AARCH64_CPU_DEFAULT_FLAGS.
20728 (TARGET_CPU_NBITS): Remove.
20729 (TARGET_CPU_MASK): Remove.
20730 * config/aarch64/aarch64.cc (AARCH64_CPU_DEFAULT_FLAGS): Remove define.
20731 (get_tune_cpu): Assert CPU is always valid.
20732 (get_arch): Assert architecture is always valid.
20733 (aarch64_override_options): Cleanup CPU selection code and simplify logic.
20734 (aarch64_option_restore): Remove unnecessary checks on tune.
20735
20736 2022-05-20 David Malcolm <dmalcolm@redhat.com>
20737
20738 * config/aarch64/aarch64-sve-builtins-base.cc: Replace uses of
20739 "FINAL" and "OVERRIDE" with "final" and "override".
20740 * config/aarch64/aarch64-sve-builtins-functions.h: Likewise.
20741 * config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise.
20742 * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise.
20743 * diagnostic-path.h: Likewise.
20744 * digraph.cc: Likewise.
20745 * gcc-rich-location.h: Likewise.
20746 * gimple-array-bounds.cc: Likewise.
20747 * gimple-loop-versioning.cc: Likewise.
20748 * gimple-range-cache.cc: Likewise.
20749 * gimple-range-cache.h: Likewise.
20750 * gimple-range-fold.cc: Likewise.
20751 * gimple-range-fold.h: Likewise.
20752 * gimple-range-tests.cc: Likewise.
20753 * gimple-range.h: Likewise.
20754 * gimple-ssa-evrp.cc: Likewise.
20755 * input.cc: Likewise.
20756 * json.h: Likewise.
20757 * read-rtl-function.cc: Likewise.
20758 * tree-complex.cc: Likewise.
20759 * tree-diagnostic-path.cc: Likewise.
20760 * tree-ssa-ccp.cc: Likewise.
20761 * tree-ssa-copy.cc: Likewise.
20762 * tree-vrp.cc: Likewise.
20763 * value-query.h: Likewise.
20764 * vr-values.h: Likewise.
20765
20766 2022-05-20 Marcel Vollweiler <marcel@codesourcery.com>
20767
20768 * omp-low.cc (omp_runtime_api_call): Added target_memcpy_async and
20769 target_memcpy_rect_async to omp_runtime_apis array.
20770
20771 2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
20772
20773 * doc/sourcebuild.texi (Decimal floating point attributes): Document
20774 dfp_bid effective-target.
20775
20776 2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
20777
20778 * config/aarch64/aarch64.cc
20779 (aarch64_split_128bit_move): Handle DFP modes.
20780 (aarch64_mode_valid_for_sched_fusion_p): Likewise.
20781 (aarch64_classify_address): Likewise.
20782 (aarch64_legitimize_address_displacement): Likewise.
20783 (aarch64_reinterpret_float_as_int): Likewise.
20784 (aarch64_float_const_zero_rtx_p): Likewise.
20785 (aarch64_can_const_movi_rtx_p): Likewise.
20786 (aarch64_anchor_offset): Likewise.
20787 (aarch64_secondary_reload): Likewise.
20788 (aarch64_rtx_costs): Likewise.
20789 (aarch64_legitimate_constant_p): Likewise.
20790 (aarch64_gimplify_va_arg_expr): Likewise.
20791 (aapcs_vfp_sub_candidate): Likewise.
20792 (aarch64_vfp_is_call_or_return_candidate): Likewise.
20793 (aarch64_output_scalar_simd_mov_immediate): Likewise.
20794 (aarch64_gen_adjusted_ldpstp): Likewise.
20795 (aarch64_scalar_mode_supported_p): Accept DFP modes if enabled.
20796 * config/aarch64/aarch64.md
20797 (movsf_aarch64): Use SFD iterator and rename into
20798 mov<mode>_aarch64.
20799 (movdf_aarch64): Use DFD iterator and rename into
20800 mov<mode>_aarch64.
20801 (movtf_aarch64): Use TFD iterator and rename into
20802 mov<mode>_aarch64.
20803 (split pattern for move TF mode): Use TFD iterator.
20804 * config/aarch64/iterators.md
20805 (GPF_TF_F16_MOV): Add DFP modes.
20806 (SFD, DFD, TFD): New iterators.
20807 (GPF_TF): Add DFP modes.
20808 (TX, DX, DX2): Likewise.
20809
20810 2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
20811
20812 * configure: Regenerate.
20813
20814 2022-05-19 Roger Sayle <roger@nextmovesoftware.com>
20815
20816 PR middle-end/98865
20817 * expr.cc (expand_expr_real_2) [MULT_EXPR]: Expand X*Y as X&Y
20818 when both X and Y are [0, 1], X*Y as X&-Y when Y is [0,1] and
20819 likewise X*Y as -X&Y when X is [0,1] using tree_nonzero_bits.
20820
20821 2022-05-19 Will Schmidt <will_schmidt@vnet.ibm.com>
20822
20823 * config/rs6000/rs6000-builtins.def: Rephrase
20824 to remove RS6000_BTC_SPECIAL from comment.
20825 * config/rs6000/rs6000.h (RS6000_BTC_UNARY, RS6000_BTC_BINARY,
20826 RS6000_BTC_TERNARY, RS6000_BTC_QUATERNARY,
20827 RS6000_BTC_QUINARY, RS6000_BTC_SENARY, RS6000_BTC_OPND_MASK,
20828 RS6000_BTC_SPECIAL, RS6000_BTC_PREDICATE, RS6000_BTC_ABS,
20829 RS6000_BTC_DST, RS6000_BTC_TYPE_MASK, RS6000_BTC_MISC,
20830 RS6000_BTC_CONST, RS6000_BTC_PURE, RS6000_BTC_FP,
20831 RS6000_BTC_QUAD, RS6000_BTC_PAIR, RS6000_BTC_QUADPAIR,
20832 RS6000_BTC_ATTR_MASK, RS6000_BTC_SPR, RS6000_BTC_VOID,
20833 RS6000_BTC_CR, RS6000_BTC_OVERLOADED, RS6000_BTC_GIMPLE,
20834 RS6000_BTC_MISC_MASK, RS6000_BTC_MEM, RS6000_BTC_SAT,
20835 RS6000_BTM_ALWAYS): Delete.
20836
20837 2022-05-19 Richard Biener <rguenther@suse.de>
20838
20839 * omp-expand.cc (expand_omp_atomic_cas): Do not short-cut
20840 computation of the new value.
20841
20842 2022-05-19 Richard Biener <rguenther@suse.de>
20843
20844 * tree-ssa-pre.cc (get_or_alloc_expression_id): Remove.
20845 (add_to_value): Use get_expression_id.
20846 (bitmap_insert_into_set): Likewise.
20847 (bitmap_value_insert_into_set): Likewise.
20848
20849 2022-05-19 David Malcolm <dmalcolm@redhat.com>
20850
20851 * doc/invoke.texi (-fanalyzer-checker=): Add
20852 -Wanalyzer-va-list-leak and -Wanalyzer-va-list-use-after-va-end to
20853 the list of analyzer warnings disabled by
20854 -fanalyzer-checker=taint.
20855
20856 2022-05-19 Jakub Jelinek <jakub@redhat.com>
20857
20858 PR debug/105630
20859 * cfgexpand.cc (expand_debug_expr): For VAR_DECL, punt for
20860 global vars without symtab node even when they have DECL_RTL
20861 set.
20862
20863 2022-05-19 Jakub Jelinek <jakub@redhat.com>
20864
20865 PR c/105635
20866 * pointer-query.cc (gimple_parm_array_size): Return NULL if var
20867 doesn't have pointer or reference type.
20868
20869 2022-05-18 Marek Polacek <polacek@redhat.com>
20870
20871 PR c/105131
20872 * doc/invoke.texi: Document -Wenum-int-mismatch.
20873
20874 2022-05-18 Uros Bizjak <ubizjak@gmail.com>
20875
20876 * config/i386/gnu-user-common.h (defined): Only define
20877 TARGET_CAN_SPLIT_STACK for glibc targets.
20878 * config/i386/gnu.h (defined): Ditto.
20879
20880 2022-05-18 Roger Sayle <roger@nextmovesoftware.com>
20881
20882 * config/i386/i386.cc (ix86_rtx_costs) [MULT]: When mode size
20883 is wider than word_mode, a multiplication costs three word_mode
20884 multiplications and two word_mode additions.
20885
20886 2022-05-18 Roger Sayle <roger@nextmovesoftware.com>
20887
20888 * config/i386/i386.md (define_split): Split *andsi_1
20889 and *andn_si_ccno after reload with -Oz.
20890
20891 2022-05-18 Frederik Harwath <frederik@codesourcery.com>
20892
20893 * graphite-scop-detection.cc (scop_detection::can_represent_loop):
20894 Output reason for failure to dump file.
20895 (scop_detection::harmful_loop_in_region): Likewise.
20896 (scop_detection::graphite_can_represent_expr): Likewise.
20897 (scop_detection::stmt_has_simple_data_refs_p): Likewise.
20898 (scop_detection::stmt_simple_for_scop_p): Likewise.
20899 (print_sese_loop_numbers): New function.
20900 (scop_detection::add_scop): Use from here.
20901
20902 2022-05-18 liuhongt <hongtao.liu@intel.com>
20903
20904 PR middle-end/103462
20905 * match.pd (bitwise_induction_p): New match.
20906 * tree-scalar-evolution.cc (gimple_bitwise_induction_p):
20907 Declare.
20908 (analyze_and_compute_bitwise_induction_effect): New function.
20909 (enum bit_op_kind): New enum.
20910 (final_value_replacement_loop): Enhanced to handle bitwise
20911 induction.
20912
20913 2022-05-18 Haochen Gui <guihaoc@gcc.gnu.org>
20914
20915 PR target/95737
20916 * config/rs6000/rs6000.md (*subfsi3_carry_in_xx_64): New.
20917
20918 2022-05-18 liuhongt <hongtao.liu@intel.com>
20919
20920 PR target/104375
20921 * config/i386/i386.md (*bmi2_bzhi_zero_extendsidi_4): New
20922 define_insn.
20923
20924 2022-05-18 liuhongt <hongtao.liu@intel.com>
20925
20926 PR target/104610
20927 * config/i386/i386-expand.cc (ix86_expand_branch): Use ptest
20928 for QImode when code is EQ or NE.
20929 * config/i386/i386.md (cbranchoi4): New expander.
20930
20931 2022-05-18 Peter Bergner <bergner@linux.ibm.com>
20932 Segher Boessenkool <segher@kernel.crashing.org>
20933
20934 PR target/105556
20935 * config/rs6000/mma.md (mma_<vv>, mma_<avv>, mma_<pv>, mma_<apv>,
20936 mma_<vvi4i4i8>, mma_<avvi4i4i8>, mma_<vvi4i4i2>, mma_<avvi4i4i2>,
20937 mma_<vvi4i4>, mma_<avvi4i4>, mma_<pvi4i2>, mma_<apvi4i2>,
20938 mma_<vvi4i4i4>, mma_<avvi4i4i4>): Replace "wa" constraints with "v,?wa".
20939 Update other operands accordingly.
20940
20941 2022-05-17 Marek Polacek <polacek@redhat.com>
20942
20943 * godump.cc (go_output_typedef): Use the DECL_INITIAL of the TREE_VALUE.
20944
20945 2022-05-17 Pat Haugen <pthaugen@linux.ibm.com>
20946
20947 PR target/99685
20948 * config/rs6000/rs6000-call.cc (rs6000_function_arg_advance_1): Bump
20949 register count when not splitting IEEE 128-bit Complex.
20950
20951 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
20952
20953 * omp-low.cc (check_omp_nesting_restrictions): Skip warning for
20954 target inside target if inner is reverse offload.
20955
20956 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
20957
20958 * config/gcn/mkoffload.cc (process_obj): Revert: Use ARRAY_SIZE.
20959 * config/nvptx/mkoffload.cc (process): Likewise.
20960
20961 2022-05-17 Andrew MacLeod <amacleod@redhat.com>
20962
20963 * Makefile.in (OBJS): Add gimple-range-side-effect.o.
20964 * gimple-range-cache.cc (non_null_ref::non_null_ref): Delete.
20965 (non_null_ref::~non_null_ref): Delete.
20966 (non_null_ref::set_nonnull): Delete.
20967 (non_null_ref::non_null_deref_p): Delete.
20968 (non_null_ref::process_name): Delete.
20969 (ranger_cache::ranger_cache): Initialize m_exit object.
20970 (ranger_cache::fill_block_cache): Use m_exit object intead of nonnull.
20971 (ranger_cache::range_from_dom): Use side_effect class and m_exit object.
20972 (ranger_cache::update_to_nonnull): Delete.
20973 (non_null_loadstore): Delete.
20974 (ranger_cache::block_apply_nonnull): Delete.
20975 (ranger_cache::apply_side_effects): New.
20976 * gimple-range-cache.h (class non_null_ref): Delete.
20977 (non_null_ref::adjust_range): Delete.
20978 (class ranger_cache): Adjust prototypes, add side effect manager.
20979 * gimple-range-path.cc (path_range_query::range_defined_in_block): Use
20980 side effect manager for queries.
20981 (path_range_query::adjust_for_non_null_uses): Ditto.
20982 * gimple-range-path.h (class path_range_query): Delete non_null_ref.
20983 * gimple-range-side-effect.cc: New.
20984 * gimple-range-side-effect.h: New.
20985 * gimple-range.cc (gimple_ranger::gimple_ranger): Update contructor.
20986 (gimple_ranger::range_of_expr): Check def block for override value.
20987 (gimple_ranger::range_on_entry): Don't scan dominators for non-null.
20988 (gimple_ranger::range_on_edge): Check for outgoing side-effects.
20989 (gimple_ranger::register_side_effects): Call apply_side_effects.
20990 (enable_ranger): Update contructor.
20991 * gimple-range.h (class gimple_ranger): Update prototype.
20992 (enable_ranger): Update prototype.
20993 * tree-vrp.cc (execute_ranger_vrp): Invoke without immediate-use flag.
20994
20995 2022-05-17 Giuliano Belinassi <gbelinassi@suse.de>
20996
20997 PR c++/105169
20998 * targhooks.cc (default_print_patchable_function_entry_1): Handle COMDAT case.
20999 * varasm.cc (switch_to_comdat_section): New
21000 (handle_vtv_comdat_section): Call switch_to_comdat_section.
21001 * varasm.h: Declare switch_to_comdat_section.
21002
21003 2022-05-17 Richard Biener <rguenther@suse.de>
21004
21005 * cfgloopmanip.cc (duplicate_loop_body_to_header_edge): Do
21006 not clear bb->aux of the copied blocks.
21007
21008 2022-05-17 Andrew MacLeod <amacleod@redhat.com>
21009
21010 PR tree-optimization/105458
21011 * value-relation.cc (path_oracle::register_relation): Merge, then check
21012 for equivalence.
21013
21014 2022-05-17 Uroš Bizjak <ubizjak@gmail.com>
21015
21016 PR target/105624
21017 Revert:
21018 * config/i386/i386.md: Remove constraints when used with
21019 const_int_operand, const0_operand, const_1_operand, constm1_operand,
21020 const8_operand, const128_operand, const248_operand, const123_operand,
21021 const2367_operand, const1248_operand, const359_operand,
21022 const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
21023 const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
21024 const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
21025 const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
21026 const_0_to_255_mul_8_operand, const_1_to_31_operand,
21027 const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
21028 const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
21029 const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
21030 const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
21031 const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
21032 const_24_to_27_operand and const_28_to_31_operand.
21033 * config/i386/mmx.md: Ditto.
21034 * config/i386/sse.md: Ditto.
21035 * config/i386/subst.md: Ditto.
21036 * config/i386/sync.md: Ditto.
21037
21038 2022-05-17 Thomas Schwinge <thomas@codesourcery.com>
21039
21040 * diagnostic.cc: Don't advise to call 'abort' instead of
21041 'internal_error'.
21042 * system.h: Advise to call 'internal_error' instead of 'abort' or
21043 'fancy_abort'.
21044
21045 2022-05-17 Frederik Harwath <frederik@codesourcery.com>
21046
21047 * graphite-sese-to-poly.cc (build_poly_sr_1): Fix a typo and
21048 a reference to a variable which does not exist.
21049 * graphite-isl-ast-to-gimple.cc (gsi_insert_earliest): Fix typo
21050 in comment.
21051
21052 2022-05-17 Frederik Harwath <frederik@codesourcery.com>
21053
21054 * graphite-sese-to-poly.cc (isl_id_for_ssa_name): Rename to ...
21055 (isl_id_for_parameter): ... this new function name.
21056 (build_scop_context): Adjust function use.
21057
21058 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
21059
21060 PR target/105602
21061 * config/gcn/t-omp-device (arch): Add 'amdgcn' besides existing 'gcn'.
21062 * config/gcn/gcn.cc (gcn_omp_device_kind_arch_isa): Likewise.
21063
21064 2022-05-17 Jakub Jelinek <jakub@redhat.com>
21065
21066 * tree-core.h (enum omp_clause_depend_kind): Add
21067 OMP_CLAUSE_DEPEND_INOUTSET.
21068 * tree-pretty-print.cc (dump_omp_clause): Handle
21069 OMP_CLAUSE_DEPEND_INOUTSET.
21070 * gimplify.cc (gimplify_omp_depend): Likewise.
21071 * omp-low.cc (lower_depend_clauses): Likewise.
21072
21073 2022-05-17 Jakub Jelinek <jakub@redhat.com>
21074
21075 PR target/105613
21076 * config/i386/sse.md (vec_cmpeqv2div2di, vec_cmpeqv1tiv1ti): Use
21077 andv4si3 only for EQ, for NE use iorv4si3 instead.
21078
21079 2022-05-17 Richard Biener <rguenther@suse.de>
21080
21081 PR tree-optimization/105618
21082 * tree-ssa-sink.cc (statement_sink_location): For virtual
21083 PHI uses ignore those defining the used virtual operand.
21084
21085 2022-05-17 Jakub Jelinek <jakub@redhat.com>
21086
21087 * tree-ssa-forwprop.cc (simplify_bitfield_ref): Spelling fix:
21088 hanlde -> handle. Fix up comment formatting.
21089
21090 2022-05-17 liuhongt <hongtao.liu@intel.com>
21091
21092 PR target/105033
21093 * config/i386/sse.md (*vec_concatv4si): Extend to ..
21094 (*vec_concat<mode>): .. V16QI and V8HImode.
21095 (*vec_concatv16qi_permt2): New pre_reload define_insn_and_split.
21096 (*vec_concatv8hi_permt2): Ditto.
21097
21098 2022-05-17 liuhongt <hongtao.liu@intel.com>
21099
21100 PR tree-optimization/105591
21101 * tree-ssa-forwprop.cc (simplify_bitfield_ref): Clamp
21102 vec_perm_expr index.
21103
21104 2022-05-16 Jason Merrill <jason@redhat.com>
21105
21106 PR c/105492
21107 * attribs.cc (decl_attributes): Fix broken typedefs here.
21108
21109 2022-05-16 David Malcolm <dmalcolm@redhat.com>
21110
21111 PR analyzer/105103
21112 * Makefile.in (ANALYZER_OBJS): Add analyzer/varargs.o.
21113 * doc/invoke.texi: Add -Wanalyzer-va-arg-type-mismatch,
21114 -Wanalyzer-va-list-exhausted, -Wanalyzer-va-list-leak, and
21115 -Wanalyzer-va-list-use-after-va-end.
21116
21117 2022-05-16 Richard Biener <rguenther@suse.de>
21118
21119 * gimple-match.h (gimple_build): Move code_helper overloads ...
21120 * gimple-fold.h (gimple_build): ... here.
21121 (gimple_build): Transition to new worker API. Provide
21122 overloads from sequence-based API.
21123 (gimple_convert): Likewise.
21124 (gimple_convert_to_ptrofftype): Likewise.
21125 (gimple_build_vector_from_val): Likewise.
21126 (gimple_build_vector): Likewise.
21127 (gimple_build_round_up): Likewise.
21128 * gimple-fold.cc (gimple_build_insert_seq): New helper.
21129 (gimple_build): Use it. Transition combined_fn and code_helper
21130 API parts.
21131 (gimple_convert): Transition to new worker API.
21132 (gimple_convert_to_ptrofftype): Likewise.
21133 (gimple_build_vector_from_val): Likewise.
21134 (gimple_build_vector): Likewise.
21135 (gimple_build_round_up): Likewise.
21136
21137 2022-05-16 Richard Biener <rguenther@suse.de>
21138
21139 * gimple-match.h (code_helper): Move class ...
21140 * tree.h (code_helper): ... here.
21141
21142 2022-05-16 Martin Liska <mliska@suse.cz>
21143
21144 * opts-global.cc (write_langs): Add comment.
21145
21146 2022-05-16 Eric Botcazou <ebotcazou@adacore.com>
21147
21148 * dwarf2out.cc (loc_list_from_tree_1) <TRUTH_NOT_EXPR>: Do a logical
21149 instead of a bitwise negation.
21150 <COND_EXPR>: Swap the operands if the condition is TRUTH_NOT_EXPR.
21151
21152 2022-05-16 Martin Liska <mliska@suse.cz>
21153
21154 * attribs.cc (diag_attr_exclusions): Use ARRAY_SIZE.
21155 (decls_mismatched_attributes): Likewise.
21156 * builtins.cc (c_strlen): Likewise.
21157 * cfg.cc (DEF_BASIC_BLOCK_FLAG): Likewise.
21158 * common/config/aarch64/aarch64-common.cc (aarch64_option_init_struct): Likewise.
21159 * config/aarch64/aarch64-builtins.cc (aarch64_lookup_simd_builtin_type): Likewise.
21160 (aarch64_init_simd_builtin_types): Likewise.
21161 (aarch64_init_builtin_rsqrt): Likewise.
21162 * config/aarch64/aarch64.cc (is_madd_op): Likewise.
21163 * config/arm/arm-builtins.cc (arm_lookup_simd_builtin_type): Likewise.
21164 (arm_init_simd_builtin_types): Likewise.
21165 * config/avr/gen-avr-mmcu-texi.cc (mcus[ARRAY_SIZE): Likewise.
21166 (c_prefix): Likewise.
21167 (main): Likewise.
21168 * config/c6x/c6x.cc (N_SAVE_ORDER): Likewise.
21169 * config/darwin-c.cc (darwin_register_frameworks): Likewise.
21170 * config/gcn/mkoffload.cc (process_obj): Likewise.
21171 * config/i386/i386-builtins.cc (get_builtin_code_for_version): Likewise.
21172 (fold_builtin_cpu): Likewise.
21173 * config/m32c/m32c.cc (PUSHM_N): Likewise.
21174 * config/nvptx/mkoffload.cc (process): Likewise.
21175 * config/rs6000/driver-rs6000.cc (host_detect_local_cpu): Likewise.
21176 * config/s390/s390.cc (NR_C_MODES): Likewise.
21177 * config/tilepro/gen-mul-tables.cc (find_sequences): Likewise.
21178 (create_insn_code_compression_table): Likewise.
21179 * config/vms/vms.cc (NBR_CRTL_NAMES): Likewise.
21180 * diagnostic-format-json.cc (json_from_expanded_location): Likewise.
21181 * dwarf2out.cc (ARRAY_SIZE): Likewise.
21182 * genhooks.cc (emit_documentation): Likewise.
21183 (emit_init_macros): Likewise.
21184 * gimple-ssa-sprintf.cc (format_floating): Likewise.
21185 * gimple-ssa-warn-access.cc (memmodel_name): Likewise.
21186 * godump.cc (keyword_hash_init): Likewise.
21187 * hash-table.cc (hash_table_higher_prime_index): Likewise.
21188 * input.cc (for_each_line_table_case): Likewise.
21189 * ipa-free-lang-data.cc (free_lang_data): Likewise.
21190 * ipa-inline.cc (sanitize_attrs_match_for_inline_p): Likewise.
21191 * optc-save-gen.awk: Likewise.
21192 * spellcheck.cc (test_metric_conditions): Likewise.
21193 * tree-vect-slp-patterns.cc (sizeof): Likewise.
21194 (ARRAY_SIZE): Likewise.
21195 * tree.cc (build_common_tree_nodes): Likewise.
21196
21197 2022-05-16 Martin Liska <mliska@suse.cz>
21198
21199 * opts-global.cc (write_langs): Allocate at least one byte.
21200
21201 2022-05-16 Richard Biener <rguenther@suse.de>
21202
21203 * match.pd (A cmp B ? A : B -> min/max): New patterns
21204 carried over from fold_cond_expr_with_comparison.
21205
21206 2022-05-16 liuhongt <hongtao.liu@intel.com>
21207
21208 PR target/105587
21209 * config/i386/i386-expand.cc
21210 (expand_vec_perm_pslldq_psrldq_por): Fail when (d->perm[i] ==
21211 d->perm[i-1] + 1) && d->perm[i] == nelt && start != -1.
21212
21213 2022-05-15 Uroš Bizjak <ubizjak@gmail.com>
21214
21215 * config/i386/i386.md: Remove constraints when used with
21216 const_int_operand, const0_operand, const_1_operand, constm1_operand,
21217 const8_operand, const128_operand, const248_operand, const123_operand,
21218 const2367_operand, const1248_operand, const359_operand,
21219 const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
21220 const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
21221 const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
21222 const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
21223 const_0_to_255_mul_8_operand, const_1_to_31_operand,
21224 const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
21225 const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
21226 const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
21227 const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
21228 const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
21229 const_24_to_27_operand and const_28_to_31_operand.
21230 * config/i386/mmx.md: Ditto.
21231 * config/i386/sse.md: Ditto.
21232 * config/i386/subst.md: Ditto.
21233 * config/i386/sync.md: Ditto.
21234
21235 2022-05-13 Roger Sayle <roger@nextmovesoftware.com>
21236 Uroš Bizjak <ubizjak@gmail.com>
21237
21238 * config/i386/sse.md (vec_cmpeqv2div2di): Enable for TARGET_SSE2.
21239 For !TARGET_SSE4_1, expand as a V4SI vector comparison, followed
21240 by a pshufd and pand.
21241 (vec_cmpeqv1tiv1ti): New define_expand implementing V1TImode
21242 vector equality as a V2DImode vector comparison (see above),
21243 followed by a pshufd and pand.
21244
21245 2022-05-13 Roger Sayle <roger@nextmovesoftware.com>
21246
21247 PR tree-optimization/83907
21248 * tree-ssa-strlen.cc (handle_builtin_memset): Record a strinfo
21249 for memset with an constant char value.
21250 (handle_store): Improved handling of stores with a first byte
21251 of zero, but not storing_all_zeros_p.
21252
21253 2022-05-13 Philipp Tomsich <philipp.tomsich@vrull.eu>
21254 Manolis Tsamis <manolis.tsamis@vrull.eu>
21255
21256 * config/riscv/riscv.h (CLZ_DEFINED_VALUE_AT_ZERO): Implement.
21257 (CTZ_DEFINED_VALUE_AT_ZERO): Same.
21258 * doc/sourcebuild.texi: add documentation for RISC-V specific
21259 test target keywords
21260
21261 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
21262
21263 PR tree-optimization/105597
21264 * range-op.cc (operator_minus::lhs_op1_relation): Use op1 instead
21265 of the lhs and make sure it is not undefined.
21266
21267 2022-05-13 Sebastian Pop <spop@amazon.com>
21268
21269 PR target/105162
21270 * config/aarch64/aarch64-protos.h (atomic_ool_names): Increase dimension
21271 of str array.
21272 * config/aarch64/aarch64.cc (aarch64_atomic_ool_func): Call
21273 memmodel_from_int and handle MEMMODEL_SYNC_*.
21274 (DEF0): Add __aarch64_*_sync functions.
21275
21276 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
21277
21278 * gimple-range-fold.cc (fold_using_range::range_of_phi): Use new VREL_*
21279 enumerated values.
21280 * gimple-range-path.cc (maybe_register_phi_relation): Ditto.
21281 * range-op.cc (*::lhs_op1_relation): Return relation_kind, and use
21282 new VREL enumerated values.
21283 (*::lhs_op2_relation): Ditto.
21284 (*::op1_op2_relation): Ditto.
21285 (*::fold_range): Use new VREL enumerated values.
21286 (minus_op1_op2_relation_effect): Ditto.
21287 (range_relational_tests): Ditto.
21288 * range-op.h (fold_range, op1_range, op2_range): Use VREL_VARYING.
21289 (lhs_op1_relation, lhs_op2_relation, op1_op2_relation): Return
21290 relation_kind.
21291 (*_op1_op2_relation): Return relation_kind.
21292 (relop_early_resolve): Use VREL_UNDEFINED.
21293 * value-query.cc (range_query::query_relation): Use VREL_VARYING.
21294 * value-relation.cc (VREL_LAST): Change enumerated value.
21295 (vrel_range_assert): Delete.
21296 (print_relation): Remove range assert.
21297 (rr_negate_table): Adjust table to use new enumerated values..
21298 (relation_negate): Remove range assert.
21299 (rr_swap_table): Adjust.
21300 (relation_swap): Remove range assert.
21301 (rr_intersect_table): Adjust.
21302 (relation_intersect): Remove range assert.
21303 (rr_union_table): Adjust.
21304 (relation_union): Remove range assert.
21305 (rr_transitive_table): Adjust.
21306 (relation_transitive): Remove range assert.
21307 (equiv_oracle::query_relation): Use new VREL enumerated values.
21308 (equiv_oracle::register_relation): Ditto.
21309 (relation_oracle::register_stmt): Ditto.
21310 (dom_oracle::set_one_relation): Ditto.
21311 (dom_oracle::register_transitives): Ditto.
21312 (dom_oracle::query_relation): Ditto.
21313 (path_oracle::register_relation): Ditto.
21314 (path_oracle::query_relation): Ditto.
21315 * value-relation.h (enum relation_kind_t): New relation_kind.
21316 (*_op1_op2_relation): Adjust prototypes.
21317
21318 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
21319
21320 * gimple-range-edge.cc (calc_switch_ranges): Check union return value.
21321 * value-range.cc (irange::legacy_verbose_union_): Add return value.
21322 (irange::irange_single_pair_union): New.
21323 (irange::irange_union): Add return value.
21324 * value-range.h (class irange): Adjust prototypes.
21325
21326 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
21327
21328 * value-range.cc (irange::legacy_verbose_intersect): Add return value.
21329 (irange::irange_contains_p): New.
21330 (irange::irange_intersect): Add return value.
21331 * value-range.h (class irange): Adjust prototypes.
21332
21333 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
21334
21335 * gimple-range-cache.cc (ranger_cache::get_global_range): Return the
21336 had_global value instead.
21337
21338 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
21339
21340 PR tree-optimization/104547
21341 * gimple-range-fold.cc (fold_using_range::range_of_range_op): Add
21342 the op1/op2 relation to the relation call.
21343 * range-op.cc (*::lhs_op1_relation): Add param.
21344 (*::lhs_op2_relation): Ditto.
21345 (operator_minus::lhs_op1_relation): New.
21346 (range_relational_tests): Add relation param.
21347 * range-op.h (lhs_op1_relation, lhs_op2_relation): Adjust prototype.
21348
21349 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
21350
21351 * gimple-range.cc (gimple_ranger::register_side_effects): First check
21352 if the DEF should be exported as a global.
21353 * tree-vrp.cc (rvrp_folder::pre_fold_bb): Process PHI side effects,
21354 which will export globals.
21355 (execute_ranger_vrp): Remove call to export_global_ranges.
21356
21357 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
21358
21359 * value-relation.cc (path_oracle::reset_path): Clear killing_defs.
21360
21361 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
21362
21363 * gimple-range-cache.cc (ranger_cache::ranger_cache): Start with
21364 worlist truncated.
21365 (ranger_cache::entry_range): Add rfd_mode parameter.
21366 (ranger_cache::exit_range): Ditto.
21367 (ranger_cache::edge_range): New. Incorporate from range_on_edge.
21368 (ranger_cache::range_of_expr): Adjust call to entry_range.
21369 (ranger_cache::range_on_edge): Split to edge_range and call.
21370 (ranger_cache::fill_block_cache): Always invoke range_from_dom.
21371 (ranger_cache::range_from_dom): Make reentrant, add search mode, handle
21372 mutiple predecessors.
21373 (ranger_cache::update_to_nonnull): Adjust call to exit_range.
21374 * gimple-range-cache.h (ranger_cache): Add enum rfd_mode. Adjust
21375 prototypes.
21376
21377 2022-05-13 Alexandre Oliva <oliva@adacore.com>
21378
21379 * gimple-harden-conditionals.cc: Include sbitmap.h.
21380 (pass_harden_conditional_branches::execute): Skip new blocks.
21381 (pass_harden_compares::execute): Likewise.
21382
21383 2022-05-13 Richard Earnshaw <rearnsha@arm.com>
21384
21385 PR target/105463
21386 * config/arm/mve.md (*movmisalign<mode>_mve_store): Use
21387 mve_memory_operand.
21388 (*movmisalign<mode>_mve_load): Likewise.
21389 * config/arm/vec-common.md (movmisalign<mode>): Convert to generator
21390 form...
21391 (@movmisalign<mode>): ... thus. Use generic predicates and then
21392 rework operands if they are not valid. For MVE rework to a
21393 narrower element size if the alignment is not high enough.
21394
21395 2022-05-13 Richard Earnshaw <rearnsha@arm.com>
21396
21397 * config/arm/arm.cc (mve_vector_mem_operand): Allow SP_REGNUM
21398 when there is no write-back. Fix use when strict is true.
21399
21400 2022-05-13 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
21401
21402 * config/xtensa/xtensa.h (TARGET_HAS_NO_HW_DIVIDE): New macro
21403 definition.
21404
21405 2022-05-13 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
21406
21407 * config/xtensa/xtensa.md (extvsi, extvsi_internal, extzvsi,
21408 extzvsi_internal): Rename from extv, extv_internal, extzv and
21409 extzv_internal, respectively.
21410
21411 2022-05-13 Eric Botcazou <ebotcazou@adacore.com>
21412
21413 * tree-sra.cc (sra_modify_assign): Check that scalar storage order
21414 is the same on the LHS and RHS before rewriting one with the model
21415 of the other.
21416
21417 2022-05-13 Richard Biener <rguenther@suse.de>
21418
21419 * gimple-fold.cc (gimple_build): Adjust for new
21420 main API.
21421 * gimple-fold.h (gimple_build): New main APIs with
21422 iterator, insert direction and iterator update.
21423 (gimple_build): New forwarder template.
21424 (clear_padding_type_may_have_padding_p): Remove.
21425 (clear_type_padding_in_mask): Likewise.
21426 (arith_overflowed_p): Likewise.
21427 * fold-const.h (clear_padding_type_may_have_padding_p): Declare.
21428 (clear_type_padding_in_mask): Likewise.
21429 (arith_overflowed_p): Likewise.
21430 * tree-vect-generic.cc (gimplify_build3): Use main gimple_build API.
21431 (gimplify_build2): Likewise.
21432 (gimplify_build1): Likewise.
21433 * ubsan.cc (ubsan_expand_ptr_ifn): Likewise, avoid extra
21434 compare stmt.
21435 * gengtype.cc (open_base_files): Re-order includes.
21436 * builtins.cc: Re-order gimple-fold.h include.
21437 * calls.cc: Likewise.
21438 * cgraphbuild.cc: Likewise.
21439 * cgraphunit.cc: Likewise.
21440 * config/rs6000/rs6000-builtin.cc: Likewise.
21441 * config/rs6000/rs6000-call.cc: Likewise.
21442 * config/rs6000/rs6000.cc: Likewise.
21443 * config/s390/s390.cc: Likewise.
21444 * expr.cc: Likewise.
21445 * fold-const.cc: Likewise.
21446 * function-tests.cc: Likewise.
21447 * gimple-match-head.cc: Likewise.
21448 * gimple-range-fold.cc: Likewise.
21449 * gimple-ssa-evrp-analyze.cc: Likewise.
21450 * gimple-ssa-evrp.cc: Likewise.
21451 * gimple-ssa-sprintf.cc: Likewise.
21452 * gimple-ssa-warn-access.cc: Likewise.
21453 * gimplify.cc: Likewise.
21454 * graphite-isl-ast-to-gimple.cc: Likewise.
21455 * ipa-cp.cc: Likewise.
21456 * ipa-devirt.cc: Likewise.
21457 * ipa-prop.cc: Likewise.
21458 * omp-low.cc: Likewise.
21459 * pointer-query.cc: Likewise.
21460 * range-op.cc: Likewise.
21461 * tree-cfg.cc: Likewise.
21462 * tree-if-conv.cc: Likewise.
21463 * tree-inline.cc: Likewise.
21464 * tree-object-size.cc: Likewise.
21465 * tree-ssa-ccp.cc: Likewise.
21466 * tree-ssa-dom.cc: Likewise.
21467 * tree-ssa-forwprop.cc: Likewise.
21468 * tree-ssa-ifcombine.cc: Likewise.
21469 * tree-ssa-loop-ivcanon.cc: Likewise.
21470 * tree-ssa-math-opts.cc: Likewise.
21471 * tree-ssa-pre.cc: Likewise.
21472 * tree-ssa-propagate.cc: Likewise.
21473 * tree-ssa-reassoc.cc: Likewise.
21474 * tree-ssa-sccvn.cc: Likewise.
21475 * tree-ssa-strlen.cc: Likewise.
21476 * tree-ssa.cc: Likewise.
21477 * value-pointer-equiv.cc: Likewise.
21478 * vr-values.cc: Likewise.
21479
21480 2022-05-13 Alexandre Oliva <oliva@adacore.com>
21481
21482 PR rtl-optimization/105455
21483 * gimple-harden-conditionals.cc (insert_check_and_trap): Set
21484 probabilities for newly-conditional edges.
21485
21486 2022-05-13 liuhongt <hongtao.liu@intel.com>
21487
21488 PR tree-optimization/102583
21489 * tree-ssa-forwprop.cc (simplify_bitfield_ref): Extended to a
21490 contiguous stride in the VEC_PERM_EXPR.
21491
21492 2022-05-12 Richard Biener <rguenther@suse.de>
21493
21494 PR rtl-optimization/105577
21495 * dse.cc (rest_of_handle_dse): Make sure to purge dead EH
21496 edges before running fast DCE via df_analyze.
21497
21498 2022-05-12 Richard Biener <rguenther@suse.de>
21499
21500 PR tree-optimization/105562
21501 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Disambiguate
21502 against all CLOBBER defs if there's not an obvious must-alias
21503 and we are not doing redundant store elimination.
21504 (vn_walk_cb_data::redundant_store_removal_p): New field.
21505 (vn_reference_lookup_pieces): Initialize it.
21506 (vn_reference_lookup): Add argument to specify if we are
21507 doing redundant store removal.
21508 (eliminate_dom_walker::eliminate_stmt): Specify we do.
21509 * tree-ssa-sccvn.h (vn_reference_lookup): Adjust.
21510
21511 2022-05-12 Haochen Jiang <haochen.jiang@intel.com>
21512
21513 PR target/104371
21514 * config/i386/sse.md (vi1avx2const): New define_mode_attr.
21515 (pxor/pcmpeqb/pmovmskb/cmp 0xffff to ptest splitter):
21516 New define_split pattern.
21517
21518 2022-05-12 Jakub Jelinek <jakub@redhat.com>
21519
21520 * gimplify.cc (gimplify_omp_depend): Don't build_fold_addr_expr
21521 if null_pointer_node.
21522 (gimplify_scan_omp_clauses): Likewise.
21523 * tree-pretty-print.cc (dump_omp_clause): Print null_pointer_node
21524 as omp_all_memory.
21525
21526 2022-05-11 Patrick Palka <ppalka@redhat.com>
21527
21528 * tree.h (TREE_VEC_BEGIN): Define.
21529 (TREE_VEC_END): Correct 'length' member access.
21530 (class tree_vec_range): Define.
21531
21532 2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
21533
21534 * config/rs6000/rs6000.md: Use wa instead of <Fv>.
21535
21536 2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
21537
21538 * config/rs6000/rs6000.md: Use d instead of <Ff>.
21539
21540 2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
21541
21542 * config/rs6000/constraints.md (register_constraint "f"): Use
21543 RS6000_CONSTRAINT_d.
21544 * config/rs6000/rs6000.cc (rs6000_debug_reg_global): Do not handle
21545 RS6000_CONSTRAINT_f.
21546 (rs6000_init_hard_regno_mode_ok): Ditto. Reorder and simplify a bit.
21547 * config/rs6000/rs6000.h (r6000_reg_class_enum): Delete
21548 RS6000_CONSTRAINT_d.
21549
21550 2022-05-11 Richard Biener <rguenther@suse.de>
21551
21552 * gimple-fold.h (gimple_build): Use variadic template
21553 functions for the gimple_build API forwarders without
21554 location_t argument.
21555
21556 2022-05-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
21557
21558 PR middle-end/70090
21559 * asan.cc (initialize_sanitizer_builtins): Register
21560 __builtin_dynamic_object_size if necessary.
21561
21562 2022-05-11 Richard Biener <rguenther@suse.de>
21563
21564 PR rtl-optimization/105559
21565 * cfgrtl.cc (delete_insn_and_edges): Only perform search to BB_END
21566 for non-debug insns.
21567
21568 2022-05-11 Richard Biener <rguenther@suse.de>
21569
21570 * generic-match-head.cc: Include tree-eh.h.
21571 * match.pd ((cond ...) cmp X): New simplification inspired
21572 by fold_binary_op_with_conditional_arg.
21573 (eq/ne (cmp ...) true/false): Likewise.
21574
21575 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
21576
21577 * doc/install.texi: Don't document '--with-hsa-runtime',
21578 '--with-hsa-runtime-include', '--with-hsa-runtime-lib'.
21579
21580 2022-05-11 Martin Liska <mliska@suse.cz>
21581
21582 PR other/105527
21583 * doc/install.texi: Document the configure option --with-zstd.
21584
21585 2022-05-11 Martin Liska <mliska@suse.cz>
21586
21587 * common/config/i386/cpuinfo.h (has_cpu_feature): Directly
21588 compute index in cpu_features2.
21589 (set_cpu_feature): Likewise.
21590 * config/i386/i386-builtins.cc (fold_builtin_cpu): Also remove
21591 loop for cpu_features2 and use NOP_EXPRs.
21592
21593 2022-05-11 Richard Biener <rguenther@suse.de>
21594
21595 PR bootstrap/105551
21596 * opts.cc (finish_options): Also disable var-tracking if
21597 !DWARF2_DEBUGGING_INFO.
21598
21599 2022-05-11 liuhongt <hongtao.liu@intel.com>
21600
21601 PR target/104915
21602 * config/i386/sse.md (*vec_set<mode>_0_zero_extendhi): New
21603 pre_reload define_insn_and_split.
21604 (*vec_setv2di_0_zero_extendhi_1): Ditto.
21605 (*vec_set<mode>_0_zero_extendsi): Ditto.
21606 (*vec_setv2di_0_zero_extendsi_1): Ditto.
21607 (ssewvecmode): New mode attr.
21608 (ssewvecmodelower): Ditto.
21609 (ssepackmodelower): Ditto.
21610
21611 2022-05-11 Kewen Lin <linkw@linux.ibm.com>
21612
21613 * config/rs6000/constraints.md (register constraint v): Use
21614 rs6000_constraints[RS6000_CONSTRAINT_v] instead of ALTIVEC_REGS.
21615
21616 2022-05-11 Martin Liska <mliska@suse.cz>
21617
21618 PR target/105355
21619 * config/riscv/riscv.opt: Remove Separate from
21620 -msmall-data-limit=.
21621 * optc-gen.awk: Report error for the described situation.
21622 * gcc.cc: Use Separate syntax.
21623 * opts.cc (gen_command_line_string): Change option name.
21624
21625 2022-05-11 Haochen Gui <guihaoc@gcc.gnu.org>
21626
21627 PR target/105414
21628 * match.pd (minmax): Skip constant folding for fmin/fmax when both
21629 arguments are sNaN or one is sNaN and another is NaN.
21630
21631 2022-05-10 Jakub Jelinek <jakub@redhat.com>
21632
21633 PR tree-optimization/105528
21634 * gimple-isel.cc (gimple_expand_vec_set_expr): After gsi_remove
21635 set *gsi to gsi_for_stmt (ass_stmt). Fix up function comment.
21636
21637 2022-05-10 Segher Boessenkool <segher@kernel.crashing.org>
21638
21639 * doc/md.texi (Defining Mode Iterators): Correct example replacement
21640 text.
21641
21642 2022-05-10 Maciej W. Rozycki <macro@embecosm.com>
21643
21644 * config/riscv/riscv.md (UNSPEC_FMIN, UNSPEC_FMAX): New
21645 constants.
21646 (fmin<mode>3, fmax<mode>3): New insns.
21647
21648 2022-05-10 Richard Biener <rguenther@suse.de>
21649
21650 * tree-if-conv.cc (fold_build_cond_expr): Use
21651 match-and-simplify to simplify the condition.
21652 (ifcvt_follow_ssa_use_edges): Remove.
21653 (predicate_scalar_phi): Use follow_all_ssa_edges.
21654
21655 2022-05-10 Thomas Schwinge <thomas@codesourcery.com>
21656
21657 PR middle-end/100400
21658 * omp-oacc-kernels-decompose.cc
21659 (visit_loops_in_gang_single_region) <GIMPLE_OMP_FOR>: Explicitly
21660 call 'internal_error'.
21661
21662 2022-05-10 Richard Biener <rguenther@suse.de>
21663
21664 PR middle-end/105537
21665 * toplev.cc (process_options): Move flag_var_tracking
21666 handling ...
21667 * opts.cc (finish_options): ... here.
21668
21669 2022-05-10 Martin Liska <mliska@suse.cz>
21670
21671 * basic-block.h (struct basic_block_d): Use void *
21672 instead PTR.
21673 * cfgloop.h: Likewise.
21674 * cgraph.h: Likewise.
21675 * gengtype-state.cc (state_ident_by_name): Likewise.
21676 (record_type): Likewise.
21677 (read_state_already_seen_type): Likewise.
21678 * gengtype.cc (dump_type): Likewise.
21679 (input_file_by_name): Likewise.
21680 (main): Likewise.
21681 * ggc-common.cc (ggc_cleared_alloc_ptr_array_two_args): Likewise.
21682 * ipa-utils.h (struct ipa_dfs_info): Likewise.
21683 * plugin.cc (htab_hash_plugin): Likewise.
21684
21685 2022-05-10 Richard Biener <rguenther@suse.de>
21686
21687 * flags.h (dwarf_debuginfo_p): Add opts argument, guard
21688 API with !GENERATOR_FILE.
21689 * opts.cc (global_options): Poison.
21690 (global_options_set): Likewise.
21691 (finish_options): Refer to options via opts.
21692
21693 2022-05-10 Uroš Bizjak <ubizjak@gmail.com>
21694 Roger Sayle <roger@nextmovesoftware.com>
21695
21696 * config/i386/i386.md (*testqi_1_maybe_si): Prefer shorter SImode
21697 alternative when optimizing for size and the immediate operand is
21698 const_0_to_127_operand.
21699 (*andqi_2_maybe_si): Likewise.
21700 * config/i386/predicates.md (const_0_to_127_operand): New predicate.
21701
21702 2022-05-10 Roger Sayle <roger@nextmovesoftware.com>
21703
21704 * tree-chrec.cc (chrec_apply): Attempt to fold the linear chrec
21705 "{a, +, a} (x-1)" as "a*x", as the number of loop iterations, x-1,
21706 can't be negative.
21707
21708 2022-05-10 Eric Botcazou <ebotcazou@adacore.com>
21709
21710 PR target/105292
21711 * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Return
21712 true only for 8-byte vector modes.
21713
21714 2022-05-10 Siddhesh Poyarekar <siddhesh@gotplt.org>
21715
21716 PR middle-end/70090
21717 * ubsan.cc (ubsan_expand_objsize_ifn): Allow non-constant SIZE.
21718 (instrument_object_size): Get dynamic object size expression.
21719
21720 2022-05-10 Jiufu Guo <guojiufu@linux.ibm.com>
21721
21722 PR preprocessor/101168
21723 * config/rs6000/rs6000-c.cc (rs6000_macro_to_expand):
21724 Avoid empty identifier.
21725
21726 2022-05-09 Qing Zhao <qing.zhao@oracle.com>
21727
21728 PR target/101891
21729 * config/i386/i386.cc (zero_call_used_regno_mode): use V2SImode
21730 as a generic MMX mode instead of V4HImode.
21731 (zero_all_mm_registers): Use SET to zero instead of MOV for
21732 zeroing scratch registers.
21733 (ix86_zero_call_used_regs): Likewise.
21734
21735 2022-05-09 liuhongt <hongtao.liu@intel.com>
21736
21737 PR target/105354
21738 * config/i386/i386-expand.cc
21739 (expand_vec_perm_pslldq_psrldq_por): New function.
21740 (ix86_expand_vec_perm_const_1): Try
21741 expand_vec_perm_pslldq_psrldq_por for both 3-instruction and
21742 4/5-instruction sequence.
21743
21744 2022-05-09 Martin Liška <mliska@suse.cz>
21745
21746 * basic-block.h (STATIC_ASSERT): Use normal STATIC_ASSERT.
21747 * system.h (STATIC_ASSERT): Define as static_assert for C++
21748 and fallback to array index in C.
21749
21750 2022-05-09 Richard Biener <rguenther@suse.de>
21751
21752 PR tree-optimization/105517
21753 * tree-ssa-sccvn.cc (vn_reference_lookup): Make sure the accumulated
21754 offset can be represented in the POINTER_PLUS_EXPR IL.
21755 (vn_reference_insert): Likewise.
21756 * poly-int.h (sext_hwi): Add poly version of sext_hwi.
21757
21758 2022-05-09 Richard Biener <rguenther@suse.de>
21759
21760 * match.pd: Remove #if GIMPLE guards around ! using patterns.
21761
21762 2022-05-09 liuhongt <hongtao.liu@intel.com>
21763
21764 PR target/105072
21765 * config/i386/sse.md (*sse4_1_<code>v2qiv2di2<mask_name>_1):
21766 New define_insn.
21767 (*sse4_1_zero_extendv2qiv2di2_2): New pre_reload
21768 define_insn_and_split.
21769
21770 2022-05-09 Alex Coplan <alex.coplan@arm.com>
21771
21772 * cgraph.cc (cgraph_node::get_create): Don't dump if the current
21773 symtab state is PARSING.
21774
21775 2022-05-09 Martin Liska <mliska@suse.cz>
21776
21777 * system.h (LIKELY): Define.
21778 (UNLIKELY): Likewise.
21779 * domwalk.cc (sort_bbs_postorder): Use {,UN}LIKELY
21780 macros.
21781 * dse.cc (set_position_unneeded): Likewise.
21782 (set_all_positions_unneeded): Likewise.
21783 (any_positions_needed_p): Likewise.
21784 (all_positions_needed_p): Likewise.
21785 * expmed.cc (flip_storage_order): Likewise.
21786 * genmatch.cc (dt_simplify::gen_1): Likewise.
21787 * ggc-common.cc (gt_pch_save): Likewise.
21788 * print-rtl.cc: Likewise.
21789 * rtl-iter.h (T>::array_type::~array_type): Likewise.
21790 (T>::next): Likewise.
21791 * rtl-ssa/internals.inl: Likewise.
21792 * rtl-ssa/member-fns.inl: Likewise.
21793 * rtlanal.cc (T>::add_subrtxes_to_queue): Likewise.
21794 (rtx_properties::try_to_add_dest): Likewise.
21795 * rtlanal.h (growing_rtx_properties::repeat): Likewise.
21796 (vec_rtx_properties_base::~vec_rtx_properties_base): Likewise.
21797 * simplify-rtx.cc (simplify_replace_fn_rtx): Likewise.
21798 * sort.cc (likely): Likewise.
21799 (mergesort): Likewise.
21800 * wide-int.h (wi::eq_p): Likewise.
21801 (wi::ltu_p): Likewise.
21802 (wi::cmpu): Likewise.
21803 (wi::bit_and): Likewise.
21804 (wi::bit_and_not): Likewise.
21805 (wi::bit_or): Likewise.
21806 (wi::bit_or_not): Likewise.
21807 (wi::bit_xor): Likewise.
21808 (wi::add): Likewise.
21809 (wi::sub): Likewise.
21810
21811 2022-05-09 Kito Cheng <kito.cheng@sifive.com>
21812
21813 * config/riscv/arch-canonicalize: Handle g correctly.
21814
21815 2022-05-07 Marek Polacek <polacek@redhat.com>
21816
21817 PR c++/101833
21818 PR c++/47634
21819 * tree-core.h (struct attribute_spec): Update comment for HANDLER.
21820
21821 2022-05-06 Jason Merrill <jason@redhat.com>
21822
21823 * diagnostic-color.cc: Add fnname and targs color entries.
21824 * doc/invoke.texi: Document them.
21825
21826 2022-05-06 Jason Merrill <jason@redhat.com>
21827
21828 * vec.h (vec::iterate): Fix comment.
21829
21830 2022-05-06 Michael Meissner <meissner@linux.ibm.com>
21831
21832 PR target/102059
21833 * config/rs6000/rs6000.cc (rs6000_can_inline_p): Ignore -mpower8-fusion
21834 and -mpower10-fusion options for inlining purposes.
21835
21836 2022-05-06 Christophe Lyon <christophe.lyon@arm.com>
21837
21838 * config/aarch64/iterators.md (GPF_TF_F16): Delete.
21839
21840 2022-05-06 Marcel Vollweiler <marcel@codesourcery.com>
21841
21842 * omp-low.cc (omp_runtime_api_call): Added target_is_accessible to
21843 omp_runtime_apis array.
21844
21845 2022-05-06 Hafiz Abid Qadeer <abidh@codesourcery.com>
21846
21847 * omp-low.cc (omp_maybe_offloaded_ctx): New prototype.
21848 (scan_sharing_clauses): Check a restriction on allocate clause.
21849
21850 2022-05-05 Sandra Loosemore <sandra@codesourcery.com>
21851
21852 * gimplify.cc (gimplify_omp_for): Update messages for SCHEDULED
21853 and ORDERED clause conflict errors. Add check for GRAINSIZE and
21854 NUM_TASKS on TASKLOOP.
21855
21856 2022-05-05 Martin Liska <mliska@suse.cz>
21857
21858 * genautomata.cc (create_composed_state): Remove dead code.
21859 * graphite-poly.cc (print_pdrs): Likewise.
21860 * lto-wrapper.cc (run_gcc): Likewise.
21861 * tree-switch-conversion.cc (switch_decision_tree::balance_case_nodes):
21862 Likewise.
21863
21864 2022-05-05 Martin Liska <mliska@suse.cz>
21865
21866 * tree-profile.cc (gimple_gen_ic_profiler): Prefix names with
21867 PROF_*.
21868 (gimple_gen_time_profiler): Likewise.
21869
21870 2022-05-05 Martin Liska <mliska@suse.cz>
21871
21872 * value-prof.cc (stream_out_histogram_value): Remove sanity
21873 checking.
21874
21875 2022-05-05 Richard Biener <rguenther@suse.de>
21876
21877 PR tree-optimization/104162
21878 * tree-ssa-sccvn.cc (vn_reference_lookup): Handle
21879 &MEM[_1 + 5].a[i] like a POINTER_PLUS_EXPR if the offset
21880 becomes invariant.
21881 (vn_reference_insert): Likewise.
21882
21883 2022-05-05 Richard Biener <rguenther@suse.de>
21884
21885 * tree-core.h (tree_real_cst::real_cst_ptr): Remove pointer
21886 to real_value field.
21887 (tree_real_cst::value): Add real_value field.
21888 * tree.h (TREE_REAL_CST_PTR): Adjust.
21889 * tree.cc (build_real): Remove separate allocation.
21890 * tree-streamer-in.cc (unpack_ts_real_cst_value_fields):
21891 Likewise.
21892
21893 2022-05-05 Richard Biener <rguenther@suse.de>
21894
21895 * tree-ssa-ifcombine.cc (bb_no_side_effects_p): Avoid executing
21896 divisions with undefined overflow unconditionally.
21897 (pass_tree_ifcombine::execute): Rewrite stmts with undefined
21898 overflow to defined.
21899
21900 2022-05-05 Richard Biener <rguenther@suse.de>
21901
21902 PR tree-optimization/105484
21903 * gimple-isel.cc (gimple_expand_vec_set_expr): Clean EH, return
21904 whether the CFG changed.
21905 (gimple_expand_vec_exprs): When the CFG changed, clean it up.
21906
21907 2022-05-05 Richard Biener <rguenther@suse.de>
21908
21909 PR tree-optimization/104595
21910 * tree-vect-patterns.cc (vect_recog_bool_pattern): For
21911 COND_EXPR do not fail if check_bool_pattern returns false.
21912
21913 2022-05-04 Tobias Burnus <tobias@codesourcery.com>
21914
21915 * omp-low.cc (lower_omp_target): Fix use_device_{addr,ptr} with list
21916 item that is in an outer data-sharing clause.
21917
21918 2022-05-04 Richard Biener <rguenther@suse.de>
21919
21920 PR tree-optimization/104658
21921 * tree-vect-slp.cc (vect_slp_convert_to_external): Do not
21922 create VECTOR_BOOLEAN_TYPE_P extern defs. Reset the vector
21923 type on nodes we promote.
21924 (vectorizable_bb_reduc_epilogue): Deal with externalized
21925 root.
21926 * tree-vect-stmts.cc (vect_maybe_update_slp_op_vectype): Do
21927 not allow VECTOR_BOOLEAN_TYPE_P extern defs.
21928
21929 2022-05-04 Richard Biener <rguenther@suse.de>
21930
21931 PR tree-optimization/103116
21932 * tree-vect-stmts.cc (get_group_load_store_type): Handle the
21933 case we need peeling for gaps even though GROUP_GAP is zero.
21934
21935 2022-05-04 Martin Liska <mliska@suse.cz>
21936
21937 * gengtype-state.cc (read_a_state_token): Remove dead code.
21938 * ipa-profile.cc (ipa_profile_read_summary_section): Likewise.
21939
21940 2022-05-04 Richard Biener <rguenther@suse.de>
21941
21942 * gimplify.cc (gimplify_init_constructor): First gimplify,
21943 then simplify the result to a VECTOR_CST.
21944
21945 2022-05-04 Jakub Jelinek <jakub@redhat.com>
21946
21947 * genconditions.cc (write_conditions): Append a { nullptr, -1 }
21948 element at the end of insn_conditions.
21949 (write_writer): Use ARRAY_SIZE (insn_conditions) - 1 instead of
21950 ARRAY_SIZE (insn_conditions).
21951
21952 2022-05-04 Christophe Lyon <christophe.lyon@arm.com>
21953
21954 PR target/104662
21955 * config/arm/arm.cc (simd_valid_immediate): Exit when input is a
21956 vector of booleans and MVE is not enabled.
21957
21958 2022-05-04 Richard Biener <rguenther@suse.de>
21959
21960 PR debug/105158
21961 * tree-cfgcleanup.cc (move_debug_stmts_from_forwarder):
21962 Move debug stmts to the predecessor if moving to the
21963 destination is not possible.
21964 (remove_forwarder_block): Adjust.
21965 (remove_forwarder_block_with_phi): Likewise.
21966
21967 2022-05-03 Roger Sayle <roger@nextmovesoftware.com>
21968
21969 PR tree-optimization/102950
21970 * range-op.cc (wi_optimize_signed_bitwise_op): New function to
21971 determine bounds of bitwise operations on signed types.
21972 (operator_bitwise_and::wi_fold): Call the above function.
21973 (operator_bitwise_or::wi_fold): Likewise.
21974 (operator_bitwise_xor::wi_fold): Likewise. Additionally, the
21975 result can't be zero if the operands can't be equal.
21976
21977 2022-05-03 Iain Sandoe <iain@sandoe.co.uk>
21978
21979 * config/darwin.cc (darwin_label_is_anonymous_local_objc_name): Make
21980 protocol class methods linker-visible.
21981
21982 2022-05-03 Uroš Bizjak <ubizjak@gmail.com>
21983
21984 PR target/105079
21985 * config/i386/sse.md (*vec_extract<mode>_0_mem): New pre-reload
21986 define_insn_and_split pattern.
21987
21988 2022-05-03 Richard Biener <rguenther@suse.de>
21989
21990 PR middle-end/105083
21991 * tree-scalar-evolution.cc (scev_initialize): Verify we
21992 have appropriate loop state.
21993 * tree-ssa-dce.cc (perform_tree_ssa_dce): Re-order SCEV and
21994 loop init and finalization.
21995
21996 2022-05-03 Richard Biener <rguenther@suse.de>
21997
21998 PR middle-end/105461
21999 * opts.cc (finish_options): Match the condition to
22000 disable flag_var_tracking to that of process_options.
22001
22002 2022-05-03 Richard Biener <rguenther@suse.de>
22003
22004 * opts.cc: #undef OPTIONS_SET_P.
22005 (finish_options): Use opts_set instead of OPTIONS_SET_P.
22006
22007 2022-05-03 Richard Biener <rguenther@suse.de>
22008
22009 PR tree-optimization/105394
22010 * tree-vect-generic.cc (expand_vector_condition): Adjust
22011 comp_width for non-integer mode masks as well.
22012
22013 2022-05-03 Marcel Vollweiler <marcel@codesourcery.com>
22014
22015 * omp-low.cc (omp_runtime_api_call): Added get_mapped_ptr to
22016 omp_runtime_apis array.
22017
22018 2022-05-02 Richard Biener <rguenther@suse.de>
22019
22020 * tree-scalar-evolution.cc (expression_expensive_p):
22021 Never consider mismatched calls as cheap.
22022
22023 2022-05-02 Richard Biener <rguenther@suse.de>
22024
22025 PR tree-optimization/104240
22026 * tree-vect-slp.cc (op1_op0_map): New.
22027 (vect_get_operand_map): Handle compares.
22028 (vect_build_slp_tree_1): Support swapped operands for
22029 tcc_comparison.
22030
22031 2022-05-02 Jakub Jelinek <jakub@redhat.com>
22032
22033 PR debug/105415
22034 * cfgexpand.cc (expand_debug_expr): Don't make_decl_rtl_for_debug
22035 if there is no symtab node for the VAR_DECL.
22036
22037 2022-05-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
22038
22039 * gcov-io.cc (gcov_rewrite): Clear the file error status.
22040
22041 2022-05-02 Richard Biener <rguenther@suse.de>
22042
22043 PR tree-optimization/105437
22044 * tree-vect-slp.cc (vect_schedule_slp_node): Handle the
22045 case where last_stmt alters control flow.
22046
22047 2022-05-02 Richard Biener <rguenther@suse.de>
22048
22049 * dojump.cc (do_jump): Use CASE_CONVERT.
22050 * tree-ssa-dom.cc (edge_info::derive_equivalences): Likewise.
22051
22052 2022-05-02 Jakub Jelinek <jakub@redhat.com>
22053
22054 * system.h: Include initializer_list.
22055
22056 2022-05-01 Segher Boessenkool <segher@kernel.crashing.org>
22057
22058 * config/rs6000/constraints.md (Y constraint): Fix comment.
22059
22060 2022-05-01 Aldy Hernandez <aldyh@redhat.com>
22061
22062 * tree-ssanames.cc (set_range_info): Denormalize VR_VARYING to
22063 VR_RANGE before passing a piecewise range to set_range_info_raw.
22064
22065 2022-04-30 Patrick Palka <ppalka@redhat.com>
22066
22067 * gengtype.cc (adjust_field_tree_exp): Remove.
22068 (adjust_field_type): Don't handle the "tree_exp" special attribute.
22069 * tree-core.h (struct tree_exp): Remove "special" and "desc"
22070 attributes. Add "length" attribute.
22071
22072 2022-04-29 Martin Jambor <mjambor@suse.cz>
22073
22074 PR ipa/100413
22075 * cgraph.cc (cgraph_node::remove): Release body of the node this
22076 is clone_of if appropriate.
22077
22078 2022-04-29 Uroš Bizjak <ubizjak@gmail.com>
22079
22080 PR target/51954
22081 * config/i386/i386.md (adcl/neg -> sbb peephole): New peephole2.
22082
22083 2022-04-29 Richard Biener <rguenther@suse.de>
22084
22085 * gimple-expr.cc (is_gimple_condexpr): Adjust comment.
22086 (canonicalize_cond_expr_cond): Move here from gimple.cc,
22087 allow both COND_EXPR and GIMPLE_COND forms.
22088 * gimple-expr.h (canonicalize_cond_expr_cond): Declare.
22089 * gimple.cc (canonicalize_cond_expr_cond): Remove here.
22090 * gimple.h (canonicalize_cond_expr_cond): Likewise.
22091 * gimple-loop-versioning.cc (loop_versioning::version_loop):
22092 Use is_gimple_condexpr_for_cond.
22093 * tree-parloops.cc (gen_parallel_loop): Likewise.
22094 * tree-ssa-ifcombine.cc (ifcombine_ifandif): Check for
22095 a proper cond expr after canonicalize_cond_expr_cond.
22096 Use is_gimple_condexpr_for_cond where appropriate.
22097 * tree-ssa-loop-manip.cc (determine_exit_conditions): Likewise.
22098 * tree-vect-loop-manip.cc (slpeel_add_loop_guard): Likewise.
22099
22100 2022-04-29 Richard Biener <rguenther@suse.de>
22101
22102 * gimple-iterator.h (gsi_after_labels): Add overload for
22103 gimple_seq.
22104 (gsi_start_1): Rename to gsi_start and take a reference.
22105 (gsi_last_1): Likewise.
22106 * gimple-iterator.cc (gsi_for_stmt): Use gsi_start.
22107 * omp-low.cc (lower_rec_input_clauses): Likewise.
22108 (lower_omp_scan): Likewise.
22109
22110 2022-04-29 Richard Biener <rguenther@suse.de>
22111
22112 PR tree-optimization/105431
22113 * tree-ssa-math-opts.cc (powi_as_mults_1): Make n unsigned.
22114 (powi_as_mults): Use absu_hwi.
22115 (gimple_expand_builtin_powi): Remove now pointless n != -n
22116 check.
22117
22118 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
22119
22120 * range-op.cc (empty_range_varying): Move to range-op.h.
22121 (range_true): Move to range.h.
22122 (range_false): Same.
22123 (range_true_and_false): Same.
22124 (enum bool_range_state): Move to range-op.h.
22125 (relop_early_resolve): Same.
22126 (operator_equal::op1_op2_relation): Abstract code to...
22127 (equal_op1_op2_relation): ...here.
22128 (operator_not_equal::op1_op2_relation): Abstract code to...
22129 (not_equal_op1_op2_relation): ...here.
22130 (operator_lt::op1_op2_relation): Abstract code to...
22131 (lt_op1_op2_relation): ...here.
22132 (operator_le::op1_op2_relation): Abstract code to...
22133 (le_op1_op2_relation): ...here.
22134 (operator_gt::op1_op2_relation): Abstract code to...
22135 (gt_op1_op2_relation): ...here.
22136 (operator_ge::op1_op2_relation): Abstract code to...
22137 (ge_op1_op2_relation): ...here.
22138 (class range_op_table): Move to range-op.h.
22139 * range-op.h (equal_op1_op2_relation): Moved from range-op.cc.
22140 (not_equal_op1_op2_relation): Same.
22141 (lt_op1_op2_relation): Same.
22142 (le_op1_op2_relation): Same.
22143 (gt_op1_op2_relation): Same.
22144 (ge_op1_op2_relation): Same.
22145 (enum bool_range_state): Same.
22146 (get_bool_state): Same.
22147 (empty_range_varying): Same.
22148 (relop_early_resolve): Same.
22149 (class range_op_table): Same.
22150 * range.h (range_true): Same.
22151 (range_false): Same.
22152 (range_true_and_false): Same.
22153
22154 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
22155
22156 * gimple-fold.cc (size_must_be_zero_p): Use reference
22157 instead of pointer
22158 * gimple-ssa-evrp-analyze.cc
22159 (evrp_range_analyzer::record_ranges_from_incoming_edge): Rename
22160 intersect to legacy_verbose_intersect.
22161 * ipa-cp.cc (ipcp_vr_lattice::meet_with_1): Use reference instead
22162 of pointer.
22163 * tree-ssa-dom.cc (dom_jt_simplifier::simplify): Use value_range
22164 instead of value_range_equiv.
22165 * tree-vrp.cc (extract_range_from_plus_minus_expr): Use reference
22166 instead of pointer.
22167 (find_case_label_range): Same.
22168 * value-range-equiv.cc (value_range_equiv::intersect): Rename to...
22169 (value_range_equiv::legacy_verbose_intersect): ...this.
22170 (value_range_equiv::union_): Rename to...
22171 (value_range_equiv::legacy_verbose_union_): ...this.
22172 * value-range-equiv.h (class value_range_equiv): Rename union and
22173 intersect to legacy_verbose_{intersect,union}.
22174 * value-range.cc (irange::union_): Rename to...
22175 (irange::legacy_verbose_union_): ...this.
22176 (irange::intersect): Rename to...
22177 (irange::legacy_verbose_intersect): ...this.
22178 * value-range.h (irange::union_): Rename union_ to
22179 legacy_verbose_union.
22180 (irange::intersect): Rename intersect to legacy_verbose_intersect.
22181 * vr-values.cc (vr_values::update_value_range): Same.
22182 (vr_values::extract_range_for_var_from_comparison_expr): Same.
22183 (vr_values::extract_range_from_cond_expr): Rename union_ to
22184 legacy_verbose_union.
22185 (vr_values::extract_range_from_phi_node): Same.
22186
22187 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
22188
22189 * gimple-ssa-evrp-analyze.cc
22190 (evrp_range_analyzer::set_ssa_range_info): Use *range_info methods
22191 that take a range.
22192 * gimple-ssa-sprintf.cc (try_substitute_return_value): Same.
22193 * ipa-prop.cc (ipcp_update_vr): Same.
22194 * tree-inline.cc (remap_ssa_name): Same.
22195 * tree-ssa-copy.cc (fini_copy_prop): Same.
22196 * tree-ssa-math-opts.cc (optimize_spaceship): Same.
22197 * tree-ssa-phiopt.cc (replace_phi_edge_with_variable): Same.
22198 * tree-ssa-pre.cc (insert_into_preds_of_block): Same.
22199 * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Same.
22200 * tree-ssa-strlen.cc (set_strlen_range): Same.
22201 (strlen_pass::handle_builtin_string_cmp): Same.
22202 * tree-ssanames.cc (set_range_info): Make static.
22203 (duplicate_ssa_name_range_info): Make static and add a new variant
22204 calling the static.
22205 * tree-ssanames.h (set_range_info): Remove version taking wide ints.
22206 (duplicate_ssa_name_range_info): Remove version taking a
22207 range_info_def and replace with a version taking SSA names.
22208 * tree-vect-loop-manip.cc (vect_gen_vector_loop_niters): Use *range_info methods
22209 that take a range.
22210 (vect_do_peeling): Same.
22211 * tree-vrp.cc (vrp_asserts::remove_range_assertions): Same.
22212 * vr-values.cc (simplify_truth_ops_using_ranges): Same.
22213
22214 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
22215
22216 * value-range.h (irange::irange): Use set_undefined.
22217
22218 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
22219
22220 * gimple-range-cache.h (non_null_ref::adjust_range): Do not use
22221 irange::intersect (wide_int, wide_int).
22222 * gimple-range-fold.cc (adjust_pointer_diff_expr): Same.
22223 (adjust_imagpart_expr): Same.
22224 * value-range.h (irange::intersect (wide_int, wide_int)): Make
22225 private.
22226
22227 2022-04-29 Richard Biener <rguenther@suse.de>
22228
22229 PR tree-optimization/104322
22230 * tree-vect-loop.cc (vectorizable_reduction): Remove dead code.
22231
22232 2022-04-29 Richard Biener <rguenther@suse.de>
22233
22234 PR middle-end/105376
22235 * tree.cc (build_real): Special case dconst* arguments
22236 for decimal floating point types.
22237
22238 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
22239
22240 * doc/gcov.texi (Profiling and Test Coverage in Freestanding
22241 Environments): New section.
22242
22243 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
22244
22245 * doc/gcov-tool.texi: Document merge-stream subcommand.
22246 * doc/invoke.texi (fprofile-info-section): Mention merge-stream
22247 subcommand of gcov-tool.
22248 * gcov-tool.cc (gcov_profile_merge_stream): Declare.
22249 (print_merge_stream_usage_message): New.
22250 (merge_stream_usage): Likewise.
22251 (do_merge_stream): Likewise.
22252 (print_usage): Call print_merge_stream_usage_message().
22253 (main): Call do_merge_stream() to execute merge-stream subcommand.
22254
22255 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
22256
22257 * gcov-io.cc (gcov_file_error): New enum.
22258 (gcov_var): Use gcov_file_error enum for the error member.
22259 (gcov_open): Use GCOV_FILE_NO_ERROR.
22260 (gcov_close): Use GCOV_FILE_WRITE_ERROR.
22261 (gcov_write): Likewise.
22262 (gcov_write_unsigned): Likewise.
22263 (gcov_write_string): Likewise.
22264 (gcov_read_bytes): Set error code if EOF is reached.
22265 (gcov_read_counter): Use GCOV_FILE_COUNTER_OVERFLOW.
22266
22267 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
22268
22269 * gcov-io.cc (GCOV_MODE_STDIN): Define.
22270 (gcov_position): For gcov-tool, return calculated position if file is
22271 stdin.
22272 (gcov_open): For gcov-tool, use stdin if filename is NULL.
22273 (gcov_close): For gcov-tool, do not close stdin.
22274 (gcov_read_bytes): For gcov-tool, update position if file is stdin.
22275 (gcov_sync): For gcov-tool, discard input if file is stdin.
22276
22277 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
22278
22279 * doc/invoke.texi (fprofile-info-section): Mention
22280 __gcov_filename_to_gcfn(). Use "freestanding" to match with C11
22281 standard language. Fix minor example code issues.
22282 * gcov-io.h (GCOV_FILENAME_MAGIC): Define and document.
22283
22284 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
22285
22286 * gcov-io.cc (gcov_seek): Make it static.
22287 * gcov-io.h (struct gcov_summary): Do not mention gcov_seek().
22288
22289 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
22290
22291 * gcov-tool.cc (gcov_do_dump): Add mode parameter.
22292 (gcov_output_files): Open files for reading and writing.
22293
22294 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
22295
22296 * gcov-io.cc (gcov_open): Always use the mode parameter.
22297 * gcov-io.h (gcov_open): Declare it unconditionally.
22298
22299 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
22300
22301 * gcov-tool.cc (gcov_profile_merge): Adjust return type.
22302 (profile_merge): Allow merging of directories which contain no profile
22303 files.
22304
22305 2022-04-28 David Malcolm <dmalcolm@redhat.com>
22306
22307 * doc/invoke.texi (-fdump-analyzer-feasibility): Mention the
22308 fpath.txt output.
22309
22310 2022-04-28 Jakub Jelinek <jakub@redhat.com>
22311
22312 * config/i386/i386-expand.cc (ix86_expand_int_movcc): Create a
22313 temporary only if out overlaps compare_op, not when it overlaps
22314 op0 or op1.
22315
22316 2022-04-28 Jakub Jelinek <jakub@redhat.com>
22317
22318 PR lto/105399
22319 * cgraph.cc (cgraph_node::verify_node): Don't verify
22320 semantic_interposition flag against
22321 opt_for_fn (decl, flag_semantic_interposition) for aliases in lto1.
22322
22323 2022-04-28 Jakub Jelinek <jakub@redhat.com>
22324
22325 PR target/105331
22326 * config/i386/i386.cc (ix86_gimplify_va_arg): Mark va_arg_tmp
22327 temporary TREE_ADDRESSABLE before trying to gimplify ADDR_EXPR
22328 of it.
22329
22330 2022-04-28 Jonathan Wakely <jwakely@redhat.com>
22331
22332 * doc/install.texi (Configuration): Remove misleading text
22333 around LE PowerPC Linux multilibs.
22334
22335 2022-04-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
22336
22337 PR d/103528
22338 * doc/install.texi (Tools/packages necessary for building GCC)
22339 (GDC): Document libphobos requirement.
22340 (Host/target specific installation notes for GCC, *-*-solaris2*):
22341 Document libphobos and GDC specifics.
22342
22343 2022-04-28 Richard Biener <rguenther@suse.de>
22344
22345 PR tree-optimization/105219
22346 * tree-vect-loop.cc (vect_transform_loop): Disable
22347 special code narrowing the vectorized epilogue max
22348 iterations when peeling for alignment or gaps was in effect.
22349
22350 2022-04-28 Xi Ruoyao <xry111@mengyan1223.wang>
22351
22352 * config/loongarch/loongarch.cc
22353 (loongarch_flatten_aggregate_field): Ignore empty fields for
22354 RECORD_TYPE.
22355
22356 2022-04-27 Lulu Cheng <chenglulu@loongson.cn>
22357
22358 * config/loongarch/loongarch.md: Add fdiv define_expand template,
22359 then generate floating-point division and floating-point reciprocal
22360 instructions.
22361
22362 2022-04-27 Lulu Cheng <chenglulu@loongson.cn>
22363
22364 * config/loongarch/loongarch.md: Add '(clobber (mem:BLK (scratch)))'
22365 to PLV instruction templates.
22366
22367 2022-04-27 Richard Biener <rguenther@suse.de>
22368
22369 PR middle-end/104492
22370 * gimple-ssa-warn-access.cc
22371 (pass_waccess::warn_invalid_pointer): Exclude equality compare
22372 diagnostics for all kind of invalidations.
22373 (pass_waccess::check_dangling_uses): Fix post-dominator query.
22374 (pass_waccess::check_pointer_uses): Likewise.
22375
22376 2022-04-27 Andreas Krebbel <krebbel@linux.ibm.com>
22377
22378 PR target/102024
22379 * config/s390/s390-protos.h (s390_function_arg_vector): Remove
22380 prototype.
22381 * config/s390/s390.cc (s390_single_field_struct_p): New function.
22382 (s390_function_arg_vector): Invoke s390_single_field_struct_p.
22383 (s390_function_arg_float): Likewise.
22384
22385 2022-04-27 Jakub Jelinek <jakub@redhat.com>
22386
22387 PR sanitizer/105396
22388 * asan.cc (asan_redzone_buffer::emit_redzone_byte): Handle the case
22389 where offset is bigger than off but smaller than m_prev_offset + 32
22390 bits by pushing one or more 0 bytes. Sink the
22391 m_shadow_bytes.safe_push (value); flush_if_full (); statements from
22392 all cases to the end of the function.
22393
22394 2022-04-27 Kewen Lin <linkw@linux.ibm.com>
22395
22396 PR target/105271
22397 * config/rs6000/rs6000-builtins.def (NEG_V2DI): Move to [power8-vector]
22398 stanza.
22399
22400 2022-04-26 Thomas Schwinge <thomas@codesourcery.com>
22401
22402 * config/gcn/gcn.cc (gcn_print_lds_decl): Make "gang-private
22403 data-share memory exhausted" error more verbose.
22404
22405 2022-04-26 Martin Liska <mliska@suse.cz>
22406
22407 PR lto/105364
22408 * lto-wrapper.cc (print_lto_docs_link): Use global_dc.
22409 (run_gcc): Parse OPT_fdiagnostics_urls_.
22410 (main): Initialize global_dc.
22411
22412 2022-04-26 Jakub Jelinek <jakub@redhat.com>
22413
22414 PR rtl-optimization/105314
22415 * ifcvt.cc (noce_try_store_flag_mask): Don't require that the non-zero
22416 operand is equal to if_info->x, instead use the non-zero operand
22417 as one of the operands of AND with if_info->x as target.
22418
22419 2022-04-26 Jakub Jelinek <jakub@redhat.com>
22420
22421 PR tree-optimization/105374
22422 * tree-ssa-reassoc.cc (eliminate_redundant_comparison): Punt if
22423 !fold_convertible_p rather than assuming fold_convert must succeed.
22424
22425 2022-04-26 Jakub Jelinek <jakub@redhat.com>
22426
22427 PR target/105367
22428 * config/i386/i386.cc (ix86_veclibabi_svml, ix86_veclibabi_acml): Pass
22429 el_mode == DFmode ? double_type_node : float_type_node instead of
22430 TREE_TYPE (type_in) as first arguments to mathfn_built_in.
22431
22432 2022-04-25 David Malcolm <dmalcolm@redhat.com>
22433
22434 PR analyzer/104308
22435 * gimple-fold.cc (gimple_fold_builtin_memory_op): Explicitly set
22436 the location of new_stmt in all places that don't already set it,
22437 whether explicitly, or via a call to gsi_replace.
22438
22439 2022-04-25 Paul A. Clarke <pc@us.ibm.com>
22440
22441 * doc/extend.texi (Other Builtins): Correct reference to 'modff'.
22442
22443 2022-04-25 Andrew MacLeod <amacleod@redhat.com>
22444
22445 PR tree-optimization/105276
22446 * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Include
22447 existing global range with calculated value.
22448
22449 2022-04-25 Richard Biener <rguenther@suse.de>
22450
22451 PR tree-optimization/105368
22452 * tree-ssa-math-opts.cc (powi_cost): Use absu_hwi.
22453
22454 2022-04-25 Richard Biener <rguenther@suse.de>
22455
22456 PR tree-optimization/100810
22457 * tree-ssa-loop-ivopts.cc (struct iv_cand): Add involves_undefs flag.
22458 (find_ssa_undef): New function.
22459 (add_candidate_1): Avoid adding derived candidates with
22460 undefined SSA names and mark the original ones.
22461 (determine_group_iv_cost_generic): Reject rewriting
22462 uses with a different IV when that involves undefined SSA names.
22463
22464 2022-04-25 Steven G. Kargl <kargl@gcc.gnu.org>
22465
22466 PR target/89125
22467 * config/freebsd.h: Define TARGET_LIBC_HAS_FUNCTION to be
22468 bsd_libc_has_function.
22469 * targhooks.cc (bsd_libc_has_function): New function.
22470 Expand the supported math functions to inclue C99 libm.
22471 * targhooks.h (bsd_libc_has_function): New Prototype.
22472
22473 2022-04-25 Richard Biener <rguenther@suse.de>
22474
22475 PR rtl-optimization/105231
22476 * combine.cc (distribute_notes): Assert that a REG_EH_REGION
22477 with landing pad > 0 is from i3. Put any REG_EH_REGION note
22478 on i3 or drop it if the insn can not trap.
22479 (try_combine): Ensure that we can merge REG_EH_REGION notes
22480 with non-call exceptions. Ensure we are not splitting a
22481 trapping part of an insn with non-call exceptions when there
22482 is any REG_EH_REGION note to preserve.
22483
22484 2022-04-25 Hongyu Wang <hongyu.wang@intel.com>
22485
22486 PR target/105339
22487 * config/i386/avx512fintrin.h (_mm512_scalef_round_pd):
22488 Add parentheses for parameters and djust format.
22489 (_mm512_mask_scalef_round_pd): Ditto.
22490 (_mm512_maskz_scalef_round_pd): Ditto.
22491 (_mm512_scalef_round_ps): Ditto.
22492 (_mm512_mask_scalef_round_ps): Ditto.
22493 (_mm512_maskz_scalef_round_ps): Ditto.
22494 (_mm_scalef_round_sd): Use _mm_undefined_pd.
22495 (_mm_scalef_round_ss): Use _mm_undefined_ps.
22496 (_mm_mask_scalef_round_sd): New macro.
22497 (_mm_mask_scalef_round_ss): Ditto.
22498 (_mm_maskz_scalef_round_sd): Ditto.
22499 (_mm_maskz_scalef_round_ss): Ditto.
22500
22501 2022-04-23 Jakub Jelinek <jakub@redhat.com>
22502
22503 PR target/105338
22504 * config/i386/i386-expand.cc (ix86_expand_int_movcc): Handle
22505 op0 == cst1 ? op0 : op3 like op0 == cst1 ? cst1 : op3 for the non-cmov
22506 cases.
22507
22508 2022-04-22 Segher Boessenkool <segher@kernel.crashing.org>
22509
22510 PR target/105334
22511 * config/rs6000/rs6000.md (pack<mode> for FMOVE128): New expander.
22512 (pack<mode> for FMOVE128): Rename and split the insn_and_split to...
22513 (pack<mode>_hard for FMOVE128): ... this...
22514 (pack<mode>_soft for FMOVE128): ... and this.
22515
22516 2022-04-22 Paul A. Clarke <pc@us.ibm.com>
22517
22518 * doc/extend.texi: Correct "This" to "These".
22519
22520 2022-04-22 Jakub Jelinek <jakub@redhat.com>
22521
22522 PR rtl-optimization/105333
22523 * rtlanal.cc (replace_rtx): Use simplify_subreg or
22524 simplify_unary_operation if CONST_SCALAR_INT_P rather than just
22525 CONST_INT_P.
22526
22527 2022-04-21 Segher Boessenkool <segher@kernel.crashing.org>
22528
22529 PR target/103197
22530 PR target/102146
22531 * config/rs6000/rs6000.md (zero_extendqi<mode>2 for EXTQI): Disparage
22532 the "Z" alternatives in {l,st}{f,xs}iwzx.
22533 (zero_extendhi<mode>2 for EXTHI): Ditto.
22534 (zero_extendsi<mode>2 for EXTSI): Ditto.
22535 (*movsi_internal1): Ditto.
22536 (*mov<mode>_internal1 for QHI): Ditto.
22537 (movsd_hardfloat): Ditto.
22538
22539 2022-04-21 Martin Liska <mliska@suse.cz>
22540
22541 * configure.ac: Enable compressed debug sections for mold
22542 linker.
22543 * configure: Regenerate.
22544
22545 2022-04-21 Jakub Jelinek <jakub@redhat.com>
22546
22547 PR debug/105203
22548 * emit-rtl.cc (emit_copy_of_insn_after): Don't call mark_jump_label
22549 on DEBUG_INSNs.
22550
22551 2022-04-20 Richard Biener <rguenther@suse.de>
22552
22553 PR tree-optimization/104912
22554 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
22555 the cost model check to a separate BB to make sure it is
22556 checked first and not combined with other version checks.
22557
22558 2022-04-20 Richard Biener <rguenther@suse.de>
22559
22560 PR tree-optimization/105312
22561 * gimple-isel.cc (gimple_expand_vec_cond_expr): Query both
22562 VCOND and VCONDU for EQ and NE.
22563
22564 2022-04-20 Jan Hubicka <hubicka@ucw.cz>
22565
22566 PR ipa/103818
22567 * ipa-modref-tree.cc (modref_access_node::closer_pair_p): Use
22568 poly_offset_int to avoid overflow.
22569 (modref_access_node::update2): likewise.
22570
22571 2022-04-20 Jakub Jelinek <jakub@redhat.com>
22572
22573 PR ipa/105306
22574 * cgraph.cc (cgraph_node::create): Set node->semantic_interposition
22575 to opt_for_fn (decl, flag_semantic_interposition).
22576 * cgraphclones.cc (cgraph_node::create_clone): Copy over
22577 semantic_interposition flag.
22578
22579 2022-04-19 Sergei Trofimovich <siarheit@google.com>
22580
22581 PR gcov-profile/105282
22582 * value-prof.cc (stream_out_histogram_value): Allow negative counts
22583 on HIST_TYPE_INDIR_CALL.
22584
22585 2022-04-19 Jakub Jelinek <jakub@redhat.com>
22586
22587 PR target/105257
22588 * config/sparc/sparc.cc (epilogue_renumber): If ORIGINAL_REGNO,
22589 use gen_raw_REG instead of gen_rtx_REG and copy over also
22590 ORIGINAL_REGNO. Use return 0; instead of /* fallthrough */.
22591
22592 2022-04-19 Richard Biener <rguenther@suse.de>
22593
22594 PR tree-optimization/104010
22595 PR tree-optimization/103941
22596 * tree-vect-slp.cc (vect_bb_slp_scalar_cost): When
22597 we run into stmts in patterns continue walking those
22598 for uses outside of the vectorized region instead of
22599 marking the lane live.
22600
22601 2022-04-18 Hans-Peter Nilsson <hp@axis.com>
22602
22603 * doc/install.texi <CRIS>: Remove references to removed websites and
22604 adjust for cris-*-elf being the only remaining toolchain.
22605
22606 2022-04-18 Hans-Peter Nilsson <hp@axis.com>
22607
22608 * doc/invoke.texi <CRIS>: Remove references to options for removed
22609 subtarget cris-axis-linux-gnu and tweak wording accordingly.
22610
22611 2022-04-16 Gerald Pfeifer <gerald@pfeifer.com>
22612
22613 * doc/install.texi (Specific): Adjust mingw-w64 download link.
22614
22615 2022-04-15 Hongyu Wang <hongyu.wang@intel.com>
22616
22617 * config/i386/smmintrin.h: Correct target pragma from sse4.1
22618 and sse4.2 to crc32 for crc32 intrinsics.
22619
22620 2022-04-14 Indu Bhagat <indu.bhagat@oracle.com>
22621
22622 PR debug/105089
22623 * ctfc.cc (ctf_dvd_ignore_insert): New function.
22624 (ctf_dvd_ignore_lookup): Likewise.
22625 (ctf_add_variable): Keep track of non-defining decl DIEs.
22626 (new_ctf_container): Initialize the new hash-table.
22627 (ctfc_delete_container): Empty hash-table.
22628 * ctfc.h (struct ctf_container): Add new hash-table.
22629 (ctf_dvd_ignore_lookup): New declaration.
22630 (ctf_add_variable): Add additional argument.
22631 * ctfout.cc (ctf_dvd_preprocess_cb): Skip adding CTF variable
22632 record for non-defining decl for which a defining decl exists
22633 in the same TU.
22634 (ctf_preprocess): Defer updating the number of global objts
22635 until here.
22636 (output_ctf_header): Use ctfc_vars_list_count as some CTF
22637 variables may not make it to the final output.
22638 (output_ctf_vars): Likewise.
22639 * dwarf2ctf.cc (gen_ctf_variable): Skip generating CTF variable
22640 if this is known to be a non-defining decl DIE.
22641
22642 2022-04-14 Indu Bhagat <indu.bhagat@oracle.com>
22643
22644 * ctfc.h (struct ctf_container): Introduce a new member.
22645 * ctfout.cc (ctf_list_add_ctf_vars): Use it instead of static
22646 variable.
22647
22648 2022-04-14 Jakub Jelinek <jakub@redhat.com>
22649
22650 PR target/105247
22651 * simplify-rtx.cc (simplify_const_binary_operation): For shifts
22652 or rotates by VOIDmode constant integer shift count use word_mode
22653 for the operand if int_mode is narrower than word.
22654
22655 2022-04-14 Robin Dapp <rdapp@linux.ibm.com>
22656
22657 * config/s390/s390.cc (s390_get_sched_attrmask): Add z16.
22658 (s390_get_unit_mask): Likewise.
22659 (s390_is_fpd): Likewise.
22660 (s390_is_fxd): Likewise.
22661 * config/s390/s390.h (s390_tune_attr): Set max tune level to z16.
22662 * config/s390/s390.md (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15):
22663 Add z16.
22664 (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15,z16):
22665 Likewise.
22666 * config/s390/3931.md: New file.
22667
22668 2022-04-13 Richard Sandiford <richard.sandiford@arm.com>
22669
22670 PR tree-optimization/105254
22671 * config/aarch64/aarch64.cc
22672 (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
22673 loop_vec_info as argument. Restrict the unroll factor to values
22674 that divide the VF.
22675 (aarch64_vector_costs::finish_cost): Update call accordingly.
22676
22677 2022-04-13 Richard Biener <rguenther@suse.de>
22678
22679 PR tree-optimization/105263
22680 * tree-ssa-reassoc.cc (try_special_add_to_ops): Do not consume
22681 negates in multiplication chains with DFP.
22682
22683 2022-04-13 Jakub Jelinek <jakub@redhat.com>
22684
22685 PR middle-end/105253
22686 * tree.cc (tree_builtin_call_types_compatible_p): If PROP_gimple,
22687 use useless_type_conversion_p checks instead of TYPE_MAIN_VARIANT
22688 comparisons or tree_nop_conversion_p checks.
22689
22690 2022-04-13 Hongyu Wang <hongyu.wang@intel.com>
22691
22692 PR target/103069
22693 * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop):
22694 Add missing set to target_val at pause label.
22695
22696 2022-04-13 Jakub Jelinek <jakub@redhat.com>
22697
22698 PR target/105234
22699 * attribs.cc (decl_attributes): Don't set
22700 DECL_FUNCTION_SPECIFIC_TARGET if target_option_default_node is
22701 NULL.
22702
22703 2022-04-13 Richard Biener <rguenther@suse.de>
22704
22705 PR tree-optimization/105250
22706 * fold-const.cc (fold_convertible_p): Revert
22707 r12-7979-geaaf77dd85c333, instead check for size equality
22708 of the vector types involved.
22709
22710 2022-04-13 Richard Biener <rguenther@suse.de>
22711
22712 Revert:
22713 2022-04-13 Richard Biener <rguenther@suse.de>
22714
22715 PR tree-optimization/104912
22716 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
22717 the cost model check to a separate BB to make sure it is
22718 checked first and not combined with other version checks.
22719
22720 2022-04-13 Richard Biener <rguenther@suse.de>
22721
22722 PR tree-optimization/104912
22723 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
22724 the cost model check to a separate BB to make sure it is
22725 checked first and not combined with other version checks.
22726
22727 2022-04-13 Jakub Jelinek <jakub@redhat.com>
22728
22729 * tree-scalar-evolution.cc (expression_expensive_p): Fix a comment typo.
22730
22731 2022-04-12 Antoni Boucher <bouanto@zoho.com>
22732
22733 PR jit/104072
22734 * reginfo.cc: New functions (clear_global_regs_cache,
22735 reginfo_cc_finalize) to avoid an issue where compiling the same
22736 code multiple times gives an error about assigning the same
22737 register to 2 global variables.
22738 * rtl.h: New function (reginfo_cc_finalize).
22739 * toplev.cc: Call it.
22740
22741 2022-04-12 Antoni Boucher <bouanto@zoho.com>
22742
22743 PR jit/104071
22744 * toplev.cc: Call the new function tree_cc_finalize in
22745 toplev::finalize.
22746 * tree.cc: New functions (clear_nonstandard_integer_type_cache
22747 and tree_cc_finalize) to clear the cache of non-standard integer
22748 types to avoid having issues with some optimizations of
22749 bitcast where the SSA_NAME will have a size of a cached
22750 integer type that should have been invalidated, causing a
22751 comparison of integer constant to fail.
22752 * tree.h: New function (tree_cc_finalize).
22753
22754 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
22755
22756 PR target/97348
22757 * config/nvptx/nvptx.h (ASM_SPEC): Don't set.
22758 * config/nvptx/nvptx.opt (misa): Adjust comment.
22759
22760 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
22761
22762 Revert:
22763 2022-03-03 Tom de Vries <tdevries@suse.de>
22764
22765 * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
22766
22767 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
22768
22769 Revert:
22770 2022-03-31 Tom de Vries <tdevries@suse.de>
22771
22772 * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
22773
22774 2022-04-12 Richard Biener <rguenther@suse.de>
22775
22776 PR ipa/104303
22777 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Do not
22778 include local escaped memory as obviously necessary stores.
22779
22780 2022-04-12 Richard Biener <rguenther@suse.de>
22781
22782 PR tree-optimization/105235
22783 * tree-ssa-math-opts.cc (execute_cse_conv_1): Clean EH and
22784 return whether the CFG changed.
22785 (execute_cse_sincos_1): Adjust.
22786
22787 2022-04-12 Przemyslaw Wirkus <Przemyslaw.Wirkus@arm.com>
22788
22789 PR target/104144
22790 * config/arm/t-aprofile (MULTI_ARCH_OPTS_A): Remove Armv9-a options.
22791 (MULTI_ARCH_DIRS_A): Remove Armv9-a diretories.
22792 (MULTILIB_REQUIRED): Don't require Armv9-a libraries.
22793 (MULTILIB_MATCHES): Treat Armv9-a as equivalent to Armv8-a.
22794 (MULTILIB_REUSE): Remove remap rules for Armv9-a.
22795 * config/arm/t-multilib (v9_a_nosimd_variants): Delete.
22796 (MULTILIB_MATCHES): Remove mappings for v9_a_nosimd_variants.
22797
22798 2022-04-12 Richard Biener <rguenther@suse.de>
22799
22800 PR tree-optimization/105232
22801 * tree.cc (component_ref_size): Bail out for too large
22802 or non-constant sizes.
22803
22804 2022-04-12 Richard Biener <rguenther@suse.de>
22805
22806 PR tree-optimization/105226
22807 * tree-vect-loop-manip.cc (vect_loop_versioning): Verify
22808 we can split the exit of an outer loop we choose to version.
22809
22810 2022-04-12 Jakub Jelinek <jakub@redhat.com>
22811
22812 * config/i386/i386-expand.cc (ix86_emit_i387_sinh, ix86_emit_i387_cosh,
22813 ix86_emit_i387_tanh, ix86_emit_i387_asinh, ix86_emit_i387_acosh,
22814 ix86_emit_i387_atanh, ix86_emit_i387_log1p, ix86_emit_i387_round,
22815 ix86_emit_swdivsf, ix86_emit_swsqrtsf,
22816 ix86_expand_atomic_fetch_op_loop, ix86_expand_cmpxchg_loop):
22817 Formatting fix.
22818 * config/i386/i386.cc (warn_once_call_ms2sysv_xlogues): Likewise.
22819
22820 2022-04-12 Jakub Jelinek <jakub@redhat.com>
22821
22822 PR target/105214
22823 * config/i386/i386-expand.cc (ix86_emit_i387_log1p): Call
22824 do_pending_stack_adjust.
22825
22826 2022-04-12 Jakub Jelinek <jakub@redhat.com>
22827
22828 PR rtl-optimization/105211
22829 * builtins.cc (expand_builtin_int_roundingfn_2): If mathfn_built_in_1
22830 fails for TREE_TYPE (arg), retry it with
22831 TREE_VALUE (TYPE_ARG_TYPES (TREE_TYPE (fndecl))) and if even that
22832 fails, emit call normally.
22833
22834 2022-04-12 Andreas Krebbel <krebbel@linux.ibm.com>
22835
22836 * common/config/s390/s390-common.cc: Rename PF_ARCH14 to PF_Z16.
22837 * config.gcc: Add z16 as march/mtune switch.
22838 * config/s390/driver-native.cc (s390_host_detect_local_cpu):
22839 Recognize z16 with -march=native.
22840 * config/s390/s390-opts.h (enum processor_type): Rename
22841 PROCESSOR_ARCH14 to PROCESSOR_3931_Z16.
22842 * config/s390/s390.cc (PROCESSOR_ARCH14): Rename to ...
22843 (PROCESSOR_3931_Z16): ... throughout the file.
22844 (s390_processor processor_table): Add z16 as cpu string.
22845 * config/s390/s390.h (enum processor_flags): Rename PF_ARCH14 to
22846 PF_Z16.
22847 (TARGET_CPU_ARCH14): Rename to ...
22848 (TARGET_CPU_Z16): ... this.
22849 (TARGET_CPU_ARCH14_P): Rename to ...
22850 (TARGET_CPU_Z16_P): ... this.
22851 (TARGET_ARCH14): Rename to ...
22852 (TARGET_Z16): ... this.
22853 (TARGET_ARCH14_P): Rename to ...
22854 (TARGET_Z16_P): ... this.
22855 * config/s390/s390.md (cpu_facility): Rename arch14 to z16 and
22856 check TARGET_Z16 instead of TARGET_ARCH14.
22857 * config/s390/s390.opt: Add z16 to processor_type.
22858 * doc/invoke.texi: Document z16 and arch14.
22859
22860 2022-04-12 chenglulu <chenglulu@loongson.cn>
22861
22862 * config/loongarch/loongarch.cc: Fix bug for
22863 tmpdir-g++.dg-struct-layout-1/t033.
22864
22865 2022-04-11 Peter Bergner <bergner@linux.ibm.com>
22866
22867 PR target/104894
22868 * config/rs6000/rs6000.cc (rs6000_sibcall_aix): Handle pcrel sibcalls
22869 to longcall functions.
22870
22871 2022-04-11 Jason Merrill <jason@redhat.com>
22872
22873 * ipa-free-lang-data.cc (free_lang_data_in_decl): Fix typos.
22874
22875 2022-04-11 Segher Boessenkool <segher@kernel.crashing.org>
22876
22877 PR target/105213
22878 PR target/103623
22879 * config/rs6000/rs6000.md (unpack<mode>_nodm): Add m,r,i alternative.
22880
22881 2022-04-11 Jakub Jelinek <jakub@redhat.com>
22882
22883 PR tree-optimization/105218
22884 * tree-ssa-phiopt.cc (value_replacement): If middle_bb has
22885 more than one predecessor or phi's bb more than 2 predecessors,
22886 reset phi result uses instead of adding a debug temp.
22887
22888 2022-04-11 Kito Cheng <kito.cheng@sifive.com>
22889
22890 PR target/104853
22891 * config.gcc: Pass -misa-spec to arch-canonicalize and
22892 multilib-generator.
22893 * config/riscv/arch-canonicalize: Adding -misa-spec option.
22894 (SUPPORTED_ISA_SPEC): New.
22895 (arch_canonicalize): New argument `isa_spec`.
22896 Handle multiple ISA spec versions.
22897 * config/riscv/multilib-generator: Adding -misa-spec option.
22898
22899 2022-04-11 Kito Cheng <kito.cheng@sifive.com>
22900
22901 * config/riscv/arch-canonicalize: Add TODO item.
22902 (IMPLIED_EXT): Sync.
22903 (arch_canonicalize): Checking until no change.
22904
22905 2022-04-11 Tamar Christina <tamar.christina@arm.com>
22906
22907 PR target/105197
22908 * tree-vect-stmts.cc (vectorizable_condition): Prevent cond swap when
22909 not masked.
22910
22911 2022-04-11 Jason Merrill <jason@redhat.com>
22912
22913 PR c++/100370
22914 * pointer-query.cc (compute_objsize_r) [POINTER_PLUS_EXPR]: Require
22915 deref == -1.
22916
22917 2022-04-11 Jakub Jelinek <jakub@redhat.com>
22918
22919 PR tree-optimization/104639
22920 * tree-ssa-phiopt.cc: Include tree-ssa-propagate.h.
22921 (value_replacement): Optimize (x != cst1 ? x : cst2) != cst3
22922 into x != cst3.
22923
22924 2022-04-11 Jeff Law <jeffreyalaw@gmail.com>
22925
22926 * config/bfin/bfin.md (rol_one): Fix pattern to indicate the
22927 sign bit of the source ends up in CC.
22928
22929 2022-04-09 Jan Hubicka <hubicka@ucw.cz>
22930
22931 PR ipa/103376
22932 * cgraphunit.cc (cgraph_node::analyze): update semantic_interposition
22933 flag.
22934
22935 2022-04-09 Jan Hubicka <hubicka@ucw.cz>
22936
22937 * ipa-modref.cc (ipa_merge_modref_summary_after_inlining): Propagate
22938 nondeterministic and side_effects flags.
22939
22940 2022-04-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
22941
22942 PR target/105157
22943 * config.gcc: Shift ext_mask by TARGET_CPU_NBITS.
22944 * config/aarch64/aarch64.h (TARGET_CPU_NBITS): New macro.
22945 (TARGET_CPU_MASK): Likewise.
22946 (TARGET_CPU_DEFAULT): Use TARGET_CPU_NBITS.
22947 * config/aarch64/aarch64.cc (aarch64_get_tune_cpu): Use TARGET_CPU_MASK.
22948 (aarch64_get_arch): Likewise.
22949 (aarch64_override_options): Use TARGET_CPU_NBITS.
22950
22951 2022-04-08 Richard Biener <rguenther@suse.de>
22952
22953 PR tree-optimization/105198
22954 * tree-predcom.cc (find_looparound_phi): Check whether
22955 the found memory location of the entry value is clobbered
22956 inbetween the value we want to use and loop entry.
22957
22958 2022-04-08 Jakub Jelinek <jakub@redhat.com>
22959
22960 PR tree-optimization/105189
22961 * fold-const.cc (make_range_step): Fix up handling of
22962 (unsigned) x +[low, -] ranges for signed x if low fits into
22963 typeof (x).
22964
22965 2022-04-08 Richard Biener <rguenther@suse.de>
22966
22967 PR tree-optimization/105175
22968 * tree-vect-stmts.cc (vectorizable_operation): Suppress
22969 -Wvector-operation-performance if using emulated vectors.
22970 * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
22971 -Wvector-operation-performance when suppressed.
22972 (expand_vector_parallel): Likewise.
22973 (expand_vector_comparison): Likewise.
22974 (expand_vector_condition): Likewise.
22975 (lower_vec_perm): Likewise.
22976 (expand_vector_conversion): Likewise.
22977
22978 2022-04-07 Tamar Christina <tamar.christina@arm.com>
22979
22980 PR target/104409
22981 * config/aarch64/aarch64-builtins.cc (handle_arm_acle_h): New.
22982 (aarch64_general_init_builtins): Move LS64 code.
22983 * config/aarch64/aarch64-c.cc (aarch64_pragma_aarch64): Support
22984 arm_acle.h
22985 * config/aarch64/aarch64-protos.h (handle_arm_acle_h): New.
22986 * config/aarch64/arm_acle.h: Add pragma GCC aarch64 "arm_acle.h".
22987
22988 2022-04-07 Richard Biener <rguenther@suse.de>
22989 Jan Hubicka <hubicka@ucw.cz>
22990
22991 PR ipa/104303
22992 * tree-ssa-alias.h (ptr_deref_may_alias_global_p,
22993 ref_may_alias_global_p, ref_may_alias_global_p,
22994 stmt_may_clobber_global_p, pt_solution_includes_global): Add
22995 bool parameters indicating whether escaped locals should be
22996 considered global.
22997 * tree-ssa-structalias.cc (pt_solution_includes_global):
22998 When the new escaped_nonlocal_p flag is true also consider
22999 pt->vars_contains_escaped.
23000 * tree-ssa-alias.cc (ptr_deref_may_alias_global_p):
23001 Pass down new escaped_nonlocal_p flag.
23002 (ref_may_alias_global_p): Likewise.
23003 (stmt_may_clobber_global_p): Likewise.
23004 (ref_may_alias_global_p_1): Likewise. For decls also
23005 query the escaped solution if true.
23006 (ref_may_access_global_memory_p): Remove.
23007 (modref_may_conflict): Use ref_may_alias_global_p with
23008 escaped locals considered global.
23009 (ref_maybe_used_by_stmt_p): Adjust.
23010 * ipa-fnsummary.cc (points_to_local_or_readonly_memory_p):
23011 Likewise.
23012 * tree-ssa-dse.cc (dse_classify_store): Likewise.
23013 * trans-mem.cc (thread_private_new_memory): Likewise, but
23014 consider escaped locals global.
23015 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Likewise.
23016
23017 2022-04-07 Richard Biener <rguenther@suse.de>
23018
23019 PR tree-optimization/105185
23020 * tree-ssa-sccvn.cc (visit_reference_op_call): Simplify
23021 modref query again.
23022
23023 2022-04-07 Tamar Christina <tamar.christina@arm.com>
23024
23025 PR target/104049
23026 * config/aarch64/aarch64-simd.md
23027 (aarch64_reduc_plus_internal<mode>): Fix RTL and rename to...
23028 (reduc_plus_scal_<mode>): ... This.
23029 (reduc_plus_scal_v4sf): Moved.
23030 (aarch64_reduc_plus_internalv2si): Fix RTL and rename to...
23031 (reduc_plus_scal_v2si): ... This.
23032
23033 2022-04-07 Jakub Jelinek <jakub@redhat.com>
23034
23035 PR tree-optimization/102586
23036 * langhooks.h (struct lang_hooks_for_types): Add classtype_as_base
23037 langhook.
23038 * langhooks-def.h (LANG_HOOKS_CLASSTYPE_AS_BASE): Define.
23039 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add it.
23040 * gimple-fold.cc (clear_padding_type): Use ftype instead of
23041 TREE_TYPE (field) some more. For artificial FIELD_DECLs without
23042 name try the lang_hooks.types.classtype_as_base langhook and
23043 if it returns non-NULL, use that instead of ftype for recursive call.
23044
23045 2022-04-07 Jakub Jelinek <jakub@redhat.com>
23046
23047 PR tree-optimization/105150
23048 * tree.cc (tree_builtin_call_types_compatible_p): New function.
23049 (get_call_combined_fn): Use it.
23050
23051 2022-04-07 Richard Biener <rguenther@suse.de>
23052
23053 PR middle-end/105165
23054 * tree-complex.cc (expand_complex_asm): Sorry for asm goto
23055 _Complex outputs.
23056
23057 2022-04-07 liuhongt <hongtao.liu@intel.com>
23058
23059 * config/i386/sse.md (<sse2_avx2>_andnot<mode>3_mask):
23060 Removed.
23061 (<sse>_andnot<mode>3<mask_name>): Disable V*HFmode patterns
23062 for mask_applied.
23063 (<code><mode>3<mask_name>): Ditto.
23064 (*<code><mode>3<mask_name>): Ditto.
23065 (VFB_128_256): Adjust condition of V8HF/V16HFmode according to
23066 real instruction.
23067 (VFB_512): Ditto.
23068 (VFB): Ditto.
23069
23070 2022-04-06 Jakub Jelinek <jakub@redhat.com>
23071
23072 PR rtl-optimization/104985
23073 * combine.cc (struct undo): Add where.regno member.
23074 (do_SUBST_MODE): Rename to ...
23075 (subst_mode): ... this. Change first argument from rtx * into int,
23076 operate on regno_reg_rtx[regno] and save regno into where.regno.
23077 (SUBST_MODE): Remove.
23078 (try_combine): Use subst_mode instead of SUBST_MODE, change first
23079 argument from regno_reg_rtx[whatever] to whatever. For UNDO_MODE, use
23080 regno_reg_rtx[undo->where.regno] instead of *undo->where.r.
23081 (undo_to_marker): For UNDO_MODE, use regno_reg_rtx[undo->where.regno]
23082 instead of *undo->where.r.
23083 (simplify_set): Use subst_mode instead of SUBST_MODE, change first
23084 argument from regno_reg_rtx[whatever] to whatever.
23085
23086 2022-04-06 Jakub Jelinek <jakub@redhat.com>
23087
23088 PR target/105069
23089 * config/sh/sh.opt (mdiv=): Add Save.
23090
23091 2022-04-06 Martin Liska <mliska@suse.cz>
23092
23093 PR driver/105096
23094 * common.opt: Document properly based on what it does.
23095 * gcc.cc (display_help): Unify with what we have in common.opt.
23096 * opts.cc (common_handle_option): Do not print undocumented
23097 options.
23098
23099 2022-04-06 Xi Ruoyao <xry111@mengyan1223.wang>
23100
23101 * config/mips/mips.cc (mips_fpr_return_fields): Ignore
23102 cxx17_empty_base_field_p fields and set an indicator.
23103 (mips_return_in_msb): Adjust for mips_fpr_return_fields change.
23104 (mips_function_value_1): Inform psABI change about C++17 empty
23105 bases.
23106
23107 2022-04-06 Jakub Jelinek <jakub@redhat.com>
23108
23109 PR tree-optimization/105150
23110 * gimple.cc (gimple_builtin_call_types_compatible_p): Use
23111 builtin_decl_explicit here...
23112 (gimple_call_builtin_p, gimple_call_combined_fn): ... rather than
23113 here.
23114
23115 2022-04-06 Richard Biener <rguenther@suse.de>
23116
23117 PR tree-optimization/105173
23118 * tree-ssa-reassoc.cc (find_insert_point): Get extra
23119 insert_before output argument and compute it.
23120 (insert_stmt_before_use): Adjust.
23121 (rewrite_expr_tree): Likewise.
23122
23123 2022-04-06 Richard Biener <rguenther@suse.de>
23124
23125 PR ipa/105166
23126 * ipa-modref-tree.cc (modref_access_node::get_ao_ref ): Bail
23127 out for non-pointer arguments.
23128
23129 2022-04-06 Richard Biener <rguenther@suse.de>
23130
23131 PR tree-optimization/105163
23132 * tree-ssa-reassoc.cc (repropagate_negates): Avoid propagating
23133 negated abnormals.
23134
23135 2022-04-06 Jakub Jelinek <jakub@redhat.com>
23136
23137 PR tree-optimization/105150
23138 * gimple.cc (gimple_call_builtin_p, gimple_call_combined_fn):
23139 For BUILT_IN_NORMAL calls, call gimple_builtin_call_types_compatible_p
23140 preferrably on builtin_decl_explicit decl rather than fndecl.
23141 * tree-ssa-strlen.cc (valid_builtin_call): Don't call
23142 gimple_builtin_call_types_compatible_p here.
23143
23144 2022-04-06 Richard Sandiford <richard.sandiford@arm.com>
23145
23146 PR tree-optimization/103761
23147 * tree-vect-stmts.cc (check_load_store_for_partial_vectors): Replace
23148 the ncopies parameter with an slp_node parameter. Calculate the
23149 number of vectors based on it and vectype. Rename lambda to
23150 group_memory_nvectors.
23151 (vectorizable_store, vectorizable_load): Update calls accordingly.
23152
23153 2022-04-06 Martin Liska <mliska@suse.cz>
23154
23155 * doc/invoke.texi: Document it.
23156
23157 2022-04-06 Richard Biener <rguenther@suse.de>
23158
23159 PR tree-optimization/105148
23160 * tree-ssa-loop-ivopts.cc (idx_record_use): Walk raw operands
23161 2 and 3 of ARRAY_REFs.
23162
23163 2022-04-06 Roger Sayle <roger@nextmovesoftware.com>
23164
23165 * config/i386/sse.md (ANDNOT_MODE): New mode iterator for TF and V1TI.
23166 (*andnottf3): Replace with...
23167 (*andnot<mode>3): New define_insn using ANDNOT_MODE.
23168
23169 2022-04-06 Richard Biener <rguenther@suse.de>
23170
23171 PR tree-optimization/105142
23172 * gimple-fold.h (maybe_fold_and_comparisons): Add defaulted
23173 basic-block parameter.
23174 (maybe_fold_or_comparisons): Likewise.
23175 * gimple-fold.cc (follow_outer_ssa_edges): New.
23176 (maybe_fold_comparisons_from_match_pd): Use follow_outer_ssa_edges
23177 when an outer condition basic-block is specified.
23178 (and_comparisons_1, and_var_with_comparison,
23179 and_var_with_comparison_1, or_comparisons_1,
23180 or_var_with_comparison, or_var_with_comparison_1): Receive and pass
23181 down the outer condition basic-block.
23182 * tree-ssa-ifcombine.cc (ifcombine_ifandif): Pass down the
23183 basic-block of the outer condition.
23184
23185 2022-04-06 Kewen Lin <linkw@linux.ibm.com>
23186
23187 PR target/105002
23188 * config/rs6000/rs6000.cc (rs6000_maybe_emit_maxc_minc): Support more
23189 comparison codes UNLT/UNLE/UNGT/UNGE.
23190
23191 2022-04-05 David Malcolm <dmalcolm@redhat.com>
23192
23193 * doc/extend.texi (Common Function Attributes): Document that
23194 'access' does not imply 'nonnull'.
23195
23196 2022-04-05 Uroš Bizjak <ubizjak@gmail.com>
23197
23198 PR target/105139
23199 * config/i386/mmx.md (*movv2qi_internal):
23200 Change insn mode of alternative 5 to HF for TARGET_AVX512FP16.
23201
23202 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
23203
23204 * config/aarch64/aarch64.md (aarch64_cpymemdi): Turn into a
23205 define_expand and turn operands 0 and 1 from REGs to MEMs.
23206 (*aarch64_cpymemdi): New pattern.
23207 (aarch64_setmemdi): Turn into a define_expand and turn operand 0
23208 from a REG to a MEM.
23209 (*aarch64_setmemdi): New pattern.
23210 * config/aarch64/aarch64.cc (aarch64_expand_cpymem_mops): Use
23211 copy_to_mode_reg on all three registers. Replace the original
23212 MEM addresses rather than creating wild reads and writes.
23213 (aarch64_expand_setmem_mops): Likewise for the size and for the
23214 destination memory and address.
23215
23216 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
23217
23218 PR target/103147
23219 * config/aarch64/aarch64-protos.h (aarch64_simd_switcher): New class.
23220 * config/aarch64/aarch64-sve-builtins.h (sve_switcher): Inherit
23221 from aarch64_simd_switcher.
23222 * config/aarch64/aarch64-builtins.cc (aarch64_simd_tuple_modes):
23223 New variable.
23224 (aarch64_lookup_simd_builtin_type): Use it instead of TYPE_MODE.
23225 (register_tuple_type): Add more asserts. Expect the alignment
23226 of the structure to be subject to flag_pack_struct and
23227 maximum_field_alignment. Set aarch64_simd_tuple_modes.
23228 (aarch64_simd_switcher::aarch64_simd_switcher): New function.
23229 (aarch64_simd_switcher::~aarch64_simd_switcher): Likewise.
23230 (handle_arm_neon_h): Hold an aarch64_simd_switcher throughout.
23231 (aarch64_general_init_builtins): Hold an aarch64_simd_switcher
23232 while calling aarch64_init_simd_builtins.
23233 * config/aarch64/aarch64-sve-builtins.cc (sve_switcher::sve_switcher)
23234 (sve_switcher::~sve_switcher): Remove code now performed by
23235 aarch64_simd_switcher.
23236
23237 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
23238
23239 PR target/104897
23240 * config/aarch64/aarch64-sve-builtins.cc
23241 (function_resolver::infer_vector_or_tuple_type): Use error_n
23242 for "%d vectors" messages.
23243
23244 2022-04-05 Chung-Lin Tang <cltang@codesourcery.com>
23245
23246 * omp-low.cc (lower_omp_target): Use outer context looked-up 'var' as
23247 argument to lang_hooks.decls.omp_array_data, instead of 'ovar' from
23248 current clause.
23249
23250 2022-04-05 Richard Biener <rguenther@suse.de>
23251
23252 PR c/105151
23253 * passes.def (pass_walloca): Move early instance into
23254 pass_build_ssa_passes to make SSA form available.
23255
23256 2022-04-05 liuhongt <hongtao.liu@intel.com>
23257
23258 PR target/101908
23259 * config/i386/i386.cc (ix86_split_stlf_stall_load): New
23260 function
23261 (ix86_reorg): Call ix86_split_stlf_stall_load.
23262 * config/i386/i386.opt (-param=x86-stlf-window-ninsns=): New
23263 param.
23264
23265 2022-04-05 Alexandre Oliva <oliva@adacore.com>
23266
23267 * targhooks.cc (default_zero_call_used_regs): Attempt to group
23268 regs that the target refuses to use in their natural modes.
23269 (zcur_select_mode_rtx): New.
23270 * regs.h (struct target_regs): Add x_hard_regno_max_nregs.
23271 (hard_regno_max_nregs): Define.
23272 * reginfo.cc (init_reg_modes_target): Set hard_regno_max_nregs.
23273
23274 2022-04-04 Alex Coplan <alex.coplan@arm.com>
23275
23276 * doc/match-and-simplify.texi: Fix typos.
23277
23278 2022-04-04 Jakub Jelinek <jakub@redhat.com>
23279
23280 PR target/105144
23281 * config/aarch64/t-aarch64 (s-aarch64-tune-md): Do move-if-change
23282 only if configured with --enable-maintainer-mode, otherwise compare
23283 tmp-aarch64-tune.md with $(srcdir)/config/aarch64/aarch64-tune.md and
23284 if they differ, emit a message and fail.
23285
23286 2022-04-04 Jakub Jelinek <jakub@redhat.com>
23287
23288 PR target/105144
23289 * config/aarch64/t-aarch64 (s-mddeps): Depend on s-aarch64-tune-md.
23290 * config/aarch64/aarch64-tune.md: Regenerated.
23291
23292 2022-04-04 Richard Biener <rguenther@suse.de>
23293
23294 PR tree-optimization/105132
23295 * tree-vect-stmts.cc (vectorizable_operation): Check that
23296 the input vectors have the same number of elements.
23297
23298 2022-04-04 Richard Biener <rguenther@suse.de>
23299
23300 PR middle-end/105140
23301 * fold-const.cc (fold_convertible_p): Allow a TYPE_P arg.
23302
23303 2022-04-03 Jeff Law <jeffreyalaw@gmail.com>
23304
23305 PR target/104987
23306 * config/iq2000/iq2000.md (bbi): New attribute, default to no.
23307 (delay slot descripts): Use different delay slot description when
23308 the insn as the "bbi" attribute.
23309 (bbi, bbin patterns): Set the bbi attribute to yes.
23310
23311 2022-04-03 Jakub Jelinek <jakub@redhat.com>
23312
23313 PR target/105123
23314 * config/i386/i386-expand.cc (ix86_expand_vector_init_general): Avoid
23315 using word as target for expand_simple_binop when doing ASHIFT and
23316 IOR.
23317
23318 2022-04-02 Xi Ruoyao <xry111@mengyan1223.wang>
23319
23320 * config/mips/mips.cc (mips_function_arg): Check if DECL_SIZE is
23321 NULL before dereferencing it.
23322
23323 2022-04-01 Qing Zhao <qing.zhao@oracle.com>
23324
23325 * config/i386/i386.cc (zero_all_st_registers): Return the value of
23326 num_of_st.
23327 (ix86_zero_call_used_regs): Update zeroed_hardregs set according to
23328 the return value of zero_all_st_registers.
23329 * doc/tm.texi: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
23330 * function.cc (gen_call_used_regs_seq): Add an assertion.
23331 * target.def: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
23332
23333 2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang>
23334
23335 PR target/102024
23336 * config/mips/mips.cc (mips_function_arg): Ignore zero-width
23337 fields, and inform if it causes a psABI change.
23338
23339 2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang>
23340
23341 PR target/102024
23342 * config/mips/mips.cc (mips_fpr_return_fields): Detect C++
23343 zero-width bit-fields and set up an indicator.
23344 (mips_return_in_msb): Adapt for mips_fpr_return_fields change.
23345 (mips_function_value_1): Diagnose when the presense of a C++
23346 zero-width bit-field changes function returning in GCC 12.
23347
23348 2022-04-01 Jakub Jelinek <jakub@redhat.com>
23349
23350 PR tree-optimization/104645
23351 * tree-ssa-phiopt.cc (value_replacement): If assign has
23352 CONVERT_EXPR_CODE_P rhs_code, treat it like a preparation
23353 statement with constant evaluation.
23354
23355 2022-04-01 YunQiang Su <yunqiang.su@cipunited.com>
23356
23357 * config/mips/mips.cc (mips_expand_prologue):
23358 IPL is 8bit for MCU ASE.
23359
23360 2022-03-31 Bill Schmidt <wschmidt@linux.ibm.com>
23361
23362 PR target/104004
23363 * config/rs6000/rs6000-builtins.def (MFFSL): Mark nosoft.
23364 (MTFSB0): Likewise.
23365 (MTFSB1): Likewise.
23366 (SET_FPSCR_RN): Likewise.
23367 (SET_FPSCR_DRN): Mark nosoft and no32bit.
23368
23369 2022-03-31 Thomas Schwinge <thomas@codesourcery.com>
23370
23371 * doc/options.texi (Option file format): Clarifications around
23372 option definition records' help texts.
23373
23374 2022-03-31 Thomas Schwinge <thomas@codesourcery.com>
23375
23376 * optc-gen.awk <END>: Fix "Multiple different help strings" error
23377 diagnostic.
23378
23379 2022-03-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
23380
23381 * config/aarch64/aarch64.cc (aarch64_vector_costs): Define
23382 determine_suggested_unroll_factor and m_has_avg.
23383 (determine_suggested_unroll_factor): New function.
23384 (aarch64_vector_costs::add_stmt_cost): Check for a qualifying pattern
23385 to set m_nosve_pattern.
23386 (aarch64_vector_costs::finish_costs): Use
23387 determine_suggested_unroll_factor.
23388 * config/aarch64/aarch64.opt (aarch64-vect-unroll-limit): New.
23389 * doc/invoke.texi: (aarch64-vect-unroll-limit): Document new option.
23390
23391 2022-03-31 Martin Jambor <mjambor@suse.cz>
23392
23393 PR ipa/103083
23394 * ipa-prop.h (ipa_ancestor_jf_data): New flag keep_null;
23395 (ipa_get_jf_ancestor_keep_null): New function.
23396 * ipa-prop.cc (ipa_set_ancestor_jf): Initialize keep_null field of the
23397 ancestor function.
23398 (compute_complex_assign_jump_func): Pass false to keep_null
23399 parameter of ipa_set_ancestor_jf.
23400 (compute_complex_ancestor_jump_func): Pass true to keep_null
23401 parameter of ipa_set_ancestor_jf.
23402 (update_jump_functions_after_inlining): Carry over keep_null from the
23403 original ancestor jump-function or merge them.
23404 (ipa_write_jump_function): Stream keep_null flag.
23405 (ipa_read_jump_function): Likewise.
23406 (ipa_print_node_jump_functions_for_edge): Print the new flag.
23407 * ipa-cp.cc (class ipcp_bits_lattice): Make various getters const. New
23408 member function known_nonzero_p.
23409 (ipcp_bits_lattice::known_nonzero_p): New.
23410 (ipcp_bits_lattice::meet_with_1): New parameter drop_all_ones,
23411 observe it.
23412 (ipcp_bits_lattice::meet_with): Likewise.
23413 (propagate_bits_across_jump_function): Simplify. Pass true in
23414 drop_all_ones when it is necessary.
23415 (propagate_aggs_across_jump_function): Take care of keep_null
23416 flag.
23417 (ipa_get_jf_ancestor_result): Propagate NULL accross keep_null
23418 jump functions.
23419
23420 2022-03-31 Martin Jambor <mjambor@suse.cz>
23421
23422 PR ipa/102513
23423 * ipa-cp.cc (decide_whether_version_node): Skip scalar values
23424 which do not fit the known value_range.
23425
23426 2022-03-31 Martin Jambor <mjambor@suse.cz>
23427
23428 PR ipa/103171
23429 * ipa-prop.cc (propagate_controlled_uses): Add a LOAD reference
23430 always when an ADDR_EXPR constant is known to reach a load because
23431 of inlining, not just when removing an ADDR reference.
23432
23433 2022-03-31 Richard Biener <rguenther@suse.de>
23434
23435 PR tree-optimization/105109
23436 * tree-ssa.cc (execute_update_addresses_taken): Suppress
23437 diagnostics on the load of the other complex component.
23438
23439 2022-03-31 Tom de Vries <tdevries@suse.de>
23440
23441 * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
23442
23443 2022-03-31 Richard Biener <rguenther@suse.de>
23444
23445 PR rtl-optimization/105091
23446 * gimple-expr.cc (mark_addressable): Handle TARGET_MEM_REF
23447 bases.
23448
23449 2022-03-31 Richard Biener <rguenther@suse.de>
23450
23451 Revert:
23452 2021-09-13 Richard Earnshaw <rearnsha@arm.com>
23453
23454 PR target/102125
23455 * gimple-fold.c (gimple_fold_builtin_memory_op): Allow folding
23456 memcpy if the size is not more than MOVE_MAX * MOVE_RATIO.
23457
23458 2022-03-31 Sebastian Huber <sebastian.huber@embedded-brains.de>
23459
23460 * gcov-io.cc (gcov_read_string): Reword documentation comment.
23461
23462 2022-03-30 Bill Schmidt <wschmidt@linux.ibm.com>
23463
23464 * config/rs6000/rs6000-builtins.def (NEG_V16QI): Move to [altivec]
23465 stanza.
23466 (NEG_V4SF): Likewise.
23467 (NEG_V4SI): Likewise.
23468 (NEG_V8HI): Likewise.
23469 (NEG_V2DF): Move to [vsx] stanza.
23470 (NEG_V2DI): Likewise.
23471
23472 2022-03-30 Vladimir N. Makarov <vmakarov@redhat.com>
23473
23474 PR middle-end/105032
23475 * lra-assigns.cc (find_reload_regno_insns): Modify loop condition.
23476
23477 2022-03-30 Tom de Vries <tdevries@suse.de>
23478 Tobias Burnus <tobias@codesourcery.com>
23479
23480 * doc/invoke.texi (march): Document __PTX_SM__.
23481 (mptx): Document __PTX_ISA_VERSION_MAJOR__ and
23482 __PTX_ISA_VERSION_MINOR__.
23483
23484 2022-03-30 Jakub Jelinek <jakub@redhat.com>
23485
23486 PR sanitizer/105093
23487 * ubsan.cc (instrument_object_size): If t is equal to inner and
23488 is a decl other than global var, punt. When emitting call to
23489 UBSAN_OBJECT_SIZE ifn, make sure base is addressable.
23490
23491 2022-03-30 Jakub Jelinek <jakub@redhat.com>
23492
23493 PR tree-optimization/105094
23494 * gimple-ssa-store-merging.cc (mem_valid_for_store_merging): Punt if
23495 bitsize <= 0 rather than just == 0.
23496
23497 2022-03-30 Tom de Vries <tdevries@suse.de>
23498
23499 * doc/invoke.texi (misa, mptx): Update.
23500 (march, march-map): Add.
23501
23502 2022-03-30 Thomas Schwinge <thomas@codesourcery.com>
23503
23504 * opt-functions.awk (n_args): New function.
23505 (lang_enabled_by): Merge function into...
23506 * optc-gen.awk <END>: ... sole user here.
23507 Improve diagnostics.
23508
23509 2022-03-29 Marek Polacek <polacek@redhat.com>
23510 Jakub Jelinek <jakub@redhat.com>
23511
23512 PR middle-end/103597
23513 * gimplify.cc (collect_fallthrough_labels): Don't push UNUSED_LABEL_Ps
23514 into labels. Maybe set prev to the statement preceding UNUSED_LABEL_P.
23515 (gimplify_cond_expr): Set UNUSED_LABEL_P.
23516 * tree.h (UNUSED_LABEL_P): New.
23517
23518 2022-03-29 Michael Meissner <meissner@linux.ibm.com>
23519
23520 * config/rs6000/vsx.md (vsx_extract_<mode>): Allow destination to
23521 be any VSX register.
23522
23523 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
23524
23525 PR target/102024
23526 * config/aarch64/aarch64.cc (aapcs_vfp_sub_candidate): Handle
23527 zero-sized bit-fields. Detect cases where a warning may be needed.
23528 (aarch64_vfp_is_call_or_return_candidate): Emit a note if a
23529 zero-sized bit-field has caused parameter passing to change.
23530
23531 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
23532
23533 PR target/102024
23534 * config/arm/arm.cc (aapcs_vfp_sub_candidate): Handle zero-sized
23535 bit-fields. Detect cases where a warning may be needed.
23536 (aapcs_vfp_is_call_or_return_candidate): Emit a note if
23537 a zero-sized bit-field has caused parameter passing to change.
23538
23539 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
23540
23541 PR target/96882
23542 * config/arm/arm.cc (arm_get_pcs_model): Disable selection of
23543 ARM_PCS_AAPCS_LOCAL.
23544
23545 2022-03-29 Tom de Vries <tdevries@suse.de>
23546
23547 PR target/104857
23548 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Emit
23549 __PTX_ISA_VERSION_MAJOR__ and __PTX_ISA_VERSION_MINOR__.
23550 * config/nvptx/nvptx.cc (ptx_version_to_number): New function.
23551 * config/nvptx/nvptx-protos.h (ptx_version_to_number): Declare.
23552
23553 2022-03-29 Tom de Vries <tdevries@suse.de>
23554
23555 * config/nvptx/nvptx.opt (m64): Update help text to reflect that it
23556 is ignored.
23557
23558 2022-03-29 Tom de Vries <tdevries@suse.de>
23559
23560 PR target/104714
23561 * config/nvptx/nvptx.opt (march-map=*): Add aliases.
23562
23563 2022-03-29 Jan Hubicka <hubicka@ucw.cz>
23564
23565 * config/i386/i386-builtins.cc (ix86_vectorize_builtin_gather): Test
23566 TARGET_USE_GATHER_2PARTS and TARGET_USE_GATHER_4PARTS.
23567 * config/i386/i386.h (TARGET_USE_GATHER_2PARTS): New macro.
23568 (TARGET_USE_GATHER_4PARTS): New macro.
23569 * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): New tune
23570 (X86_TUNE_USE_GATHER_4PARTS): New tune
23571
23572 2022-03-29 Tom de Vries <tdevries@suse.de>
23573
23574 * config/nvptx/nvptx.opt (march): Add alias of misa.
23575
23576 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
23577 Lulu Cheng <chenglulu@loongson.cn>
23578
23579 * doc/install.texi: Add LoongArch options section.
23580 * doc/invoke.texi: Add LoongArch options section.
23581 * doc/md.texi: Add LoongArch options section.
23582
23583 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
23584 Lulu Cheng <chenglulu@loongson.cn>
23585
23586 * config/loongarch/loongarch-c.cc
23587
23588 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
23589 Lulu Cheng <chenglulu@loongson.cn>
23590
23591 * config/loongarch/larchintrin.h: New file.
23592 * config/loongarch/loongarch-builtins.cc: New file.
23593
23594 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
23595 Lulu Cheng <chenglulu@loongson.cn>
23596
23597 * config/host-linux.cc: Add LoongArch support.
23598 * config/loongarch/loongarch-protos.h: New file.
23599 * config/loongarch/loongarch-tune.h: Likewise.
23600 * config/loongarch/loongarch.cc: Likewise.
23601 * config/loongarch/loongarch.h: Likewise.
23602
23603 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
23604 Lulu Cheng <chenglulu@loongson.cn>
23605
23606 * config/loongarch/constraints.md: New file.
23607 * config/loongarch/generic.md: New file.
23608 * config/loongarch/la464.md: New file.
23609 * config/loongarch/loongarch-ftypes.def: New file.
23610 * config/loongarch/loongarch-modes.def: New file.
23611 * config/loongarch/loongarch.md: New file.
23612 * config/loongarch/predicates.md: New file.
23613 * config/loongarch/sync.md: New file.
23614
23615 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
23616 Lulu Cheng <chenglulu@loongson.cn>
23617
23618 * configure: Regenerate file.
23619
23620 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
23621 Lulu Cheng <chenglulu@loongson.cn>
23622
23623 * common/config/loongarch/loongarch-common.cc: New file.
23624 * config/loongarch/genopts/genstr.sh: New file.
23625 * config/loongarch/genopts/loongarch-strings: New file.
23626 * config/loongarch/genopts/loongarch.opt.in: New file.
23627 * config/loongarch/loongarch-str.h: New file.
23628 * config/loongarch/gnu-user.h: New file.
23629 * config/loongarch/linux.h: New file.
23630 * config/loongarch/loongarch-cpu.cc: New file.
23631 * config/loongarch/loongarch-cpu.h: New file.
23632 * config/loongarch/loongarch-def.c: New file.
23633 * config/loongarch/loongarch-def.h: New file.
23634 * config/loongarch/loongarch-driver.cc: New file.
23635 * config/loongarch/loongarch-driver.h: New file.
23636 * config/loongarch/loongarch-opts.cc: New file.
23637 * config/loongarch/loongarch-opts.h: New file.
23638 * config/loongarch/loongarch.opt: New file.
23639 * config/loongarch/t-linux: New file.
23640 * config/loongarch/t-loongarch: New file.
23641 * config.gcc: Add LoongArch support.
23642 * configure.ac: Add LoongArch support.
23643
23644 2022-03-29 Thomas Schwinge <thomas@codesourcery.com>
23645
23646 * opt-functions.awk (lang_enabled_by): Fix 'enabledby_negargs'
23647 typo.
23648
23649 2022-03-29 Richard Biener <rguenther@suse.de>
23650
23651 PR tree-optimization/105080
23652 * tree-ssa-strlen.cc (printf_strlen_execute): Always init
23653 loops and SCEV.
23654
23655 2022-03-28 Indu Bhagat <indu.bhagat@oracle.com>
23656
23657 * ctfout.cc (ctf_preprocess): Use ctfc_get_num_ctf_vars instead.
23658 (output_ctf_vars): Likewise.
23659
23660 2022-03-28 Jason Merrill <jason@redhat.com>
23661
23662 PR c++/59426
23663 * doc/extend.texi: Refer to __is_trivial instead of __is_pod.
23664
23665 2022-03-28 H.J. Lu <hjl.tools@gmail.com>
23666
23667 PR target/105068
23668 * config/i386/sse.md (*ssse3_pshufbv8qi3): Also replace "Yv" with
23669 "Yw" in clobber.
23670
23671 2022-03-28 Tom de Vries <tdevries@suse.de>
23672
23673 PR target/104818
23674 * config/nvptx/gen-opt.sh (ptx_isa): Improve help text.
23675 * config/nvptx/nvptx-gen.opt: Regenerate.
23676 * config/nvptx/nvptx.opt (misa, mptx, ptx_version): Improve help text.
23677 * config/nvptx/t-nvptx (s-nvptx-gen-opt): Add missing dependency on
23678 gen-opt.sh.
23679
23680 2022-03-28 David Malcolm <dmalcolm@redhat.com>
23681
23682 PR analyzer/104308
23683 * gimple-fold.cc (gimple_fold_builtin_memory_op): When optimizing
23684 to loads then stores, set the location of the new load stmt.
23685
23686 2022-03-28 Richard Biener <rguenther@suse.de>
23687
23688 PR tree-optimization/105070
23689 * tree-switch-conversion.h
23690 (bit_test_cluster::hoist_edge_and_branch_if_true): Add location
23691 argument.
23692 * tree-switch-conversion.cc
23693 (bit_test_cluster::hoist_edge_and_branch_if_true): Annotate
23694 cond with location.
23695 (bit_test_cluster::emit): Annotate all generated expressions
23696 with location.
23697
23698 2022-03-28 Andre Vieira <andre.simoesdiasvieira@arm.com>
23699
23700 * config/aarch64/aarch64-cores.def: Update Neoverse N2 core entry.
23701
23702 2022-03-28 liuhongt <hongtao.liu@intel.com>
23703
23704 PR target/105066
23705 * config/i386/sse.md (vec_set<mode>_0): Change attr "isa" of
23706 alternative 4 from sse4_noavx to noavx.
23707
23708 2022-03-28 Jakub Jelinek <jakub@redhat.com>
23709
23710 PR tree-optimization/105056
23711 * tree-predcom.cc (component::component): Initialize also comp_step.
23712
23713 2022-03-27 H.J. Lu <hjl.tools@gmail.com>
23714
23715 PR target/105068
23716 * config/i386/sse.md (*ssse3_pshufbv8qi3): Replace "Yv" with
23717 "Yw".
23718
23719 2022-03-26 Roger Sayle <roger@nextmovesoftware.com>
23720
23721 PR middle-end/104885
23722 * calls.cc (mark_stack_region_used): Check that the region
23723 is within the allocated size of stack_usage_map.
23724
23725 2022-03-26 Jakub Jelinek <jakub@redhat.com>
23726
23727 PR rtl-optimization/103775
23728 * recog.cc (check_invalid_inc_dec): New function.
23729 (insn_invalid_p): Return 1 if REG_INC operand overlaps
23730 any stored REGs.
23731
23732 2022-03-26 H.J. Lu <hjl.tools@gmail.com>
23733
23734 PR target/105058
23735 * config/i386/sse.md (loadiwkey): Replace "v" with "x".
23736 (aes<aesklvariant>u8): Likewise.
23737
23738 2022-03-26 H.J. Lu <hjl.tools@gmail.com>
23739
23740 PR target/105052
23741 * config/i386/sse.md (ssse3_ph<plusminus_mnemonic>wv4hi3):
23742 Replace "Yv" with "x".
23743 (ssse3_ph<plusminus_mnemonic>dv2si3): Likewise.
23744 (ssse3_psign<mode>3): Likewise.
23745
23746 2022-03-26 Hans-Peter Nilsson <hp@axis.com>
23747
23748 * reload.cc (find_reloads): Align comment with code where
23749 considering the intersection of register classes then tweaking the
23750 regclass for the current alternative or rejecting it.
23751
23752 2022-03-25 Christophe Lyon <christohe.lyon@arm.com>
23753
23754 PR target/104882
23755 Revert
23756 2021-06-11 Christophe Lyon <christophe.lyon@linaro.org>
23757
23758 * config/arm/mve.md (mve_vec_unpack<US>_lo_<mode>): Delete.
23759 (mve_vec_unpack<US>_hi_<mode>): Delete.
23760 (@mve_vec_pack_trunc_lo_<mode>): Delete.
23761 (mve_vmovntq_<supf><mode>): Remove '@' prefix.
23762 * config/arm/neon.md (vec_unpack<US>_hi_<mode>): Move back
23763 from vec-common.md.
23764 (vec_unpack<US>_lo_<mode>): Likewise.
23765 (vec_pack_trunc_<mode>): Rename from
23766 neon_quad_vec_pack_trunc_<mode>.
23767 * config/arm/vec-common.md (vec_unpack<US>_hi_<mode>): Delete.
23768 (vec_unpack<US>_lo_<mode>): Delete.
23769 (vec_pack_trunc_<mode>): Delete.
23770
23771 2022-03-25 Vladimir N. Makarov <vmakarov@redhat.com>
23772
23773 PR middle-end/104971
23774 * lra-lives.cc (process_bb_lives): Check hard_regs_live for hard
23775 regs to clear remove_p flag.
23776
23777 2022-03-25 Richard Biener <rguenther@suse.de>
23778
23779 PR tree-optimization/105053
23780 * tree-vect-loop.cc (vect_create_epilog_for_reduction): Pick
23781 the correct live-out stmt for a reduction chain.
23782
23783 2022-03-25 Richard Biener <rguenther@suse.de>
23784
23785 PR middle-end/105049
23786 * tree.cc (uniform_vector_p): Recurse for VECTOR_CST or
23787 CONSTRUCTOR first elements.
23788
23789 2022-03-25 Tobias Burnus <tobias@codesourcery.com>
23790
23791 PR analyzer/103533
23792 * doc/invoke.texi (Static Analyzer Options): Move
23793 @ignore block after @gccoptlist's '}' for 'make pdf'.
23794
23795 2022-03-25 David Malcolm <dmalcolm@redhat.com>
23796
23797 PR analyzer/104954
23798 * doc/invoke.texi (Static Analyzer Options): Add
23799 -fdump-analyzer-untracked.
23800
23801 2022-03-25 Avinash Sonawane <rootkea@gmail.com>
23802
23803 PR analyzer/103533
23804 * doc/invoke.texi: Document that enabling taint analyzer
23805 checker disables some warnings from `-fanalyzer`.
23806
23807 2022-03-24 Alexandre Oliva <oliva@adacore.com>
23808
23809 PR debug/104564
23810 * gimple-harden-conditionals.cc (detach_value): Keep temps
23811 anonymous.
23812
23813 2022-03-24 Alexandre Oliva <oliva@adacore.com>
23814
23815 PR middle-end/104975
23816 * gimple-harden-conditionals.cc
23817 (pass_harden_compares::execute): Force split in case of
23818 multiple edges.
23819
23820 2022-03-24 Jakub Jelinek <jakub@redhat.com>
23821
23822 PR c++/105035
23823 * fold-const.cc (operand_equal_p) <case COMPONENT_REF>: If either
23824 field0 or field1 is not a FIELD_DECL, return false.
23825
23826 2022-03-24 Richard Biener <rguenther@suse.de>
23827
23828 * tree-predcom.cc (chain::chain): Add CTOR.
23829 (component::component): Likewise.
23830 (pcom_worker::release_chain): Use delete.
23831 (release_components): Likewise.
23832 (pcom_worker::filter_suitable_components): Likewise.
23833 (pcom_worker::split_data_refs_to_components): Use new.
23834 (make_invariant_chain): Likewise.
23835 (make_rooted_chain): Likewise.
23836 (pcom_worker::combine_chains): Likewise.
23837 * tree-vect-loop.cc (vect_create_epilog_for_reduction):
23838 Make sure to release previously constructed scalar_results.
23839 * tree-vect-stmts.cc (vectorizable_load): Use auto_vec
23840 for vec_offsets.
23841 * vr-values.cc (simplify_using_ranges::~simplify_using_ranges):
23842 Release m_flag_set_edges.
23843
23844 2022-03-24 Siddhesh Poyarekar <siddhesh@gotplt.org>
23845
23846 PR tree-optimization/104970
23847 * tree-object-size.cc (parm_object_size): Restrict size
23848 computation scenarios to explicit access attributes.
23849
23850 2022-03-24 Kewen Lin <linkw@linux.ibm.com>
23851
23852 PR target/104967
23853 * config/rs6000/rs6000-c.cc (find_instance): Skip instances with null
23854 function types.
23855
23856 2022-03-23 Richard Biener <rguenther@suse.de>
23857
23858 PR target/102125
23859 * gimple-fold.cc (gimple_fold_builtin_memory_op): Allow the
23860 use of movmisalign when either the source or destination
23861 decl is properly aligned.
23862
23863 2022-03-23 Richard Biener <rguenther@suse.de>
23864
23865 PR rtl-optimization/105028
23866 * ira-color.cc (form_threads_from_copies): Remove unnecessary
23867 copying of the sorted_copies tail.
23868
23869 2022-03-23 Martin Liska <mliska@suse.cz>
23870
23871 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
23872 Use %qs in format.
23873 * config/rs6000/rs6000.cc (rs6000_option_override_internal):
23874 Reword the error message.
23875
23876 2022-03-23 liuhongt <hongtao.liu@intel.com>
23877
23878 PR target/104976
23879 * config/i386/sse.md (ssePSmodelower): New.
23880 (*avx_cmp<mode>3_ltint_not): Force_reg operand before
23881 lowpart_subreg to avoid NULL_RTX.
23882 (<avx512>_fmaddc_<mode>_mask1<round_expand_name>,
23883 <avx512>_fcmaddc_<mode>_mask1<round_expand_name>,
23884 fma_<mode>_fmaddc_bcst, fma_<mode>_fcmaddc_bcst,
23885 <avx512>_<complexopname>_<mode>_mask<round_name>,
23886 avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name>,
23887 avx512fp16_fcmaddcsh_v8hf_mask3<round_expand_name>,
23888 avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
23889 avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
23890 float<floatunssuffix><mode>v4hf2,
23891 float<floatunssuffix>v2div2hf2,
23892 fix<fixunssuffix>_truncv4hf<mode>2,
23893 fix<fixunssuffix>_truncv2hfv2di2, extendv4hf<mode>2,
23894 extendv2hfv2df2,
23895 trunc<mode>v4hf2,truncv2dfv2hf2,
23896 *avx512bw_permvar_truncv16siv16hi_1,
23897 *avx512bw_permvar_truncv16siv16hi_1_hf,
23898 *avx512f_permvar_truncv8siv8hi_1,
23899 *avx512f_permvar_truncv8siv8hi_1_hf,
23900 *avx512f_vpermvar_truncv8div8si_1,
23901 *avx512f_permvar_truncv32hiv32qi_1,
23902 *avx512f_permvar_truncv16hiv16qi_1,
23903 *avx512f_permvar_truncv4div4si_1,
23904 *avx512f_pshufb_truncv8hiv8qi_1,
23905 *avx512f_pshufb_truncv4siv4hi_1,
23906 *avx512f_pshufd_truncv2div2si_1,
23907 sdot_prod<mode>, avx2_pblend<ssemodesuffix>_1,
23908 ashrv2di3,ashrv2di3,usdot_prod<mode>): Ditto.
23909
23910 2022-03-22 Tom de Vries <tdevries@suse.de>
23911
23912 PR target/104925
23913 * config/nvptx/nvptx.md (define_insn "nvptx_uniform_warp_check"):
23914 Use % as register prefix.
23915
23916 2022-03-22 Tom de Vries <tdevries@suse.de>
23917
23918 * config/nvptx/nvptx.cc (nvptx_scalar_mode_supported_p)
23919 (nvptx_libgcc_floating_mode_supported_p): Only enable HFmode for
23920 mexperimental.
23921
23922 2022-03-22 Tom de Vries <tdevries@suse.de>
23923
23924 * config/nvptx/nvptx.opt (mexperimental): New option.
23925
23926 2022-03-22 Tom de Vries <tdevries@suse.de>
23927
23928 PR target/104957
23929 * config/nvptx/nvptx-protos.h (nvptx_asm_output_def_from_decls): Declare.
23930 * config/nvptx/nvptx.cc (write_fn_proto_1): Don't add function marker
23931 for alias.
23932 (SET_ASM_OP, NVPTX_ASM_OUTPUT_DEF): New macro def.
23933 (nvptx_asm_output_def_from_decls): New function.
23934 * config/nvptx/nvptx.h (ASM_OUTPUT_DEF): New macro def, define to
23935 gcc_unreachable ().
23936 (ASM_OUTPUT_DEF_FROM_DECLS): New macro def, define to
23937 nvptx_asm_output_def_from_decls.
23938 * config/nvptx/nvptx.opt (malias): New opt.
23939
23940 2022-03-22 Tom de Vries <tdevries@suse.de>
23941
23942 PR target/104916
23943 PR target/104783
23944 * config/nvptx/nvptx.md (define_expand "omp_simt_exit"): Emit warp
23945 sync (or uniform warp check for mptx < 6.0).
23946
23947 2022-03-22 Richard Biener <rguenther@suse.de>
23948
23949 PR tree-optimization/105012
23950 * tree-if-conv.cc (ifcvt_local_dce): Only call
23951 dse_classify_store when we have a VDEF.
23952
23953 2022-03-22 Martin Liska <mliska@suse.cz>
23954
23955 PR target/104902
23956 * config/nvptx/nvptx.cc (handle_ptx_version_option):
23957 Fix option wrapping in an error message.
23958
23959 2022-03-22 Martin Liska <mliska@suse.cz>
23960
23961 PR target/104903
23962 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
23963 Wrap const keyword.
23964
23965 2022-03-22 Martin Liska <mliska@suse.cz>
23966
23967 * config/v850/v850-c.cc (pop_data_area): Fix typo in pragma
23968 name.
23969
23970 2022-03-22 Martin Liska <mliska@suse.cz>
23971
23972 PR target/104898
23973 * config/rs6000/rs6000.cc (rs6000_option_override_internal):
23974 Use %qs instead of (%qs).
23975
23976 2022-03-22 Martin Liska <mliska@suse.cz>
23977
23978 PR target/104898
23979 * config/i386/i386-options.cc (ix86_option_override_internal):
23980 Use '%qs' instead of '(%qs)'.
23981
23982 2022-03-22 Martin Liska <mliska@suse.cz>
23983
23984 PR target/104898
23985 * config/aarch64/aarch64.cc (aarch64_handle_attr_arch):
23986 Use 'qs' and remove usage '(%qs)'.
23987 (aarch64_handle_attr_cpu): Likewise.
23988 (aarch64_handle_attr_tune): Likewise.
23989 (aarch64_handle_attr_isa_flags): Likewise.
23990
23991 2022-03-22 Tamar Christina <tamar.christina@arm.com>
23992 Andre Vieira <andre.simoesdiasvieira@arm.com>
23993
23994 * config/aarch64/aarch64.cc (neoversev1_regmove_cost): New tuning
23995 struct.
23996 (neoversev1_tunings): Use neoversev1_regmove_cost and update store_int
23997 cost.
23998 (neoverse512tvb_tunings): Likewise.
23999
24000 2022-03-22 Tamar Christina <tamar.christina@arm.com>
24001 Andre Vieira <andre.simoesdiasvieira@arm.com>
24002
24003 * config/aarch64/aarch64.cc (demeter_addrcost_table,
24004 demeter_regmove_cost, demeter_advsimd_vector_cost,
24005 demeter_sve_vector_cost, demeter_scalar_issue_info,
24006 demeter_advsimd_issue_info, demeter_sve_issue_info,
24007 demeter_vec_issue_info, demeter_vector_cost,
24008 demeter_tunings): New tuning structs.
24009 (aarch64_ve_op_count::rename_cycles_per_iter): Enable for demeter
24010 tuning.
24011 * config/aarch64/aarch64-cores.def: Add entry for demeter.
24012 * config/aarch64/aarch64-tune.md (tune): Add demeter to list.
24013
24014 2022-03-22 Tamar Christina <tamar.christina@arm.com>
24015 Andre Vieira <andre.simoesdiasvieira@arm.com>
24016
24017 * config/aarch64/aarch64-protos.h (struct cpu_memmov_cost): New struct.
24018 (struct tune_params): Change type of memmov_cost to use cpu_memmov_cost.
24019 * config/aarch64/aarch64.cc (aarch64_memory_move_cost): Update all
24020 tunings to use cpu_memmov_cost struct.
24021
24022 2022-03-22 Tamar Christina <tamar.christina@arm.com>
24023 Andre Vieira <andre.simoesdiasvieira@arm.com>
24024
24025 * config/aarch64/aarch64.cc (neoversen2_addrcost_table,
24026 neoversen2_regmove_cost, neoversen2_advsimd_vector_cost,
24027 neoversen2_sve_vector_cost, neoversen2_scalar_issue_info,
24028 neoversen2_advsimd_issue_info, neoversen2_sve_issue_info,
24029 neoversen2_vec_issue_info, neoversen2_tunings): New structs.
24030 (neoversen2_tunings): Use new structs and update tuning flags.
24031 (aarch64_vec_op_count::rename_cycles_per_iter): Enable for neoversen2
24032 tuning.
24033
24034 2022-03-22 Andre Vieira <andre.simoesdiasvieira@arm.com>
24035
24036 * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH9): Add FP16 feature
24037 bit.
24038
24039 2022-03-22 liuhongt <hongtao.liu@intel.com>
24040
24041 PR target/104982
24042 * config/i386/i386.md (*jcc_bt<mode>_mask): Extend the
24043 following splitter to reversed condition.
24044
24045 2022-03-22 Jakub Jelinek <jakub@redhat.com>
24046
24047 PR rtl-optimization/104989
24048 * calls.cc (expand_call): Don't set ECF_NORETURN in flags after
24049 sorry for passing too large argument, instead set sibcall_failure
24050 for pass == 0, or a new normal_failure flag otherwise. If
24051 normal_failure is set, don't assert all stack has been deallocated
24052 at the end and throw away the whole insn sequence.
24053
24054 2022-03-22 Qian Jianhua <qianjh@cn.fujitsu.com>
24055
24056 * print-tree.cc: Change array length
24057
24058 2022-03-22 Hongyu Wang <hongyu.wang@intel.com>
24059
24060 PR target/104978
24061 * config/i386/sse.md
24062 (avx512fp16_fmaddcsh_v8hf_mask1<round_expand_name):
24063 Use avx512f_movsf_mask instead of vmovaps or vblend, and
24064 force_reg before lowpart_subreg.
24065 (avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name): Likewise.
24066
24067 2022-03-21 H.J. Lu <hjl.tools@gmail.com>
24068
24069 PR target/105000
24070 * common/config/i386/i386-common.cc
24071 (OPTION_MASK_ISA2_GENERAL_REGS_ONLY_UNSET): Replace
24072 OPTION_MASK_ISA2_AVX512F_UNSET with OPTION_MASK_ISA2_SSE_UNSET.
24073
24074 2022-03-21 H.J. Lu <hjl.tools@gmail.com>
24075
24076 PR target/104998
24077 * common/config/i386/cpuinfo.h (get_available_features): Pass
24078 0x19 to __cpuid for bit_AESKLE. Enable FEATURE_AESKLE only if
24079 bit_AESKLE is set.
24080
24081 2022-03-21 Richard Sandiford <richard.sandiford@arm.com>
24082
24083 PR middle-end/104869
24084 * rtl-ssa/accesses.h (clobber_group::prev_clobber): Declare.
24085 (clobber_group::next_clobber): Likewise.
24086 (def_lookup::prev_def): Rename to...
24087 (def_lookup::last_def_of_prev_group): ...this.
24088 (def_lookup::next_def): Rename to...
24089 (def_lookup::first_def_of_next_group): ...this.
24090 (def_lookup::matching_or_prev_def): Rename to...
24091 (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
24092 (def_lookup::matching_or_next_def): Rename to...
24093 (def_lookup::matching_set_or_first_def_of_next_group): ...this.
24094 (def_lookup::prev_def): New function, taking the lookup insn as
24095 argument.
24096 (def_lookup::next_def): Likewise.
24097 * rtl-ssa/member-fns.inl (def_lookup::prev_def): Rename to...
24098 (def_lookup::last_def_of_prev_group): ...this.
24099 (def_lookup::next_def): Rename to...
24100 (def_lookup::first_def_of_next_group): ...this.
24101 (def_lookup::matching_or_prev_def): Rename to...
24102 (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
24103 (def_lookup::matching_or_next_def): Rename to...
24104 (def_lookup::matching_set_or_first_def_of_next_group): ...this.
24105 * rtl-ssa/movement.h (restrict_movement_for_dead_range): Update after
24106 above renaming.
24107 * rtl-ssa/accesses.cc (clobber_group::prev_clobber): New function.
24108 (clobber_group::next_clobber): Likewise.
24109 (def_lookup::prev_def): Likewise.
24110 (def_lookup::next_def): Likewise.
24111 (function_info::make_use_available): Pass the lookup insn to
24112 def_lookup::prev_def and def_lookup::next_def.
24113
24114 2022-03-21 Martin Liska <mliska@suse.cz>
24115
24116 * doc/invoke.texi: Document min-pagesize parameter.
24117
24118 2022-03-21 Richard Biener <rguenther@suse.de>
24119
24120 * tree-ssa-loop-niter.cc (estimate_numbers_of_iterations): Dump
24121 we are estimating niter of loop.
24122
24123 2022-03-21 Kito Cheng <kito.cheng@sifive.com>
24124
24125 * common/config/riscv/riscv-common.cc (riscv_ext_flag_table):
24126 Update flag name and mask name.
24127 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Define
24128 misc macro for vector extensions.
24129 * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): Rename to ...
24130 (MASK_VECTOR_ELEN_32): ... this.
24131 (MASK_VECTOR_EEW_64): Rename to ...
24132 (MASK_VECTOR_ELEN_64): ... this.
24133 (MASK_VECTOR_EEW_FP_32): Rename to ...
24134 (MASK_VECTOR_ELEN_FP_32): ... this.
24135 (MASK_VECTOR_EEW_FP_64): Rename to ...
24136 (MASK_VECTOR_ELEN_FP_64): ... this.
24137 (TARGET_VECTOR_ELEN_32): New.
24138 (TARGET_VECTOR_ELEN_64): Ditto.
24139 (TARGET_VECTOR_ELEN_FP_32): Ditto.
24140 (TARGET_VECTOR_ELEN_FP_64): Ditto.
24141 (TARGET_MIN_VLEN): Ditto.
24142 * config/riscv/riscv.opt (riscv_vector_eew_flags): Rename to ...
24143 (riscv_vector_elen_flags): ... this.
24144
24145 2022-03-21 Hongyu Wang <hongyu.wang@intel.com>
24146
24147 PR target/104977
24148 * config/i386/sse.md
24149 (avx512fp16_fma<complexopname>sh_v8hf<mask_scalarcz_name><round_scalarcz_name>):
24150 Correct round operand for intel dialect.
24151
24152 2022-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
24153
24154 * diagnostic.cc (diagnostic_cc_tests): Rename to...
24155 (c_diagnostic_cc_tests): ...this.
24156 * opt-problem.cc (opt_problem_cc_tests): Rename to...
24157 (c_opt_problem_cc_tests): ...this.
24158 * selftest-run-tests.cc (selftest::run_tests): No longer run
24159 opt_problem_cc_tests or diagnostic_cc_tests.
24160 * selftest.h (diagnostic_cc_tests): Remove declaration.
24161 (opt_problem_cc_tests): Likewise.
24162
24163 2022-03-19 Marc Nieper-Wißkirchen <marc@nieper-wisskirchen.de>
24164
24165 PR jit/63854
24166 * hash-traits.h (struct typed_const_free_remove): New.
24167 (struct free_string_hash): New.
24168 * pass_manager.h: Use free_string_hash.
24169 * passes.cc (pass_manager::register_pass_name): Use free_string_hash.
24170 (pass_manager::~pass_manager): Delete allocated m_name_to_pass_map.
24171
24172 2022-03-19 Jakub Jelinek <jakub@redhat.com>
24173
24174 PR middle-end/104971
24175 * config/i386/i386-expand.cc
24176 (ix86_expand_builtin) <case IX86_BUILTIN_READ_FLAGS>: If ignore,
24177 don't push/pop anything and just return const0_rtx.
24178
24179 2022-03-18 Vladimir N. Makarov <vmakarov@redhat.com>
24180
24181 PR rtl-optimization/104961
24182 * lra-assigns.cc (find_reload_regno_insns): Process reload pseudo clobber.
24183
24184 2022-03-18 Jason Merrill <jason@redhat.com>
24185
24186 * tree.h (IDENTIFIER_LENGTH): Add comment.
24187
24188 2022-03-18 Jakub Jelinek <jakub@redhat.com>
24189
24190 PR middle-end/99578
24191 PR middle-end/100680
24192 PR tree-optimization/100834
24193 * params.opt (--param=min-pagesize=): New parameter.
24194 * pointer-query.cc
24195 (compute_objsize_r) <case ARRAY_REF>: Formatting fix.
24196 (compute_objsize_r) <case INTEGER_CST>: Use maximum object size instead
24197 of zero for pointer constants equal or larger than min-pagesize.
24198
24199 2022-03-18 Tom de Vries <tdevries@suse.de>
24200
24201 * gimplify.cc (gimplify_omp_for): Set location using 'input_location'.
24202 Set gfor location only when dealing with a OMP_TASKLOOP.
24203
24204 2022-03-18 Tom de Vries <tdevries@suse.de>
24205
24206 * gimplify.cc (gimplify_omp_for): Set taskloop location.
24207
24208 2022-03-18 Tom de Vries <tdevries@suse.de>
24209
24210 PR target/104952
24211 * omp-low.cc (lower_rec_input_clauses): Make sure GOMP_SIMT_XCHG_BFLY
24212 is executed unconditionally.
24213
24214 2022-03-18 liuhongt <hongtao.liu@intel.com>
24215
24216 PR target/104974
24217 * config/i386/i386.md (*movhi_internal): Set attr type from HI
24218 to HF for alternative 12 under TARGET_AVX512FP16.
24219
24220 2022-03-18 Cui,Lili <lili.cui@intel.com>
24221
24222 PR target/104963
24223 * config/i386/i386.h (PTA_SAPPHIRERAPIDS): change it to base on ICX.
24224 * doc/invoke.texi: Update documents for Intel sapphirerapids.
24225
24226 2022-03-17 Roger Sayle <roger@nextmovesoftware.com>
24227
24228 PR target/86722
24229 PR tree-optimization/90356
24230 * config/i386/i386.md (*movtf_internal): Don't guard
24231 standard_sse_constant_p clause by optimize_function_for_size_p.
24232 (*movdf_internal): Likewise.
24233 (*movsf_internal): Likewise.
24234
24235 2022-03-17 Andrew MacLeod <amacleod@redhat.com>
24236
24237 PR tree-optimization/102943
24238 * gimple-range-cache.cc (ranger_cache::range_from_dom): Find range via
24239 dominators and apply intermediary outgoing edge ranges.
24240
24241 2022-03-17 Richard Biener <rguenther@suse.de>
24242
24243 PR tree-optimization/104960
24244 * passes.def: Add pass parameter to pass_sink_code, mark
24245 last one to unsplit edges.
24246 * tree-ssa-sink.cc (pass_sink_code::set_pass_param): New.
24247 (pass_sink_code::execute): Always execute TODO_cleanup_cfg
24248 when we need to unsplit edges.
24249
24250 2022-03-17 Jakub Jelinek <jakub@redhat.com>
24251
24252 PR middle-end/103984
24253 * gimplify.cc (gimplify_target_expr): Gimplify type sizes and
24254 TARGET_EXPR_INITIAL into a temporary sequence, then push clobbers
24255 and asan unpoisioning, then append the temporary sequence and
24256 finally the TARGET_EXPR_CLEANUP clobbers.
24257
24258 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
24259
24260 * config/i386/sse.md: Delete corrupt character/typo.
24261
24262 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
24263
24264 PR target/94680
24265 * config/i386/sse.md (sse2_movq128): New define_expand to
24266 preserve previous named instruction.
24267 (*sse2_movq128_<mode>): Renamed from sse2_movq128, and
24268 generalized to VI8F_128 (both V2DI and V2DF).
24269
24270 2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org>
24271
24272 PR tree-optimization/104941
24273 * tree-object-size.cc (size_for_offset): Make useless conversion
24274 check lighter and assign result of fold_convert to OFFSET.
24275
24276 2022-03-16 H.J. Lu <hjl.tools@gmail.com>
24277
24278 PR target/104890
24279 * config/i386/x86gprintrin.h: Also check _SOFT_FLOAT before
24280 pushing target("general-regs-only").
24281
24282 2022-03-16 Kito Cheng <kito.cheng@sifive.com>
24283
24284 * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
24285 Add version info for zk, zks and zkn.
24286
24287 2022-03-16 LiaoShihua <shihua@iscas.ac.cn>
24288
24289 * common/config/riscv/riscv-common.cc
24290 (riscv_combine_info): New.
24291 (riscv_subset_list::handle_combine_ext): Combine back into zk to
24292 maintain the canonical order in isa strings.
24293 (riscv_subset_list::parse): Ditto.
24294 * config/riscv/riscv-subset.h (handle_combine_ext): New.
24295
24296 2022-03-16 Richard Biener <rguenther@suse.de>
24297
24298 PR tree-optimization/102008
24299 * passes.def: Move the added code sinking pass before the
24300 preceeding phiopt pass.
24301
24302 2022-03-16 Patrick Palka <ppalka@redhat.com>
24303
24304 PR c++/96780
24305 * doc/invoke.texi (C++ Dialect Options): Document
24306 -ffold-simple-inlines.
24307
24308 2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org>
24309
24310 PR tree-optimization/104942
24311 * tree-object-size.cc (alloc_object_size): Remove STRIP_NOPS.
24312
24313 2022-03-16 Jakub Jelinek <jakub@redhat.com>
24314
24315 PR target/104910
24316 * config/aarch64/aarch64.cc (aarch64_load_symref_appropriately): Copy
24317 imm rtx.
24318
24319 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
24320 Richard Biener <rguenther@suse.de>
24321
24322 * gimple-match-head.cc (single_use): Implement inline using a
24323 single loop.
24324
24325 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
24326
24327 * match.pd (X CMP X -> true): Test tree_expr_maybe_nan_p
24328 instead of HONOR_NANS.
24329 (X LTGT X -> false): Enable if X is not tree_expr_maybe_nan_p, as
24330 this can't trap/signal.
24331
24332 2022-03-16 liuhongt <hongtao.liu@intel.com>
24333
24334 PR target/104946
24335 * config/i386/i386-builtin.def (BDESC): Add
24336 CODE_FOR_sse4_1_blendvpd for IX86_BUILTIN_BLENDVPD.
24337 * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
24338 __builtin_ia32_blendvpd w/o sse4.2
24339
24340 2022-03-15 Peter Bergner <bergner@linux.ibm.com>
24341
24342 PR target/104923
24343 * config/rs6000/predicates.md (mma_disassemble_output_operand): Restrict
24344 acceptable MEM addresses.
24345
24346 2022-03-15 Jakub Jelinek <jakub@redhat.com>
24347
24348 PR target/91229
24349 * config/riscv/riscv.cc (riscv_pass_aggregate_in_fpr_pair_p,
24350 riscv_pass_aggregate_in_fpr_and_gpr_p): Pass OPT_Wpsabi instead of 0
24351 to warning calls.
24352
24353 2022-03-15 Jakub Jelinek <jakub@redhat.com>
24354
24355 PR target/104890
24356 * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Use no-mmx,no-sse
24357 instead of general-regs-only.
24358
24359 2022-03-15 Roger Sayle <roger@nextmovesoftware.com>
24360 Marc Glisse <marc.glisse@inria.fr>
24361 Richard Biener <rguenther@suse.de>
24362
24363 PR tree-optimization/101895
24364 * match.pd (vec_same_elem_p): Handle CONSTRUCTOR_EXPR def.
24365 (plus (vec_perm (mult ...) ...) ...): New reordering simplification.
24366
24367 2022-03-15 Jakub Jelinek <jakub@redhat.com>
24368
24369 PR rtl-optimization/104814
24370 * ifcvt.cc (find_if_case_1, find_if_case_2): Punt if test_bb doesn't
24371 end with onlyjump_p. Assume BB_END (test_bb) is always non-NULL.
24372
24373 2022-03-15 Martin Sebor <msebor@redhat.com>
24374
24375 PR middle-end/104436
24376 * gimple-ssa-warn-access.cc (pass_waccess::check_dangling_stores):
24377 Check for warning suppression. Avoid by-value arguments transformed
24378 into by-transparent-reference.
24379
24380 2022-03-14 Roger Sayle <roger@nextmovesoftware.com>
24381 Uroš Bizjak <ubizjak@gmail.com>
24382
24383 * config/i386/i386.md (peephole2 xorl;movb -> movzbl): Disable
24384 transformation when *zero_extend<mode>si2 is not available.
24385
24386 2022-03-14 Xi Ruoyao <xry111@mengyan1223.wang>
24387
24388 * config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Define.
24389 * config/mips/mips.cc (mips_option_override): Make
24390 -fsanitize=address imply -fasynchronous-unwind-tables. This is
24391 needed by libasan for stack backtrace on MIPS.
24392 (mips_asan_shadow_offset): Return SUBTARGET_SHADOW_OFFSET.
24393
24394 2022-03-14 Jakub Jelinek <jakub@redhat.com>
24395
24396 PR debug/104778
24397 * lra.cc (lra_substitute_pseudo): For debug_p mode, simplify
24398 SUBREG, ZERO_EXTEND, SIGN_EXTEND, FLOAT or UNSIGNED_FLOAT if recursive
24399 call simplified the first operand into VOIDmode constant.
24400
24401 2022-03-14 Jakub Jelinek <jakub@redhat.com>
24402
24403 PR tree-optimization/102586
24404 * doc/extend.texi (__builtin_clear_padding): Clearify that for C++
24405 argument type should be pointer to trivially-copyable type unless it
24406 is address of a variable or parameter.
24407
24408 2022-03-14 Jakub Jelinek <jakub@redhat.com>
24409
24410 PR target/99754
24411 * config/i386/emmintrin.h (_mm_loadu_si32): Put loaded value into
24412 first rather than last element of the vector, use __m32_u to do
24413 a really unaligned load, use just 0 instead of (int)0.
24414 (_mm_loadu_si16): Put loaded value into first rather than last
24415 element of the vector, use __m16_u to do a really unaligned load,
24416 use just 0 instead of (short)0.
24417
24418 2022-03-14 Jakub Jelinek <jakub@redhat.com>
24419
24420 PR other/104899
24421 * config/bfin/bfin.cc (bfin_handle_longcall_attribute): Fix a typo
24422 in diagnostic message - cannott -> cannot. Use %< and %> around
24423 names of attribute. Avoid too long line.
24424 * range-op.cc (operator_logical_and::op1_range): Fix up a typo
24425 in comment - cannott -> cannot. Use 2 spaces after . instead of one.
24426
24427 2022-03-14 liuhongt <hongtao.liu@intel.com>
24428
24429 PR target/104666
24430 * config/i386/i386-expand.cc
24431 (ix86_check_builtin_isa_match): New func.
24432 (ix86_expand_builtin): Move code to
24433 ix86_check_builtin_isa_match and call it.
24434 * config/i386/i386-protos.h
24435 (ix86_check_builtin_isa_match): Declare.
24436 * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
24437 builtin into gimple when isa mismatches.
24438
24439 2022-03-13 Tobias Burnus <tobias@codesourcery.com>
24440
24441 * doc/invoke.texi: Fix typos.
24442 * doc/tm.texi.in: Remove duplicated word.
24443 * doc/tm.texi: Regenerate.
24444
24445 2022-03-12 Segher Boessenkool <segher@kernel.crashing.org>
24446
24447 PR target/104829
24448 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Don't output
24449 "ppc" and "ppc64" based on rs6000_cpu.
24450
24451 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
24452
24453 PR middle-end/100280
24454 PR middle-end/104892
24455 * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
24456 Remove special handling of 'GOMP_MAP_FORCE_TOFROM'.
24457
24458 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
24459
24460 PR middle-end/100280
24461 PR middle-end/104086
24462 * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
24463 Mark variables used in 'present' clauses as addressable.
24464 * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Gracefully
24465 handle duplicate 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
24466
24467 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
24468
24469 PR other/65095
24470 * tree-core.h (user_omp_claus_code_name): Declare function.
24471 * tree.cc (user_omp_clause_code_name): New function.
24472
24473 2022-03-12 Roger Sayle <roger@nextmovesoftware.com>
24474
24475 PR middle-end/98420
24476 * match.pd (minus @0 @0): Additional checks for -fno-rounding-math
24477 (the defaut) or -fno-signed-zeros.
24478
24479 2022-03-12 Michael Meissner <meissner@linux.ibm.com>
24480
24481 PR target/104868
24482 * config/rs6000/vsx.md (extendditi2): Use a 'b' constraint when
24483 moving from a GPR register to an Altivec register.
24484
24485 2022-03-11 Roger Sayle <roger@nextmovesoftware.com>
24486
24487 PR tree-optimization/98335
24488 * config/i386/i386.md (peephole2): Eliminate redundant insv.
24489 Combine movl followed by movb. Transform xorl followed by
24490 a suitable movb or movw into the equivalent movz[bw]l.
24491
24492 2022-03-11 Roger Sayle <roger@nextmovesoftware.com>
24493 Richard Biener <rguenther@suse.de>
24494
24495 PR tree-optimization/98335
24496 * builtins.cc (get_object_alignment_2): Export.
24497 * builtins.h (get_object_alignment_2): Likewise.
24498 * tree-ssa-alias.cc (ao_ref_alignment): New.
24499 * tree-ssa-alias.h (ao_ref_alignment): Declare.
24500 * tree-ssa-dse.cc (compute_trims): Improve logic deciding whether
24501 to align head/tail, writing more bytes but using fewer store insns.
24502
24503 2022-03-11 Richard Biener <rguenther@suse.de>
24504
24505 PR tree-optimization/104880
24506 * tree-ssa.cc (execute_update_address_taken): Remember if we
24507 optimistically made something not addressable and
24508 prepare to undo it.
24509
24510 2022-03-11 Richard Biener <rguenther@suse.de>
24511
24512 PR target/104762
24513 * config/i386/i386.cc (ix86_builtin_vectorization_cost): Do not
24514 cost the first lane of SSE pieces as inserts for vec_construct.
24515
24516 2022-03-10 Roger Sayle <roger@nextmovesoftware.com>
24517
24518 PR c++/84964
24519 * calls.cc (expand_call): Ignore stack adjustments after sorry.
24520
24521 2022-03-10 Vladimir N. Makarov <vmakarov@redhat.com>
24522
24523 PR target/103074
24524 * lra-constraints.cc (split_reg): Set up
24525 check_and_force_assignment_correctness_p when splitting hard
24526 register live range.
24527
24528 2022-03-10 Martin Jambor <mjambor@suse.cz>
24529
24530 PR ipa/104813
24531 * ipa-cp.cc (create_specialized_node): Move removal of
24532 self-recursive calls from callers vector before refrence
24533 adjustments.
24534
24535 2022-03-10 Richard Biener <rguenther@suse.de>
24536
24537 PR tree-optimization/102943
24538 * gimple-range-cache.cc (sbr_sparse_bitmap::bitvec):
24539 Make a bitmap_head.
24540 (sbr_sparse_bitmap::sbr_sparse_bitmap): Adjust and switch
24541 to tree view.
24542 (sbr_sparse_bitmap::set_bb_range): Adjust.
24543 (sbr_sparse_bitmap::get_bb_range): Likewise.
24544
24545 2022-03-10 Richard Biener <rguenther@suse.de>
24546
24547 PR tree-optimization/102943
24548 * tree-ssa-dom.cc (back_propagate_equivalences): Only
24549 populate the dominance bitmap if fast queries are not
24550 available. Use a tree view bitmap.
24551 (record_temporary_equivalences): Cache the dominance bitmap
24552 across all equivalences on the edge.
24553
24554 2022-03-10 Tom de Vries <tdevries@suse.de>
24555
24556 PR target/104840
24557 * config/nvptx/nvptx.md (define_attr "predicable"): Use no,yes instead
24558 of false,true.
24559
24560 2022-03-10 Tom de Vries <tdevries@suse.de>
24561
24562 PR target/104783
24563 * config/nvptx/nvptx.cc (nvptx_init_unisimt_predicate)
24564 (nvptx_output_unisimt_switch): Handle unisimt_outside_simt_predicate.
24565 (nvptx_get_unisimt_outside_simt_predicate): New function.
24566 (predicate_insn): New function, factored out of ...
24567 (nvptx_reorg_uniform_simt): ... here. Predicate all emitted insns.
24568 * config/nvptx/nvptx.h (struct machine_function): Add
24569 unisimt_outside_simt_predicate field.
24570 * config/nvptx/nvptx.md (define_insn "nvptx_warpsync")
24571 (define_insn "nvptx_uniform_warp_check"): Make predicable.
24572
24573 2022-03-10 Tom de Vries <tdevries@suse.de>
24574
24575 * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Handle unused
24576 result.
24577
24578 2022-03-10 Tom de Vries <tdevries@suse.de>
24579
24580 PR target/104815
24581 * config/nvptx/nvptx.cc (nvptx_print_operand): Handle 'x' operand
24582 modifier.
24583 * config/nvptx/nvptx.md: Use %x0 destination operand in atom insns.
24584
24585 2022-03-10 Tom de Vries <tdevries@suse.de>
24586
24587 * config/nvptx/nvptx.md (define_insn "atomic_fetch_<logic><mode>"):
24588 Emit atom.and.b64 instead of atom.b64.and.
24589
24590 2022-03-10 Tom de Vries <tdevries@suse.de>
24591
24592 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Move mptx=3.1 ...
24593 (MULTILIB_OPTIONS): ... here.
24594
24595 2022-03-10 Tom de Vries <tdevries@suse.de>
24596
24597 PR target/104758
24598 * config/nvptx/nvptx.opt (misa): Set default to sm_30.
24599 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Remove misa=sm_30.
24600
24601 2022-03-10 Thomas Schwinge <thomas@codesourcery.com>
24602
24603 PR middle-end/90115
24604 PR middle-end/102330
24605 PR middle-end/104774
24606 * omp-low.cc (oacc_privatization_candidate_p)
24607 (oacc_privatization_scan_clause_chain)
24608 (oacc_privatization_scan_decl_chain, lower_oacc_private_marker):
24609 Analyze 'lookup_decl'-translated DECL.
24610
24611 2022-03-10 Jakub Jelinek <jakub@redhat.com>
24612
24613 PR target/99708
24614 * config/rs6000/rs6000.h (enum rs6000_builtin_type_index): Remove
24615 RS6000_BTI_ptr_ieee128_float and RS6000_BTI_ptr_ibm128_float.
24616 (ptr_ieee128_float_type_node, ptr_ibm128_float_type_node): Remove.
24617 * config/rs6000/rs6000-builtin.cc (rs6000_type_string): Return
24618 "**NULL**" if type_node is NULL first. Handle
24619 ieee128_float_type_node.
24620 (rs6000_init_builtins): Don't initialize ptr_ieee128_float_type_node
24621 and ptr_ibm128_float_type_node. Set ibm128_float_type_node and
24622 ieee128_float_type_node to NULL rather than long_double_type_node if
24623 they aren't supported. Do support __ibm128 even if
24624 !TARGET_FLOAT128_TYPE when long double is double double.
24625 (rs6000_expand_builtin): Error if bif_is_ibm128 and
24626 !ibm128_float_type_node. Remap RS6000_BIF_{,UN}PACK_IF to
24627 RS6000_BIF_{,UN}PACK_TF much earlier and only use bif_is_ibm128 check
24628 for it.
24629 * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Define
24630 __SIZEOF_FLOAT128__ here and only iff __float128 macro is defined.
24631 (rs6000_cpu_cpp_builtins): Don't define __SIZEOF_FLOAT128__ here.
24632 Define __SIZEOF_IBM128__=16 if ieee128_float_type_node is non-NULL.
24633 Formatting fix.
24634 * config/rs6000/rs6000-gen-builtins.cc: Document ibm128 attribute.
24635 (struct attrinfo): Add isibm128 member.
24636 (TYPE_MAP_SIZE): Remove.
24637 (type_map): Use [] instead of [TYPE_MAP_SIZE]. For "if" use
24638 ibm128_float_type_node only if it is non-NULL, otherwise fall back
24639 to long_double_type_node. Remove "pif" entry.
24640 (parse_bif_attrs): Handle ibm128 attribute and print it for debugging.
24641 (write_decls): Output bif_ibm128_bit and bif_is_ibm128.
24642 (write_type_node): Use sizeof type_map / sizeof type_map[0]
24643 instead of TYPE_MAP_SIZE.
24644 (write_bif_static_init): Handle isibm128.
24645 * config/rs6000/rs6000-builtins.def: Document ibm128 attribute.
24646 (__builtin_pack_ibm128, __builtin_unpack_ibm128): Add ibm128
24647 attribute.
24648
24649 2022-03-09 Richard Biener <rguenther@suse.de>
24650
24651 * cfgexpand.cc (expand_gimple_asm): Special-case MEM_REF
24652 with non-decl operand, avoiding a copy.
24653
24654 2022-03-09 Jakub Jelinek <jakub@redhat.com>
24655
24656 PR target/104781
24657 * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Define for ia32.
24658
24659 2022-03-09 Richard Biener <rguenther@suse.de>
24660
24661 PR middle-end/104786
24662 * cfgexpand.cc (expand_asm_stmt): Do not generate a copy
24663 for VLAs without an upper size bound.
24664
24665 2022-03-09 Xi Ruoyao <xry111@mengyan1223.wang>
24666
24667 PR tree-optimization/104851
24668 * optabs-query.cc (supports_vec_convert_optab_p): Fix off-by-one
24669 error.
24670
24671 2022-03-09 Jakub Jelinek <jakub@redhat.com>
24672
24673 PR c/104711
24674 * doc/invoke.texi (-Wextra): Document that -Wshift-negative-value
24675 is enabled by it only for C++11 to C++17 rather than for C++03 or
24676 later.
24677 (-Wshift-negative-value): Similarly (except here we stated
24678 that it is enabled for C++11 or later).
24679
24680 2022-03-09 Jakub Jelinek <jakub@redhat.com>
24681
24682 PR rtl-optimization/104839
24683 * simplify-rtx.cc (simplify_unary_operation_1) <case SIGN_EXTEND>:
24684 Use SRP_SIGNED instead of incorrect 1 in SUBREG_PROMOTED_SET.
24685 (simplify_unary_operation_1) <case ZERO_EXTEND>: Use SRP_UNSIGNED
24686 instead of incorrect 0 in SUBREG_PROMOTED_SET.
24687
24688 2022-03-09 Xi Ruoyao <xry111@mengyan1223.wang>
24689
24690 PR target/104842
24691 * config/mips/mips.h (LUI_OPERAND): Cast the input to an unsigned
24692 value before adding an offset.
24693
24694 2022-03-08 Christophe Lyon <christophe.lyon@arm.com>
24695
24696 * config/arm/arm-builtins.cc
24697 (arm_binop_none_none_unone_qualifiers): Delete.
24698 (BINOP_NONE_NONE_UNONE_QUALIFIERS): Delete.
24699
24700 2022-03-08 Iain Sandoe <iain@sandoe.co.uk>
24701
24702 PR translation/104552
24703 * config/host-darwin.cc (darwin_gt_pch_get_address): Amend
24704 the PCH out of memory error message punctuation and wording.
24705
24706 2022-03-08 Marek Polacek <polacek@redhat.com>
24707
24708 PR rtl-optimization/104777
24709 * rtl.cc (classify_insn): For ASM_OPERANDS, return JUMP_INSN only if
24710 ASM_OPERANDS_LABEL_VEC has at least one element.
24711
24712 2022-03-08 H.J. Lu <hjl.tools@gmail.com>
24713
24714 PR target/104781
24715 * config/i386/i386.cc (ix86_expand_epilogue): Sorry if there is
24716 stack realignment or regparm nested function with EH return.
24717
24718 2022-03-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
24719
24720 PR target/104790
24721 * config/arm/arm.h (MVE_STN_LDW_MODE): New MACRO.
24722 * config/arm/arm.cc (mve_vector_mem_operand): Relax constraint on base
24723 register for non widening loads or narrowing stores.
24724
24725 2022-03-08 Eric Gallager <egallager@gcc.gnu.org>
24726
24727 PR translation/104552
24728 * params.opt: Fix typo.
24729
24730 2022-03-08 Richard Biener <rguenther@suse.de>
24731
24732 PR tree-optimization/84201
24733 * params.opt (-param=vect-induction-float): Add.
24734 * doc/invoke.texi (vect-induction-float): Document.
24735 * tree-vect-loop.cc (vectorizable_induction): Honor
24736 param_vect_induction_float.
24737
24738 2022-03-08 Martin Jambor <mjambor@suse.cz>
24739
24740 PR translation/104552
24741 * params.opt (ipa-cp-recursive-freq-factor): Remove repeated word
24742 "that" in the description.
24743
24744 2022-03-08 Richard Biener <rguenther@suse.de>
24745
24746 PR tree-optimization/104825
24747 * tree-ssa-sccvn.cc (visit_reference_op_call): Properly
24748 guard modref get_ao_ref on a pointer typed argument.
24749
24750 2022-03-08 liuhongt <hongtao.liu@intel.com>
24751
24752 * config/i386/sse.md (*vec_dupv4si): Disable memory operand
24753 for !TARGET_INTER_UNIT_MOVES_TO_VEC when prefer_for_speed.
24754
24755 2022-03-07 Jonathan Wakely <jwakely@redhat.com>
24756
24757 * doc/invoke.texi (C++ Modules): Remove anachronism.
24758
24759 2022-03-07 Martin Liska <mliska@suse.cz>
24760
24761 PR middle-end/104381
24762 * opts.cc (finish_options): If debug info is disabled
24763 (debug_info_level) and -fvar-tracking is unset, disable it.
24764
24765 2022-03-07 Jakub Jelinek <jakub@redhat.com>
24766
24767 * tree-ssa-propagate.cc: Fix up duplicated word issue in a comment.
24768 * config/riscv/riscv.cc: Likewise.
24769 * config/darwin.h: Likewise.
24770 * config/i386/i386.cc: Likewise.
24771 * config/aarch64/thunderx3t110.md: Likewise.
24772 * config/aarch64/fractional-cost.h: Likewise.
24773 * config/vax/vax.cc: Likewise.
24774 * config/rs6000/pcrel-opt.md: Likewise.
24775 * config/rs6000/predicates.md: Likewise.
24776 * ctfc.h: Likewise.
24777 * tree-ssa-uninit.cc: Likewise.
24778 * value-relation.h: Likewise.
24779 * gimple-range-gori.cc: Likewise.
24780 * ipa-polymorphic-call.cc: Likewise.
24781 * pointer-query.cc: Likewise.
24782 * ipa-sra.cc: Likewise.
24783 * internal-fn.cc: Likewise.
24784 * varasm.cc: Likewise.
24785 * gimple-ssa-warn-access.cc: Likewise.
24786
24787 2022-03-07 Martin Liska <mliska@suse.cz>
24788
24789 PR target/104794
24790 * config/arm/arm.cc (arm_option_override_internal): Add missing
24791 space.
24792
24793 2022-03-07 Richard Biener <rguenther@suse.de>
24794
24795 PR tree-optimization/104782
24796 * tree-vect-slp.cc (vectorize_slp_instance_root_stmt):
24797 Re-instantiate r10-5979 fix, add comment.
24798
24799 2022-03-07 Martin Liska <mliska@suse.cz>
24800
24801 PR target/104797
24802 * config/msp430/msp430.cc (msp430_expand_delay_cycles): Remove
24803 parenthesis from built-in name.
24804
24805 2022-03-07 Martin Liska <mliska@suse.cz>
24806
24807 PR target/104794
24808 * config/arm/arm.cc (arm_option_override_internal): Fix quoting
24809 of options in error messages.
24810 (arm_option_reconfigure_globals): Likewise.
24811
24812 2022-03-07 Martin Liska <mliska@suse.cz>
24813
24814 PR target/104794
24815 * config/arm/arm-builtins.cc (arm_expand_builtin): Reuse error
24816 message. Fix ARM_BUILTIN_WRORHI and ARM_BUILTIN_WRORH that can
24817 have only range [0,32].
24818
24819 2022-03-07 Jakub Jelinek <jakub@redhat.com>
24820
24821 PR target/104775
24822 * config/s390/s390.md (*cmp_and_trap_unsigned_int<mode>): Use
24823 S constraint instead of T in the last alternative.
24824
24825 2022-03-07 Martin Liska <mliska@suse.cz>
24826
24827 * plugin.cc (default_plugin_dir_name): Remove <dir> from error
24828 message.
24829
24830 2022-03-07 Martin Liska <mliska@suse.cz>
24831
24832 PR translation/90148
24833 * config/rs6000/rs6000.cc (rs6000_linux64_override_options): Put
24834 quote to a proper place.
24835 * plugin.cc (default_plugin_dir_name): Likewise.
24836
24837 2022-03-07 Martin Liska <mliska@suse.cz>
24838
24839 PR target/99297
24840 * config/rx/rx.cc (rx_expand_builtin_mvtc): Fix translation
24841 string.
24842
24843 2022-03-07 Jakub Jelinek <jakub@redhat.com>
24844
24845 PR target/104779
24846 * config/i386/sse.md (avx512dq_mul<mode>3<mask_name>): New
24847 define_expand pattern. Rename define_insn to ...
24848 (*avx512dq_mul<mode>3<mask_name>): ... this.
24849 (<code><mode>3_mask): New any_logic define_expand pattern.
24850 (<mask_codefor><code><mode>3<mask_name>): Rename to ...
24851 (*<code><mode>3<mask_name>): ... this.
24852
24853 2022-03-05 Jakub Jelinek <jakub@redhat.com>
24854
24855 * gimple-ssa-warn-access.cc (pass_waccess::use_after_inval_p): Remove
24856 visited bitmap and its use. Also punt on EDGE_ABNORMAL edges.
24857
24858 2022-03-05 Roger Sayle <roger@nextmovesoftware.com>
24859 Uroš Bizjak <ubizjak@gmail.com>
24860
24861 PR testsuite/104732
24862 * config/i386/i386.md (SWIM1248x): Renamed from SWIM1248s.
24863 Include DI mode unconditionally.
24864 (*anddi3_doubleword): Remove && TARGET_STV && TARGET_SSE2 condition,
24865 i.e. always split on !TARGET_64BIT.
24866 (*<any_or>di3_doubleword): Likewise.
24867 (*one_cmpldi2_doubleword): Likewise.
24868 (and<mode>3 expander): Update to use SWIM1248x from SWIM1248s.
24869 (<any_or><mode>3 expander): Likewise.
24870 (one_cmpl<mode>2 expander): Likewise.
24871
24872 2022-03-05 Michael Meissner <meissner@linux.ibm.com>
24873
24874 PR target/104698
24875 * config/rs6000/vsx.md (UNSPEC_MTVSRD_DITI_W1): Delete.
24876 (mtvsrdd_diti_w1): Delete.
24877 (extendditi2): Convert from define_expand to
24878 define_insn_and_split. Replace with code to deal with both GPR
24879 registers and with altivec registers.
24880
24881 2022-03-04 Segher Boessenkool <segher@kernel.crashing.org>
24882
24883 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Restructure a
24884 bit. Handle most older CPUs.
24885
24886 2022-03-04 Iain Sandoe <iain@sandoe.co.uk>
24887
24888 * config/darwin.cc (darwin_fold_builtin): Make fcode an int to
24889 avoid a mismatch with DECL_MD_FUNCTION_CODE().
24890
24891 2022-03-04 Iain Sandoe <iain@sandoe.co.uk>
24892
24893 PR target/104117
24894 * config/rs6000/darwin.md (@machopic_high_<mode>): New.
24895 (@machopic_low_<mode>): New.
24896 * config/rs6000/predicates.md (macho_pic_address): New.
24897 * config/rs6000/rs6000.cc (rs6000_legitimize_address): Do not
24898 apply the TLS processing to Darwin.
24899 * lra-constraints.cc (process_address_1): Revert the changes
24900 in r12-7209.
24901
24902 2022-03-04 Peter Bergner <bergner@linux.ibm.com>
24903
24904 PR target/87496
24905 PR target/104208
24906 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Make the
24907 ISA 2.06 requirement for -mabi=ieeelongdouble conditional on
24908 -mlong-double-128.
24909 Move the -mabi=ieeelongdouble and -mabi=ibmlongdouble error checking
24910 from here...
24911 * common/config/rs6000/rs6000-common.cc (rs6000_handle_option):
24912 ... to here.
24913
24914 2022-03-04 Jakub Jelinek <jakub@redhat.com>
24915
24916 PR middle-end/104529
24917 * gimplify.cc (gimplify_init_constructor): Clear TREE_READONLY
24918 on automatic objects which will be runtime initialized.
24919
24920 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
24921
24922 PR middle-end/100280
24923 PR middle-end/104132
24924 PR middle-end/104133
24925 * omp-low.cc (task_shared_vars): Rename to
24926 'make_addressable_vars'. Adjust all users.
24927 (scan_sharing_clauses) <OMP_CLAUSE_MAP> Use it for
24928 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' DECLs, too.
24929
24930 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
24931
24932 PR middle-end/100280
24933 * tree.h (OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE): New.
24934 * tree-core.h: Document it.
24935 * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Handle
24936 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
24937 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
24938 Set 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' instead of
24939 'TREE_ADDRESSABLE'.
24940
24941 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
24942
24943 PR middle-end/100280
24944 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
24945 Add diagnostic: "note: OpenACC 'kernels' decomposition: variable
24946 '[...]' declared in block made addressable".
24947
24948 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
24949
24950 PR middle-end/100400
24951 PR middle-end/103836
24952 PR middle-end/104061
24953 * omp-oacc-kernels-decompose.cc (decompose_kernels_region_body):
24954 Catch 'GIMPLE_DEBUG'.
24955
24956 2022-03-04 Jakub Jelinek <jakub@redhat.com>
24957
24958 PR c/104627
24959 * tree.cc (warn_deprecated_use): For types prefer to use node
24960 and only use TYPE_MAIN_VARIANT (node) if TYPE_STUB_DECL (node) is
24961 NULL.
24962
24963 2022-03-04 H.J. Lu <hjl.tools@gmail.com>
24964
24965 PR target/104704
24966 * config/i386/i386.cc (ix86_gen_scratch_sse_rtx): Always return
24967 a pseudo register.
24968
24969 2022-03-03 Martin Sebor <msebor@redhat.com>
24970
24971 PR middle-end/104761
24972 * gimple-ssa-warn-access.cc (pass_waccess::execute): Call
24973 mark_dfs_back_edges.
24974
24975 2022-03-03 Martin Liska <mliska@suse.cz>
24976
24977 * configure.ac: Use linker plug-in by default.
24978 * configure: Regenerate.
24979
24980 2022-03-03 Martin Liska <mliska@suse.cz>
24981
24982 * configure.ac: Now ld.mold support LTO plugin API, use it.
24983 * configure: Regenerate.
24984
24985 2022-03-03 Tom de Vries <tdevries@suse.de>
24986
24987 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add mptx=3.1.
24988
24989 2022-03-03 Tom de Vries <tdevries@suse.de>
24990
24991 PR target/104758
24992 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add misa=sm_30.
24993
24994 2022-03-03 Tom de Vries <tdevries@suse.de>
24995
24996 * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
24997
24998 2022-03-03 Jakub Jelinek <jakub@redhat.com>
24999
25000 PR middle-end/104757
25001 * gimplify.cc (gimplify_omp_loop): Call gimplify_expr rather than
25002 gimplify_omp_for.
25003 (gimplify_expr) <case OMP_SIMD>: Temporarily disable
25004 gimplify_ctxp->into_ssa around call to gimplify_omp_for.
25005
25006 2022-03-03 Jakub Jelinek <jakub@redhat.com>
25007
25008 PR middle-end/104558
25009 * calls.cc (store_one_arg): When not calling emit_push_insn
25010 because size_rtx is const0_rtx, call at least anti_adjust_stack
25011 on arg->locate.alignment_pad if !argblock and the alignment might
25012 be non-zero.
25013
25014 2022-03-02 Alexandre Oliva <oliva@adacore.com>
25015
25016 * lra-constraints.cc (undo_optional_reloads): Recognize and
25017 drop insns of multi-word move sequences, tolerate removal
25018 iteration on an already-removed clobber, and refuse to
25019 substitute original pseudos into clobbers.
25020
25021 2022-03-02 Qing Zhao <qing.zhao@oracle.com>
25022
25023 PR middle-end/102276
25024 * common.opt (-Wtrivial-auto-var-init): New option.
25025 * doc/invoke.texi (-Wtrivial-auto-var-init): Document new option.
25026 (-ftrivial-auto-var-init): Update option;
25027 * gimplify.cc (emit_warn_switch_unreachable): New function.
25028 (warn_switch_unreachable_r): Rename to ...
25029 (warn_switch_unreachable_and_auto_init_r): This.
25030 (maybe_warn_switch_unreachable): Rename to ...
25031 (maybe_warn_switch_unreachable_and_auto_init): This.
25032 (gimplify_switch_expr): Update calls to renamed function.
25033
25034 2022-03-02 Richard Biener <rguenther@suse.de>
25035
25036 PR rtl-optimization/104686
25037 * ira-color.cc (object_conflicts_with_allocno_p): New function
25038 using a bitvector test instead of iterating when possible.
25039 (allocnos_conflict_p): Choose the best allocno to iterate over
25040 object conflicts.
25041 (update_conflict_hard_regno_costs): Do allocnos_conflict_p test
25042 last.
25043
25044 2022-03-02 Jakub Jelinek <jakub@redhat.com>
25045
25046 * cfg.cc (dump_edge_info): Dump goto_locus if present.
25047
25048 2022-03-02 Jakub Jelinek <jakub@redhat.com>
25049
25050 PR rtl-optimization/104589
25051 * cfgrtl.cc (fixup_reorder_chain): Use loc_equal instead of direct
25052 INSN_LOCATION comparison with goto_locus.
25053
25054 2022-03-02 Jakub Jelinek <jakub@redhat.com>
25055
25056 * tree-ssa-strlen.cc (strlen_pass::handle_assign,
25057 strlen_pass::before_dom_children): Comment spelling fixes.
25058
25059 2022-03-02 Jakub Jelinek <jakub@redhat.com>
25060
25061 * ipa-modref-tree.cc (modref_access_node::contains,
25062 modref_access_node::closer_pair_p, modref_access_node::insert,
25063 modref_access_node::insert_kill): Comment spelling fixes.
25064 * ipa-modref.cc: Likewise.
25065 (modref_summary::finalize, ignore_nondeterminism_p,
25066 class modref_access_analysis,
25067 modref_access_analysis::set_side_effects,
25068 modref_access_analysis::set_nondeterministic,
25069 modref_access_analysis::record_global_memory_load,
25070 modref_access_analysis::propagate, modref_access_analysis::analyze,
25071 struct escape_point, class modref_lattice, modref_lattice::merge,
25072 modref_lattice::merge_deref, class modref_eaf_analysis,
25073 modref_eaf_analysis::merge_call_lhs_flags,
25074 modref_eaf_analysis::analyze_ssa_name, modref_eaf_analysis::propagate,
25075 modref_eaf_analysis::record_escape_points, remap_kills,
25076 update_escape_summary, remove_useless_summaries,
25077 ipa_merge_modref_summary_after_inlining, pass_ipa_modref::execute):
25078 Likewise.
25079 * ipa-modref.h (struct modref_summary, interposable_eaf_flags):
25080 Likewise.
25081 * ipa-modref-tree.h (enum modref_special_parms,
25082 struct modref_access_node): Likewise.
25083
25084 2022-03-01 Jakub Jelinek <jakub@redhat.com>
25085
25086 PR tree-optimization/104715
25087 * gimple-ssa-warn-access.cc (pass_waccess::check_pointer_uses): Don't
25088 unnecessarily test if ptr is a SSA_NAME, it has to be. Only push lhs
25089 of a call if gimple_call_return_arg is equal to ptr, not just when it
25090 is non-NULL.
25091
25092 2022-03-01 Jakub Jelinek <jakub@redhat.com>
25093
25094 * gimple-ssa-warn-access.cc (warn_string_no_nul,
25095 maybe_warn_nonstring_arg, fndecl_alloc_p, new_delete_mismatch_p,
25096 matching_alloc_calls_p, maybe_warn_alloc_args_overflow,
25097 pass_waccess::check_alloca, pass_waccess::check_strcat,
25098 memmodel_to_uhwi, fntype_argno_type,
25099 pass_waccess::maybe_check_access_sizes,
25100 pass_waccess::check_call_access,
25101 pass_waccess::maybe_check_dealloc_call, pass_waccess::check_stmt):
25102 Comment spelling fixes.
25103
25104 2022-03-01 Richard Biener <rguenther@suse.de>
25105
25106 PR tree-optimization/104716
25107 * tree-loop-distribution.cc (find_seed_stmts_for_distribution):
25108 Check if we can copy the loop.
25109
25110 2022-03-01 H.J. Lu <hjl.tools@gmail.com>
25111
25112 PR middle-end/104721
25113 * cfgexpand.cc (expand_gimple_basic_block): Clear
25114 currently_expanding_gimple_stmt when returning inside the loop.
25115
25116 2022-03-01 Martin Liska <mliska@suse.cz>
25117
25118 PR ipa/104533
25119 * multiple_target.cc (get_attr_len): Move to tree.c.
25120 (expand_target_clones): Remove single value checking.
25121 * tree.cc (get_target_clone_attr_len): New fn.
25122 * tree.h (get_target_clone_attr_len): Likewise.
25123
25124 2022-03-01 Martin Liska <mliska@suse.cz>
25125
25126 PR gcov-profile/104677
25127 * doc/invoke.texi: Document more .gcda file name generation.
25128
25129 2022-03-01 Tom de Vries <tdevries@suse.de>
25130
25131 PR target/102429
25132 * config/nvptx/nvptx.cc (nvptx_gen_shuffle): Handle DCmode and CDImode.
25133 * config/nvptx/nvptx.md
25134 (define_predicate "nvptx_register_or_complex_di_df_register_operand"):
25135 New predicate.
25136 (define_expand "omp_simt_xchg_bfly", define_expand "omp_simt_xchg_idx"):
25137 Use nvptx_register_or_complex_di_df_register_operand.
25138
25139 2022-03-01 Tom de Vries <tdevries@suse.de>
25140
25141 * config.gcc (nvptx*-*-*): Add nvptx/nvptx-gen.opt to extra_options.
25142 * config/nvptx/gen-copyright.sh: New file.
25143 * config/nvptx/gen-h.sh: New file.
25144 * config/nvptx/gen-opt.sh: New file.
25145 * config/nvptx/nvptx.h (TARGET_SM35, TARGET_SM53, TARGET_SM70)
25146 (TARGET_SM75, TARGET_SM80): Move ...
25147 * config/nvptx/nvptx-gen.h: ... here. New file, generate.
25148 * config/nvptx/nvptx.opt (Enum ptx_isa): Move ...
25149 * config/nvptx/nvptx-gen.opt: ... here. New file, generate.
25150 * config/nvptx/t-nvptx ($(srcdir)/config/nvptx/nvptx-gen.h)
25151 ($(srcdir)/config/nvptx/nvptx-gen.opt): New make target.
25152
25153 2022-03-01 Tom de Vries <tdevries@suse.de>
25154
25155 * config/nvptx/gen-omp-device-properties.sh: New file.
25156 * config/nvptx/t-omp-device: Use gen-omp-device-properties.sh.
25157
25158 2022-03-01 Tom de Vries <tdevries@suse.de>
25159
25160 * config/nvptx/nvptx-sm.def: New file.
25161 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Use nvptx-sm.def.
25162 * config/nvptx/nvptx-opts.h (enum ptx_isa): Same.
25163 * config/nvptx/nvptx.cc (sm_version_to_string)
25164 (nvptx_omp_device_kind_arch_isa): Same.
25165
25166 2022-03-01 Robin Dapp <rdapp@linux.ibm.com>
25167
25168 PR rtl-optimization/104154
25169 * config/arc/arc.cc (gen_compare_reg): Return the CC-mode
25170 comparison ifcvt passed us.
25171
25172 2022-03-01 Hongyu Wang <hongyu.wang@intel.com>
25173
25174 PR target/104664
25175 * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
25176 Use vec_setv8hf_0 for HF to V8HFmode move instead of subreg.
25177
25178 2022-02-28 Roger Sayle <roger@nextmovesoftware.com>
25179
25180 PR tree-optimization/91384
25181 * config/i386/i386.md (peephole2): Eliminate final testl insn
25182 from the sequence *movsi_internal, *negsi_1, *cmpsi_ccno_1 by
25183 transforming using *negsi_2 for the negation.
25184
25185 2022-02-28 Roger Sayle <roger@nextmovesoftware.com>
25186 Eric Botcazou <ebotcazou@adacore.com>
25187
25188 PR middle-end/80270
25189 * expmed.cc (extract_integral_bit_field): If OP0 is a hard
25190 register, copy it to a pseudo before calling simplify_gen_subreg.
25191
25192 2022-02-28 Vladimir N. Makarov <vmakarov@redhat.com>
25193
25194 PR rtl-optimization/104637
25195 * lra-assigns.cc (lra_split_hard_reg_for): Split hard regs as many
25196 as possible on one subpass.
25197
25198 2022-02-28 Qing Zhao <qing.zhao@oracle.com>
25199
25200 PR middle-end/104550
25201 * gimple-fold.cc (clear_padding_flush): Suppress warnings for new
25202 created uses.
25203
25204 2022-02-28 Martin Liska <mliska@suse.cz>
25205
25206 PR ipa/104648
25207 * main.cc (main): Use flag_checking instead of CHECKING_P
25208 and run toplev::finalize only if there is not error seen.
25209
25210 2022-02-28 Richard Biener <rguenther@suse.de>
25211
25212 * tree-ssa-pre.cc (compute_avail): Revert part of last change.
25213
25214 2022-02-28 Richard Biener <rguenther@suse.de>
25215
25216 PR tree-optimization/104700
25217 * tree-ssa-pre.cc (get_or_alloc_expr_for): Remove and inline
25218 into ...
25219 (find_or_generate_expression): ... here, simplifying code.
25220
25221 2022-02-28 Tom de Vries <tdevries@suse.de>
25222
25223 * config/nvptx/nvptx-opts.h (enum ptx_version): Add
25224 PTX_VERSION_default.
25225 * config/nvptx/nvptx.cc (handle_ptx_version_option): Handle
25226 PTX_VERSION_default.
25227 * config/nvptx/nvptx.opt: Add EnumValue "_" / PTX_VERSION_default.
25228
25229 2022-02-28 Richard Biener <rguenther@suse.de>
25230
25231 PR rtl-optimization/104686
25232 * ira-int.h (minmax_set_iter_cond): Use ctz_hwi to elide loop
25233 skipping bits that are zero.
25234 (ira_object_conflict_iter_cond): Likewise.
25235
25236 2022-02-28 Hongyu Wang <hongyu.wang@intel.com>
25237
25238 * config/i386/avx512fintrin.h (_MM_TERNLOG_ENUM): New enum.
25239 (_mm512_ternarylogic_epi64): Truncate imm to unsigned
25240 char to avoid error when using ~enum as parameter.
25241 (_mm512_mask_ternarylogic_epi64): Likewise.
25242 (_mm512_maskz_ternarylogic_epi64): Likewise.
25243 (_mm512_ternarylogic_epi32): Likewise.
25244 (_mm512_mask_ternarylogic_epi32): Likewise.
25245 (_mm512_maskz_ternarylogic_epi32): Likewise.
25246 * config/i386/avx512vlintrin.h (_mm256_ternarylogic_epi64):
25247 Adjust imm param type to unsigned char.
25248 (_mm256_mask_ternarylogic_epi64): Likewise.
25249 (_mm256_maskz_ternarylogic_epi64): Likewise.
25250 (_mm256_ternarylogic_epi32): Likewise.
25251 (_mm256_mask_ternarylogic_epi32): Likewise.
25252 (_mm256_maskz_ternarylogic_epi32): Likewise.
25253 (_mm_ternarylogic_epi64): Likewise.
25254 (_mm_mask_ternarylogic_epi64): Likewise.
25255 (_mm_maskz_ternarylogic_epi64): Likewise.
25256 (_mm_ternarylogic_epi32): Likewise.
25257 (_mm_mask_ternarylogic_epi32): Likewise.
25258 (_mm_maskz_ternarylogic_epi32): Likewise.
25259
25260 2022-02-25 Jakub Jelinek <jakub@redhat.com>
25261 Marc Glisse <marc.glisse@inria.fr>
25262
25263 PR tree-optimization/104675
25264 * match.pd (t * 2U / 2 -> t & (~0 / 2), t / 2U * 2 -> t & ~1):
25265 Restrict simplifications to INTEGRAL_TYPE_P.
25266
25267 2022-02-25 Jakub Jelinek <jakub@redhat.com>
25268
25269 PR target/104681
25270 * config/rs6000/vector.md (movmisalign<mode>): Use rs6000_emit_move.
25271
25272 2022-02-25 Claudiu Zissulescu <claziss@synopsys.com>
25273
25274 * config/arc/arc.cc (gen_compare_reg): Return NULL_RTX if the
25275 comparison is not valid.
25276 * config/arc/arc.md (movsicc): Fail if comparison is not valid.
25277 (movdicc): Likewise.
25278 (movsfcc): Likewise.
25279 (movdfcc): Likewise.
25280
25281 2022-02-25 Richard Biener <rguenther@suse.de>
25282
25283 PR tree-optimization/103037
25284 * tree-ssa-sccvn.h (alloc_vn_nary_op_noinit): Declare.
25285 (vn_nary_length_from_stmt): Likewise.
25286 (init_vn_nary_op_from_stmt): Likewise.
25287 (vn_nary_op_compute_hash): Likewise.
25288 * tree-ssa-sccvn.cc (alloc_vn_nary_op_noinit): Export.
25289 (vn_nary_length_from_stmt): Likewise.
25290 (init_vn_nary_op_from_stmt): Likewise.
25291 (vn_nary_op_compute_hash): Likewise.
25292 * tree-ssa-pre.cc (pre_expr_obstack): New obstack.
25293 (get_or_alloc_expr_for_nary): Pass in the value-id to use,
25294 (re-)compute the hash value and if the expression is not
25295 found allocate it from pre_expr_obstack.
25296 (phi_translate_1): Do not insert the NARY found in the
25297 VN tables but build a PRE expression from the valueized
25298 NARY with the value-id we eventually found.
25299 (find_or_generate_expression): Assert we have an entry
25300 for constant values.
25301 (compute_avail): Insert not valueized expressions into
25302 EXP_GEN using the value-id from the VN tables.
25303 (init_pre): Allocate pre_expr_obstack.
25304 (fini_pre): Free pre_expr_obstack.
25305
25306 2022-02-25 Jakub Jelinek <jakub@redhat.com>
25307
25308 PR target/104674
25309 * config/i386/i386.h (enum ix86_stack_slot): Add SLOT_FLOATxFDI_387.
25310 * config/i386/i386.md (splitter to floatdi<mode>2_i387_with_xmm): Use
25311 SLOT_FLOATxFDI_387 rather than SLOT_TEMP.
25312
25313 2022-02-25 Jakub Jelinek <jakub@redhat.com>
25314
25315 * warning-control.cc (get_nowarn_spec): Comment spelling fix.
25316
25317 2022-02-25 Jakub Jelinek <jakub@redhat.com>
25318
25319 PR middle-end/104679
25320 * internal-fn.cc (expand_SPACESHIP): Call do_pending_stack_adjust.
25321
25322 2022-02-25 Jakub Jelinek <jakub@redhat.com>
25323
25324 PR tree-optimization/104675
25325 * match.pd (-A - 1 -> ~A, -1 - A -> ~A): Don't simplify for
25326 COMPLEX_TYPE.
25327
25328 2022-02-25 Alexandre Oliva <oliva@adacore.com>
25329
25330 PR target/104121
25331 PR target/103302
25332 * expr.cc (emit_move_multi_word): Restore clobbers during LRA.
25333
25334 2022-02-25 Alexandre Oliva <oliva@adacore.com>
25335
25336 PR middle-end/104540
25337 * dwarf2cfi.cc (cfi_oprnd_equal_p): Cope with NULL
25338 dw_cfi_cfa_loc.
25339
25340 2022-02-25 Alexandre Oliva <oliva@adacore.com>
25341
25342 PR tree-optimization/103856
25343 * gimple-harden-conditionals.cc (non_eh_succ_edge): Enable the
25344 eh edge to be requested through an extra parameter.
25345 (pass_harden_compares::execute): Copy PHI args in the EH dest
25346 block for the new EH edge added for the inverted compare.
25347
25348 2022-02-24 Palmer Dabbelt <palmer@rivosinc.com>
25349
25350 * doc/invoke.texi (RISC-V -mcmodel=medany): Document the degree
25351 of position independence that -mcmodel=medany affords.
25352
25353 2022-02-24 Jose E. Marchesi <jose.marchesi@oracle.com>
25354
25355 PR target/104656
25356 * configure.ac: --disable-gcov if targetting bpf-*.
25357 * configure: Regenerate.
25358
25359 2022-02-24 Richard Biener <rguenther@suse.de>
25360
25361 PR tree-optimization/104676
25362 * tree-loop-distribution.cc (loop_distribution::execute):
25363 Do a full scev_reset.
25364
25365 2022-02-24 Jakub Jelinek <jakub@redhat.com>
25366
25367 PR tree-optimization/104601
25368 * tree-ssa-sccvn.cc (visit_reference_op_call): For calls with
25369 non-SSA_NAME lhs value number vdef to itself instead of e.g. the
25370 vuse value number.
25371
25372 2022-02-24 Tom de Vries <tdevries@suse.de>
25373 Tobias Burnus <tobias@codesourcery.com>
25374
25375 * config/nvptx/nvptx.cc (nvptx_omp_device_kind_arch_isa): Handle
25376 sm_70, sm_75 and sm_80.
25377 * config/nvptx/t-omp-device: Add sm_53, sm_70, sm_75 and sm_80.
25378
25379 2022-02-24 Tom de Vries <tdevries@suse.de>
25380
25381 * config/nvptx/nvptx.md (define_insn "rotlsi3", define_insn
25382 "rotrsi3"): New define_insn.
25383
25384 2022-02-24 Tom de Vries <tdevries@suse.de>
25385
25386 * config/nvptx/nvptx.cc (gen_comment): Use
25387 DECL_SOURCE_LOCATION (cfun->decl) instead of cfun->function_start_locus.
25388
25389 2022-02-24 liuhongt <hongtao.liu@intel.com>
25390
25391 * config/i386/sse.md (<code>v1ti3): Add suffix and replace
25392 isa attr of alternative 2 from avx to avx512vl.
25393
25394 2022-02-23 Richard Biener <rguenther@suse.de>
25395 Jakub Jelinek <jakub@redhat.com>
25396
25397 PR tree-optimization/104644
25398 * doc/match-and-simplify.texi: Amend ! documentation.
25399 * genmatch.cc (expr::gen_transform): Code-generate ! support
25400 for GENERIC.
25401 (parser::parse_expr): Allow ! for GENERIC.
25402 * match.pd (cmp (bswap @0) INTEGER_CST@1): Use ! modifier on
25403 bswap.
25404
25405 2022-02-23 Richard Biener <rguenther@suse.de>
25406
25407 PR tree-optimization/101636
25408 * tree-vect-slp.cc (vect_print_slp_tree): Dump the
25409 vector type of the node.
25410 (vect_slp_analyze_operations): Make sure the CTOR
25411 is vectorized with an expected type.
25412 (vectorize_slp_instance_root_stmt): Revert r10-5979 fix.
25413
25414 2022-02-23 Jakub Jelinek <jakub@redhat.com>
25415
25416 PR c/104633
25417 * gimple-warn-recursion.cc (pass_warn_recursion::find_function_exit):
25418 Don't warn about calls to corresponding builtin from extern inline
25419 gnu_inline wrappers.
25420
25421 2022-02-23 Roger Sayle <roger@nextmovesoftware.com>
25422
25423 PR target/104489
25424 * config/nvptx/nvptx.md (*movhf_insn): Add subregs_ok attribute.
25425
25426 2022-02-23 Christophe Lyon <christophe.lyon@arm.com>
25427
25428 PR target/100757
25429 PR target/101325
25430 * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Fix
25431 typo.
25432
25433 2022-02-23 Cui,Lili <lili.cui@intel.com>
25434
25435 * doc/invoke.texi: Update documents for Intel architectures.
25436
25437 2022-02-22 Roger Sayle <roger@nextmovesoftware.com>
25438
25439 * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop): Restore
25440 bootstrap.
25441
25442 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
25443
25444 * omp-low.cc (omp_build_component_ref): Move function...
25445 * omp-general.cc (omp_build_component_ref): ... here. Remove
25446 'static'.
25447 * omp-general.h (omp_build_component_ref): Declare function.
25448 * omp-oacc-neuter-broadcast.cc (oacc_build_component_ref): Remove
25449 function.
25450 (build_receiver_ref, build_sender_ref): Call
25451 'omp_build_component_ref' instead.
25452
25453 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
25454
25455 * omp-oacc-neuter-broadcast.cc (record_field_map_t): Further
25456 simplify. Adjust all users.
25457
25458 2022-02-22 Segher Boessenkool <segher@kernel.crashing.org>
25459
25460 PR target/88134
25461 * config/rs6000/rs6000.cc (atomic_hold_decl, atomic_clear_decl,
25462 atomic_update_decl): Add GTY markup.
25463
25464 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
25465
25466 * config/arm/arm.h (REG_CLASS_CONTENTS): Add VPR_REG to ALL_REGS.
25467
25468 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
25469
25470 PR target/100757
25471 PR target/101325
25472 * config/arm/arm-builtins.cc (CX_UNARY_UNONE_QUALIFIERS): Use
25473 predicate.
25474 (CX_BINARY_UNONE_QUALIFIERS): Likewise.
25475 (CX_TERNARY_UNONE_QUALIFIERS): Likewise.
25476 (TERNOP_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
25477 (QUADOP_NONE_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
25478 (QUADOP_UNONE_UNONE_UNONE_UNONE_UNONE_QUALIFIERS): Delete.
25479 * config/arm/arm_mve_builtins.def: Use predicated qualifiers.
25480 * config/arm/mve.md: Use VxBI instead of HI.
25481
25482 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
25483
25484 PR target/100757
25485 PR target/101325
25486 * config/arm/arm-builtins.cc (STRSBS_P_QUALIFIERS): Use predicate
25487 qualifier.
25488 (STRSBU_P_QUALIFIERS): Likewise.
25489 (LDRGBS_Z_QUALIFIERS): Likewise.
25490 (LDRGBU_Z_QUALIFIERS): Likewise.
25491 (LDRGBWBXU_Z_QUALIFIERS): Likewise.
25492 (LDRGBWBS_Z_QUALIFIERS): Likewise.
25493 (LDRGBWBU_Z_QUALIFIERS): Likewise.
25494 (STRSBWBS_P_QUALIFIERS): Likewise.
25495 (STRSBWBU_P_QUALIFIERS): Likewise.
25496 * config/arm/mve.md: Use VxBI instead of HI.
25497
25498 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
25499
25500 PR target/100757
25501 PR target/101325
25502 * config/arm/arm-builtins.cc (TERNOP_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
25503 (TERNOP_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
25504 (TERNOP_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
25505 (TERNOP_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
25506 (TERNOP_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
25507 (TERNOP_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
25508 (TERNOP_NONE_NONE_UNONE_UNONE_QUALIFIERS): Change to ...
25509 (TERNOP_NONE_NONE_UNONE_PRED_QUALIFIERS): ... this.
25510 (QUADOP_UNONE_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
25511 (QUADOP_UNONE_UNONE_NONE_NONE_PRED_QUALIFIERS): ... this.
25512 (QUADOP_NONE_NONE_NONE_NONE_PRED_QUALIFIERS): New.
25513 (QUADOP_NONE_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
25514 (QUADOP_NONE_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
25515 (QUADOP_UNONE_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
25516 (QUADOP_UNONE_UNONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
25517 (QUADOP_UNONE_UNONE_NONE_IMM_PRED_QUALIFIERS): ... this.
25518 (QUADOP_NONE_NONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
25519 (QUADOP_NONE_NONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
25520 (QUADOP_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
25521 (QUADOP_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
25522 (QUADOP_UNONE_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
25523 (QUADOP_UNONE_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
25524 (STRS_P_QUALIFIERS): Use predicate qualifier.
25525 (STRU_P_QUALIFIERS): Likewise.
25526 (STRSU_P_QUALIFIERS): Likewise.
25527 (STRSS_P_QUALIFIERS): Likewise.
25528 (LDRGS_Z_QUALIFIERS): Likewise.
25529 (LDRGU_Z_QUALIFIERS): Likewise.
25530 (LDRS_Z_QUALIFIERS): Likewise.
25531 (LDRU_Z_QUALIFIERS): Likewise.
25532 (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
25533 (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
25534 (BINOP_NONE_NONE_PRED_QUALIFIERS): New.
25535 (BINOP_UNONE_UNONE_PRED_QUALIFIERS): New.
25536 * config/arm/arm_mve_builtins.def: Use new predicated qualifiers.
25537 * config/arm/mve.md: Use MVE_VPRED instead of HI.
25538
25539 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
25540
25541 PR target/100757
25542 PR target/101325
25543 * config/arm/arm-builtins.cc (BINOP_UNONE_NONE_NONE_QUALIFIERS):
25544 Delete.
25545 (TERNOP_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
25546 (TERNOP_PRED_NONE_NONE_PRED_QUALIFIERS): ... this.
25547 (TERNOP_PRED_UNONE_UNONE_PRED_QUALIFIERS): New.
25548 * config/arm/arm_mve_builtins.def (vcmp*q_n_, vcmp*q_m_f): Use new
25549 predicated qualifiers.
25550 * config/arm/mve.md (mve_vcmp<mve_cmp_op>q_n_<mode>)
25551 (mve_vcmp*q_m_f<mode>): Use MVE_VPRED instead of HI.
25552
25553 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
25554
25555 PR target/100757
25556 * config/arm/arm-protos.h (arm_get_mask_mode): New prototype.
25557 (arm_expand_vector_compare): Update prototype.
25558 * config/arm/arm.cc (TARGET_VECTORIZE_GET_MASK_MODE): New.
25559 (arm_vector_mode_supported_p): Add support for VxBI modes.
25560 (arm_expand_vector_compare): Remove useless generation of vpsel.
25561 (arm_expand_vcond): Fix select operands.
25562 (arm_get_mask_mode): New.
25563 * config/arm/mve.md (vec_cmp<mode><MVE_vpred>): New.
25564 (vec_cmpu<mode><MVE_vpred>): New.
25565 (vcond_mask_<mode><MVE_vpred>): New.
25566 * config/arm/vec-common.md (vec_cmp<mode><v_cmp_result>)
25567 (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): Move to ...
25568 * config/arm/neon.md (vec_cmp<mode><v_cmp_result>)
25569 (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): ... here
25570 and disable for MVE.
25571 * doc/sourcebuild.texi (arm_mve): Document new effective-target.
25572
25573 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
25574
25575 PR target/100757
25576 PR target/101325
25577 * config/arm/arm-builtins.cc (BINOP_PRED_UNONE_UNONE_QUALIFIERS)
25578 (BINOP_PRED_NONE_NONE_QUALIFIERS)
25579 (TERNOP_NONE_NONE_NONE_PRED_QUALIFIERS)
25580 (TERNOP_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
25581 * config/arm/arm-protos.h (mve_bool_vec_to_const): New.
25582 * config/arm/arm.cc (arm_hard_regno_mode_ok): Handle new VxBI
25583 modes.
25584 (arm_mode_to_pred_mode): New.
25585 (arm_expand_vector_compare): Use the right VxBI mode instead of
25586 HI.
25587 (arm_expand_vcond): Likewise.
25588 (simd_valid_immediate): Handle MODE_VECTOR_BOOL.
25589 (mve_bool_vec_to_const): New.
25590 (neon_make_constant): Call mve_bool_vec_to_const when needed.
25591 * config/arm/arm_mve_builtins.def (vcmpneq_, vcmphiq_, vcmpcsq_)
25592 (vcmpltq_, vcmpleq_, vcmpgtq_, vcmpgeq_, vcmpeqq_, vcmpneq_f)
25593 (vcmpltq_f, vcmpleq_f, vcmpgtq_f, vcmpgeq_f, vcmpeqq_f, vpselq_u)
25594 (vpselq_s, vpselq_f): Use new predicated qualifiers.
25595 * config/arm/constraints.md (DB): New.
25596 * config/arm/iterators.md (MVE_7, MVE_7_HI): New mode iterators.
25597 (MVE_VPRED, MVE_vpred): New attribute iterators.
25598 * config/arm/mve.md (@mve_vcmp<mve_cmp_op>q_<mode>)
25599 (@mve_vcmp<mve_cmp_op>q_f<mode>, @mve_vpselq_<supf><mode>)
25600 (@mve_vpselq_f<mode>): Use MVE_VPRED instead of HI.
25601 (@mve_vpselq_<supf>v2di): Define separately.
25602 (mov<mode>): New expander for VxBI modes.
25603 * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Use
25604 MVE_7_HI iterator and add support for DB constraint.
25605
25606 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
25607 Richard Sandiford <richard.sandiford@arm.com>
25608
25609 PR target/100757
25610 PR target/101325
25611 * config/aarch64/aarch64-modes.def (VNx16BI, VNx8BI, VNx4BI,
25612 VNx2BI): Update definition.
25613 * config/arm/arm-builtins.cc (arm_init_simd_builtin_types): Add new
25614 simd types.
25615 (arm_init_builtin): Map predicate vectors arguments to HImode.
25616 (arm_expand_builtin_args): Move HImode predicate arguments to VxBI
25617 rtx. Move return value to HImode rtx.
25618 * config/arm/arm-builtins.h (arm_type_qualifiers): Add qualifier_predicate.
25619 * config/arm/arm-modes.def (B2I, B4I, V16BI, V8BI, V4BI): New modes.
25620 * config/arm/arm-simd-builtin-types.def (Pred1x16_t,
25621 Pred2x8_t,Pred4x4_t): New.
25622 * emit-rtl.cc (init_emit_once): Handle all boolean modes.
25623 * genmodes.cc (mode_data): Add boolean field.
25624 (blank_mode): Initialize it.
25625 (make_complex_modes): Fix handling of boolean modes.
25626 (make_vector_modes): Likewise.
25627 (VECTOR_BOOL_MODE): Use new COMPONENT parameter.
25628 (make_vector_bool_mode): Likewise.
25629 (BOOL_MODE): New.
25630 (make_bool_mode): New.
25631 (emit_insn_modes_h): Fix generation of boolean modes.
25632 (emit_class_narrowest_mode): Likewise.
25633 * machmode.def: (VECTOR_BOOL_MODE): Document new COMPONENT
25634 parameter. Use new BOOL_MODE instead of FRACTIONAL_INT_MODE to
25635 define BImode.
25636 * rtx-vector-builder.cc (rtx_vector_builder::find_cached_value):
25637 Fix handling of constm1_rtx for VECTOR_BOOL.
25638 * simplify-rtx.cc (native_encode_rtx): Fix support for VECTOR_BOOL.
25639 (native_decode_vector_rtx): Likewise.
25640 (test_vector_ops_duplicate): Skip vec_merge test
25641 with vectors of booleans.
25642 * varasm.cc (output_constant_pool_2): Likewise.
25643
25644 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
25645
25646 * config/arm/mve.md (mve_vmvnq_n_<supf><mode>): Use V_elem mode
25647 for operand 1.
25648
25649 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
25650
25651 * config/arm/arm.cc (arm_class_likely_spilled_p): Handle VPR_REG.
25652
25653 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
25654
25655 * config/arm/arm.h (reg_class): Add GENERAL_AND_VPR_REGS.
25656 (REG_CLASS_NAMES): Likewise.
25657 (REG_CLASS_CONTENTS): Likewise.
25658 (CLASS_MAX_NREGS): Handle VPR.
25659 * config/arm/arm.cc (arm_hard_regno_nregs): Handle VPR.
25660
25661 2022-02-22 Tobias Burnus <tobias@codesourcery.com>
25662 Tom de Vries <tdevries@suse.de>
25663
25664 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Handle SM70.
25665 * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm):
25666 Likewise.
25667 * config/nvptx/nvptx.opt (misa): Add sm_70 alias PTX_ISA_SM70.
25668
25669 2022-02-22 Tobias Burnus <tobias@codesourcery.com>
25670 Tom de Vries <tdevries@suse.de>
25671
25672 * config/nvptx/nvptx.opt (mptx): Add 6.0 alias PTX_VERSION_6_0.
25673 * doc/invoke.texi (-mptx): Update for new values and defaults.
25674
25675 2022-02-22 Tom de Vries <tdevries@suse.de>
25676
25677 * config/nvptx/nvptx.cc (gen_comment): New function.
25678 (workaround_uninit_method_1, workaround_uninit_method_2)
25679 (workaround_uninit_method_3): : Use gen_comment.
25680 * config/nvptx/nvptx.opt (mptx-comment): New option.
25681
25682 2022-02-22 Richard Biener <rguenther@suse.de>
25683
25684 * tree-vect-slp.cc (vect_build_slp_tree_2): Dump the def used
25685 for a splat.
25686
25687 2022-02-22 Roger Sayle <roger@nextmovesoftware.com>
25688 Richard Biener <rguenther@suse.de>
25689
25690 * fold-const.cc (ctor_single_nonzero_element): New function to
25691 return the single non-zero element of a (vector) constructor.
25692 * fold-const.h (ctor_single_nonzero_element): Prototype here.
25693 * match.pd (reduc (constructor@0)): Simplify reductions of a
25694 constructor containing a single non-zero element.
25695 (reduc (@0 op VECTOR_CST) -> (reduc @0) op CONST): Simplify
25696 reductions of vector operations of the same operator with
25697 constant vector operands.
25698
25699 2022-02-22 Jakub Jelinek <jakub@redhat.com>
25700
25701 PR tree-optimization/104604
25702 * gimple-range-fold.cc (adjust_imagpart_expr, adjust_realpart_expr):
25703 Only check if gimple_assign_rhs1 is COMPLEX_CST if
25704 gimple_assign_rhs_code is COMPLEX_CST.
25705
25706 2022-02-22 Jakub Jelinek <jakub@redhat.com>
25707
25708 PR target/104612
25709 * config/i386/i386-expand.cc (ix86_expand_copysign): Call force_reg
25710 on input operands before calling lowpart_subreg on it. For output
25711 operand, use a vmode pseudo as destination and then move its lowpart
25712 subreg into operands[0] if lowpart_subreg fails on dest.
25713 (ix86_expand_xorsign): Likewise.
25714
25715 2022-02-22 Richard Biener <rguenther@suse.de>
25716
25717 PR tree-optimization/104582
25718 PR target/99881
25719 * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
25720 Cost GPR to vector register moves for integer vector construction.
25721
25722 2022-02-22 Richard Biener <rguenther@suse.de>
25723
25724 PR tree-optimization/104582
25725 * tree-vectorizer.h (stmt_info_for_cost::node): New field.
25726 (vector_costs::add_stmt_cost): Add SLP node parameter.
25727 (dump_stmt_cost): Likewise.
25728 (add_stmt_cost): Likewise, new overload and adjust.
25729 (add_stmt_costs): Adjust.
25730 (record_stmt_cost): New overload.
25731 * tree-vectorizer.cc (dump_stmt_cost): Dump the SLP node.
25732 (vector_costs::add_stmt_cost): Adjust.
25733 * tree-vect-loop.cc (vect_estimate_min_profitable_iters):
25734 Adjust.
25735 * tree-vect-slp.cc (vect_prologue_cost_for_slp): Record
25736 the SLP node for costing.
25737 (vectorizable_slp_permutation): Likewise.
25738 * tree-vect-stmts.cc (record_stmt_cost): Adjust and add
25739 new overloads.
25740 * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
25741 Adjust.
25742 * config/aarch64/aarch64.cc (aarch64_vector_costs::add_stmt_cost):
25743 Adjust.
25744 * config/rs6000/rs6000.cc (rs6000_vector_costs::add_stmt_cost):
25745 Adjust.
25746 (rs6000_cost_data::adjust_vect_cost_per_loop): Likewise.
25747
25748 2022-02-22 Richard Biener <rguenther@suse.de>
25749
25750 PR tree-optimization/104582
25751 * tree-vectorizer.h (add_stmt_cost): New overload.
25752 (record_stmt_cost): Likewise.
25753 * tree-vect-loop.cc (vect_compute_single_scalar_iteration_cost):
25754 Use add_stmt_costs.
25755 (vect_get_known_peeling_cost): Use new overloads.
25756 (vect_estimate_min_profitable_iters): Likewise. Consistently
25757 use scalar_stmt for costing versioning checks.
25758 * tree-vect-stmts.cc (record_stmt_cost): New overload.
25759
25760 2022-02-22 Hongyu Wang <hongyu.wang@intel.com>
25761
25762 PR target/103069
25763 * config/i386/i386-expand.cc (ix86_expand_atomic_fetch_op_loop):
25764 Split atomic fetch and loop part.
25765 (ix86_expand_cmpxchg_loop): New expander for cmpxchg loop.
25766 * config/i386/i386-protos.h (ix86_expand_cmpxchg_loop): New
25767 prototype.
25768 * config/i386/sync.md (atomic_compare_and_swap<mode>): Call new
25769 expander under TARGET_RELAX_CMPXCHG_LOOP.
25770 (atomic_compare_and_swap<mode>): Likewise for doubleword modes.
25771
25772 2022-02-21 Dan Li <ashimida@linux.alibaba.com>
25773
25774 * config/aarch64/aarch64.cc (SLOT_REQUIRED):
25775 Change wb_candidate[12] to wb_push_candidate[12].
25776 (aarch64_layout_frame): Likewise, and
25777 change callee_adjust when scs is enabled.
25778 (aarch64_save_callee_saves):
25779 Change wb_candidate[12] to wb_push_candidate[12].
25780 (aarch64_restore_callee_saves):
25781 Change wb_candidate[12] to wb_pop_candidate[12].
25782 (aarch64_get_separate_components):
25783 Change wb_candidate[12] to wb_push_candidate[12].
25784 (aarch64_expand_prologue): Push x30 onto SCS before it's
25785 pushed onto stack.
25786 (aarch64_expand_epilogue): Pop x30 frome SCS, while
25787 preventing it from being popped from the regular stack again.
25788 (aarch64_override_options_internal): Add SCS compile option check.
25789 (TARGET_HAVE_SHADOW_CALL_STACK): New hook.
25790 * config/aarch64/aarch64.h (struct GTY): Add is_scs_enabled,
25791 wb_pop_candidate[12], and rename wb_candidate[12] to
25792 wb_push_candidate[12].
25793 * config/aarch64/aarch64.md (scs_push): New template.
25794 (scs_pop): Likewise.
25795 * doc/invoke.texi: Document -fsanitize=shadow-call-stack.
25796 * doc/tm.texi: Regenerate.
25797 * doc/tm.texi.in: Add hook have_shadow_call_stack.
25798 * flag-types.h (enum sanitize_code):
25799 Add SANITIZE_SHADOW_CALL_STACK.
25800 * opts.cc (parse_sanitizer_options): Add shadow-call-stack
25801 and exclude SANITIZE_SHADOW_CALL_STACK.
25802 * target.def: New hook.
25803 * toplev.cc (process_options): Add SCS compile option check.
25804 * ubsan.cc (ubsan_expand_null_ifn): Enum type conversion.
25805
25806 2022-02-21 Tom de Vries <tdevries@suse.de>
25807
25808 PR target/104440
25809 * config/nvptx/nvptx.cc (workaround_uninit_method_1)
25810 (workaround_uninit_method_2, workaround_uninit_method_3)
25811 (workaround_uninit): New function.
25812 (nvptx_reorg): Use workaround_uninit.
25813 * config/nvptx/nvptx.opt (minit-regs): New option.
25814
25815 2022-02-21 Andre Vieira <andre.simoesdiasvieira@arm.com>
25816
25817 PR rtl-optimization/104498
25818 * alias.cc (compare_base_symbol_refs): Correct distance computation
25819 when swapping x and y.
25820
25821 2022-02-21 Andrew Pinski <apinski@marvell.com>
25822
25823 PR c/104506
25824 * tree-ssa.cc (tree_ssa_useless_type_conversion):
25825 Check the inner type before calling useless_type_conversion_p.
25826
25827 2022-02-19 Tom de Vries <tdevries@suse.de>
25828
25829 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle SET insn.
25830 * config/nvptx/nvptx.md
25831 (define_insn "nvptx_atomic_store<mode>"): Rename to ...
25832 (define_insn "nvptx_atomic_store_sm70<mode>"): This.
25833 (define_insn "nvptx_atomic_store<mode>"): New define_insn.
25834 (define_expand "atomic_store<mode>"): Handle rename. Use
25835 nvptx_atomic_store instead of atomic_exchange.
25836
25837 2022-02-19 Tom de Vries <tdevries@suse.de>
25838
25839 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle all
25840 insns with atomic attribute. Assert that all handled insns are
25841 PARALLELs.
25842 * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"):
25843 Set atomic attribute to false.
25844
25845 2022-02-19 Tom de Vries <tdevries@suse.de>
25846
25847 * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Change return
25848 type to bool.
25849 (nvptx_reorg_uniform_simt): Insert nvptx_uniform_warp_check or
25850 nvptx_warpsync, if necessary.
25851
25852 2022-02-19 Jakub Jelinek <jakub@redhat.com>
25853
25854 PR sanitizer/102656
25855 * asan.cc (instrument_derefs): If inner is a RESULT_DECL and access is
25856 known to be within bounds, treat it like automatic variables.
25857 If instrumenting access and inner is {VAR,PARM,RESULT}_DECL from
25858 current function and !TREE_STATIC which is not TREE_ADDRESSABLE, mark
25859 it addressable.
25860
25861 2022-02-18 Pat Haugen <pthaugen@linux.ibm.com>
25862
25863 * config/rs6000/rs6000.opt (mpower10-fusion): Mark Undocumented.
25864 (mpower10-fusion-ld-cmpi, mpower10-fusion-2logical,
25865 mpower10-fusion-logical-add, mpower10-fusion-add-logical,
25866 mpower10-fusion-2add, mpower10-fusion-2store): Remove.
25867 * config/rs6000/rs6000-cpus.def (ISA_3_1_MASKS_SERVER,
25868 OTHER_P9_VECTOR_MASKS): Remove Power10 fusion sub-options.
25869 * config/rs6000/rs6000.cc (rs6000_option_override_internal,
25870 power10_sched_reorder): Likewise.
25871 * config/rs6000/genfusion.pl (gen_ld_cmpi_p10, gen_logical_addsubf,
25872 gen_addadd): Likewise
25873 * config/rs6000/fusion.md: Regenerate.
25874
25875 2022-02-18 Jakub Jelinek <jakub@redhat.com>
25876
25877 PR target/104257
25878 PR target/104598
25879 * config/rs6000/mm_malloc.h (_mm_malloc): Call posix_memalign
25880 rather than __posix_memalign.
25881
25882 2022-02-18 Richard Biener <rguenther@suse.de>
25883
25884 PR target/104581
25885 * config/i386/i386.cc (ix86_avx_u128_mode_source): Remove.
25886 (ix86_avx_u128_mode_needed): Return AVX_U128_DIRTY instead
25887 of calling ix86_avx_u128_mode_source which would eventually
25888 have returned AVX_U128_ANY in some very special case.
25889
25890 2022-02-18 Richard Biener <rguenther@suse.de>
25891
25892 PR tree-optimization/96881
25893 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Comment
25894 CLOBBER handling.
25895 (control_parents_preserved_p): New function.
25896 (eliminate_unnecessary_stmts): Check that we preserved control
25897 parents before retaining a CLOBBER.
25898 (perform_tree_ssa_dce): Pass down aggressive flag
25899 to eliminate_unnecessary_stmts.
25900
25901 2022-02-17 Jason Merrill <jason@redhat.com>
25902
25903 * tree.cc (warn_deprecated_use): Look for TYPE_STUB_DECL
25904 on TYPE_MAIN_VARIANT.
25905
25906 2022-02-17 Paul A. Clarke <pc@us.ibm.com>
25907
25908 PR target/104257
25909 * config/rs6000/bmi2intrin.h: Uglify local variables.
25910 * config/rs6000/emmintrin.h: Likewise.
25911 * config/rs6000/mm_malloc.h: Likewise.
25912 * config/rs6000/mmintrin.h: Likewise.
25913 * config/rs6000/pmmintrin.h: Likewise.
25914 * config/rs6000/smmintrin.h: Likewise.
25915 * config/rs6000/tmmintrin.h: Likewise.
25916 * config/rs6000/xmmintrin.h: Likewise.
25917
25918 2022-02-17 Robin Dapp <rdapp@linux.ibm.com>
25919
25920 PR target/104335
25921 * config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Return false
25922 if the expected comparison's first operand is of mode MODE_CC.
25923
25924 2022-02-17 Vladimir N. Makarov <vmakarov@redhat.com>
25925
25926 PR rtl-optimization/104447
25927 * lra-constraints.cc (spill_hard_reg_in_range): Initiate ignore
25928 hard reg set by lra_no_alloc_regs.
25929
25930 2022-02-17 liuhongt <hongtao.liu@intel.com>
25931
25932 PR tree-optimization/104551
25933 PR tree-optimization/103771
25934 * match.pd (cond_expr_convert_p): Add types_match check when
25935 convert is extension.
25936 * tree-vect-patterns.cc
25937 (gimple_cond_expr_convert_p): Adjust comments.
25938 (vect_recog_cond_expr_convert_pattern): Ditto.
25939
25940 2022-02-17 Jakub Jelinek <jakub@redhat.com>
25941
25942 PR debug/104557
25943 * valtrack.cc (debug_lowpart_subreg): Don't call gen_rtx_raw_SUBREG
25944 if expr has VOIDmode.
25945
25946 2022-02-17 liuhongt <hongtao.liu@intel.com>
25947
25948 * config/i386/cpuid.h (bit_MPX): Removed.
25949 (bit_BNDREGS): Ditto.
25950 (bit_BNDCSR): Ditto.
25951
25952 2022-02-17 Michael Meissner <meissner@the-meissners.org>
25953
25954 PR target/99708
25955 * config/rs6000/rs6000-c.cc (rs6000_cpu_cpp_builtins): Define
25956 __SIZEOF_IBM128__ if the IBM 128-bit long double type is created.
25957 Define __SIZEOF_FLOAT128__ if the IEEE 128-bit floating point type
25958 is created.
25959
25960 2022-02-16 Andrew MacLeod <amacleod@redhat.com>
25961
25962 * gimple-range-gori.cc (gori_compute::condexpr_adjust): Use
25963 range_compatible_p instead of direct type comparison.
25964
25965 2022-02-16 Jakub Jelinek <jakub@redhat.com>
25966
25967 PR rtl-optimization/104544
25968 * combine.cc (try_combine): When looking for insn whose links
25969 should be updated from i3 to i2, don't stop on debug insns, instead
25970 skip over them.
25971
25972 2022-02-16 Richard Sandiford <richard.sandiford@arm.com>
25973
25974 PR target/100056
25975 * config/aarch64/iterators.md (LOGICAL_OR_PLUS): New iterator.
25976 * config/aarch64/aarch64.md: Extend the PR100056 patterns
25977 to handle plus in the same way as ior, if the operands have
25978 no set bits in common.
25979
25980 2022-02-15 Andrew MacLeod <amacleod@redhat.com>
25981
25982 PR tree-optimization/104526
25983 * gimple-range-fold.cc (fold_using_range::range_of_cond_expr): Call
25984 new routine.
25985 * gimple-range-gori.cc (range_def_chain::get_def_chain): Force a build
25986 of dependency chain if there isn't one.
25987 (gori_compute::condexpr_adjust): New.
25988 * gimple-range-gori.h (class gori_compute): New prototype.
25989
25990 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
25991
25992 PR target/100874
25993 * config/aarch64/aarch64-protos.h (aarch64_maxmin_plus_const):
25994 Declare.
25995 * config/aarch64/aarch64.cc (aarch64_maxmin_plus_const): New function.
25996 * config/aarch64/aarch64.md (*aarch64_minmax_plus): New pattern.
25997
25998 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
25999
26000 * tree-vectorizer.h (vect_scalar_ops_slice): New struct.
26001 (vect_scalar_ops_slice_hash): Likewise.
26002 (vect_scalar_ops_slice::op): New function.
26003 * tree-vect-slp.cc (vect_scalar_ops_slice::all_same_p): New function.
26004 (vect_scalar_ops_slice_hash::hash): Likewise.
26005 (vect_scalar_ops_slice_hash::equal): Likewise.
26006 (vect_prologue_cost_for_slp): Check for duplicate vectors.
26007 * config/aarch64/aarch64.cc
26008 (aarch64_vector_costs::m_stp_sequence_cost): New member variable.
26009 (aarch64_aligned_constant_offset_p): New function.
26010 (aarch64_stp_sequence_cost): Likewise.
26011 (aarch64_vector_costs::add_stmt_cost): Handle new STP heuristic.
26012 (aarch64_vector_costs::finish_cost): Likewise.
26013
26014 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
26015
26016 * tree-vect-slp.cc (vect_bb_vectorization_profitable_p): Fix
26017 use after free.
26018
26019 2022-02-15 Richard Biener <rguenther@suse.de>
26020
26021 PR tree-optimization/104543
26022 * gimple-loop-jam.cc (unroll_jam_possible_p): Check outer loop exits
26023 come after the inner loop.
26024
26025 2022-02-15 Jakub Jelinek <jakub@redhat.com>
26026
26027 PR target/104536
26028 * config/i386/host-cygwin.cc (cygwin_gt_pch_get_address): Use
26029 cannot instead of can%'t in diagnostics. Formatting fixes.
26030
26031 2022-02-15 Jakub Jelinek <jakub@redhat.com>
26032
26033 PR middle-end/104522
26034 * fold-const.h (native_interpret_real): Declare.
26035 * fold-const.cc (native_interpret_real): No longer static. Don't
26036 perform MODE_COMPOSITE_P verification here.
26037 (native_interpret_expr) <case REAL_TYPE>: But perform it here instead
26038 for all modes.
26039 * gimple-fold.cc (clear_padding_type): Call native_interpret_real
26040 instead of native_interpret_expr.
26041 * simplify-rtx.cc (simplify_immed_subreg): Perform the native_encode_rtx
26042 and comparison verification for all FLOAT_MODE_P modes, not just
26043 MODE_COMPOSITE_P.
26044
26045 2022-02-15 Richard Biener <rguenther@suse.de>
26046
26047 PR tree-optimization/104519
26048 * fold-const.cc (multiple_of_p): Remove never true condition.
26049 * tree-ssa-loop-niter.cc (number_of_iterations_ne): Use
26050 the appropriate types for determining whether the difference
26051 of final and base is a multiple of the step.
26052
26053 2022-02-15 Jakub Jelinek <jakub@redhat.com>
26054
26055 PR debug/104517
26056 * omp-low.cc (task_cpyfns): New variable.
26057 (delete_omp_context): Don't call finalize_task_copyfn from here.
26058 (create_task_copyfn): Push task_stmt into task_cpyfns.
26059 (execute_lower_omp): Call finalize_task_copyfn here on entries from
26060 task_cpyfns vector and release the vector.
26061
26062 2022-02-14 Martin Sebor <msebor@redhat.com>
26063
26064 PR middle-end/104355
26065 * doc/invoke.texi (-Warray-bounds): Update documentation.
26066
26067 2022-02-14 Michael Meissner <meissner@the-meissners.org>
26068
26069 PR target/104253
26070 * config/rs6000/rs6000.cc (init_float128_ibm): Update the
26071 conversion functions used to convert IFmode types.
26072
26073 2022-02-14 Andrew Stubbs <ams@codesourcery.com>
26074
26075 * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Use force_reg.
26076
26077 2022-02-14 Richard Biener <rguenther@suse.de>
26078
26079 PR tree-optimization/104528
26080 * tree-ssa.h (find_released_ssa_name): Declare.
26081 * tree-ssa.cc (find_released_ssa_name): Export.
26082 * cfgloop.cc (verify_loop_structure): Look for released
26083 SSA names in loops nb_iterations.
26084 * tree-ssa-dse.cc (pass_dse::execute): Release number of iteration
26085 estimates.
26086
26087 2022-02-14 Richard Biener <rguenther@suse.de>
26088
26089 PR tree-optimization/104511
26090 * tree-ssa-forwprop.cc (simplify_vector_constructor): Avoid
26091 touching DFP <-> FP conversions.
26092
26093 2022-02-14 Richard Biener <rguenther@suse.de>
26094
26095 PR middle-end/104497
26096 * gimplify.cc (gimplify_compound_lval): Make sure the
26097 base is a non-register if needed and possible.
26098
26099 2022-02-13 liuhongt <hongtao.liu@intel.com>
26100
26101 PR target/103771
26102 * match.pd (cond_expr_convert_p): New match.
26103 * tree-vect-patterns.cc (gimple_cond_expr_convert_p): Declare.
26104 (vect_recog_cond_expr_convert_pattern): New.
26105
26106 2022-02-12 Jakub Jelinek <jakub@redhat.com>
26107
26108 PR sanitizer/104449
26109 * asan.cc: Include tree-eh.h.
26110 (handle_builtin_alloca): Handle the case when __builtin_alloca or
26111 __builtin_alloca_with_align can throw.
26112
26113 2022-02-12 Jakub Jelinek <jakub@redhat.com>
26114
26115 PR target/104502
26116 * config/i386/i386.md (cvtsd2ss splitter): If operands[1] is xmm16+
26117 and AVX512VL isn't available, move operands[1] to operands[0] first.
26118
26119 2022-02-12 Uroš Bizjak <ubizjak@gmail.com>
26120
26121 PR target/79754
26122 * config/i386/i386.cc (type_natural_mode):
26123 Skip decimal float vector modes.
26124
26125 2022-02-11 Iain Sandoe <iain@sandoe.co.uk>
26126 Vladimir Makarov <vmakarov@redhat.com>
26127
26128 PR target/104117
26129 * config/rs6000/rs6000.cc (darwin_rs6000_legitimate_lo_sum_const_p):
26130 Check for UNSPEC_MACHOPIC_OFFSET wrappers on symbolic addresses when
26131 emitting PIC code.
26132 (legitimate_lo_sum_address_p): Likewise.
26133 * lra-constraints.cc (process_address_1): Do not attempt to emit a reg
26134 load from an invalid lo_sum address.
26135
26136 2022-02-11 Jakub Jelinek <jakub@redhat.com>
26137
26138 PR tree-optimization/104499
26139 * match.pd ((X & Y) CMP 0 -> X CMP2 ~Y): Use view_convert instead
26140 of convert.
26141
26142 2022-02-11 Jakub Jelinek <jakub@redhat.com>
26143
26144 * tree.cc (build_common_builtin_nodes): Fix up formatting in
26145 __builtin_clear_padding decl creation.
26146 * gimplify.cc (gimple_add_padding_init_for_auto_var): Encode
26147 for_auto_init in the value of 2nd BUILT_IN_CLEAR_PADDING
26148 argument rather than in 3rd argument.
26149 (gimplify_call_expr): Likewise. Fix up comment formatting.
26150 * gimple-fold.cc (gimple_fold_builtin_clear_padding): Expect
26151 2 arguments instead of 3, take for_auto_init from the value
26152 of 2nd argument.
26153
26154 2022-02-11 Vladimir N. Makarov <vmakarov@redhat.com>
26155
26156 PR rtl-optimization/104400
26157 * lra-constraints.cc (process_alt_operands): Don't make union of
26158 this_alternative_exclude_start_hard_regs when reg class in insn
26159 alternative covers other reg classes in the same alternative.
26160
26161 2022-02-11 Jakub Jelinek <jakub@redhat.com>
26162
26163 PR middle-end/104446
26164 * combine.cc (subst): Don't substitute CONST_INTs into RTX_AUTOINC
26165 operands.
26166
26167 2022-02-11 Richard Biener <rguenther@suse.de>
26168
26169 PR middle-end/104496
26170 * internal-fn.cc (vectorized_internal_fn_supported_p):
26171 Bail out for integer mode vector types.
26172
26173 2022-02-11 Jakub Jelinek <jakub@redhat.com>
26174
26175 PR rtl-optimization/104459
26176 * df-scan.cc (df_insn_change_bb): Don't call df_set_bb_dirty when
26177 moving DEBUG_INSNs between bbs.
26178
26179 2022-02-11 liuhongt <hongtao.liu@intel.com>
26180
26181 PR tree-optimization/104479
26182 * match.pd (uncond_op + vec_cond -> cond_op): Add single_use
26183 for the dest of uncond_op.
26184
26185 2022-02-11 Tom de Vries <tdevries@suse.de>
26186
26187 PR target/104456
26188 * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle asm
26189 insn.
26190
26191 2022-02-10 Qing Zhao <qing.zhao@oracle.com>
26192
26193 PR middle-end/100775
26194 * function.cc (gen_call_used_regs_seq): Call
26195 df_update_exit_block_uses when updating df.
26196
26197 2022-02-10 Uroš Bizjak <ubizjak@gmail.com>
26198
26199 PR target/104469
26200 * config/i386/sse.md (vec_unpacks_float_lo_v4si):
26201 Change operand 1 constraint to register_operand.
26202
26203 2022-02-10 Richard Biener <rguenther@suse.de>
26204
26205 PR tree-optimization/104373
26206 * tree-ssa-sccvn.h (do_rpo_vn): New export exposing the
26207 walk kind.
26208 * tree-ssa-sccvn.cc (do_rpo_vn): Export, get the default
26209 walk kind as argument.
26210 (run_rpo_vn): Adjust.
26211 (pass_fre::execute): Likewise.
26212 * tree-ssa-uninit.cc (warn_uninitialized_vars): Skip
26213 blocks not reachable.
26214 (execute_late_warn_uninitialized): Mark all edges as
26215 executable.
26216 (execute_early_warn_uninitialized): Use VN to compute
26217 executable edges.
26218 (pass_data_early_warn_uninitialized): Enable a dump file,
26219 change dump name to warn_uninit.
26220
26221 2022-02-10 Richard Biener <rguenther@suse.de>
26222
26223 PR middle-end/104467
26224 * match.pd (vector extract simplification): Multiply the
26225 number of CTOR elements with the number of element elements.
26226
26227 2022-02-10 Richard Biener <rguenther@suse.de>
26228
26229 PR tree-optimization/104466
26230 * tree-ssa-alias.cc (refs_may_alias_p_2): Use rbase1/rbase2
26231 for the MR_DEPENDENCE checks as intended.
26232
26233 2022-02-10 Tom de Vries <tdevries@suse.de>
26234
26235 * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"): New
26236 define_insn.
26237 (define_expand "atomic_store<mode>"): Use nvptx_atomic_store<mode> for
26238 TARGET_SM70.
26239 (define_c_enum "unspecv"): Add UNSPECV_ST.
26240
26241 2022-02-10 Tom de Vries <tdevries@suse.de>
26242
26243 * config/nvptx/nvptx-protos.h (nvptx_mem_maybe_shared_p): Declare.
26244 * config/nvptx/nvptx.cc (nvptx_mem_data_area): New static function.
26245 (nvptx_mem_maybe_shared_p): New function.
26246 * config/nvptx/nvptx.md (define_expand "atomic_store<mode>"): New
26247 define_expand.
26248
26249 2022-02-10 Tom de Vries <tdevries@suse.de>
26250
26251 PR target/97005
26252 * config/nvptx/nvptx.md (define_insn "sub<mode>3"): Workaround
26253 driver JIT bug by using sub.s16 instead of sub.u16.
26254
26255 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
26256
26257 * config/nvptx/nvptx.md (copysign<mode>3): Allow immediate
26258 floating point constants as operands 1 and/or 2.
26259
26260 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
26261
26262 PR target/104345
26263 * config/nvptx/nvptx.md (sel_true<mode>): Fix indentation.
26264 (sel_false<mode>): Likewise.
26265 (define_code_iterator eqne): New code iterator for EQ and NE.
26266 (*selp<mode>_neg_<code>): New define_insn_and_split to optimize
26267 the negation of a selp instruction.
26268 (*selp<mode>_not_<code>): New define_insn_and_split to optimize
26269 the bitwise not of a selp instruction.
26270 (*setcc_int<mode>): Use set instruction for neg:SI of a selp.
26271
26272 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
26273
26274 * config/nvptx/nvptx.md (any_logic): Move code iterator earlier
26275 in machine description.
26276 (logic): Move code attribute earlier in machine description.
26277 (ilogic): New code attribute, like logic but "ior" for IOR.
26278 (and<mode>3, ior<mode>3, xor<mode>3): Delete. Replace with...
26279 (<ilogic><mode>3): New define_insn for HSDIM logic operations.
26280 (<ilogic>bi3): New define_insn for BI mode logic operations.
26281 (define_split): Lower logic operations from integer modes to
26282 BI mode predicate operations.
26283
26284 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
26285
26286 * config/nvptx/nvptx.md (UNSPEC_ISINF): New UNSPEC.
26287 (one_cmplbi2): New define_insn for not.pred.
26288 (mulditi3): New define_expand for signed widening multiply.
26289 (umulditi3): New define_expand for unsigned widening multiply.
26290 (smul<mode>3_highpart): New define_insn for signed highpart mult.
26291 (umul<mode>3_highpart): New define_insn for unsigned highpart mult.
26292 (*smulhi3_highpart_2): Renamed from smulhi3_highpart.
26293 (*smulsi3_highpart_2): Renamed from smulsi3_highpart.
26294 (*umulhi3_highpart_2): Renamed from umulhi3_highpart.
26295 (*umulsi3_highpart_2): Renamed from umulsi3_highpart.
26296 (*setcc<mode>_from_not_bi): New define_insn.
26297 (*setcc_isinf<mode>): New define_insn for testp.infinite.
26298 (isinf<mode>2): New define_expand.
26299
26300 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
26301
26302 * config/nvptx/nvptx.md (cmp<mode>): Renamed from *cmp<mode>.
26303 (setcc<mode>_from_bi): Additionally support QImode.
26304 (extendbi<mode>2): Additionally support QImode.
26305 (zero_extendbi<mode>2): Additionally support QImode.
26306 (any_sbinary, any_ubinary, any_sunary, any_uunary): New code
26307 iterators for signed and unsigned, binary and unary operations.
26308 (<sbinary>qi3, <ubinary>qi3, <sunary>qi2, <uunary>qi2): New
26309 expanders to perform QImode operations using SImode instructions.
26310 (cstoreqi4): New define_expand.
26311 (*ext_truncsi2_qi): New define_insn.
26312 (*zext_truncsi2_qi): New define_insn.
26313
26314 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
26315
26316 * config/nvptx/nvptx.md (*cmpf): New define_insn.
26317 (cstorehf4): New define_expand.
26318 (fmahf4): New define_insn.
26319 (neghf2): New define_insn.
26320 (abshf2): New define_insn.
26321
26322 2022-02-10 Gerald Pfeifer <gerald@pfeifer.com>
26323
26324 * doc/install.texi (Specific): Change the www.bitwizard.nl
26325 reference to use https.
26326
26327 2022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
26328
26329 * gimplify.cc (gimplify_scan_omp_clauses): Added cases for
26330 OMP_CLAUSE_HAS_DEVICE_ADDR
26331 and handle array sections.
26332 (gimplify_adjust_omp_clauses): Added OMP_CLAUSE_HAS_DEVICE_ADDR case.
26333 * omp-low.cc (scan_sharing_clauses): Handle OMP_CLAUSE_HAS_DEVICE_ADDR.
26334 (lower_omp_target): Same.
26335 * tree-core.h (enum omp_clause_code): Same.
26336 * tree-nested.cc (convert_nonlocal_omp_clauses): Same.
26337 (convert_local_omp_clauses): Same.
26338 * tree-pretty-print.cc (dump_omp_clause): Same.
26339 * tree.cc: Same.
26340
26341 2022-02-10 Eugene Rozenfeld <erozen@microsoft.com>
26342
26343 * auto-profile.cc (afdo_indirect_call): Don't attempt to promote indirect calls
26344 that will result in direct recursive calls.
26345
26346 2022-02-10 Andrew Pinski <apinski@marvell.com>
26347
26348 PR target/104474
26349 * config/aarch64/aarch64.cc
26350 (aarch64_sve_expand_vector_init_handle_trailing_constants):
26351 Use CONST0_RTX instead of const0_rtx for the non-constant elements.
26352
26353 2022-02-09 Uroš Bizjak <ubizjak@gmail.com>
26354
26355 PR target/104462
26356 * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_XSAVE_UNSET):
26357 Also include OPTION_MASK_ISA2_AVX2_UNSET.
26358
26359 2022-02-09 Uroš Bizjak <ubizjak@gmail.com>
26360
26361 PR target/104458
26362 * config/i386/i386-expand.cc (ix86_split_idivmod):
26363 Force operands[2] and operands[3] into a register..
26364
26365 2022-02-09 Jeff Law <jeffreyalaw@gmail.com>
26366
26367 PR target/97040
26368 * config/v850/v850.md (*v850_fnmasf4): Renamed from fnmasf4.
26369 (*v850_fnmssf4): Renamed from fnmssf4
26370
26371 2022-02-09 Ian Lance Taylor <iant@golang.org>
26372
26373 * godump.cc (go_force_record_alignment): Really name the alignment
26374 field "_" (complete 2021-12-29 change).
26375
26376 2022-02-09 Bill Schmidt <wschmidt@linux.ibm.com>
26377
26378 * config/rs6000/rs6000-builtins.def (VREPLACE_UN_UV2DI): Change
26379 function prototype.
26380 (VREPLACE_UN_UV4SI): Likewise.
26381 (VREPLACE_UN_V2DF): Likewise.
26382 (VREPLACE_UN_V2DI): Likewise.
26383 (VREPLACE_UN_V4SF): Likewise.
26384 (VREPLACE_UN_V4SI): Likewise.
26385 * config/rs6000/rs6000-overload.def (VEC_REPLACE_UN): Change all
26386 function prototypes.
26387 * config/rs6000/vsx.md (vreplace_un_<mode>): Remove define_expand.
26388 (vreplace_un_<mode>): New define_insn.
26389
26390 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
26391
26392 * config/aarch64/iterators.md (VDCSIF): New mode iterator.
26393 (VDBL): Handle SF.
26394 (single_wx, single_type, single_dtype, dblq): New mode attributes.
26395 * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Extend
26396 from VDC to VDCSIF.
26397 (store_pair_lanes<mode>): Likewise.
26398 (*aarch64_combine_internal<mode>): Likewise.
26399 (*aarch64_combine_internal_be<mode>): Likewise.
26400 (*aarch64_combinez<mode>): Likewise.
26401 (*aarch64_combinez_be<mode>): Likewise.
26402 * config/aarch64/aarch64.cc (aarch64_classify_address): Handle
26403 8-byte modes for ADDR_QUERY_LDP_STP_N.
26404 (aarch64_print_operand): Likewise for %y.
26405
26406 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
26407
26408 * config/aarch64/aarch64-simd.md (@aarch64_split_simd_mov<mode>):
26409 Use aarch64_combine instead of move_lo/hi_quad. Tabify.
26410 (move_lo_quad_<mode>, aarch64_simd_move_hi_quad_<mode>): Delete.
26411 (aarch64_simd_move_hi_quad_be_<mode>, move_hi_quad_<mode>): Delete.
26412 (vec_pack_trunc_<mode>): Take general_operand elements and use
26413 aarch64_combine rather than move_lo/hi_quad to combine them.
26414 (vec_pack_trunc_df): Likewise.
26415
26416 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
26417
26418 * config/aarch64/aarch64-protos.h (aarch64_split_simd_combine):
26419 Delete.
26420 * config/aarch64/aarch64-simd.md (@aarch64_combinez<mode>): Rename
26421 to...
26422 (*aarch64_combinez<mode>): ...this.
26423 (@aarch64_combinez_be<mode>): Rename to...
26424 (*aarch64_combinez_be<mode>): ...this.
26425 (@aarch64_vec_concat<mode>): New expander.
26426 (aarch64_combine<mode>): Use it.
26427 (@aarch64_simd_combine<mode>): Delete.
26428 * config/aarch64/aarch64.cc (aarch64_split_simd_combine): Delete.
26429 (aarch64_expand_vector_init): Use aarch64_vec_concat.
26430
26431 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
26432
26433 * config/aarch64/predicates.md (aarch64_reg_or_mem_pair_operand):
26434 New predicate.
26435 * config/aarch64/aarch64-simd.md (*aarch64_combine_internal<mode>)
26436 (*aarch64_combine_internal_be<mode>): New patterns.
26437
26438 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
26439
26440 * config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>)
26441 (move_lo_quad_internal_be_<mode>): Delete.
26442 (move_lo_quad_<mode>): Use aarch64_combine<Vhalf> instead of the above.
26443
26444 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
26445
26446 * config/aarch64/aarch64-protos.h (aarch64_mergeable_load_pair_p):
26447 Declare.
26448 * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Use
26449 aarch64_mergeable_load_pair_p instead of inline check.
26450 * config/aarch64/aarch64.cc (aarch64_expand_vector_init): Likewise.
26451 (aarch64_check_consecutive_mems): Allow the reversed parameter
26452 to be null.
26453 (aarch64_mergeable_load_pair_p): New function.
26454
26455 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
26456
26457 * config/aarch64/aarch64-simd.md (vec_set<mode>): Allow the
26458 element to be an aarch64_simd_nonimmediate_operand.
26459
26460 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
26461
26462 * config/aarch64/aarch64-simd.md (aarch64_simd_vec_set<mode>): Use
26463 aarch64_simd_nonimmediate_operand instead of
26464 aarch64_simd_general_operand.
26465 (@aarch64_combinez<mode>): Use nonimmediate_operand instead of
26466 general_operand.
26467 (@aarch64_combinez_be<mode>): Likewise.
26468
26469 2022-02-09 Richard Biener <rguenther@suse.de>
26470
26471 PR middle-end/104464
26472 * gimple-isel.cc (gimple_expand_vec_cond_expr): Postpone
26473 throwing check to after unproblematic replacement.
26474
26475 2022-02-09 Roger Sayle <roger@nextmovesoftware.com>
26476
26477 PR tree-optimization/104420
26478 * match.pd (mult @0 real_zerop): Tweak conditions for constant
26479 folding X*0.0 (or X*-0.0) to HONOR_SIGNED_ZEROS when appropriate.
26480
26481 2022-02-09 Jakub Jelinek <jakub@redhat.com>
26482
26483 PR debug/104407
26484 * dwarf2out.cc (mangle_referenced_decls): New function.
26485 (tree_add_const_value_attribute): Don't call rtl_for_decl_init if
26486 early_dwarf. Instead walk the initializer and try to mangle vars or
26487 functions referenced from it.
26488
26489 2022-02-09 Andrew MacLeod <amacleod@redhat.com>
26490
26491 PR tree-optimization/104288
26492 * gimple-range-cache.cc (non_null_ref::set_nonnull): New.
26493 (non_null_ref::adjust_range): Move to header.
26494 (ranger_cache::range_of_def): Don't check non-null.
26495 (ranger_cache::entry_range): Don't check non-null.
26496 (ranger_cache::range_on_edge): Check for nonnull on normal edges.
26497 (ranger_cache::update_to_nonnull): New.
26498 (non_null_loadstore): New.
26499 (ranger_cache::block_apply_nonnull): New.
26500 * gimple-range-cache.h (class non_null_ref): Update prototypes.
26501 (non_null_ref::adjust_range): Move to here and inline.
26502 (class ranger_cache): Update prototypes.
26503 * gimple-range-path.cc (path_range_query::range_defined_in_block): Do
26504 not search dominators.
26505 (path_range_query::adjust_for_non_null_uses): Ditto.
26506 * gimple-range.cc (gimple_ranger::range_of_expr): Check on-entry for
26507 def overrides. Do not check nonnull.
26508 (gimple_ranger::range_on_entry): Check dominators for nonnull.
26509 (gimple_ranger::range_on_edge): Check for nonnull on normal edges..
26510 (gimple_ranger::register_side_effects): New.
26511 * gimple-range.h (gimple_ranger::register_side_effects): New.
26512 * tree-vrp.cc (rvrp_folder::fold_stmt): Call register_side_effects.
26513
26514 2022-02-09 Richard Biener <rguenther@suse.de>
26515
26516 PR tree-optimization/104445
26517 PR tree-optimization/102832
26518 * optabs-query.h (can_vec_extract): New.
26519 * optabs-query.cc (can_vec_extract): Likewise.
26520 * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
26521 we can extract a hi/lo part from the larger vector, rework
26522 check iteration from larger to smaller sizes.
26523
26524 2022-02-09 H.J. Lu <hjl.tools@gmail.com>
26525
26526 PR target/35513
26527 PR target/100593
26528 * config/i386/gnu-property.cc: Include "i386-protos.h".
26529 (file_end_indicate_exec_stack_and_gnu_property): Generate
26530 a GNU_PROPERTY_1_NEEDED note for -mno-direct-extern-access or
26531 nodirect_extern_access attribute.
26532 * config/i386/i386-options.cc
26533 (handle_nodirect_extern_access_attribute): New function.
26534 (ix86_attribute_table): Add nodirect_extern_access attribute.
26535 * config/i386/i386-protos.h (ix86_force_load_from_GOT_p): Add a
26536 bool argument.
26537 (ix86_has_no_direct_extern_access): New.
26538 * config/i386/i386.cc (ix86_has_no_direct_extern_access): New.
26539 (ix86_force_load_from_GOT_p): Add a bool argument to indicate
26540 call operand. Force non-call load from GOT for
26541 -mno-direct-extern-access or nodirect_extern_access attribute.
26542 (legitimate_pic_address_disp_p): Avoid copy relocation in PIE
26543 for -mno-direct-extern-access or nodirect_extern_access attribute.
26544 (ix86_print_operand): Pass true to ix86_force_load_from_GOT_p
26545 for call operand.
26546 (asm_preferred_eh_data_format): Use PC-relative format for
26547 -mno-direct-extern-access to avoid copy relocation. Check
26548 ptr_mode instead of TARGET_64BIT when selecting DW_EH_PE_sdata4.
26549 (ix86_binds_local_p): Set ix86_has_no_direct_extern_access to
26550 true for -mno-direct-extern-access or nodirect_extern_access
26551 attribute. Don't treat protected data as extern and avoid copy
26552 relocation on common symbol with -mno-direct-extern-access or
26553 nodirect_extern_access attribute.
26554 (ix86_reloc_rw_mask): New to avoid copy relocation for
26555 -mno-direct-extern-access.
26556 (TARGET_ASM_RELOC_RW_MASK): New.
26557 * config/i386/i386.opt: Add -mdirect-extern-access.
26558 * doc/extend.texi: Document nodirect_extern_access attribute.
26559 * doc/invoke.texi: Document -m[no-]direct-extern-access.
26560
26561 2022-02-09 H.J. Lu <hjl.tools@gmail.com>
26562
26563 PR target/104441
26564 * config/i386/i386.cc (ix86_avx_u128_mode_source): New function.
26565 (ix86_avx_u128_mode_needed): Return AVX_U128_ANY for debug INSN.
26566 Call ix86_avx_u128_mode_source to check mode for each component
26567 of source operand.
26568
26569 2022-02-09 liuhongt <hongtao.liu@intel.com>
26570
26571 PR target/104451
26572 * config/i386/sse.md (<insn><mode>3): lowpart_subreg
26573 operands[2] from SImode to QImode.
26574
26575 2022-02-09 Richard Biener <rguenther@suse.de>
26576
26577 PR middle-end/104450
26578 * gimple-isel.cc: Pass cfun around.
26579 (+gimple_expand_vec_cond_expr): Do not combine a throwing
26580 comparison with the select.
26581
26582 2022-02-09 Richard Biener <rguenther@suse.de>
26583
26584 PR target/104453
26585 * config/i386/i386.cc (ix86_gimple_fold_builtin): Guard shift
26586 folding for NULL LHS.
26587
26588 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
26589
26590 PR rtl-optimization/104198
26591 PR rtl-optimization/104153
26592 * ifcvt.cc (noce_convert_multiple_sets_1): Copy rtx instead of
26593 using it directly. Rework comparison handling and always
26594 perform a second pass.
26595
26596 2022-02-08 Jakub Jelinek <jakub@redhat.com>
26597
26598 PR target/102140
26599 * config/rs6000/rs6000.cc (vspltis_shifted): Return false also if
26600 split1 pass has finished already.
26601
26602 2022-02-08 Bill Schmidt <wschmidt@linux.ibm.com>
26603
26604 * config/rs6000/rs6000-builtins.def (VMSUMCUD): New.
26605 * config/rs6000/rs6000-overload.def (VEC_MSUMC): New.
26606 * config/rs6000/vsx.md (UNSPEC_VMSUMCUD): New constant.
26607 (vmsumcud): New define_insn.
26608
26609 2022-02-08 Tom de Vries <tdevries@suse.de>
26610
26611 * config/nvptx/nvptx-opts.h (enum ptx_isa): Add PTX_ISA_SM70.
26612 * config/nvptx/nvptx.h (TARGET_SM70): Define.
26613
26614 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
26615
26616 * config/s390/s390.cc (s390_rtx_costs): Increase costs for load
26617 on condition.
26618 * config/s390/s390.md: Use paradoxical subreg.
26619
26620 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
26621
26622 * combine.cc (reg_subword_p): Check for paradoxical subreg.
26623
26624 2022-02-08 Tom de Vries <tdevries@suse.de>
26625
26626 PR target/104283
26627 * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_3_0
26628 and PTX_VERSION_4_2.
26629 * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm)
26630 (default_ptx_version_option, ptx_version_to_string)
26631 (sm_version_to_string, handle_ptx_version_option): New function.
26632 (nvptx_option_override): Call handle_ptx_version_option.
26633 (nvptx_file_start): Use ptx_version_to_string and sm_version_to_string.
26634 * config/nvptx/nvptx.md (define_insn "nvptx_shuffle<mode>")
26635 (define_insn "nvptx_vote_ballot"): Use TARGET_PTX_6_0.
26636 * config/nvptx/nvptx.opt (mptx): Remove 'Init'.
26637
26638 2022-02-08 Maciej W. Rozycki <macro@embecosm.com>
26639
26640 * doc/install.texi (Configuration): Document `--with-isa-spec='
26641 RISC-V option.
26642 * doc/invoke.texi (Option Summary): List `-misa-spec=' RISC-V
26643 option.
26644 (RISC-V Options): Document it.
26645
26646 2022-02-08 Maciej W. Rozycki <macro@embecosm.com>
26647
26648 * config/riscv/t-riscv (riscv-sr.o): Add $(TM_H) dependency.
26649
26650 2022-02-08 Tom de Vries <tdevries@suse.de>
26651
26652 * config/nvptx/nvptx.cc (write_fn_proto_1): Handle 'main (int)'.
26653
26654 2022-02-08 Tom de Vries <tdevries@suse.de>
26655
26656 PR target/104364
26657 * config/nvptx/nvptx-protos.h (nvptx_mem_local_p): Declare.
26658 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Assert that
26659 change is validated.
26660 (nvptx_mem_local_p): New function.
26661 * config/nvptx/nvptx.md: Use nvptx_mem_local_p.
26662 (define_c_enum "unspecv"): Add UNSPECV_CAS_LOCAL.
26663 (define_insn "atomic_compare_and_swap<mode>_1_local"): New
26664 non-atomic, non-predicable define_insn, factored out of ...
26665 (define_insn "atomic_compare_and_swap<mode>_1"): ... here.
26666 Make predicable again.
26667 (define_expand "atomic_compare_and_swap<mode>"): Use
26668 atomic_compare_and_swap<mode>_1_local.
26669
26670 2022-02-08 liuhongt <hongtao.liu@intel.com>
26671
26672 PR rtl-optimization/104059
26673 * regcprop.cc (copyprop_hardreg_forward_1): Don't propagate
26674 for a more expensive reg-reg move.
26675
26676 2022-02-07 Tamar Christina <tamar.christina@arm.com>
26677
26678 * config/arm/arm_neon.h (vusdotq_s32, vusdot_laneq_s32,
26679 vusdotq_laneq_s32, vsudot_laneq_s32, vsudotq_laneq_s32): New
26680 * config/arm/arm_neon_builtins.def (usdot): Add V16QI.
26681 (usdot_laneq, sudot_laneq): New.
26682 * config/arm/neon.md (neon_<sup>dot_laneq<vsi2qi>): New.
26683 (neon_<sup>dot_lane<vsi2qi>): Remote unneeded code.
26684
26685 2022-02-07 Tamar Christina <tamar.christina@arm.com>
26686
26687 * config/arm/arm_neon.h (vdot_laneq_u32, vdotq_laneq_u32,
26688 vdot_laneq_s32, vdotq_laneq_s32): New.
26689 * config/arm/arm_neon_builtins.def (sdot_laneq, udot_laneq): New.
26690 * config/arm/neon.md (neon_<sup>dot<vsi2qi>): New.
26691 (<sup>dot_prod<vsi2qi>): Re-order rtl.
26692 (neon_<sup>dot_lane<vsi2qi>): Fix rtl order and endiannes.
26693 (neon_<sup>dot_laneq<vsi2qi>): New.
26694
26695 2022-02-07 Andreas Krebbel <krebbel@linux.ibm.com>
26696
26697 PR target/104327
26698 * config/s390/s390.cc (s390_can_inline_p): Accept a few more flags
26699 if always_inline is set. Don't inline when tune differs without
26700 always_inline.
26701
26702 2022-02-07 Richard Biener <rguenther@suse.de>
26703
26704 PR middle-end/104402
26705 * gimple-expr.cc (is_gimple_condexpr): _Complex typed
26706 compares are not valid.
26707 * tree-cfg.cc (verify_gimple_assign_ternary): For COND_EXPR
26708 check is_gimple_condexpr.
26709
26710 2022-02-07 Kewen Lin <linkw@linux.ibm.com>
26711
26712 PR target/103627
26713 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Move the
26714 hunk affecting VSX and ALTIVEC to appropriate place.
26715
26716 2022-02-07 Kewen Lin <linkw@linux.ibm.com>
26717
26718 PR target/103627
26719 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Disable
26720 MMA if !TARGET_VSX.
26721
26722 2022-02-06 Jakub Jelinek <jakub@redhat.com>
26723
26724 PR c++/89074
26725 PR c++/104033
26726 * fold-const.h (folding_initializer): Adjust comment.
26727 (folding_cxx_constexpr): Declare.
26728 * fold-const.cc (folding_initializer): Adjust comment.
26729 (folding_cxx_constexpr): New variable.
26730 (address_compare): Restrict the decl vs. STRING_CST
26731 or vice versa or STRING_CST vs. STRING_CST or
26732 is_global_var != is_global_var optimizations to !folding_cxx_constexpr.
26733 Punt for FUNCTION_DECLs with non-zero offsets. If folding_initializer,
26734 assume non-aliased functions have non-zero size and have different
26735 addresses. For folding_cxx_constexpr, punt on comparisons of start
26736 of some object and end of another one, regardless whether it is a decl
26737 or string literal. Also punt for folding_cxx_constexpr on
26738 STRING_CST vs. STRING_CST comparisons if the two literals could be
26739 overlapping.
26740
26741 2022-02-05 Jakub Jelinek <jakub@redhat.com>
26742
26743 PR tree-optimization/104389
26744 * match.pd (x * 0 -> 0): Punt if x maybe infinite and NaNs are
26745 honored.
26746
26747 2022-02-05 Kito Cheng <kito.cheng@sifive.com>
26748
26749 * configure.ac: Fix detection for zifencei support.
26750 * configure: Regenerate.
26751
26752 2022-02-05 Kito Cheng <kito.cheng@sifive.com>
26753
26754 PR target/104219
26755 * config.gcc (riscv*-*-*): Normalize the with_isa_spec value.
26756 (all_defaults): Add isa_spec.
26757 * config/riscv/riscv.h (OPTION_DEFAULT_SPECS): Add isa_spec.
26758
26759 2022-02-04 Bill Schmidt <wschmidt@linux.ibm.com>
26760
26761 * config/rs6000/rs6000-c.cc (resolve_vec_mul): Accept args and types
26762 parameters instead of arglist and nargs. Simplify accordingly. Remove
26763 unnecessary test for argument count mismatch.
26764 (resolve_vec_cmpne): Likewise.
26765 (resolve_vec_adde_sube): Likewise.
26766 (resolve_vec_addec_subec): Likewise.
26767 (altivec_resolve_overloaded_builtin): Move overload special handling
26768 after the gathering of arguments into args[] and types[] and the test
26769 for correct number of arguments. Don't perform the test for correct
26770 number of arguments for certain special cases. Call the other special
26771 cases with args and types instead of arglist and nargs.
26772
26773 2022-02-04 Bill Schmidt <wschmidt@linux.ibm.com>
26774
26775 PR target/100808
26776 * doc/extend.texi (Basic PowerPC Built-in Functions Available on ISA
26777 3.1): Provide consistent type names. Remove unnecessary semicolons.
26778 Fix bad line breaks.
26779
26780 2022-02-04 Jakub Jelinek <jakub@redhat.com>
26781
26782 PR target/104380
26783 * config/rs6000/rs6000.cc (rs6000_mangle_decl_assembler_name): Also
26784 adjust mangling of __builtin*printf_chk.
26785
26786 2022-02-04 Jonathan Wakely <jwakely@redhat.com>
26787
26788 * doc/cpp.texi (Variadic Macros): Replace C++2a with C++20.
26789
26790 2022-02-04 Richard Biener <rguenther@suse.de>
26791 Bin Cheng <bin.cheng@linux.alibaba.com>
26792
26793 PR tree-optimization/100499
26794 * fold-const.h (multiple_of_p): Add nowrap parameter, defaulted
26795 to true.
26796 * fold-const.cc (multiple_of_p): Likewise. Honor it for
26797 MULT_EXPR, PLUS_EXPR and MINUS_EXPR and pass it along,
26798 switching to false for conversions.
26799 * tree-ssa-loop-niter.cc (number_of_iterations_ne): Do not
26800 claim the outermost expression does not wrap when calling
26801 multiple_of_p. Refactor the check done to check the
26802 original IV, avoiding a bias that might wrap.
26803
26804 2022-02-04 Richard Biener <rguenther@suse.de>
26805
26806 * fold-const.cc (multiple_of_p): Re-write and move LSHIFT_EXPR
26807 handling.
26808
26809 2022-02-04 Eric Botcazou <ebotcazou@adacore.com>
26810
26811 PR debug/104366
26812 * dwarf2out.cc (dwarf2out_finish): Empty base_types.
26813 (dwarf2out_early_finish): Likewise.
26814
26815 2022-02-04 Eric Botcazou <ebotcazou@adacore.com>
26816
26817 PR tree-optimization/104356
26818 * match.pd (X / bool_range_Y is X): Add guard.
26819 (X / X is one): Likewise.
26820 (X / abs (X) is X < 0 ? -1 : 1): Likewise.
26821 (X / -X is -1): Likewise.
26822 (1 / X -> X == 1): Likewise.
26823
26824 2022-02-04 Richard Biener <rguenther@suse.de>
26825
26826 PR tree-optimization/103641
26827 * tree-vect-patterns.cc (vect_synth_mult_by_constant):
26828 Pass the vector mode to choose_mult_variant.
26829
26830 2022-02-04 Roger Sayle <roger@nextmovesoftware.com>
26831
26832 PR rtl-optimization/101885
26833 * combine.cc (try_combine): When splitting a parallel into two
26834 sequential sets, check not only that the first doesn't clobber
26835 the second but also that the second doesn't clobber the first.
26836
26837 2022-02-04 Richard Biener <rguenther@suse.de>
26838
26839 PR middle-end/90348
26840 PR middle-end/104092
26841 * tree-core.h (clobber_kind): New enum.
26842 (tree_base::u::bits::address_space): Document use in CONSTRUCTORs.
26843 * tree.h (CLOBBER_KIND): Add.
26844 (build_clobber): Add clobber kind argument, defaulted to
26845 CLOBBER_UNDEF.
26846 * tree.cc (build_clobber): Likewise.
26847 * gimple.h (gimple_clobber_p): New overload with specified kind.
26848 * tree-streamer-in.cc (streamer_read_tree_bitfields): Stream
26849 CLOBBER_KIND.
26850 * tree-streamer-out.cc (streamer_write_tree_bitfields):
26851 Likewise.
26852 * tree-pretty-print.cc (dump_generic_node): Mark EOL CLOBBERs.
26853 * gimplify.cc (gimplify_bind_expr): Build storage end-of-life clobbers
26854 with CLOBBER_EOL.
26855 (gimplify_target_expr): Likewise.
26856 * tree-inline.cc (expand_call_inline): Likewise.
26857 * tree-ssa-ccp.cc (insert_clobber_before_stack_restore): Likewise.
26858 * gimple-ssa-warn-access.cc (pass_waccess::check_stmt): Only treat
26859 CLOBBER_EOL clobbers as ending lifetime of storage.
26860
26861 2022-02-04 Martin Sebor <msebor@redhat.com>
26862
26863 * pointer-query.h (pointer_query::cache_type): Use auto_vec for auto
26864 cleanup.
26865
26866 2022-02-03 Martin Sebor <msebor@redhat.com>
26867
26868 PR middle-end/104260
26869 * passes.def (pass_warn_access): Adjust pass placement.
26870
26871 2022-02-03 Uroš Bizjak <ubizjak@gmail.com>
26872
26873 PR target/104362
26874 * config/i386/i386.cc (find_drap_reg): For 32bit targets
26875 return DI_REG if function uses __builtin_eh_return.
26876
26877 2022-02-03 Martin Sebor <msebor@redhat.com>
26878
26879 * gimple-ssa-warn-restrict.cc (class pass_wrestrict): Outline ctor.
26880 (pass_wrestrict::m_ptr_qry): New member.
26881 (wrestrict_walk): Rename...
26882 (pass_wrestrict::check_block): ...to this.
26883 (pass_wrestrict::execute): Set up and tear down pointer_query and
26884 ranger.
26885 (builtin_memref::builtin_memref): Change ctor argument. Simplify.
26886 (builtin_access::builtin_access): Same.
26887 (builtin_access::m_ptr_qry): New member.
26888 (check_call): Rename...
26889 (pass_wrestrict::check_call): ...to this.
26890 (check_bounds_or_overlap): Change argument.
26891 * gimple-ssa-warn-restrict.h (check_bounds_or_overlap): Same.
26892
26893 2022-02-03 Martin Sebor <msebor@redhat.com>
26894
26895 * gimple-array-bounds.cc (array_bounds_checker::array_bounds_checker):
26896 Define ctor.
26897 (array_bounds_checker::get_value_range): Use new member.
26898 (array_bounds_checker::check_mem_ref): Same.
26899 * gimple-array-bounds.h (array_bounds_checker::array_bounds_checker):
26900 Outline ctor.
26901 (array_bounds_checker::m_ptr_query): New member.
26902
26903 2022-02-03 Martin Sebor <msebor@redhat.com>
26904
26905 * gimple-ssa-warn-access.cc (pass_waccess::pass_waccess): Remove
26906 pointer_query cache.
26907 * pointer-query.cc (pointer_query::pointer_query): Remove cache
26908 argument. Zero-initialize new cache member.
26909 (pointer_query::get_ref): Replace cache pointer with direct access.
26910 (pointer_query::put_ref): Same.
26911 (pointer_query::flush_cache): Same.
26912 (pointer_query::dump): Same.
26913 * pointer-query.h (class pointer_query): Remove cache argument from
26914 ctor. Change cache pointer to cache subobject member.
26915 * tree-ssa-strlen.cc: Remove pointer_query cache.
26916
26917 2022-02-03 Martin Sebor <msebor@redhat.com>
26918
26919 PR tree-optimization/104119
26920 * gimple-ssa-sprintf.cc (struct directive): Change argument type.
26921 (format_none): Same.
26922 (format_percent): Same.
26923 (format_integer): Same.
26924 (format_floating): Same.
26925 (get_string_length): Same.
26926 (format_character): Same.
26927 (format_string): Same.
26928 (format_plain): Same.
26929 (format_directive): Same.
26930 (compute_format_length): Same.
26931 (handle_printf_call): Same.
26932 * tree-ssa-strlen.cc (get_range_strlen_dynamic): Same. Call
26933 get_maxbound.
26934 (get_range_strlen_phi): Same.
26935 (get_maxbound): New function.
26936 (strlen_pass::get_len_or_size): Adjust to parameter change.
26937 * tree-ssa-strlen.h (get_range_strlen_dynamic): Change argument type.
26938
26939 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
26940
26941 PR target/103686
26942 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Remove
26943 test for !rs6000_fold_gimple.
26944 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise.
26945 * config/rs6000/rs6000.opt (mfold-gimple): Remove.
26946
26947 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
26948
26949 PR target/95082
26950 * config/rs6000/rs6000-builtin.cc (rs6000_expand_builtin): Handle
26951 endianness for vclzlsbb and vctzlsbb.
26952 * config/rs6000/rs6000-builtins.def (VCLZLSBB_V16QI): Change
26953 default pattern and indicate a different pattern will be used for
26954 big endian.
26955 (VCLZLSBB_V4SI): Likewise.
26956 (VCLZLSBB_V8HI): Likewise.
26957 (VCTZLSBB_V16QI): Likewise.
26958 (VCTZLSBB_V4SI): Likewise.
26959 (VCTZLSBB_V8HI): Likewise.
26960
26961 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
26962
26963 * config.gcc (powerpc*-*-*): Add rs6000-builtin.o to extra_objs.
26964 * config/rs6000/rs6000-builtin.cc: New file, containing code moved
26965 from other files.
26966 * config/rs6000/rs6000-call.cc (cpu_is_info): Move to
26967 rs6000-builtin.cc.
26968 (cpu_supports_info): Likewise.
26969 (rs6000_type_string): Likewise.
26970 (altivec_expand_predicate_builtin): Likewise.
26971 (rs6000_htm_spr_icode): Likewise.
26972 (altivec_expand_vec_init_builtin): Likewise.
26973 (get_element_number): Likewise.
26974 (altivec_expand_vec_set_builtin): Likewise.
26975 (altivec_expand_vec_ext_builtin): Likewise.
26976 (rs6000_invalid_builtin): Likewise.
26977 (rs6000_fold_builtin): Likewise.
26978 (fold_build_vec_cmp): Likewise.
26979 (fold_compare_helper): Likewise.
26980 (map_to_integral_tree_type): Likewise.
26981 (fold_mergehl_helper): Likewise.
26982 (fold_mergeeo_helper): Likewise.
26983 (rs6000_builtin_valid_without_lhs): Likewise.
26984 (rs6000_builtin_is_supported): Likewise.
26985 (rs6000_gimple_fold_mma_builtin): Likewise.
26986 (rs6000_gimple_fold_builtin): Likewise.
26987 (rs6000_expand_ldst_mask): Likewise.
26988 (cpu_expand_builtin): Likewise.
26989 (elemrev_icode): Likewise.
26990 (ldv_expand_builtin): Likewise.
26991 (lxvrse_expand_builtin): Likewise.
26992 (lxvrze_expand_builtin): Likewise.
26993 (stv_expand_builtin): Likewise.
26994 (mma_expand_builtin): Likewise.
26995 (htm_spr_num): Likewise.
26996 (htm_expand_builtin): Likewise.
26997 (rs6000_expand_builtin): Likewise.
26998 (rs6000_vector_type): Likewise.
26999 (rs6000_init_builtins): Likewise. Remove initialization of
27000 builtin_mode_to_type entries.
27001 (rs6000_builtin_decl): Move to rs6000-builtin.cc.
27002 * config/rs6000/rs6000.cc (rs6000_builtin_mask_for_load): New
27003 external declaration.
27004 (rs6000_builtin_md_vectorized_function): Likewise.
27005 (rs6000_builtin_reciprocal): Likewise.
27006 (altivec_builtin_mask_for_load): Move to rs6000-builtin.cc.
27007 (rs6000_builtin_types): Likewise.
27008 (builtin_mode_to_type): Remove.
27009 (rs6000_builtin_mask_for_load): Move to rs6000-builtin.cc. Remove
27010 static qualifier.
27011 (rs6000_builtin_md_vectorized_function): Likewise.
27012 (rs6000_builtin_reciprocal): Likewise.
27013 * config/rs6000/rs6000.h (builtin_mode_to_type): Remove.
27014 * config/rs6000/t-rs6000 (rs6000-builtin.o): New target.
27015
27016 2022-02-03 Richard Biener <rguenther@suse.de>
27017
27018 PR debug/104337
27019 * tree-nrv.cc (pass_nrv::execute): Remove tieing result and found
27020 together via DECL_ABSTRACT_ORIGIN.
27021
27022 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
27023
27024 * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Revise error
27025 message for RES_BITS case.
27026
27027 2022-02-03 Aldy Hernandez <aldyh@redhat.com>
27028
27029 * gimple-range-fold.cc (fur_list::fur_list): Set m_local[1] correctly.
27030
27031 2022-02-03 Jakub Jelinek <jakub@redhat.com>
27032
27033 * config/arm/arm.opt (mfix-cortex-a57-aes-1742098,
27034 mfix-cortex-a72-aes-1655431): Ensure description ends with full stop.
27035
27036 2022-02-03 Aldy Hernandez <aldyh@redhat.com>
27037
27038 * cfganal.cc (verify_marked_backedges): New.
27039 * cfganal.h (verify_marked_backedges): New.
27040 * gimple-range-path.cc (path_range_query::path_range_query):
27041 Verify freshness of back edges.
27042 * tree-ssa-loop-ch.cc (ch_base::copy_headers): Call
27043 mark_dfs_back_edges.
27044 * tree-ssa-threadbackward.cc (back_threader::back_threader): Move
27045 path_range_query construction after backedges have been
27046 updated.
27047
27048 2022-02-03 Richard Sandiford <richard.sandiford@arm.com>
27049
27050 * config/aarch64/aarch64-simd.md (movmisalign<mode>): Extend from
27051 VALL to VALL_F16.
27052
27053 2022-02-03 Richard Sandiford <richard.sandiford@arm.com>
27054
27055 * config/aarch64/iterators.md (VALL_F16MOV): Delete.
27056 * config/aarch64/aarch64-simd.md (mov<mode>): Use VALL_F16 instead
27057 of VALL_F16MOV.
27058
27059 2022-02-03 Martin Liska <mliska@suse.cz>
27060
27061 * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p):
27062 Change subject and object in the error message.
27063 * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
27064 Likewise.
27065
27066 2022-02-03 Martin Liska <mliska@suse.cz>
27067
27068 * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
27069 Use the error message for i386 target.
27070
27071 2022-02-03 Jakub Jelinek <jakub@redhat.com>
27072
27073 PR tree-optimization/104334
27074 * range-op.cc (range_operator::wi_fold_in_parts): Change lh_range
27075 and rh_range type to widest_int and subtract in widest_int. Remove
27076 ov_rh, ov_lh and sign vars, always perform comparisons as signed
27077 and use >, < and == operators for it.
27078
27079 2022-02-03 Martin Sebor <msebor@redhat.com>
27080
27081 * common.opt (-Wuse-after-free): Correct typos.
27082
27083 2022-02-02 David Malcolm <dmalcolm@redhat.com>
27084
27085 PR analyzer/104270
27086 * doc/invoke.texi (-ftrivial-auto-var-init=): Add reference to
27087 -Wanalyzer-use-of-uninitialized-value to paragraph documenting that
27088 -ftrivial-auto-var-init= doesn't suppress warnings.
27089
27090 2022-02-02 Martin Liska <mliska@suse.cz>
27091
27092 * dwarf2out.cc (TEXT_SECTION_NAME): Remove unused macro.
27093
27094 2022-02-02 Bernd Kuhls <bernd.kuhls@t-online.de>
27095
27096 PR target/94372
27097 * config/or1k/linux.h (CPP_SPEC): Define.
27098
27099 2022-02-02 Tamar Christina <tamar.christina@arm.com>
27100
27101 PR tree-optimization/102819
27102 PR tree-optimization/103169
27103 * config/arm/vec-common.md (cml<fcmac1><conj_op><mode>4): Use
27104 canonical order.
27105
27106 2022-02-02 Tamar Christina <tamar.christina@arm.com>
27107
27108 PR tree-optimization/102819
27109 PR tree-optimization/103169
27110 * config/aarch64/aarch64-simd.md (cml<fcmac1><conj_op><mode>4): Use
27111 canonical order.
27112 * config/aarch64/aarch64-sve.md (cml<fcmac1><conj_op><mode>4): Likewise.
27113
27114 2022-02-02 Tamar Christina <tamar.christina@arm.com>
27115
27116 PR tree-optimization/102819
27117 PR tree-optimization/103169
27118 * doc/md.texi: Update docs for cfms, cfma.
27119 * tree-data-ref.h (same_data_refs): Accept optional offset.
27120 * tree-vect-slp-patterns.cc (is_linear_load_p): Fix issue with repeating
27121 patterns.
27122 (vect_normalize_conj_loc): Remove.
27123 (is_eq_or_top): Change to take two nodes.
27124 (enum _conj_status, compatible_complex_nodes_p,
27125 vect_validate_multiplication): New.
27126 (class complex_add_pattern, complex_add_pattern::matches,
27127 complex_add_pattern::recognize, class complex_mul_pattern,
27128 complex_mul_pattern::recognize, class complex_fms_pattern,
27129 complex_fms_pattern::recognize, class complex_operations_pattern,
27130 complex_operations_pattern::recognize, addsub_pattern::recognize): Pass
27131 new cache.
27132 (complex_fms_pattern::matches, complex_mul_pattern::matches): Pass new
27133 cache and use new validation code.
27134 * tree-vect-slp.cc (vect_match_slp_patterns_2, vect_match_slp_patterns,
27135 vect_analyze_slp): Pass along cache.
27136 (compatible_calls_p): Expose.
27137 * tree-vectorizer.h (compatible_calls_p, slp_node_hash,
27138 slp_compat_nodes_map_t): New.
27139 (class vect_pattern): Update signatures include new cache.
27140
27141 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
27142
27143 * config/cris/cris.cc (cris_preferred_reload_class): Reject
27144 "eliminated" registers and small-enough constants unless
27145 reloaded into a class that is a subset of GENERAL_REGS.
27146 * config/cris/cris.md (attribute "cpu_variant"): New.
27147 (attribute "enabled"): Conditionalize on a matching attribute
27148 cpu_variant, if specified.
27149 ("*movsi_internal<setcc><setnz><setnzvc>"): For moves to and from
27150 memory, add cpu-variant-enabled variants for "r" alternatives on
27151 the far side of the "x" alternatives, preferring the "x" ones
27152 only for variants where MOF is present (in addition to SRP).
27153
27154 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
27155
27156 * config/cris/cris.cc (cris_register_move_cost): Remove special pre-ira
27157 extra cost for ALL_REGS.
27158
27159 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
27160
27161 * config/cris/constraints.md (define_register_constraint "b"): Now
27162 GENERAL_REGS.
27163 * config/cris/cris.md (CRIS_ACR_REGNUM): Remove.
27164 * config/cris/cris.h: (reg_class, REG_CLASS_NAMES)
27165 (REG_CLASS_CONTENTS): Remove ACR_REGS, SPEC_ACR_REGS, GENNONACR_REGS,
27166 and SPEC_GENNONACR_REGS.
27167 * config/cris/cris.cc (cris_preferred_reload_class): Don't mention
27168 ACR_REGS and return GENERAL_REGS instead of GENNONACR_REGS.
27169
27170 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
27171
27172 * config/cris/cris.md ("*movsi_internal<setcc><setnz><setnzvc>"):
27173 Conditionalize on (sub-)register operands or operand 1 being 0.
27174
27175 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
27176
27177 * config/cris/cris.h (TARGET_DEFAULT): Don't include MASK_MUL_BUG.
27178 (MUL_BUG_ASM_DEFAULT): New macro.
27179 (MAYBE_AS_NO_MUL_BUG_ABORT): Define in terms of MUL_BUG_ASM_DEFAULT.
27180 * doc/invoke.texi (CRIS Options, -mmul-bug-workaround): Adjust
27181 accordingly.
27182
27183 2022-02-01 Eugene Rozenfeld <erozen@microsoft.com>
27184
27185 * opts.cc (common_handle_option): Don't set param_early_inliner_max_iterations
27186 to 10 for AutoFDO.
27187
27188 2022-02-01 Eugene Rozenfeld <erozen@microsoft.com>
27189
27190 * auto-profile.cc (auto_profile): Hard-code the number of iterations (10).
27191
27192 2022-02-01 Andrew Pinski <apinski@marvell.com>
27193
27194 * doc/install.texi:
27195
27196 2022-02-01 Ilya Leoshkevich <iii@linux.ibm.com>
27197
27198 * config/s390/s390.cc (s390_code_end): Do not switch back to
27199 code section.
27200
27201 2022-02-01 Jakub Jelinek <jakub@redhat.com>
27202
27203 PR target/104323
27204 * config/rs6000/t-rs6000 (EXTRA_GTYPE_DEPS): Append rs6000-builtins.h
27205 rather than $(srcdir)/config/rs6000/rs6000-builtins.def.
27206 * config/rs6000/rs6000-gen-builtins.cc (write_decls): Don't use
27207 GTY((user)) for struct bifdata and struct ovlddata. Instead add
27208 GTY((skip(""))) to members with pointer and enum types that don't need
27209 to be tracked. Add GTY(()) to rs6000_builtin_info and rs6000_instance_info
27210 declarations. Don't emit gt_ggc_mx and gt_pch_nx declarations.
27211 (write_extern_fntype, write_fntype): Remove.
27212 (write_fntype_init): Emit the fntype vars as automatic vars instead
27213 of file scope ones.
27214 (write_header_file): Don't iterate with write_extern_fntype.
27215 (write_init_file): Don't iterate with write_fntype. Don't emit
27216 gt_ggc_mx and gt_pch_nx definitions.
27217
27218 2022-02-01 Jason Merrill <jason@redhat.com>
27219
27220 * tree.h (struct tree_vec_map_cache_hasher): Move from...
27221 * tree.cc (struct tree_vec_map_cache_hasher): ...here.
27222
27223 2022-02-01 Tom de Vries <tdevries@suse.de>
27224
27225 * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_uniform_warp_check.
27226 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
27227 UNSPECV_UNIFORM_WARP_CHECK.
27228 (define_insn "nvptx_uniform_warp_check"): New define_insn.
27229
27230 2022-02-01 Tom de Vries <tdevries@suse.de>
27231
27232 * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_warpsync.
27233 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
27234 UNSPECV_WARPSYNC.
27235 (define_insn "nvptx_warpsync"): New define_insn.
27236
27237 2022-02-01 Tom de Vries <tdevries@suse.de>
27238
27239 * config/nvptx/nvptx.opt (mptx): Set to PTX_VERSION_6_3 by default.
27240
27241 2022-02-01 Tom de Vries <tdevries@suse.de>
27242
27243 * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_6_0.
27244 * config/nvptx/nvptx.h (TARGET_PTX_6_0): New macro.
27245 * config/nvptx/nvptx.md (define_insn "nvptx_barsync"): Use barrier
27246 insn for TARGET_PTX_6_0.
27247
27248 2022-02-01 Tom de Vries <tdevries@suse.de>
27249
27250 PR target/100428
27251 * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle nop
27252 insn.
27253
27254 2022-02-01 Tom de Vries <tdevries@suse.de>
27255
27256 * config/nvptx/nvptx.md (define_insn "atomic_compare_and_swap<mode>_1")
27257 (define_insn "atomic_exchange<mode>")
27258 (define_insn "atomic_fetch_add<mode>")
27259 (define_insn "atomic_fetch_addsf")
27260 (define_insn "atomic_fetch_<logic><mode>"): Output non-atomic version
27261 if memory operands is frame-relative.
27262
27263 2022-02-01 Tom de Vries <tdevries@suse.de>
27264
27265 * config/nvptx/nvptx.cc (enum nvptx_builtins): Add
27266 NVPTX_BUILTIN_MEMBAR_GL and NVPTX_BUILTIN_MEMBAR_CTA.
27267 (VOID): New macro.
27268 (nvptx_init_builtins): Add MEMBAR_GL and MEMBAR_CTA.
27269 (nvptx_expand_builtin): Handle NVPTX_BUILTIN_MEMBAR_GL and
27270 NVPTX_BUILTIN_MEMBAR_CTA.
27271 (nvptx_lockfull_update): Add level parameter. Emit barriers.
27272 (nvptx_reduction_update, nvptx_goacc_reduction_fini): Update call to
27273 nvptx_lockfull_update.
27274 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
27275 UNSPECV_MEMBAR_GL.
27276 (define_expand "nvptx_membar_gl"): New expand.
27277 (define_insn "*nvptx_membar_gl"): New insn.
27278
27279 2022-02-01 Martin Liska <mliska@suse.cz>
27280
27281 * doc/install.texi: Remove option for GCC < 4.8.
27282
27283 2022-02-01 Jakub Jelinek <jakub@redhat.com>
27284
27285 PR middle-end/104307
27286 * tree-vect-generic.cc (expand_vector_comparison): Don't push debug
27287 stmts to uses vector, just set vec_cond_expr_only to false for
27288 non-VEC_COND_EXPRs instead of pushing them into uses. Treat
27289 VEC_COND_EXPRs that use lhs not just in rhs1, but rhs2 or rhs3 too
27290 like non-VEC_COND_EXPRs.
27291
27292 2022-02-01 Bill Schmidt <wschmidt@linux.ibm.com>
27293
27294 * config/rs6000/rs6000-overload.def (VEC_ABSD): Remove #ifdef token.
27295 (VEC_BLENDV): Likewise.
27296 (VEC_BPERM): Likewise.
27297 (VEC_CFUGE): Likewise.
27298 (VEC_CIPHER_BE): Likewise.
27299 (VEC_CIPHERLAST_BE): Likewise.
27300 (VEC_CLRL): Likewise.
27301 (VEC_CLRR): Likewise.
27302 (VEC_CMPNEZ): Likewise.
27303 (VEC_CNTLZ): Likewise.
27304 (VEC_CNTLZM): Likewise.
27305 (VEC_CNTTZM): Likewise.
27306 (VEC_CNTLZ_LSBB): Likewise.
27307 (VEC_CNTM): Likewise.
27308 (VEC_CNTTZ): Likewise.
27309 (VEC_CNTTZ_LSBB): Likewise.
27310 (VEC_CONVERT_4F32_8F16): Likewise.
27311 (VEC_DIV): Likewise.
27312 (VEC_DIVE): Likewise.
27313 (VEC_EQV): Likewise.
27314 (VEC_EXPANDM): Likewise.
27315 (VEC_EXTRACT_FP_FROM_SHORTH): Likewise.
27316 (VEC_EXTRACT_FP_FROM_SHORTL): Likewise.
27317 (VEC_EXTRACTH): Likewise.
27318 (VEC_EXTRACTL): Likewise.
27319 (VEC_EXTRACTM): Likewise.
27320 (VEC_EXTRACT4B): Likewise.
27321 (VEC_EXTULX): Likewise.
27322 (VEC_EXTURX): Likewise.
27323 (VEC_FIRSTMATCHINDEX): Likewise.
27324 (VEC_FIRSTMACHOREOSINDEX): Likewise.
27325 (VEC_FIRSTMISMATCHINDEX): Likewise.
27326 (VEC_FIRSTMISMATCHOREOSINDEX): Likewise.
27327 (VEC_GB): Likewise.
27328 (VEC_GENBM): Likewise.
27329 (VEC_GENHM): Likewise.
27330 (VEC_GENWM): Likewise.
27331 (VEC_GENDM): Likewise.
27332 (VEC_GENQM): Likewise.
27333 (VEC_GENPCVM): Likewise.
27334 (VEC_GNB): Likewise.
27335 (VEC_INSERTH): Likewise.
27336 (VEC_INSERTL): Likewise.
27337 (VEC_INSERT4B): Likewise.
27338 (VEC_LXVL): Likewise.
27339 (VEC_MERGEE): Likewise.
27340 (VEC_MERGEO): Likewise.
27341 (VEC_MOD): Likewise.
27342 (VEC_MSUB): Likewise.
27343 (VEC_MULH): Likewise.
27344 (VEC_NAND): Likewise.
27345 (VEC_NCIPHER_BE): Likewise.
27346 (VEC_NCIPHERLAST_BE): Likewise.
27347 (VEC_NEARBYINT): Likewise.
27348 (VEC_NMADD): Likewise.
27349 (VEC_ORC): Likewise.
27350 (VEC_PDEP): Likewise.
27351 (VEC_PERMX): Likewise.
27352 (VEC_PEXT): Likewise.
27353 (VEC_POPCNT): Likewise.
27354 (VEC_PARITY_LSBB): Likewise.
27355 (VEC_REPLACE_ELT): Likewise.
27356 (VEC_REPLACE_UN): Likewise.
27357 (VEC_REVB): Likewise.
27358 (VEC_RINT): Likewise.
27359 (VEC_RLMI): Likewise.
27360 (VEC_RLNM): Likewise.
27361 (VEC_SBOX_BE): Likewise.
27362 (VEC_SIGNEXTI): Likewise.
27363 (VEC_SIGNEXTLL): Likewise.
27364 (VEC_SIGNEXTQ): Likewise.
27365 (VEC_SLDB): Likewise.
27366 (VEC_SLV): Likewise.
27367 (VEC_SPLATI): Likewise.
27368 (VEC_SPLATID): Likewise.
27369 (VEC_SPLATI_INS): Likewise.
27370 (VEC_SQRT): Likewise.
27371 (VEC_SRDB): Likewise.
27372 (VEC_SRV): Likewise.
27373 (VEC_STRIL): Likewise.
27374 (VEC_STRIL_P): Likewise.
27375 (VEC_STRIR): Likewise.
27376 (VEC_STRIR_P): Likewise.
27377 (VEC_STXVL): Likewise.
27378 (VEC_TERNARYLOGIC): Likewise.
27379 (VEC_TEST_LSBB_ALL_ONES): Likewise.
27380 (VEC_TEST_LSBB_ALL_ZEROS): Likewise.
27381 (VEC_VEE): Likewise.
27382 (VEC_VES): Likewise.
27383 (VEC_VIE): Likewise.
27384 (VEC_VPRTYB): Likewise.
27385 (VEC_VSCEEQ): Likewise.
27386 (VEC_VSCEGT): Likewise.
27387 (VEC_VSCELT): Likewise.
27388 (VEC_VSCEUO): Likewise.
27389 (VEC_VSEE): Likewise.
27390 (VEC_VSES): Likewise.
27391 (VEC_VSIE): Likewise.
27392 (VEC_VSTDC): Likewise.
27393 (VEC_VSTDCN): Likewise.
27394 (VEC_VTDC): Likewise.
27395 (VEC_XL): Likewise.
27396 (VEC_XL_BE): Likewise.
27397 (VEC_XL_LEN_R): Likewise.
27398 (VEC_XL_SEXT): Likewise.
27399 (VEC_XL_ZEXT): Likewise.
27400 (VEC_XST): Likewise.
27401 (VEC_XST_BE): Likewise.
27402 (VEC_XST_LEN_R): Likewise.
27403 (VEC_XST_TRUNC): Likewise.
27404 (VEC_XXPERMDI): Likewise.
27405 (VEC_XXSLDWI): Likewise.
27406 (VEC_TSTSFI_EQ_DD): Likewise.
27407 (VEC_TSTSFI_EQ_TD): Likewise.
27408 (VEC_TSTSFI_GT_DD): Likewise.
27409 (VEC_TSTSFI_GT_TD): Likewise.
27410 (VEC_TSTSFI_LT_DD): Likewise.
27411 (VEC_TSTSFI_LT_TD): Likewise.
27412 (VEC_TSTSFI_OV_DD): Likewise.
27413 (VEC_TSTSFI_OV_TD): Likewise.
27414 (VEC_VADDCUQ): Likewise.
27415 (VEC_VADDECUQ): Likewise.
27416 (VEC_VADDEUQM): Likewise.
27417 (VEC_VADDUDM): Likewise.
27418 (VEC_VADDUQM): Likewise.
27419 (VEC_VBPERMQ): Likewise.
27420 (VEC_VCLZB): Likewise.
27421 (VEC_VCLZD): Likewise.
27422 (VEC_VCLZH): Likewise.
27423 (VEC_VCLZW): Likewise.
27424 (VEC_VCTZB): Likewise.
27425 (VEC_VCTZD): Likewise.
27426 (VEC_VCTZH): Likewise.
27427 (VEC_VCTZW): Likewise.
27428 (VEC_VEEDP): Likewise.
27429 (VEC_VEESP): Likewise.
27430 (VEC_VESDP): Likewise.
27431 (VEC_VESSP): Likewise.
27432 (VEC_VIEDP): Likewise.
27433 (VEC_VIESP): Likewise.
27434 (VEC_VPKSDSS): Likewise.
27435 (VEC_VPKSDUS): Likewise.
27436 (VEC_VPKUDUM): Likewise.
27437 (VEC_VPKUDUS): Likewise.
27438 (VEC_VPOPCNT): Likewise.
27439 (VEC_VPOPCNTB): Likewise.
27440 (VEC_VPOPCNTD): Likewise.
27441 (VEC_VPOPCNTH): Likewise.
27442 (VEC_VPOPCNTW): Likewise.
27443 (VEC_VPRTYBD): Likewise.
27444 (VEC_VPRTYBQ): Likewise.
27445 (VEC_VPRTYBW): Likewise.
27446 (VEC_VRLD): Likewise.
27447 (VEC_VSLD): Likewise.
27448 (VEC_VSRAD): Likewise.
27449 (VEC_VSRD): Likewise.
27450 (VEC_VSTDCDP): Likewise.
27451 (VEC_VSTDCNDP): Likewise.
27452 (VEC_VSTDCNQP): Likewise.
27453 (VEC_VSTDCNSP): Likewise.
27454 (VEC_VSTDCQP): Likewise.
27455 (VEC_VSTDCSP): Likewise.
27456 (VEC_VSUBECUQ): Likewise.
27457 (VEC_VSUBEUQM): Likewise.
27458 (VEC_VSUBUDM): Likewise.
27459 (VEC_VSUBUQM): Likewise.
27460 (VEC_VTDCDP): Likewise.
27461 (VEC_VTDCSP): Likewise.
27462 (VEC_VUPKHSW): Likewise.
27463 (VEC_VUPKLSW): Likewise.
27464
27465 2022-02-01 Andreas Krebbel <krebbel@linux.ibm.com>
27466
27467 PR rtl-optimization/101260
27468 * regcprop.cc (maybe_mode_change): Invoke mode_change_ok also for
27469 copy_regno.
27470
27471 2022-02-01 Xi Ruoyao <xry111@mengyan1223.wang>
27472
27473 PR middle-end/95115
27474 * fold-const.cc (const_binop): Do not fold NaN result from
27475 non-NaN operands.
27476
27477 2022-02-01 Tom de Vries <tdevries@suse.de>
27478
27479 * tree-loop-distribution.cc (generate_reduction_builtin_1): Check for
27480 -ftree-loop-distribute-patterns.
27481 (loop_distribution::execute): Don't call transform_reduction_loop for
27482 -fno-tree-loop-distribute-patterns.
27483
27484 2022-01-31 Andrew Pinski <apinski@marvell.com>
27485
27486 * fold-const.h (operand_compare::operand_equal_p):
27487 Fix comment about OEP_* flags.
27488
27489 2022-01-31 Jakub Jelinek <jakub@redhat.com>
27490
27491 PR target/104298
27492 * config/rs6000/aix.h (OPTION_GLIBC): Remove.
27493 * config/rs6000/darwin.h (OPTION_GLIBC): Likewise.
27494 * config/rs6000/option-defaults.h (OPTION_GLIBC): Define to 0
27495 if not already defined.
27496
27497 2022-01-31 Martin Sebor <msebor@redhat.com>
27498
27499 PR middle-end/104232
27500 * gimple-ssa-warn-access.cc (pointers_related_p): Add argument.
27501 Handle PHIs. Add a synonymous overload.
27502 (pass_waccess::check_pointer_uses): Call pointers_related_p.
27503
27504 2022-01-31 Richard Biener <rguenther@suse.de>
27505
27506 PR tree-optimization/100499
27507 * fold-const.cc (multiple_of_p): Pass the correct type of
27508 the expression to the recursive invocation of multiple_of_p
27509 for conversions and use CASE_CONVERT.
27510
27511 2022-01-31 Eric Botcazou <ebotcazou@adacore.com>
27512
27513 PR target/104189
27514 * config/sparc/linux64.h (TARGET_DEFAULT): Add MASK_V8PLUS.
27515
27516 2022-01-31 Richard Biener <rguenther@suse.de>
27517
27518 PR tree-optimization/100499
27519 * tree-cfg.cc (verify_gimple_assign_ternary): Use multiple_p
27520 on poly-ints instead of multiple_of_p.
27521 * tree-ssa.cc (maybe_rewrite_mem_ref_base): Likewise.
27522 (non_rewritable_mem_ref_base): Likewise.
27523 (non_rewritable_lvalue_p): Likewise.
27524 (execute_update_addresses_taken): Likewise.
27525
27526 2022-01-29 Jakub Jelinek <jakub@redhat.com>
27527 Andrew Pinski <apinski@marvell.com>
27528
27529 PR tree-optimization/104279
27530 PR tree-optimization/104280
27531 PR tree-optimization/104281
27532 * match.pd (1 / X -> X == 1 for unsigned X): Build eq with
27533 boolean_type_node and convert to type. Formatting fixes.
27534
27535 2022-01-28 Yoshinori Sato <yo-satoh@sios.com>
27536
27537 * config/sh/t-linux (MULTILIB_EXCEPTIONS): Add m1, mb/m1 and m2a.
27538
27539 2022-01-28 Navid Rahimi <navidrahimi@microsoft.com>
27540
27541 PR tree-optimization/103514
27542 * match.pd (a & b) ^ (a == b) -> !(a | b): New optimization.
27543 (a & b) == (a ^ b) -> !(a | b): New optimization.
27544
27545 2022-01-28 Marek Polacek <polacek@redhat.com>
27546
27547 * doc/invoke.texi: Update -Wbidi-chars documentation.
27548
27549 2022-01-28 Iain Sandoe <iain@sandoe.co.uk>
27550
27551 * config/rs6000/darwin.h (OPTION_GLIBC): Define to 0.
27552
27553 2022-01-28 Zhao Wei Liew <zhaoweiliew@gmail.com>
27554
27555 PR tree-optimization/95424
27556 * match.pd: Simplify 1 / X where X is an integer.
27557
27558 2022-01-28 Jakub Jelinek <jakub@redhat.com>
27559
27560 PR tree-optimization/104263
27561 * gimple-ssa-store-merging.cc (get_status_for_store_merging): For
27562 cfun->can_throw_non_call_exceptions && cfun->eh test whether
27563 last non-debug stmt in the bb is store_valid_for_store_merging_p
27564 rather than last stmt.
27565
27566 2022-01-28 Martin Liska <mliska@suse.cz>
27567
27568 * diagnostic.cc (diagnostic_action_after_output): Remove extra
27569 newline.
27570
27571 2022-01-28 Martin Liska <mliska@suse.cz>
27572
27573 * config/rs6000/host-darwin.cc (segv_crash_handler):
27574 Do not use leading capital letter.
27575 (segv_handler): Likewise.
27576 * ipa-sra.cc (verify_splitting_accesses): Likewise.
27577 * varasm.cc (get_section): Likewise.
27578
27579 2022-01-28 Richard Biener <rguenther@suse.de>
27580
27581 PR tree-optimization/104267
27582 * tree-vect-stmts.cc (vectorizable_call): Properly use the
27583 per-argument determined vector type for externals and
27584 invariants.
27585
27586 2022-01-28 Richard Biener <rguenther@suse.de>
27587
27588 PR tree-optimization/104263
27589 * tree-cfg.cc (gimple_purge_dead_abnormal_call_edges):
27590 Purge edges also when !cfun->has_nonlocal_label
27591 and !cfun->calls_setjmp.
27592
27593 2022-01-28 Maciej W. Rozycki <macro@embecosm.com>
27594
27595 * config/riscv/riscv.md: Document `auipc' and `bitmanip' `type'
27596 attributes.
27597
27598 2022-01-28 Jakub Jelinek <jakub@redhat.com>
27599
27600 PR lto/104237
27601 * cfgrtl.cc (loc_equal): New function.
27602 (unique_locus_on_edge_between_p): Use it.
27603
27604 2022-01-28 Richard Biener <rguenther@suse.de>
27605
27606 * cfganal.h (mark_dfs_back_edges): Provide API with struct
27607 function argument.
27608 * cfganal.cc (mark_dfs_back_edges): Take a struct function
27609 to work on, add a wrapper passing cfun.
27610 * graph.cc (draw_cfg_nodes_no_loops): Replace stray cfun
27611 uses with fun which is already passed.
27612 (draw_cfg_edges): Likewise.
27613 (draw_cfg_nodes_for_loop): Do not use draw_cfg_nodes_for_loop
27614 for fun != cfun.
27615
27616 2022-01-27 Patrick Palka <ppalka@redhat.com>
27617
27618 PR c++/99895
27619 * tree.cc (build_call_vec): Add const to second parameter.
27620 * tree.h (build_call_vec): Likewise.
27621
27622 2022-01-27 Martin Liska <mliska@suse.cz>
27623
27624 PR web/104254
27625 * diagnostic.cc (diagnostic_initialize):
27626 Initialize report_bug flag.
27627 (diagnostic_action_after_output):
27628 Explain that -freport-bug option can be used for pre-processed
27629 file creation. Make the message shorter.
27630 (error_recursion): Rename Internal to internal.
27631 * diagnostic.h (struct diagnostic_context): New field.
27632 * opts.cc (common_handle_option): Init the field here.
27633
27634 2022-01-27 Kewen Lin <linkw@linux.ibm.com>
27635
27636 PR target/103702
27637 * config/rs6000/rs6000.cc
27638 (rs6000_cost_data::update_target_cost_per_stmt): Fix one wrong
27639 assertion with early return.
27640
27641 2022-01-27 Chung-Lin Tang <cltang@codesourcery.com>
27642
27643 PR middle-end/103642
27644 * gimplify.cc (gimplify_scan_omp_clauses): Do not do indir_p handling
27645 for non-pointer or non-reference-to-pointer cases.
27646
27647 2022-01-27 Jakub Jelinek <jakub@redhat.com>
27648
27649 PR tree-optimization/104196
27650 * gimple-fold.h (rewrite_to_defined_overflow): Add IN_PLACE argument.
27651 * gimple-fold.cc (rewrite_to_defined_overflow): Likewise. If true,
27652 return NULL and emit needed stmts before and after stmt.
27653 * tree-ssa-reassoc.cc (update_range_test): For inter-bb range opt
27654 pick as operand_entry that will hold the merged test the one feeding
27655 earliest condition, ensure that by swapping range->idx with some
27656 other range's idx if needed. If seq is non-NULL, don't actually swap
27657 it but instead rewrite stmts with undefined overflow in between
27658 the two locations.
27659 (maybe_optimize_range_tests): Set ops[]->id to bb->index with the
27660 corresponding condition even if they have non-NULL ops[]->op.
27661 Formatting fix.
27662
27663 2022-01-26 Jakub Jelinek <jakub@redhat.com>
27664
27665 PR target/104239
27666 * config/rs6000/emmintrin.h (_mm_sad_epu8): Use __asm__ instead of
27667 asm.
27668 * config/rs6000/smmintrin.h (_mm_minpos_epu16): Declare iterator
27669 before for loop instead of for init clause.
27670 * config/rs6000/bmi2intrin.h (_pext_u64): Likewise.
27671
27672 2022-01-26 Jakub Jelinek <jakub@redhat.com>
27673
27674 PR target/104239
27675 * config/rs6000/bmiintrin.h: Test _X86GPRINTRIN_H_INCLUDED instead of
27676 _X86INTRIN_H_INCLUDED and adjust #error wording.
27677 * config/rs6000/bmi2intrin.h: Likewise.
27678
27679 2022-01-26 Jakub Jelinek <jakub@redhat.com>
27680
27681 PR debug/104194
27682 * dwarf2out.cc (long_double_as_float128): New function.
27683 (modified_type_die): For powerpc64le IEEE 754 quad long double
27684 and complex long double emit those as DW_TAG_typedef to
27685 _Float128 or complex _Float128 base type.
27686
27687 2022-01-26 Marek Polacek <polacek@redhat.com>
27688
27689 PR target/104213
27690 * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer): Don't
27691 warn when the SSA_NAME_VAR of REF has supressed -Wuse-after-free.
27692
27693 2022-01-26 Martin Liska <mliska@suse.cz>
27694
27695 * ipa-modref-tree.cc (modref_access_node::update):
27696 Remove "--param param=foo" with "--param foo".
27697 (modref_access_node::insert): Likewise.
27698 (modref_access_node::insert_kill): Likewise.
27699 * ipa-modref-tree.h (struct modref_ref_node): Likewise.
27700 (struct modref_base_node): Likewise.
27701 (struct modref_tree): Likewise.
27702
27703 2022-01-26 Raoni Fassina Firmino <raoni@linux.ibm.com>
27704
27705 PR target/94193
27706 * builtins.cc (expand_builtin_feclear_feraise_except): Add op0
27707 predicate check.
27708
27709 2022-01-25 Martin Sebor <msebor@redhat.com>
27710
27711 PR tree-optimization/104203
27712 * gimple-ssa-warn-access.cc (pass_data pass_data_waccess): Use
27713 TV_WARN_ACCESS.
27714 * pointer-query.cc (access_ref::merge_ref): Change return type.
27715 Convert failure to a conservative success.
27716 (access_ref::get_ref): Adjust to the change above. Short-circuit
27717 PHI evaluation after first failure turned into conservative success.
27718 * pointer-query.h (access_ref::merge_ref): Change return type.
27719 * timevar.def (TV_WARN_ACCESS): New timer variable.
27720
27721 2022-01-25 David Edelsohn <dje.gcc@gmail.com>
27722
27723 * config/rs6000/aix.h (OPTION_GLIBC): Define as 0.
27724
27725 2022-01-25 Richard Biener <rguenther@suse.de>
27726
27727 PR tree-optimization/104214
27728 * tree-ssa-loop-niter.cc (number_of_iterations_cond): Use
27729 stronger guarantees for relational pointer compares when
27730 rewriting BASE0 + STEP0 cmp BASE1 + STEP1 as
27731 BASE0 + STEP0 - STEP1 cmp BASE1.
27732
27733 2022-01-25 Jakub Jelinek <jakub@redhat.com>
27734
27735 PR target/104172
27736 * config/rs6000/rs6000-internal.h (rs6000_passes_ieee128): Don't
27737 declare.
27738 * config/rs6000/rs6000.cc (rs6000_passes_ieee128,
27739 ieee128_mangling_gcc_8_1): Remove.
27740 (TARGET_ASM_GLOBALIZE_DECL_NAME): Don't redefine.
27741 (rs6000_mangle_type): Return "u9__ieee128" instead of
27742 ieee128_mangling_gcc_8_1 ? "U10__float128" : "u9__ieee128".
27743 (rs6000_globalize_decl_name): Remove.
27744 * config/rs6000/rs6000-call.cc (init_cumulative_args,
27745 rs6000_function_arg_advance_1): Don't set rs6000_passes_ieee128.
27746
27747 2022-01-24 Martin Sebor <msebor@redhat.com>
27748
27749 * pointer-query.cc (pointer_query::dump): Remove duplicate
27750 block.
27751
27752 2022-01-24 Marek Polacek <polacek@redhat.com>
27753
27754 PR preprocessor/104030
27755 * doc/invoke.texi: Update documentation for -Wbidi-chars.
27756
27757 2022-01-24 Raoni Fassina Firmino <raoni@linux.ibm.com>
27758
27759 PR target/94193
27760 * builtins.cc (expand_builtin_fegetround): New function.
27761 (expand_builtin_feclear_feraise_except): New function.
27762 (expand_builtin): Add cases for BUILT_IN_FEGETROUND,
27763 BUILT_IN_FECLEAREXCEPT and BUILT_IN_FERAISEEXCEPT.
27764 * config/rs6000/rs6000.md (fegetroundsi): New pattern.
27765 (feclearexceptsi): New Pattern.
27766 (feraiseexceptsi): New Pattern.
27767 * doc/extend.texi: Add a new introductory paragraph about the
27768 new builtins.
27769 * doc/md.texi: (fegetround@var{m}): Document new optab.
27770 (feclearexcept@var{m}): Document new optab.
27771 (feraiseexcept@var{m}): Document new optab.
27772 * optabs.def (fegetround_optab): New optab.
27773 (feclearexcept_optab): New optab.
27774 (feraiseexcept_optab): New optab.
27775
27776 2022-01-24 Richard Biener <rguenther@suse.de>
27777 Jiufu Guo <guojiufu@linux.ibm.com>
27778
27779 PR tree-optimization/100740
27780 PR tree-optimization/101508
27781 PR tree-optimization/101972
27782 PR tree-optimization/102131
27783 * tree-ssa-loop-niter.cc (number_of_iterations_cond): Properly
27784 constrain BASE0 + STEP0 cmp BASE1 + STEP1 to
27785 BASE0 + STEP0 - STEP1 cmp BASE1 transform.
27786
27787 2022-01-24 Jakub Jelinek <jakub@redhat.com>
27788
27789 PR sanitizer/104158
27790 * opt-functions.awk (var_set): Handle EnumBitSet property.
27791 * optc-gen.awk: Don't disallow RejectNegative if EnumBitSet is
27792 specified.
27793 * opts.h (enum cl_enum_var_value): New type.
27794 * opts-common.cc (decode_cmdline_option): Use CLEV_* values.
27795 Handle CLEV_BITSET.
27796 (cmdline_handle_error): Handle CLEV_BITSET.
27797 * opts.cc (test_enum_sets): Also test EnumBitSet requirements.
27798 * doc/options.texi (EnumBitSet): Document.
27799 * common.opt (fsanitize-coverage=): Use EnumBitSet instead of
27800 EnumSet.
27801 (trace-pc, trace-cmp): Drop Set properties.
27802
27803 2022-01-24 Jakub Jelinek <jakub@redhat.com>
27804
27805 PR sanitizer/104158
27806 * common.opt (flag_sanitize_coverage): Remove Variable entry.
27807 (fsanitize-coverage=): Remove RejectNegative property, add
27808 Var(flag_sanitize_coverage) and EnumSet properties.
27809 (trace-pc): Add Set(1) property.
27810 (trace-cmp): Add Set(2) property.
27811 * opts.cc (common_handle_option): Don't handle
27812 OPT_fsanitize_coverage_.
27813
27814 2022-01-24 Jakub Jelinek <jakub@redhat.com>
27815
27816 PR sanitizer/104158
27817 * opt-functions.awk (var_set): Handle EnumSet property.
27818 * optc-gen.awk: Don't disallow RejectNegative if EnumSet is
27819 specified.
27820 * opt-read.awk: Handle Set property.
27821 * opts.h (CL_ENUM_SET_SHIFT, CL_ERR_ENUM_SET_ARG): Define.
27822 (struct cl_decoded_option): Mention enum in value description.
27823 Add mask member.
27824 (set_option): Add mask argument defaulted to 0.
27825 * opts.cc (test_enum_sets): New function.
27826 (opts_cc_tests): Call it.
27827 * opts-common.cc (enum_arg_to_value): Change return argument
27828 from bool to int, on success return index into the cl_enum_arg
27829 array, on failure -1. Add len argument, if non-0, use strncmp
27830 instead of strcmp.
27831 (opt_enum_arg_to_value): Adjust caller.
27832 (decode_cmdline_option): Handle EnumSet represented as
27833 CLVC_ENUM with non-zero var_value. Initialize decoded->mask.
27834 (decode_cmdline_options_to_array): CLear opt_array[0].mask.
27835 (handle_option): Pass decoded->mask to set_options last argument.
27836 (generate_option): Clear decoded->mask.
27837 (generate_option_input_file): Likewise.
27838 (cmdline_handle_error): Handle CL_ERR_ENUM_SET_ARG.
27839 (set_option): Add mask argument, use it for CLVC_ENUM.
27840 (control_warning_option): Adjust enum_arg_to_value caller.
27841 * doc/options.texi: Document Set and EnumSet properties.
27842
27843 2022-01-24 Jakub Jelinek <jakub@redhat.com>
27844
27845 PR bootstrap/104170
27846 * config/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
27847 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
27848 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
27849 using OPTION_*_P macros.
27850 * config/alpha/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
27851 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
27852 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
27853 using OPTION_*_P macros.
27854 * config/rs6000/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
27855 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
27856 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
27857 using OPTION_*_P macros.
27858 * config/rs6000/linux64.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
27859 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
27860 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
27861 using OPTION_*_P macros.
27862 * config/fuchsia.h (OPTION_MUSL_P): Redefine.
27863 * config/glibc-stdint.h (OPTION_MUSL_P): Define if not defined.
27864 * common/config/s390/s390-common.cc (s390_supports_split_stack): Re-add
27865 ATTRIBUTE_UNUSED to opts parameter. If OPTION_GLIBC_P is defined, use
27866 OPTION_GLIBC_P (opts) as condition, otherwise assume if (false).
27867 * common/config/i386/i386-common.cc (ix86_supports_split_stack): If
27868 OPTION_GLIBC_P is defined use !OPTION_GLIBC_P (opts) as condition,
27869 otherwise assume if (true).
27870
27871 2022-01-24 Kito Cheng <kito.cheng@sifive.com>
27872
27873 * common/config/riscv/riscv-common.cc (riscv_subset_list::to_string):
27874 Skip zicsr and zifencei if I-ext is 2.0.
27875
27876 2022-01-24 Jia-Wei Chen <jiawei@iscas.ac.cn>
27877
27878 * config.gcc: Modify default isa_spec version.
27879
27880 2022-01-24 Jiufu Guo <guojiufu@linux.ibm.com>
27881
27882 PR tree-optimization/102087
27883 * tree-ssa-loop-niter.cc (number_of_iterations_until_wrap):
27884 Correct PLUS result type.
27885
27886 2022-01-24 H.J. Lu <hjl.tools@gmail.com>
27887
27888 PR target/104188
27889 * config/i386/predicates.md (bcst_mem_operand): Also check mode
27890 of memory broadcast.
27891
27892 2022-01-23 Andrew Pinski <apinski@marvell.com>
27893
27894 PR target/64821
27895 * config/aarch64/aarch64-builtins.cc
27896 (aarch64_general_gimple_fold_builtin): Handle
27897 __builtin_aarch64_sqrt* and simplify into SQRT internal
27898 function.
27899
27900 2022-01-22 Jakub Jelinek <jakub@redhat.com>
27901
27902 PR other/104176
27903 * opts-global.cc (handle_common_deferred_options): Quote
27904 --enable-plugin in diagnostics to avoid -Werror=format-diag.
27905
27906 2022-01-21 Michael Meissner <meissner@the-meissners.org>
27907
27908 PR target/104136
27909 * config/rs6000/rs6000-protos.h (prefixed_xxsplti_p): Delete.
27910 * config/rs6000/rs6000.cc (prefixed_xxsplti_p): Delete.
27911 * config/rs6000/rs6000.md (prefixed attribute): Delete section
27912 that sets the prefixed attribute for xxspltiw, xxspltidp, and
27913 xxsplti32dx instructions.
27914 (movsf_hardfloat): Explicitly set the prefixed attribute
27915 when xxspltiw and xxspltidp instructions are generated.
27916 (mov<mode>_hardfloat32): Likewise.
27917 (mov<mode>_hardfloat64): Likewise.
27918 * config/rs6000/vsx.md (vsx_mov<mode>_64bit): Explicitly set the
27919 prefixed attribute for xxspltiw and xxspltidp instructions.
27920 (vsx_mov<mode>_32bit): Likewise.
27921
27922 2022-01-21 H.J. Lu <hjl.tools@gmail.com>
27923
27924 PR bootstrap/104170
27925 * common/config/i386/i386-common.cc (ix86_supports_split_stack):
27926 Return true only on glibc.
27927 * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN):
27928 Revert commit c163647ffbc.
27929 * config/i386/gnu.h (TARGET_LIBC_PROVIDES_SSP): Likewise.
27930
27931 2022-01-21 Sören Tempel <soeren@soeren-tempel.net>
27932
27933 * common/config/s390/s390-common.cc (s390_supports_split_stack):
27934 Only support split-stack on glibc targets.
27935 * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN): Ditto.
27936 * config/i386/gnu.h (defined): Ditto.
27937
27938 2022-01-21 Bill Schmidt <wschmidt@linux.ibm.com>
27939
27940 * config/rs6000/rs6000-overload.def (VEC_SLDW): Add instances for
27941 vector float and vector double.
27942
27943 2022-01-21 Bill Seurer <seurer@gcc.gnu.org>
27944
27945 * config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher):
27946 Fix mention of ifunc in string.
27947
27948 2022-01-21 Roger Sayle <roger@nextmovesoftware.com>
27949
27950 PR middle-end/104140
27951 * tree-ssa-math-opts.cc (convert_mult_to_highpart): Check that the
27952 operands of the widening multiplication are either both signed or
27953 both unsigned, and abort the conversion if mismatched.
27954 * doc/generic.texi (WIDEN_MULT_EXPR): Describe expression node.
27955 (MULT_HIGHPART_EXPR): Clarify that operands must have the same
27956 signedness.
27957 * tree.def (MULT_HIGHPART_EXPR): Document both operands must have
27958 integer types with the same precision and signedness.
27959 (WIDEN_MULT_EXPR): Document that operands must have integer types
27960 with the same precision, but possibly differing signedness.
27961 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Defend against
27962 riscv_current_subset_list returning a NULL pointer (empty list).
27963
27964 2022-01-21 Vladimir N. Makarov <vmakarov@redhat.com>
27965
27966 PR target/103676
27967 * ira.h (struct target_ira): Add member
27968 x_ira_exclude_class_mode_regs.
27969 (ira_exclude_class_mode_regs): New macro.
27970 * lra.h (lra_create_new_reg): Add arg exclude_start_hard_regs and
27971 move from here ...
27972 * lra-int.h: ... to here.
27973 (lra_create_new_reg_with_unique_value): Add arg
27974 exclude_start_hard_regs.
27975 (class lra_reg): Add member exclude_start_hard_regs.
27976 * lra-assigns.cc (find_hard_regno_for_1): Setup
27977 impossible_start_hard_regs from exclude_start_hard_regs.
27978 * lra-constraints.cc (get_reload_reg): Add arg exclude_start_hard_regs and pass
27979 it lra_create_new_reg[_with_unique_value].
27980 (match_reload): Ditto.
27981 (check_and_process_move): Pass NULL
27982 exclude_start_hard_regs to lra_create_new_reg_with_unique_value.
27983 (goal_alt_exclude_start_hard_regs): New static variable.
27984 (process_addr_reg, simplify_operand_subreg): Pass NULL
27985 exclude_start_hard_regs to lra_create_new_reg_with_unique_value
27986 and get_reload_reg.
27987 (process_alt_operands): Setup goal_alt_exclude_start_hard_regs.
27988 Use this_alternative_exclude_start_hard_regs additionally to find
27989 winning operand alternative.
27990 (base_to_reg, base_plus_disp_to_reg, index_part_to_reg): Pass NULL
27991 exclude_start_hard_regs to lra_create_new_reg.
27992 (process_address_1, emit_inc): Ditto.
27993 (curr_insn_transform): Pass exclude_start_hard_regs value to
27994 lra_create_new_reg, get_reload_reg, match_reload.
27995 (inherit_reload_reg, split_reg): Pass NULL exclude_start_hard_regs
27996 to lra_create_new_reg.
27997 (process_invariant_for_inheritance): Ditto.
27998 * lra-remat.cc (update_scratch_ops): Ditto.
27999 * lra.cc (lra_create_new_reg_with_unique_value): Add arg
28000 exclude_start_hard_regs. Setup the corresponding member of
28001 lra reg info.
28002 (lra_create_new_reg): Add arg exclude_start_hard_regs and pass it
28003 to lra_create_new_reg_with_unique_value.
28004 (initialize_lra_reg_info_element): Initialize member
28005 exclude_start_hard_regs.
28006 (get_scratch_reg): Pass NULL to lra_create_new_reg.
28007 * ira.cc (setup_prohibited_class_mode_regs): Rename to
28008 setup_prohibited_and_exclude_class_mode_regs and calculate
28009 ira_exclude_class_mode_regs.
28010
28011 2022-01-21 Martin Liska <mliska@suse.cz>
28012
28013 * configure.ac: Detect ld_is_mold and use it for
28014 comdat_group=yes and gcc_cv_ld_hidden=yes.
28015 * configure: Regenerate.
28016
28017 2022-01-21 Richard Biener <rguenther@suse.de>
28018
28019 PR tree-optimization/100089
28020 * tree-vect-slp.cc (vect_slp_region): Reject BB vectorization
28021 of if-converted loops with unvectorized COND_EXPRs for
28022 all but the unlimited cost models.
28023
28024 2022-01-21 Ard Biesheuvel <ardb@kernel.org>
28025
28026 * config/arm/arm-opts.h (enum stack_protector_guard): New.
28027 * config/arm/arm-protos.h (arm_stack_protect_tls_canary_mem):
28028 New.
28029 * config/arm/arm.cc (TARGET_STACK_PROTECT_GUARD): Define.
28030 (arm_option_override_internal): Handle and put in error checks.
28031 for stack protector guard options.
28032 (arm_option_reconfigure_globals): Likewise.
28033 (arm_stack_protect_tls_canary_mem): New.
28034 (arm_stack_protect_guard): New.
28035 * config/arm/arm.md (stack_protect_set): New.
28036 (stack_protect_set_tls): Likewise.
28037 (stack_protect_test): Likewise.
28038 (stack_protect_test_tls): Likewise.
28039 (reload_tp_hard): Likewise.
28040 * config/arm/arm.opt (-mstack-protector-guard): New
28041 (-mstack-protector-guard-offset): New.
28042 * doc/invoke.texi: Document new options.
28043
28044 2022-01-21 Richard Biener <rguenther@suse.de>
28045
28046 PR tree-optimization/104156
28047 * tree-ssa-loop-unswitch.cc (tree_unswitch_outer_loop):
28048 Collect and reset debug stmts with out-of-loop uses when
28049 hoisting guards.
28050 (find_loop_guard): Adjust.
28051 (empty_bb_without_guard_p): Likewise. Ignore debug stmts.
28052 (used_outside_loop_p): Push debug uses to a vector of
28053 debug stmts to reset.
28054 (hoist_guard): Adjust -fopt-info category.
28055
28056 2022-01-21 Richard Biener <rguenther@suse.de>
28057
28058 PR tree-optimization/104152
28059 * tree-vect-slp.cc (vect_build_slp_tree_2): Add missing
28060 can_duplicate_and_interleave_p check.
28061
28062 2022-01-21 Jakub Jelinek <jakub@redhat.com>
28063
28064 * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer):
28065 Avoid passing var to warning_at when the format string doesn't
28066 refer to it.
28067
28068 2022-01-21 Aldy Hernandez <aldyh@redhat.com>
28069
28070 PR tree-optimization/103721
28071 * gimple-range-path.cc
28072 (path_range_query::relations_may_be_invalidated): New.
28073 (path_range_query::compute_ranges_in_block): Reset relations if
28074 they may be invalidated.
28075 (path_range_query::maybe_register_phi_relation): Exit if relations
28076 may be invalidated on incoming edge.
28077 (path_range_query::compute_phi_relations): Pass incoming PHI edge
28078 to maybe_register_phi_relation.
28079 * gimple-range-path.h (relations_may_be_invalidated): New.
28080 (maybe_register_phi_relation): Pass edge instead of tree.
28081 * tree-ssa-threadbackward.cc (back_threader::back_threader):
28082 Mark DFS edges.
28083 * value-relation.cc (path_oracle::path_oracle): Call
28084 mark_dfs_back_edges.
28085 (path_oracle::register_relation): Add SSA names to m_registered
28086 bitmap.
28087 (path_oracle::reset_path): Clear m_registered bitmap.
28088 * value-relation.h (path_oracle::set_root_oracle): New.
28089
28090 2022-01-21 Jakub Jelinek <jakub@redhat.com>
28091
28092 PR rtl-optimization/102478
28093 * optabs.cc (prepare_cmp_insn): If !can_create_pseudo_p (), don't
28094 force_reg constants and for -fnon-call-exceptions fail if copy_to_reg
28095 would be needed.
28096
28097 2022-01-20 Richard Biener <rguenther@suse.de>
28098
28099 PR middle-end/100786
28100 * gimple-fold.cc (get_symbol_constant_value): Only return
28101 values of compatible type to the symbol.
28102
28103 2022-01-20 Andrew MacLeod <amacleod@redhat.com>
28104
28105 * value-relation.cc (relation_oracle::valid_equivs): Query and add
28106 if valid members of a set.
28107 (equiv_oracle::register_equiv): Call valid_equivs rather than
28108 bitmap direct operations.
28109 (path_oracle::register_equiv): Ditto.
28110 * value-relation.h (relation_oracle::valid_equivs): New prototype.
28111
28112 2022-01-20 Richard Biener <rguenther@suse.de>
28113
28114 PR target/100784
28115 * config/i386/i386.cc (ix86_gimple_fold_builtin): Check for
28116 LHS before folding __builtin_ia32_shufpd and friends.
28117
28118 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
28119
28120 * config/arm/crypto.md (aes_op_protect): Allow moves from core
28121 registers and from memory.
28122 (aes_op_protect_misalign_load): New pattern.
28123 (aes_op_protect_neon_vld1v16qi): New pattern.
28124
28125 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
28126
28127 * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>_protected):
28128 New pattern.
28129 (aarch32_crypto_aese_fused_protected): Likewise.
28130 (aarch32_crypto_aesd_fused_protected): Likewise.
28131
28132 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
28133
28134 * config/arm/crypto.md (crypto_<CRYPTO_AES:crypto_pattern>): Convert
28135 to define_expand. Add mitigation for the Cortex-A AES erratum
28136 when enabled.
28137 (*crypto_<CRYPTO_AES:crypto_pattern>_insn): New pattern, based
28138 on original crypto_<CRYPTO_AES:crypto_pattern> insn.
28139 (aes_op_protect): New pattern.
28140 * config/arm/unspecs.md (unspec): Add UNSPEC_AES_PROTECT.
28141
28142 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
28143
28144 * config/arm/arm-cpus.in (quirk_aes_1742098): New quirk feature
28145 (ALL_QUIRKS): Add it.
28146 (cortex-a57, cortex-a72): Enable it.
28147 (cortex-a57.cortex-a53, cortex-a72.cortex-a53): Likewise.
28148 * config/arm/arm.opt (mfix-cortex-a57-aes-1742098): New command-line
28149 option.
28150 (mfix-cortex-a72-aes-1655431): New option alias.
28151 * config/arm/arm.cc (arm_option_override): Handle default settings
28152 for AES erratum switch.
28153 * doc/invoke.texi (Arm Options): Document new options.
28154
28155 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
28156
28157 * config/arm/crypto.md (crypto_<CYRPTO_AES:crypto_pattern>): Use
28158 <crypto_mode> rather than hard-coding the mode.
28159 (crypto_<CRYPTO_AESMC:crypto_pattern>): Fix white space.
28160 (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
28161 (*aarch32_crypto_aese_fused): Likewise.
28162 (*aarch32_crypto_aesd_fused): Likewise.
28163 (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
28164 (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
28165 (crypto_sha1h_lb): Likewise.
28166 (crypto_vmullp64): Likewise.
28167 (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
28168 (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
28169
28170 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
28171
28172 * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>): Add
28173 iterator to pattern name to disambiguate.
28174 (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
28175 (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
28176 (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
28177 (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
28178 (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
28179
28180 2022-01-20 Martin Liska <mliska@suse.cz>
28181
28182 PR bootstrap/104135
28183 * emit-rtl.cc (make_insn_raw): Fix -Wformat-diag warnings.
28184 * rtl.cc: Partially disable -Wformat-diag for RTL checking
28185 error messages.
28186
28187 2022-01-20 Jakub Jelinek <jakub@redhat.com>
28188
28189 PR debug/103874
28190 * dwarf2out.cc (index_rnglists): For !HAVE_AS_LEB128 and
28191 block_num > 0, index entry even if !have_multiple_function_sections.
28192
28193 2022-01-20 liuhongt <hongtao.liu@intel.com>
28194
28195 PR target/103771
28196 * tree-vect-stmts.cc (supportable_narrowing_operation): Enhance
28197 integral mode mask pack by multi steps which takes
28198 vec_pack_sbool_trunc_optab as start when elements number is
28199 less than BITS_PER_UNITS.
28200
28201 2022-01-20 Richard Biener <rguenther@suse.de>
28202
28203 PR tree-optimization/104114
28204 * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
28205 single element vector decomposition.
28206
28207 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
28208
28209 * ifcvt.cc (noce_convert_multiple_sets_1): New function.
28210 (noce_convert_multiple_sets): Call function a second time if we can
28211 improve the first try.
28212
28213 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
28214
28215 * ifcvt.cc (cond_exec_get_condition): New parameter to allow getting the
28216 reversed comparison.
28217 (try_emit_cmove_seq): New function to facilitate creating a cmov
28218 sequence.
28219 (noce_convert_multiple_sets): Create two sequences and use the less
28220 expensive one.
28221
28222 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
28223
28224 * rtl.h (struct rtx_comparison): New struct that holds an rtx
28225 comparison.
28226 * config/rs6000/rs6000.cc (rs6000_emit_minmax): Use struct instead of
28227 single parameters.
28228 (rs6000_emit_swsqrt): Likewise.
28229 * expmed.cc (expand_sdiv_pow2): Likewise.
28230 (emit_store_flag): Likewise.
28231 * expr.cc (expand_cond_expr_using_cmove): Likewise.
28232 (expand_expr_real_2): Likewise.
28233 * ifcvt.cc (noce_emit_cmove): Add compare and reversed compare
28234 parameters.
28235 * optabs.cc (emit_conditional_move_1): New function.
28236 (expand_doubleword_shift_condmove): Use struct.
28237 (emit_conditional_move): Use struct and allow to call directly
28238 without going through preparation steps.
28239 * optabs.h (emit_conditional_move): Use struct.
28240
28241 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
28242
28243 * ifcvt.cc (bb_ok_for_noce_convert_multiple_sets): Estimate insns costs.
28244 (noce_process_if_block): Use potential costs.
28245
28246 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
28247
28248 * ifcvt.cc (noce_convert_multiple_sets): Allow constants.
28249 (bb_ok_for_noce_convert_multiple_sets): Likewise.
28250
28251 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
28252
28253 * ifcvt.cc (need_cmov_or_rewire): New function.
28254 (noce_convert_multiple_sets): Call it.
28255
28256 2022-01-19 David Malcolm <dmalcolm@redhat.com>
28257
28258 * attribs.cc (attribute_c_tests): Rename to...
28259 (attribs_cc_tests): ...this.
28260 * bitmap.cc (bitmap_c_tests): Rename to...
28261 (bitmap_cc_tests): ...this.
28262 * cgraph.cc (cgraph_c_finalize): Rename to...
28263 (cgraph_cc_finalize): ...this.
28264 (cgraph_c_tests): Rename to...
28265 (cgraph_cc_tests): ...this.
28266 * cgraph.h (cgraph_c_finalize): Rename to...
28267 (cgraph_cc_finalize): ...this.
28268 (cgraphunit_c_finalize): Rename to...
28269 (cgraphunit_cc_finalize): ...this.
28270 * cgraphunit.cc (cgraphunit_c_finalize): Rename to...
28271 (cgraphunit_cc_finalize): ...this.
28272 * convert.cc (convert_c_tests): Rename to...
28273 (convert_cc_tests): ...this.
28274 * dbgcnt.cc (dbgcnt_c_tests): Rename to...
28275 (dbgcnt_cc_tests): ...this.
28276 * diagnostic-show-locus.cc (diagnostic_show_locus_c_tests): Rename to...
28277 (diagnostic_show_locus_cc_tests): ...this.
28278 * diagnostic.cc (diagnostic_c_tests): Rename to...
28279 (diagnostic_cc_tests): ...this.
28280 * dumpfile.cc (dumpfile_c_tests): Rename to...
28281 (dumpfile_cc_tests): ...this.
28282 * dwarf2out.cc (dwarf2out_c_finalize): Rename to...
28283 (dwarf2out_cc_finalize): ...this.
28284 * dwarf2out.h (dwarf2out_c_finalize): Rename to...
28285 (dwarf2out_cc_finalize): ...this.
28286 * edit-context.cc (edit_context_c_tests): Rename to...
28287 (edit_context_cc_tests): ...this.
28288 * et-forest.cc (et_forest_c_tests): Rename to...
28289 (et_forest_cc_tests): ...this.
28290 * fibonacci_heap.cc (fibonacci_heap_c_tests): Rename to...
28291 (fibonacci_heap_cc_tests): ...this.
28292 * fold-const.cc (fold_const_c_tests): Rename to...
28293 (fold_const_cc_tests): ...this.
28294 * function-tests.cc (function_tests_c_tests): Rename to...
28295 (function_tests_cc_tests): ...this.
28296 * gcse.cc (gcse_c_finalize): Rename to...
28297 (gcse_cc_finalize): ...this.
28298 * gcse.h (gcse_c_finalize): Rename to...
28299 (gcse_cc_finalize): ...this.
28300 * ggc-tests.cc (ggc_tests_c_tests): Rename to...
28301 (ggc_tests_cc_tests): ...this.
28302 * gimple-ssa-store-merging.cc (store_merging_c_tests): Rename to...
28303 (store_merging_cc_tests): ...this.
28304 * gimple.cc (gimple_c_tests): Rename to...
28305 (gimple_cc_tests): ...this.
28306 * hash-map-tests.cc (hash_map_tests_c_tests): Rename to...
28307 (hash_map_tests_cc_tests): ...this.
28308 * hash-set-tests.cc (hash_set_tests_c_tests): Rename to...
28309 (hash_set_tests_cc_tests): ...this.
28310 * input.cc (input_c_tests): Rename to...
28311 (input_cc_tests): ...this.
28312 * ipa-cp.cc (ipa_cp_c_finalize): Rename to...
28313 (ipa_cp_cc_finalize): ...this.
28314 * ipa-fnsummary.cc (ipa_fnsummary_c_finalize): Rename to...
28315 (ipa_fnsummary_cc_finalize): ...this.
28316 * ipa-fnsummary.h (ipa_fnsummary_c_finalize): Rename to...
28317 (ipa_fnsummary_cc_finalize): ...this.
28318 * ipa-modref-tree.cc (ipa_modref_tree_c_tests): Rename to...
28319 (ipa_modref_tree_cc_tests): ...this.
28320 * ipa-modref-tree.h (modref_c_tests): Delete bogus decl.
28321 * ipa-modref.cc (ipa_modref_c_finalize): Rename to...
28322 (ipa_modref_cc_finalize): ...this.
28323 * ipa-modref.h (ipa_modref_c_finalize): Rename to...
28324 (ipa_modref_cc_finalize): ...this.
28325 * ipa-prop.h (ipa_cp_c_finalize): Rename to...
28326 (ipa_cp_cc_finalize): ...this.
28327 * ipa-reference.cc (ipa_reference_c_finalize): Rename to...
28328 (ipa_reference_cc_finalize): ...this.
28329 * ipa-reference.h (ipa_reference_c_finalize): Rename to...
28330 (ipa_reference_cc_finalize): ...this.
28331 * ira-costs.cc (ira_costs_c_finalize): Rename to...
28332 (ira_costs_cc_finalize): ...this.
28333 * ira.h (ira_costs_c_finalize): Rename to...
28334 (ira_costs_cc_finalize): ...this.
28335 * opt-suggestions.cc (opt_proposer_c_tests): Rename to...
28336 (opt_suggestions_cc_tests): ...this.
28337 * opts.cc (opts_c_tests): Rename to...
28338 (opts_cc_tests): ...this.
28339 * predict.cc (predict_c_tests): Rename to...
28340 (predict_cc_tests): ...this.
28341 * pretty-print.cc (pretty_print_c_tests): Rename to...
28342 (pretty_print_cc_tests): ...this.
28343 * read-rtl-function.cc (read_rtl_function_c_tests): Rename to...
28344 (read_rtl_function_cc_tests): ...this.
28345 * rtl-tests.cc (rtl_tests_c_tests): Rename to...
28346 (rtl_tests_cc_tests): ...this.
28347 * sbitmap.cc (sbitmap_c_tests): Rename to...
28348 (sbitmap_cc_tests): ...this.
28349 * selftest-run-tests.cc (selftest::run_tests): Update calls for
28350 _c_ to _cc_ function renamings; fix names of attribs and
28351 opt-suggestions tests.
28352 * selftest.cc (selftest_c_tests): Rename to...
28353 (selftest_cc_tests): ...this.
28354 * selftest.h (attribute_c_tests): Rename to...
28355 (attribs_cc_tests): ...this.
28356 (bitmap_c_tests): Rename to...
28357 (bitmap_cc_tests): ...this.
28358 (cgraph_c_tests): Rename to...
28359 (cgraph_cc_tests): ...this.
28360 (convert_c_tests): Rename to...
28361 (convert_cc_tests): ...this.
28362 (diagnostic_c_tests): Rename to...
28363 (diagnostic_cc_tests): ...this.
28364 (diagnostic_show_locus_c_tests): Rename to...
28365 (diagnostic_show_locus_cc_tests): ...this.
28366 (dumpfile_c_tests): Rename to...
28367 (dumpfile_cc_tests): ...this.
28368 (edit_context_c_tests): Rename to...
28369 (edit_context_cc_tests): ...this.
28370 (et_forest_c_tests): Rename to...
28371 (et_forest_cc_tests): ...this.
28372 (fibonacci_heap_c_tests): Rename to...
28373 (fibonacci_heap_cc_tests): ...this.
28374 (fold_const_c_tests): Rename to...
28375 (fold_const_cc_tests): ...this.
28376 (function_tests_c_tests): Rename to...
28377 (function_tests_cc_tests): ...this.
28378 (ggc_tests_c_tests): Rename to...
28379 (ggc_tests_cc_tests): ...this.
28380 (gimple_c_tests): Rename to...
28381 (gimple_cc_tests): ...this.
28382 (hash_map_tests_c_tests): Rename to...
28383 (hash_map_tests_cc_tests): ...this.
28384 (hash_set_tests_c_tests): Rename to...
28385 (hash_set_tests_cc_tests): ...this.
28386 (input_c_tests): Rename to...
28387 (input_cc_tests): ...this.
28388 (opts_c_tests): Rename to...
28389 (opts_cc_tests): ...this.
28390 (predict_c_tests): Rename to...
28391 (predict_cc_tests): ...this.
28392 (pretty_print_c_tests): Rename to...
28393 (pretty_print_cc_tests): ...this.
28394 (read_rtl_function_c_tests): Rename to...
28395 (read_rtl_function_cc_tests): ...this.
28396 (rtl_tests_c_tests): Rename to...
28397 (rtl_tests_cc_tests): ...this.
28398 (sbitmap_c_tests): Rename to...
28399 (sbitmap_cc_tests): ...this.
28400 (selftest_c_tests): Rename to...
28401 (selftest_cc_tests): ...this.
28402 (simplify_rtx_c_tests): Rename to...
28403 (simplify_rtx_cc_tests): ...this.
28404 (spellcheck_c_tests): Rename to...
28405 (spellcheck_cc_tests): ...this.
28406 (spellcheck_tree_c_tests): Rename to...
28407 (spellcheck_tree_cc_tests): ...this.
28408 (sreal_c_tests): Rename to...
28409 (sreal_cc_tests): ...this.
28410 (store_merging_c_tests): Rename to...
28411 (store_merging_cc_tests): ...this.
28412 (tree_c_tests): Rename to...
28413 (tree_cc_tests): ...this.
28414 (tree_cfg_c_tests): Rename to...
28415 (tree_cfg_cc_tests): ...this.
28416 (typed_splay_tree_c_tests): Rename to...
28417 (typed_splay_tree_cc_tests): ...this.
28418 (vec_c_tests): Rename to...
28419 (vec_cc_tests): ...this.
28420 (vec_perm_indices_c_tests): Rename to...
28421 (vec_perm_indices_cc_tests): ..this.
28422 (opt_proposer_c_tests): Rename to...
28423 (opt_suggestions_cc_tests): ...this.
28424 (dbgcnt_c_tests): Rename to...
28425 (dbgcnt_cc_tests): ...this.
28426 (ipa_modref_tree_c_tests): Rename to...
28427 (ipa_modref_tree_cc_tests): ...this.
28428 * simplify-rtx.cc (simplify_rtx_c_tests): Rename to...
28429 (simplify_rtx_cc_tests): ...this.
28430 * spellcheck-tree.cc (spellcheck_tree_c_tests): Rename to...
28431 (spellcheck_tree_cc_tests): ...this.
28432 * spellcheck.cc (spellcheck_c_tests): Rename to...
28433 (spellcheck_cc_tests): ...this.
28434 * sreal.cc (sreal_c_tests): Rename to...
28435 (sreal_cc_tests): ...this.
28436 * toplev.cc (toplev::finalize): Update calls for _c_ to _cc_
28437 function renamings.
28438 * tree-cfg.cc (tree_cfg_c_tests): Rename to...
28439 (tree_cfg_cc_tests): ...this.
28440 * tree.cc (tree_c_tests): Rename to...
28441 (tree_cc_tests): ...this.
28442 * typed-splay-tree.cc (typed_splay_tree_c_tests): Rename to...
28443 (typed_splay_tree_cc_tests): ...this.
28444 * vec-perm-indices.cc (vec_perm_indices_c_tests): Rename to...
28445 (vec_perm_indices_cc_tests): ...this.
28446 * vec.cc (vec_c_tests): Rename to...
28447 (vec_cc_tests): ...this.
28448
28449 2022-01-19 Andre Vieira <andre.simoesdiasvieira@arm.com>
28450
28451 PR tree-optimization/103997
28452 * tree-vect-loop.cc (vect_analyze_loop): Fix mode skipping for epilogue
28453 vectorization.
28454
28455 2022-01-19 Jakub Jelinek <jakub@redhat.com>
28456
28457 PR middle-end/102860
28458 * match.pd (x %[fl] y -> x % y): New simplification for
28459 unsigned integral types.
28460 * optabs-tree.cc (optab_for_tree_code): Return unknown_optab
28461 for {CEIL,FLOOR,ROUND}_{DIV,MOD}_EXPR with VECTOR_TYPE.
28462
28463 2022-01-19 Richard Biener <rguenther@suse.de>
28464
28465 PR tree-optimization/104112
28466 * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
28467 for required intermediate vector types.
28468
28469 2022-01-19 Jakub Jelinek <jakub@redhat.com>
28470
28471 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Add default:.
28472
28473 2022-01-19 Martin Liska <mliska@suse.cz>
28474
28475 * configure.ac: Remove -Wno-error=format-diag.
28476 * configure: Regenerate.
28477
28478 2022-01-19 Martin Liska <mliska@suse.cz>
28479
28480 * config/riscv/riscv.cc (riscv_handle_type_attribute):
28481 Update one -Wformat-diag string in warning message.
28482
28483 2022-01-19 Jakub Jelinek <jakub@redhat.com>
28484
28485 PR middle-end/104103
28486 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Don't check
28487 .ASAN_MARK calls.
28488
28489 2022-01-19 Jakub Jelinek <jakub@redhat.com>
28490
28491 PR c++/89074
28492 * fold-const.cc (address_compare): Consider different STRING_CSTs
28493 with the same lengths that memcmp the same as equal, not different.
28494
28495 2022-01-19 Jakub Jelinek <jakub@redhat.com>
28496
28497 * config/i386/sse.md (*aes<aeswideklvariant>u*): Use %0 instead of
28498 {%0}.
28499
28500 2022-01-19 Martin Liska <mliska@suse.cz>
28501 Thomas Schwinge <thomas@codesourcery.com>
28502
28503 * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Update
28504 warning messages.
28505
28506 2022-01-19 Sebastian Huber <sebastian.huber@embedded-brains.de>
28507
28508 PR target/104090
28509 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Use also
28510 rs6000_cpu.
28511
28512 2022-01-19 Jakub Jelinek <jakub@redhat.com>
28513
28514 PR target/104104
28515 * config/i386/sse.md
28516 (<avx512>_<complexopname>_<mode><maskc_name><round_name>,
28517 avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>,
28518 avx512dq_mul<mode>3<mask_name>, <avx2_avx512>_permvar<mode><mask_name>,
28519 avx2_perm<mode>_1<mask_name>, avx512f_perm<mode>_1<mask_name>,
28520 avx512dq_rangep<mode><mask_name><round_saeonly_name>,
28521 avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>,
28522 <avx512>_getmant<mode><mask_name><round_saeonly_name>,
28523 avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
28524 Use vxorps\t%x0, %x0, %x0 instead of vxorps\t{%x0, %x0, %x0}.
28525
28526 2022-01-19 Martin Sebor <msebor@redhat.com>
28527
28528 PR middle-end/104069
28529 * gimple-ssa-warn-access.cc (pointers_related_p): Return false for
28530 an unknown result as documented.
28531
28532 2022-01-18 Andrew Pinski <apinski@marvell.com>
28533
28534 * ipa-split.cc (visit_bb): Fix comment before the
28535 warning/error attribute checking code.
28536
28537 2022-01-18 David Faust <david.faust@oracle.com>
28538
28539 * config/bpf/coreout.cc (bpf_core_reloc_add): Do not account
28540 for base strtab offset yet as it may change.
28541 (output_asm_btfext_core_reloc): Do so here instead.
28542 (output_btfext_core_sections): Likewise.
28543
28544 2022-01-18 David Faust <david.faust@oracle.com>
28545
28546 * config/bpf/coreout.cc (output_btfext_header): Account for
28547 4-byte record size in core_relo_len.
28548 (output_btfext_core_sections): Only write record size once.
28549 * config/bpf/coreout.h (btf_ext_section_header): Delete unused
28550 member.
28551
28552 2022-01-18 Maciej W. Rozycki <macro@embecosm.com>
28553
28554 * common/config/riscv/riscv-common.cc
28555 (riscv_subset_list::parse_multiletter_ext): Move pointer
28556 arithmetic ahead of `free'.
28557
28558 2022-01-18 Jason Merrill <jason@redhat.com>
28559
28560 PR c++/104007
28561 * gimplify.cc (gimple_push_cleanup): Handle eh_only in conditional
28562 context.
28563
28564 2022-01-18 Sandra Loosemore <sandra@codesourcery.com>
28565
28566 PR middle-end/103163
28567 * emit-rtl.cc (init_emit_regs): Initialize stack_limit_rtx here...
28568 (init_emit_once): ...not here.
28569
28570 2022-01-18 Martin Liska <mliska@suse.cz>
28571
28572 * collect2.cc (scan_libraries): Fix -Wformat-diag issues.
28573 * config/aarch64/aarch64-builtins.cc (aarch64_simd_expand_builtin): Likewise.
28574 * config/arc/arc.md: Likewise.
28575 * config/avr/avr.cc (avr_section_type_flags): Likewise.
28576 * config/bfin/bfin.cc (bfin_option_override): Likewise.
28577 (bfin_handle_longcall_attribute): Likewise.
28578 * config/cris/cris.h (FUNCTION_PROFILER): Likewise.
28579 * config/frv/frv.cc (frv_expand_builtin): Likewise.
28580 * config/ia64/ia64-c.cc (ia64_hpux_handle_builtin_pragma): Likewise.
28581 * config/iq2000/iq2000.cc (save_restore_insns): Likewise.
28582 (iq2000_print_operand_address): Likewise.
28583 (iq2000_print_operand): Likewise.
28584 * config/m32c/m32c-pragma.cc (m32c_pragma_memregs): Likewise.
28585 (m32c_pragma_address): Likewise.
28586 * config/m68k/m68k.cc (m68k_handle_fndecl_attribute): Likewise.
28587 * config/mips/mips.cc (mips_handle_interrupt_attr): Likewise.
28588 (mips_set_compression_mode): Likewise.
28589 * config/mmix/mmix.cc (mmix_function_profiler): Likewise.
28590 (mmix_print_operand): Likewise.
28591 (mmix_output_shiftvalue_op_from_str): Likewise.
28592 (mmix_output_shifted_value): Likewise.
28593 * config/msp430/driver-msp430.cc (msp430_select_hwmult_lib): Likewise.
28594 * config/msp430/msp430.cc (msp430_option_override): Likewise.
28595 (msp430_attr): Likewise.
28596 (msp430_expand_delay_cycles): Likewise.
28597 (msp430_expand_builtin): Likewise.
28598 * config/rs6000/aix73.h: Likewise.
28599 * config/rs6000/rtems.h (INVALID_64BIT): Likewise.
28600 * config/rx/rx.cc (rx_expand_builtin_mvtc): Likewise.
28601 (valid_psw_flag): Likewise.
28602 * config/sh/sh.cc (parse_validate_atomic_model_option): Likewise.
28603 * config/stormy16/stormy16.cc (xstormy16_function_profiler): Likewise.
28604 (xstormy16_expand_builtin_va_start): Likewise.
28605 (xstormy16_handle_below100_attribute): Likewise.
28606
28607 2022-01-18 Martin Liska <mliska@suse.cz>
28608
28609 * config/vms/vms-c.cc (vms_pragma_nostandard): Fix -Wformat-diag
28610 warning.
28611 (vms_pragma_standard): Likewise.
28612 (vms_pragma_extern_prefix): Likewise.
28613
28614 2022-01-18 Martin Liska <mliska@suse.cz>
28615
28616 * config/xtensa/xtensa.cc (print_operand): Fix warnings.
28617 (print_operand_address): Likewise.
28618 (xtensa_multibss_section_type_flags): Likewise.
28619
28620 2022-01-18 Martin Liska <mliska@suse.cz>
28621
28622 * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Change
28623 wording of an error message.
28624
28625 2022-01-18 Martin Liska <mliska@suse.cz>
28626
28627 * config/v850/v850-c.cc (pop_data_area): Fix -Wformat-diag
28628 warning.
28629 (ghs_pragma_section): Likewise.
28630 (ghs_pragma_interrupt): Likewise.
28631 (ghs_pragma_starttda): Likewise.
28632 (ghs_pragma_startsda): Likewise.
28633 (ghs_pragma_startzda): Likewise.
28634 (ghs_pragma_endtda): Likewise.
28635 (ghs_pragma_endsda): Likewise.
28636 (ghs_pragma_endzda): Likewise.
28637
28638 2022-01-18 Martin Liska <mliska@suse.cz>
28639
28640 * config/nds32/nds32-intrinsic.cc (nds32_expand_builtin_impl):
28641 Fix warnings.
28642 * config/nds32/nds32-intrinsic.md: Likewise.
28643 * config/nds32/nds32-isr.cc (nds32_check_isr_attrs_conflict): Likewise.
28644 * config/nds32/nds32.cc (nds32_print_operand): Likewise.
28645 (nds32_insert_attributes): Likewise.
28646
28647 2022-01-18 Martin Liska <mliska@suse.cz>
28648
28649 * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Wrap
28650 keyword.
28651 * config/nvptx/nvptx.md: Remove trailing dot.
28652
28653 2022-01-18 Martin Liska <mliska@suse.cz>
28654
28655 * common/config/riscv/riscv-common.cc (riscv_subset_list::add):
28656 Wrap keywords with quotes and remove trailing dots.
28657 (riscv_subset_list::parsing_subset_version): Likewise.
28658 (riscv_subset_list::parse_std_ext): Likewise.
28659 (riscv_subset_list::parse_multiletter_ext): Likewise.
28660 * config/riscv/riscv.cc (riscv_handle_type_attribute): Likewise.
28661
28662 2022-01-18 Andre Vieira <andre.simoesdiasvieira@arm.com>
28663
28664 * tree-vect-loop.cc (vect_estimate_min_profitable_iters): Pass new
28665 argument suggested_unroll_factor.
28666 (vect_analyze_loop_costing): Likewise.
28667 (_loop_vec_info::_loop_vec_info): Initialize new member
28668 suggested_unroll_factor.
28669 (vect_determine_partial_vectors_and_peeling): Make epilogue of unrolled
28670 main loop use partial vectors.
28671 (vect_analyze_loop_2): Pass and use new argument
28672 suggested_unroll_factor.
28673 (vect_analyze_loop_1): Change to intialize local
28674 suggested_unroll_factor and use it.
28675 (vectorizable_reduction): Don't use single_defuse_cycle when unrolling.
28676 * tree-vectorizer.h (_loop_vec_info::_loop_vec_info): Add new member
28677 suggested_unroll_factor.
28678 (vector_costs::vector_costs): Add new member m_suggested_unroll_factor.
28679 (vector_costs::suggested_unroll_factor): New getter function.
28680 (finish_cost): Set return argument suggested_unroll_factor.
28681
28682 2022-01-18 Andrew MacLeod <amacleod@redhat.com>
28683
28684 PR tree-optimization/104038
28685 * doc/invoke.texi (relation-block-limit): New.
28686 * params.opt (relation-block-limit): New.
28687 * value-relation.cc (dom_oracle::register_relation): Check for NULL
28688 record before invoking transitive registery.
28689 (dom_oracle::set_one_relation): Check limit before creating record.
28690 (dom_oracle::register_transitives): Stop when no record created.
28691 * value-relation.h (relation_chain_head::m_num_relations): New.
28692
28693 2022-01-18 Richard Biener <rguenther@suse.de>
28694
28695 PR ipa/103989
28696 * ipa-inline.cc (inline_small_functions): Do not enqueue call
28697 edges originating in functions compiled with -Og.
28698
28699 2022-01-18 Richard Biener <rguenther@suse.de>
28700
28701 PR ipa/103989
28702 * passes.def (pass_all_optimizations_g): Remove pass_modref
28703 and pass_local_pure_const.
28704
28705 2022-01-18 Martin Liska <mliska@suse.cz>
28706
28707 * config/s390/s390.cc: Fix -Wformat-diag warnings.
28708
28709 2022-01-18 Martin Liska <mliska@suse.cz>
28710
28711 * config/s390/s390-c.cc (s390_expand_overloaded_builtin): Wrap
28712 keyword in quotes.
28713 (s390_resolve_overloaded_builtin): Remove trailing dot.
28714 * config/s390/s390.cc (s390_const_operand_ok): Use - for range.
28715 (s390_expand_builtin): Remove trailing dot.
28716 (s390_emit_prologue): Likewise, use semicolon.
28717 (s390_option_override_internal): Update keyword.
28718 * varasm.cc (do_assemble_alias): Wrap keyword in quotes.
28719
28720 2022-01-18 Martin Liska <mliska@suse.cz>
28721
28722 * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Wrap
28723 keywords and use %qs instead of %<%s%>.
28724
28725 2022-01-18 Richard Biener <rguenther@suse.de>
28726
28727 PR tree-optimization/103987
28728 * tree-ssa-dse.cc (dse_optimize_call): Properly guard modref
28729 query with a pointer check.
28730
28731 2022-01-18 Richard Sandiford <richard.sandiford@arm.com>
28732
28733 PR target/104005
28734 * config/aarch64/aarch64.cc (aarch64_check_consecutive_mems):
28735 When using MEM_EXPR, require the base to be a decl.
28736
28737 2022-01-18 Richard Biener <rguenther@suse.de>
28738
28739 * cgraph.h (struct cgraph_simd_clone_arg): Re-arrange fields to
28740 avoid padding.
28741 * function.h (struct function): Likewise.
28742
28743 2022-01-18 Arnaud Charlet <charlet@adacore.com>
28744
28745 * doc/install.texi: Update prerequisites for GNAT
28746
28747 2022-01-18 Andrew Pinski <apinski@marvell.com>
28748
28749 PR tree-optimization/101941
28750 * ipa-split.cc (visit_bb): Disallow function calls where
28751 the function has either error or warning attribute.
28752
28753 2022-01-18 Richard Biener <rguenther@suse.de>
28754
28755 PR tree-optimization/104064
28756 * tree-vect-data-refs.cc (vect_analyze_data_ref_accesses): Check
28757 DR_INIT fits in a signed HWI, represent the difference from the
28758 first DR in unsigned.
28759
28760 2022-01-17 Martin Liska <mliska@suse.cz>
28761
28762 * Makefile.in: Rename .c names to .cc.
28763 * config.gcc: Likewise.
28764 * configure: Regenerate. Likewise.
28765 * configure.ac: Likewise.
28766 * gengtype.cc (set_gc_used): Likewise.
28767 (source_dot_c_frul): Likewise.
28768 (source_dot_cc_frul): Likewise.
28769 (struct file_rule_st): Likewise.
28770 (close_output_files): Likewise.
28771 * config/avr/t-avr: Use CXXFLAGS_* and CXX_FOR_BUILD.
28772
28773 2022-01-17 Martin Liska <mliska@suse.cz>
28774
28775 * Makefile.in: Rename .c names to .cc.
28776 * alias.h: Likewise.
28777 * asan.cc: Likewise.
28778 * auto-profile.h: Likewise.
28779 * basic-block.h (struct basic_block_d): Likewise.
28780 * btfout.cc: Likewise.
28781 * builtins.cc (expand_builtin_longjmp): Likewise.
28782 (validate_arg): Likewise.
28783 (access_ref::offset_bounded): Likewise.
28784 * caller-save.cc (reg_restore_code): Likewise.
28785 (setup_save_areas): Likewise.
28786 * calls.cc (initialize_argument_information): Likewise.
28787 (expand_call): Likewise.
28788 (emit_library_call_value_1): Likewise.
28789 * cfg-flags.def (RTL): Likewise.
28790 (SIBCALL): Likewise.
28791 (CAN_FALLTHRU): Likewise.
28792 * cfganal.cc (post_order_compute): Likewise.
28793 * cfgcleanup.cc (try_simplify_condjump): Likewise.
28794 (merge_blocks_move_predecessor_nojumps): Likewise.
28795 (merge_blocks_move_successor_nojumps): Likewise.
28796 (merge_blocks_move): Likewise.
28797 (old_insns_match_p): Likewise.
28798 (try_crossjump_bb): Likewise.
28799 * cfgexpand.cc (expand_gimple_stmt): Likewise.
28800 * cfghooks.cc (split_block_before_cond_jump): Likewise.
28801 (profile_record_check_consistency): Likewise.
28802 * cfghooks.h: Likewise.
28803 * cfgrtl.cc (pass_free_cfg::execute): Likewise.
28804 (rtl_can_merge_blocks): Likewise.
28805 (try_redirect_by_replacing_jump): Likewise.
28806 (make_pass_outof_cfg_layout_mode): Likewise.
28807 (cfg_layout_can_merge_blocks_p): Likewise.
28808 * cgraph.cc (release_function_body): Likewise.
28809 (cgraph_node::get_fun): Likewise.
28810 * cgraph.h (struct cgraph_node): Likewise.
28811 (asmname_hasher::equal): Likewise.
28812 (cgraph_inline_failed_type): Likewise.
28813 (thunk_adjust): Likewise.
28814 (dump_callgraph_transformation): Likewise.
28815 (record_references_in_initializer): Likewise.
28816 (ipa_discover_variable_flags): Likewise.
28817 * cgraphclones.cc (GTY): Likewise.
28818 * cgraphunit.cc (symbol_table::finalize_compilation_unit): Likewise.
28819 * collect-utils.h (GCC_COLLECT_UTILS_H): Likewise.
28820 * collect2-aix.h (GCC_COLLECT2_AIX_H): Likewise.
28821 * collect2.cc (maybe_run_lto_and_relink): Likewise.
28822 * combine-stack-adj.cc: Likewise.
28823 * combine.cc (setup_incoming_promotions): Likewise.
28824 (combine_simplify_rtx): Likewise.
28825 (count_rtxs): Likewise.
28826 * common.opt: Likewise.
28827 * common/config/aarch64/aarch64-common.cc: Likewise.
28828 * common/config/arm/arm-common.cc (arm_asm_auto_mfpu): Likewise.
28829 * common/config/avr/avr-common.cc: Likewise.
28830 * common/config/i386/i386-isas.h (struct _isa_names_table): Likewise.
28831 * conditions.h: Likewise.
28832 * config.gcc: Likewise.
28833 * config/aarch64/aarch64-builtins.cc (aarch64_resolve_overloaded_memtag): Likewise.
28834 * config/aarch64/aarch64-protos.h (aarch64_classify_address): Likewise.
28835 (aarch64_get_extension_string_for_isa_flags): Likewise.
28836 * config/aarch64/aarch64-sve-builtins.cc (function_builder::add_function): Likewise.
28837 * config/aarch64/aarch64.cc (aarch64_regmode_natural_size): Likewise.
28838 (aarch64_sched_first_cycle_multipass_dfa_lookahead): Likewise.
28839 (aarch64_option_valid_attribute_p): Likewise.
28840 (aarch64_short_vector_p): Likewise.
28841 (aarch64_float_const_representable_p): Likewise.
28842 * config/aarch64/aarch64.h (DBX_REGISTER_NUMBER): Likewise.
28843 (ASM_OUTPUT_POOL_EPILOGUE): Likewise.
28844 (GTY): Likewise.
28845 * config/aarch64/cortex-a57-fma-steering.cc: Likewise.
28846 * config/aarch64/driver-aarch64.cc (contains_core_p): Likewise.
28847 * config/aarch64/t-aarch64: Likewise.
28848 * config/aarch64/x-aarch64: Likewise.
28849 * config/aarch64/x-darwin: Likewise.
28850 * config/alpha/alpha-protos.h: Likewise.
28851 * config/alpha/alpha.cc (alpha_scalar_mode_supported_p): Likewise.
28852 * config/alpha/alpha.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
28853 (enum reg_class): Likewise.
28854 * config/alpha/alpha.md: Likewise.
28855 * config/alpha/driver-alpha.cc (AMASK_LOCKPFTCHOK): Likewise.
28856 * config/alpha/x-alpha: Likewise.
28857 * config/arc/arc-protos.h (arc_eh_uses): Likewise.
28858 * config/arc/arc.cc (ARC_OPT): Likewise.
28859 (arc_ccfsm_advance): Likewise.
28860 (arc_arg_partial_bytes): Likewise.
28861 (conditionalize_nonjump): Likewise.
28862 * config/arc/arc.md: Likewise.
28863 * config/arc/builtins.def: Likewise.
28864 * config/arc/t-arc: Likewise.
28865 * config/arm/arm-c.cc (arm_resolve_overloaded_builtin): Likewise.
28866 (arm_pragma_target_parse): Likewise.
28867 * config/arm/arm-protos.h (save_restore_target_globals): Likewise.
28868 (arm_cpu_cpp_builtins): Likewise.
28869 * config/arm/arm.cc (vfp3_const_double_index): Likewise.
28870 (shift_op): Likewise.
28871 (thumb2_final_prescan_insn): Likewise.
28872 (arm_final_prescan_insn): Likewise.
28873 (arm_asm_output_labelref): Likewise.
28874 (arm_small_register_classes_for_mode_p): Likewise.
28875 * config/arm/arm.h: Likewise.
28876 * config/arm/arm.md: Likewise.
28877 * config/arm/driver-arm.cc: Likewise.
28878 * config/arm/symbian.h: Likewise.
28879 * config/arm/t-arm: Likewise.
28880 * config/arm/thumb1.md: Likewise.
28881 * config/arm/x-arm: Likewise.
28882 * config/avr/avr-c.cc (avr_register_target_pragmas): Likewise.
28883 * config/avr/avr-fixed.md: Likewise.
28884 * config/avr/avr-log.cc (avr_log_vadump): Likewise.
28885 * config/avr/avr-mcus.def: Likewise.
28886 * config/avr/avr-modes.def (FRACTIONAL_INT_MODE): Likewise.
28887 * config/avr/avr-passes.def (INSERT_PASS_BEFORE): Likewise.
28888 * config/avr/avr-protos.h (make_avr_pass_casesi): Likewise.
28889 * config/avr/avr.cc (avr_option_override): Likewise.
28890 (avr_build_builtin_va_list): Likewise.
28891 (avr_mode_dependent_address_p): Likewise.
28892 (avr_function_arg_advance): Likewise.
28893 (avr_asm_output_aligned_decl_common): Likewise.
28894 * config/avr/avr.h (RETURN_ADDR_RTX): Likewise.
28895 (SUPPORTS_INIT_PRIORITY): Likewise.
28896 * config/avr/avr.md: Likewise.
28897 * config/avr/builtins.def: Likewise.
28898 * config/avr/gen-avr-mmcu-specs.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
28899 * config/avr/gen-avr-mmcu-texi.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
28900 (main): Likewise.
28901 * config/avr/t-avr: Likewise.
28902 * config/bfin/bfin.cc (frame_related_constant_load): Likewise.
28903 * config/bpf/bpf-protos.h (GCC_BPF_PROTOS_H): Likewise.
28904 * config/bpf/bpf.h (enum reg_class): Likewise.
28905 * config/bpf/t-bpf: Likewise.
28906 * config/c6x/c6x-protos.h (GCC_C6X_PROTOS_H): Likewise.
28907 * config/cr16/cr16-protos.h: Likewise.
28908 * config/cris/cris.cc (cris_address_cost): Likewise.
28909 (cris_side_effect_mode_ok): Likewise.
28910 (cris_init_machine_status): Likewise.
28911 (cris_emit_movem_store): Likewise.
28912 * config/cris/cris.h (INDEX_REG_CLASS): Likewise.
28913 (enum reg_class): Likewise.
28914 (struct cum_args): Likewise.
28915 * config/cris/cris.opt: Likewise.
28916 * config/cris/sync.md: Likewise.
28917 * config/csky/csky.cc (csky_expand_prologue): Likewise.
28918 * config/darwin-c.cc: Likewise.
28919 * config/darwin-f.cc: Likewise.
28920 * config/darwin-sections.def (zobj_const_section): Likewise.
28921 * config/darwin.cc (output_objc_section_asm_op): Likewise.
28922 (fprintf): Likewise.
28923 * config/darwin.h (GTY): Likewise.
28924 * config/elfos.h: Likewise.
28925 * config/epiphany/epiphany-sched.md: Likewise.
28926 * config/epiphany/epiphany.cc (epiphany_function_value): Likewise.
28927 * config/epiphany/epiphany.h (GTY): Likewise.
28928 (NO_FUNCTION_CSE): Likewise.
28929 * config/epiphany/mode-switch-use.cc: Likewise.
28930 * config/epiphany/predicates.md: Likewise.
28931 * config/epiphany/t-epiphany: Likewise.
28932 * config/fr30/fr30-protos.h: Likewise.
28933 * config/frv/frv-protos.h: Likewise.
28934 * config/frv/frv.cc (TLS_BIAS): Likewise.
28935 * config/frv/frv.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
28936 * config/ft32/ft32-protos.h: Likewise.
28937 * config/gcn/gcn-hsa.h (ASM_APP_OFF): Likewise.
28938 * config/gcn/gcn.cc (gcn_init_libfuncs): Likewise.
28939 * config/gcn/mkoffload.cc (copy_early_debug_info): Likewise.
28940 * config/gcn/t-gcn-hsa: Likewise.
28941 * config/gcn/t-omp-device: Likewise.
28942 * config/h8300/h8300-protos.h (GCC_H8300_PROTOS_H): Likewise.
28943 (same_cmp_following_p): Likewise.
28944 * config/h8300/h8300.cc (F): Likewise.
28945 * config/h8300/h8300.h (struct cum_arg): Likewise.
28946 (BRANCH_COST): Likewise.
28947 * config/i386/cygming.h (DEFAULT_PCC_STRUCT_RETURN): Likewise.
28948 * config/i386/djgpp.h (TARGET_ASM_LTO_END): Likewise.
28949 * config/i386/dragonfly.h (NO_PROFILE_COUNTERS): Likewise.
28950 * config/i386/driver-i386.cc (detect_caches_intel): Likewise.
28951 * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
28952 * config/i386/i386-c.cc (ix86_target_macros): Likewise.
28953 * config/i386/i386-expand.cc (get_mode_wider_vector): Likewise.
28954 * config/i386/i386-options.cc (ix86_set_func_type): Likewise.
28955 * config/i386/i386-protos.h (ix86_extract_perm_from_pool_constant): Likewise.
28956 (ix86_register_pragmas): Likewise.
28957 (ix86_d_has_stdcall_convention): Likewise.
28958 (i386_pe_seh_init_sections): Likewise.
28959 * config/i386/i386.cc (ix86_function_arg_regno_p): Likewise.
28960 (ix86_function_value_regno_p): Likewise.
28961 (ix86_compute_frame_layout): Likewise.
28962 (legitimize_pe_coff_symbol): Likewise.
28963 (output_pic_addr_const): Likewise.
28964 * config/i386/i386.h (defined): Likewise.
28965 (host_detect_local_cpu): Likewise.
28966 (CONSTANT_ADDRESS_P): Likewise.
28967 (DEFAULT_LARGE_SECTION_THRESHOLD): Likewise.
28968 (struct machine_frame_state): Likewise.
28969 * config/i386/i386.md: Likewise.
28970 * config/i386/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
28971 * config/i386/mmx.md: Likewise.
28972 * config/i386/sse.md: Likewise.
28973 * config/i386/t-cygming: Likewise.
28974 * config/i386/t-djgpp: Likewise.
28975 * config/i386/t-gnu-property: Likewise.
28976 * config/i386/t-i386: Likewise.
28977 * config/i386/t-intelmic: Likewise.
28978 * config/i386/t-omp-device: Likewise.
28979 * config/i386/winnt-cxx.cc (i386_pe_type_dllimport_p): Likewise.
28980 (i386_pe_adjust_class_at_definition): Likewise.
28981 * config/i386/winnt.cc (gen_stdcall_or_fastcall_suffix): Likewise.
28982 (i386_pe_mangle_decl_assembler_name): Likewise.
28983 (i386_pe_encode_section_info): Likewise.
28984 * config/i386/x-cygwin: Likewise.
28985 * config/i386/x-darwin: Likewise.
28986 * config/i386/x-i386: Likewise.
28987 * config/i386/x-mingw32: Likewise.
28988 * config/i386/x86-tune-sched-core.cc: Likewise.
28989 * config/i386/x86-tune.def: Likewise.
28990 * config/i386/xm-djgpp.h (STANDARD_STARTFILE_PREFIX_1): Likewise.
28991 * config/ia64/freebsd.h: Likewise.
28992 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Likewise.
28993 * config/ia64/ia64-protos.h (ia64_except_unwind_info): Likewise.
28994 * config/ia64/ia64.cc (ia64_function_value_regno_p): Likewise.
28995 (ia64_secondary_reload_class): Likewise.
28996 (bundling): Likewise.
28997 * config/ia64/ia64.h: Likewise.
28998 * config/ia64/ia64.md: Likewise.
28999 * config/ia64/predicates.md: Likewise.
29000 * config/ia64/sysv4.h: Likewise.
29001 * config/ia64/t-ia64: Likewise.
29002 * config/iq2000/iq2000.h (FUNCTION_MODE): Likewise.
29003 * config/iq2000/iq2000.md: Likewise.
29004 * config/linux.h (TARGET_HAS_BIONIC): Likewise.
29005 (if): Likewise.
29006 * config/m32c/m32c.cc (m32c_function_needs_enter): Likewise.
29007 * config/m32c/m32c.h (MAX_REGS_PER_ADDRESS): Likewise.
29008 * config/m32c/t-m32c: Likewise.
29009 * config/m32r/m32r-protos.h: Likewise.
29010 * config/m32r/m32r.cc (m32r_print_operand): Likewise.
29011 * config/m32r/m32r.h: Likewise.
29012 * config/m32r/m32r.md: Likewise.
29013 * config/m68k/m68k-isas.def: Likewise.
29014 * config/m68k/m68k-microarchs.def: Likewise.
29015 * config/m68k/m68k-protos.h (strict_low_part_peephole_ok): Likewise.
29016 (m68k_epilogue_uses): Likewise.
29017 * config/m68k/m68k.cc (m68k_call_tls_get_addr): Likewise.
29018 (m68k_sched_adjust_cost): Likewise.
29019 (m68k_sched_md_init): Likewise.
29020 * config/m68k/m68k.h (__transfer_from_trampoline): Likewise.
29021 (enum m68k_function_kind): Likewise.
29022 * config/m68k/m68k.md: Likewise.
29023 * config/m68k/m68kemb.h: Likewise.
29024 * config/m68k/uclinux.h (ENDFILE_SPEC): Likewise.
29025 * config/mcore/mcore-protos.h: Likewise.
29026 * config/mcore/mcore.cc (mcore_expand_insv): Likewise.
29027 (mcore_expand_prolog): Likewise.
29028 * config/mcore/mcore.h (TARGET_MCORE): Likewise.
29029 * config/mcore/mcore.md: Likewise.
29030 * config/microblaze/microblaze-protos.h: Likewise.
29031 * config/microblaze/microblaze.cc (microblaze_legitimate_pic_operand): Likewise.
29032 (microblaze_function_prologue): Likewise.
29033 (microblaze_function_epilogue): Likewise.
29034 (microblaze_select_section): Likewise.
29035 (microblaze_asm_output_mi_thunk): Likewise.
29036 (microblaze_eh_return): Likewise.
29037 * config/microblaze/microblaze.h: Likewise.
29038 * config/microblaze/microblaze.md: Likewise.
29039 * config/microblaze/t-microblaze: Likewise.
29040 * config/mips/driver-native.cc: Likewise.
29041 * config/mips/loongson2ef.md: Likewise.
29042 * config/mips/mips-protos.h (mips_expand_vec_cmp_expr): Likewise.
29043 * config/mips/mips.cc (mips_rtx_costs): Likewise.
29044 (mips_output_filename): Likewise.
29045 (mips_output_function_prologue): Likewise.
29046 (mips_output_function_epilogue): Likewise.
29047 (mips_output_mi_thunk): Likewise.
29048 * config/mips/mips.h: Likewise.
29049 * config/mips/mips.md: Likewise.
29050 * config/mips/t-mips: Likewise.
29051 * config/mips/x-native: Likewise.
29052 * config/mmix/mmix-protos.h: Likewise.
29053 * config/mmix/mmix.cc (mmix_option_override): Likewise.
29054 (mmix_dbx_register_number): Likewise.
29055 (mmix_expand_prologue): Likewise.
29056 * config/mmix/mmix.h: Likewise.
29057 * config/mmix/mmix.md: Likewise.
29058 * config/mmix/predicates.md: Likewise.
29059 * config/mn10300/mn10300.cc (mn10300_symbolic_operand): Likewise.
29060 (mn10300_legitimate_pic_operand_p): Likewise.
29061 * config/mn10300/mn10300.h (enum reg_class): Likewise.
29062 (NO_FUNCTION_CSE): Likewise.
29063 * config/moxie/moxie-protos.h: Likewise.
29064 * config/moxie/uclinux.h (TARGET_LIBC_HAS_FUNCTION): Likewise.
29065 * config/msp430/msp430-devices.cc (extract_devices_dir_from_exec_prefix): Likewise.
29066 * config/msp430/msp430.cc (msp430_gimplify_va_arg_expr): Likewise.
29067 (msp430_incoming_return_addr_rtx): Likewise.
29068 * config/msp430/msp430.h (msp430_get_linker_devices_include_path): Likewise.
29069 * config/msp430/t-msp430: Likewise.
29070 * config/nds32/nds32-cost.cc (nds32_rtx_costs_speed_prefer): Likewise.
29071 (nds32_rtx_costs_size_prefer): Likewise.
29072 (nds32_init_rtx_costs): Likewise.
29073 * config/nds32/nds32-doubleword.md: Likewise.
29074 * config/nds32/nds32.cc (nds32_memory_move_cost): Likewise.
29075 (nds32_builtin_decl): Likewise.
29076 * config/nds32/nds32.h (enum nds32_16bit_address_type): Likewise.
29077 (enum nds32_isr_nested_type): Likewise.
29078 (enum reg_class): Likewise.
29079 * config/nds32/predicates.md: Likewise.
29080 * config/nds32/t-nds32: Likewise.
29081 * config/nios2/nios2.cc (nios2_pragma_target_parse): Likewise.
29082 * config/nvptx/nvptx-protos.h: Likewise.
29083 * config/nvptx/nvptx.cc (nvptx_goacc_expand_var_decl): Likewise.
29084 * config/nvptx/nvptx.h (TARGET_CPU_CPP_BUILTINS): Likewise.
29085 * config/nvptx/t-nvptx: Likewise.
29086 * config/nvptx/t-omp-device: Likewise.
29087 * config/pa/elf.h: Likewise.
29088 * config/pa/pa-linux.h (GLOBAL_ASM_OP): Likewise.
29089 * config/pa/pa-netbsd.h (GLOBAL_ASM_OP): Likewise.
29090 * config/pa/pa-openbsd.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
29091 * config/pa/pa-protos.h (pa_eh_return_handler_rtx): Likewise.
29092 (pa_legitimize_reload_address): Likewise.
29093 (pa_can_use_return_insn): Likewise.
29094 * config/pa/pa.cc (mem_shadd_or_shadd_rtx_p): Likewise.
29095 (som_output_text_section_asm_op): Likewise.
29096 * config/pa/pa.h (PROFILE_BEFORE_PROLOGUE): Likewise.
29097 * config/pa/pa.md: Likewise.
29098 * config/pa/som.h: Likewise.
29099 * config/pa/t-pa: Likewise.
29100 * config/pdp11/pdp11.cc (decode_pdp11_d): Likewise.
29101 * config/pdp11/pdp11.h: Likewise.
29102 * config/pdp11/pdp11.md: Likewise.
29103 * config/pdp11/t-pdp11: Likewise.
29104 * config/pru/pru.md: Likewise.
29105 * config/pru/t-pru: Likewise.
29106 * config/riscv/riscv-protos.h (NUM_SYMBOL_TYPES): Likewise.
29107 (riscv_gpr_save_operation_p): Likewise.
29108 (riscv_d_register_target_info): Likewise.
29109 (riscv_init_builtins): Likewise.
29110 * config/riscv/riscv.cc (riscv_output_mi_thunk): Likewise.
29111 * config/riscv/riscv.h (CSW_MAX_OFFSET): Likewise.
29112 * config/riscv/t-riscv: Likewise.
29113 * config/rl78/rl78.cc (rl78_asm_ctor_dtor): Likewise.
29114 * config/rl78/t-rl78: Likewise.
29115 * config/rs6000/aix.h: Likewise.
29116 * config/rs6000/aix71.h (ASM_SPEC_COMMON): Likewise.
29117 * config/rs6000/aix72.h (ASM_SPEC_COMMON): Likewise.
29118 * config/rs6000/aix73.h (ASM_SPEC_COMMON): Likewise.
29119 * config/rs6000/darwin.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
29120 * config/rs6000/driver-rs6000.cc: Likewise.
29121 * config/rs6000/freebsd.h: Likewise.
29122 * config/rs6000/freebsd64.h: Likewise.
29123 * config/rs6000/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
29124 * config/rs6000/rbtree.cc: Likewise.
29125 * config/rs6000/rbtree.h: Likewise.
29126 * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Likewise.
29127 * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Likewise.
29128 (rs6000_expand_builtin): Likewise.
29129 (rs6000_init_builtins): Likewise.
29130 * config/rs6000/rs6000-cpus.def: Likewise.
29131 * config/rs6000/rs6000-gen-builtins.cc (write_init_ovld_table): Likewise.
29132 * config/rs6000/rs6000-internal.h (ALTIVEC_REG_BIT): Likewise.
29133 (quad_address_offset_p): Likewise.
29134 * config/rs6000/rs6000-logue.cc (interesting_frame_related_regno): Likewise.
29135 (rs6000_emit_epilogue): Likewise.
29136 * config/rs6000/rs6000-overload.def: Likewise.
29137 * config/rs6000/rs6000-p8swap.cc: Likewise.
29138 * config/rs6000/rs6000-protos.h (GCC_RS6000_PROTOS_H): Likewise.
29139 (rs6000_const_f32_to_i32): Likewise.
29140 * config/rs6000/rs6000.cc (legitimate_lo_sum_address_p): Likewise.
29141 (rs6000_debug_legitimize_address): Likewise.
29142 (rs6000_mode_dependent_address): Likewise.
29143 (rs6000_adjust_priority): Likewise.
29144 (rs6000_c_mode_for_suffix): Likewise.
29145 * config/rs6000/rs6000.h (defined): Likewise.
29146 (LONG_DOUBLE_TYPE_SIZE): Likewise.
29147 * config/rs6000/rs6000.md: Likewise.
29148 * config/rs6000/sysv4.h: Likewise.
29149 * config/rs6000/t-linux: Likewise.
29150 * config/rs6000/t-linux64: Likewise.
29151 * config/rs6000/t-rs6000: Likewise.
29152 * config/rs6000/x-darwin: Likewise.
29153 * config/rs6000/x-darwin64: Likewise.
29154 * config/rs6000/x-rs6000: Likewise.
29155 * config/rs6000/xcoff.h (ASM_OUTPUT_LABELREF): Likewise.
29156 * config/rx/rx.cc (rx_expand_builtin): Likewise.
29157 * config/s390/constraints.md: Likewise.
29158 * config/s390/driver-native.cc: Likewise.
29159 * config/s390/htmxlintrin.h: Likewise.
29160 * config/s390/s390-builtins.def (B_DEF): Likewise.
29161 (OB_DEF_VAR): Likewise.
29162 * config/s390/s390-builtins.h: Likewise.
29163 * config/s390/s390-c.cc: Likewise.
29164 * config/s390/s390-opts.h: Likewise.
29165 * config/s390/s390-protos.h (s390_check_symref_alignment): Likewise.
29166 (s390_register_target_pragmas): Likewise.
29167 * config/s390/s390.cc (s390_init_builtins): Likewise.
29168 (s390_expand_plus_operand): Likewise.
29169 (s390_expand_atomic): Likewise.
29170 (s390_valid_target_attribute_inner_p): Likewise.
29171 * config/s390/s390.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
29172 * config/s390/s390.md: Likewise.
29173 * config/s390/t-s390: Likewise.
29174 * config/s390/vx-builtins.md: Likewise.
29175 * config/s390/x-native: Likewise.
29176 * config/sh/divtab-sh4-300.cc (main): Likewise.
29177 * config/sh/divtab-sh4.cc (main): Likewise.
29178 * config/sh/divtab.cc (main): Likewise.
29179 * config/sh/elf.h: Likewise.
29180 * config/sh/sh-protos.h (sh_fsca_int2sf): Likewise.
29181 * config/sh/sh.cc (SYMBOL_FLAG_FUNCVEC_FUNCTION): Likewise.
29182 (sh_struct_value_rtx): Likewise.
29183 (sh_remove_reg_dead_or_unused_notes): Likewise.
29184 * config/sh/sh.h (MIN_UNITS_PER_WORD): Likewise.
29185 * config/sh/t-sh: Likewise.
29186 * config/sol2-protos.h (solaris_override_options): Likewise.
29187 * config/sol2.h: Likewise.
29188 * config/sparc/driver-sparc.cc: Likewise.
29189 * config/sparc/freebsd.h: Likewise.
29190 * config/sparc/sparc-protos.h (make_pass_work_around_errata): Likewise.
29191 * config/sparc/sparc.cc (sparc_output_mi_thunk): Likewise.
29192 (sparc_asan_shadow_offset): Likewise.
29193 * config/sparc/sparc.h: Likewise.
29194 * config/sparc/sparc.md: Likewise.
29195 * config/sparc/t-sparc: Likewise.
29196 * config/sparc/x-sparc: Likewise.
29197 * config/stormy16/stormy16.cc (xstormy16_mode_dependent_address_p): Likewise.
29198 * config/t-darwin: Likewise.
29199 * config/t-dragonfly: Likewise.
29200 * config/t-freebsd: Likewise.
29201 * config/t-glibc: Likewise.
29202 * config/t-linux: Likewise.
29203 * config/t-netbsd: Likewise.
29204 * config/t-openbsd: Likewise.
29205 * config/t-pnt16-warn: Likewise.
29206 * config/t-sol2: Likewise.
29207 * config/t-vxworks: Likewise.
29208 * config/t-winnt: Likewise.
29209 * config/tilegx/t-tilegx: Likewise.
29210 * config/tilegx/tilegx-c.cc: Likewise.
29211 * config/tilegx/tilegx-protos.h (tilegx_function_profiler): Likewise.
29212 * config/tilegx/tilegx.md: Likewise.
29213 * config/tilepro/t-tilepro: Likewise.
29214 * config/tilepro/tilepro-c.cc: Likewise.
29215 * config/v850/t-v850: Likewise.
29216 * config/v850/v850-protos.h: Likewise.
29217 * config/v850/v850.cc (F): Likewise.
29218 * config/v850/v850.h (enum reg_class): Likewise.
29219 (SLOW_BYTE_ACCESS): Likewise.
29220 * config/vax/vax.cc (vax_mode_dependent_address_p): Likewise.
29221 * config/vax/vax.h (enum reg_class): Likewise.
29222 * config/vax/vax.md: Likewise.
29223 * config/visium/visium.cc (visium_legitimate_address_p): Likewise.
29224 * config/visium/visium.h: Likewise.
29225 * config/vms/t-vms: Likewise.
29226 * config/vms/vms-crtlmap.map: Likewise.
29227 * config/vms/vms-protos.h (vms_c_get_vms_ver): Likewise.
29228 * config/vx-common.h: Likewise.
29229 * config/x-darwin: Likewise.
29230 * config/x-hpux: Likewise.
29231 * config/x-linux: Likewise.
29232 * config/x-netbsd: Likewise.
29233 * config/x-openbsd: Likewise.
29234 * config/x-solaris: Likewise.
29235 * config/xtensa/xtensa-protos.h (xtensa_mem_offset): Likewise.
29236 * config/xtensa/xtensa.cc (xtensa_option_override): Likewise.
29237 * config/xtensa/xtensa.h: Likewise.
29238 * configure.ac: Likewise.
29239 * context.cc: Likewise.
29240 * convert.h: Likewise.
29241 * coretypes.h: Likewise.
29242 * coverage.cc: Likewise.
29243 * coverage.h: Likewise.
29244 * cppdefault.h (struct default_include): Likewise.
29245 * cprop.cc (local_cprop_pass): Likewise.
29246 (one_cprop_pass): Likewise.
29247 * cse.cc (hash_rtx_cb): Likewise.
29248 (fold_rtx): Likewise.
29249 * ctfc.h (ctfc_get_num_vlen_bytes): Likewise.
29250 * data-streamer.h (bp_unpack_var_len_int): Likewise.
29251 (streamer_write_widest_int): Likewise.
29252 * dbgcnt.def: Likewise.
29253 * dbxout.cc (dbxout_early_global_decl): Likewise.
29254 (dbxout_common_check): Likewise.
29255 * dbxout.h: Likewise.
29256 * debug.h (struct gcc_debug_hooks): Likewise.
29257 (dump_go_spec_init): Likewise.
29258 * df-core.cc: Likewise.
29259 * df-scan.cc (df_insn_info_delete): Likewise.
29260 (df_insn_delete): Likewise.
29261 * df.h (debug_df_chain): Likewise.
29262 (can_move_insns_across): Likewise.
29263 * dfp.cc (decimal_from_binary): Likewise.
29264 * diagnostic-color.cc: Likewise.
29265 * diagnostic-event-id.h: Likewise.
29266 * diagnostic-show-locus.cc (test_one_liner_labels): Likewise.
29267 * diagnostic.cc (bt_callback): Likewise.
29268 (num_digits): Likewise.
29269 * doc/avr-mmcu.texi: Likewise.
29270 * doc/cfg.texi: Likewise.
29271 * doc/contrib.texi: Likewise.
29272 * doc/cppinternals.texi: Likewise.
29273 * doc/extend.texi: Likewise.
29274 * doc/generic.texi: Likewise.
29275 * doc/gimple.texi: Likewise.
29276 * doc/gty.texi: Likewise.
29277 * doc/invoke.texi: Likewise.
29278 * doc/loop.texi: Likewise.
29279 * doc/lto.texi: Likewise.
29280 * doc/match-and-simplify.texi: Likewise.
29281 * doc/md.texi: Likewise.
29282 * doc/optinfo.texi: Likewise.
29283 * doc/options.texi: Likewise.
29284 * doc/passes.texi: Likewise.
29285 * doc/plugins.texi: Likewise.
29286 * doc/rtl.texi: Likewise.
29287 * doc/sourcebuild.texi: Likewise.
29288 * doc/tm.texi: Likewise.
29289 * doc/tm.texi.in: Likewise.
29290 * doc/tree-ssa.texi: Likewise.
29291 * dojump.cc (do_jump): Likewise.
29292 * dojump.h: Likewise.
29293 * dumpfile.cc (test_impl_location): Likewise.
29294 (test_capture_of_dump_calls): Likewise.
29295 * dumpfile.h (enum dump_kind): Likewise.
29296 (class dump_location_t): Likewise.
29297 (dump_enabled_p): Likewise.
29298 (enable_rtl_dump_file): Likewise.
29299 (dump_combine_total_stats): Likewise.
29300 * dwarf2asm.cc (dw2_asm_output_delta_uleb128): Likewise.
29301 * dwarf2ctf.h (ctf_debug_finish): Likewise.
29302 * dwarf2out.cc (dwarf2out_begin_prologue): Likewise.
29303 (struct loc_descr_context): Likewise.
29304 (rtl_for_decl_location): Likewise.
29305 (gen_subprogram_die): Likewise.
29306 (gen_label_die): Likewise.
29307 (is_trivial_indirect_ref): Likewise.
29308 (dwarf2out_late_global_decl): Likewise.
29309 (dwarf_file_hasher::hash): Likewise.
29310 (dwarf2out_end_source_file): Likewise.
29311 (dwarf2out_define): Likewise.
29312 (dwarf2out_early_finish): Likewise.
29313 * dwarf2out.h (struct dw_fde_node): Likewise.
29314 (struct dw_discr_list_node): Likewise.
29315 (output_loc_sequence_raw): Likewise.
29316 * emit-rtl.cc (gen_raw_REG): Likewise.
29317 (maybe_set_max_label_num): Likewise.
29318 * emit-rtl.h (struct rtl_data): Likewise.
29319 * errors.cc (internal_error): Likewise.
29320 (trim_filename): Likewise.
29321 * et-forest.cc: Likewise.
29322 * except.cc (init_eh_for_function): Likewise.
29323 * explow.cc (promote_ssa_mode): Likewise.
29324 (get_dynamic_stack_size): Likewise.
29325 * explow.h: Likewise.
29326 * expmed.h: Likewise.
29327 * expr.cc (safe_from_p): Likewise.
29328 (expand_expr_real_2): Likewise.
29329 (expand_expr_real_1): Likewise.
29330 * file-prefix-map.cc (remap_filename): Likewise.
29331 * final.cc (app_enable): Likewise.
29332 (make_pass_compute_alignments): Likewise.
29333 (final_scan_insn_1): Likewise.
29334 (final_scan_insn): Likewise.
29335 * fixed-value.h (fixed_from_string): Likewise.
29336 * flag-types.h (NO_DEBUG): Likewise.
29337 (DWARF2_DEBUG): Likewise.
29338 (VMS_DEBUG): Likewise.
29339 (BTF_DEBUG): Likewise.
29340 (enum ctf_debug_info_levels): Likewise.
29341 * fold-const.cc (const_binop): Likewise.
29342 (fold_binary_loc): Likewise.
29343 (fold_checksum_tree): Likewise.
29344 * fp-test.cc: Likewise.
29345 * function.cc (expand_function_end): Likewise.
29346 * function.h (struct function): Likewise.
29347 * fwprop.cc (should_replace_address): Likewise.
29348 * gcc-main.cc: Likewise.
29349 * gcc-rich-location.h (class gcc_rich_location): Likewise.
29350 * gcc-symtab.h: Likewise.
29351 * gcc.cc (MIN_FATAL_STATUS): Likewise.
29352 (driver_handle_option): Likewise.
29353 (quote_spec_arg): Likewise.
29354 (driver::finalize): Likewise.
29355 * gcc.h (set_input): Likewise.
29356 * gcov-dump.cc: Likewise.
29357 * gcov.cc (solve_flow_graph): Likewise.
29358 * gcse-common.cc: Likewise.
29359 * gcse.cc (make_pass_rtl_hoist): Likewise.
29360 * genattr-common.cc: Likewise.
29361 * genattrtab.cc (min_fn): Likewise.
29362 (write_const_num_delay_slots): Likewise.
29363 * genautomata.cc: Likewise.
29364 * genconditions.cc (write_one_condition): Likewise.
29365 * genconstants.cc: Likewise.
29366 * genemit.cc (gen_exp): Likewise.
29367 * generic-match-head.cc: Likewise.
29368 * genextract.cc: Likewise.
29369 * gengenrtl.cc (always_void_p): Likewise.
29370 * gengtype-parse.cc (gtymarker_opt): Likewise.
29371 * gengtype-state.cc (state_writer::state_writer): Likewise.
29372 (write_state_trailer): Likewise.
29373 (equals_type_number): Likewise.
29374 (read_state): Likewise.
29375 * gengtype.cc (open_base_files): Likewise.
29376 (struct file_rule_st): Likewise.
29377 (header_dot_h_frul): Likewise.
29378 * gengtype.h: Likewise.
29379 * genmatch.cc (main): Likewise.
29380 * genmddeps.cc: Likewise.
29381 * genmodes.cc (emit_mode_inner): Likewise.
29382 (emit_mode_unit_size): Likewise.
29383 * genpeep.cc (gen_peephole): Likewise.
29384 * genpreds.cc (write_tm_preds_h): Likewise.
29385 * genrecog.cc (validate_pattern): Likewise.
29386 (write_header): Likewise.
29387 (main): Likewise.
29388 * gensupport.cc (change_subst_attribute): Likewise.
29389 (traverse_c_tests): Likewise.
29390 (add_predicate): Likewise.
29391 (init_predicate_table): Likewise.
29392 * gensupport.h (struct optab_pattern): Likewise.
29393 (get_num_insn_codes): Likewise.
29394 (maybe_eval_c_test): Likewise.
29395 (struct pred_data): Likewise.
29396 * ggc-internal.h: Likewise.
29397 * gimple-fold.cc (maybe_fold_reference): Likewise.
29398 (get_range_strlen_tree): Likewise.
29399 * gimple-fold.h (gimple_stmt_integer_valued_real_p): Likewise.
29400 * gimple-low.cc: Likewise.
29401 * gimple-match-head.cc (directly_supported_p): Likewise.
29402 * gimple-pretty-print.h: Likewise.
29403 * gimple-ssa-sprintf.cc (format_percent): Likewise.
29404 (adjust_range_for_overflow): Likewise.
29405 * gimple-streamer.h: Likewise.
29406 * gimple.h (struct GTY): Likewise.
29407 (is_gimple_resx): Likewise.
29408 * gimplify.cc (gimplify_expr): Likewise.
29409 (gimplify_init_constructor): Likewise.
29410 (omp_construct_selector_matches): Likewise.
29411 (gimplify_omp_target_update): Likewise.
29412 (gimplify_omp_ordered): Likewise.
29413 (gimplify_va_arg_expr): Likewise.
29414 * graphite-isl-ast-to-gimple.cc (should_copy_to_new_region): Likewise.
29415 * haifa-sched.cc (increase_insn_priority): Likewise.
29416 (try_ready): Likewise.
29417 (sched_create_recovery_edges): Likewise.
29418 * ifcvt.cc (find_if_case_1): Likewise.
29419 (find_if_case_2): Likewise.
29420 * inchash.h: Likewise.
29421 * incpath.cc (add_env_var_paths): Likewise.
29422 * input.cc (dump_location_info): Likewise.
29423 (assert_loceq): Likewise.
29424 (test_lexer_string_locations_concatenation_1): Likewise.
29425 (test_lexer_string_locations_concatenation_2): Likewise.
29426 (test_lexer_string_locations_concatenation_3): Likewise.
29427 * input.h (BUILTINS_LOCATION): Likewise.
29428 (class string_concat_db): Likewise.
29429 * internal-fn.cc (expand_MUL_OVERFLOW): Likewise.
29430 (expand_LOOP_VECTORIZED): Likewise.
29431 * ipa-cp.cc (make_pass_ipa_cp): Likewise.
29432 * ipa-fnsummary.cc (remap_freqcounting_preds_after_dup): Likewise.
29433 (ipa_fn_summary_t::duplicate): Likewise.
29434 (make_pass_ipa_fn_summary): Likewise.
29435 * ipa-fnsummary.h (enum ipa_hints_vals): Likewise.
29436 * ipa-free-lang-data.cc (fld_simplified_type): Likewise.
29437 (free_lang_data_in_decl): Likewise.
29438 * ipa-inline.cc (compute_inlined_call_time): Likewise.
29439 (inline_always_inline_functions): Likewise.
29440 * ipa-inline.h (free_growth_caches): Likewise.
29441 (inline_account_function_p): Likewise.
29442 * ipa-modref.cc (modref_access_analysis::analyze_stmt): Likewise.
29443 (modref_eaf_analysis::analyze_ssa_name): Likewise.
29444 * ipa-param-manipulation.cc (ipa_param_body_adjustments::mark_dead_statements): Likewise.
29445 (ipa_param_body_adjustments::remap_with_debug_expressions): Likewise.
29446 * ipa-prop.cc (ipa_set_node_agg_value_chain): Likewise.
29447 * ipa-prop.h (IPA_UNDESCRIBED_USE): Likewise.
29448 (unadjusted_ptr_and_unit_offset): Likewise.
29449 * ipa-reference.cc (make_pass_ipa_reference): Likewise.
29450 * ipa-reference.h (GCC_IPA_REFERENCE_H): Likewise.
29451 * ipa-split.cc (consider_split): Likewise.
29452 * ipa-sra.cc (isra_read_node_info): Likewise.
29453 * ipa-utils.h (struct ipa_dfs_info): Likewise.
29454 (recursive_call_p): Likewise.
29455 (ipa_make_function_pure): Likewise.
29456 * ira-build.cc (ira_create_allocno): Likewise.
29457 (ira_flattening): Likewise.
29458 * ira-color.cc (do_coloring): Likewise.
29459 (update_curr_costs): Likewise.
29460 * ira-conflicts.cc (process_regs_for_copy): Likewise.
29461 * ira-int.h (struct ira_emit_data): Likewise.
29462 (ira_prohibited_mode_move_regs): Likewise.
29463 (ira_get_dup_out_num): Likewise.
29464 (ira_destroy): Likewise.
29465 (ira_tune_allocno_costs): Likewise.
29466 (ira_implicitly_set_insn_hard_regs): Likewise.
29467 (ira_build_conflicts): Likewise.
29468 (ira_color): Likewise.
29469 * ira-lives.cc (process_bb_node_lives): Likewise.
29470 * ira.cc (class ira_spilled_reg_stack_slot): Likewise.
29471 (setup_uniform_class_p): Likewise.
29472 (def_dominates_uses): Likewise.
29473 * ira.h (ira_nullify_asm_goto): Likewise.
29474 * langhooks.cc (lhd_post_options): Likewise.
29475 * langhooks.h (class substring_loc): Likewise.
29476 (struct lang_hooks_for_tree_inlining): Likewise.
29477 (struct lang_hooks_for_types): Likewise.
29478 (struct lang_hooks): Likewise.
29479 * libfuncs.h (synchronize_libfunc): Likewise.
29480 * loop-doloop.cc (doloop_condition_get): Likewise.
29481 * loop-init.cc (fix_loop_structure): Likewise.
29482 * loop-invariant.cc: Likewise.
29483 * lower-subreg.h: Likewise.
29484 * lra-constraints.cc (curr_insn_transform): Likewise.
29485 * lra-int.h (struct lra_insn_reg): Likewise.
29486 (lra_undo_inheritance): Likewise.
29487 (lra_setup_reload_pseudo_preferenced_hard_reg): Likewise.
29488 (lra_split_hard_reg_for): Likewise.
29489 (lra_coalesce): Likewise.
29490 (lra_final_code_change): Likewise.
29491 * lra-spills.cc (lra_final_code_change): Likewise.
29492 * lra.cc (lra_process_new_insns): Likewise.
29493 * lto-compress.h (struct lto_compression_stream): Likewise.
29494 * lto-streamer-out.cc (DFS::DFS_write_tree_body): Likewise.
29495 (write_symbol): Likewise.
29496 * lto-streamer.h (enum LTO_tags): Likewise.
29497 (lto_value_range_error): Likewise.
29498 (lto_append_block): Likewise.
29499 (lto_streamer_hooks_init): Likewise.
29500 (stream_read_tree_ref): Likewise.
29501 (lto_prepare_function_for_streaming): Likewise.
29502 (select_what_to_stream): Likewise.
29503 (omp_lto_input_declare_variant_alt): Likewise.
29504 (cl_optimization_stream_in): Likewise.
29505 * lto-wrapper.cc (append_compiler_options): Likewise.
29506 * machmode.def: Likewise.
29507 * machmode.h (struct int_n_data_t): Likewise.
29508 * main.cc (main): Likewise.
29509 * match.pd: Likewise.
29510 * omp-builtins.def (BUILT_IN_GOMP_CRITICAL_NAME_END): Likewise.
29511 (BUILT_IN_GOMP_LOOP_ULL_ORDERED_RUNTIME_NEXT): Likewise.
29512 * omp-expand.cc (expand_omp_atomic_fetch_op): Likewise.
29513 (make_pass_expand_omp_ssa): Likewise.
29514 * omp-low.cc (struct omp_context): Likewise.
29515 (struct omp_taskcopy_context): Likewise.
29516 (lower_omp): Likewise.
29517 * omp-oacc-neuter-broadcast.cc (omp_sese_active_worker_call): Likewise.
29518 (mask_name): Likewise.
29519 (omp_sese_dump_pars): Likewise.
29520 (worker_single_simple): Likewise.
29521 * omp-offload.cc (omp_finish_file): Likewise.
29522 (execute_oacc_loop_designation): Likewise.
29523 * optabs-query.cc (lshift_cheap_p): Likewise.
29524 * optc-gen.awk: Likewise.
29525 * optc-save-gen.awk: Likewise.
29526 * optinfo-emit-json.cc (optrecord_json_writer::optrecord_json_writer): Likewise.
29527 * opts-common.cc: Likewise.
29528 * output.h (app_enable): Likewise.
29529 (output_operand_lossage): Likewise.
29530 (insn_current_reference_address): Likewise.
29531 (get_insn_template): Likewise.
29532 (output_quoted_string): Likewise.
29533 * pass_manager.h (struct register_pass_info): Likewise.
29534 * plugin.cc: Likewise.
29535 * plugin.def (PLUGIN_ANALYZER_INIT): Likewise.
29536 * plugin.h (invoke_plugin_callbacks): Likewise.
29537 * pointer-query.cc (handle_mem_ref): Likewise.
29538 * postreload-gcse.cc (alloc_mem): Likewise.
29539 * predict.h (enum prediction): Likewise.
29540 (add_reg_br_prob_note): Likewise.
29541 * prefix.h: Likewise.
29542 * profile.h (get_working_sets): Likewise.
29543 * read-md.cc: Likewise.
29544 * read-md.h (struct mapping): Likewise.
29545 (class md_reader): Likewise.
29546 (class noop_reader): Likewise.
29547 * read-rtl-function.cc (function_reader::create_function): Likewise.
29548 (function_reader::extra_parsing_for_operand_code_0): Likewise.
29549 * read-rtl.cc (initialize_iterators): Likewise.
29550 * real.cc: Likewise.
29551 * real.h (struct real_value): Likewise.
29552 (format_helper::format_helper): Likewise.
29553 (real_hash): Likewise.
29554 (real_can_shorten_arithmetic): Likewise.
29555 * recog.cc (struct target_recog): Likewise.
29556 (offsettable_nonstrict_memref_p): Likewise.
29557 (constrain_operands): Likewise.
29558 * recog.h (MAX_RECOG_ALTERNATIVES): Likewise.
29559 (which_op_alt): Likewise.
29560 (struct insn_gen_fn): Likewise.
29561 * reg-notes.def (REG_NOTE): Likewise.
29562 * reg-stack.cc: Likewise.
29563 * regs.h (reg_is_parm_p): Likewise.
29564 * regset.h: Likewise.
29565 * reload.cc (push_reload): Likewise.
29566 (find_reloads): Likewise.
29567 (find_reloads_address_1): Likewise.
29568 (find_replacement): Likewise.
29569 (refers_to_regno_for_reload_p): Likewise.
29570 (refers_to_mem_for_reload_p): Likewise.
29571 * reload.h (push_reload): Likewise.
29572 (deallocate_reload_reg): Likewise.
29573 * reload1.cc (emit_input_reload_insns): Likewise.
29574 * reorg.cc (relax_delay_slots): Likewise.
29575 * rtl.def (UNKNOWN): Likewise.
29576 (SEQUENCE): Likewise.
29577 (BARRIER): Likewise.
29578 (ASM_OPERANDS): Likewise.
29579 (EQ_ATTR_ALT): Likewise.
29580 * rtl.h (struct GTY): Likewise.
29581 (LABEL_NAME): Likewise.
29582 (LABEL_ALT_ENTRY_P): Likewise.
29583 (SUBREG_BYTE): Likewise.
29584 (get_stack_check_protect): Likewise.
29585 (dump_rtx_statistics): Likewise.
29586 (unwrap_const_vec_duplicate): Likewise.
29587 (subreg_promoted_mode): Likewise.
29588 (gen_lowpart_common): Likewise.
29589 (operand_subword): Likewise.
29590 (immed_wide_int_const): Likewise.
29591 (decide_function_section): Likewise.
29592 (active_insn_p): Likewise.
29593 (delete_related_insns): Likewise.
29594 (try_split): Likewise.
29595 (val_signbit_known_clear_p): Likewise.
29596 (simplifiable_subregs): Likewise.
29597 (set_insn_deleted): Likewise.
29598 (subreg_get_info): Likewise.
29599 (remove_free_EXPR_LIST_node): Likewise.
29600 (finish_subregs_of_mode): Likewise.
29601 (get_mem_attrs): Likewise.
29602 (lookup_constant_def): Likewise.
29603 (rtx_to_tree_code): Likewise.
29604 (hash_rtx): Likewise.
29605 (condjump_in_parallel_p): Likewise.
29606 (validate_subreg): Likewise.
29607 (make_compound_operation): Likewise.
29608 (schedule_ebbs): Likewise.
29609 (print_inline_rtx): Likewise.
29610 (fixup_args_size_notes): Likewise.
29611 (expand_dec): Likewise.
29612 (prepare_copy_insn): Likewise.
29613 (mark_elimination): Likewise.
29614 (valid_mode_changes_for_regno): Likewise.
29615 (make_debug_expr_from_rtl): Likewise.
29616 (delete_vta_debug_insns): Likewise.
29617 (simplify_using_condition): Likewise.
29618 (set_insn_locations): Likewise.
29619 (fatal_insn_not_found): Likewise.
29620 (word_register_operation_p): Likewise.
29621 * rtlanal.cc (get_call_fndecl): Likewise.
29622 (side_effects_p): Likewise.
29623 (subreg_nregs): Likewise.
29624 (rtx_cost): Likewise.
29625 (canonicalize_condition): Likewise.
29626 * rtlanal.h (rtx_properties::try_to_add_note): Likewise.
29627 * run-rtl-passes.cc (run_rtl_passes): Likewise.
29628 * sanitizer.def (BUILT_IN_ASAN_VERSION_MISMATCH_CHECK): Likewise.
29629 * sched-deps.cc (add_dependence_1): Likewise.
29630 * sched-ebb.cc (begin_move_insn): Likewise.
29631 (add_deps_for_risky_insns): Likewise.
29632 (advance_target_bb): Likewise.
29633 * sched-int.h (reemit_notes): Likewise.
29634 (struct _haifa_insn_data): Likewise.
29635 (HID): Likewise.
29636 (DEP_CANCELLED): Likewise.
29637 (debug_ds): Likewise.
29638 (number_in_ready): Likewise.
29639 (schedule_ebbs_finish): Likewise.
29640 (find_modifiable_mems): Likewise.
29641 * sched-rgn.cc (debug_rgn_dependencies): Likewise.
29642 * sel-sched-dump.cc (dump_lv_set): Likewise.
29643 * sel-sched-dump.h: Likewise.
29644 * sel-sched-ir.cc (sel_insn_rtx_cost): Likewise.
29645 (setup_id_reg_sets): Likewise.
29646 (has_dependence_p): Likewise.
29647 (sel_num_cfg_preds_gt_1): Likewise.
29648 (bb_ends_ebb_p): Likewise.
29649 * sel-sched-ir.h (struct _list_node): Likewise.
29650 (struct idata_def): Likewise.
29651 (bb_next_bb): Likewise.
29652 * sel-sched.cc (vinsn_writes_one_of_regs_p): Likewise.
29653 (choose_best_pseudo_reg): Likewise.
29654 (verify_target_availability): Likewise.
29655 (can_speculate_dep_p): Likewise.
29656 (sel_rank_for_schedule): Likewise.
29657 * selftest-run-tests.cc (selftest::run_tests): Likewise.
29658 * selftest.h (class auto_fix_quotes): Likewise.
29659 * shrink-wrap.cc (handle_simple_exit): Likewise.
29660 * shrink-wrap.h: Likewise.
29661 * simplify-rtx.cc (simplify_context::simplify_associative_operation): Likewise.
29662 (simplify_context::simplify_gen_vec_select): Likewise.
29663 * spellcheck-tree.h: Likewise.
29664 * spellcheck.h: Likewise.
29665 * statistics.h (struct function): Likewise.
29666 * stmt.cc (conditional_probability): Likewise.
29667 * stmt.h: Likewise.
29668 * stor-layout.h: Likewise.
29669 * streamer-hooks.h: Likewise.
29670 * stringpool.h: Likewise.
29671 * symtab.cc (symbol_table::change_decl_assembler_name): Likewise.
29672 * target.def (HOOK_VECTOR_END): Likewise.
29673 (type.): Likewise.
29674 * target.h (union cumulative_args_t): Likewise.
29675 (by_pieces_ninsns): Likewise.
29676 (class predefined_function_abi): Likewise.
29677 * targhooks.cc (default_translate_mode_attribute): Likewise.
29678 * timevar.def: Likewise.
29679 * timevar.h (class timer): Likewise.
29680 * toplev.h (enable_rtl_dump_file): Likewise.
29681 * trans-mem.cc (collect_bb2reg): Likewise.
29682 * tree-call-cdce.cc (gen_conditions_for_pow): Likewise.
29683 * tree-cfg.cc (remove_bb): Likewise.
29684 (verify_gimple_debug): Likewise.
29685 (remove_edge_and_dominated_blocks): Likewise.
29686 (push_fndecl): Likewise.
29687 * tree-cfgcleanup.h (GCC_TREE_CFGCLEANUP_H): Likewise.
29688 * tree-complex.cc (expand_complex_multiplication): Likewise.
29689 (expand_complex_div_straight): Likewise.
29690 * tree-core.h (enum tree_index): Likewise.
29691 (enum operand_equal_flag): Likewise.
29692 * tree-eh.cc (honor_protect_cleanup_actions): Likewise.
29693 * tree-if-conv.cc (if_convertible_gimple_assign_stmt_p): Likewise.
29694 * tree-inline.cc (initialize_inlined_parameters): Likewise.
29695 * tree-inline.h (force_value_to_type): Likewise.
29696 * tree-nested.cc (get_chain_decl): Likewise.
29697 (walk_all_functions): Likewise.
29698 * tree-object-size.h: Likewise.
29699 * tree-outof-ssa.cc: Likewise.
29700 * tree-parloops.cc (create_parallel_loop): Likewise.
29701 * tree-pretty-print.cc (print_generic_expr_to_str): Likewise.
29702 (dump_generic_node): Likewise.
29703 * tree-profile.cc (tree_profiling): Likewise.
29704 * tree-sra.cc (maybe_add_sra_candidate): Likewise.
29705 * tree-ssa-address.cc: Likewise.
29706 * tree-ssa-alias.cc: Likewise.
29707 * tree-ssa-alias.h (ao_ref::max_size_known_p): Likewise.
29708 (dump_alias_stats): Likewise.
29709 * tree-ssa-ccp.cc: Likewise.
29710 * tree-ssa-coalesce.h: Likewise.
29711 * tree-ssa-live.cc (remove_unused_scope_block_p): Likewise.
29712 * tree-ssa-loop-manip.cc (copy_phi_node_args): Likewise.
29713 * tree-ssa-loop-unswitch.cc: Likewise.
29714 * tree-ssa-math-opts.cc: Likewise.
29715 * tree-ssa-operands.cc (class operands_scanner): Likewise.
29716 * tree-ssa-pre.cc: Likewise.
29717 * tree-ssa-reassoc.cc (optimize_ops_list): Likewise.
29718 (debug_range_entry): Likewise.
29719 * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Likewise.
29720 * tree-ssa-sccvn.h (TREE_SSA_SCCVN_H): Likewise.
29721 * tree-ssa-scopedtables.cc (add_expr_commutative): Likewise.
29722 (equal_mem_array_ref_p): Likewise.
29723 * tree-ssa-strlen.cc (is_strlen_related_p): Likewise.
29724 * tree-ssa-strlen.h (get_range_strlen_dynamic): Likewise.
29725 * tree-ssa-tail-merge.cc (stmt_local_def): Likewise.
29726 * tree-ssa-ter.h: Likewise.
29727 * tree-ssa-threadupdate.h (enum bb_dom_status): Likewise.
29728 * tree-streamer-in.cc (lto_input_ts_block_tree_pointers): Likewise.
29729 * tree-streamer-out.cc (pack_ts_block_value_fields): Likewise.
29730 (write_ts_block_tree_pointers): Likewise.
29731 * tree-streamer.h (struct streamer_tree_cache_d): Likewise.
29732 (streamer_read_tree_bitfields): Likewise.
29733 (streamer_write_integer_cst): Likewise.
29734 * tree-vect-patterns.cc (apply_binop_and_append_stmt): Likewise.
29735 (vect_synth_mult_by_constant): Likewise.
29736 * tree-vect-stmts.cc (vectorizable_operation): Likewise.
29737 * tree-vectorizer.cc: Likewise.
29738 * tree-vectorizer.h (class auto_purge_vect_location): Likewise.
29739 (vect_update_inits_of_drs): Likewise.
29740 (vect_get_mask_type_for_stmt): Likewise.
29741 (vect_rgroup_iv_might_wrap_p): Likewise.
29742 (cse_and_gimplify_to_preheader): Likewise.
29743 (vect_free_slp_tree): Likewise.
29744 (vect_pattern_recog): Likewise.
29745 (vect_stmt_dominates_stmt_p): Likewise.
29746 * tree.cc (initialize_tree_contains_struct): Likewise.
29747 (need_assembler_name_p): Likewise.
29748 (type_with_interoperable_signedness): Likewise.
29749 * tree.def (SWITCH_EXPR): Likewise.
29750 * tree.h (TYPE_SYMTAB_ADDRESS): Likewise.
29751 (poly_int_tree_p): Likewise.
29752 (inlined_function_outer_scope_p): Likewise.
29753 (tree_code_for_canonical_type_merging): Likewise.
29754 * value-prof.cc: Likewise.
29755 * value-prof.h (get_nth_most_common_value): Likewise.
29756 (find_func_by_profile_id): Likewise.
29757 * value-range.cc (vrp_operand_equal_p): Likewise.
29758 * value-range.h: Likewise.
29759 * var-tracking.cc: Likewise.
29760 * varasm.cc (default_function_section): Likewise.
29761 (function_section_1): Likewise.
29762 (assemble_variable): Likewise.
29763 (handle_vtv_comdat_section): Likewise.
29764 * vec.h (struct vec_prefix): Likewise.
29765 * vmsdbgout.cc (full_name): Likewise.
29766 * vtable-verify.cc: Likewise.
29767 * vtable-verify.h (struct vtv_graph_node): Likewise.
29768 * xcoffout.cc: Likewise.
29769 * xcoffout.h (DEBUG_SYMS_TEXT): Likewise.
29770
29771 2022-01-17 Martin Liska <mliska@suse.cz>
29772
29773 * adjust-alignment.c: Moved to...
29774 * adjust-alignment.cc: ...here.
29775 * alias.c: Moved to...
29776 * alias.cc: ...here.
29777 * alloc-pool.c: Moved to...
29778 * alloc-pool.cc: ...here.
29779 * asan.c: Moved to...
29780 * asan.cc: ...here.
29781 * attribs.c: Moved to...
29782 * attribs.cc: ...here.
29783 * auto-inc-dec.c: Moved to...
29784 * auto-inc-dec.cc: ...here.
29785 * auto-profile.c: Moved to...
29786 * auto-profile.cc: ...here.
29787 * bb-reorder.c: Moved to...
29788 * bb-reorder.cc: ...here.
29789 * bitmap.c: Moved to...
29790 * bitmap.cc: ...here.
29791 * btfout.c: Moved to...
29792 * btfout.cc: ...here.
29793 * builtins.c: Moved to...
29794 * builtins.cc: ...here.
29795 * caller-save.c: Moved to...
29796 * caller-save.cc: ...here.
29797 * calls.c: Moved to...
29798 * calls.cc: ...here.
29799 * ccmp.c: Moved to...
29800 * ccmp.cc: ...here.
29801 * cfg.c: Moved to...
29802 * cfg.cc: ...here.
29803 * cfganal.c: Moved to...
29804 * cfganal.cc: ...here.
29805 * cfgbuild.c: Moved to...
29806 * cfgbuild.cc: ...here.
29807 * cfgcleanup.c: Moved to...
29808 * cfgcleanup.cc: ...here.
29809 * cfgexpand.c: Moved to...
29810 * cfgexpand.cc: ...here.
29811 * cfghooks.c: Moved to...
29812 * cfghooks.cc: ...here.
29813 * cfgloop.c: Moved to...
29814 * cfgloop.cc: ...here.
29815 * cfgloopanal.c: Moved to...
29816 * cfgloopanal.cc: ...here.
29817 * cfgloopmanip.c: Moved to...
29818 * cfgloopmanip.cc: ...here.
29819 * cfgrtl.c: Moved to...
29820 * cfgrtl.cc: ...here.
29821 * cgraph.c: Moved to...
29822 * cgraph.cc: ...here.
29823 * cgraphbuild.c: Moved to...
29824 * cgraphbuild.cc: ...here.
29825 * cgraphclones.c: Moved to...
29826 * cgraphclones.cc: ...here.
29827 * cgraphunit.c: Moved to...
29828 * cgraphunit.cc: ...here.
29829 * collect-utils.c: Moved to...
29830 * collect-utils.cc: ...here.
29831 * collect2-aix.c: Moved to...
29832 * collect2-aix.cc: ...here.
29833 * collect2.c: Moved to...
29834 * collect2.cc: ...here.
29835 * combine-stack-adj.c: Moved to...
29836 * combine-stack-adj.cc: ...here.
29837 * combine.c: Moved to...
29838 * combine.cc: ...here.
29839 * common/common-targhooks.c: Moved to...
29840 * common/common-targhooks.cc: ...here.
29841 * common/config/aarch64/aarch64-common.c: Moved to...
29842 * common/config/aarch64/aarch64-common.cc: ...here.
29843 * common/config/alpha/alpha-common.c: Moved to...
29844 * common/config/alpha/alpha-common.cc: ...here.
29845 * common/config/arc/arc-common.c: Moved to...
29846 * common/config/arc/arc-common.cc: ...here.
29847 * common/config/arm/arm-common.c: Moved to...
29848 * common/config/arm/arm-common.cc: ...here.
29849 * common/config/avr/avr-common.c: Moved to...
29850 * common/config/avr/avr-common.cc: ...here.
29851 * common/config/bfin/bfin-common.c: Moved to...
29852 * common/config/bfin/bfin-common.cc: ...here.
29853 * common/config/bpf/bpf-common.c: Moved to...
29854 * common/config/bpf/bpf-common.cc: ...here.
29855 * common/config/c6x/c6x-common.c: Moved to...
29856 * common/config/c6x/c6x-common.cc: ...here.
29857 * common/config/cr16/cr16-common.c: Moved to...
29858 * common/config/cr16/cr16-common.cc: ...here.
29859 * common/config/cris/cris-common.c: Moved to...
29860 * common/config/cris/cris-common.cc: ...here.
29861 * common/config/csky/csky-common.c: Moved to...
29862 * common/config/csky/csky-common.cc: ...here.
29863 * common/config/default-common.c: Moved to...
29864 * common/config/default-common.cc: ...here.
29865 * common/config/epiphany/epiphany-common.c: Moved to...
29866 * common/config/epiphany/epiphany-common.cc: ...here.
29867 * common/config/fr30/fr30-common.c: Moved to...
29868 * common/config/fr30/fr30-common.cc: ...here.
29869 * common/config/frv/frv-common.c: Moved to...
29870 * common/config/frv/frv-common.cc: ...here.
29871 * common/config/gcn/gcn-common.c: Moved to...
29872 * common/config/gcn/gcn-common.cc: ...here.
29873 * common/config/h8300/h8300-common.c: Moved to...
29874 * common/config/h8300/h8300-common.cc: ...here.
29875 * common/config/i386/i386-common.c: Moved to...
29876 * common/config/i386/i386-common.cc: ...here.
29877 * common/config/ia64/ia64-common.c: Moved to...
29878 * common/config/ia64/ia64-common.cc: ...here.
29879 * common/config/iq2000/iq2000-common.c: Moved to...
29880 * common/config/iq2000/iq2000-common.cc: ...here.
29881 * common/config/lm32/lm32-common.c: Moved to...
29882 * common/config/lm32/lm32-common.cc: ...here.
29883 * common/config/m32r/m32r-common.c: Moved to...
29884 * common/config/m32r/m32r-common.cc: ...here.
29885 * common/config/m68k/m68k-common.c: Moved to...
29886 * common/config/m68k/m68k-common.cc: ...here.
29887 * common/config/mcore/mcore-common.c: Moved to...
29888 * common/config/mcore/mcore-common.cc: ...here.
29889 * common/config/microblaze/microblaze-common.c: Moved to...
29890 * common/config/microblaze/microblaze-common.cc: ...here.
29891 * common/config/mips/mips-common.c: Moved to...
29892 * common/config/mips/mips-common.cc: ...here.
29893 * common/config/mmix/mmix-common.c: Moved to...
29894 * common/config/mmix/mmix-common.cc: ...here.
29895 * common/config/mn10300/mn10300-common.c: Moved to...
29896 * common/config/mn10300/mn10300-common.cc: ...here.
29897 * common/config/msp430/msp430-common.c: Moved to...
29898 * common/config/msp430/msp430-common.cc: ...here.
29899 * common/config/nds32/nds32-common.c: Moved to...
29900 * common/config/nds32/nds32-common.cc: ...here.
29901 * common/config/nios2/nios2-common.c: Moved to...
29902 * common/config/nios2/nios2-common.cc: ...here.
29903 * common/config/nvptx/nvptx-common.c: Moved to...
29904 * common/config/nvptx/nvptx-common.cc: ...here.
29905 * common/config/or1k/or1k-common.c: Moved to...
29906 * common/config/or1k/or1k-common.cc: ...here.
29907 * common/config/pa/pa-common.c: Moved to...
29908 * common/config/pa/pa-common.cc: ...here.
29909 * common/config/pdp11/pdp11-common.c: Moved to...
29910 * common/config/pdp11/pdp11-common.cc: ...here.
29911 * common/config/pru/pru-common.c: Moved to...
29912 * common/config/pru/pru-common.cc: ...here.
29913 * common/config/riscv/riscv-common.c: Moved to...
29914 * common/config/riscv/riscv-common.cc: ...here.
29915 * common/config/rs6000/rs6000-common.c: Moved to...
29916 * common/config/rs6000/rs6000-common.cc: ...here.
29917 * common/config/rx/rx-common.c: Moved to...
29918 * common/config/rx/rx-common.cc: ...here.
29919 * common/config/s390/s390-common.c: Moved to...
29920 * common/config/s390/s390-common.cc: ...here.
29921 * common/config/sh/sh-common.c: Moved to...
29922 * common/config/sh/sh-common.cc: ...here.
29923 * common/config/sparc/sparc-common.c: Moved to...
29924 * common/config/sparc/sparc-common.cc: ...here.
29925 * common/config/tilegx/tilegx-common.c: Moved to...
29926 * common/config/tilegx/tilegx-common.cc: ...here.
29927 * common/config/tilepro/tilepro-common.c: Moved to...
29928 * common/config/tilepro/tilepro-common.cc: ...here.
29929 * common/config/v850/v850-common.c: Moved to...
29930 * common/config/v850/v850-common.cc: ...here.
29931 * common/config/vax/vax-common.c: Moved to...
29932 * common/config/vax/vax-common.cc: ...here.
29933 * common/config/visium/visium-common.c: Moved to...
29934 * common/config/visium/visium-common.cc: ...here.
29935 * common/config/xstormy16/xstormy16-common.c: Moved to...
29936 * common/config/xstormy16/xstormy16-common.cc: ...here.
29937 * common/config/xtensa/xtensa-common.c: Moved to...
29938 * common/config/xtensa/xtensa-common.cc: ...here.
29939 * compare-elim.c: Moved to...
29940 * compare-elim.cc: ...here.
29941 * config/aarch64/aarch64-bti-insert.c: Moved to...
29942 * config/aarch64/aarch64-bti-insert.cc: ...here.
29943 * config/aarch64/aarch64-builtins.c: Moved to...
29944 * config/aarch64/aarch64-builtins.cc: ...here.
29945 * config/aarch64/aarch64-c.c: Moved to...
29946 * config/aarch64/aarch64-c.cc: ...here.
29947 * config/aarch64/aarch64-d.c: Moved to...
29948 * config/aarch64/aarch64-d.cc: ...here.
29949 * config/aarch64/aarch64.c: Moved to...
29950 * config/aarch64/aarch64.cc: ...here.
29951 * config/aarch64/cortex-a57-fma-steering.c: Moved to...
29952 * config/aarch64/cortex-a57-fma-steering.cc: ...here.
29953 * config/aarch64/driver-aarch64.c: Moved to...
29954 * config/aarch64/driver-aarch64.cc: ...here.
29955 * config/aarch64/falkor-tag-collision-avoidance.c: Moved to...
29956 * config/aarch64/falkor-tag-collision-avoidance.cc: ...here.
29957 * config/aarch64/host-aarch64-darwin.c: Moved to...
29958 * config/aarch64/host-aarch64-darwin.cc: ...here.
29959 * config/alpha/alpha.c: Moved to...
29960 * config/alpha/alpha.cc: ...here.
29961 * config/alpha/driver-alpha.c: Moved to...
29962 * config/alpha/driver-alpha.cc: ...here.
29963 * config/arc/arc-c.c: Moved to...
29964 * config/arc/arc-c.cc: ...here.
29965 * config/arc/arc.c: Moved to...
29966 * config/arc/arc.cc: ...here.
29967 * config/arc/driver-arc.c: Moved to...
29968 * config/arc/driver-arc.cc: ...here.
29969 * config/arm/aarch-common.c: Moved to...
29970 * config/arm/aarch-common.cc: ...here.
29971 * config/arm/arm-builtins.c: Moved to...
29972 * config/arm/arm-builtins.cc: ...here.
29973 * config/arm/arm-c.c: Moved to...
29974 * config/arm/arm-c.cc: ...here.
29975 * config/arm/arm-d.c: Moved to...
29976 * config/arm/arm-d.cc: ...here.
29977 * config/arm/arm.c: Moved to...
29978 * config/arm/arm.cc: ...here.
29979 * config/arm/driver-arm.c: Moved to...
29980 * config/arm/driver-arm.cc: ...here.
29981 * config/avr/avr-c.c: Moved to...
29982 * config/avr/avr-c.cc: ...here.
29983 * config/avr/avr-devices.c: Moved to...
29984 * config/avr/avr-devices.cc: ...here.
29985 * config/avr/avr-log.c: Moved to...
29986 * config/avr/avr-log.cc: ...here.
29987 * config/avr/avr.c: Moved to...
29988 * config/avr/avr.cc: ...here.
29989 * config/avr/driver-avr.c: Moved to...
29990 * config/avr/driver-avr.cc: ...here.
29991 * config/avr/gen-avr-mmcu-specs.c: Moved to...
29992 * config/avr/gen-avr-mmcu-specs.cc: ...here.
29993 * config/avr/gen-avr-mmcu-texi.c: Moved to...
29994 * config/avr/gen-avr-mmcu-texi.cc: ...here.
29995 * config/bfin/bfin.c: Moved to...
29996 * config/bfin/bfin.cc: ...here.
29997 * config/bpf/bpf.c: Moved to...
29998 * config/bpf/bpf.cc: ...here.
29999 * config/bpf/coreout.c: Moved to...
30000 * config/bpf/coreout.cc: ...here.
30001 * config/c6x/c6x.c: Moved to...
30002 * config/c6x/c6x.cc: ...here.
30003 * config/cr16/cr16.c: Moved to...
30004 * config/cr16/cr16.cc: ...here.
30005 * config/cris/cris.c: Moved to...
30006 * config/cris/cris.cc: ...here.
30007 * config/csky/csky.c: Moved to...
30008 * config/csky/csky.cc: ...here.
30009 * config/darwin-c.c: Moved to...
30010 * config/darwin-c.cc: ...here.
30011 * config/darwin-d.c: Moved to...
30012 * config/darwin-d.cc: ...here.
30013 * config/darwin-driver.c: Moved to...
30014 * config/darwin-driver.cc: ...here.
30015 * config/darwin-f.c: Moved to...
30016 * config/darwin-f.cc: ...here.
30017 * config/darwin.c: Moved to...
30018 * config/darwin.cc: ...here.
30019 * config/default-c.c: Moved to...
30020 * config/default-c.cc: ...here.
30021 * config/default-d.c: Moved to...
30022 * config/default-d.cc: ...here.
30023 * config/dragonfly-d.c: Moved to...
30024 * config/dragonfly-d.cc: ...here.
30025 * config/epiphany/epiphany.c: Moved to...
30026 * config/epiphany/epiphany.cc: ...here.
30027 * config/epiphany/mode-switch-use.c: Moved to...
30028 * config/epiphany/mode-switch-use.cc: ...here.
30029 * config/epiphany/resolve-sw-modes.c: Moved to...
30030 * config/epiphany/resolve-sw-modes.cc: ...here.
30031 * config/fr30/fr30.c: Moved to...
30032 * config/fr30/fr30.cc: ...here.
30033 * config/freebsd-d.c: Moved to...
30034 * config/freebsd-d.cc: ...here.
30035 * config/frv/frv.c: Moved to...
30036 * config/frv/frv.cc: ...here.
30037 * config/ft32/ft32.c: Moved to...
30038 * config/ft32/ft32.cc: ...here.
30039 * config/gcn/driver-gcn.c: Moved to...
30040 * config/gcn/driver-gcn.cc: ...here.
30041 * config/gcn/gcn-run.c: Moved to...
30042 * config/gcn/gcn-run.cc: ...here.
30043 * config/gcn/gcn-tree.c: Moved to...
30044 * config/gcn/gcn-tree.cc: ...here.
30045 * config/gcn/gcn.c: Moved to...
30046 * config/gcn/gcn.cc: ...here.
30047 * config/gcn/mkoffload.c: Moved to...
30048 * config/gcn/mkoffload.cc: ...here.
30049 * config/glibc-c.c: Moved to...
30050 * config/glibc-c.cc: ...here.
30051 * config/glibc-d.c: Moved to...
30052 * config/glibc-d.cc: ...here.
30053 * config/h8300/h8300.c: Moved to...
30054 * config/h8300/h8300.cc: ...here.
30055 * config/host-darwin.c: Moved to...
30056 * config/host-darwin.cc: ...here.
30057 * config/host-hpux.c: Moved to...
30058 * config/host-hpux.cc: ...here.
30059 * config/host-linux.c: Moved to...
30060 * config/host-linux.cc: ...here.
30061 * config/host-netbsd.c: Moved to...
30062 * config/host-netbsd.cc: ...here.
30063 * config/host-openbsd.c: Moved to...
30064 * config/host-openbsd.cc: ...here.
30065 * config/host-solaris.c: Moved to...
30066 * config/host-solaris.cc: ...here.
30067 * config/i386/djgpp.c: Moved to...
30068 * config/i386/djgpp.cc: ...here.
30069 * config/i386/driver-i386.c: Moved to...
30070 * config/i386/driver-i386.cc: ...here.
30071 * config/i386/driver-mingw32.c: Moved to...
30072 * config/i386/driver-mingw32.cc: ...here.
30073 * config/i386/gnu-property.c: Moved to...
30074 * config/i386/gnu-property.cc: ...here.
30075 * config/i386/host-cygwin.c: Moved to...
30076 * config/i386/host-cygwin.cc: ...here.
30077 * config/i386/host-i386-darwin.c: Moved to...
30078 * config/i386/host-i386-darwin.cc: ...here.
30079 * config/i386/host-mingw32.c: Moved to...
30080 * config/i386/host-mingw32.cc: ...here.
30081 * config/i386/i386-builtins.c: Moved to...
30082 * config/i386/i386-builtins.cc: ...here.
30083 * config/i386/i386-c.c: Moved to...
30084 * config/i386/i386-c.cc: ...here.
30085 * config/i386/i386-d.c: Moved to...
30086 * config/i386/i386-d.cc: ...here.
30087 * config/i386/i386-expand.c: Moved to...
30088 * config/i386/i386-expand.cc: ...here.
30089 * config/i386/i386-features.c: Moved to...
30090 * config/i386/i386-features.cc: ...here.
30091 * config/i386/i386-options.c: Moved to...
30092 * config/i386/i386-options.cc: ...here.
30093 * config/i386/i386.c: Moved to...
30094 * config/i386/i386.cc: ...here.
30095 * config/i386/intelmic-mkoffload.c: Moved to...
30096 * config/i386/intelmic-mkoffload.cc: ...here.
30097 * config/i386/msformat-c.c: Moved to...
30098 * config/i386/msformat-c.cc: ...here.
30099 * config/i386/winnt-cxx.c: Moved to...
30100 * config/i386/winnt-cxx.cc: ...here.
30101 * config/i386/winnt-d.c: Moved to...
30102 * config/i386/winnt-d.cc: ...here.
30103 * config/i386/winnt-stubs.c: Moved to...
30104 * config/i386/winnt-stubs.cc: ...here.
30105 * config/i386/winnt.c: Moved to...
30106 * config/i386/winnt.cc: ...here.
30107 * config/i386/x86-tune-sched-atom.c: Moved to...
30108 * config/i386/x86-tune-sched-atom.cc: ...here.
30109 * config/i386/x86-tune-sched-bd.c: Moved to...
30110 * config/i386/x86-tune-sched-bd.cc: ...here.
30111 * config/i386/x86-tune-sched-core.c: Moved to...
30112 * config/i386/x86-tune-sched-core.cc: ...here.
30113 * config/i386/x86-tune-sched.c: Moved to...
30114 * config/i386/x86-tune-sched.cc: ...here.
30115 * config/ia64/ia64-c.c: Moved to...
30116 * config/ia64/ia64-c.cc: ...here.
30117 * config/ia64/ia64.c: Moved to...
30118 * config/ia64/ia64.cc: ...here.
30119 * config/iq2000/iq2000.c: Moved to...
30120 * config/iq2000/iq2000.cc: ...here.
30121 * config/linux.c: Moved to...
30122 * config/linux.cc: ...here.
30123 * config/lm32/lm32.c: Moved to...
30124 * config/lm32/lm32.cc: ...here.
30125 * config/m32c/m32c-pragma.c: Moved to...
30126 * config/m32c/m32c-pragma.cc: ...here.
30127 * config/m32c/m32c.c: Moved to...
30128 * config/m32c/m32c.cc: ...here.
30129 * config/m32r/m32r.c: Moved to...
30130 * config/m32r/m32r.cc: ...here.
30131 * config/m68k/m68k.c: Moved to...
30132 * config/m68k/m68k.cc: ...here.
30133 * config/mcore/mcore.c: Moved to...
30134 * config/mcore/mcore.cc: ...here.
30135 * config/microblaze/microblaze-c.c: Moved to...
30136 * config/microblaze/microblaze-c.cc: ...here.
30137 * config/microblaze/microblaze.c: Moved to...
30138 * config/microblaze/microblaze.cc: ...here.
30139 * config/mips/driver-native.c: Moved to...
30140 * config/mips/driver-native.cc: ...here.
30141 * config/mips/frame-header-opt.c: Moved to...
30142 * config/mips/frame-header-opt.cc: ...here.
30143 * config/mips/mips-d.c: Moved to...
30144 * config/mips/mips-d.cc: ...here.
30145 * config/mips/mips.c: Moved to...
30146 * config/mips/mips.cc: ...here.
30147 * config/mmix/mmix.c: Moved to...
30148 * config/mmix/mmix.cc: ...here.
30149 * config/mn10300/mn10300.c: Moved to...
30150 * config/mn10300/mn10300.cc: ...here.
30151 * config/moxie/moxie.c: Moved to...
30152 * config/moxie/moxie.cc: ...here.
30153 * config/msp430/driver-msp430.c: Moved to...
30154 * config/msp430/driver-msp430.cc: ...here.
30155 * config/msp430/msp430-c.c: Moved to...
30156 * config/msp430/msp430-c.cc: ...here.
30157 * config/msp430/msp430-devices.c: Moved to...
30158 * config/msp430/msp430-devices.cc: ...here.
30159 * config/msp430/msp430.c: Moved to...
30160 * config/msp430/msp430.cc: ...here.
30161 * config/nds32/nds32-cost.c: Moved to...
30162 * config/nds32/nds32-cost.cc: ...here.
30163 * config/nds32/nds32-fp-as-gp.c: Moved to...
30164 * config/nds32/nds32-fp-as-gp.cc: ...here.
30165 * config/nds32/nds32-intrinsic.c: Moved to...
30166 * config/nds32/nds32-intrinsic.cc: ...here.
30167 * config/nds32/nds32-isr.c: Moved to...
30168 * config/nds32/nds32-isr.cc: ...here.
30169 * config/nds32/nds32-md-auxiliary.c: Moved to...
30170 * config/nds32/nds32-md-auxiliary.cc: ...here.
30171 * config/nds32/nds32-memory-manipulation.c: Moved to...
30172 * config/nds32/nds32-memory-manipulation.cc: ...here.
30173 * config/nds32/nds32-pipelines-auxiliary.c: Moved to...
30174 * config/nds32/nds32-pipelines-auxiliary.cc: ...here.
30175 * config/nds32/nds32-predicates.c: Moved to...
30176 * config/nds32/nds32-predicates.cc: ...here.
30177 * config/nds32/nds32-relax-opt.c: Moved to...
30178 * config/nds32/nds32-relax-opt.cc: ...here.
30179 * config/nds32/nds32-utils.c: Moved to...
30180 * config/nds32/nds32-utils.cc: ...here.
30181 * config/nds32/nds32.c: Moved to...
30182 * config/nds32/nds32.cc: ...here.
30183 * config/netbsd-d.c: Moved to...
30184 * config/netbsd-d.cc: ...here.
30185 * config/netbsd.c: Moved to...
30186 * config/netbsd.cc: ...here.
30187 * config/nios2/nios2.c: Moved to...
30188 * config/nios2/nios2.cc: ...here.
30189 * config/nvptx/mkoffload.c: Moved to...
30190 * config/nvptx/mkoffload.cc: ...here.
30191 * config/nvptx/nvptx-c.c: Moved to...
30192 * config/nvptx/nvptx-c.cc: ...here.
30193 * config/nvptx/nvptx.c: Moved to...
30194 * config/nvptx/nvptx.cc: ...here.
30195 * config/openbsd-d.c: Moved to...
30196 * config/openbsd-d.cc: ...here.
30197 * config/or1k/or1k.c: Moved to...
30198 * config/or1k/or1k.cc: ...here.
30199 * config/pa/pa-d.c: Moved to...
30200 * config/pa/pa-d.cc: ...here.
30201 * config/pa/pa.c: Moved to...
30202 * config/pa/pa.cc: ...here.
30203 * config/pdp11/pdp11.c: Moved to...
30204 * config/pdp11/pdp11.cc: ...here.
30205 * config/pru/pru-passes.c: Moved to...
30206 * config/pru/pru-passes.cc: ...here.
30207 * config/pru/pru-pragma.c: Moved to...
30208 * config/pru/pru-pragma.cc: ...here.
30209 * config/pru/pru.c: Moved to...
30210 * config/pru/pru.cc: ...here.
30211 * config/riscv/riscv-builtins.c: Moved to...
30212 * config/riscv/riscv-builtins.cc: ...here.
30213 * config/riscv/riscv-c.c: Moved to...
30214 * config/riscv/riscv-c.cc: ...here.
30215 * config/riscv/riscv-d.c: Moved to...
30216 * config/riscv/riscv-d.cc: ...here.
30217 * config/riscv/riscv-shorten-memrefs.c: Moved to...
30218 * config/riscv/riscv-shorten-memrefs.cc: ...here.
30219 * config/riscv/riscv-sr.c: Moved to...
30220 * config/riscv/riscv-sr.cc: ...here.
30221 * config/riscv/riscv.c: Moved to...
30222 * config/riscv/riscv.cc: ...here.
30223 * config/rl78/rl78-c.c: Moved to...
30224 * config/rl78/rl78-c.cc: ...here.
30225 * config/rl78/rl78.c: Moved to...
30226 * config/rl78/rl78.cc: ...here.
30227 * config/rs6000/driver-rs6000.c: Moved to...
30228 * config/rs6000/driver-rs6000.cc: ...here.
30229 * config/rs6000/host-darwin.c: Moved to...
30230 * config/rs6000/host-darwin.cc: ...here.
30231 * config/rs6000/host-ppc64-darwin.c: Moved to...
30232 * config/rs6000/host-ppc64-darwin.cc: ...here.
30233 * config/rs6000/rbtree.c: Moved to...
30234 * config/rs6000/rbtree.cc: ...here.
30235 * config/rs6000/rs6000-c.c: Moved to...
30236 * config/rs6000/rs6000-c.cc: ...here.
30237 * config/rs6000/rs6000-call.c: Moved to...
30238 * config/rs6000/rs6000-call.cc: ...here.
30239 * config/rs6000/rs6000-d.c: Moved to...
30240 * config/rs6000/rs6000-d.cc: ...here.
30241 * config/rs6000/rs6000-gen-builtins.c: Moved to...
30242 * config/rs6000/rs6000-gen-builtins.cc: ...here.
30243 * config/rs6000/rs6000-linux.c: Moved to...
30244 * config/rs6000/rs6000-linux.cc: ...here.
30245 * config/rs6000/rs6000-logue.c: Moved to...
30246 * config/rs6000/rs6000-logue.cc: ...here.
30247 * config/rs6000/rs6000-p8swap.c: Moved to...
30248 * config/rs6000/rs6000-p8swap.cc: ...here.
30249 * config/rs6000/rs6000-pcrel-opt.c: Moved to...
30250 * config/rs6000/rs6000-pcrel-opt.cc: ...here.
30251 * config/rs6000/rs6000-string.c: Moved to...
30252 * config/rs6000/rs6000-string.cc: ...here.
30253 * config/rs6000/rs6000.c: Moved to...
30254 * config/rs6000/rs6000.cc: ...here.
30255 * config/rx/rx.c: Moved to...
30256 * config/rx/rx.cc: ...here.
30257 * config/s390/driver-native.c: Moved to...
30258 * config/s390/driver-native.cc: ...here.
30259 * config/s390/s390-c.c: Moved to...
30260 * config/s390/s390-c.cc: ...here.
30261 * config/s390/s390-d.c: Moved to...
30262 * config/s390/s390-d.cc: ...here.
30263 * config/s390/s390.c: Moved to...
30264 * config/s390/s390.cc: ...here.
30265 * config/sh/divtab-sh4-300.c: Moved to...
30266 * config/sh/divtab-sh4-300.cc: ...here.
30267 * config/sh/divtab-sh4.c: Moved to...
30268 * config/sh/divtab-sh4.cc: ...here.
30269 * config/sh/divtab.c: Moved to...
30270 * config/sh/divtab.cc: ...here.
30271 * config/sh/sh-c.c: Moved to...
30272 * config/sh/sh-c.cc: ...here.
30273 * config/sh/sh.c: Moved to...
30274 * config/sh/sh.cc: ...here.
30275 * config/sol2-c.c: Moved to...
30276 * config/sol2-c.cc: ...here.
30277 * config/sol2-cxx.c: Moved to...
30278 * config/sol2-cxx.cc: ...here.
30279 * config/sol2-d.c: Moved to...
30280 * config/sol2-d.cc: ...here.
30281 * config/sol2-stubs.c: Moved to...
30282 * config/sol2-stubs.cc: ...here.
30283 * config/sol2.c: Moved to...
30284 * config/sol2.cc: ...here.
30285 * config/sparc/driver-sparc.c: Moved to...
30286 * config/sparc/driver-sparc.cc: ...here.
30287 * config/sparc/sparc-c.c: Moved to...
30288 * config/sparc/sparc-c.cc: ...here.
30289 * config/sparc/sparc-d.c: Moved to...
30290 * config/sparc/sparc-d.cc: ...here.
30291 * config/sparc/sparc.c: Moved to...
30292 * config/sparc/sparc.cc: ...here.
30293 * config/stormy16/stormy16.c: Moved to...
30294 * config/stormy16/stormy16.cc: ...here.
30295 * config/tilegx/mul-tables.c: Moved to...
30296 * config/tilegx/mul-tables.cc: ...here.
30297 * config/tilegx/tilegx-c.c: Moved to...
30298 * config/tilegx/tilegx-c.cc: ...here.
30299 * config/tilegx/tilegx.c: Moved to...
30300 * config/tilegx/tilegx.cc: ...here.
30301 * config/tilepro/mul-tables.c: Moved to...
30302 * config/tilepro/mul-tables.cc: ...here.
30303 * config/tilepro/tilepro-c.c: Moved to...
30304 * config/tilepro/tilepro-c.cc: ...here.
30305 * config/tilepro/tilepro.c: Moved to...
30306 * config/tilepro/tilepro.cc: ...here.
30307 * config/v850/v850-c.c: Moved to...
30308 * config/v850/v850-c.cc: ...here.
30309 * config/v850/v850.c: Moved to...
30310 * config/v850/v850.cc: ...here.
30311 * config/vax/vax.c: Moved to...
30312 * config/vax/vax.cc: ...here.
30313 * config/visium/visium.c: Moved to...
30314 * config/visium/visium.cc: ...here.
30315 * config/vms/vms-c.c: Moved to...
30316 * config/vms/vms-c.cc: ...here.
30317 * config/vms/vms-f.c: Moved to...
30318 * config/vms/vms-f.cc: ...here.
30319 * config/vms/vms.c: Moved to...
30320 * config/vms/vms.cc: ...here.
30321 * config/vxworks-c.c: Moved to...
30322 * config/vxworks-c.cc: ...here.
30323 * config/vxworks.c: Moved to...
30324 * config/vxworks.cc: ...here.
30325 * config/winnt-c.c: Moved to...
30326 * config/winnt-c.cc: ...here.
30327 * config/xtensa/xtensa.c: Moved to...
30328 * config/xtensa/xtensa.cc: ...here.
30329 * context.c: Moved to...
30330 * context.cc: ...here.
30331 * convert.c: Moved to...
30332 * convert.cc: ...here.
30333 * coverage.c: Moved to...
30334 * coverage.cc: ...here.
30335 * cppbuiltin.c: Moved to...
30336 * cppbuiltin.cc: ...here.
30337 * cppdefault.c: Moved to...
30338 * cppdefault.cc: ...here.
30339 * cprop.c: Moved to...
30340 * cprop.cc: ...here.
30341 * cse.c: Moved to...
30342 * cse.cc: ...here.
30343 * cselib.c: Moved to...
30344 * cselib.cc: ...here.
30345 * ctfc.c: Moved to...
30346 * ctfc.cc: ...here.
30347 * ctfout.c: Moved to...
30348 * ctfout.cc: ...here.
30349 * data-streamer-in.c: Moved to...
30350 * data-streamer-in.cc: ...here.
30351 * data-streamer-out.c: Moved to...
30352 * data-streamer-out.cc: ...here.
30353 * data-streamer.c: Moved to...
30354 * data-streamer.cc: ...here.
30355 * dbgcnt.c: Moved to...
30356 * dbgcnt.cc: ...here.
30357 * dbxout.c: Moved to...
30358 * dbxout.cc: ...here.
30359 * dce.c: Moved to...
30360 * dce.cc: ...here.
30361 * ddg.c: Moved to...
30362 * ddg.cc: ...here.
30363 * debug.c: Moved to...
30364 * debug.cc: ...here.
30365 * df-core.c: Moved to...
30366 * df-core.cc: ...here.
30367 * df-problems.c: Moved to...
30368 * df-problems.cc: ...here.
30369 * df-scan.c: Moved to...
30370 * df-scan.cc: ...here.
30371 * dfp.c: Moved to...
30372 * dfp.cc: ...here.
30373 * diagnostic-color.c: Moved to...
30374 * diagnostic-color.cc: ...here.
30375 * diagnostic-show-locus.c: Moved to...
30376 * diagnostic-show-locus.cc: ...here.
30377 * diagnostic-spec.c: Moved to...
30378 * diagnostic-spec.cc: ...here.
30379 * diagnostic.c: Moved to...
30380 * diagnostic.cc: ...here.
30381 * dojump.c: Moved to...
30382 * dojump.cc: ...here.
30383 * dominance.c: Moved to...
30384 * dominance.cc: ...here.
30385 * domwalk.c: Moved to...
30386 * domwalk.cc: ...here.
30387 * double-int.c: Moved to...
30388 * double-int.cc: ...here.
30389 * dse.c: Moved to...
30390 * dse.cc: ...here.
30391 * dumpfile.c: Moved to...
30392 * dumpfile.cc: ...here.
30393 * dwarf2asm.c: Moved to...
30394 * dwarf2asm.cc: ...here.
30395 * dwarf2cfi.c: Moved to...
30396 * dwarf2cfi.cc: ...here.
30397 * dwarf2ctf.c: Moved to...
30398 * dwarf2ctf.cc: ...here.
30399 * dwarf2out.c: Moved to...
30400 * dwarf2out.cc: ...here.
30401 * early-remat.c: Moved to...
30402 * early-remat.cc: ...here.
30403 * edit-context.c: Moved to...
30404 * edit-context.cc: ...here.
30405 * emit-rtl.c: Moved to...
30406 * emit-rtl.cc: ...here.
30407 * errors.c: Moved to...
30408 * errors.cc: ...here.
30409 * et-forest.c: Moved to...
30410 * et-forest.cc: ...here.
30411 * except.c: Moved to...
30412 * except.cc: ...here.
30413 * explow.c: Moved to...
30414 * explow.cc: ...here.
30415 * expmed.c: Moved to...
30416 * expmed.cc: ...here.
30417 * expr.c: Moved to...
30418 * expr.cc: ...here.
30419 * fibonacci_heap.c: Moved to...
30420 * fibonacci_heap.cc: ...here.
30421 * file-find.c: Moved to...
30422 * file-find.cc: ...here.
30423 * file-prefix-map.c: Moved to...
30424 * file-prefix-map.cc: ...here.
30425 * final.c: Moved to...
30426 * final.cc: ...here.
30427 * fixed-value.c: Moved to...
30428 * fixed-value.cc: ...here.
30429 * fold-const-call.c: Moved to...
30430 * fold-const-call.cc: ...here.
30431 * fold-const.c: Moved to...
30432 * fold-const.cc: ...here.
30433 * fp-test.c: Moved to...
30434 * fp-test.cc: ...here.
30435 * function-tests.c: Moved to...
30436 * function-tests.cc: ...here.
30437 * function.c: Moved to...
30438 * function.cc: ...here.
30439 * fwprop.c: Moved to...
30440 * fwprop.cc: ...here.
30441 * gcc-ar.c: Moved to...
30442 * gcc-ar.cc: ...here.
30443 * gcc-main.c: Moved to...
30444 * gcc-main.cc: ...here.
30445 * gcc-rich-location.c: Moved to...
30446 * gcc-rich-location.cc: ...here.
30447 * gcc.c: Moved to...
30448 * gcc.cc: ...here.
30449 * gcov-dump.c: Moved to...
30450 * gcov-dump.cc: ...here.
30451 * gcov-io.c: Moved to...
30452 * gcov-io.cc: ...here.
30453 * gcov-tool.c: Moved to...
30454 * gcov-tool.cc: ...here.
30455 * gcov.c: Moved to...
30456 * gcov.cc: ...here.
30457 * gcse-common.c: Moved to...
30458 * gcse-common.cc: ...here.
30459 * gcse.c: Moved to...
30460 * gcse.cc: ...here.
30461 * genattr-common.c: Moved to...
30462 * genattr-common.cc: ...here.
30463 * genattr.c: Moved to...
30464 * genattr.cc: ...here.
30465 * genattrtab.c: Moved to...
30466 * genattrtab.cc: ...here.
30467 * genautomata.c: Moved to...
30468 * genautomata.cc: ...here.
30469 * gencfn-macros.c: Moved to...
30470 * gencfn-macros.cc: ...here.
30471 * gencheck.c: Moved to...
30472 * gencheck.cc: ...here.
30473 * genchecksum.c: Moved to...
30474 * genchecksum.cc: ...here.
30475 * gencodes.c: Moved to...
30476 * gencodes.cc: ...here.
30477 * genconditions.c: Moved to...
30478 * genconditions.cc: ...here.
30479 * genconfig.c: Moved to...
30480 * genconfig.cc: ...here.
30481 * genconstants.c: Moved to...
30482 * genconstants.cc: ...here.
30483 * genemit.c: Moved to...
30484 * genemit.cc: ...here.
30485 * genenums.c: Moved to...
30486 * genenums.cc: ...here.
30487 * generic-match-head.c: Moved to...
30488 * generic-match-head.cc: ...here.
30489 * genextract.c: Moved to...
30490 * genextract.cc: ...here.
30491 * genflags.c: Moved to...
30492 * genflags.cc: ...here.
30493 * gengenrtl.c: Moved to...
30494 * gengenrtl.cc: ...here.
30495 * gengtype-parse.c: Moved to...
30496 * gengtype-parse.cc: ...here.
30497 * gengtype-state.c: Moved to...
30498 * gengtype-state.cc: ...here.
30499 * gengtype.c: Moved to...
30500 * gengtype.cc: ...here.
30501 * genhooks.c: Moved to...
30502 * genhooks.cc: ...here.
30503 * genmatch.c: Moved to...
30504 * genmatch.cc: ...here.
30505 * genmddeps.c: Moved to...
30506 * genmddeps.cc: ...here.
30507 * genmddump.c: Moved to...
30508 * genmddump.cc: ...here.
30509 * genmodes.c: Moved to...
30510 * genmodes.cc: ...here.
30511 * genopinit.c: Moved to...
30512 * genopinit.cc: ...here.
30513 * genoutput.c: Moved to...
30514 * genoutput.cc: ...here.
30515 * genpeep.c: Moved to...
30516 * genpeep.cc: ...here.
30517 * genpreds.c: Moved to...
30518 * genpreds.cc: ...here.
30519 * genrecog.c: Moved to...
30520 * genrecog.cc: ...here.
30521 * gensupport.c: Moved to...
30522 * gensupport.cc: ...here.
30523 * gentarget-def.c: Moved to...
30524 * gentarget-def.cc: ...here.
30525 * genversion.c: Moved to...
30526 * genversion.cc: ...here.
30527 * ggc-common.c: Moved to...
30528 * ggc-common.cc: ...here.
30529 * ggc-none.c: Moved to...
30530 * ggc-none.cc: ...here.
30531 * ggc-page.c: Moved to...
30532 * ggc-page.cc: ...here.
30533 * ggc-tests.c: Moved to...
30534 * ggc-tests.cc: ...here.
30535 * gimple-builder.c: Moved to...
30536 * gimple-builder.cc: ...here.
30537 * gimple-expr.c: Moved to...
30538 * gimple-expr.cc: ...here.
30539 * gimple-fold.c: Moved to...
30540 * gimple-fold.cc: ...here.
30541 * gimple-iterator.c: Moved to...
30542 * gimple-iterator.cc: ...here.
30543 * gimple-laddress.c: Moved to...
30544 * gimple-laddress.cc: ...here.
30545 * gimple-loop-jam.c: Moved to...
30546 * gimple-loop-jam.cc: ...here.
30547 * gimple-low.c: Moved to...
30548 * gimple-low.cc: ...here.
30549 * gimple-match-head.c: Moved to...
30550 * gimple-match-head.cc: ...here.
30551 * gimple-pretty-print.c: Moved to...
30552 * gimple-pretty-print.cc: ...here.
30553 * gimple-ssa-backprop.c: Moved to...
30554 * gimple-ssa-backprop.cc: ...here.
30555 * gimple-ssa-evrp-analyze.c: Moved to...
30556 * gimple-ssa-evrp-analyze.cc: ...here.
30557 * gimple-ssa-evrp.c: Moved to...
30558 * gimple-ssa-evrp.cc: ...here.
30559 * gimple-ssa-isolate-paths.c: Moved to...
30560 * gimple-ssa-isolate-paths.cc: ...here.
30561 * gimple-ssa-nonnull-compare.c: Moved to...
30562 * gimple-ssa-nonnull-compare.cc: ...here.
30563 * gimple-ssa-split-paths.c: Moved to...
30564 * gimple-ssa-split-paths.cc: ...here.
30565 * gimple-ssa-sprintf.c: Moved to...
30566 * gimple-ssa-sprintf.cc: ...here.
30567 * gimple-ssa-store-merging.c: Moved to...
30568 * gimple-ssa-store-merging.cc: ...here.
30569 * gimple-ssa-strength-reduction.c: Moved to...
30570 * gimple-ssa-strength-reduction.cc: ...here.
30571 * gimple-ssa-warn-alloca.c: Moved to...
30572 * gimple-ssa-warn-alloca.cc: ...here.
30573 * gimple-ssa-warn-restrict.c: Moved to...
30574 * gimple-ssa-warn-restrict.cc: ...here.
30575 * gimple-streamer-in.c: Moved to...
30576 * gimple-streamer-in.cc: ...here.
30577 * gimple-streamer-out.c: Moved to...
30578 * gimple-streamer-out.cc: ...here.
30579 * gimple-walk.c: Moved to...
30580 * gimple-walk.cc: ...here.
30581 * gimple-warn-recursion.c: Moved to...
30582 * gimple-warn-recursion.cc: ...here.
30583 * gimple.c: Moved to...
30584 * gimple.cc: ...here.
30585 * gimplify-me.c: Moved to...
30586 * gimplify-me.cc: ...here.
30587 * gimplify.c: Moved to...
30588 * gimplify.cc: ...here.
30589 * godump.c: Moved to...
30590 * godump.cc: ...here.
30591 * graph.c: Moved to...
30592 * graph.cc: ...here.
30593 * graphds.c: Moved to...
30594 * graphds.cc: ...here.
30595 * graphite-dependences.c: Moved to...
30596 * graphite-dependences.cc: ...here.
30597 * graphite-isl-ast-to-gimple.c: Moved to...
30598 * graphite-isl-ast-to-gimple.cc: ...here.
30599 * graphite-optimize-isl.c: Moved to...
30600 * graphite-optimize-isl.cc: ...here.
30601 * graphite-poly.c: Moved to...
30602 * graphite-poly.cc: ...here.
30603 * graphite-scop-detection.c: Moved to...
30604 * graphite-scop-detection.cc: ...here.
30605 * graphite-sese-to-poly.c: Moved to...
30606 * graphite-sese-to-poly.cc: ...here.
30607 * graphite.c: Moved to...
30608 * graphite.cc: ...here.
30609 * haifa-sched.c: Moved to...
30610 * haifa-sched.cc: ...here.
30611 * hash-map-tests.c: Moved to...
30612 * hash-map-tests.cc: ...here.
30613 * hash-set-tests.c: Moved to...
30614 * hash-set-tests.cc: ...here.
30615 * hash-table.c: Moved to...
30616 * hash-table.cc: ...here.
30617 * hooks.c: Moved to...
30618 * hooks.cc: ...here.
30619 * host-default.c: Moved to...
30620 * host-default.cc: ...here.
30621 * hw-doloop.c: Moved to...
30622 * hw-doloop.cc: ...here.
30623 * hwint.c: Moved to...
30624 * hwint.cc: ...here.
30625 * ifcvt.c: Moved to...
30626 * ifcvt.cc: ...here.
30627 * inchash.c: Moved to...
30628 * inchash.cc: ...here.
30629 * incpath.c: Moved to...
30630 * incpath.cc: ...here.
30631 * init-regs.c: Moved to...
30632 * init-regs.cc: ...here.
30633 * input.c: Moved to...
30634 * input.cc: ...here.
30635 * internal-fn.c: Moved to...
30636 * internal-fn.cc: ...here.
30637 * intl.c: Moved to...
30638 * intl.cc: ...here.
30639 * ipa-comdats.c: Moved to...
30640 * ipa-comdats.cc: ...here.
30641 * ipa-cp.c: Moved to...
30642 * ipa-cp.cc: ...here.
30643 * ipa-devirt.c: Moved to...
30644 * ipa-devirt.cc: ...here.
30645 * ipa-fnsummary.c: Moved to...
30646 * ipa-fnsummary.cc: ...here.
30647 * ipa-icf-gimple.c: Moved to...
30648 * ipa-icf-gimple.cc: ...here.
30649 * ipa-icf.c: Moved to...
30650 * ipa-icf.cc: ...here.
30651 * ipa-inline-analysis.c: Moved to...
30652 * ipa-inline-analysis.cc: ...here.
30653 * ipa-inline-transform.c: Moved to...
30654 * ipa-inline-transform.cc: ...here.
30655 * ipa-inline.c: Moved to...
30656 * ipa-inline.cc: ...here.
30657 * ipa-modref-tree.c: Moved to...
30658 * ipa-modref-tree.cc: ...here.
30659 * ipa-modref.c: Moved to...
30660 * ipa-modref.cc: ...here.
30661 * ipa-param-manipulation.c: Moved to...
30662 * ipa-param-manipulation.cc: ...here.
30663 * ipa-polymorphic-call.c: Moved to...
30664 * ipa-polymorphic-call.cc: ...here.
30665 * ipa-predicate.c: Moved to...
30666 * ipa-predicate.cc: ...here.
30667 * ipa-profile.c: Moved to...
30668 * ipa-profile.cc: ...here.
30669 * ipa-prop.c: Moved to...
30670 * ipa-prop.cc: ...here.
30671 * ipa-pure-const.c: Moved to...
30672 * ipa-pure-const.cc: ...here.
30673 * ipa-ref.c: Moved to...
30674 * ipa-ref.cc: ...here.
30675 * ipa-reference.c: Moved to...
30676 * ipa-reference.cc: ...here.
30677 * ipa-split.c: Moved to...
30678 * ipa-split.cc: ...here.
30679 * ipa-sra.c: Moved to...
30680 * ipa-sra.cc: ...here.
30681 * ipa-utils.c: Moved to...
30682 * ipa-utils.cc: ...here.
30683 * ipa-visibility.c: Moved to...
30684 * ipa-visibility.cc: ...here.
30685 * ipa.c: Moved to...
30686 * ipa.cc: ...here.
30687 * ira-build.c: Moved to...
30688 * ira-build.cc: ...here.
30689 * ira-color.c: Moved to...
30690 * ira-color.cc: ...here.
30691 * ira-conflicts.c: Moved to...
30692 * ira-conflicts.cc: ...here.
30693 * ira-costs.c: Moved to...
30694 * ira-costs.cc: ...here.
30695 * ira-emit.c: Moved to...
30696 * ira-emit.cc: ...here.
30697 * ira-lives.c: Moved to...
30698 * ira-lives.cc: ...here.
30699 * ira.c: Moved to...
30700 * ira.cc: ...here.
30701 * jump.c: Moved to...
30702 * jump.cc: ...here.
30703 * langhooks.c: Moved to...
30704 * langhooks.cc: ...here.
30705 * lcm.c: Moved to...
30706 * lcm.cc: ...here.
30707 * lists.c: Moved to...
30708 * lists.cc: ...here.
30709 * loop-doloop.c: Moved to...
30710 * loop-doloop.cc: ...here.
30711 * loop-init.c: Moved to...
30712 * loop-init.cc: ...here.
30713 * loop-invariant.c: Moved to...
30714 * loop-invariant.cc: ...here.
30715 * loop-iv.c: Moved to...
30716 * loop-iv.cc: ...here.
30717 * loop-unroll.c: Moved to...
30718 * loop-unroll.cc: ...here.
30719 * lower-subreg.c: Moved to...
30720 * lower-subreg.cc: ...here.
30721 * lra-assigns.c: Moved to...
30722 * lra-assigns.cc: ...here.
30723 * lra-coalesce.c: Moved to...
30724 * lra-coalesce.cc: ...here.
30725 * lra-constraints.c: Moved to...
30726 * lra-constraints.cc: ...here.
30727 * lra-eliminations.c: Moved to...
30728 * lra-eliminations.cc: ...here.
30729 * lra-lives.c: Moved to...
30730 * lra-lives.cc: ...here.
30731 * lra-remat.c: Moved to...
30732 * lra-remat.cc: ...here.
30733 * lra-spills.c: Moved to...
30734 * lra-spills.cc: ...here.
30735 * lra.c: Moved to...
30736 * lra.cc: ...here.
30737 * lto-cgraph.c: Moved to...
30738 * lto-cgraph.cc: ...here.
30739 * lto-compress.c: Moved to...
30740 * lto-compress.cc: ...here.
30741 * lto-opts.c: Moved to...
30742 * lto-opts.cc: ...here.
30743 * lto-section-in.c: Moved to...
30744 * lto-section-in.cc: ...here.
30745 * lto-section-out.c: Moved to...
30746 * lto-section-out.cc: ...here.
30747 * lto-streamer-in.c: Moved to...
30748 * lto-streamer-in.cc: ...here.
30749 * lto-streamer-out.c: Moved to...
30750 * lto-streamer-out.cc: ...here.
30751 * lto-streamer.c: Moved to...
30752 * lto-streamer.cc: ...here.
30753 * lto-wrapper.c: Moved to...
30754 * lto-wrapper.cc: ...here.
30755 * main.c: Moved to...
30756 * main.cc: ...here.
30757 * mcf.c: Moved to...
30758 * mcf.cc: ...here.
30759 * mode-switching.c: Moved to...
30760 * mode-switching.cc: ...here.
30761 * modulo-sched.c: Moved to...
30762 * modulo-sched.cc: ...here.
30763 * multiple_target.c: Moved to...
30764 * multiple_target.cc: ...here.
30765 * omp-expand.c: Moved to...
30766 * omp-expand.cc: ...here.
30767 * omp-general.c: Moved to...
30768 * omp-general.cc: ...here.
30769 * omp-low.c: Moved to...
30770 * omp-low.cc: ...here.
30771 * omp-offload.c: Moved to...
30772 * omp-offload.cc: ...here.
30773 * omp-simd-clone.c: Moved to...
30774 * omp-simd-clone.cc: ...here.
30775 * opt-suggestions.c: Moved to...
30776 * opt-suggestions.cc: ...here.
30777 * optabs-libfuncs.c: Moved to...
30778 * optabs-libfuncs.cc: ...here.
30779 * optabs-query.c: Moved to...
30780 * optabs-query.cc: ...here.
30781 * optabs-tree.c: Moved to...
30782 * optabs-tree.cc: ...here.
30783 * optabs.c: Moved to...
30784 * optabs.cc: ...here.
30785 * opts-common.c: Moved to...
30786 * opts-common.cc: ...here.
30787 * opts-global.c: Moved to...
30788 * opts-global.cc: ...here.
30789 * opts.c: Moved to...
30790 * opts.cc: ...here.
30791 * passes.c: Moved to...
30792 * passes.cc: ...here.
30793 * plugin.c: Moved to...
30794 * plugin.cc: ...here.
30795 * postreload-gcse.c: Moved to...
30796 * postreload-gcse.cc: ...here.
30797 * postreload.c: Moved to...
30798 * postreload.cc: ...here.
30799 * predict.c: Moved to...
30800 * predict.cc: ...here.
30801 * prefix.c: Moved to...
30802 * prefix.cc: ...here.
30803 * pretty-print.c: Moved to...
30804 * pretty-print.cc: ...here.
30805 * print-rtl-function.c: Moved to...
30806 * print-rtl-function.cc: ...here.
30807 * print-rtl.c: Moved to...
30808 * print-rtl.cc: ...here.
30809 * print-tree.c: Moved to...
30810 * print-tree.cc: ...here.
30811 * profile-count.c: Moved to...
30812 * profile-count.cc: ...here.
30813 * profile.c: Moved to...
30814 * profile.cc: ...here.
30815 * read-md.c: Moved to...
30816 * read-md.cc: ...here.
30817 * read-rtl-function.c: Moved to...
30818 * read-rtl-function.cc: ...here.
30819 * read-rtl.c: Moved to...
30820 * read-rtl.cc: ...here.
30821 * real.c: Moved to...
30822 * real.cc: ...here.
30823 * realmpfr.c: Moved to...
30824 * realmpfr.cc: ...here.
30825 * recog.c: Moved to...
30826 * recog.cc: ...here.
30827 * ree.c: Moved to...
30828 * ree.cc: ...here.
30829 * reg-stack.c: Moved to...
30830 * reg-stack.cc: ...here.
30831 * regcprop.c: Moved to...
30832 * regcprop.cc: ...here.
30833 * reginfo.c: Moved to...
30834 * reginfo.cc: ...here.
30835 * regrename.c: Moved to...
30836 * regrename.cc: ...here.
30837 * regstat.c: Moved to...
30838 * regstat.cc: ...here.
30839 * reload.c: Moved to...
30840 * reload.cc: ...here.
30841 * reload1.c: Moved to...
30842 * reload1.cc: ...here.
30843 * reorg.c: Moved to...
30844 * reorg.cc: ...here.
30845 * resource.c: Moved to...
30846 * resource.cc: ...here.
30847 * rtl-error.c: Moved to...
30848 * rtl-error.cc: ...here.
30849 * rtl-tests.c: Moved to...
30850 * rtl-tests.cc: ...here.
30851 * rtl.c: Moved to...
30852 * rtl.cc: ...here.
30853 * rtlanal.c: Moved to...
30854 * rtlanal.cc: ...here.
30855 * rtlhash.c: Moved to...
30856 * rtlhash.cc: ...here.
30857 * rtlhooks.c: Moved to...
30858 * rtlhooks.cc: ...here.
30859 * rtx-vector-builder.c: Moved to...
30860 * rtx-vector-builder.cc: ...here.
30861 * run-rtl-passes.c: Moved to...
30862 * run-rtl-passes.cc: ...here.
30863 * sancov.c: Moved to...
30864 * sancov.cc: ...here.
30865 * sanopt.c: Moved to...
30866 * sanopt.cc: ...here.
30867 * sbitmap.c: Moved to...
30868 * sbitmap.cc: ...here.
30869 * sched-deps.c: Moved to...
30870 * sched-deps.cc: ...here.
30871 * sched-ebb.c: Moved to...
30872 * sched-ebb.cc: ...here.
30873 * sched-rgn.c: Moved to...
30874 * sched-rgn.cc: ...here.
30875 * sel-sched-dump.c: Moved to...
30876 * sel-sched-dump.cc: ...here.
30877 * sel-sched-ir.c: Moved to...
30878 * sel-sched-ir.cc: ...here.
30879 * sel-sched.c: Moved to...
30880 * sel-sched.cc: ...here.
30881 * selftest-diagnostic.c: Moved to...
30882 * selftest-diagnostic.cc: ...here.
30883 * selftest-rtl.c: Moved to...
30884 * selftest-rtl.cc: ...here.
30885 * selftest-run-tests.c: Moved to...
30886 * selftest-run-tests.cc: ...here.
30887 * selftest.c: Moved to...
30888 * selftest.cc: ...here.
30889 * sese.c: Moved to...
30890 * sese.cc: ...here.
30891 * shrink-wrap.c: Moved to...
30892 * shrink-wrap.cc: ...here.
30893 * simplify-rtx.c: Moved to...
30894 * simplify-rtx.cc: ...here.
30895 * sparseset.c: Moved to...
30896 * sparseset.cc: ...here.
30897 * spellcheck-tree.c: Moved to...
30898 * spellcheck-tree.cc: ...here.
30899 * spellcheck.c: Moved to...
30900 * spellcheck.cc: ...here.
30901 * sreal.c: Moved to...
30902 * sreal.cc: ...here.
30903 * stack-ptr-mod.c: Moved to...
30904 * stack-ptr-mod.cc: ...here.
30905 * statistics.c: Moved to...
30906 * statistics.cc: ...here.
30907 * stmt.c: Moved to...
30908 * stmt.cc: ...here.
30909 * stor-layout.c: Moved to...
30910 * stor-layout.cc: ...here.
30911 * store-motion.c: Moved to...
30912 * store-motion.cc: ...here.
30913 * streamer-hooks.c: Moved to...
30914 * streamer-hooks.cc: ...here.
30915 * stringpool.c: Moved to...
30916 * stringpool.cc: ...here.
30917 * substring-locations.c: Moved to...
30918 * substring-locations.cc: ...here.
30919 * symtab.c: Moved to...
30920 * symtab.cc: ...here.
30921 * target-globals.c: Moved to...
30922 * target-globals.cc: ...here.
30923 * targhooks.c: Moved to...
30924 * targhooks.cc: ...here.
30925 * timevar.c: Moved to...
30926 * timevar.cc: ...here.
30927 * toplev.c: Moved to...
30928 * toplev.cc: ...here.
30929 * tracer.c: Moved to...
30930 * tracer.cc: ...here.
30931 * trans-mem.c: Moved to...
30932 * trans-mem.cc: ...here.
30933 * tree-affine.c: Moved to...
30934 * tree-affine.cc: ...here.
30935 * tree-call-cdce.c: Moved to...
30936 * tree-call-cdce.cc: ...here.
30937 * tree-cfg.c: Moved to...
30938 * tree-cfg.cc: ...here.
30939 * tree-cfgcleanup.c: Moved to...
30940 * tree-cfgcleanup.cc: ...here.
30941 * tree-chrec.c: Moved to...
30942 * tree-chrec.cc: ...here.
30943 * tree-complex.c: Moved to...
30944 * tree-complex.cc: ...here.
30945 * tree-data-ref.c: Moved to...
30946 * tree-data-ref.cc: ...here.
30947 * tree-dfa.c: Moved to...
30948 * tree-dfa.cc: ...here.
30949 * tree-diagnostic.c: Moved to...
30950 * tree-diagnostic.cc: ...here.
30951 * tree-dump.c: Moved to...
30952 * tree-dump.cc: ...here.
30953 * tree-eh.c: Moved to...
30954 * tree-eh.cc: ...here.
30955 * tree-emutls.c: Moved to...
30956 * tree-emutls.cc: ...here.
30957 * tree-if-conv.c: Moved to...
30958 * tree-if-conv.cc: ...here.
30959 * tree-inline.c: Moved to...
30960 * tree-inline.cc: ...here.
30961 * tree-into-ssa.c: Moved to...
30962 * tree-into-ssa.cc: ...here.
30963 * tree-iterator.c: Moved to...
30964 * tree-iterator.cc: ...here.
30965 * tree-loop-distribution.c: Moved to...
30966 * tree-loop-distribution.cc: ...here.
30967 * tree-nested.c: Moved to...
30968 * tree-nested.cc: ...here.
30969 * tree-nrv.c: Moved to...
30970 * tree-nrv.cc: ...here.
30971 * tree-object-size.c: Moved to...
30972 * tree-object-size.cc: ...here.
30973 * tree-outof-ssa.c: Moved to...
30974 * tree-outof-ssa.cc: ...here.
30975 * tree-parloops.c: Moved to...
30976 * tree-parloops.cc: ...here.
30977 * tree-phinodes.c: Moved to...
30978 * tree-phinodes.cc: ...here.
30979 * tree-predcom.c: Moved to...
30980 * tree-predcom.cc: ...here.
30981 * tree-pretty-print.c: Moved to...
30982 * tree-pretty-print.cc: ...here.
30983 * tree-profile.c: Moved to...
30984 * tree-profile.cc: ...here.
30985 * tree-scalar-evolution.c: Moved to...
30986 * tree-scalar-evolution.cc: ...here.
30987 * tree-sra.c: Moved to...
30988 * tree-sra.cc: ...here.
30989 * tree-ssa-address.c: Moved to...
30990 * tree-ssa-address.cc: ...here.
30991 * tree-ssa-alias.c: Moved to...
30992 * tree-ssa-alias.cc: ...here.
30993 * tree-ssa-ccp.c: Moved to...
30994 * tree-ssa-ccp.cc: ...here.
30995 * tree-ssa-coalesce.c: Moved to...
30996 * tree-ssa-coalesce.cc: ...here.
30997 * tree-ssa-copy.c: Moved to...
30998 * tree-ssa-copy.cc: ...here.
30999 * tree-ssa-dce.c: Moved to...
31000 * tree-ssa-dce.cc: ...here.
31001 * tree-ssa-dom.c: Moved to...
31002 * tree-ssa-dom.cc: ...here.
31003 * tree-ssa-dse.c: Moved to...
31004 * tree-ssa-dse.cc: ...here.
31005 * tree-ssa-forwprop.c: Moved to...
31006 * tree-ssa-forwprop.cc: ...here.
31007 * tree-ssa-ifcombine.c: Moved to...
31008 * tree-ssa-ifcombine.cc: ...here.
31009 * tree-ssa-live.c: Moved to...
31010 * tree-ssa-live.cc: ...here.
31011 * tree-ssa-loop-ch.c: Moved to...
31012 * tree-ssa-loop-ch.cc: ...here.
31013 * tree-ssa-loop-im.c: Moved to...
31014 * tree-ssa-loop-im.cc: ...here.
31015 * tree-ssa-loop-ivcanon.c: Moved to...
31016 * tree-ssa-loop-ivcanon.cc: ...here.
31017 * tree-ssa-loop-ivopts.c: Moved to...
31018 * tree-ssa-loop-ivopts.cc: ...here.
31019 * tree-ssa-loop-manip.c: Moved to...
31020 * tree-ssa-loop-manip.cc: ...here.
31021 * tree-ssa-loop-niter.c: Moved to...
31022 * tree-ssa-loop-niter.cc: ...here.
31023 * tree-ssa-loop-prefetch.c: Moved to...
31024 * tree-ssa-loop-prefetch.cc: ...here.
31025 * tree-ssa-loop-split.c: Moved to...
31026 * tree-ssa-loop-split.cc: ...here.
31027 * tree-ssa-loop-unswitch.c: Moved to...
31028 * tree-ssa-loop-unswitch.cc: ...here.
31029 * tree-ssa-loop.c: Moved to...
31030 * tree-ssa-loop.cc: ...here.
31031 * tree-ssa-math-opts.c: Moved to...
31032 * tree-ssa-math-opts.cc: ...here.
31033 * tree-ssa-operands.c: Moved to...
31034 * tree-ssa-operands.cc: ...here.
31035 * tree-ssa-phiopt.c: Moved to...
31036 * tree-ssa-phiopt.cc: ...here.
31037 * tree-ssa-phiprop.c: Moved to...
31038 * tree-ssa-phiprop.cc: ...here.
31039 * tree-ssa-pre.c: Moved to...
31040 * tree-ssa-pre.cc: ...here.
31041 * tree-ssa-propagate.c: Moved to...
31042 * tree-ssa-propagate.cc: ...here.
31043 * tree-ssa-reassoc.c: Moved to...
31044 * tree-ssa-reassoc.cc: ...here.
31045 * tree-ssa-sccvn.c: Moved to...
31046 * tree-ssa-sccvn.cc: ...here.
31047 * tree-ssa-scopedtables.c: Moved to...
31048 * tree-ssa-scopedtables.cc: ...here.
31049 * tree-ssa-sink.c: Moved to...
31050 * tree-ssa-sink.cc: ...here.
31051 * tree-ssa-strlen.c: Moved to...
31052 * tree-ssa-strlen.cc: ...here.
31053 * tree-ssa-structalias.c: Moved to...
31054 * tree-ssa-structalias.cc: ...here.
31055 * tree-ssa-tail-merge.c: Moved to...
31056 * tree-ssa-tail-merge.cc: ...here.
31057 * tree-ssa-ter.c: Moved to...
31058 * tree-ssa-ter.cc: ...here.
31059 * tree-ssa-threadbackward.c: Moved to...
31060 * tree-ssa-threadbackward.cc: ...here.
31061 * tree-ssa-threadedge.c: Moved to...
31062 * tree-ssa-threadedge.cc: ...here.
31063 * tree-ssa-threadupdate.c: Moved to...
31064 * tree-ssa-threadupdate.cc: ...here.
31065 * tree-ssa-uncprop.c: Moved to...
31066 * tree-ssa-uncprop.cc: ...here.
31067 * tree-ssa-uninit.c: Moved to...
31068 * tree-ssa-uninit.cc: ...here.
31069 * tree-ssa.c: Moved to...
31070 * tree-ssa.cc: ...here.
31071 * tree-ssanames.c: Moved to...
31072 * tree-ssanames.cc: ...here.
31073 * tree-stdarg.c: Moved to...
31074 * tree-stdarg.cc: ...here.
31075 * tree-streamer-in.c: Moved to...
31076 * tree-streamer-in.cc: ...here.
31077 * tree-streamer-out.c: Moved to...
31078 * tree-streamer-out.cc: ...here.
31079 * tree-streamer.c: Moved to...
31080 * tree-streamer.cc: ...here.
31081 * tree-switch-conversion.c: Moved to...
31082 * tree-switch-conversion.cc: ...here.
31083 * tree-tailcall.c: Moved to...
31084 * tree-tailcall.cc: ...here.
31085 * tree-vect-data-refs.c: Moved to...
31086 * tree-vect-data-refs.cc: ...here.
31087 * tree-vect-generic.c: Moved to...
31088 * tree-vect-generic.cc: ...here.
31089 * tree-vect-loop-manip.c: Moved to...
31090 * tree-vect-loop-manip.cc: ...here.
31091 * tree-vect-loop.c: Moved to...
31092 * tree-vect-loop.cc: ...here.
31093 * tree-vect-patterns.c: Moved to...
31094 * tree-vect-patterns.cc: ...here.
31095 * tree-vect-slp-patterns.c: Moved to...
31096 * tree-vect-slp-patterns.cc: ...here.
31097 * tree-vect-slp.c: Moved to...
31098 * tree-vect-slp.cc: ...here.
31099 * tree-vect-stmts.c: Moved to...
31100 * tree-vect-stmts.cc: ...here.
31101 * tree-vector-builder.c: Moved to...
31102 * tree-vector-builder.cc: ...here.
31103 * tree-vectorizer.c: Moved to...
31104 * tree-vectorizer.cc: ...here.
31105 * tree-vrp.c: Moved to...
31106 * tree-vrp.cc: ...here.
31107 * tree.c: Moved to...
31108 * tree.cc: ...here.
31109 * tsan.c: Moved to...
31110 * tsan.cc: ...here.
31111 * typed-splay-tree.c: Moved to...
31112 * typed-splay-tree.cc: ...here.
31113 * ubsan.c: Moved to...
31114 * ubsan.cc: ...here.
31115 * valtrack.c: Moved to...
31116 * valtrack.cc: ...here.
31117 * value-prof.c: Moved to...
31118 * value-prof.cc: ...here.
31119 * var-tracking.c: Moved to...
31120 * var-tracking.cc: ...here.
31121 * varasm.c: Moved to...
31122 * varasm.cc: ...here.
31123 * varpool.c: Moved to...
31124 * varpool.cc: ...here.
31125 * vec-perm-indices.c: Moved to...
31126 * vec-perm-indices.cc: ...here.
31127 * vec.c: Moved to...
31128 * vec.cc: ...here.
31129 * vmsdbgout.c: Moved to...
31130 * vmsdbgout.cc: ...here.
31131 * vr-values.c: Moved to...
31132 * vr-values.cc: ...here.
31133 * vtable-verify.c: Moved to...
31134 * vtable-verify.cc: ...here.
31135 * web.c: Moved to...
31136 * web.cc: ...here.
31137 * xcoffout.c: Moved to...
31138 * xcoffout.cc: ...here.
31139
31140 2022-01-17 qing zhao <qing.zhao@oracle.com>
31141
31142 * tree-ssa-uninit.c (warn_uninit): Delete the 4th parameter. Handle
31143 .DEFERRED_INIT call with an anonymous SSA_NAME specially.
31144 (check_defs): Handle .DEFERRED_INIT call with an anonymous SSA_NAME
31145 specially.
31146 (warn_uninit_phi_uses): Delete the 4th actual when call warn_uninit.
31147 (warn_uninitialized_vars): Likewise.
31148 (warn_uninitialized_phi): Likewise.
31149
31150 2022-01-17 Jason Merrill <jason@redhat.com>
31151
31152 * diagnostic.h (struct diagnostic_context): Add includes_seen.
31153 * diagnostic.c (diagnostic_initialize): Initialize it.
31154 (diagnostic_finish): Clean it up.
31155 (includes_seen): New function.
31156 (diagnostic_report_current_module): Use it.
31157
31158 2022-01-17 Richard Biener <rguenther@suse.de>
31159
31160 PR middle-end/101292
31161 * diagnostic-spec.c (copy_warning): Make sure to not
31162 reference old hashtable content on possible resize.
31163 * warning-control.cc (copy_warning): Likewise.
31164
31165 2022-01-17 Jakub Jelinek <jakub@redhat.com>
31166
31167 PR target/103973
31168 * tree-cfg.h (cond_only_block_p): Declare.
31169 * tree-ssa-phiopt.c (cond_only_block_p): Move function to ...
31170 * tree-cfg.c (cond_only_block_p): ... here. No longer static.
31171 * optabs.def (spaceship_optab): New optab.
31172 * internal-fn.def (SPACESHIP): New internal function.
31173 * internal-fn.h (expand_SPACESHIP): Declare.
31174 * internal-fn.c (expand_PHI): Formatting fix.
31175 (expand_SPACESHIP): New function.
31176 * tree-ssa-math-opts.c (optimize_spaceship): New function.
31177 (math_opts_dom_walker::after_dom_children): Use it.
31178 * config/i386/i386.md (spaceship<mode>3): New define_expand.
31179 * config/i386/i386-protos.h (ix86_expand_fp_spaceship): Declare.
31180 * config/i386/i386-expand.c (ix86_expand_fp_spaceship): New function.
31181 * doc/md.texi (spaceship@var{m}3): Document.
31182
31183 2022-01-17 Kewen Lin <linkw@linux.ibm.com>
31184
31185 * config/rs6000/altivec.md (altivec_vreveti2): Remove.
31186 * config/rs6000/vsx.md (*vsx_extract_si, *vsx_extract_si_<uns>float_df,
31187 *vsx_extract_si_<uns>float_<mode>, *vsx_insert_extract_v4sf_p9): Use
31188 known constant values to simplify code.
31189
31190 2022-01-17 Haochen Gui <guihaoc@gcc.gnu.org>
31191
31192 PR target/103124
31193 * config/rs6000/vsx.md (split pattern for TI to V1TI move): Defined.
31194
31195 2022-01-16 wwwhhhyyy <hongyu.wang@intel.com>
31196
31197 * config/i386/i386.h (TARGET_DEST_FALSE_DEP_FOR_GLC): New macro.
31198 * config/i386/sse.md (<avx512>_<complexopname>_<mode><maskc_name><round_name>):
31199 Insert zero-idiom in output template when attr enabled, set new attribute to
31200 true for non-mask/maskz insn.
31201 (avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>):
31202 Likewise.
31203 (avx512dq_mul<mode>3<mask_name>): Likewise.
31204 (<avx2_avx512>_permvar<mode><mask_name>): Likewise.
31205 (avx2_perm<mode>_1<mask_name>): Likewise.
31206 (avx512f_perm<mode>_1<mask_name>): Likewise.
31207 (avx512dq_rangep<mode><mask_name><round_saeonly_name>): Likewise.
31208 (avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>):
31209 Likewise.
31210 (<avx512>_getmant<mode><mask_name><round_saeonly_name>): Likewise.
31211 (avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
31212 Likewise.
31213 * config/i386/subst.md (mask3_dest_false_dep_for_glc_cond): New
31214 subst_attr.
31215 (mask4_dest_false_dep_for_glc_cond): Likewise.
31216 (mask6_dest_false_dep_for_glc_cond): Likewise.
31217 (mask10_dest_false_dep_for_glc_cond): Likewise.
31218 (maskc_dest_false_dep_for_glc_cond): Likewise.
31219 (mask_scalar4_dest_false_dep_for_glc_cond): Likewise.
31220 (mask_scalarc_dest_false_dep_for_glc_cond): Likewise.
31221 * config/i386/x86-tune.def (X86_TUNE_DEST_FALSE_DEP_FOR_GLC): New
31222 DEF_TUNE enabled for m_SAPPHIRERAPIDS and m_ALDERLAKE
31223
31224 2022-01-15 Martin Sebor <msebor@redhat.com>
31225
31226 PR c/63272
31227 * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
31228 -Wdangling-pointer.
31229 * doc/invoke.texi (-Wdangling-pointer): Document new option.
31230 * gimple-ssa-warn-access.cc (pass_waccess::clone): Set new member.
31231 (pass_waccess::check_pointer_uses): New function.
31232 (pass_waccess::gimple_call_return_arg): New function.
31233 (pass_waccess::gimple_call_return_arg_ref): New function.
31234 (pass_waccess::check_call_dangling): New function.
31235 (pass_waccess::check_dangling_uses): New function overloads.
31236 (pass_waccess::check_dangling_stores): New function.
31237 (pass_waccess::check_dangling_stores): New function.
31238 (pass_waccess::m_clobbers): New data member.
31239 (pass_waccess::m_func): New data member.
31240 (pass_waccess::m_run_number): New data member.
31241 (pass_waccess::m_check_dangling_p): New data member.
31242 (pass_waccess::check_alloca): Check m_early_checks_p.
31243 (pass_waccess::check_alloc_size_call): Same.
31244 (pass_waccess::check_strcat): Same.
31245 (pass_waccess::check_strncat): Same.
31246 (pass_waccess::check_stxcpy): Same.
31247 (pass_waccess::check_stxncpy): Same.
31248 (pass_waccess::check_strncmp): Same.
31249 (pass_waccess::check_memop_access): Same.
31250 (pass_waccess::check_read_access): Same.
31251 (pass_waccess::check_builtin): Call check_pointer_uses.
31252 (pass_waccess::warn_invalid_pointer): Add arguments.
31253 (is_auto_decl): New function.
31254 (pass_waccess::check_stmt): New function.
31255 (pass_waccess::check_block): Call check_stmt.
31256 (pass_waccess::execute): Call check_dangling_uses,
31257 check_dangling_stores. Empty m_clobbers.
31258 * passes.def (pass_warn_access): Invoke pass two more times.
31259
31260 2022-01-15 Martin Sebor <msebor@redhat.com>
31261
31262 PR tree-optimization/80532
31263 * common.opt (-Wuse-after-free): New options.
31264 * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
31265 OPT_Wreturn_local_addr and OPT_Wuse_after_free_.
31266 * diagnostic-spec.h (NW_DANGLING): New enumerator.
31267 * doc/invoke.texi (-Wuse-after-free): Document new option.
31268 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Rename...
31269 (pass_waccess::check_call_access): ...to this.
31270 (pass_waccess::check): Rename...
31271 (pass_waccess::check_block): ...to this.
31272 (pass_waccess::check_pointer_uses): New function.
31273 (pass_waccess::gimple_call_return_arg): New function.
31274 (pass_waccess::warn_invalid_pointer): New function.
31275 (pass_waccess::check_builtin): Handle free and realloc.
31276 (gimple_use_after_inval_p): New function.
31277 (get_realloc_lhs): New function.
31278 (maybe_warn_mismatched_realloc): New function.
31279 (pointers_related_p): New function.
31280 (pass_waccess::check_call): Call check_pointer_uses.
31281 (pass_waccess::execute): Compute and free dominance info.
31282
31283 2022-01-15 Uroš Bizjak <ubizjak@gmail.com>
31284
31285 * config/i386/i386-expand.c (ix86_expand_sse_movcc): Use
31286 expand_simple_unop and expand_simple_binop instead of manually
31287 constructing NOT, AND and IOR RTXes. Use vector_all_ones_operand
31288 consistently. Eliminate common subexpressions and simplify code.
31289 * config/i386/sse.md (<any_logic:code><MODEF:mode>3): New expander.
31290 (<any_logic:code><MODEF:mode>3): Make public.
31291
31292 2022-01-14 Eric Botcazou <ebotcazou@adacore.com>
31293
31294 * ipa-param-manipulation.c (ipa_dump_adjusted_parameters): Dump
31295 reverse flag as "reverse" for the sake of consistency.
31296 * ipa-sra.c: Fix copyright year.
31297 (ipa_sra_function_summaries::duplicate): Copy the reverse flag.
31298 (dump_isra_access): Tweak dump line.
31299 (isra_write_node_summary): Write the reverse flag.
31300 (isra_read_node_info): Read it.
31301 (pull_accesses_from_callee): Test its consistency and copy it.
31302
31303 2022-01-14 Richard Sandiford <richard.sandiford@arm.com>
31304
31305 PR middle-end/104026
31306 * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize
31307 partial_load_store_bias.
31308
31309 2022-01-14 Martin Sebor <msebor@redhat.com>
31310
31311 PR middle-end/101475
31312 * pointer-query.cc (handle_component_ref): Use the size of
31313 the enclosing object if it's smaller than the member.
31314
31315 2022-01-14 Martin Liska <mliska@suse.cz>
31316
31317 * configure: Regenerate.
31318
31319 2022-01-14 Uroš Bizjak <ubizjak@gmail.com>
31320
31321 * config/i386/i386.md (*add<mode>_1_slp"):
31322 Mark alternative 1 output operand earlyclobbered.
31323 (*sub<mode>_1_slp): Ditto.
31324 (*and<mode>_1_slp): Ditto.
31325 (*<code><mode>_1_slp): Ditto.
31326 (*neg<mode>_1_slp): Ditto.
31327 (*one_cmpl<mode>_1_slp): Ditto.
31328 (*ashl<mode>3_1_slp): Ditto.
31329 (*<insn><mode>3_1_slp): Ditto.
31330 (*<insn><mode>3_1_slp): Ditto.
31331
31332 2022-01-14 Kewen Lin <linkw@linux.ibm.com>
31333
31334 PR tree-optimization/104015
31335 * tree-vect-loop.c (vect_analyze_loop): Check
31336 param_vect_partial_vector_usage for supports_partial_vectors.
31337
31338 2022-01-14 Jakub Jelinek <jakub@redhat.com>
31339
31340 PR c++/89074
31341 * fold-const.c (address_compare): Punt on comparison of address of
31342 one object with address of end of another object if
31343 folding_initializer.
31344
31345 2022-01-14 Jakub Jelinek <jakub@redhat.com>
31346
31347 PR target/98737
31348 * tree-ssa-forwprop.c (simplify_builtin_call): Canonicalize
31349 __atomic_fetch_op (p, x, y) op x into __atomic_op_fetch (p, x, y)
31350 and __atomic_op_fetch (p, x, y) iop x into
31351 __atomic_fetch_op (p, x, y).
31352
31353 2022-01-14 Claudiu Zissulescu <claziss@synopsys.com>
31354
31355 * config/arc/arc.h (DWARF_FRAME_REGNUM): Update definition.
31356 (DWARF_FRAME_RETURN_COLUMN): Use RETURN_ADDR_REGNUM macro.
31357 (INCOMING_RETURN_ADDR_RTX): Likewise.
31358 (DWARF_ALT_FRAME_RETURN_COLUMN): Define.
31359
31360 2022-01-14 Claudiu Zissulescu <claziss@synopsys.com>
31361
31362 * config/arc/arc.c (arc_compute_frame_size): Remove condition when
31363 computin checking accumulator regs.
31364 (arc_expand_prologue): Update comments.
31365 (arc_expand_epilogue): Likewise.
31366
31367 2022-01-14 Roger Sayle <roger@nextmovesoftware.com>
31368 Uroš Bizjak <ubizjak@gmail.com>
31369
31370 * config/i386/i386-expand.c (ix86_expand_v1ti_to_ti): Use force_reg.
31371 (ix86_expand_ti_to_v1ti): Use force_reg.
31372 (ix86_expand_v1ti_shift): Use force_reg.
31373 (ix86_expand_v1ti_rotate): Use force_reg.
31374 (ix86_expand_v1ti_ashiftrt): Provide new three operation
31375 implementations for shifts by 111..126 bits. Use force_reg.
31376
31377 2022-01-14 Martin Liska <mliska@suse.cz>
31378
31379 * common/config/arm/arm-common.c (arm_target_mode): Fix
31380 warning: unterminated quoting directive [-Wformat=].
31381
31382 2022-01-14 Siddhesh Poyarekar <siddhesh@gotplt.org>
31383
31384 PR tree-optimization/104009
31385 * tree-object-size.c (compute_builtin_object_size): Bail out on
31386 negative offset.
31387 (plus_stmt_object_size): Return maximum of wholesize and minimum
31388 of 0 for negative offset.
31389
31390 2022-01-14 liuhongt <hongtao.liu@intel.com>
31391
31392 PR target/104001
31393 PR target/94790
31394 PR target/104014
31395 * config/i386/i386.md (*xor2andn): Refine predicate of
31396 operands[0] from nonimmediate_operand to
31397 register_operand, remove TARGET_AVX512BW from condition.
31398
31399 2022-01-14 David Malcolm <dmalcolm@redhat.com>
31400
31401 * doc/extend.texi (Function Attributes): Note that "tainted_args" can
31402 be used on field decls.
31403 (Common Function Attributes): Add entry on "tainted_args" attribute.
31404
31405 2022-01-13 Anthony Sharp <anthonysharp15@gmail.com>
31406 Jason Merrill <jason@redhat.com>
31407
31408 PR c++/70417
31409 * doc/invoke.texi: Documentation for Wmissing-template-keyword.
31410
31411 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
31412
31413 PR target/103861
31414 * config/i386/i386.md (*ashlqi_ext<mode>_2): New insn pattern.
31415 (*<any_shiftrt:insn>qi_ext<mode>_2): Ditto.
31416 * config/i386/mmx.md (<any_shift:insn>v2qi):
31417 New insn_and_split pattern.
31418
31419 2022-01-13 Robin Dapp <rdapp@linux.ibm.com>
31420
31421 * internal-fn.c (expand_partial_load_optab_fn): Add bias.
31422 (expand_partial_store_optab_fn): Likewise.
31423 (internal_len_load_store_bias): New function.
31424 * internal-fn.h (VECT_PARTIAL_BIAS_UNSUPPORTED): New define.
31425 (internal_len_load_store_bias): New function.
31426 * tree-vect-loop-manip.c (vect_set_loop_controls_directly): Set bias.
31427 (vect_set_loop_condition_partial_vectors): Add header_seq parameter.
31428 * tree-vect-loop.c (vect_verify_loop_lens): Verify bias.
31429 (vect_estimate_min_profitable_iters): Account for bias.
31430 (vect_get_loop_len): Add bias-adjusted length.
31431 * tree-vect-stmts.c (vectorizable_store): Use.
31432 (vectorizable_load): Use.
31433 * tree-vectorizer.h (struct rgroup_controls): Add bias-adjusted length.
31434 (LOOP_VINFO_PARTIAL_LOAD_STORE_BIAS): New macro.
31435 * config/rs6000/vsx.md: Use const0 bias predicate.
31436 * doc/md.texi: Document bias value.
31437
31438 2022-01-13 Andrew MacLeod <amacleod@redhat.com>
31439
31440 PR tree-optimization/83072
31441 PR tree-optimization/83073
31442 PR tree-optimization/97909
31443 * fold-const.c (expr_not_equal_to): Use a multi-range class.
31444
31445 2022-01-13 Andrew MacLeod <amacleod@redhat.com>
31446
31447 PR tree-optimization/96707
31448 * range-op.cc (operator_rshift::lhs_op1_relation): New.
31449
31450 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
31451
31452 * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
31453 Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
31454 (negv2qi splitters): Use lowpart_subreg instead of
31455 gen_lowpart to create subreg.
31456 (<plusminus:insn>v2qi3): Disparage GPR alternative a bit.
31457 Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
31458 (<plusminus:insn>v2qi3 splitters): Use lowpart_subreg instead of
31459 gen_lowpart to create subreg.
31460 * config/i386/i386.md (*subqi_ext<mode>_2): Move.
31461
31462 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
31463
31464 PR target/104003
31465 * config/i386/mmx.md (*xop_pcmov_<mode>): Use VI_16_32 mode iterator.
31466
31467 2022-01-13 Martin Liska <mliska@suse.cz>
31468
31469 * common/config/arm/arm-common.c (arm_target_mode): Wrap
31470 keywords with %<, %> and remove trailing punctuation char.
31471 (arm_canon_arch_option_1): Likewise.
31472 (arm_asm_auto_mfpu): Likewise.
31473 * config/arm/arm-builtins.c (arm_expand_builtin): Likewise.
31474 * config/arm/arm.c (arm_options_perform_arch_sanity_checks): Likewise.
31475 (use_vfp_abi): Likewise.
31476 (aapcs_vfp_is_call_or_return_candidate): Likewise.
31477 (arm_handle_cmse_nonsecure_entry): Likewise.
31478 (arm_handle_cmse_nonsecure_call): Likewise.
31479 (thumb1_md_asm_adjust): Likewise.
31480
31481 2022-01-13 Paul A. Clarke <pc@us.ibm.com>
31482
31483 * config/rs6000/smmintrin.h (_mm_round_pd, _mm_round_ps,
31484 _mm_round_sd, _mm_round_ss, _MM_FROUND_TO_NEAREST_INT,
31485 _MM_FROUND_TO_ZERO, _MM_FROUND_TO_POS_INF, _MM_FROUND_TO_NEG_INF,
31486 _MM_FROUND_CUR_DIRECTION, _MM_FROUND_RAISE_EXC, _MM_FROUND_NO_EXC,
31487 _MM_FROUND_NINT, _MM_FROUND_FLOOR, _MM_FROUND_CEIL, _MM_FROUND_TRUNC,
31488 _MM_FROUND_RINT, _MM_FROUND_NEARBYINT): New.
31489 (_mm_ceil_pd, _mm_ceil_ps, _mm_ceil_sd, _mm_ceil_ss, _mm_floor_pd,
31490 _mm_floor_ps, _mm_floor_sd, _mm_floor_ss): Convert from function to
31491 macro.
31492
31493 2022-01-13 Jakub Jelinek <jakub@redhat.com>
31494
31495 PR tree-optimization/103989
31496 * tree-inline.c (setup_one_parameter): Don't copy parms with
31497 empty type.
31498
31499 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
31500
31501 * tree-streamer-out.c (pack_ts_base_value_fields): Don't pack
31502 'TYPE_ADDR_SPACE' for offloading.
31503 * tree-streamer-in.c (unpack_ts_base_value_fields): Don't unpack
31504 'TYPE_ADDR_SPACE' for offloading.
31505
31506 2022-01-13 Julian Brown <julian@codesourcery.com>
31507 Thomas Schwinge <thomas@codesourcery.com>
31508
31509 * omp-oacc-kernels-decompose.cc (add_wait): New function, split out
31510 of...
31511 (add_async_clauses_and_wait): ...here. Call new outlined function.
31512 (decompose_kernels_region_body): Add wait at the end of
31513 explicitly-asynchronous kernels regions.
31514
31515 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
31516
31517 PR middle-end/100280
31518 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
31519 Mark variables used in synthesized data clauses as addressable.
31520
31521 2022-01-13 Martin Liska <mliska@suse.cz>
31522
31523 * config/epiphany/epiphany.c (epiphany_mode_priority):
31524 Use gcc_unreachable for not handled cases.
31525
31526 2022-01-13 Martin Liska <mliska@suse.cz>
31527
31528 * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
31529 Use %qs format specifier.
31530 (epiphany_override_options): Wrap keyword in %<, %>.
31531
31532 2022-01-13 Haochen Jiang <haochen.jiang@intel.com>
31533
31534 PR target/94790
31535 * config/i386/i386.md (*xor2andn): New define_insn_and_split.
31536
31537 2022-01-13 Xionghu Luo <luoxhu@linux.ibm.com>
31538
31539 * config/rs6000/altivec.md (sldoi_to_mov<mode>): New.
31540
31541 2022-01-12 Uroš Bizjak <ubizjak@gmail.com>
31542
31543 PR target/100637
31544 PR target/103861
31545 * config/i386/i386-expand.c (ix86_emit_vec_binop): New static function.
31546 (ix86_expand_sse_movcc): Use ix86_emit_vec_binop instead of gen_rtx_X
31547 when constructing vector logic RTXes.
31548 (expand_vec_perm_pshufb2): Ditto.
31549 * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
31550 (<plusminus:insn>v2qi3): Ditto.
31551 (vcond<mode><mode>): Re-enable for TARGET_SSE2.
31552 (vcondu<mode><mode>): Ditto.
31553 (vcond_mask_<mode><mode>): Ditto.
31554 (one_cmpl<VI_32:mode>2): Remove expander.
31555 (one_cmpl<VI_16_32:mode>2): Rename from one_cmplv2qi.
31556 Use VI_16_32 mode iterator.
31557 (one_cmpl<VI_16_32:mode>2 splitters): Use VI_16_32 mode iterator.
31558 Use lowpart_subreg instead of gen_lowpart to create subreg.
31559 (*andnot<VI_16_32:mode>3): Merge from "*andnot<VI_32:mode>" and
31560 "*andnotv2qi3" insn patterns using VI_16_32 mode iterator.
31561 Disparage GPR alternative a bit. Add CC clobber.
31562 (*andnot<VI_16_32:mode>3 splitters): Use VI_16_32 mode iterator.
31563 Use lowpart_subreg instead of gen_lowpart to create subreg.
31564 (*<any_logic:code><VI_16_32:mode>3): Merge from
31565 "*<any_logic:code><VI_32:mode>" and "*<any_logic:code>v2qi3" insn patterns
31566 using VI_16_32 mode iterator. Disparage GPR alternative a bit.
31567 Add CC clobber.
31568 (*<any_logic:code><VI_16_32:mode>3 splitters):Use VI_16_32 mode
31569 iterator. Use lowpart_subreg instead of gen_lowpart to create subreg.
31570
31571 2022-01-12 Clément Chigot <clement.chigot@atos.net>
31572
31573 * configure.ac: Check sizeof ino_t and dev_t.
31574 (HOST_STAT_FOR_64BIT_INODES): New AC_DEFINE to provide stat
31575 syscall being able to handle 64bit inodes.
31576 * config.in: Regenerate.
31577 * configure: Regenerate.
31578 * incpath.c (HOST_STAT_FOR_64BIT_INODES): New define.
31579 (remove_duplicates): Use it.
31580
31581 2022-01-12 Andrew MacLeod <amacleod@redhat.com>
31582
31583 PR tree-optimization/103551
31584 * tree-vrp.c (execute_ranger_vrp): Always set EDGE_EXECUTABLE.
31585
31586 2022-01-12 Richard Biener <rguenther@suse.de>
31587
31588 PR tree-optimization/103990
31589 * tree-pass.h (tail_merge_optimize): Drop unused argument.
31590 * tree-ssa-tail-merge.c (tail_merge_optimize): Likewise.
31591 * tree-ssa-pre.c (pass_pre::execute): Retain TODO_cleanup_cfg
31592 and adjust call to tail_merge_optimize.
31593
31594 2022-01-12 Andre Vieira <andre.simoesdiasvieira@arm.com>
31595
31596 * tree-vect-loop.c (vect-analyze-loop): Handle scenario where target
31597 does not add autovectorize_vector_modes.
31598
31599 2022-01-12 Martin Liska <mliska@suse.cz>
31600
31601 * config/aarch64/aarch64.c (aarch64_parse_boolean_options): Use
31602 %qs where possible.
31603 (aarch64_parse_sve_width_string): Likewise.
31604 (aarch64_override_options_internal): Likewise.
31605 (aarch64_print_hint_for_extensions): Likewise.
31606 (aarch64_validate_sls_mitigation): Likewise.
31607 (aarch64_handle_attr_arch): Likewise.
31608 (aarch64_handle_attr_cpu): Likewise.
31609 (aarch64_handle_attr_tune): Likewise.
31610 (aarch64_handle_attr_isa_flags): Likewise.
31611
31612 2022-01-12 Martin Liska <mliska@suse.cz>
31613
31614 * config.gcc: Include elfos.h before ${tm_file}.
31615
31616 2022-01-12 Hans-Peter Nilsson <hp@axis.com>
31617
31618 * config/cris/cris.c: Quote identifiers in parameters to error
31619 and internal_error, and remove extraneous spaces with punctuation.
31620 * config/cris/cris.h (CRIS_ASSERT): When passing on stringified
31621 expression to internal_error, pass it as a parameter instead of
31622 appending it to the format part.
31623
31624 2022-01-12 Hans-Peter Nilsson <hp@axis.com>
31625
31626 * config/cris/cris.c (cris_postdbr_cmpelim): Parenthesize
31627 parameter to as_a.
31628
31629 2022-01-11 qing zhao <qing.zhao@oracle.com>
31630
31631 * gimplify.c (gimple_add_init_for_auto_var): Delete the 3rd argument.
31632 Change the 3rd argument of function .DEFERRED_INIT to the name of the
31633 decl.
31634 (gimplify_decl_expr): Delete the 3rd argument when call
31635 gimple_add_init_for_auto_var.
31636 * internal-fn.c (expand_DEFERRED_INIT): Update comments to reflect
31637 the 3rd argument change of function .DEFERRED_INIT.
31638 * tree-cfg.c (verify_gimple_call): Update comments and verification
31639 to reflect the 3rd argument change of function .DEFERRED_INIT.
31640 * tree-sra.c (generate_subtree_deferred_init): Delete the 3rd argument.
31641 (sra_modify_deferred_init): Change the 3rd argument of function
31642 .DEFERRED_INIT to the name of the decl.
31643
31644 2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org>
31645
31646 * flag-types.h (enum gfc_convert): Add flags for
31647 conversion.
31648
31649 2022-01-11 Michael Meissner <meissner@the-meissners.org>
31650
31651 * config/rs6000/rs6000.c (rs6000_option_override_internal): Remove
31652 checks for only C/C++ front ends before allowing the long double
31653 format to change without a warning.
31654
31655 2022-01-11 Richard Sandiford <richard.sandiford@arm.com>
31656
31657 PR rtl-optimization/103974
31658 * ira-int.h (ira_subloop_allocnos_can_differ_p): Take an
31659 extra argument, default true, that says whether old-reload
31660 targets should be excluded.
31661 * ira-color.c (color_pass): Pass false.
31662
31663 2022-01-11 Uroš Bizjak <ubizjak@gmail.com>
31664
31665 PR target/103861
31666 * config/i386/mmx.md (vcond<mode><mode>):
31667 Use VI_16_32 mode iterator. Enable for TARGET_SSE4_1.
31668 (vcondu<mode><mode>): Ditto.
31669 (vcond_mask_<mode><mode>): Ditto.
31670 (mmx_pblendvb_v8qi): Rename from mmx_pblendvb64.
31671 (mmx_pblendvb_<mode>): Rename from mmx_pblendvb32.
31672 Use VI_16_32 mode iterator.
31673 * config/i386/i386-expand.c (ix86_expand_sse_movcc):
31674 Update for rename. Handle V2QImode.
31675 (expand_vec_perm_blend): Update for rename.
31676
31677 2022-01-11 Jakub Jelinek <jakub@redhat.com>
31678
31679 PR c++/101597
31680 * tree.def (OBJ_TYPE_REF): Document type of OBJ_TYPE_REF_TOKEN.
31681
31682 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
31683
31684 PR middle-end/70090
31685 * tree-object-size.c (size_valid_p): New function.
31686 (size_for_offset): Remove OFFSET constness assertion.
31687 (addr_object_size): Build dynamic expressions for object
31688 sizes and use size_valid_p to decide if it is valid for the
31689 given OBJECT_SIZE_TYPE.
31690 (compute_builtin_object_size): Allow dynamic offsets when
31691 computing size at O0.
31692 (call_object_size): Call size_valid_p.
31693 (plus_stmt_object_size): Allow non-constant offset and use
31694 size_valid_p to decide if it is valid for the given
31695 OBJECT_SIZE_TYPE.
31696
31697 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
31698
31699 PR middle-end/70090
31700 * tree-object-size.c (alloc_object_size): Make and return
31701 non-constant size expression.
31702 (call_object_size): Return expression or unknown based on
31703 whether dynamic object size is requested.
31704
31705 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
31706
31707 PR middle-end/70090
31708 * tree-object-size.c: Include tree-dfa.h.
31709 (parm_object_size): New function.
31710 (collect_object_sizes_for): Call it.
31711
31712 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
31713
31714 PR middle-end/70090
31715 * builtins.c (fold_builtin_object_size): Adjust for dynamic size
31716 expressions.
31717 * tree-object-size.c: Include gimplify-me.h.
31718 (struct object_size_info): New member UNKNOWNS.
31719 (size_initval_p, size_usable_p, object_sizes_get_raw): New
31720 functions.
31721 (object_sizes_get): Return suitable gimple variable for
31722 object size.
31723 (bundle_sizes): New function.
31724 (object_sizes_set): Use it and handle dynamic object size
31725 expressions.
31726 (object_sizes_set_temp): New function.
31727 (size_for_offset): Adjust for dynamic size expressions.
31728 (emit_phi_nodes, propagate_unknowns, gimplify_size_expressions):
31729 New functions.
31730 (compute_builtin_object_size): Call gimplify_size_expressions
31731 for OST_DYNAMIC.
31732 (dynamic_object_size): New function.
31733 (cond_expr_object_size): Use it.
31734 (phi_dynamic_object_size): New function.
31735 (collect_object_sizes_for): Call it for OST_DYNAMIC. Adjust to
31736 accommodate dynamic object sizes.
31737
31738 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
31739 Jakub Jelinek <jakub@redhat.com>
31740
31741 PR tree-optimization/103961
31742 * tree-object-size.c (plus_stmt_object_size): Always avoid
31743 computing offset for -1 size.
31744
31745 2022-01-11 Andrew MacLeod <amacleod@redhat.com>
31746
31747 PR tree-optimization/103821
31748 * range-op.cc (range_operator::fold_range): Only do precise ranges
31749 when there are not too many subranges.
31750
31751 2022-01-11 Richard Sandiford <richard.sandiford@arm.com>
31752
31753 * ira-costs.c (ira_tune_allocno_costs): Fix missing rclass
31754 definition in IRA_HARD_REGNO_ADD_COST_MULTIPLIER code.
31755
31756 2022-01-11 Roger Sayle <roger@nextmovesoftware.com>
31757 Richard Biener <rguenther@suse.de>
31758
31759 * tree-ssa-math-opts.c (struct widen_mul_stats): Add a
31760 highpart_mults_inserted field.
31761 (convert_mult_to_highpart): New function to convert right shift
31762 of a widening multiply into a MULT_HIGHPART_EXPR.
31763 (math_opts_dom_walker::after_dom_children) [RSHIFT_EXPR]:
31764 Call new convert_mult_to_highpart function.
31765 (pass_optimize_widening_mul::execute): Add a statistics counter
31766 for tracking "highpart multiplications inserted" events.
31767
31768 2022-01-11 Xionghu Luo <luoxhu@linux.ibm.com>
31769
31770 PR target/102239
31771 * config/rs6000/rs6000-protos.h (rs6000_is_valid_rotate_dot_mask): New
31772 declare.
31773 * config/rs6000/rs6000.c (rs6000_is_valid_rotate_dot_mask): New
31774 function.
31775 * config/rs6000/rs6000.md (*branch_anddi3_dot): New.
31776
31777 2022-01-11 Olivier Hainque <hainque@adacore.com>
31778
31779 * gcc.c (driver_handle_option): State --sysroot as
31780 validated.
31781
31782 2022-01-11 Kewen Lin <linkw@linux.ibm.com>
31783
31784 * config/rs6000/rs6000.c (rs6000_disable_incompatible_switches): Remove
31785 useless related to option -mno-power10.
31786
31787 2022-01-11 Haochen Jiang <haochen.jiang@intel.com>
31788
31789 PR target/53652
31790 * config/i386/sse.md (*andnot<mode>3): Extend predicate of
31791 operands[1] from register_operand to vector_operand.
31792
31793 2022-01-10 Uroš Bizjak <ubizjak@gmail.com>
31794
31795 PR target/103861
31796 * config/i386/i386-expand.c (ix86_expand_int_sse_cmp):
31797 Handle V2QImode.
31798 * config/i386/mmx.md (<sat_plusminus:insn><mode>3):
31799 Use VI1_16_32 mode iterator.
31800 (*eq<mode>3): Ditto.
31801 (*gt<mode>3): Ditto.
31802 (*xop_maskcmp<mode>3): Ditto.
31803 (*xop_maskcmp_uns<mode>3): Ditto.
31804 (vec_cmp<mode><mode>): Ditto.
31805 (vec_cmpu<mode><mode>): Ditto.
31806
31807 2022-01-10 Richard Biener <rguenther@suse.de>
31808
31809 PR tree-optimization/103948
31810 * tree-vect-generic.c (expand_vector_condition): Return true if
31811 all ones vector is returned for true, all zeros vector for false
31812 and the target defines corresponding vec_cmp{,u}MN named RTX pattern.
31813
31814 2022-01-10 Paul A. Clarke <pc@us.ibm.com>
31815
31816 * config/rs6000/smmintrin.h (_mm_blendv_epi8): Use vec_blendv
31817 when _ARCH_PWR10. Use signed types.
31818 (_mm_blendv_ps): Use vec_blendv when _ARCH_PWR10.
31819 (_mm_blendv_pd): Likewise.
31820
31821 2022-01-10 Andre Vieira <andre.simoesdiasvieira@arm.com>
31822
31823 * tree-vectorizer.c (better_epilogue_loop_than_p): Round factors up for
31824 epilogue costing.
31825 * tree-vect-loop.c (vect_analyze_loop): Re-analyze all modes for
31826 epilogues, unless we are guaranteed that we can't have partial vectors.
31827 * genopinit.c: (partial_vectors_supported): Generate new function.
31828
31829 2022-01-10 Jakub Jelinek <jakub@redhat.com>
31830
31831 PR target/102024
31832 * config/i386/i386.c (classify_argument): Add zero_width_bitfields
31833 argument, when seeing DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD bitfields,
31834 always ignore them, when seeing other zero sized bitfields, either
31835 set zero_width_bitfields to 1 and ignore it or if equal to 2 process
31836 it. Pass it to recursive calls. Add wrapper
31837 with old arguments and diagnose ABI differences for C structures
31838 with zero width bitfields. Formatting fixes.
31839
31840 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
31841
31842 PR rtl-optimization/98782
31843 * ira-int.h (ira_soft_conflict): Declare.
31844 * ira-color.c (max_soft_conflict_loop_depth): New constant.
31845 (ira_soft_conflict): New function.
31846 (spill_soft_conflicts): Likewise.
31847 (assign_hard_reg): Use them to handle the case described by
31848 the comment above ira_soft_conflict.
31849 (improve_allocation): Likewise.
31850 * ira.c (check_allocation): Allow allocnos with "soft" conflicts
31851 to share the same register.
31852
31853 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
31854
31855 PR rtl-optimization/98782
31856 * ira-int.h (ira_caller_save_cost): New function.
31857 (ira_caller_save_loop_spill_p): Likewise.
31858 * ira-build.c (ira_propagate_hard_reg_costs): Test whether it is
31859 cheaper to spill a call-clobbered register throughout a loop rather
31860 than spill it around each individual call. If so, treat all
31861 call-clobbered registers as conflicts and...
31862 (propagate_allocno_info): ...do not propagate call information
31863 from the child to the parent.
31864 * ira-color.c (move_spill_restore): Update accordingly.
31865 * ira-costs.c (ira_tune_allocno_costs): Use ira_caller_save_cost.
31866
31867 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
31868
31869 PR rtl-optimization/98782
31870 * ira-int.h (ira_allocno::might_conflict_with_parent_p): New field.
31871 (ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P): New macro.
31872 (ira_single_region_allocno_p): New function.
31873 (ira_total_conflict_hard_regs): Likewise.
31874 * ira-build.c (ira_create_allocno): Initialize
31875 ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P.
31876 (ira_propagate_hard_reg_costs): New function.
31877 (propagate_allocno_info): Use it. Try to avoid propagating
31878 hard register conflicts to parent allocnos if we can handle
31879 the conflicts by spilling instead. Limit the propagated
31880 register costs to the cost of spilling throughout the child loop.
31881 * ira-color.c (color_pass): Use ira_single_region_allocno_p to
31882 test whether a child and parent allocno can share the same
31883 register.
31884 (move_spill_restore): Adjust for the new behavior of
31885 propagate_allocno_info.
31886
31887 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
31888
31889 PR rtl-optimization/98782
31890 * ira-int.h (ira_subloop_allocnos_can_differ_p): New function,
31891 extracted from...
31892 * ira-color.c (color_pass): ...here.
31893
31894 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
31895
31896 PR rtl-optimization/98782
31897 * ira-color.c (color_pass): Add comments to describe the spill costs.
31898 (move_spill_restore): Likewise. Fix reversed calculation.
31899
31900 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
31901
31902 PR rtl-optimization/98782
31903 * ira-int.h (ira_loop_border_costs): New class.
31904 * ira-color.c (ira_loop_border_costs::ira_loop_border_costs):
31905 New constructor.
31906 (calculate_allocno_spill_cost): Use ira_loop_border_costs.
31907 (color_pass): Likewise.
31908 (move_spill_restore): Likewise.
31909
31910 2022-01-10 Eric Botcazou <ebotcazou@adacore.com>
31911
31912 PR target/103465
31913 * coretypes.h (unwind_info_type): Swap UI_SEH and UI_TARGET.
31914
31915 2022-01-10 Richard Biener <rguenther@suse.de>
31916
31917 PR tree-optimization/100359
31918 * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
31919 Allow non-growing peeling with !allow_peel and UL_ALL.
31920
31921 2022-01-08 Roger Sayle <roger@nextmovesoftware.com>
31922
31923 * config/i386/i386-expand.c (ix86_expand_vector_move): Add
31924 special case for TImode to V1TImode moves, going via V2DImode.
31925
31926 2022-01-08 Jakub Jelinek <jakub@redhat.com>
31927
31928 PR c++/89074
31929 * match.pd ((ptr) (x p+ y) p+ z -> (ptr) (x p+ (y + z))): New GENERIC
31930 simplification.
31931
31932 2022-01-08 David Malcolm <dmalcolm@redhat.com>
31933
31934 * doc/analyzer.texi
31935 (Special Functions for Debugging the Analyzer): Document
31936 __analyzer_dump_escaped.
31937
31938 2022-01-08 David Malcolm <dmalcolm@redhat.com>
31939
31940 * doc/analyzer.texi (Other Debugging Techniques): Document
31941 region::is_named_decl_p.
31942
31943 2022-01-07 Andrew Pinski <apinski@marvell.com>
31944
31945 PR target/102941
31946 * config/arm/aarch-common.c (arm_md_asm_adjust):
31947 Use a temp if !REG_P.
31948
31949 2022-01-07 Uroš Bizjak <ubizjak@gmail.com>
31950
31951 * config/i386/mmx.md (*move<V_32:mode>_internal): Add isa attribute.
31952 (*movv2qi_internal): Remve sse2 requirement for alternatives 4,5.
31953
31954 2022-01-07 liuhongt <hongtao.liu@intel.com>
31955
31956 PR rtl-optimization/103750
31957 * fwprop.c (forward_propagate_into): Allow propagations from
31958 inner loop to outer loop.
31959
31960 2022-01-07 Roger Sayle <roger@nextmovesoftware.com>
31961
31962 * config/nvptx/nvptx.md (*cnot<mode>2): New define_insn.
31963
31964 2022-01-07 Haochen Gui <guihaoc@gcc.gnu.org>
31965
31966 * config/rs6000/rs6000.md (rs6000_mffscrni): Define.
31967 (rs6000_set_fpscr_rn): Change the type of operand[0] from DI to SI.
31968 Call gen_rs6000_mffscrni when operand[0] is a const_0_to_3_operand.
31969
31970 2022-01-07 liuhongt <hongtao.liu@intel.com>
31971
31972 * config/i386/sse.md
31973 (*<avx512>_eq<mode>3<mask_scalar_merge_name>_1): Extend to
31974 UNSPEC_PCMP_UNSIGNED.
31975
31976 2022-01-07 liuhongt <hongtao.liu@intel.com>
31977
31978 PR target/103753
31979 * config/i386/i386-expand.c (ix86_expand_vector_set): Not use
31980 gen_avx2_pblendph_1 when elt == 0.
31981 * config/i386/sse.md (avx2_pblendph): Rename to ..
31982 (avx2_pblend<ssemodesuffix>_1).. this, and extend to V16HI.
31983 (*avx2_pblendw): Rename to ..
31984 (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
31985 (avx2_pblendw): Rename to ..
31986 (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
31987 (blendsuf): Removed.
31988 (sse4_1_pblend<blendsuf>): Renamed to ..
31989 (sse4_1_pblend<ssemodesuffix>): .. this.
31990
31991 2022-01-06 H.J. Lu <hjl.tools@gmail.com>
31992
31993 PR target/103925
31994 * config/i386/i386.c (ix86_output_indirect_function_return):
31995 Generate INT3 after indirect jmp for -mharden-sls=indirect-jmp.
31996
31997 2022-01-06 H.J. Lu <hjl.tools@gmail.com>
31998
31999 PR target/102952
32000 * config/i386/i386-opts.h (harden_sls): Replace
32001 harden_sls_indirect_branch with harden_sls_indirect_jmp.
32002 * config/i386/i386.c (ix86_output_jmp_thunk_or_indirect):
32003 Likewise.
32004 (ix86_output_indirect_jmp): Likewise.
32005 (ix86_output_call_insn): Likewise.
32006 * config/i386/i386.opt: Replace indirect-branch with
32007 indirect-jmp. Replace harden_sls_indirect_branch with
32008 harden_sls_indirect_jmp.
32009 * doc/invoke.texi (-harden-sls=): Replace indirect-branch with
32010 indirect-jmp.
32011
32012 2022-01-06 Uroš Bizjak <ubizjak@gmail.com>
32013
32014 * config/i386/i386.c (ix86_output_ssemov) <MODE_DI>:
32015 Add %q modifier for operands in general registers.
32016 <MODE_SI>: Add %q modifier for operands in general registers.
32017 * config/i386/i386.md (*movhi_internal): Change type attribute of
32018 xmm-gpr interunit alternatives 9,10 to ssemov and mode attribute
32019 to SImode for non-avx512fp16 targets.
32020 (*movhf_internal): Ditto for xmm-gpr interunit alternatives 6,8.
32021 * config/i386/mmx.md (*movv2qi_internal):
32022 Ditto for xmm-gpr interunit alternatives 8,9.
32023
32024 2022-01-06 Kito Cheng <kito.cheng@sifive.com>
32025
32026 * common/config/riscv/riscv-common.c (riscv_implied_info): Add
32027 vector extensions.
32028 (riscv_ext_version_table): Add version info for vector extensions.
32029 (riscv_ext_flag_table): Add option mask for vector extensions.
32030 * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): New.
32031 (MASK_VECTOR_EEW_64): New.
32032 (MASK_VECTOR_EEW_FP_32): New.
32033 (MASK_VECTOR_EEW_FP_64): New.
32034 (MASK_ZVL32B): New.
32035 (MASK_ZVL64B): New.
32036 (MASK_ZVL128B): New.
32037 (MASK_ZVL256B): New.
32038 (MASK_ZVL512B): New.
32039 (MASK_ZVL1024B): New.
32040 (MASK_ZVL2048B): New.
32041 (MASK_ZVL4096B): New.
32042 (MASK_ZVL8192B): New.
32043 (MASK_ZVL16384B): New.
32044 (MASK_ZVL32768B): New.
32045 (MASK_ZVL65536B): New.
32046 (TARGET_ZVL32B): New.
32047 (TARGET_ZVL64B): New.
32048 (TARGET_ZVL128B): New.
32049 (TARGET_ZVL256B): New.
32050 (TARGET_ZVL512B): New.
32051 (TARGET_ZVL1024B): New.
32052 (TARGET_ZVL2048B): New.
32053 (TARGET_ZVL4096B): New.
32054 (TARGET_ZVL8192B): New.
32055 (TARGET_ZVL16384B): New.
32056 (TARGET_ZVL32768B): New.
32057 (TARGET_ZVL65536B): New.
32058 * config/riscv/riscv.opt (Mask(VECTOR)): New.
32059 (riscv_vector_eew_flags): New.
32060 (riscv_zvl_flags): New.
32061
32062 2022-01-06 Kito Cheng <kito.cheng@sifive.com>
32063
32064 * common/config/riscv/riscv-common.c
32065 (riscv_subset_list::parse_multiletter_ext): Allow ext. name has
32066 digit.
32067
32068 2022-01-06 Jakub Jelinek <jakub@redhat.com>
32069
32070 PR tree-optimization/103899
32071 * expr.c (expand_expr_real_1): Add a workaround for bogus uninit
32072 warning by moving context variable to the only spot where it is used
32073 and moving gcc_assert into if body.
32074
32075 2022-01-06 Jakub Jelinek <jakub@redhat.com>
32076
32077 PR rtl-optimization/103908
32078 * ifcvt.c (bb_valid_for_noce_process_p): Punt on bbs ending with
32079 asm goto.
32080
32081 2022-01-05 Bill Schmidt <wschmidt@linux.ibm.com>
32082
32083 PR target/103622
32084 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
32085 Skip over instances with undefined function types.
32086
32087 2022-01-05 Andrew Pinski <apinski@marvell.com>
32088
32089 PR target/103910
32090 * config/i386/i386.h (x86_mfence): Mark with GTY.
32091
32092 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
32093
32094 PR target/103861
32095 * config/i386/mmx.md (VI_16_32): New mode iterator.
32096 (VI1_16_32): Ditto.
32097 (mmxvecsize): Handle V2QI mode.
32098 (<smaxmin:code><mode>3): Rename from <smaxmin:code>v4qi3.
32099 Use VI1_16_32 mode iterator.
32100 (<umaxmin:code><mode>3): Rename from <umaxmin:code>v4qi3.
32101 Use VI1_16_32 mode iterator.
32102 (abs<mode>2): Use VI_16_32 mode iterator.
32103 (uavgv2qi3_ceil): New insn pattern.
32104
32105 2022-01-05 Martin Sebor <msebor@redhat.com>
32106
32107 * gimple-ssa-warn-access.cc (pass_waccess::maybe_warn_memmodel): Use
32108 %qs to avoid -Wformat-diag.
32109
32110 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
32111
32112 PR target/103915
32113 * config/i386/mmx.md (one_cmplv2qi2): Change
32114 alternatives 1,2 type from sselog to sselog1.
32115
32116 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
32117
32118 PR target/103905
32119 * config/i386/i386-expand.c (expand_vec_perm_pshufb): Fix number of
32120 narrow mode remapped elements for !one_operand_p case.
32121
32122 2022-01-05 Richard Biener <rguenther@suse.de>
32123
32124 PR tree-optimization/103816
32125 * tree-vect-data-refs.c (vect_analyze_group_access_1): Also
32126 check DR_GROUP_GAP compute for overflow and representability.
32127
32128 2022-01-05 Jakub Jelinek <jakub@redhat.com>
32129
32130 PR fortran/103691
32131 * gimple-fold.c (fold_stmt_1): Don't call maybe_fold_reference
32132 for DEBUG stmts with ADDR_EXPR gimple_debug_bind_get_value,
32133 it can do unwanted rhs folding like &a[0] into &2.0 etc.
32134
32135 2022-01-05 Kewen Lin <linkw@linux.ibm.com>
32136
32137 PR ipa/102059
32138 * config/rs6000/rs6000.c (TARGET_NEED_IPA_FN_TARGET_INFO): New macro.
32139 (TARGET_UPDATE_IPA_FN_TARGET_INFO): Likewise.
32140 (rs6000_need_ipa_fn_target_info): New function.
32141 (rs6000_update_ipa_fn_target_info): Likewise.
32142 (rs6000_can_inline_p): Adjust for ipa function summary target info.
32143 * config/rs6000/rs6000.h (RS6000_FN_TARGET_INFO_HTM): New macro.
32144 * ipa-fnsummary.c (ipa_dump_fn_summary): Adjust for ipa function
32145 summary target info.
32146 (analyze_function_body): Adjust for ipa function summary target info
32147 and call hook rs6000_need_ipa_fn_target_info and
32148 rs6000_update_ipa_fn_target_info.
32149 (ipa_merge_fn_summary_after_inlining): Adjust for ipa function summary
32150 target info.
32151 (inline_read_section): Likewise.
32152 (ipa_fn_summary_write): Likewise.
32153 * ipa-fnsummary.h (ipa_fn_summary::target_info): New member.
32154 * doc/tm.texi: Regenerate.
32155 * doc/tm.texi.in (TARGET_UPDATE_IPA_FN_TARGET_INFO): Document new hook.
32156 (TARGET_NEED_IPA_FN_TARGET_INFO): Likewise.
32157 * target.def (update_ipa_fn_target_info): New hook.
32158 (need_ipa_fn_target_info): Likewise.
32159 * targhooks.c (default_need_ipa_fn_target_info): New function.
32160 (default_update_ipa_fn_target_info): Likewise.
32161 * targhooks.h (default_update_ipa_fn_target_info): New declare.
32162 (default_need_ipa_fn_target_info): Likewise.
32163
32164 2022-01-04 Martin Sebor <msebor@redhat.com>
32165
32166 PR middle-end/99612
32167 * builtins.c (get_memmodel): Move warning code to
32168 gimple-ssa-warn-access.cc.
32169 (expand_builtin_atomic_compare_exchange): Same.
32170 (expand_ifn_atomic_compare_exchange): Same.
32171 (expand_builtin_atomic_load): Same.
32172 (expand_builtin_atomic_store): Same.
32173 (expand_builtin_atomic_clear): Same.
32174 * doc/extend.texi (__atomic_exchange_n): Update valid memory
32175 models.
32176 * gimple-ssa-warn-access.cc (memmodel_to_uhwi): New function.
32177 (struct memmodel_pair): New struct.
32178 (memmodel_name): New function.
32179 (pass_waccess::maybe_warn_memmodel): New function.
32180 (pass_waccess::check_atomic_memmodel): New function.
32181 (pass_waccess::check_atomic_builtin): Handle memory model.
32182 * input.c (expansion_point_location_if_in_system_header): Return
32183 original location if expansion location is in a system header.
32184
32185 2022-01-04 Uroš Bizjak <ubizjak@gmail.com>
32186
32187 PR target/103861
32188 * config/i386/mmx.md (one_cmplv2qi3): New insn pattern.
32189 (one_cmplv2qi3 splitters): New post-reload splitters.
32190 (*andnotv2qi3): New insn pattern.
32191 (andnotv2qi3 splitters): New post-reload splitters.
32192 (<any_logic:code>v2qi3): New insn pattern.
32193 (<any_logic:insn>v2qi3 splitters): New post-reload splitters.
32194
32195 2022-01-04 Richard Biener <rguenther@suse.de>
32196
32197 PR tree-optimization/103800
32198 * tree-vect-loop.c (vectorizable_phi): Remove assert and
32199 expand comment.
32200
32201 2022-01-04 Richard Biener <rguenther@suse.de>
32202
32203 PR tree-optimization/103690
32204 * tree-pass.h (tail_merge_optimize): Adjust.
32205 * tree-ssa-tail-merge.c (tail_merge_optimize): Pass in whether
32206 to re-split critical edges, move CFG cleanup ...
32207 * tree-ssa-pre.c (pass_pre::execute): ... here, before
32208 simple_dce_from_worklist and delay freeing inserted_exprs from
32209 ...
32210 (fini_pre): .. here.
32211
32212 2022-01-04 Roger Sayle <roger@nextmovesoftware.com>
32213
32214 * config/nvptx/nvptx.h (STORE_FLAG_VALUE): Change to 1.
32215 * config/nvptx/nvptx.md (movbi): Use P1 constraint for true.
32216 (setcc_from_bi): Remove SImode specific pattern.
32217 (setcc<mode>_from_bi): Provide more general HSDIM pattern.
32218 (extendbi<mode>2, zeroextendbi<mode>2): Provide instructions
32219 for sign- and zero-extending BImode predicates to integers.
32220 (setcc_int<mode>): Remove previous (-1-based) instructions.
32221 (cstorebi4): Remove BImode to SImode specific expander.
32222 (cstore<mode>4): Fix indentation. Expand using setccsi_from_bi.
32223 (cstore<mode>4): For both integer and floating point modes.
32224
32225 2022-01-04 Olivier Hainque <hainque@adacore.com>
32226
32227 * gcc.c (driver_handle_option): do_save --sysroot.
32228
32229 2022-01-04 Richard Biener <rguenther@suse.de>
32230
32231 PR tree-optimization/103864
32232 PR tree-optimization/103544
32233 * tree-vect-slp.c (vect_analyze_slp_instance): Exclude
32234 reductions wrapped in conversions from SLP handling.
32235 (vect_analyze_slp): Revert PR103544 change.
32236
32237 2022-01-04 Jakub Jelinek <jakub@redhat.com>
32238
32239 PR rtl-optimization/103860
32240 * shrink-wrap.c (try_shrink_wrapping): Don't call can_get_prologue
32241 uselessly for blocks for which it has been called already.
32242
32243 2022-01-04 Cui,Lili <lili.cui@intel.com>
32244
32245 * common/config/i386/cpuinfo.h (get_intel_cpu): Add new model values
32246 to Alderlake and Rocketlake.
32247
32248 2022-01-04 Chung-Lin Tang <cltang@codesourcery.com>
32249
32250 PR middle-end/103643
32251 * gimplify.c (gimplify_omp_affinity): Adjust gimplify_expr of entire
32252 OMP_CLAUSE_DECL to use 'is_gimple_lvalue, fb_lvalue'
32253
32254 2022-01-04 liuhongt <hongtao.liu@intel.com>
32255
32256 PR target/103895
32257 * config/i386/sse.md (*bit_and_float_vector_all_ones):
32258 Force_reg operand 1 to avoid ICE.
32259
32260 2022-01-04 Jason Merrill <jason@redhat.com>
32261
32262 * tree-pretty-print.c (do_niy): Add spc parameter.
32263 (NIY): Pass it.
32264 (print_call_name): Add spc local variable.
32265
32266 2022-01-03 Uroš Bizjak <ubizjak@gmail.com>
32267
32268 PR target/103894
32269 * config/i386/mmx.md (mov<V_32:mode>): Remove TARGET_SSE2 constraint.
32270 (mov<V_32:mode>_internal): Ditto.
32271 (*push<V_32:mode>_rex64): Ditto.
32272 (movmisalign<V_32:mode>): Ditto.
32273 (*push<V_32:mode>_rex64 splitter): Enable for
32274 TARGET_64BIT && TARGET_SSE.
32275 (*push<V_32:mode>2): Remove insn pattern.
32276
32277 2022-01-03 Andrew Pinski <apinski@marvell.com>
32278
32279 PR c/33193
32280 * doc/extend.texi: Extend the documentation about Complex
32281 types for casting and also rewrite the __real__/__imag__
32282 expression portion to use tables.
32283 Move __builtin_complex to the Complex type section.
32284
32285 2022-01-03 Jakub Jelinek <jakub@redhat.com>
32286
32287 PR target/98737
32288 * internal-fn.def (ATOMIC_ADD_FETCH_CMP_0, ATOMIC_SUB_FETCH_CMP_0,
32289 ATOMIC_AND_FETCH_CMP_0, ATOMIC_OR_FETCH_CMP_0, ATOMIC_XOR_FETCH_CMP_0):
32290 New internal fns.
32291 * internal-fn.h (ATOMIC_OP_FETCH_CMP_0_EQ, ATOMIC_OP_FETCH_CMP_0_NE,
32292 ATOMIC_OP_FETCH_CMP_0_LT, ATOMIC_OP_FETCH_CMP_0_LE,
32293 ATOMIC_OP_FETCH_CMP_0_GT, ATOMIC_OP_FETCH_CMP_0_GE): New enumerators.
32294 * internal-fn.c (expand_ATOMIC_ADD_FETCH_CMP_0,
32295 expand_ATOMIC_SUB_FETCH_CMP_0, expand_ATOMIC_AND_FETCH_CMP_0,
32296 expand_ATOMIC_OR_FETCH_CMP_0, expand_ATOMIC_XOR_FETCH_CMP_0): New
32297 functions.
32298 * optabs.def (atomic_add_fetch_cmp_0_optab,
32299 atomic_sub_fetch_cmp_0_optab, atomic_and_fetch_cmp_0_optab,
32300 atomic_or_fetch_cmp_0_optab, atomic_xor_fetch_cmp_0_optab): New
32301 direct optabs.
32302 * builtins.h (expand_ifn_atomic_op_fetch_cmp_0): Declare.
32303 * builtins.c (expand_ifn_atomic_op_fetch_cmp_0): New function.
32304 * tree-ssa-ccp.c: Include internal-fn.h.
32305 (optimize_atomic_bit_test_and): Add . before internal fn call
32306 in function comment. Change return type from void to bool and
32307 return true only if successfully replaced.
32308 (optimize_atomic_op_fetch_cmp_0): New function.
32309 (pass_fold_builtins::execute): Use optimize_atomic_op_fetch_cmp_0
32310 for BUILT_IN_ATOMIC_{ADD,SUB,AND,OR,XOR}_FETCH_{1,2,4,8,16} and
32311 BUILT_IN_SYNC_{ADD,SUB,AND,OR,XOR}_AND_FETCH_{1,2,4,8,16},
32312 for *XOR* ones only if optimize_atomic_bit_test_and failed.
32313 * config/i386/sync.md (atomic_<plusminus_mnemonic>_fetch_cmp_0<mode>,
32314 atomic_<logic>_fetch_cmp_0<mode>): New define_expand patterns.
32315 (atomic_add_fetch_cmp_0<mode>_1, atomic_sub_fetch_cmp_0<mode>_1,
32316 atomic_<logic>_fetch_cmp_0<mode>_1): New define_insn patterns.
32317 * doc/md.texi (atomic_add_fetch_cmp_0<mode>,
32318 atomic_sub_fetch_cmp_0<mode>, atomic_and_fetch_cmp_0<mode>,
32319 atomic_or_fetch_cmp_0<mode>, atomic_xor_fetch_cmp_0<mode>): Document
32320 new named patterns.
32321
32322 2022-01-03 Richard Biener <rguenther@suse.de>
32323
32324 PR middle-end/103851
32325 * tree-cfg.c (move_sese_region_to_fn): Always release SSA names.
32326
32327 2022-01-03 Jakub Jelinek <jakub@redhat.com>
32328
32329 PR c++/94716
32330 * symtab.c: Include fold-const.h.
32331 (symtab_node::equal_address_to): If folding_initializer is true,
32332 handle it like memory_accessed. Simplify.
32333
32334 2022-01-03 Martin Liska <mliska@suse.cz>
32335
32336 * doc/extend.texi: Use ; for function declarations.
32337
32338 2022-01-03 Jakub Jelinek <jakub@redhat.com>
32339
32340 PR c++/103600
32341 * symtab.c (symtab_node::equal_address_to): Return 0 if one of
32342 VAR_DECLs has "non overlapping" attribute and rs1 != rs2.
32343
32344 2022-01-03 Jakub Jelinek <jakub@redhat.com>
32345
32346 * gcc.c (process_command): Update copyright notice dates.
32347 * gcov-dump.c (print_version): Ditto.
32348 * gcov.c (print_version): Ditto.
32349 * gcov-tool.c (print_version): Ditto.
32350 * gengtype.c (create_file): Ditto.
32351 * doc/cpp.texi: Bump @copying's copyright year.
32352 * doc/cppinternals.texi: Ditto.
32353 * doc/gcc.texi: Ditto.
32354 * doc/gccint.texi: Ditto.
32355 * doc/gcov.texi: Ditto.
32356 * doc/install.texi: Ditto.
32357 * doc/invoke.texi: Ditto.
32358
32359 2022-01-02 Uroš Bizjak <ubizjak@gmail.com>
32360
32361 PR target/103861
32362 * config/i386/i386.h (VALID_SSE2_REG_MODE): Add V2QImode.
32363 (VALID_INT_MODE_P): Ditto.
32364 * config/i386/i386.c (ix86_secondary_reload): Handle
32365 V2QImode reloads from SSE register to memory.
32366 (vector_mode_supported_p): Always return true for V2QImode.
32367 * config/i386/i386.md (*subqi_ext<mode>_2): New insn pattern.
32368 (*negqi_ext<mode>_2): Ditto.
32369 * config/i386/mmx.md (movv2qi): New expander.
32370 (movmisalignv2qi): Ditto.
32371 (*movv2qi_internal): New insn pattern.
32372 (*pushv2qi2): Ditto.
32373 (negv2qi2 and splitters): Ditto.
32374 (<plusminus:insn>v2qi3 and splitters): Ditto.
32375
32376 2022-01-02 John David Anglin <danglin@gcc.gnu.org>
32377
32378 * config/pa/pa.md (atomic_storeq): Use optab_libfunc to access
32379 sync_lock_test_and_set libfunc. Call convert_memory_address to
32380 convert memory address to Pmode.
32381 (atomic_storehi, atomic_storesi, atomic_storedi): Likewise.
32382
32383 \f
32384 Copyright (C) 2022 Free Software Foundation, Inc.
32385
32386 Copying and distribution of this file, with or without modification,
32387 are permitted in any medium without royalty provided the copyright
32388 notice and this notice are preserved.